Monthly Archives: June 2006

I like my apartment

My apartment is a good place. It now has couches, and is comfortable. It’s not too expensive. It’s in a good spot, both in geographical location and in surroundings. Most of the shopping places and eateries I frequent are within a mile, and it’s only about 10 miles from work. The coolest part might be that all of my windows overlook a nice unmaintained wooded lot with lots of birds and various other creatures, so I always have something natural and pristine too look at. A few examples:

[A rabbit]

I saw this little guy this afternoon munching on grass next to the fence that seperates the apartment complex from the wooded lot. The picture kind of stinks because I took it through my bedroom window and the camera picked up a lot of glare. I tried slinking out on the balcony to take some pictures, but the little guy saw me and scampered away.

[Woods #1]

This is the view off my balcony looking southwest. Lots and lots of greenery as far as you can see.

[Woods #2

This is looking northwest. I’ve seen a few deer down in the undergrowth near the fence, but my camera was never ready, so I couldn’t grab any pictures.

One might say that I’ve sold my soul

I’ve become one of the countless hordes – the white-earbud-wearing hipsters. Yes, I purchased an iPod. I can now expect a thorough ribbing by Phil, Alex, Shelby, and all of the other people who are Apple zealots cult members fans that I’ve chided for their blind loyalty to Steve Jobs and company. I will not be one of the mindless zombies in the Apple army though, so don’t even try. I can already hear the suggestions – “now that you bought an iPod, you should get a MacBook Pro! And a Mac Mini! And a lifetime subscription to ‘Steve Jobs is my personal savior’ magazine!” Slow down. I don’t need any of those things. I would probably take a MacBook Pro or a Mac Mini if they were given to me or purchased at a reasonable (read: not full) price. And I would immediately purge OS X from said machine. Every time I’ve used OS X, it’s driven me bat shit.

Speaking of annoying software, I’m not happy that I need to use iTunes to interact with my iPod. I see it as a necessary evil, much along the lines of paying bills. I don’t want to use it, but I will if I have to. It has already struck me as slow and incompetent, and I’ve only used it for around two days. When importing all of my music into its library, it didn’t seem to realize that it was creating duplicates of every song I own in its internal data store. Apparently, when reading existing playlists, iTunes is not intelligent enough to realize that it’s already imported the song directly from scanning the MP3, and imports the song again. This leads to duplicates in the library, and also caused full copies of the duplicate copies to be synced to the iPod. I have around 14GB of music, and I found it quite strange when iTunes said my brand new 30GB iPod was nearly full after the upload. It was only then that I realized what happened, and had to change the permissions on all of my playlists to make them unreadable to iTunes so it would import things properly. I would think that there would be some sort of internal validation that would prevent duplicate library entries that point to the same file, but I guess my common sense is not found in the heads of Apple’s design team.

This just in…

Lightning sucks when it strikes your place of employment, causing you to go to work at 6:45 in the morning, which is 5 hours earlier than usual, and after only 2-3 hours of restless sleep. The details:

The lightning hit the pole in back of the building. It fried the cable on the pole. It blew up our “lightning arrestor” which protects us from lightning strikes. It then traveled through the underground cables in our parking lot, blew off a connector in one of our neighbors transformers, and blew a hole through the insulation in one of the cables, which caused a ground fault. We later found out that it also destroyed our transformer, which almost blew up when they re-energized it. The coolest part is when the ground fault got so hot that it was boiling the water under our parking lot and shooting steam through the cracks. It also lifted a 10 x 10 foot concrete pad a few inches into the air (steam pressure).

The surge also tripped just about every circuit breaker in the datacenter. The redundant power systems (UPS and generators) behaved as they should have, but they're not much good when the circuit breakers between the power systems and the servers are tripped. All in all it was a very hectic and stressful morning. Totally awesome. Not.

Newfound comfort

My apartment is now much closer to being considered a normal living space. This past weekend, I picked up a couch and a loveseat that my uncle donated to my cause. They’re maroon leather, and except for one worn cushion and a few nicks in the leather, they’re in real good shape. My uncle smokes, so there’s a bit of a smoky smell to them, but I think a good dose of febreeze will help with that. Besides, I can’t complain much, as they were donated to me. They’ve been in my apartment around 30 hours, and I’ve already fallen asleep on them a few times. I guess I was catching up for lost not-having-couches time.

[New Couches]

Now I need some speaker stands for my surround speakers, and a new TV. My grandmothers both have newer TVs than I do. How awesome is that?

I owe Gregg a keg

Yep, you heard me right. A keg. Earlier this week, Gregg, a buddy from work and all an around good guy, gave me a nice gift in the form of a new machine that has now become my webserver. I mostly-jokiingly bugged him for a while to give me the machine, since he had also received it at no cost, and I guess he finally bought into my bullshit. Therefore, I feel that I owe him one. He's got a kegerator in his basement, so I told him to let me know when his current keg is empty. I'll be picking up the cost on the next one.

The machine is a pretty significant upgrade from what my webserver was before. The old box was powered by dual Pentium III 500MHz processors, with 512MB of RAM, a couple of 9GB SCSI-2 drives for the system stuff, and a couple of 80GB IDE drives for user data and backups. The new box has dual Pentium III's running at 1400MHz, 2GB of RAM, and two 18GB SCSI-3 drives in a hot-swappable enclosure, and redundant power supplies. This machine is designed to be a server, not just a generic computer acting as one. It's also designed to be more massive than your average Volkswagen, apparently. It weighs 50 pounds easily, probably more. I've got the two 18GB drives set up in RAID1, which should make disk reads faster, while providing some data redundancy for the system files. I also moved one of the 9GB drives over, and both of the 80GB drives. I'm not sure what purpose the 9GB drive will have, but the 80GB drives are serving their old purpose in the new machine.

My website itself isn't noticibly faster, since I have my code optimized to a decent degree, but the gallery is a lot faster. I've lamented over the speed of Gallery2 in the past, and having more horsepower makes that a bit more bearable. The processing of uploaded images should be a good measure faster now as well.

Surgical Strike

I narrowly averted a close run-in with being quite unhappy today. I awakened early this moring (*cough*8:30*cough*) to a strange buzzing sound. I was rather perplexed since this isn't a sound normally found in my bedroom. After tiredly glancing around for a minute to localize the noise, I saw the source – a honey bee buzzing against the screen, trying to get outside through the open window. The screen in my bedroom is hardly an impenetrable barrier against things from the wild outdoors, so I figured that it slinked its way around the screen and didn't know how to get back out. So, in order to make the problem go away, I closed the window. Noise blocked by window, problem solved, back to sleep.

Well, about an hour later, I awoke to the same noise. It confused me how the bee could have got out, since the closed window provides a decent seal. The first bee hadn't escaped – another bee got in. I found this rather annoying, but not very conspicuous, since I was still up before my normal time and not really capable of anything beyond “ugh, noise, stop!” problem solving skills. I got a few pieces of Kleenex, and ended the insurgency. So I thought.

I was pretty much done with sleeping after that point, so I got up and started my day. After showering and getting dressed, I went into the living room and went to grab my shoes. I glanced out the window next to the balcony, and there was yet another bee cruising around against the window. I grabbed a flip-flop and gave it the hard goodbye, and started to wonder what was going on. Then I noticed the small horde of bees flying around outside the sophets by my utility closet, which lies next to the balcony. They seemed to be going in and out of a small gap between the wall and the sophet, which probably connects into the utility closet. The closet holds the furnace, and attached to that is the cold air returns – one connects to my bedroom, and the other connects to the living room. The entrance vector was pinpointed, but I had nothing to combat them with.

I planned on informing the complex management on my way to work, but someone else must have noticed as well, because there was an exterminator pulling in as I was walking out. I walked over and talked to him, and confirmed he was indeed there to take care of bees. I escorted him up, and he doused the area with some pesticide. He called it good, and I went off to work.

I had a small worry that dousing the entrance to their new fortification would somehow push them deeper into the closet, and therefore, into my apartment, but that proved nonsensical. I don't see a trace of any bees by the sophets, in the closet, or in my apartment. I don't see any dead bees either. It's quiet. Too quiet. They're probably off in the woods, drawing up plans for a counter-offensive. I'll have to be ready.

A post about a walk in the park or something

Ok, it’s not about a walk in the park, but it is about something. Saturday was a pretty fun day all in all. It marked a few occasions. The first was the First Annual Liquid Web Bad Golf Open, held at El Dorado Golf Club (FALWBGO@EDGC). There were only seven brave souls (or was it 9?), but a lot of fun was had. None of us are particularly good at golf, and that’s most evident by the fact that I had the best day out of all of us. I actually shot par twice, yet still ended up shooting a 56 over nine holes. I’ve figured out the secret to my golf game. On par 4 and 5 holes, I mash the ball off the tee. Driving is the only thing I do well when I golf. If I can get a good second shot, I’ll normally finish the hole in good shape. If I duff the second shot, say hello to triple bogey. Anyway, it was a perfect day. It was very sunny, about 65 degrees, and only a slight breeze. We also saw some wildlife when we were out as well. Between the second and third holes, there was a deer out and about, but it made for the woods before I could get out my camera and take a picture. We also saw a red-tailed hawk perched in a tree from about 15-20 feet away. It was probably more docile than normal, which allowed us to get so close. After our golfing clinic was over, we went over to Champions and had a few beers and some food, and went on our way.

Later on that evening was SHELBY-CON 2006. It sounds all big and grandiose, but it was really just a party a few friends threw for Shelby because he was back in Michigan for the weekend. It was a whole lot of fun, except for the fact that I became the human swill rag that night. Midway through the night, I sat down on a patio chair outside, but nobody warned me that someone had spilled a beer all over it. So my ass was soaked with beer, then while I was standing by the fire to try to dry my ass off, someone knocked over a tiki torch on me, and spilled the flammable smelly liquid (kerosene?) on my shorts. That pretty much made standing by the fire a very bad idea, so I had to walk around with wet shorts for the rest of the night. Then I kicked over a beer someone left on the floor, and got it all over my shoe. My fragrance that night must have been positively alluring.

I took my camera with me, and I’ll have some pictures up in the gallery shortly.

Jurassic Park all over again

I've documented before that I very rarely remember detail from my dreams. I just woke up from a dream that had me laughing. I was back at my parents' house, which has a large field behind it that's owned by the township, and was recently converted into a park. Jurassic Park apparently. In my dream, there was a very large meat-eating type dinosaur, visually similar to the T-Rex from Jurassic Park, trooping around on the far side of the field. I remember being out in the back yard and not thinking much of it, so apparently the four foot high cyclone fence my parents have in the back yard is good at stopping a T-Rex. I remember some incident with it coming up towards the fence and getting all pissed off because it got caught in the power lines. I think that prompted me to go inside.

While inside, I walked into the bathroom to do my business apparently, and I notice that something is trying to wedge the window open. Whatever it is starts to succeed, and I see a head start to emerge. Yep, it's a Velociraptor. So rather than doing something intelligent like grabbing a knife or a very large blunt object, apparently my first thought was to punch the thing. So I start punching this Velociraptor, who has succeeded in getting stuck in the window, with only its head abd neck showing through . The thing I laugh at is look the thing gives me when I start punching it. It rocks it's head to the side and gives a look in a fashion that can only say “Are you daft?! As soon as I get out of this damned window, I'm going to splay your guts open for spite, because that's just the way I roll.” I woke up after that. Apparently I didn't want to stay around to see my guts splayed.

Now with new and improved optics!

I just realized that I’ve neglected my small but faithful audience by not posting news covering the progress of my right eye over the past month since the cataract surgery. While certainly not a 100% turnaround, I have noticed a marked improvement in my sight since my last post. I can pick out things at a much further distance than I could before now. I always try to assess my progress by looking at street signs on the highway when I’m heading into work. Before I had the cataract removed, I could clearly make out the signs at maybe five car-lengths of distance, if that. Afterwards, things have improved enough so that I can see the same level of detail at 3-4 times that, maybe more. It’s hard to tell since I have to worry about driving the car, but it’s still an improvement.

I think there are two things that are still holding me back though, and neither is likely to go away completely. First is the garbage that’s still floating around in my eye. It’s always there, floating and swirling, and it can be quite distracting. The second is the underachieving reflex action of the iris/pupil that I’ve had since the first laser treatment. I’ve shown a picture of it before here, for those who aren’t familar with what I’m talking about. My right eye is extraordinarly slow in reacting to changes in light level, and it seems to be stuck in a less contracted position than the left eye.

As a result, I’m really really uncomfortable in bright environments, and I notice a pretty large degradation in my sight when I’m looking at things with a lot of difference in light levels. For example, the vision tests I’ve been taking involve a dark room, an illuminated screen, and dark letters. Everybody probably knows what they look like. Anyway, when I’m looking at the letters, the bright illuminated areas ‘bleed’ into the darker areas quite heavily, and it makes it hard to pick out the letters. A week after the cataract surgery, I was seeing 20/45 with normal vision, but when I looked through this pinhole-mask-thingy (can’t think of a better name for it), which blocks a significant portion of the light and glare, I was able to see 20/20. It was a strained 20/20 though. With my left eye, I read the 20/20 line at a glance, but it takes a concerted effort to make things out with my right eye at anything lower than 20/50 or so. Eventually I can make things out when the crap floating around in my eye shifts to the right position, but it’s certainly not effortless.

The good news is that I’ve received a clean bill of health from Dr. Doshi. I see him again in a year. However, I’m sure Dr. Saxe isn’t finished with me yet. I’m probably about due for another steroid injection. I tell ya… I can’t wait… Right.

Network Segmentation with IP Policy Routing

Back when I had roomates, I came across a networking problem that, at the time, I didn’t know how to solve. I’ve had a VPN set up on my gateway machine for quite some time, and I shared my internet connection with the roomates. The problem was that while the roomies were paying their share of the internet and should have full access to it, they shouldn’t have routed through the VPN interface to IP ranges that I routed through. In terms of the VPN interface, my computers should be treated as trusted, and all others should be considered untrusted, and barred from access.

That’s not really an issue anymore since I live alone now, and my wireless network is protected by X509-authenticated IPSec in addition to 128-bit WEP and MAC address filtering. However, I had some free time tonight, and wanted to see how it’s done nonetheless. First off, here’s the basics of my setup, in reference to the gateway.

eth0: 192.168.0.1/24, Wired Trusted
eth1: 192.168.1.1/24, Wireless Trusted
eth2: 192.168.2.1/24, Untrusted
eth3: Dynamic External interface
ppp0: VPN interface

What I was looking to accomplish is this. Any traffic originating from the networks connected to eth0 or eth1 should be able to route out eth3 or ppp0, with the routing choice made by the routing tables. However, any traffic originating from eth2 should not be allowed to travel out ppp0, and all traffic destined for the outside world should be sent out eth3. My current routing tables have specific subnets sent through ppp0, and the rest heading out ex3 as the default gateway.

I accomplished my solution using the ip command. It allows for very powerful routing configuration. First off, I added the following lines to /etc/iproute2/rt_tables.

200 TrustWired
201 TrustWls
202 UntrustWls

This just provides names that associate with routing table numbers. They’re not necessary, but helpful in keeping tabs on things. Next, I created a routing rule that sends any traffic originating from eth2 to the UntrustWls routing table.

ip rule add from 192.168.2.0/24 table UntrustWls

After that, I stuck a rule in to set up the default route. I’ll use 10.10.10.10 as my default gateway in the example.

ip route add default via 10.10.10.10 dev eth3 table UntrustWls

I also had to add the following route, because things weren’t working quite right. I think it was because arp traffic wasn’t being sent out properly from the gateway box without this route.

ip route add 192.168.2.0/24 via 192.168.2.1 dev eth2 table UntrustWls

That’s all! As another supplimental exercise, I figured out how to prevent the untrusted network from sending traffic to the trusted networks using these two rules.

ip route add blackhole 192.168.0.0/24 table UntrustWls
ip route add blackhole 192.168.1.0/24 table UntrustWls

My next related project is traffic shaping. While I don’t do a whole lot of downloading/uploading of large amounts of data, it would be really sweet to allow certain types of traffic to take precidence over others. This concept is a little more advanced, and who knows when I’ll get to it. We’ll see I guess.