Skip to main content


Grace Hopper Documentary Released Today

A long time ago in a data center far, far away, the word "computer" was a job title. For a person. One of those people was Grace Hopper. Grace, h@xing on a sweet laptop in the 40's Grace worked her way up to Rear Admiral in the US Navy; no small feat for a woman of any time, but even more amazing as she started her career in the 30's with a PhD in math from Yale. In the Navy, she would go on to work on the Harvard Mark 1 (the first modern computer), and she headed the team that wrote the first compiler . Her contributions to computer science are immense. They are also largely glossed over by a science and an industry that is, let's face it, a bit of a sausage fest. It wasn't always that way. When computers were people, the industry was dominated by women, who tended to have better typing skills than men, and were cheaper to hire. Their contributions to the industry have been forgotten for decades, but thankfully there is a bit of a renaissance in unc

Charlie Hebdo - Martyrs & Heroes of Free Speech

This morning the headquarters of Parisian comedy rag Charlie Hebdo was attacked. Masked gunmen entered the magazine's office and killed 10 employees and 2 French policemen who tried to intervene. The gunmen escaped, and are apparently at large. While there has yet to be a formal claim of responsibility, just about everyone with a news press or a TV camera believes that the perpetrators are Islamic militants. Hebdo HQ has already been attacked for publishing funny papers mocking the holy Muhammed; about 3 short years ago, the office was firebombed. This blog o' mine is focused on fixing computers. Occasionally, we talk about how computers are used (and mis-used) to violate people's privacy. Rarely, if ever, do we get political; excepting once or twice when we have mocked US government attempts to abolish encryption . This post will be an exception. I take free speech seriously. I have always enjoyed shooting off at the mouth. Moreover, the newspaper racket is somewha

Gogo Inflight Internet Using SSL Exploit for Customer Surveillance

For many years in the IT community, it was assumed that time spent travelling on an airplane was wasted. At best, you could make do with expensive and often-unreliable cell network coverage for connectivity. Even that was an issue, though, because of the airline's histrionic and decades-out-of-date concern that electronic devices interfered with flight navigation equipment. On top of having to pay a premium for unreliable service, you had to be sneaky about it, as well. Some of us handled the situation better than others So when in-flight internet services first started to become integrated to major airline fleets en masse, many tech people applauded. Those of us who had to attend trade shows, travel to meet customers or were responsible for multiple data center locations could get things done as we bounced back and forth across the country.  The bandwidth was every bit as expensive as roaming cell network charges, regularly more expensive, but the planes were being equipped

rDNS to Burn Ho Ho Ho

Every year, like clockwork, someone makes sure to do something clever like this. Dont forget to set your max ttl to a little over 100 so you get ALL the lyrics. You don't want to miss out on a Christmas miracle. $ traceroute -m 120 traceroute to (, 120 hops max, 60 byte packets 1 ( 1.700 ms ( 2.160 ms 2.121 ms 2 ( 1.287 ms ( 1.850 ms ( 1.514 ms 3 ( 1.697 ms ( 1.431 ms ( 1.637 ms 4 ( 0.816 ms ( 0.870 ms ( 0.929 ms 5 ( 3.181 ms 2.279 ms ( 1.175 ms 6 ( 1.731 ms 1.315 ms 205

Apache VirtualHost Proxy Configuration - Helpful for Tomcat, Node.js and similar frameworks

I recently came across this question on ServerFault: " I've subsonic application running of [sic] tomcat. Everything else works on apache. I don't want to write port number everytime [sic] so I'd like to set-up [sic] a simple directory where subsonic will be accessible. So, I'm trying to make virtualhost file [sic] inside apache dir. [...] I tried many variations, but cannot make anything work. " The poor chap than [sic - ha!] provided an example of his latest go at the problem, an excerpt from his httpd.conf file: <VirtualHost *:80> DocumentRoot /var/www/streamer ProxyPass / http://mini.local:4040/ ProxyPassReverse / http://mini.local:4040/ </VirtualHost>   Not sure a bad go of it, all thing considered. Still, it wasn't providing him with the sort of results he was looking for. Naturally I had encountered similar issues not long ago myself, with the implementation of a Ghost blogging soft

University of Sydney Uses XTF to Index 60's Sci-Fi Comics

I grew up reading pulp science fiction. There was a time when I would never had admitted something like that in public. But times have changed. Computer programming is now a career instead of a bizarre waste of time that might get you arrested. People wear and fiddle with mobile computers; displaying them at coffee shops like peacock plumage. When I was a kid and told adults I liked computers they assured my parents it was a phase I would grow out of. As bitter as I may be of the past, I was delighted to find that the University of Sydney Library had combined my youthful passion for computers and science fiction comics into one mammoth project of love. They digitized the Frontiers of Science , a comic strip which was a big deal in Australia in the early 60's by way of the Sydney Morning Herald. But they did more than just scan the damn things. Any unpaid intern can do that. Instead, they relied on the eXtensible Text Framework (XTF) in order to provide contextual search capabili

Symlink Analyzation Function in C

Here is a simple function for performing symlink analysis using C.  The readlink function gets the value of the symbolic link filename. The file name that the link points to is copied into buffer. This file name string is not null-terminated; readlink normally returns the number of characters copied. The size argument specifies the maximum number of characters to copy, usually the allocation size of buffer. There is significant utility for such a function in a variety of contexts. Have fun with it! h/t Tanguy