That’s a strange place for a horn…

Why do I always end up playing with linkers?

This week is apparently the attack of the satanic linkers week. In both LAM 7.1 and the ISI logger project, I’m fighting with linkers to make them bend to my will. Which is probably my first mistake – I should just give up and let them bend me to their will. But I’m stubborn and believe that I’m smarter than your average piece of code, so on we fight.

On the LAM front, I’m trying to figure out why I can’t seem to intercept calls to deallocate_pages in the OS X libc memory management code. deallocate_pages is a call that should happen right before the call to vm_deallocatepages, which is the OS X equiv to sbrk() with a negative number for the second argument. Why do we need to do this, you might ask? Well, using networks like IB or Myrinet requires pinning pages in memory so that they are not moved around while a DMA transfer is going on. Pinning pages is really expensive, so you don’t unpin unless you really need to. So the bottom line is that you need to know when memory has been free()ed by the system, so that you don’t return memory to the system while it is still pinned. On most Unix systems, you just use ptmalloc and intercept all the calls to malloc(), free(), and friends. On OSX , it is a bit more complicated, since there is this crazy two-level namespace thing going on. So instead, we try to hook into the lowest level of things. Still not sure if this is going to work – need to spend some more time on the issue….

On the Logger front, it’s much simpler. We seem to be encoding the wrong path in an rpath somewhere, so we aren’t finding shared libraries at runtime in certain circumstances. Obviously, this isn’t a good thing, but is probably just a shell scripting error or something similar, rather than a major misunderstanding as to how the platform’s linker actually works. So all is probably going to be ok on this front in the next couple of days. At least, I hope so.

San Fran is a weird place

Went up to the bay area this weekend for the Bay to Breakers 12K race. Very entertaining race. For starters, there was a definite lack of port-a-potties in the starting area, yet there were many along the way. Follow that up with a group of guys who carried a fully operational bar (including the bartender and multiple kegs) the entire 12K and you kind of get the picture. Wandered around San Fran on Saturday with Rachel, which was entertaining – we only got lost 3 or 4 times… Which isn’t too bad, all things considered. Drove back Monday, which was more eventful than usual. A rock decided to cause significant damage to my windshield, so that kinda sucks.

Stupid Computers

Something evil has happened today such that I don’t seem to have an account on many of the OSL machines any more. This is probably going to take an afternoon to get worked out… Blah.

Bluetooth is good

I decided it was time to graduate from the one button apple mouse I’ve been using at home to a real mouse. Having a wire connected to the mouse seemed silly, so I bought a Microsoft Bluetooth wireless mouse. It’s so nice not having the mouse cord getting in the way – almost enough to make me think about buying a wireless keyboard. If I had the built-in bluetooth on my laptop, I most definitely would.

Fire bad. Tree pretty.

Not how this was supposed to work at all

It’s official. I’m starting grad school again in early July back in B’ton. God, I hate when that happens.

Running

Statred running again. Got in desperately bad shape. Getting better. Stupid San Diego weeks, ruining routines.

Congrats!

Jeff finally defended. He kicked butt in the talk. And Indiana’s stupid timezones struck again.

English? We don’t need no stinkin’ English

I appologize for the lack of, well, decent writing in today’s entry. I just don’t feel like putting forth the effort to conform to the standards set forth by…. ummmm…. civilization, I suppose. Cope.

That’s the kind of woolly headed liberal thinking that leads to being eaten

Woo for New Toys

My Blitzafe Auxiliary Input Converter arrived today and was promptely installed. For those confused, it is a little box that pretends to be the optional 5 disc changer that can be installed as part of a Civic head unit, providing RCA inputs so that I can hook my iPod up to the stereo while I’m driving around. Thankfully, I managed not to have to remove the entire dash to install the thing. I still have to clean up the installation as there is currently a cable running out the bottom that needs to be turned into a jack. But I need the soldering iron to build the little piece and it is in Indiana. So that part will have to wait for my return to Indiana for a couple of days.

Inspiration strikes again

We had a meeting this morning on the rti/mesh router integration plans. I had spent some time thinking about this over the last month and had a couple of ideas. Well, yesterday I came up with an even better plan of attack that involved some slightly wasteful but probably not performance damaging wrapper functions in non-critical sections of the code base. In particular, we are going to repack interest messages to allow us to leave multi_emulate in the data path. I think this has great promise for giving us the code reuse we are looking for. Everyone at the meeting thought the idea would work, so now I’m off to do the implementation. woo!

Theme Song

I need a theme song. You know, every time I walk into a meeting, a song should play that inspires fear in the hearts of all that are present. It works on TV, why can’t it work for me?

Of course we’re going to try to blow it up…

Version Control is Fun

Worked with Jeff a bit today on moving the LAM CVS trees over to SubVersion. To be honest, Jeff did all the hard stuff. I just suggested a couple minor changes. We pretty much ignored all the problems with third party packages for the old LAM releases. The EOL is so close that it wasn’t worth the effort. I spent some time looking at how to import ROMIO for LAM 10, and it looks like it will all be very much doable, it will just take a bit more effort than before. At least they provide some nice scripts for working with external packages. More to come on the subject, I’m sure.

Live from San Diego

I surviced another tour of duty down in San Diego. I don’t think I’ve ever played as many games of solitaire in a 5 day period before in my life. It was pretty much pointless for me to be there at 5:45 in the morning every day, and I’m not entirely sure why I had to do so. Of course, this week, when I could actually be useful, well, I’ll be at ISI trying to get other things done. Makes sense, right?

I ended up rewriting huge portions of both the build scripts and the logger code base during the week, as an attempt to avoid death by boredom. I think that I’m fairly happy with the changes, other than the fact that I still haven’t unified quite enough code in the logger base to make me happy – we still have too many different ways of doing options parsing and control and all that. Next week, I’m going to try to finish the last of the options parsing fixes – everything should use the GNU libc argp library (there is a standalone package under the LGPL, thankfully). Maybe I’ll be able to unify the logger_options and loggerEnv libraries before the week is out.


Gallery Review

Ok, So I’ve decided that I like Gallery. It does just about everything I could want, all really nicely. It’s nice to be able to change things from the web, rather than hacking on the little configuration files that were everywhere in MiG. Don’t get me wrong, I really liked MiG for what it did. I just want something more. One feature that I would like (that will be in Gallery 2) is the ability to have real thumbnails for movies. The little movie icon is a bit too cheesy for me. But it’s still better than the movie hacks I had in MiG.

And the iPhoto integration is just slick enough to be useful. It could be much more useful, and definitely could do with some more error reporting, but all in all I was very impressed with the whole thing.

Still working on integrating into the entire look and feel of my web site. I have some ideas on how to do this, and a little test showed that it is going to be possible. I just have to finish the article for ClusterWorld first. Damn priorities.

Be a beacon

Photos

Started playing with Gallery as a replacement for MiG as the picture viewing thing of choice on my web page. Still not exactly sure how much I like it, but it looks like it has promise. Still have to hack on it a little bit to make it work with the rest of my web page layout, but that should be solveable soon. The nice thing is that it has very clean paths using mod_rewrite, something that I could never really get working with MiG. Even better, though, is that it has a plugin with iPhoto so that I can update my web page from iPhoto. Or I can just have a tarball to upload or about a million other ways that don’t require the hand stepping that the MiG process did. Anyway, it looks very promising. Should finish making the switch shortly.

Failling Apart

Mesh router meeting did not go so well today. We seem to be having some data movement issues that need to be resolved. Couldn’t even connect two sims and a primary. More coming tomorrow.

Why do I want to go back to Indiana again?

It’s currently 74 degrees outside, with lots and lots of sun. I’m working from my apartment, from which I can see the channel to the marina. And Buffet is playing. If I had a margarita (and wasn’t trying to figure out how the RTI-s packetization works) life would be perfect.

He was remarkably healthy for a dead guy

Happy New Years!

Yes, it is now 2004. We will all be incorrectly dating our checks for the next month or so. Hopefully, everyone had a good new year celebration. I hung out with some ND folk in ND for a couple of days. Mad fun was had, although we failed at getting Perk arrested.

CodeTek Virtual Desktop 3.0

CodeTek finally fixed a bug with X11 that has been making the 3.0 betas unusable for me (turned out to be something with remote connections – I have them turned off for security reasons). It’s nice to have virtual desktops that work correctly with X11. One other feature they added that is cool is the ability to have focus without bringing a window to the front. This definitely wasn’t a feature that I missed much when I switched from Linux, but it is nice to have. They seem to have switched to a metalic interface – I’m not sure I like it quite as much, but I suppose it fits better with Panther. My review: Worth the $15.00 upgrade cost.

Unison

Started playing with the Unison file synchronization application. Initially, I’m only going to keep my MP3 collection in sync with it (I keep copies on my laptop and my desktop at work). I may eventually keep some other things in sync that way, although most other stuff that is distributed across all my accounts/platforms is best kept in CVS (so that I have versioning).

Stupid Rich

I woke up this morning with some kind of illness. I blame Rich, for no good reason. I don’t think it is anything too horrible, but we’ll see how it goes tomorrow morning. I really hope this is over by Tuesday – flying sick sucks.

Yet another reason Apple rocks

With Panther, the volume keys on a Sun Microsystems Type 6 USB keyboard do the “right thing”. Now if only stop-a dumped you out to OF :). Anyone know how to get the cut/copy/paste keys to work? That would truly kick ass…