Archive for January, 2005
Random email du jour:
I cdnuolt blveiee taht I cluod aulaclty uesdnatnrd waht I was rdanieg The phaonmneal pweor of the hmuan mnid Aoccdrnig to rscheearch at Cmabrigde Uinervtisy, it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer be in the rghit pclae. The rset can be a taotl mses and you can sitll raed it wouthit a porbelm. Tihs is bcuseae the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe. Amzanig huh? yaeh and I awlyas thought slpeling was ipmorantt!
In the theme of High Fidelity and on the heels of my massive fuck-up last night; here is my top five list:
Top Five Reasons I Ought to Be Flipping Burgers
5. Sail Automation and Intelligence Laboratory’s Robot Simulator • I spent a summer trying to complete Andy‘s robot work. I just sort of wandered aimlessly through about a dozen fields I didn’t really know anything about and never actually produced much of anything. Since I felt guilty I gave the department $600 when I got back off of co-op and they bought themselves an air conditioner.
4. Talbert‘s Othello Server • After finishing my six and a half years of undergrad, I hung around for a semester to finish up my work on #1 of this list. So that I could stay on as a helpdesk employee and because the subject interested me, I signed up for an independent study with Dr. Talbert. My big project was to generalize and document a server for managing Othello playing AIs. I was already completely swamped with #1; ended up doing diddly squat and failed the course.
3. Miltec‘s Missile Flight Visualizer • I worked on systems for visualizing why and how missiles in the missile defense system missed each other. I had a week before a big demo where I was working 12 hour days and finished it up with an nuit blanche. Doing semi-conscious file management is a really bad idea as my
rm -rf . ./backup/1 showed. The command was taking a really long time to run and I realized what was happening about halfway through. I was actually using subversion, but the repository was in the directory I mangled. I told them a power failure had damaged my hard drive, which was true, just not the hard drive with the project on it and not at that time.
2. ISET‘s IDE RAID • This one comes in at #2 because it was so unbelievably irresponsible. I was doing filesystem work on a company’s primary data server without a backup. That’s like blow drying your hair sitting in the tub. You may not fuck up, but you may well and if you do it will likely be catastrophic. I was at ISET til past midnight and back again at 7:30 this morning. I managed to get a good bit of the system back and hopefully the damage was heaviest in the Linux portion and not the user data. The system is up now so people can start discovering if my stupidity deleted all their work. God, that was so fucking dumb.
1. Tennessee Tech‘s Education Department’s Portfolio System • The winner with a bullet. For a year and a half I was getting paid and meeting with people and setting stuff up all so the education majors at TTU could put submit their projects online and create an electronic portfolio. It was going to be an awesomely complex system which would do everything other than squeeze fresh OJ and give you a blow job. (At least not til version 2.) It ended up as a total wash leaving the education department with nothing but a huge quantity of code using systems that no one there was qualified to maintain. The worst though was me, who snuck off to Africa without so much as a word. At some point I need to give them about $10,000, then we might start to be even.
If you want the unifying theme (other than me), it is simple: arrogance. Well, arrogance and being a chicken shit. I overestimate my abilities, then when I realize I’m going to fuck up, I run away. It is sad really. The only thing that compensates is I really am very good. So long as I’m not given enough rope to hang myself, I can actually be useful. Oh yeah, I also have the attention span of a humming bird on heroin, as my project dumpspace can vouch.
1 For those who don’t speak unix, that command was supposed to be
rm -rf ../backup/ or “delete the directory named ‘backup’ and everything in it on level above the current directory in the directory tree.” What I put,
rm -rf ., with the added space, says “delete the current directory and everything in it, also delete the directory ‘backup’ in the current directory.” ./backup/
Holy shit. I copied the system back, cheap checked it out and then let the system overwrite my backup space with the RAID. This should have been fine since the RAID should have replaced the backup within minutes. It is now massively massively damaged. Thousands upon thousands of errors. And my backup is gone. This is so unbelievably bad…
Dammit all. I am here at ISET working on their IDE RAID. This system hates me for some reason. I did everything like I thought I was supposed to, but it stoutly refuses to boot from the RAID even though it will work booting from a CD.
Even worse now is the filesystem is completely trashed. When you make a new RAID the system it puts some info at the end of the disk so that it can build the arrays automatically if you like. Well, I like, and so I had it do that. Afterward though, you have to use
resize2fs to shrink the resultant system down a bit. Well, I made my raid and ran the program and it resized the partition to twice what it was before.
You’re thinking you know my error, and that I accidentally did a RAID-0 instead of the RAID-1 I wanted. I didn’t though. I have no idea why it did what it did. When I tried to use
e2fsck to fix it, it was making me hit
y to verify I wanted to continue even though a block was missing. There were about 20,000,000 blocks missing so this wasn’t going to work.
Trying to force
resize2fs to put it back was failing with an error about a bad “block bitmap.” I eventually got desperate and tried
-S and that finished killing it completely. Fortunately, I had done a backup using
rsync and I’m copying that back now.
I’ve still got no clue, but I’m going to try once more with the RAID just because I refuse to believe this process is that complicated.
Jesus H. Christ, this place will be the death of me. I saw one of the teachers wandering by today and asked him about his class. There are only two classes going on right now at the academy: one headed by him and the other by me. I’d heard that his students weren’t showing up and I asked him about it. This predicated a bit of grumbling about at most one coming and him being tired, and then a quick “je passe” and he ducked out.
My French teacher (who is also a University English student) happened to be in the room and I asked him what exactly “je passe” meant. I thought maybe it was like “j’arrive” and that he’d be right back. My teacher just said, “I dunno, we don’t say that in French.” Well, in any case, he never came back.
I asked him how many students they had and he told me a “dixane” (about ten). One of his students just wandered by and was saying he comes by for class, but there is never anyone here. I figured I’d see if the online system and see if I could get the email addresses of everyone. I’ll start teaching the class even though I’m not certified to, if it comes to that. It turns out there are only four students. I figure I can keep far enough ahead of them to teach.
I so don’t feel like doing this. I currently use Sunday and Monday to handle work for various other projects. Spending them teaching a handful of students information I don’t know well is not what I feel like doing. The Academy is going to fold though, and I’ll feel bad if I didn’t do everything I could to keep it from going under.
titivillus asked me about something I mentioned about creating a cron job to archive livejournal posts. The process is something that takes a little specialization to be familiar with, so I figured I’d document it publicly.
This little shell script ought to do the trick. It uses curl to do the posting and save the cookies and whatnot. Very handy little program that.
[ -z "$USER" ] && read -p "Username: " USER [ -z "$PASS" ] && read -p "Password: " PASS curl --cookie-jar /tmp/cookie.tmp --data user=$USER&password=$PASS --output /dev/null --silent http://livejournal.com/login.bml [ -z "$MONTH" ] && read -p "Month: [1-12] " MONTH [ -z "$YEAR" ] && read -p "Year: " YEAR FIELDS="year=$YEAR&month=$MONTH&format=xml&encid=2&header=1" for field in itemid eventtime logtime subject event security allowmask currents; do FIELDS="$FIELDS&field_$field=1"; done curl --cookie /tmp/cookie.tmp --data "$FIELDS" http://livejournal.com/export_do.bml?authas=$USER curl --cookie /tmp/cookie.tmp --data user=$USER --output /dev/null --silent http://livejournal.com/logout.bml rm -f /tmp/cookie.tmp
I am headed off to the stade olympique (built shortly after Mauritania’s recognition by the Olympic committee in 1979) to run stairs. I’ve not run stairs since I was in high school. I’ve not run at all other than a couple Hashes in the last year and a half. I am going to die…
I’m still recovering from tabaski where I discovered I’ve still not accomplished to make any Mauritanian friends. I had a couple people ask me if I had plans for the day, but got no invites. It is pitiful really; this is the biggest holiday of the year.
I sat around feeling depressed about not having done better in the last year and a half for most of the day. For the night though, the volunteers in Nouakchott headed out to our one dance club. I danced until 5:30am and then slept the whole next day. I’m still not at 100%. I’m getting old.
FYI, Helix fucking rocks. I was getting ready for class last night where we were supposed to set up a little network between two computers using a crossover cable. You have to be an administrator to do this and as I was getting ready, I discovered that the password had expired on all the administrator accounts. When I tried to change it, it told me that I didn’t have the proper rights. How the hell I, the administrator, don’t have the rights, is beyond me. The philosophical connotations of XP’s vagaries I didn’t have time to contemplate, so I burned a copy of Helix I downloaded a while back figuring I’d give it a shot.
I wanted a chance to show my students some Linux and Helix was great for that. It is all in cool hacker silvers and browns with neon green type.
There’s alpha blending all over the place. It just looks powerful. On startup you can put the system into French, but the French manual pages aren’t installed, so all that is still English. Most of the programs had at least partial translation though which is nice.
I had one XP box that I could use and I used that as the other end of our little network. Everything went smoothly other than I discovered I suck at making crossover cables. At the end I hooked the machine back up to the rest of the network and ran ethereal for a while. It was nice to be able to show them that packets really were bouncing around the network and to explain some of them.