Keith's Blog

Porting Successes

Over the last few days, I've made great strides with my porting efforts. My program now works on Linux, Solaris 8, HP-UX, and it compiles and run on DEC/OSF.

It's a client-server application, and so far these scenarios work:
Solaris <-> HP-UX
Solaris -> Linux
HP-UX -> Linux
Linux <-> Linux

Still having those AIX link problems. Anyone ever seen this error?
g++: `-b' must come at the start of the command line


Raise!

I checked my paycheck, and discovered that the raise I was promised has been approved! My paycheck is now 3% larger, which amounts to about $100 extra in my pocket each month. Not a large raise, but still a nice thing to have. If I add the little stepping raise I got when I moved to Quest about 7 months ago, it adds up to about 7.2%.

It also means that $30 extra is going into my 401(k) every month. This is a really good thing because not having any offspring nor real estate, I pay taxes like you wouldn't believe. In fact, my 401(k) is pretty much my only tax shelter.


Porting Pains

Yesterday and today, I've been porting my application to various UNIX platforms. I develop on Red Hat Linux Enterprise 4, on an dual amd64 machine. Everything works great on Linux. I also do some development on a Solaris 8/sparc machine, and pretty much everything works there as well. However, the entire produce supports other UNIX variants. Here's where I am with these.

Linux: 2.6/2.4 kernel - builds, links, works, yay!
Solaris: 2.8/sparc - builds, links, works, (slow)
HP-UX: 11.00, builds, links, (problems with named-pipes being implemented differently, plus some extra defines needed for POSIX compliance (socklen_t comes to mind)
AIX: 5.1, builds, doesn't link due to some goofy "-b" options that g++ really doesn't care for
OSF/TRU64: 5.1, build, links, but just you try and run, you'll see that libstdc++ is bad

Makefile conditionals, system dependant #ifdefs, differing library dependancies, it all just makes you want to cry. My question is, why doesn't everyone just use Linux?

A totally unrelated note: I just installed Ubuntu on my laptop, and it's pretty cool. Although I'll have to get used to a debian based distro vs a Redhat.


Big Rock pictures posted!

http://www.keith-roberts.com/gallery2/v/BigRock/


Climbing at Big Rock

This Saturday I climbed with Carrie, Sri, and Eugene at a large slabby sport climbing area near Riverside called Big Rock. It has many sport climbs fro 5.5 all the way up to 11s. However, the climbs are harder than the grades indicate. Their holds are micro, and the feet are nothing by slight bulges that require careful smearing.

I lead the climbs to set up a top rope, and, true to Big Rock style, the leads were a bit sketchy. Imagine a 90 foot tall climb, with only 5 bolts! That means 10 to 20 foot spaces between protection points. A fall could potentially be as much as 40 feet! Fortunately, the only fall of the day was about 6 feet.

The scariest part was when I was leading this 5.9. I pulled over a roof, shimmied up to a bolt,
and took stock of the situation. I couldn't see the next bolt! I began to climb anyway, hoping I would see it. After about 15 feet, I got discouraged as there was still no bolt. Someone on a climb to the side informed me that there were anchors up higher. I (fooloshly) chose to continue on about 10 feet more. I finally found three bolts at the top. But then we discovered that the rope wouldn't reach! I saw some anchors off to the left, and those were my only choice. I put one clip into the three bolts, and traversed 20 feet over. I set up those anchors, and then traversed back to retrieve my clip. Again I traversed back to be lowered, only to discover the rope was caught! I traversed back to free it, and then forth to my anchors. I finally began to lower. While lowering, I had to remove the clips, and the pendulum swing was ridiculous. After I finally reached the ground, it had been nearly 30 minutes up there!

The really frightening part was, that if I had fallen before I reached those bolts, the fall could have been as much as 50 feet. I would have broken legs and or ankles, and ruined the rope, scary. It gives me the chills just ot think about it.

All in all though, it was a great time. Eugene and Sri did a lead climb, and Tala socialized with the local climbing community.


Supreme Earliness

Today I woke up at 6:30, thanks to the ringing buzzing of an alarm clock. I did this so that I could leave at 4ish to be somewhere important. It's kind of strange being at my desk so early, when noone else is around. The place is empty, quiet, and spooky. I normally wouldn't even be awak until 8:30, and wouldn't be at work blogging until 10!


Climbing and Lunch

Last night I climbed in the gym with Carrie and Andrew's coworker Brandon. We did some wall climbing, with Brandon doing some impressive 10as. Carrie lead an overhung 5.8 in the cave without fear or hesitation. I lead an 11a in the cave with much fear and hesitation, but I was successfuly regardless.

We ended up staying so late, that I missed a phone call from my parents, who were going to stop by. I guess I owe my mom another lunch.


Ping Pong


During work today I participated in a delightful little diversion. On the fourth floor there lies a ping pong table. Two coworkers and I ascended to this level and played several rip-roaring games of 21 point ping pong. Throughout this excersize, I came to the conclusion that
  1. A better paddle (smooth side vs bumpy) really is better
  2. There are many techniques and strategies to employ
  3. I really suck
But it was fun nonetheless!


Joshua Tree

Climbing at Jtree isn't exactly a sport climbers dream. Wandering around Indian Cove, there are probably 30 different areas to climb. Unfortunately, very few are bolted, and even of those that are, they don't have anchors at the top. Almost everyone who was there climbing had some sort of traditional gear. Jtree rock is full of cracks, which are perfect for trad gear, and thus the only bolts tend to be where trad gear wouldn't be safe.

There's this one mound that you can get to the top of from the back called "Morbid Mound". Using all the webbing available we built anchors by wrapping them around boulders. One of them was pretty good, the other was a little sketchy.

On another wall called "The Short Wall", we tried to set up a top rope, but I didn't have enough webbing. However, we did discover a rattlesnake hiding in a key anchor crack.


And whilst hiking in the desert, we came across a cactus that had some very impressive red blooms.


Bug solved!

Today, while working at home, I solved the bug that had me perplexed yesterday. I had the idea that perhaps it had something to do with the fact that it worked with Oracle 10g to 10g, but with Oracle 9i to 10g, it would hang. I made the hypothesis that perhaps 10g's import doesn't know when 9i's export file is complete. To test this hypothesis, I closed the named-pipe connected to the import process once all the data had transfered.

I compiled, set up the test, ran it, and voila! The import process completed, status was returned, and everything went swell.


Helmets, and bugs

I rented two Black Diamond helmets today from REI. Only about $12 each for three days. Better than the $75 to $90 to buy them. I could have saved $3 each by getting them tomorrow, but I had this strange fear that they might be rented sometime between tonight and tomorrow. And if I didn't get helmets, I wouldn't be able to spelunk on Saturday and Sunday.

In other news, when testing my software between a Linux/amd64 box to a Solaris 8/sparc machine, I discovered a bug. Everything works great, data transfers perfectly, until the very end. After all the data transfers, an external process stops writing to it's log file, and my process waits forever for it. Hmm, it's odd because everything works great when I go from Linux to Linux. Then again, it might have something to do with going from Oracle 9i to 10g.


Training

I've been in training on Oracle RAC (real application cluster) today and yesterday. Tomorrow is Oracle 10g new features. The trainer is supposedly some famous Oracle expert. Contrary to what you might think, this class isn't actually all that interesting. I was hoping for an introduction to RAC and some practical experience using it. What I'm getting is everything a DBA would ever want to know how to configure/manage a RAC environment. Everything from clustering file systems to custom SQL scripts to extract RAC node performace statistics.

Fortunately, I have a laptop and a wireless connection, so the time isn't wasted.


Makefile

Today I finally conquered my makefile problems. Over the last week, I had been trying to get my makefile to not only compile all my source into object files in a separate directory, but to also support my source files being in subdirectories. This is a challenge because makefiles are extremely cryptic and somewhat inflexible. I kept running into the problem where if my source list contained this

SRC = dir/source.cpp

The compile rule would inevitably want to make

output/dir/source.o which isn't what I wanted, I wanted it to make output/source.o

I finally got it to work today by using the VPATH macro, and using cd to change the link directory to the output directory. Now my source tree is nice and orderly with subdirectories. Yay!


Lead Climbing

Today I went to the climbing gym and spent an hour lead climbing! I met Sri there, and we decided to spend the evening climbing in the cave. At first I was a little concerned since he's somewhat new to belaying lead climbs. But I soon realized that he's actually quite good at it, and I had no fear leading an overhung 10c. We both lead several fun climbs. It's been so long since I have climbed in the cave, that I had forgotten how much fun it can be. Plus, at Rockreation, all the hard climbs are in the cave, so I had some challenge.


Point Dume

Yesterday, a large group of friends and I went climbing a Point Dume in Malibu. Normally, Carrie invites a few people, and I invite a few people, and 1 or 2 show up. This time, almost everyone showed up! And they brought friends!

The attendee list was, Myself, Carrie, Sri, Liz, Rob, Rob's friend Alexa, and Sri's friend (I wouldn't be able to spell his name). When we first got to the crag, it was a bit crowded, so I set up a top rope around the back on the ocean side of the cliff. The only climb available was a pretty tough 10c. I had to take a rest due to a general pumped feeling, but Rob managed to do the whole climb without a rest, pretty impressive.

We swapped places with another group, and got on the main wall. Everyone managed to finish this one, and everyone seemed to like the style (slabby with small ledges). After that, Alexa wanted to try a lead, so I lead the 5.6 first to check it out, and then she lead it as her first outdoor lead.

We also had some interesting wildlife sightings: Dolphins, a humpback whale that was only 40 or so feet off shore. He stuck his nose way up in the air at one point, much to our delight. We also had an enterprising squirrel who tore into our little camp, stole a granola bar, and whisked away with it. He managed to get through the packaging before another climber rescued the bar. A very brave squirrel!


All in all, it was a great trip, although in the future, a second rope will be a must, 7 people on 1 rope is not sufficient. Below are some pictures, for more, go to http://www.keith-roberts.com/gallery2/v/PointDume/









Ojai

Today I took a day trip up to Ojai. We stopped at a cozy little diner in Oak View for lunch. I had a tuna melt that was quite tasty. We drove around some of the neighborhoods, soaked up some local culture in downtown Ojai, and marveled at the mountainous surroundings. All in all, it's a place I wouldn't mind living.


Talent Show

Tonight I attended the ECHS Talent Show. The show consisted of singing, poetry, rap, comedy, gospel choir, and a latin dance show. The performances were actually quite impressive. Espescially the dancers. Although I was reminded that I wasn't in the OC when during intermission, an altercation between a student and a parent occured.

All in all, a great show, and I got to sit with the teachers, and be called "Mr. Roberts".


10000 Lines

Today I finally got my project at work to follow a complete line of functionality from beginning to end. It involves named-pipes, threads, TCP sockets, forking, executing other processes, and oracle queries. When I finally got it to work, I did a quick wc -l, and discovered that I have written 10K lines of C++ in the last 3-4 weeks!


Honda Civics

Today I went to get my car the 105K mile service. It cost $129.95. It included a clean air filter, oil changed, fluids and tire pressure checks, and strangely enough, a tightening of the emergency brake. It now takes considerable effort to pull it. The truly amazing thing though, is that both my front and rear brakes still have tens of thousands of miles left on them, and they're both at least 45K miles in, and I believe the rear have never been replaced! This is pretty miraculous since brake pads usually last between 25 and 35

Unfortunately, I need to take my car back in soon to get the timing belt replaced, for a whopping $550!

While at the dealership, Andrew decided to test drive one of these. A brand new 2006 Honda Civic.
He was very impressed with the added power, new features, and it's stopping ability. Apparently the new Civic is best in class with a 60 to 0 in just 104 feet! It was so impressive, I caught myself thinking about getting one. Fortunately, my miracle car will be with me for some time yet.


Pets

I sent two pictures to pets.ocregister.com
Those are some cute pets.


Settlers: Update

Last night, myself, Carrie, Sri, Andrew, and Erin all met for some rip-roaring games of Settlers. At first, there were confused looks and apprehension, but as the first game unfolded, both newbies caught up quickly and were playing like they knew what they were doing by the end. Thanks to an eleventh hour sheep swap from Carrie to Erin, a victory was snatched from Andrew. As often happens in these games, a beginner beats out the seasoned pros.

Sri had to take off, so we played one more game, 4 player style. We all put on a good offense, but Andrew managed to grab the win this time. Although I never win at Settlers, it's still a great way to spend an evening.

Sheep for Wood?