Unfinished Drafts: Useful Utility: tar
This is another article that sat in the drafts folder for far too long- Last edited Feb 21st, 2006.
I fear writing about tar, and that is why I’m determined to finish it in this sitting, so it won’t fester and scare me off of this series. Why am I scared of writing about tar? Well, this is their flags list verbatim from the man page:
[ --atime-preserve ] [ -b, --blocking-factor N ] [ -B, --read-full-records ] [ --backup BACKUP-TYPE ] [ --block-com- press ] [ -C, --directory DIR ] [ --check-links ] [ --checkpoint ] [ -f, --file [HOSTNAME:]F ] [ -F, --info-script F --new-volume-script F ] [ --force-local ] [ --format FORMAT ] [ -g, --listed-incremental F ] [ -G, --incremental ] [ --group GROUP ] [ -h, --dereference ] [ --help ] [ -i, --ignore-zeros ] [ --ignore-case ] [ --ignore-failed-read ] [ --index-file FILE ] [ -j, --bzip2 ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ --keep-newer-files ] [ -l, --one-file-system ] [ -L, --tape-length N ] [ -m, --touch, --modification-time ] [ -M, --multi-volume ] [ --mode PER- MISSIONS ] [ -N, --after-date DATE, --newer DATE ] [ --newer-mtime DATE ] [ --no-anchored ] [ --no-ignore-case ] [ --no-recursion ] [ --no-same-permissions ] [ --no-wildcards ] [ --no-wildcards-match-slash ] [ --null ] [ --numeric-owner ] [ -o, --old-archive, --portability, --no-same-owner ] [ -O, --to-stdout ] [ --occurrence NUM ] [ --overwrite ] [ --overwrite-dir ] [ --owner USER ] [ -p, --same-permissions, --preserve-permissions ] [ -P, --abso- lute-names ] [ --pax-option KEYWORD-LIST ] [ --posix ] [ --preserve ] [ -R, --block-number ] [ --record-size SIZE ] [ --recursion ] [ --recursive-unlink ] [ --remove-files ] [ --rmt-command CMD ] [ --rsh-command CMD ] [ -s, --same- order, --preserve-order ] [ -S, --sparse ] [ --same-owner ] [ --show-defaults ] [ --show-omitted-dirs ] [ --strip-com- ponents NUMBER, --strip-path NUMBER (1) ] [ --suffix SUFFIX ] [ -T, --files-from F ] [ --totals ] [ -U, --unlink- first ] [ --use-compress-program PROG ] [ --utc ] [ -v, --verbose ] [ -V, --label NAME ] [ --version ] [ --volno-file F ] [ -w, --interactive, --confirmation ] [ -W, --verify ] [ --wildcards ] [ --wildcards-match-slash ] [ --exclude PATTERN ] [ -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --gunzip, --ungzip ] [ -[0-7][lmh] ]
So it’s a bit overwhelming. The good news is there are two common uses for tar- creating tarballs and opening tarballs. This will be a majority of your interaction with it. You get all sorts of fun options with tar, such as using different compression libraries, but it’s still pretty straight forward.
Tar produces tarballs, which in its simplest form is a bunch of data files run together into a larger file. in the following instance, -c means create, and -f means “create the following as a file called foo.tar”
tar -cf foo.tar bar/
This takes the bar directory and throws it all into a single file called foo.tar. Apart from some binary mojo to mark the separators between files, it’s almost as it all of the files were pasted end-to-end inside another file. if foo.tar is copied to another machine or place, you could untar the file with the following command:
tar -xf foo.tar
Again you see the -f flag, but the -c flag has been replaced by the extract flag, -x. This will create a directory called bar/ which will contain the contents identical to the original.
You also have the option of compressing tarballs in the process of creating them. There are three types of compression built into the version of tar I’m using: -Z, which uses the compress utility (ancient?); -z which uses gzip (old standard); and -j, which uses b2zip, which is good for compressing binaries (appears to be the new standard).
When creating a tarball that is compressed, it’s generally expected that you label it as such by appending the type to the filename, for example:
tar -cZf foo1.tar.Z bar1/ tar -czf foo2.tar.gz bar2/ tar -cjf foo3.tar.bz2 bar3/
Unless you have a specific reason, you’ll probably want to use bz2. You’ll probably never deal with a tar.Z file, but if you do, you’ll know how to deal with it. To uncompress these puppies, switch out the -c flag for the -x flag like we did in the previous example.
tar -xZf foo1.tar.Z tar -xzf foo2.tar.gz tar -xjf foo3.tar.bz2
One last option you may want to look at is -v. It will show you files as they’re being processed, and can be good for troubleshooting.
Unfinished Drafts: Useful Utility: cat
This article was originally written back on Feb 21st, 2006. While never completed, I thought it was worth sharing.
Cat is a very simple utility- so simple I debated added it to this list. There are however three really useful flags. I’ll try to write as much as I can about it so you don’t feel ripped off by this article. hrm… did that last sentence sound like filler? I swear it wasn’t meant to- that’s completely on accident.
So what is cat? Cat is a utility for printing the contents of a file or files to the screen. for example:
morgajel@FCOH1W-8TJRW31 ~/docs $ cat path.txt paths database admin system admin network admin management morgajel@FCOH1W-8TJRW31 ~/docs $
You can also specify several files as well if you want to train them all together and pipe them to another utility.
morgajel@FCOH1W-8TJRW31 ~/docs $ cat foo.log bar.log baz.log |grep "Invalid user"> invalid_users.txt
So there are three useful flags for cat. the first one is -n, which adds a linenumber to the output, like so:
morgajel@FCOH1W-8TJRW31 ~/docs $ cat path.txt -n 1 paths 2 3 4 database admin 5 6 system admin 7 8 network admin management morgajel@FCOH1W-8TJRW31 ~/docs $
This can be useful when debugging source files. The next option is somewhat related; the -b option adds a line number, but only to non-blank lines. if you’re wanting to figure out for some reason what the 5th item is, not including blank lines, this is the way to go. Here’s an example of what it would look like:
morgajel@FCOH1W-8TJRW31 ~/docs $ cat path.txt -b 1 paths 2 database admin 3 system admin 4 network admin management morgajel@FCOH1W-8TJRW31 ~/docs $
Notice how it only counted to 4? There were only 4 text lines. The final option that may or may not be of use is the -s flag, which smushes (that’s a technical term) blank lines together- it leaves single blank lines alone, but if there’s more than one blank line next to each other, it removes all except one. using our file above, watch what happens between “paths” and “database admin” in our example:
morgajel@FCOH1W-8TJRW31 ~/docs $ cat path.txt -s paths database admin system admin network admin management morgajel@FCOH1W-8TJRW31 ~/docs $
Notice how there is only one blank line? That’s what -s does. if you’ve ever had a file where you’ve systematically removed text but not newlines and end up with a 500 line file with 20 lines of text, this can be useful for making it readable on a single page.
Well, that’s all I can really say about cat. If you have anything else to add, do so in the comments.
Humble Bundle #2
So this year I managed to snag the Humble Bundle package;Â If you’re not familiar with it, it’s a pack of Indie Games bundled together. There are five good reasons why you should consider getting it:
- Name your own price ($5000 or $0.01 – your call)
- You choose who the money goes to (charities and/or developers)
- If you pay more than the average donation, you get Humble Bundle #1 from last year.
- All games work on Windows, Mac and Linux
- No DRM
Our Christmas funds were already drained, but Jackie and I agreed that we could spare $15.Â I’m going through and trying the games now and thought I’d write up my notes on them:
You’re a little bubble that propels itself by ejecting some of it’s mass in a given direction; the more mass you eject, the faster you go. As you float around, you see other blobs- some smaller, some larger. When one blob touches another, the smaller of the two is absorbed by the larger, bur as your mass grows, velocity slows. It becomes a balancing act of launching yourself to get blobs slightly smaller than yourself; if you eject too much, when you hit your target, you’ll be smaller and will be absorbed by your target (and thus dying).
There are two different types of play; “become the biggest” “absorb the ___”. Become the Biggest is played in a square or round sandbox, or it may be orbiting a massive blob; each has it’s own challenges.Â Absorb the ___ involves trying to absorb moving targets- other AI blobs or repulsers (runs away from you). There may be more modes of gameplay, but I haven’t gotten to them yet.
I’ve only dug into it a bit, but it’s very addictive from what I’ve played. The only issue I’ve had is it occasionally freezes;Â I have to alt-tab out of it and kill it when it happens.Â It’s only happened twice, so it’s not that bad. I am grateful that the devs decided to package it as a .deb file so installing it is as simple as doing a sudo dpkg -i. Overall it’s an excellent game and easily worth $15 by itself. I could also see it ending up on the Wii due to it’s simplicity and controls.
Braid is one of those horrible horrible games like Tetris or Columns where the gameplay sinks into your brain and your start envisioning it everywhere you go.Â The crux of the game is that your character can rewind time;Â while it appears to be a side-scrolling platformer, you can’t actually die; so it’s closer to a puzzle game despite the running and jumping.
Each level you open up unlocks a new “feature” items that sparkle green ignore the reverse flow of time; even though you run backwards, the badguys keep moving, or the key stays where you left it. purple sparkles cause a shadow version of you to re-perform the actions you just performed; if you need to get in a gate but the purple lever is too far away and the gate closes before you get there, you can run to the gate, run to the lever, then pull it; rewind until you’re back to the gate and watch the shadow you run over and pull the lever. while he’s doing that, you can run through the gate.
I haven’t gotten very far, but the storyline is very interesting; we all wish we could rewind time and undo our mistakes, but eventually you will become a prisoner of other people’s expectations. Very fun, and again, easily worth $15. The controls are a little funky on my laptop, but this would be a great xbox arcade game. They just have a bin file which creates a dir on your system; it woulda been nicer if it had a .deb file so I could track it.
World of Goo
I’ve heard a lot about this game, but this is the first time I’ve seen it. It was actually part of Humble Bundle #1, but since I paid over the average ($7.53 at the time I purchased it), I got HB#1 as well. It’s a basic physics/building game; think tinkertoys made out of jello. The goal is to get these little goo balls into a tube; usually this is done by building some type of bridge or tower that the gooballs can climb. when you place a gooball near an existing structure, it forms a goo strut; if it only connects to one, it’ll flop like a joint. if you place it next to two, it’ll form a triangle which is relatively sturdy.
There are many different types of goo; some that drip like snot, some that can only be placed on a structure once, some that can’t form structures, etc. To top it off, if you build an awkward tower out of the gooball, the struts will bend and give way, causing the tower to collapse.
It’s a fun game, broken into many levels and chapters, but not really as enthralling as Braid. I could see this on the Wii for $15 or so by itself.
Revenge of the Titans
Revenge of the Titans is a simple tower defense game based around an alien invasion; the graphics are stylizedÂ but simple, and the gameplay is nothing special. I’ve played probably close to 50 or so tower defense games;Â It’s a little more fast paced than most and seems to just be one solid, continual wave.Â It’s a well made and decent game, but I’m sorta burned out on the genre.
Samorost2 is a Myst-like puzzle game. Unlike the others so far, this one was flash based. The story revolves around a guy living on a small planet with his dog. When aliens stop to steal his pears and kidnap his dog, he follows them back to their base to rescue him. Each phase of gameplay involves a static screen with minor animations; you identify something on the screen that’s interactive, like a flower or ladder, and when you click on it, it triggers an animation. The gameplay is based on trying different combinations of events and timings. I was able to beat it in around an hour and a half, which makes it the shortest of the games so far. The artwork is great, but in the end it’s “just a flash game.”
Still worth a play for the artwork alone.
Lugaru appears to be a single-playerÂ 3rd person RPG, similar to WoW. The graphics are a bit rough, but it looks interesting nonetheless. Unfortunately, the controls aren’t great on a laptop, but if I had a mouse I’d probably be more interested in it. Walking through the tutorial, I got a feel for the combat, which seems crazy and fun. I’ll have to spend more time on it later.
So thats just a quick sample of what’s in the pack- I haven’t had time to play the other games. This pack is easily worth $15 several times over, and I sorta feel like I.Â If you haven’t heard of the Humble Bundle, now is your chance to check it out. Hurry though, it’s not available after Christmas day.
Kids in the Hall
So Ian is staying with Jackie’s mom this weekend. Jackie left to drop him off about 10am friday morning with the intent of being back in Troy to pick me up around 6pm. Around 3pm one of the guys I work with walked into the room and began a conversation like this:
[matt] Anyone want tickets to see Kids in the Hall?
[me] How much?
[me] ooh, I’ll take them!
The show was 7:30 that night- enough time for Jackie to get back, grab a quick bite to eat, and go. The venue was only about 15 minutes away and there were plenty of fast places to eat between work and there. It was unbelievable timing. So the next time Jackie calls I let her know what’s going on. She wasn’t real excited (“I’m neutral”), but that was mainly because she had been driving for 2+ hours already and was ready to vegitate on the couch.
We hit a National Coney Island and then the show. Another friend pointed out that the show should be called “Old Guys in the Hall” now since it’s been 20 years since their show started airing, but I gotta tell you, it was still some funny shit. You could tell Kevin McDonald and and Dave Foley still have great chemistry- Two great scenes come to mind.
The first was a drunk scene between Kevin and Dave. A minute or so in, Kevin’s ear-mic
became sweaty and fell off. He wasn’t able to get it to stay back on (even with dave quickly trying to help), and had to say his lines while pressing the mic to his cheek with one finger. Dave jumped in and started doing the same thing (as if drunk and mocking him). Kevin was barely able to finish the skit (from laughing at the absurdity of it).
The second scene involved Kevin having an affair with Dave’s imaginary girlfriend. The amusing part was kevin was wearing a silk robe that looked like it should have went down to his knees, but only got about halfway. When he sat down, he did something that involved him grabbing the sides of his folding chair and dry humping the air in front of him. Apparently the black spandex trunks he was wearing showed the front row his balls. Dave gave him a look and Kevin became very self conscious and tried to fold the robe up to cover his boys, but the stage direction had him moving all over so he kept trying to cover himself. After a few attempts he grabbed the front flaps of the robe and crammed them down the front of the shorts giving him a giant codpiece. Dave started to lose it and took off the trenchcoat he was wearing and had Kevin put it on backwards, which in reality gave him about as much coverage as the robe.
Two great lines spawned from this scene:
“My trench coat isn’t going to cover your balls forever.”
“I’m pretty sure the stage direction didn’t say ‘show the audience your balls’!”
I would definitely recommend seeing them if you get the chance… unless you don’t want your head crushed.
Whew, it’s been a busy year. Back in 2005 I wrote a list of things I’d like to do eventually that I’d be able to do if I had the time and resources that winning the lotto would provide. I’ve made a positive step towards realizing a couple of those.
The big change this year was the addition of Ian. We didn’t get off too well in the beginning, but we’re doing pretty good now. He’s just now to the point where he’s taking his first steps. He’s a smart kid, very inquisitive, but stubborn. Within a few years he’ll be learning how to read and write- I’m guessing it won’t be long until I’m teaching him how to program. He’s got an eye for any type of electronics, but goes nutty for my blackberry or laptop. Yeah, he’s a geek in training.
Jackie’s been doing fairly well, all things considered. She’s been staying home with Ian rather than going back to work, and it’s driving her a little stir crazy. To help ease the cabin fever, she got a laptop for christmas- Ian wasn’t letting her stay in the office, so now she has a way to keep in contact with people from the living room.
This was the year of the wedding… Brad and Erin, Jordan and Beth, Matt and Carrie, William and Charleen, Jackie’s friend Joslyn, Jackie’s sister Lori, and Paul and Kristen. I only made it to 4 of the weddings, but I was standing up in two of them. The ones we went to were all in Grand Rapids, so we had the joy of driving back and forth 155 miles each way, with the added bonus of dropping Ian off somewhere along the way
Work started off pretty rough. I have a habit of reflecting the attitudes of those around me, and my supervisor at the beginning of the year was pretty negative. That coupled with Ian’s birth and all the associated expenses turned me into a pretty miserable person. Fortunately the supervisor left and was replaced with a cautious optimist. Things got better- so much so that I just passed the 1 year mark at my current place and still find it interesting and entertaining.
I’ve played with many new technologies this year- Jboss, Netscaler and CentOS being the three foremost. I’ve dug back into ruby with a couple of new projects, as well as LDAP and a plethora of new utilities. I even picked up a bit of python. This trend doesn’t look like it’s gonna let up, so the job should be exciting and interesting for some time to come.
This year saw me move away from music and go back towards software (although I have been playing harmonica in the car at stoplights on the way to work). I joined the Luma team as head cheerleader and started the QT4 branch. After becoming frustrated with the python, qt3->qt4 transition and the codebase in general, I started an unofficial sister project, Ruma. I still sit in the Luma channel and help when I can, but I’m gonna sit back and wait until we’re ready for QT4- hopefully we’ll scrap the entire codebase and start fresh.
Right now I have two other developers “working” for me on Ruma, Lars and Hiro. They’ve put a lot of effort into bringing this bad boy to life, and I’m thankful I’ve had their help. For those of you not aware, Luma and Ruma are LDAP administration tools. As a System Administrator, I use LDAP a lot, so having specialized tools can be helpful.
Another project I started this year was competing in National Novel Writing Month. I finished the rough draft for my first book, Sinblade, a week early. It’s only 150 pages or so, but not a bad start all things considered. Jackie’s (sorta) working on revising it, and once she’s done I’ll open it up for others to start giving me feedback. I’m excited and nervous about it. If it takes off and people like it, I have 6 or so more books that I’m interested in writing.
The money situation is still pretty tight, but it’s getting better. Hopefully next year will be as much of an improvement over this year as this was over last year.
Review: Legend of the Dragon
Summary: Horrible- do not buy.
Jackie was planning on being out of town this weekend, so I asked her to rent a random Wii game for me while she was gone. She came back with Legend of the Dragon- looking at the cover it appeared to be some sort of RPG, and she knew I liked those so she picked it up.
Once I fired it up, I found the fatal flaw of this plan. For starters, this was a 3D cell-shaded fighting game similar to Virtua Fighter- between battles you move around this board finding temples to fight at. Well, “move around” isn’t the right phrase… imagine a board with 20 randomly placed points and lines connecting randomly between them… now hide all of the dots except the one you’re at and show the connecting lines leading off in that direction… you can move as much as you want, until you find a temple or some random guy hiding in the woods, then you go back into fight mode.
Anyways I should mention the plot. You start off by selecting one of three characters who is a martial artist that has mastered the way of the dragon (I chose young cocky guy rather than young whiney girl- the 3rd person wasn’t actually selectable I don’t think). Along comes this zodiac lord right as you finish your training and he takes over the world or something. Before you can take him on you must visit all of the zodiac temples and learn their secrets- ironic since neither the book nor the intro/storyline bits teach you how to fight or how the controls work.
Now, I haven’t even gotten to the best part. The Wii is known for bringing a new level of interactivity to the gaming industry with it’s motion sensitive controllers- the only time this is really used is when an opponent randomly changes into a costume and blasts you with a laser beam or some crazy shit like that- then it tells you to shake the controllers to “blast back”. other special moves the opponent uses require you to do a series of movements- I don’t know what those movements are, or how to do them, I just guess that it has something to do with the motion sensitivity since the analog stick and arrow keys don’t have any effect. I tried flailing with the controls as well, but to no avail. So to sum it up, the controls really suck. Probably the worst use of the wii controllers I’ve seen yet.
Speaking of special moves, I couldn’t figure out how to activate them- nothing in-game mentioned it, I even consulted the manual, but no joy. Fortunately the combo system was simple enough- they only gave you two attacks- punch and kick. combos consisted of AA, AB, ABA, etc. the booklet even mentioned AAA->AA, although I’m not quire sure what that meant, I presume it’s pretty awesome.
My third or 4th battle in, I had already established that the jump and kick fighting tactic along with the crouch and kick style of crap-fu were the most powerful in the game- I simply cornered the opponent and then jumpkicked them to death. Little did I know “the fat guy” would shake all that up- you see, he can only be hurt with combo attacks, and since he moves around, you have to time your “AA” or “AAA” combo attack so that the last hit hit him- if you hit him with the first attack, he bounce away from the second. fortunately there was no 60 second time limit like the previous battles, so 10 minutes later I finally killed him.
And what was my reward for defeating the slow moving, slow swinging fatguy who they called the pig master? I GOT TO PLAY AS HIM! First I fought myself and said “ok, I can see what they’re doing here- it sorta makes sense.” After that battle, I was fighting people I had previously fought and thought to myself “well, this is annoying, but I guess it’s to get you used to fighting as someone else.”
It wasn’t until I fought the second or 3rd random person I’d never fought before as fatguy that I got pissed off. I’d been playing fatguy for twice as long as I’d been playing young cocky guy- how long was this shit gonna go on? I just used the jump and kick move, only now it was the “jump and bellyflop”. After a while I just gave up and tried to quit- it warned me, “if you quit now, you will have to start this mission over again.” wondering wtf it meant, I quit, and found myself standing outside fatguys place ready to fight him for the first time. This is when I turned off the Wii.
And this marks the first game for the Wii that I actively did not like. Don’t buy this, don’t rent this, just ignore it and maybe it’ll go away. Ugh, normally I’d proofread an article like this, but I really don’t even want to go back and remember it. The only reason I’m writing this review is so I don’t have to repeat it.
How to make Slashdot useful
Slashdot is full of random crap, cliches and trolls- but buried deep within this pile of refuse is some useful and interesting info waiting to get out. The following is my checklist to find the relevant posts:
1) only read stories that actually look interesting. It seems like a simple thing, but it’s completely overlooked. As heart-warming as it is to read about them recovering Scotty’s ashes, it’ll be a waste of half an hour reading the same old rehashed star trek jokes.
2) Log in. Slashdot has quite a bit of filtering capability, but you have to log in to use it.
3) Funny is a distraction- in my preferences, I assign funny a -6 modifier because I don’t want to be entertained. if I wanted to be entertained, I’d go to fark.
4) interesting, informative and insightful are what we’re looking for- I give them a +2 to put them above the rest of the cruft.
5) Flamebait, Troll and redundant get a -3. The less things are repeated, the more useful info you’ll get. If something is incorrectly marked as flamebait or troll because it’s a dissenting viewpoint, usually a reply to it will be highly rated; see rule #7.
6) Threshold 2- This keeps the boring and uninteresting posts out of the thread entirely unless you click “read parent”
6) Highlight threshold 3- This keeps the boring and uninteresting posts hidden, while the more interesting posts are visible.
7) read follow-ups and parents of interesting posts. Sometimes the response is more interesting than the post you found, or if nothing else, balances out false statements.
This isn’t a surefire list- yes, I’ll miss some good content, and no it doesn’t filter out all the crap, but it has improved my reading experience quite a bit. And yes, there still is some good info on slashdot- take for example, this article about what Linus thinks of Subversion and Git. On the outside it looks like an opinion piece, but once properly filtered, there’s quite a bit of good information about what is wrong with cvs, the difference between git and svn, and how to use git in general.
Review: Metal Slug Anthology
I was really looking forward to this game- I vaguely remembered playing Metal Slug at a Pizza Hut many years ago, and was looking forward to seeing all the games wrapped up into one package (it even had a new sequel, Metal Slug 6, included). The game is a side scroller shoot-em-up where you get different guns and shoot the bad guys before they shoot you.
When I got it home and started playing it, I found a slight problem- it’s a perfect replica of the arcade game- you die quick and have to put in another quarter- only instead of quarters, you press start. I found myself pressing start every 30 seconds or so, again and again… and I beat Metal Slug 6 (the new one) in about 15-20 minutes.
It was fun as a one time rental, but there was no replayability. I honestly wouldn’t recommend it unless you’re really bored and have rented everything else. You can put this one on the third tier.
New Wii Reviews
ok, I’m gonna start doing reviews for the games I rent for the Wii- the ratings will go something like this:
First Tier Buy: Great game, you should absolutely buy it
Second Tier Buy: Decent- not the best, but still fun.
Third Tier Buy: If you’ve run out of things to try, give it a shot.
Don’t Bother: I won’t even recommend renting it.
Doing another annual recap this year like I did last year.
2006 was a pretty rough year- move from DC Metro back to Grand Rapids, got a crappy job, found out jackie was pregnant, got laid off from crappy job, spent 3 months unemployed, and at the end of November was offered an awesome new job in Troy, MI (the other side of the state). Other than Ian, and the new job, the best good news is we finally have a decent couch- two of them, actually.
I enjoyed working at CSX a lot, but Virginia started getting to me- a guy threw himself in front of the orange line and it was on the news down there, and I realized I could sorta understand why he did it… that was my hint that I needed to get out of there. The result was taking the first job that could get me back to Michigan.
I ended up taking a contract-to-hire job back in Grand Rapids that paid poorly, treated me like crap, and generally made me come home and curl up in the fetal position. Part of the agreement to even get close to the payrange I was looking for was I had to work 55 hours a week. The problem was I spent all 55 hours each week for 3 months putting out fires and stressed myself so badly that the doctor told me I had to cut back. Five months(August) into the 3 month contract (oh, it was open ended, didn’t you know that?) I was laid off. No severance, just a boot out the door. I wasn’t the only one laid off since the company is apparently not doing as well as they thought they were, but there’s still a lot of bitterness there.
The recruiter flat out lied when he said the Grand Rapids job market had improved- the unemployment rate is still 7% and companies are closing down left and right. I spent 3 months searching for a job in the area when our friend Chris P. offered to hand my resume off to a friend of his who was looking for a linux admin. Three interviews later, they offered me the job for a decent amount of money and benefits. The down side was it’s in Troy, so we’re moving again. This place seems great tho, and I don’t have any of the doubts or negative feelings I had initially about the job in GR.
In July, Jackie and I found out we were going to have a child. It’s a boy, and he’s due on March 10th. We’ve decided on Ian Hawthorn for a name. We’re really excited about it, but to be honest it didn’t help the stress level when I was laid off a month after finding out. We’re looking forward to it, but the new job is complicating issues like lamaz classes and doctor changes.
My brother Jamie is off being a park ranger/professional bum, Brian is still in school, parents are doing good, inlaws are good, grandparents are all doing well and the cats still haven’t been set on fire- can’t ask for more than that.
I finally finished my chainmail shirt. The age difference between rings resulted in some bad discoloration which I tried to fix by treating with vinegar- Unfortunately that completely removed the zinc coating on some resulting in rusting- once I get the cash I plan on rolling it in a bucket of sand to remove the rust, oiling it, and then putting it in a tupperware container.
I played with my guitar quite a bit early in the year, but slacked off later on. I also realized that learning to play the keyboard is going to require more than 25 keys, so I’ve put it off until I have the time and money to get a real keyboard and take lessons. I did manage to pick up a trumpet and restring my violin- I can play a scale on the violin (barely) and can annoy the neighbors with the trumpet. I also bought some new reeds for Jackie’s clarinet and learned how to play a scale.
I got back into ruby and finally checked out this whole rails thing- it’s very cool. I wish I would have kept up with ruby way back when and ignored the nay-sayers.
I’ve also taken up walking- yes, walking. I’ve been walking about 3 miles every other day since we moved back to Grand Rapids- once around the block. Now that we’ve moved, that’ll probably go by the wayside due to the lack of walking partners and Jackie’s general roundness (from Ian).
Hopefully 2007 will see us getting back to where we were last year this time.