14/12/2010
Like many of us, you may need to host stuff on your home computers and access it via the Internet. If you paid for a static address from your provider, you can map a domain name to it via your ISP’s DNS. But for the majority of us, getting a static address from our provider means paying a good deal more for little to nothing more. For example, my provider (which by the way offers excellent service) is so stable that my IP address changes once a year, or even less often. But for others, the IP address changes more often and it’s difficult to keep track of it.

Some services, like DynDNS, provide you with a script and a couple of tools to access your stuff via a virtual domain name (or something like that). The magic behind DynDNS maps your domain name to your ever-changing provider-specific IP address. But what if you just want to find your way home, without a domain name and without having to deal with an extra service provider?
Read the rest of this entry »
2 Comments |
Bash (Shell), hacks, Life in the workplace | Tagged: DynDNS, home computer, hosting, IP Address, router |
Permalink
Posted by Steven Pigeon
07/12/2010
As I mentioned before (here and here), you really can’t trust your hardware to maintain a good health all by itself. It can overheat because of bad case design, dirty fans, or it can just burn out because of a bad PSU. It can also die from old age, which can mean any kind of weird symptoms, from random freezes to programs that crash all the time. You can test bad RAM using the free Memtest86+ which is conveniently packaged with Ubuntu’s live CD, and you can test your drives using their built-in SMART capabilities.

SMART (or S.M.A.R.T) stands for Self-Monitoring, Analysis, and Reporting Technology, and it’s basically extra sensors and firmware added to your hard disks so that they can detect hardware failures and other conditions, such as the drive’s temperature. The tool of choice on Linux to access SMART status is Smartmontools, which turned out to be most useful.
Read the rest of this entry »
2 Comments |
Life in the workplace | Tagged: data, Data Hiroshima, failure, Hardware Failure, HD, S.M.A.R.T., Status, temperature |
Permalink
Posted by Steven Pigeon
04/12/2010
Randy Allen, Ken Kennedy — Optimizing Compilers for Modern Architectures — Morgan Kaufmann, 2002, 790 pp. ISBN 1-55860-286-0

(Buy at Amazon.com)
The book presents all the high-performance and vectorizing optimizations a compiler should be able to perform on source code while using trade-offs from the underlying architecture (with considerations such as the memory hierarchy and the instruction set) and the semantics of the language.
Read the rest of this entry »
Leave a Comment » |
C, programming, Suggested Reading | Tagged: C, Compiler, Fortran, optimization, pseudo-code, pseudocode |
Permalink
Posted by Steven Pigeon
04/12/2010
Martin Aigner, Günter M. Ziegler — Proofs from THE BOOK — 3rd ed., Springer, 2004, 240 pp. ISBN 3-540-40460-0

(Buy at Amazon.com)
Paul Erdős always refered to proofs that were particularly elegant or powerful as proofs from The Book, a book with a transfinite number of pages, held by God (in which he didn’t believe), containing all the most beautiful proofs of all mathematical theorems.
Read the rest of this entry »
Leave a Comment » |
Mathematics, Suggested Reading | Tagged: Erdős, Proofs, THE BOOK |
Permalink
Posted by Steven Pigeon
30/11/2010
If you’re using C++ as your principal programming language as I do, you certainly know some or most of its capabilities, some of its limitations, and you’re surprised once in a while by a new construct or feature you never thought of even trying in C++.

Having inherited most of its basic behavior from C, C++ still has many quirks and omissions that keeps C++ from becoming a true next-generation language. I’m thinking, as a best example of this, the absence of true arrays. Arrays are pointers to stuff, sometimes you can get the size of the array, most of the times you’re stuck with the size of the pointer, which is of no use and forces the user to manipulate explicitly array meta-data (curiously enough, it wouldn’t ask for much to be able to know the size of an array all the time because new[] and delete[] do hide meta-data to do exactly that).
Read the rest of this entry »
3 Comments |
C-plus-plus, programming | Tagged: C, namespace, Pascal, using |
Permalink
Posted by Steven Pigeon
27/11/2010
Underwook Dudley — Mathematical Cranks — The American Mathematical Association, 1992, 372 pp. ISBN 0-88385-507-0

(Buy at Amazon.com)
Everyone using the Internet knows about cranks. A typical crank is an individual putting forth a defective theory, usually mathematical or physical in nature, but refusing to see his errors or understanding what he missed; despite well intentioned explanations from (real) experts on the topic. The crank insists with denial and eventually aggressivity.
Read the rest of this entry »
Leave a Comment » |
Mathematics, Suggested Reading |
Permalink
Posted by Steven Pigeon
23/11/2010
When you’re used to work with people which with you get along well, team spirit builds rapidly. If you get along very well, then you will pass the point from being merely coworkers to being good pals, and that results in more casual demeanour and familiarity. While it is very good for a team, you also have to be careful to not let familiarity (and all its liberties) seep into your work, especially with customers.

The first manifestation of this familiarity is very often jokes (which eventually permeates the very language the team is using) and pranks, although they really have to be funny to be tolerated by the team. But changes in language to include anything from innuendo to inside jokes or inappropriate language can create problems.
Read the rest of this entry »
2 Comments |
Life in the workplace | Tagged: Dead Rat, Enema, Enigma, Indexed Files, Red Hat, Team Building |
Permalink
Posted by Steven Pigeon
16/11/2010
Sometimes you’re automating tasks that requires you to be informed of changes at the moment they’re occurring (or at least, not too long after). Turns out if you’re planning only to send mail, it takes abouts 3 minutes to setup postfix and send your first automate mail message!

First, you have to install postfix and mailutils, two packages that are fortunately already (likely) installed and readily available from the default repository. In a shell, type:
Read the rest of this entry »
1 Comment |
Bash (Shell), hacks | Tagged: Automation, mail, Postfix, Ubuntu |
Permalink
Posted by Steven Pigeon