The Caffeinated Penguin

musings of a crackpot hacker

Posting from my Mini

| January 31, 2009

So, in general, I like it. The keyboard is a little odd, and I find myself hitting “s” instead of “a”, and it's hard to find some of the keys.

Also, the 4GB stock hard drive isn't big enough (my email dir alone is 1.1GB), so I ordered a 16GB SD card and will put /home on it, giving me enough space.

This has the side benefit of allowing me to pull out the homedir when I travel and stick it in my wallet, so if anyone lifts the netbook, they get the laptop, but not my ssh keys and such.

But, I need to order skins. these guys seem to have nice stuff.. so nice that I'll likely grab stuff for my thinkpad, phone, and iPod 3G. (The nano already has a case).

Oh, and tomorrow I get to geek out over WordPress – I'm redoing the gun club's website, and will likely use WordPress as a CMS,

Update on scam

| January 28, 2009

In regards to this, it wasn't a scam. I do owe the town money, they say that is all the money that I owe them, and the reason I never got it is because they sent it to the old address and somehow it never was forwarded on. Of course, according to state law, I am responsible for not getting it, not them, and I should have contacted the tax collector.

Thus, I have paid the money owed.

Now, I would love to write a letter to someone if I thought it would do any good, but what really needs to happen is that RI law needs to be changed to describe a better way (like repeatedly contacting someone who hasn't paid their taxes). However, since I no longer live there, writing a representative or senator from RI is likely futile, and the state doesn't have a “Tax ombudsman” that I can find.

Any suggestions as to whom might actually be able to do something about the problem?


| January 28, 2009

So, I broke down and bought a netbook. Specifically, a Dell Inspiron Mini 9. In the end, for this use case, price wins over build quality, so I went with the absolute cheapest one I could find, at $230. (Okay, not quite true – I opted for the extra 512MB of RAM at $240).

The logic here is that I've always bought laptops as desktop replacement systems – large screens, decent horsepower, etc. This is all well and good, and indeed is very useful for doing real work… but sometimes I just want something small and portable that I can take on the road in order to do things like just read email and surf the web. Thing iPod touch only a little bigger and with a proper keyboard. Still, at 1/4 the weight of my desktop, and with more battery life but with a considerably smaller size, it is still quite a bit smaller.

We'll see how well this works.

Oh, and there was an article about netbooks today. Interesting read.

Hard drive funkery II

| January 26, 2009

Okay, so I apparently forgot something really important in this post (since edited to add the information), namely that if you don't modify /etc/mdadm/mdadm.conf and update the initramfs, your machine doesn't boot.

See, that’s the problem with Unix machines. You hotplug in some hardware, leave the thing up for six months (this one has been up since the last kernel upgrade, so maybe a month or two?) and then when you reboot it, you’re not really sure it will come up, because you’re thinking “what the hell did I change since I rebooted it last??”. Luckily, modern Linux distros include a busybox shell with the initramfs, so I can manually assemble the arrays..
mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm --assemble /dev/md1 /dev/sda2 /dev/sdb2 /dev/sdc2
exit the busybox shell, boot, fix the aforementioned stuff, reboot. Oh, and I wouldn’t have had to reboot, except that I had to apply this firmware update.. See, my drives were:
Model Family:     Seagate Barracuda 7200.11
Device Model:     ST31000340AS
Firmware Version: SD15

Device Model:     ST31000333AS
Firmware Version: CC1F

Model Family:     Seagate Barracuda 7200.10 family
Device Model:     ST3500630AS
Firmware Version: 3.AAK
Now, the ST31000333AS and ST3500630AS as well as Liz’s ST31500341AS (1.5TB) were not affected, as the 1TB and 1.5TB are both new (and thus already fixed) and the 500GB is old (and thus never had the problem). So, pop those out, load firmware on the ST31000340AS, and all is good.. except the aforementioned MD problem, which is not Seagate’s fault. Ironically, I wouldn’t have even bothered with the firmware update, except for the fact that in some cases the drives can get bricked after some number of reboots. I figured that the penalty for that is so high that I’d run the risk and update the firmware. All is much happier now:
Device Model:     ST31000340AS
Firmware Version: SD1A

Windows (in)security

| January 25, 2009

I know I harp on this a lot, and make broad, sweeping statements about “Windows is insecure as a side-effect of its design and it's really hard to make it secure without breaking stuff”.

Well, don't take my word for it, read what this guy, who used to write adware says.

Specifically, things like:

At the same time, we also made a virtual process executable. I’ve never heard of anybody else doing this before. Windows has this thing called Create Remote Thread. Basically, the semantics of Create Remote Thread are: You’re a process, I’m a different process. I call you and say “Hey! I have this bit of code. I’d really like it if you’d run this.” You’d say, “Sure,” because you’re a Windows process– you’re all hippie-like and free love. Windows processes, by the way, are insanely promiscuous. So! We would call a bunch of processes, hand them all a gob of code, and they would all run it. Each process would all know about two of the other ones. This allowed them to set up a ring … mutual support, right?


We also wrote a device driver and then a printer driver. When you write a device driver you get to do all sorts of crazy things, even crazier than the things you typically get to do in Windows.

Now, I'm not saying Unix (either System V or BSD, the latter which includes OSX) or Linux are perfect. However, the fact that all of these systems were designed from the get-go as multi-user, and a lot of time and effort has been paid to protect and isolate processes from each other, puts them ahead of Windows in this regard.

Remember, when Microsoft advertising talks about how great Windows is as a platform, and how it's easy to attach to and debug running processes and write multiprocess applications with easy interprocess communication, this should translate to: It allows one application to steal data from another!

(Processes talking to each other is fine, but the danger is when any process can talk to any other running process, without both processes expecting/wanting it. Another facet of this are various DLL injection techniques).

Warning, scam alert

| January 20, 2009

On Saturday, I got a letter from a law office in Rhode Island saying that I owed the town of South Kingstown $60 excise tax on my car. On the face of it, this makes sense – I did live there, and I did own the vehicle at the time. But, it's sketchy. I mean, I paid 2006 taxes on the car, and it was $500. So where does $60 come from? I mean, I lived in SK with that car for a year, and I think that they only assess the tax if you own it at the beginning of the year, but I moved in July – that's still half a year, so I would owe them $250. What gives? What's with $60? I mean, maybe it's a late quarterly payment or something, but either way, something is fishy. So, I sent a letter to the tax collector asking if they could tell me any taxes which I owed the town. My guess is that this is actually the first of four $60 payments I owe, which means that, by verifying what's up, I can pay the collection agency the $60, and the town the rest.

Note that I sent a letter, so I have a written response from the tax collector. The advice of the collection agency to call the town is silly – unless they're recorded, phone conversations mean dick.

Oh, and in RI, failure to receive a tax statement doesn't excuse you from paying it. You're supposed to remember all the taxes you need to pay and inquire if you don't get the notifications you're supposed to get.

Oh, and they don't call you or send any type of notice – they just put it in collection after some amount of time.

I swear, if business did business like government, the government would be all over them with consumer protection laws prohibiting this crap.


| January 19, 2009

It's a miniatures game where (miniature) giant monsters fight and destroy a city. Awesome premise.

SSH Badassery

| January 18, 2009

Dynamic Forwarding:

Proxying about:

  • SSH to a machine via other machines. This is very useful when hitting machines through the one machine with port 22 forwarded to it. Sure, you can specify an alternate port, but this would allow you to set up convenient aliases ahead of time, which is nice.


Set up pam_ssh – login automatically unlocks your key (which is, likely not a good idea).

SSH ControlMaster:


| January 18, 2009

I will be attending Cold Wars this year.

If anyone else is planning on being there, let me know.

Hopefully, there will not be a repeat of the beef jerky incident of last year.

I'm smarter than I thought.

| January 18, 2009

In my college chemistry 101, I spoke with the professor after class one day about a goofy theory I had.

“Isn't it possible to somehow spiral electrons into the nucleus of an atom and pair them with protons thus canceling out the charges and creating neutrons – helium to isotopes of hydrogen, or multiple hydrogens into helium, etc.”

She looked at me as if I were nuts, kind of shrugged, looked uninterested, and said “I guess anything is possible”.

Apparently, I should have talked with the nuclear physicists, because I had unknowingly just described how neutron stars are created. The massive gravity causes the electron shells to buckle, creating a superdense mass of neutrons. Of course, the theory goes on that if you have an even larger/more dense mass, you get a black hole.