Robert A. Uhl

The programmer dress code, again

Justin Etheredge has even more crazy-looking programmers. You see, it’s imperative that I have long hair and a beard; it’s the norm for my culture and profession. 06 February 2018: updated URL Read more →

Misunderstanding free software

GetGNULinux.org corrects some misunderstandings about free software and demonstrates why it’s so important for you as a user to demand your freedom. Read more →

It’s not necessarily about dynamic languages

Chuck at nothing happens writes that the dynamic/static computer language controversy is more than a little artificial. I gotta be honest — I think that dynamic languages are more useful for ‘exploring’ code before one knows what one needs to do (kinda like an artist’s pencils). But I understand that some of the new static-ish languages offer some features like type-inferencing which give one a lot more latitude to experiment; perhaps they’d be good in that case. Read more →

A survey of Common Lisp implementations

Daniel Weinreb — one of the early luminaries of the Common Lisp community — has conducted a survey of Common Lisp implementations. Pretty good stuff; worth reading if you’re a Lispnik. Read more →

Python is not java

From dirtSimple, an article about a Java programmer’s reflexes and instincts lead to errors in writing Python. If you come from the big-and-ugly world of Java (or heaven forbid, C++), read this before writing a line of Python. Read more →

Ripple payment system

Ripple is an interesting attempt to create an open, decentralised monetary system. The idea is to route payment from Alice to Bob (who don’t actually know one another) via any number of intermediaries whom they know, or who know one another. E.g. Alice might pay Charlie (whom she knows) $20, who then pays Bob (whom Charlie knows). It’s based on credit: each person grants people he knows a certain amount of credit, and thus a payment can move through the system. Read more →

PaperBack

PaperBack is free software which enables you to print data onto paper and read it back in via a scanner. With a 600 dpi printer and a 900 dpi scanner it is possible to store ½ megabyte of data per letter page; with compression, it’s possible to store about 3 megabytes per page (depending on the source data, of course — his example uses C code). This is actually kinda cool: you could print out a few hundred pages and replicate the data on a CD; esp. Read more →

If it is not simple, it is wrong

Révènce writes that if a piece of code is not simple, it is wrong. He’s a bit emphatic, but in large part he’s correct. Programming languages that make complex things simple lead to code which has fewer errors. This is a major factor behind the high-level-language revolution: programmers are discovering that it doesn’t make sense to manage memory manually; that it doesn’t make sense to have to manually write out the components of a for loop; it doesn’t make sense to manually write the same boilerplate time after time. Read more →

dotfiles.org

In Unix there is a convention that filenames beginning with a dot (.) are not normally displayed unless one asks for them to be; they are thus usually hidden. A further convention holds that programs will look for settings files within a user’s home directory (his personal folder, if you will) and that these files will be hidden (i.e. have names starting with a dot). An example might be .bashrc (containing run commands for bash) or . Read more →

Thank you, TI-99/4A

Scott Hackett thanks the TI-99/4A for setting him on his path towards geekdom. We had the same machine (although ours had a different case); I still remember when Dad brought it home from the store. I was very small, but I knew that this was an interesting device. Tunnels of Doom and Hunt the Wumpus were about the coolest thing ever; I remember my brother Tom & I lugging the huge disk drive down the stairs to the den so we could play there. Read more →