I <3 ImageMagick


I was looking for a way to stitch together multiple scans I’ve made into a multiple-page PDF. Each page when scanned became a separate image file and I didn’t want to attach each one separately.

Fortunately, ImageMagick came to the rescue! All it took was this command:

convert -adjoin *.png report.pdf

… and my PDF was created instantly. What useful little tools ImageMagick are!

CompUSA

My inner geek was thrilled the day that TigerDirect opened a store on Capital Boulevard. It was nice having a broad range of electronics items for Internet-store prices.

However, as time went on it became a chore to shop there. There were never enough cash registers open, and the rent-a-cop they had working at the front door took his job way too seriously. More than once I had stood in line with my purchases and then gave up and put them back on the shelf. I didn’t want to spend 20 minutes at the register, waiting to pay them my money.

Fortunately, TigerDirect bought CompUSA. They’ve been slowly putting their CompUSA stamp on this store. There are now plenty of cashiers available, the rent-a-cop is gone, the store is laid out better, and the sales folks are far more willing to help you than they used to be. It’s now a joy to shop there.

I still like to head over to the local Intrex for stuff, but the CompUSA store is my preferred place to shop.

Microsoft helps Russian police quell dissent

The New York Times reports that Russia has been raiding offices of dissenters and using the pretext of searching for pirated Microsoft software. The Redmond-based company apparently fully supports these raids against environmental groups and others.

Compare Microsoft’s actions in Russia to Google’s in China. Though from a Chinese business perspective Google really screwed the pooch with its public embarrassment of the Chinese government, Google at least tried to do the right thing. Microsoft appears blind to the moral repercussions of its cooperation with an increasingly authoritarian Russian government.

More and more I am glad I use free software like Linux.

The bunker in the neighborhood

Dranesville AT&T bunker

My friend Craig forwarded me a link to a wonderful collection of information on AT&T’s old “long lines” infrastructure. It made me realize I’ve never told this story.

I’d seen this particular website before. I think a Slashdot story on AT&T putting up the old microwave towers for sale prompted me to do some Google searches, after which I spent a lot of time looking through this stuff.

I’ve found this map particularly interesting. I used to live in Northern Virginia near to the non-incorporated area known as Dranesville. You can see many of these routes converging at Dranesville. At the time I was intimately familiar with the phone phreaking technologies, possibly the only thing that Apple-cofounder Steve Wozniak and I have in common. Figuring out how the phone system worked was a fun challenge.
Continue reading

High-altitude balloon launch

A group of friends is launching a helium balloon to the upper reaches of the atmosphere. Josh Shaffer of the News and Observer wrote a story on it in this morning’s paper.

I am not involved in the project (I’m at the beach now), which kills me because I’ve wanted to do this for a long time. The best I can do is what everyone else can do, which is track the balloon online. Those in Raleigh can see the launch at Horseshoe Farm Park at 8 AM Sunday.

Update 23 August: Success! See the results!

Default dns names

Once upon a time I knew how to configure BIND to send a canned reply for lookups to undefined IP addresses. Thus, a lookup of 192.168.1.16, if not assigned to a hostname, would return as “dhcp-16.example.com.”

Now I can’t remember what BIND option actually did this. Any other sysadmin geeks out there know how to do this?

Update: Found it! It’s the $GENERATE feature. Cool!

Fixing GNU Mailman to handle mimetypes

I host a few neighborhood email lists on my Linux server running the excellent GNU Mailman list server software. Part of my setup involves stripping pictures/documents from emails and storing them in the list archives instead. This way 300 neighbors don’t get a 5 MB attachment emailed out to them: if anyone wants to view the picture/document all they have to do is click on a link in the original email and it will be fetched from the archives.

Tonight I noticed that the MIME type image/pjpeg wasn’t being properly parsed by Mailman’s Scrubber.py script. Having dealt with MIME type problems before, I suspected that the problem wasn’t with Mailman itself but the operating system’s definition of the MIME type.

Sure enough, checking the /etc/mime.types file revealed there was no image/pjpeg type defined. A little more Internet hunting brought me to this post on the Mailman list, confirming the missing mime.type info as the culprit:

On Jan 6, 2010, at 8:18 AM, Ralf Hildebrandt wrote:

> * Ralf Hildebrandt :
>> I have a list where the attachments are removed and stored on the
>> mailman server itself.
>>
>> This works like a charm, but SOME image attachments of the type:
>>
>> image/pjpeg
>>
>> are stored as “attachment.bin” instead of “attachment.jpg”
>>
>> Why?
>> Example below:
>
> adding “image/pjpeg” to /etc/mime.types fixed that:
>
> image/jpeg jpeg jpg jpe
> image/pjpeg jpeg jpg jpe

This is because Mailman uses Python’s mimetypes module to generate the file
name, and I believe that consults /etc/mime.types where available. Since
before you edit Python didn’t know anythig about image/pjpeg, it assumed it was
random binary data, hence the .bin suffix.

-Barry

From what I can find out, image/pjpeg is a type that Microsoft products choose to use instead of the image/jpeg that the rest of the world uses. I guess those crazy Redmonders are just trying to keep us on our toes, eh?

How Skype gets around firewalls


Here’s a fascinating description of how the Skype VoIP application can poke holes through firewalls – bypassing your network security. What’s even more eye-opening is that there is little that can be done to block it.

Anyone who has used the popular Internet telephony software Skype knows that it works as smoothly behind a NAT firewall as it does if the PC is connected directly to the Internet. The reason for this is that the inventors of Skype and similar software have come up with a solution.

Naturally every firewall must also let packets through into the local network – after all the user wants to view websites, read e-mails, etc. The firewall must therefore forward the relevant data packets from outside, to the workstation computer on the LAN. However it only does so, when it is convinced that a packet represents the response to an outgoing data packet. A NAT router therefore keeps tables of which internal computer has communicated with which external computer and which ports the two have used.
Continue reading