Archive for April, 2006
What’s Been Happening
So, what’s been happening with me? Time for an overdue update…
Class Projects
Today I turned in all of my final projects for the semester. I had one of these for each class and they were all, of course, due on the same day.
NinjaBoggle
In my Concurrent Programming course we had to demonstrate our knowledge of concurrent techniques and applications of parallel algorithms by developing a multiplayer Boggle game in Java. The concurrent part comes from the server having to handle many games and many players simultaneously without slowdown. The parallel part comes from solving Boggle: In order for the game to score your answer it needs to know whether the randomly generated board contains the word you guessed. So thus it has to solve the Boggle board before players are allowed to guess. This is a parallelizable problem (a stupidly simple one, admittedly) and we had to develop an algorithm which would solve the board on a computer with more than one processor efficiently. E.g., if you had a 8 processor computer it should solve it in roughly 1/5th the time of a single processor computer.
NinjaBoggle meets that requirement with flying colors. It solves a 4×4 boggle board in ~30 milliseconds on a 8 processor computer or about 300 milliseconds on my desktop computer, Resmiranda.
At the project demos last week NinjaBoggle was the unchallenged ruler.
NinjaBoggle was a collaborative project with my friend Mikel. Together we developed a slick GUI client, a robust server which has been tested with hundreds of simultaneous players and games and, well, a fun game. I’ll be releasing the source code shortly, but if anyone wants to challenge me to a game of NinjaBoggle, just let me know. I can put the server online. ![]()
Chord
For my Operating Systems course we had a very ill-defined final project. It took me all three weeks it was assigned to complete, partly because the project description contained many, many English and factual errors. The amount of incompetence demonstrated in the project’s description is nothing short of hideous. Anyway… The project itself was to implement a peer-to-peer network, in particular the Chord distributed hash table protocol. Only, slightly different.
This project just counts as evil. I finally got my implementation to work on Saturday night after throwing away the project description and simply reading all of the original papers which describe the protocol. I put more than 38 hours into simply debugging this project and about 10 or 12 more doing the actual code writing. Again, simply evil.
On the plus side, I’ve now implemented a reasonably complicated and very robust peer-to-peer application. With a few more hours of coding I could add file transfers to it and make my own Gnutella or Kazaa-like peer to peer network…
One other piece of amusement: If I were still living on campus I would have gotten banned from the network for testing this project as it would have violated the Dept. of Housing’s no-server / no peer-to-peer policy.
Remote Key-logger
And in my Network Security class my group decided to do a cop-out project and develop a Windows-based key-logger with remote log transfer abilities. The majority of my work on this project went into making Microsoft Visual Studio 2005 work in my Windows install in VMWare.
For your reference, yes, the key-logger works rather well. It has some advanced filtering features like only logging keys and mouse-clicks in windows or text boxes that involve words like “password”, “social security number” and “account number”. It also, as the name implies, transfers its log in a obfuscated format to a remote web server every couple of hours to simplify the task of retrieving this possibly-compromising data. I wrote the remote-transfer routines, the standalone log reader and tweaked a bunch of other stuff.
Yes, it shows up in the process list in Windows — we didn’t do anything really nasty with it. We’re not black-hats, after all.
Finals
Now that those three projects are turned in all I have to do for the next week and a half is study for my final exams. I have one this coming Friday, one next Wednesday and one next Thursday. I’m ready already, but I’ll be studying, no worries.
ACM Election
Tonight was the officer election for the local Association for Computing Machinery chapter. No, I didn’t run for anything (the job of managing/coaching the programming team is too time-consuming in the fall already), but I did print up signs saying “VOTE FOR TIM! Invest in oil!” and “The Flying Spaghetti Monster votes for Tim!”. Tim is one of our top members of the Programming Team and was the current ACM Treasurer. He’s fiercely devoted to the club and with 12 signs scattered throughout the meeting room I figured that Tim would be a shoe-in for the presidential position. I was wrong. He lost to a guy named David that I’ve only seen once before. How disappointing.
On the plus side of things, we ordered 10 pizzas and 10 2-liter bottles of soda for this meeting. 11 people showed up. I managed to fit two 2-liter bottles of soda into my backpack and acquire them for the good of my apartment. There was much rejoicing. I’d have nicked a few boxes of pizza but I couldn’t figure out a way to strap them to my bicycle…
Civ IV and computer components failing
I got my copy of Civilization IV last week, much to my excitement. I haven’t had much time to play it due to all of my projects but I’ve been looking forward to the coming reading days as excellent opportunities to intersperse study with building an empire to stand the test of time. However, much to my annoyance my periodic hardware problems in my computer came to a head tonight: my SIIG ATA IDE controller I use for my second hard drive fully failed at around 8 pm tonight. No longer will Resmiranda boot with the card installed, so it’s destined for my trash can. Without this card I can’t use my second hard drive and without that drive I cannot operate my RAID0 array which has Civilization IV installed. My RAID1 array is still operating without that hard drive but I’ll have to wait on the replacement before I can get back to my new game. I’ve ordered a new card (with 2 Serial ATA ports on it in addition to the IDE port) but it won’t be arriving until Saturday at the earliest.
Ah well, that just means I’ll be doing more reading and less hard resetting of Resmiranda since that card won’t be locking up the system anymore.
I’ve also had to order a new battery for my UPS: During a routine demonstration of what a UPS does (yanking the power cord from the wall) a most unexpected thing happened: my computer lost power. The whole point of a UPS is to keep the computer running from its battery even after power has been lost to the building… but if the battery’s dead then that’s difficult to accomplish.
The stupidest part about all of this is my UPS is connected to my computer. On the 11th of January it started alerting my computer daily that its battery was dead and needed immediate replacement but I never bothered to look at that log file. Whoops. Lessons learned…
Linux Users Group
Last week I organized a GnuPG/PGP key-signing party with the local Linux Users Group. A key-signing party is a meeting where several people who use public key encryption get together and authenticate each other in person and then sign each others’ encryption keys to build a “web of trust.” This is important because without some sort of trust mechanism it’s impossible for anyone to look at an encryption key purporting to be mine and be certain that it’s not fake. If you’re interested in seeing the initial GatorLUG Web of Trust (includes a graphic), look at this page on the GatorLUG website.
In addition to organizing that key-signing party I also was at the last minute drafted to give a presentation on GnuPG, encryption and privacy at the meeting. And when I say “last minute” I mean it — the person who was supposed to give the talk cancelled during the meeting, so I was volunteered to stand up with the mic and blindly explain public key cryptography, the whole “web of trust” thing and why all of it mattered. I know I didn’t do all that well, but nobody complained, booed or threw Cuban food so I wasn’t terribly offensive. Chalk that up under “acceptable impromptu presentations…”
Summer Prospects
Summer is nearly upon us! Or me, at least. I’ve got several things lined up. First, my school schedule for the summer looks like this:
- Tuesday: Programming Language Principles, 2pm - 5pm
- Thursday: Programming Language Principles, 3:30pm - 5pm
- Whenever: Individual Research with Prof. Paul Fishwick, the Aesthetic Computing guy
Beyond that I’m applying to the Google Summer of Code and considering a part time job with the University’s Bureau of Economic and Business Research with a bunch of Gentoo Linux hackers. I’m going to do at least one of these two things, possibly both… I might end up busy for the next few months. ![]()
Jimbo Wales came to UF
Six months of work on the part of a club I’m fairly involved in, Florida Free Culture, paid off last night. We sponsored Jimbo Wales, Wikipedia’s founder, to come and speak at the University of Florida about Free Culture and Universities. The event was an absolute success: the 300-seat ballroom had standing room only. (I’m not sure where The Alligator got their “audience of about 500″ line in their article, but that’s far too high…)
To get Jimbo here we had six months of planning, fund-raising, advertising and periodic madness. At the end of things the event was co-sponsored by our Center for Entrepreneurship and Innovation, Accent (UF’s cultural speakers group) and Student Government. It wasn’t easy: a core group of 8 of us managed pretty much every step of the way.
One of the local newspapers, The Alligator, misprinted the start time of the event so thus we had to open doors a full hour early of the event (instead of just 30 minutes). As you can see from these photographs, we had people there 45 minutes and even an hour before Jimbo was to speak. And those who came so early stayed, that was the most amazing part. Jimbo arrived and made his speech about Wikipedia and Free Culture at 7:30. Afterward there was a panel discussion centered around similar topics: Wikipedia article writing as a teaching tool, Open Access to scientific journals, Free Software and University IT and finally Equal Access to Essential Medicines in Low/Middle Income countries.
We had more than 40 people stay all the way through the whole panel (even though it ran late). Plenty of good questions were asked of both the panel and specifically of Jimbo. Oh, and we should have a complete audio and video recording of the whole event, so expect that on-line in a few days. Afterward came pictures, informal conversation and Jimbo signing E.’s Wikipedia shirt. She’s still ecstatic about that. ![]()
According to E., the staff of our venue were pissed about the event running late, but they were courteous to us nonetheless. And also as E. suspected, after the event I went out with three of our panelists, some of Florida Free Culture and a few other folks to The Swamp to have dinner and chat until midnight-thirty (For note, the new Monte Carlo Wrap is rather excellent).
Ah, success is good.
4 commentsTrekkie girlfriends allow such great entertainment
One of the best things about having a Trekkie girlfriend is that you get to end letters in such fine ways as this:
“When I get you in my arms again, gosh, I don’t know what I’ll do… All I can say is that your biological and technological distinctiveness will be added to our own. Your culture will be adapted to serve us. Resistance is futile. You will be assimilated.”
I related this to Tae last night:
9 commentsTae: That’s cute…..in a very geeky way
Pug: It’s perhaps the most romantic thing I’ve written.
Tae: Hehehe! Totally, you Casanova youPug: I deny nothing.
![]()
Skydiving Video and Photos!
As you can see in the below post, the skydiving videos are online. We also have a DVD version which is slightly different, copies of which will be heading out to our parents shortly. Also, if you haven’t noticed yet, there are photos in the below post also!
5 commentsSkydiving: Kickass!
- DivX 5: High Quality (87 megabytes)
- DivX 5: Medium Quality (48 megabytes)
- Photographs: On Flickr
James and I render this judgement on skydiving: Kick-ass! That moment of “oh shit!” as you first fall away from the aircraft is both incredible and impossible to properly describe. That said, I’m going to give a recount of our adventure (which was both filmed and photographed, as is testified by the photographs and video on this page! Take a look!
). This is not an April Fools joke. ![]()
Arrival
Our Drop-zone of choice was Skydive Palatka, one of Florida’s top skydiving groups. It’s located in Palatka, a city about 40 miles east of Gainesville, 20 miles southwest of Saint Augustine. Our appointment was for 10 am though we arrived shortly before 9:30 which, incidentally worked out well: the group of tandems scheduled for 9:30 were late so we took their place on the first jump of the day. But first we had to watch an instructional video which had two parts:
- Notice that you will be signing papers that fully indemnify your drop zone, instructor, parachute packer, rig maker, pilot and a giant list of others against lawsuits and damages in the event of something odd happening. This was most of the video.
- Video of people doing tandem skydives while the narrator describes his first jump in vague terms
Ooohkay, that wasn’t much instruction, really. Next came the…
Paperwork
Two sheets, 9pt font, front-and-back of legalese with blocks for initials after every paragraph. They are serious about you understanding that jumping out of an aeroplane is risky business. Still, I read all four pages of text and found nothing questionable (except why I was indemnifying the fuel manufacturer for the airplane… they were very comprehensive.). Signing these papers and paying the bill brought us next to meeting our instructors and videographers and thus suiting up. (The bill was $250 a person. Includes rig rental, plane ride, instruction, still photography and digital videography before, during and after the jump — expensive (due to the videography) but heck, if I’m doing it I might as well do it right!)
My instructor and the man to whom I was attached for my tandem jump was Ralph Nichols, wonderful guy and obviously a very experienced instructor. My videographer was Jeff Colley.
Suiting up with some more instructions along the way
After removing everything from our pockets, wrists, etc., James and I were led by our instructors (Art and Ralph) into a side room to pick out jumpsuits. James was given a black suit with rainbow stripes on the shoulders while I had something that was likely white once-upon-a-time. (Photographs to come, don’t worry). Both of the suits had seen better days, mine had holes below the knees and a tear across the back — Ralph explained that my suit had already had its share of bad landings so karma was in my favor. I knew that if we had a bad landing, he’d be the one skidding across the ground so I just grinned.
We received our primary instruction there while being suited up: When we’re standing in the doorway of the plane preparing to jump, I, the front guy, needed to squat down really far on my toes - 2 feet or so, to give Ralph room to get his head out of the plane. Once in the doorway I should grab hold of two loops on my upper chest with my hands (to keep my arms under control for the first seconds of the dive). I also needed to lean my head back onto Ralph’s left shoulder and look at the ceiling of the plane (to keep my head facing my videographer as I jumped!). When out of the plane I’d need to arch my back and move my hips and legs all the way back to “kick (Ralph) in the butt.” That’s to add extra wind resistance. Finally, look at my videographer and smile, ’cause I’m paying him a lot of money.
I was belted into my part of the tandem harness, given a safety check and out we walked to the plane.
Plane ride
The aeroplane we rode was a Cessna Caravan. James, myself and our instructors were the first ones on the plane. The cargo area of the plane had two long benches offset from the wall which ran parallel down the whole length of the cabin, these we straddled facing the back. Everyone just queued up with we tandem jumpers in the back, belted in and started our taxiing. The jump door was a simple roll-down fiberglass construction. Once in the air we had a 20 minute ride to 13,500 feet including beautiful views of the Atlantic Ocean and even briefly the Castillo de San Marcos. We heard a few jump stories on the ride and also had great fun when people addressed “James.” Four of the people on the flight were named “James,” the pilot, one of the other jumpers and of course we two roommates. I should also say it’s mighty funny to see everyone checking their wrist altimeters rather than watches.
During the ride I was also quizzed a bit further about what I was to do at various points in the jump (head back, hips and legs back, arms tucked in to start… enjoy the view, remember the cameraman!) and fully fastened to Ralph. Finally the aircraft leveled off, the door opened and within seconds half the plane’s occupants had rushed outside in a blur of color.
All total there were 14 jumpers for that flight (by my count).
Jumping
My heart is thumping hard right now just recalling the rush of standing in that doorway. But I’m getting ahead of myself slightly.
We tandem jumpers (and our videographers) were the last ones out, so we were scooting forward on the benches acting like plungers on a syringe — as we moved forward everyone else jumped out the side. Five seconds later, now with only 6 jumpers left in the plane, Ralph and I are at the edge of our bench and Jeff, my videographer, jumped out of the plane. I realized after the fact that Jeff had jumped out of the plane and grabbed hold of the elevator - he was hanging there, waiting on Ralph and I. That’s why I was told to put my head on Ralph’s left shoulder — it was so I’d be facing the camera at the critical moment of entering free-fall.
There we were, Jeff and I standing in the door. Even before he tells me to I’m squatting down, my elbows tight into my body, hands gripped to the straps and ready to throw my legs back and up. Jeff says “One!” and we move forward, “Two!” and we swing back and then “Th–!” as we fling ourselves out of the plane at exactly 13,500 feet above ground level.
Free-fall
The first second was spent spinning and my vision closed in just as Art, James’ instructor, said it would. All I could see was the clear blue of a Florida sky and then the dark blue of the Atlantic, then the green of Florida itself. Then the sky, the ocean. I had a brief moment where the root of my brain cried, “WHAT THAT HELL ARE YOU DOING!? WE’RE GOING TO DIE!!” but I banished that thought as quickly as it came because I knew perfectly well what I was doing. Suddenly the drogue chute deployed and our 2 seconds of spin quickly stabilized. We were in free-fall.
Ralph tapped my hands to tell me it was okay to fling my arms out and soar. I took that as my cue to look around. Falling before us 20 meters away was my videographer. I waved, smiled and gave some thumbs-up while taking another moment to look around the scenery. The wind noise was incredible but paled compared to the absolutely pristine view of earth and sky, unmarred by glass or, well, anything. Jacksonville was visible in one direction, Orlando in the other. James and Art were above us but I only had a brief glimpse at them — looking up while oriented belly-first to the ground is difficult.
My stomach never did a flip. In fact, I’ve had much worse times on roller-coasters for queasiness. I was instead focused on the feeling of flying, truly flying. In the words of Petrie, “I flied!”
It was stupendous! It was amazing! It was life-affirming! It was perhaps the most incredible action I’ve ever performed. Oh God, it was good. I must have smiled like an idiot to my videographer. It was all worth it.
Thousands of feet later my videographer disappeared from view suddenly: Ralph deployed our canopy. With a jolt our ~120 mph free-fall settled down into a quiet, serene, scenic event.
Hanging
For the next few minutes, Ralph and I were just hanging out up there, still thousands of feet above the ground. Conversation was not only possible but pleasant: there was no need to shout. I barely needed a “playground voice.” The first order of business is that I got to take off my face mask — it was a bit on the tight side, so that was a nice thing. Of course, my face mask was the last thing on my mind during the free-fall. I hadn’t even noticed it until Ralph said something. Then Ralph loosened the chest strap on my harness slightly to give me more breathing room. No, I couldn’t have fallen out — it was designed to let you do this sort of thing during the fall. Then it was just a gorgeous view, no noticeable breeze and some conversation. Ralph said, “This is the view from my office.” He gets paid to latch himself onto first-timers like myself and experience this. He’s a smart man (Though it isn’t the life for me, it’s still obviously a very nice choice of job).
Hanging there reminded me of the feeling of my dad holding little-me aloft to look over a railing at something. Of course when Dad was holding me up I was always just a few feet off the ground, never suspended over nothing, but the feelings were similar. Someone or something magic is holding you up and you get to look out over the world.
At these altitudes I couldn’t see Jacksonville or Orlando anymore, but the ocean still seemed only a good throw away.
Ralph manipulated the canopy handles and turned us to look across at James and Art. I waved at James, he waved back. Then Art gave a tug to one of their handles and they slewed away in a rapid spiral. Ralph said something like, “What do you think of that?” to which I replied, “It looks like fun!” That was all Ralph needed and whoaaaa that gentle drifting became free-fall again as we went into a tight spiral, swinging sort-of back around until James and Art were again in sight. They were below us so Ralph gave the other handle a tug and whoooaaaaa! we slid and spun the other way. Really, these maneuvers were more apt to make me queasy than the initial free-fall. Perhaps I was just more prepared mentally for the first, but it was somewhat eerie to feel us stall off to the left and then off to the right, the canopy suddenly letting us accelerate again. As was only proper, this put us again below James and Art since we jumped first. It also served to put us into position right above the runways and the Drop Zone for Palatka Municipal Airport.
While we hung there, floating downward, Ralph gave me some more instruction: how to land. When we came down, he said, we would come down one of two ways: Either we would stand up or we would slide in on Ralph’s rear (I knew this part already, as you might have caught from above). In the first scenario he would tell me “Stand!” and I’d need to extend my legs forward and touch the ground with the ball of my foot first - not the heel. Then we’d just stand up and that would be that. In the second we would just maneuver for a landing, he’d say “Sit!” and I’d raise my legs way into the air, feet as close to horizontal as I could manage and he’d take care of the rest. Sounds easy enough. The people on the grass of the drop zone were distinguishable now and I used the last minute of air time to look around one last time and cement my earlier experiences in my memory.
Landing
The ground didn’t seem to come up all that fast, Ralph managed the flaring of the canopy with great skill. We had very little downward motion when we sailed — and I do mean sailed — in for our short skid of a landing. I worried briefly when it looked like we might mow over one of the crew people rushing toward us but in reality once we touched ground we moved less than two feet before coming to a complete stop. Then we got unbuckled and up we stood. I said a few more words to my videographer and Ralph told me, “That was a great jump. You did an excellent job!” *grin*
Afterward
All of the predictable things happened once we were on the ground, e.g. we removed our harnesses, removed our jumpsuits and collected our belongings. Then we collected our compiled miniDV videocassette of both videographers’ tapes, a roll of Advantix film with still photos of James, our address to which the other photographs will be sent and a certificate for each of us which reads:
Skydive Palatka
100% Pure Adrenaline!
The instructors and Staff of Skydive Palatka proudly congratulate
Pug
Who on this day leapt from an aircraft in flight.
This skydiver reached a terminal velocity of 120 mph in a free-fall adventure
Miles above the Earth, then safely parachuted to a gentle landing.
Then it goes on with the signatures of my instructor and videographer. Cute.
Finally, all things there settled James and I returned to my car and I made my inevitable phone call home:
“Mom? It’s me! I just wanted to let you know that I’m doing fine. In fact, I’m doing better than fine, I’m wonderful! Oh, well, I’m calling because I just jumped out of an aeroplane at 13,500 feet. Yes, James and I went skydiving! It was AWESOME! … be sure when you tell Dad that you prefix the news with me doing just fine. Love you Mom!”
We drove back to Gainesville with a brief stop in Stark, FL (uhh, I missed highway 26 and we took 301 instead). James wasn’t interested in food for another hour or more after the jump but by the time we got back we were ready to pick up E. and meet her friend Scott (the guy on the right dressed as a ranger) and hit El Toro for lunch. I had the munchies!
Monday morning I’m going to take our tape to Norman and watch though it with James. Then sometime next week I’ll do the editing and get a video on-line as proof that this was no April Fools joke.
WOOOO!!!
12 commentsGone Skydiving
My roommate and I have an appointment this morning at Skydive Palatka to fling ourselves joyously from an aeroplane. We’ve been intending for three years to go skydiving before graduating and we’re making it happen this morning. As is only fitting for those who aren’t presently trying for certification we’re both doing tandem jumps with an experienced instructor, so technically we don’t have to do anything but enjoy the view from 10,000 feet (and lower). We also get to smile for the camera as we’re paying a videographer to jump with us. I’m going to edit the video early next week and I’ll get it online for all of you to enjoy. James and I have already picked out the background music which includes tracks by Naoki Kodaka.
In other news, I got a PlayStation Portable last night. Its web browser is remarkably good, pod-cast-playing ability is unexpected and acceptable and Lumines is, well, trippy-good fun.
I’m excited.
2 comments
