Monday, 27 February 2017
Snake bites
The programming language that bites me most terribly & keenly is ... no doubts ... Python. This time it was a global variable eps (epsilon) and I did not add the "self." prefix to the one that I really wanted to use in a method of a class. The nightmares of C programming and its common best practices come back! All in all, avoid global variables also in Python, or these snake bites can be deadly at the end of the day.
Monday, 20 February 2017
Bug in pthread_cond_timedwait or we need an improvement?
pthread_cond_timedwait
returns ETIMEDOUT instead of e.g. EINVAL when provided with "timespec
*restrict abstime" whose tv_nsec part exceeds 999999999 (basically, it's
more than 1 second). Furthermore, IMHO pthread_cond_timedwait should
return ETIME instead of ETIMEDOUT (if we follow comments in:
http://bit.ly/2kgHEhj). Anyway, if you want to avoid a few hours of
debugging then make sure that your tv_nsec is correct in each timespec
struct!
Location:
Chicago, IL, USA
Friday, 3 February 2017
"sudo checkinstall" instead of "sudo make install"
The pain of removing packages installed from source has reached its ultimate peak and it's the highest time to move to checkinstall. This gives us a very handy ability to remove a package from the system using the system packaging tools: e.g.
dpkg -r custom-protobuf
So current flow of commands for any installation from source is:
dpkg -r custom-protobuf
So current flow of commands for any installation from source is:
./configure
make
sudo checkinstall
Subscribe to:
Posts (Atom)