Phil Windley just mentioned his warflying experience again. That got me thinking. I wonder what I'd find flying a glider over the southern parts of Silicon Valley.
Maybe I'll give it a shot this summer after I get my license. I have all the necessary equipment. I'd just need to convince one of my geek friends to ride in the back seat with the right toys. And I have one in mind.
Hm, I wonder how much of a difference (if at all) it'd make if we flew a metal glider vs. fiberglass.
The other real obstacle would be altitude. In a glider, you don't want to be 1,000 feet over the local population. You want to be several thousand feet above and know that there's either good lift or an airport well within glide distance. So you'd have to hope for the most powerful access points, I guess.
Now if I could convince a towplane pilot to try it, that'd be a different story. I could run the toys while he flew. Or maybe I just need to convince my friend John to get his power license already. I'm pretty sure he's almost there.
Wow, if we caught a thermal over a strong access point, we could blog it from the air! And if we had a sub-notebook with a built-in webcam....
Hmm... What's that saying about idle minds and the devil?
Oh, I almost titled this Warsoaring, but Wargliding has a better ring to it, don't ya think. :-)
I recently stumbled upon a list of reported soaring accidents for 2002 on the Soaring Safety Foundation web site. It's good reading to find out what sort of mistakes are getting soaring pilots (and their gliders) injured and occasionally killed.
While this is serious stuff, I couldn't help but to laugh a little when I read:
A deputy from the Peoria Police Department interviewed the pilot. The pilot stated that he was inbound for landing. When he turned onto final he was blinded by sun glare. He stated that the glider struck a person on a bike that was on the runway.
About an accident in Arizona early in 2002. Funny how the report doesn't say what the hell a bicycle was doing on the runway.
Brian, a glider pilot who flies out of Hollister sometimes, recently posted some pictures from his recent soaring experience in New Zealand. He flew around in and around Omarama and it sounds like he had a blast.
I hope to do something similar in a couple years. I'll need to build up quite a bit of flying time before it's realistic, but I might as well have a goal in mind.
Someone just asked how I log my web traffic into MySQL. The timing couldn't be better, because the article I wrote for Linux Magazine is now on-line so I don't need to explain it again: Getting a Handle on Traffic
For the impatient, go get mod_log_sql and have fun.:-)
Update: Cool. It seems that RootPrompt picked it up too.
I wish I could convert the Linux box that sits in my old bedroom in Ohio into a "workstation" for my parents. Right now they share my Dad's Gateway notebook from work. It runs Windows 98. It came with Windows 2000 but my Dad installed Windows 98 over it. And he hates Windows.
So when I read this story of jwz's Mom always misplacing her documents, I thought of my Mom. She doesn't know how computers work and doesn't care. Like most of the computer using world, she does e-mail (Eudora) and occasionally uses a browser or an Office application. That's it.
I'm sure that jwz's mother has more computer smarts than mine. And the funny thing is that most mothers aren't terribly adept at using computers. Why? Not because computers need to be difficult, but nobody designs software for them. Why is the way we save documents different than the way we locate them later? It makes little sense.
This got me thinking about that old Linux box again. Why can't I at least get my Dad off Windows and make him happy? He'd be lost. Most of the Open Source software is no better than, say Windows, and worse yet it's never been subjected to a usability study.
Usability studies are rare in the Open Source world. But they needn't be. Instead of simply cloning the difficult interfaces that commercial organizations have been producing, Open Source developers have a chance to create something that's actually easy to use and powerful.
If you're involved with an Open Source project that produces a GUI app that's supposed to be used by "normal people," try putting some normal people in front of it. Get your Mom to try it out. Don't explain how it works (that's cheating). Just ask her to perform basic tasks with it--just like normal people in the real world do.
It's that easy. Don't stop until you parents and their friends can use it effortlessly. You'll have a killer application on your hands. Don't believe me? Try reading any of Jakob Nielsen's books or articles. He's proved time and again the the vast majority of user interface problems are uncovered with just a few brief tests. You don't need to pay thousands of dollars to usability consultants to get almost all the way there.
Some people think that usability is very costly and complex and that user tests should be reserved for the rare web design project with a huge budget and a lavish time schedule. Not true. Elaborate usability tests are a waste of resources. The best results come from testing no more than 5 users and running as many small tests as you can afford.
I wish I knew why so few people in the Open Source world seem to care.
Of course, the most common response to suggestions like this is that by making it easy for Mom to use, you're somehow dumbing down the software. People need to get smarter in order to use these complex machines. I really don't understand where anyone got the idea that easy to use things are for dumb people. My Mom isn't dumb. She just doesn't care about the difference between the "desktop" and the "explorer." Why should she. All she wants to do is send me e-mail to let me know that Dad has finally started to clean the basement.
My biggest fear is that the Open Source Ego Problem will suck up more time and effort than trying to build good, stable, fast, usable software that's better than what we have today--not simply a free clone (for whatever version of "free" you happen to like most).
It seems that Scott is surprised by the number of unique user agents his server sees. So I decided to check mine:
mysql> select count(distinct(agent)) from access_jeremy_zawodny_com; +------------------------+ | count(distinct(agent)) | +------------------------+ | 15366 | +------------------------+ 1 row in set (30.01 sec)
Impressive. Roughly three times as many. I wonder which are most popular? Maybe the top 20?
mysql> select agent, count(*) as cnt from access_jeremy_zawodny_com -> group by agent order by cnt desc limit 20; ... Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705) Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Googlebot/2.1 (+http://www.googlebot.com/bot.html) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705) Radio UserLand/8.0.8 (WinNT) Mozilla/5.0 (Slurp/cat; firstname.lastname@example.org; http://www.inktomi.com/slurp.html) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461) Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) NetNewsWire Lite/1.0.2 (Mac OS X) Mozilla/3.0 (compatible) Mozilla/3.01 (compatible;) Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90) Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; T312461)
Image if I ran that on the logs at Yahoo. Hmm. Maybe I should, just for a day. (No, not all the logs. Just a few servers.)
BTW, I love logging apache traffic directly into MySQL. It means I can do all sorts of cool stuff.
If you ask me (you didn't), both Scott and John are letting them off the hook too easily. I want my e-mail newsletters to be available as RSS feeds. I already have too many daily and weekly newsletters cluttering my inbox. And since I don't use a GUI mail client, I have to paste the URLs to things I want to visit.
I've slowly been migrating to RSS feeds when they're available. Geek sites like Slashdot, Freshmeat, and use Perl have them. But many others do not yet.
The fine folks at lnx-bbc.org need your help in tested version 2.0 of the Linux Bootable Business Card.
The LNX-BBC is a mini Linux-distribution, small enough to fit on a CD-ROM that has been cut, pressed, or molded to the size and shape of a business card. LNX-BBCs can be used to rescue ailing machines, perform intrusion post-mortems, act as a temporary workstation, install Debian, and perform many other tasks that we haven't yet imagined.
If you've never used one, give it a try. The BBC is incredibly useful to have around--a real life-saver at times.
Aaron Schwartz explains why I run an open access point in my apartment. All my systems are secure, so if someone wants to leach a bit of cable bandwidth off me, I'm fine with that.
Sadly, people keep talking about how wireless networks are "insecure" and "open to attack" and how we should secure them, to keep people out. In fact, we should do just the opposite: we should secure them to let people in.
This is a test post from the NetNewsWire Pro Beta. Let's see if it works right.
I've been taking digital pictures for roughly five years now. Over that time I've taken a few thousand. They're poorly organized but at least they're on-line.
Every once in a while, someone asks me what software I used to create my on-line photo gallery, and I laugh to myself. Why? Because it's two little Perl scripts that have evolved a bit over the last few years. But they're still really, really basic and just barely do what I need.
I'm posting them here in the hopes that someone else finds them useful. As unlikely as that is, at least I can point others to this page when then ask me what I use. :-)
WARNING: This is hackerware. If you're not comfortable figuring out how the code works and adjusting to meet your needs, please move along. These are not the droids you're looking for. There are bugs, stupid limitations and assumptions built-in. And it's not my best coding work.
But if Dan can make it work, it can't be that bad, right?
pic-conv2.pl is run while you're in a directory full of JPEG files (*.jpg). For each image, it calls the convert program from ImageMagick to produce small and medium sized images. So you'll end up with a foo-sm.jpg and foo-md.jpg.
pmi2.pl is the real workhorse. Run it after you've run pic-conv2.pl and after you've put a title.txt and description.txt file in the directory. It builds out the pages with header, footer, and navigation.
Use these at your own risk. Or not at all.
One of these days I'm gonna completely revamp how all this stuff works. Or I'll just use someone else's code. Who knows.
A rather large box arrived for me at work today. It was from my parents in Ohio. They apparently decided to send me all of the food I would have normally eaten (but really shouldn't) if I had gone back to Ohio for the holiday.
I'm not sure what's more evil, me dscribing it to a bunch of people who can't eat it, or them sending it in the first place.
Well, the next time I drive to work it'll be 2003, so that means I'll no longer have the nice parking spot that I won in last year's charity auction. Doh!
I bid again this year but gave up when the price when over $500. It's for a good cause and all, but that was more than I wanted to part with. I guess I got a better price than I thought last year--only $305! Something tells me that I'll never be so lukcy again.
(In case you're wondering, I do have California plates on my car now. It's just that I took that picture back in the Spring before I was properly "motivated" to register my vehicle. Long story.)
There's been some discussion recently about weblogs at Yahoo. It's not the first time, but it came up again. My co-worker Michael Radwin (
who hasn't enabled TrackBack so that I can link this entry to his) posted his views recently.
I can't say if Yahoo has any plans to do it or not, since I don't speak for my employer, but I have to agree. Weblogs on Yahoo could be a very "sticky" service and Yahoo is fond of sticky services.
Even so, a blog service would be a win for Yahoo! in the long run. Feeling some compulsion to keep your blog up-to-date is sorta like email -- it's very "sticky". That means increased customer loyalty, which is always a good thing in the business world (even if it costs you some money).
Unlike the traditional Yahoo approach (build something that's a lot like our other services and technology), however, I have a very specific plan in mind should anyone decide it's something we want to do. It would get things on-line quickly with good tools and work like bloggers expect. And I have interesting ideas about how to integrate weblogging with some of our other large properties. Whether anyone will ask me or listen my ideas is a whole different question. :-)
(Yes, I've already offered.)
See also: AOL to Offer Weblogs?
Anytime I order a package from Amazon that I don't need in a hurry, it is shipped from Reno, Nevada and arrives within 2 days. Sometimes it's here the next day if I order early enough.
Anytime I order something I'd like soon (like my iPod), it'll ship from Illinois and take a week or more to get here.
This leads to my biggest beef in the world of on-line shopping: Insufficient shipping details at purchase time.
When I'm making the choice between UPS Ground and FedEx overnight, I'm shooting in the dark unless I know where it's shipping from. It if comes from Reno, I don't care. Give me the cheap rate. But if it's coming from across the country, I might want to spend the extra bucks.
Too many times, I've paid extra to have a package shipped across the Nevada/California border because I was worried that it'd be coming from Kentucky, Illinois, or worse.
Note to Amazon: Once a customer has decided to make a purchase, let them know where the product is today. I'm sure you inventory management system already knows this. You, of all on-line merchants, should see the value in this.
And don't even get me started on the utter lack of integrated shipping information available on Yahoo Shopping. Yes, I'm a Yahoo employee and I buy most stuff at Amazon. Only if I cannot find it there do I use Y! Shopping. Sadly, my complaints fall on deaf ears. So I vote with my wallet--and not my Y! Wallet.
I happened across Jim O'Halloran's weblog today and briefly confused it with my own. I guess he liked the CSS that I cooked up for MovableType a while back.
So far, I know of two others who started using it and made local modifications: Dan Isaacs (though his body font now sucks) and Michael Radwin. Anyone else? :-)
Update: Dan fixed his CSS. It's now beautiful on the TiBook.
I went to the grocery store today. On an empty stomach.
Now I have more food that I ought to.
I really thought it'd be different this time. I knew what I was doing but still managed to buy too much.
Microsoft is not proposing that computer companies abandon Intel, because its Intel relationship is too important and AMD is too small to be relied upon as a sole supplier. So what is likely to happen (here comes my prediction) is that Intel will be forced by Microsoft to adopt AMD's 32-bit instructions. To do this they will build a processor by the end of 2003 that is a clone of an AMD processor that is a clone of an Intel processor.
Now that'd be an amusing twist, huh?
So I'm reading some official documentation about JDBC and I run across this bit of text (emphasis mine):
The second major advantage is that the DataSource facility allows developers to implement a DataSource class to take advantage of features like connection pooling and distributed transactions. Connection pooling can increase performance dramatically by reusing connections rather than creating a new physical connection each time a connection is requested.
What does "physical" connection mean in this context? Is there really somebody sitting at a very small switchboard inside my server, putting plugs into sockets so that I can communicate and then removing them when the connection is no longer needed?
It's all digital. The word "physical" does not belong at all. It conjures up images of a long ago era when telephone "operators" actually did operate as your local telephone switch.
I believe the point that the author is trying to make is this: creating new database connections may take a non-trivial amount of time which is all "overhead" as far as you're concerned. It's best to minimize or eliminate that. Connection pooling is the traditional solution. (Or you could use an alternative database server that doesn't have the per-connection overhead that the big one does. But that's really a side issue.)
That just bugs me.
I arrived at the Hollister airport a bit early this morning because traffic was so light. After Jim arrived, we talked about what to do today. The plan was to tow to four or five thousand feet in the hopes of finding enough lift to take us higher. There was no wind on the ground, but the lenticular clouds near some of the mountain ridges led us to believe there might be sufficient wave to keep up aloft.
Our glider for the day was six four echo (64E), one of the SGS 2-32 trainers. Our takeoff was uneventful. Well there was a very minor crosswind that took me by surprise, but it wasn't terribly significant. The rotor above 1,000 feet wasn't much to write home about. Around 4,000 feet we found some weak lift and promising looking cloud formations, so we released to try our luck.
We didn't find much. There were some zero sink areas, but no substantial lift. So rather than sit in the same spot not doing anything, we opted for practicing some maneuvers. Jim demonstrated a few side slips and then I got a chance to try them. They were easier to get the hang of than I expected.
After messing around with slips a bit, we didn't have a lot of altitude left, so we made our way toward the pattern entry point and prepared for landing. As I began the landing checklist, Jim noticed that he had forgotten his handheld radio. Glider six four echo only has a front microphone, so it was my day to make all the radio calls. That went well except for the time than I announced us on downwind when we were on crosswind. Oops.
My first pattern and landing were pretty good. The altitude was right on and I was able to land with 1/3 spoilers. We did bounce a bit, but that's because I accidentally jerked back on the stick when we touched down the first time. We quickly came to a stop and setup for the next takeoff.
Our plan for the second flight was to tow higher (roughly 6,500 feet) so that we'd have the necessary altitude to experiment with stalls, full stalls, turning stalls, and forward slips. Before I knew it, we were at altitude and released. This was my best release so far. Smooth, good alignment and speed, etc.
Once off tow, Jim started with a couple demonstrations that he asked me to mimic. We basically did stalls until I suggested that we try something else (because the stalls were starting to get to me). So them we did a bit with slips.
Before long, we were nearing 2,000 feet so we headed back toward the pattern entry point. I hung out there for a while and burned off some altitude circling around. Then Jim asked if I could fly the pattern and land without any help. I told him I'd give it a shot. (My first landing must have impressed him a bit?)
This pattern was a bit more tricky because we had a plane ahead of us that was flying a really long pattern for runway 24. So I called on the radio and declared my intention to land second. Jim suggested I slow down to give him some room. We flew most of the pattern at 60mph rather than the more traditional 70mph.
Part way into our base leg, Jim asked how things looked. I told him we were a bit too close to the runway and turned away to compensate. He pointed out that the crosswind had increased (I hadn't noticed that!) so we turned away a bit more.
Turning onto base, Jim asked how things looked. I had to really think about it. When I finally made up my mind, I decided we were a bit high and pulled the brakes out between 1/2 and 1/3. Once we turned final and got closer to the runway it became apparent that (1) we were no longer too high, (2) I wasn't flying fast enough, (3) I really needed to compensate for the crosswind.
After some adjustments, I managed to land just a bit right of center at roughly the normal spot on runway 24. Given the added wind, it wasn't too bad. And I didn't bounce the second time around. :-)
Once back on the ground we had a chance to discuss more of what I had done. The most important point that Jim made had to do with estimating the proper height and glide slope coming off base and onto final. If he asks how things look and I have to really think about it, odds are that we're on the right slope and I should use roughly 1/3 of the brakes. If we were too high or low, I'd likely notice and not have to think very hard about it at all.
Next week I'm scheduled to fly on Thursday and Friday morning. I figured I'd make use of the decreased activity at work during the holiday time. Thursday we'll probably work on more slips, skids, and possibly introduce spins. And Jim wants to get me to the point that I'm doing the whole landing pattern myself. He'll just be along for the ride. I'm looking forward to that myself.
Oh, I also boxed the wake again and got to perform a couple more steering turns. I don't remember which flight those were part of anymore.
Coming from someone who was doing X programming quite a while ago (and who helped to build Netscape), jwz's rant is not to be taken lightly.
So I gave up on that, and tried to install gstreamer. Get this. Their proposed ``solution'' for distributing binaries on Red Hat systems? They point you at an RPM that installs apt, the Debian package system! Yeah, that's a good idea, I want to struggle with two competing packaging systems on my machine just to install a single app.
A common idiocy that all of these programs have in common is that, in addition to opening a window for the movie, and a window for the control panel, they also spray a constant spatter of curses crud on the terminal they were started from. I imagine at some point, there was some user who said, ``this program is pretty nice, but you know what it's missing? It's missing a lot of pointless chatter about what plugins and fonts have been loaded!''
He's not just ranting. He's dead on about some of the dumb things that Open Source "hackers" expect normal users to put up with. Maybe that helps to explain why Microsoft is making so much money.
Maybe I'm less patient in my old age, but this is partly the reason that I use the TiBook most of the time when I'm at home. Sure, I still SSH into various Linux servers but for my desktop the frustration really isn't worth it for the benefits I get. OS X just feels like the right mix.
I just replaced the 128MB DIMM in my TiBook with a 512MB DIMM for a total of 768MB. It'll be interesting to see how much of a difference it makes. I suspect it'll be easy to notice after I've got a fair amount of stuff running.
Apprently, it's for real now.
Gotta love America.
a major financial news outlet decides to write a story that does little more than summarize comments left on a Yahoo message board.
What ever happened to the old phrase "if you don't have anything good to say, don't say anything at all?" It's not like Yahoo message boards are known as the favorite hangout of intellectual giants with financial insight or anything. Come on! This is just sad.
Several months ago I needed a way to keep my "blogroll" (list of RSS feeds I read, as seen on the side of my blog index page) up to date. Luckily, my news aggregator kept all the information in an OPML file called myChannels.opml. All I needed to do was extract the relveant information, sort it, spit out some HTML that can be included via SSI or PHP, and set it up to run from cron so that I don't have to think about it.
So I spent a few minutes on the problem and hacked out opml2html.pl. It's simple but does the job for me. Simply feed it an OPML file on STDIN and it'll spit back the XHTML code on STDOUT. That means you can run it like this: opml2html.pl < foo.opml > bar.html
A while back someone asked me how it I did this, so I sent the script. A few days ago, fellow Yahoo Michael Radwin asked how I did it. I sent him the script too. It turns out that his aggregator also produces a useful OPML file. He sent back patch today that improved it. That was enough to convince me that it's probably useful enough to share.
If someone is willing to patch your code, odds are good that several others are willing to use it.
I need more days like this. It's so quiet and empty that I can concentrate, think, and actually get stuff done. I went roughly 3 hours before hearing more than my own keyboard this morning. That was when the phone rang--my parents called to chat.
Sadly, in a week or so we'll be back to normal. Then it'll be time for the occasional "work from home" day to catch up stuff.
Today I changed the name of my 802.11 access point to my home address. Why? Cause, I want my neighbors to know who they are getting wireless from.
Heh, good idea. Maybe I should do the same.
I just ran across everyone's favorite orange XML image on the Christian Science Monitor. Upon clicking on it, I came to a page listing all their RSS feeds.
Nice. I subscribed to a few.
I wish the other major news providers were paying attention.
I love driving in the Bay Area over the holidays. Traffic is so light that I can actually get to work in 10 minutes. It's so strange not seeing lines of cars everywhere. I wish we had more holidays like this.
Derek says to the airline industry:
I quit. I'm not playing these games. You will get me on your planes only when my career requires it and when they pay for it. So long as I have to submit to Orwellian procedures and give up basically any human rights I thought I had in order to board your aircraft, you will not see a shiny dime from my wallet.
Yeah, it's pretty stupid at this point. I can't count the number of times I've been search, scanned, or otherwise interrupted by airport "security" people. What the fuck? When's the last time an American smashed a domestic flight into a tall building? I've never even been to the middle east.
Please explain to me why a dozen Saudi citizens have the power to make me a suspect in my own country.
Damn, our government can be so stupid. I truely hope that someone worth electing, someone who wants to change things in a less stupid way will run for office. She'll have my vote.
Well, I suspected this would happen sooner or later.
The funny thing is that I used to work with a guy named James. He was in Yahoo Finance when I was. He got laid off and went to Inktomi. Now I guess he'll be back at Yahoo.
Funny how life works.
One of my cats just woke me up. As far as I can tell, he just wanted to play. At 3:45am. And now I'm awake. So I've been tossing the furry mouse for him.
I suppose it could be worse. He could be crying loudly and demanding a bottle.
But still. At 3:45am?
The strangest part is that he must have interrupted me in some crazy sleep/dream cycle. Cause for a little while, every time I thought about something, it was as if I was seeing it thru thick bubbles that distorted my view in very odd ways. And as I turned my head from side to side (either mentally or physically) the whole picture warped as if these magic bubbles were being stretched and twisted.
What an odd sensation that was.
Well, perhaps I should attempt to get back to sleep.
Well, it's not really day #3. But I've spent a fair amount of time on Friday and over the weekend reading a copy of "The Java Programming Language" to refresh my memory on all this new-fangled Java stuff.
I decided it was time I wrote a stand-alone Java program to do... something. Normally, you'd expect someone to write the standard "Helllo, world." program and build from there. No, not me. That's too easy and likely to work on the first try.
No, for me a good first program is one that connects to MySQL, runs a query, and spits out the results. In this case, the query was to be SHOW DATABASES. As you might guess, that asks MySQL for a list of all the databases it knows about. Think of it as "Hello, MySQL."
So I headed over to the MySQL web site to download Connector/J the official MySQL JDBC driver.
Once it was unpacked and installed, I began working on the code. I had found some example code on-line was close to what I needed, so I adapted it a bit. Once it compiled successfully, I spent a lot of time chasing down a really dumb run-time exception. It seemed that Java could find the driver I had just installed. According to the docs, I could either put a whole directory tree into my CLASSPATH or just use the single JAR file. I opted for the jar file, because it seems cleaner. I'd rather deal with a single file. I'm sure that's a bit of a performance hit, but it's only startup cost and I really don't care about the startup cost. I'll be writing server-side code anyway, so it generally starts once and then runs for a long time.
Anyway, to make a long story short, Sun did something rather stupid. I wasted a good hour because I should have put an explicit reference to the jar file in my $CLASSPATH. It's not sufficient to simply drop the jar file into one of the directories specified in $CLASSPATH.
At this point, I felt like the guy in that one switch parody who, after upgrading to OS X from OS 9, says "What the fuck?!"
Do the morons at Sun (one of the oldest Unix companies!) not realize how Unix path variables normally work? Paths specify directory names, not zip, tar, jar, or any other type of archive files.
Note to Sun: Thanks for breaking 20+ years of tradition so that I could waste an hour scatching my ass on this problem. There's nothing like pulling dumb tricks like this to make the barrier to entry just a little bit higher.
Why can't Java just check all the *.jar files that happen to live in given directory? Is that too damned hard?
Anyway, the good news is that after I fixed that stupid problem (I copied the jar file to $JAVA_HOME/jre/lib/ext instead of endorsing Sun's bad decision), the code worked on the first try. Granted, the code's a bit verbose compared to the Perl equivelant, but it's a nice little class that could be reused in some other simple proof-of-concept code. It all reminds me a bit of learning C++ way back when.
Excellent. My version of "Hello, MySQL." works. That wasn't so hard after all.
Next up, learning a bit more about the JDBC API, connection pooling in Java, and related fun stuff. Oh, I also want to play with Connector/J's failover feature. It sounds like a neat idea that I just might have to implement in DBIx::DWIW for Perl.
In thinking a bit more about what I wrote here, I've realized that I've mostly switched. At home I use OS X as my "desktop" and Linux on the server. At work it's Linux on the "desktop" and FreeBSD on the server (usually). Only two things have been bothering me about the TiBook, and I'm close to having both solved.
The first was memory. I currently have 384MB in the TiBook. It came with 256MB. I just orded a 512MB SODIMM so that I can bring it up to 768MB. Once I've done that, I suspect that it'll be a lot more usable when I've got lots of stuff open.
The second problem was finding an alternative terminal. I've mostly settled on GLTerm because it's really, really fast and contains All The Right Fonts. On the downside, I need to cought up some cash to register it and have to deal with it freaking out every once in a while. I'm also keeping my eye on iTerm. It's a bit young but shows some real promise. It is faster than Terminal.app but isn't even close to GLTerm when it comes to raw speed. Plus, using iTerm means using a sucky font. But that may change someday.
There's a good article at O'Reilly Net that introduces Zeroconf ("Rendezvous" for all you Apple fans), Mutlicast DNS, and talks a bit about Microsoft's push for Universial Plug n Play (UPnP).
From the sound of things, Rendezvous has a chance of becoming the standard. But it's a bit too early to know anything for sure.
So I've been wondering why Google doesn't setup a URL that weblog software can "ping" each time a new entry is posted. I already ping weblogs.com and moveabletype.org each time a new entry is posted. Why not rig up Google to do nearly real-time weblog indexing?
Now, I already know from my own stats that Google crawls my blog daily. Certainly we can improve on that.
Why does this matter? Simple. Virtually all of the traffic coming to my weblog that is not the result of someone else pointing at my weblog is from a Google search. I'd guess that Google generates 80-90% of my non-directly-linked hits. (Yahoo is a distant second place.)
Sure, Dave has suggested that Google use the info available at weblogs.com to do this, but why not eliminate the middle-man entirely? (No offense, Dave.)
Hmm. This gives me an idea for work that's sorta related to another idea I had after a co-worker showed me something that is best described as the opposite of Google Sets. Well, sort of. Lots of fun stuff to hack on there.
The Star Destroyer has to be the coolest lego set ever. And it's big too--3,000 pieces. Kasia pointed me at this the other day and mentioned that someone at work got one. The instruction manual is literally a book. It's roughly 200 pages long.
Oh, how I want one. But I still think I'd rather buy an iPod with that money.
Wow, it would seem that I'm #61 in Technorati's top 100 list. Strangely, I'm one slot above The FuzzyBlog (hi, Scott!).
I'm rather surprised that I'm in the top 100 at all, let alone being ahead of Scott.
Oh, here's my cosmos link. It's interesting to see some of the links there. Lots of stuff that I've missed in looking at my referer data.
There's a good story over at NewsForge about a Linux-based Conference Registration System. It uses LAMP, iOpeners, LTSP, and some custom-built Java code. Very cool.
Over at Infoworld, Russell recounts his predictions for 2002 to see how accurate he was. While he was pretty good for 2002, I'm really interested to hear what he thinks 2003 will bring Tux fans.
This has been bothering me for a long time. Ever since my local Albertson's starting suggesting that I get one of their little tracking cards so that I could still get low prices. What they didn't realize is that I'd just walk across the street--literally, and shop at the local chain rather than big, bad Albertson's.
Well, I was glad to see that Phil Windley felt the same way:
Doing the Thanksgiving shopping at Albertson's, I was once again slightly enraged to find I'd picked up something, thinking it was a great price (in this case a 12 pack of soda for $1.99), only to find out at the check out stand that I only got that price if I used their "value card." The regular price was $4.50. Of course, that's just a way to convince me to let Albertson's add my purchases to their collection of marketing data.
And now there's a long discussion forming on Brent's weblog as well. He mentions nocards.org and says:
Remember, folks, fighting the future begins with your local grocery store.
Note to Albertson's: You lost a customer for life. I liked your store util you told me how little you value my business by asking me to do your dirty work for you..
Phil announces his new computer:
This week, my new 1GHz, 1Gb RAM, Gbe, Powerbook arrived. I've spent a few days moving all my data and work from the XP machine I used. I'm now pretty much completely switched over and the XP box has been relegated to a single purpose: Groupwise for the few remaining emails I'll get from the State. The week after next, I'll return it to the State and bid it good riddance.
I can appreciate that. I haven't booted my XP machine in a few weeks. I just keep using the TiBook at home and my Linux box at work. Maybe I should sell that ThinkPad T23 rather than let it collect dust? It's such a nice machine. I could put Linux on it, but what's the point? If I add a bit of RAM to this TiBook, it'll totally rock.
Normally, I won't post all my flying stuff here (most people who read my blog are into computer geeky stuff, not flying geeky stuff--at least I think so), but I wanted to mention that I had a blast flying this morning before the storm rolled in. We made it up to 14,000 feet and had enough lift to keep right on going. If only our glider had an oxygen system.
What a blast! :-)
The full story is in my flying blog.
As I was driving down to Hollister this morning to go flying, I heard Derek's e-mail feedback read on NPR's Morning Edition.
Note that Derek mentioned it in his blog and Michael Radwin did the same in his blog.
Yesterday evening, I got a call from Drew at the Hollister Glider Club. He was guessing that the weather wouldn't hold out for my scheduled 8:30am lesson and that I should either cancel or at least call Jim (my instructor) in the morning before making the 1 hour trek down to the airport.
I was disappointed but a bit hopeful at the same time. So I called Jim at 7:30 this morning (he lives in Hollister, so he can just look out the window) and asked what he thought. He figured that we'd probably get half a lesson (1 hour) in before the rain hit. At that point I was hesitatnt to drive a 2 hour round trip for 1 hour of flying, but he suggested that we may just want to spend the time on ground instruction. I agreed and headed down.
On the drive down, I noticed more and more clearing in the sky and some interesting cloud patterns. That made me a little hopeful. But I also noticed that it was quite windy out. Depending on the direction of the wind it alone may have kept us grounded.
When I arrived just after 8:30am, Jim commented that the rain didn't seem to be coming quite as fast and that if we got up in the air soon we'd have a good chance of catching some wave. (I had never done any wave soaring--only read about it.)
We quickly got glider six four echo (64E) ready to fly. We kept it tied down as long as possible, because there was a 30mph wind and we didn't want it to flip or otherwise fly away.
I sat in the glider (to keep some weight in it) while Jim and Steve (the tow plane pilot) pulled it out. Jim's wife then arrived and let Steve get the tow plane ready. She and Jim got the glider over to the runway and turned into the wind. It was my job to "fly" the glider on the ground. Because the wind was blowing so hard, that meant keeping the stick forward (to keep the nose down), leveling the wings, and holding the brakes.
At this point I was a little anxious about the flight. I'd never flown in nearly that much wind. By my calculations, the glider would take off with only 10-15mph of ground speed. The takeoff was a little difficult. The glider really wanted to climb fast, so I had to keep the nose a little low and wait for the tow plane to get in the air. Once the tow plane got up, we quickly flew thru some wind gradients which proved to be a challenge for me. I'm not used to the wind changing that much just on takeoff.
Less that a minute into the tow, we began running into rotor (the turbulence that forms under waves) and it tossed us around quite a bit. Jim took control of the glider several times, as I was having some trouble. After watching Jim a few times, I realied that when you're flying in rotor there's little point in worrying about rope slack. You just need to stay behind and level with the tow plane as much as possible.
After we'd climbed a few thousand feet, Jim explained that we'd know when we hit the beginning of the wave because the air would become very calm. That happened right about 5,000 feet. We did a quick check on the vario to find that we were in fact in lift (roughly 400 feet/minute) and he suggested that we release and ride the wave. So I did the release (my best ever) and we began the process of soaring in the wave produced by the pre-frontal air blowing over the mountains and hills to the southeast of Hollister.
For the next hour or so, we stayed in a rather small area as Jim explianed what to look for when working the wave lift. We climbed pretty steaidly at 400 feet/min for several thousand feet. Once we hit roughly 8,000 or 9,000 feet, it dropped off to about 300 and eventually 200 when we got above 12,500 feet. We eventually made it all the way to 14,000 feet and could have gone even higher if our glider had been equipped with an oxygen system. At that point, I put the nose down far enough to keep us right about 14,000 feet (and going at roughly 80-90 miles per hour) and we headed toward Monterey Bay to investigate some clouds in the hopes of finding some differnent lift. We could have just stayed where we were, but I'm supposed to be learning and trying new things.
We didn't find much lift near the clouds, so we headed east toward the foothills east of Hollister where it looked like there might be some more wave to fly in. We got there at roughly 8,500 feet and looked around a bit. The best we could do was sustain somewhere between 100 and 200 feet/minute. The problem in doing that is that we wanted to fly at our minimum sink speed (near 51 mph) but the wind was blowing hard enough that we'd end up flying backwards and getting blown farther and farther into the hills and away from the airport.
So we decided to head back toward the airport. In order make much progess, we had to fly at 90mph or more! So I nosed down a bit more and we flew at roughly 100mph until we got out of the hills. Then I decreased the speed just a bit and headed toward the airport. Along the way we were falling and falling. We eventually hit the rotor again on the way down, but it wasn't too bad. At roughly 2,000 feet I began the landing checklist and attempted to get us in a reasonable landing pattern. I flew the pattern for a bit until Jim took over to fly base and final. The landing was very intersting from the air, but it must have looked really impressive from the ground. With the 30mph headwind, we were almost coming stright down to land. In fact, we probably touched down and stopped in all of 150 feet.
From takeoff to landing was a little under 2 hours. All in all, I had a good time and learned a lot--including how to better dress for the cold temperatures at higher altitudes! For a day that began with crappy weather on the horizon and few hopes of flying, I made out very well. What fun!
I just wanted to briefly plug the MySQL User Conference. It will be held at the Doubletree in San Jose from April 10th - 12th 2003.
I'll be giving a couple talks as will many others. Check out the lineup here. Based on the talks and speakers, I'm really looking forward to it. I personally know many of the folks presenting. It should be a lot of fun and very informative.
The site is currently a bit out of date (it has me down for three talks rather than two), but I'm going to be giving two talks: MySQL Optimization, and Scaling MySQL. The first is a greatly condensed version of my 3 hour tutorial at OSCON this year. The second talk is completely new. It'll be about the various ways you can try to scale MySQL (many users, many connections, tons of data, high query rates), the bottlenecks you run into along the way, and possible solutions for them.
By the way, I should also mention that the MySQL web site recently got a new design that I think works very well. Great work, guys.
Ugh. I have to pack up my cube into boxes today so that the moves can move all my stuff from building B to building A tomorrow. Ugh. I have a lot of stuff to pack. A lot.
There goes productivity for today and tomorrow. But at least I'll get to have my weekly flying lesson tomorrow. Maybe I'll even do a double lesson since I don't have to be back to work. My stuff won't be available (including computers) until Friday morning anyway. Hmm.
So I've been using the TiBook a lot recently. I've found that when I need to type a lot, the keyboard doesn't kill my fingertips as much as some other machines. So now I'm thinking about getting an iPod for my music. The cool thing is that iSync can talk to the iPod as well as my Palm (I'll need a new cable of some sort) and there's even a native Palm Desktop for OS X now.
I just have to convince myself to spend the cash. And I'm quite close to doing so...
Apparently I control 45 domain names. I didn't realize I had quite that many registered. I'd have guessed 25.
No, they're not all for me. Many, like php-con.com are for friends and family. But still. That just feels like a lot. I still remember when NSI wanted to rape you for domain registration. I'm so glad it's a comodity now. :-)
I put VIM on the TiBook so that I can hack on the XML for the book. Thanks to this site, it's working pretty well. It's not terribly hard to find using Google, but hey, I felt like saying "cool, it works."
I spent a fair amount of time today reading about and playing with IBM's Eclipse. My reasons for investigating Eclipse are twofold: (1) I'd like to see if it is compelling enough as an IDE to make me switch from GNU Emacs. (2) I was tasked with learning about plug-ins and what Eclipse was really designed for. We were wondering about using it as the framework on which to build some Java GUI tools.
On the first count, I've found Eclipse to be rather frustrating as an IDE. I have a project that lives in CVS today. I was hoping to point eclipse at this directory and begin working with the files. So far I haven't determined how that can be done. The wizard-like things that attempt to guide me thru the project creation process aren't terribly helpful in this regard.
Furthermore, my interactive response with Eclipse it less than I'd hoped for. On my Pentium 3 866 with 768MB RAM and a Voodoo 3 3000 running Debian Linux, it just feels sluggish. If I type a bit too quickly, it can't quite keep up with me. And some of the UI stuff just takes a bit too long to be pleasing.
Don't get me wrong. Eclipse is an amazing piece of software design. I just don't think it's for me. I should probably spend some time checking out what the Emacs world offers for Java programmers. If it's even half as impressive as the C/C++ tools, I should be just fine.
As to point #2, after reading the white paper, it's pretty clear to me that Eclipse was designed for software development. While it is a relatively generic framework, I'm not sure that it's appropriate for building the sort of tools we envision (data browsers, query interfaces, and management tools). Anyone have counter examples? Stories to the contrary? I'd love to hear/see 'em.
Tomorrow will probably be Avalon day, while Friday and Monday will focus on JDBC and MySQL connectivity.
Matt notes that there's a thriving java.blogs community. I must say, I'm impressed and surprised. Impressed at the amount of good Java stuff in the blog community and surprised by the "Yahoo using Avalon" headline that's currently on the site. Thanks for the linkage, Chris.
I guess I need to make a few new additions to my blogroll...
Well today was my first day in my new job and it was time to get reacquainted with Java. My first task was to get the existing code base working on my Linux workstation (rather than fight the Java on FreeBSD demons). I downloaded the JDK from Sun and installed it. Checked out the appropriate code from CVS. Ran the compilation process. It all compiled. Ran the script to start up the server. It started. On the first try. No tweaking.
So I guess this Java stuff really IS multi-platform, huh?
My next task was to modify the command line interface to the server (you telnet to a funny port and issue commands to it). I added an echo command, so you can telnet in and type echo foo at the prompt. If it works, the server says: foo
Yeah, this is high-tech
Anyway, that was hard that I thought it might be. If memory serves, I created 3 new classes and modified as many configuration files. I'm a little surprised at the amount of code necessary to do something that trivial. I hope it's not a sign of things to come. Maybe Perl has spoiled me a bit too much?
My next task is to learn more about the server framework we're using: Avalon from the Apache project. According to the Avalon site:
The Avalon project is an effort to create, design, develop and maintain a common framework and set of components for applications written using the Java language.
Lots of docs to read. And I need to brush up on my language skills. This whole "everything is an object" mentality is going to take some getting used to again.
Oh, I suspect there's gonna be a lot of Java commentary spewing from me in the near future. I'll create a Java category in my blog for it.
As previously noted my DSL is going away. But there's a silver lining. My soon-to-be new provider, Raw Bandwidth tells me that there's now a remote terminal in my area. That means I get the DSL from it rather than the "local" central office. So instead of having 384kb/sec down, I should be able to get a more respectable 1.5Mb/sec.
As Mr. Burns would say: Excellent.
(Just don't get me started on how Direct TV is screwing their existing DSL customers. That's a story for another day...)
As noted by a co-worker... an interview with AOL's VP of Community Products:
Q: AOL is getting into weblogs?
Weblogs, over the last several years, have migrated to replace, in some cases, people's home pages. It's natural that the blog and the home page would combine. And when you remember that AOL has the largest collection of home pages in the world, it kinda gets interesting.
Hmm. I'm trying to decide if that's good or not. Anyone else remember when AOL first gave their users Usenet access? *sigh*
UPDATE: The url is fixed now.
Today's my first day as part of the search team at Yahoo. As mentioned earlier, I've spent 3 years working on Yahoo Finance.
I can't say a lot about what I'm working on, but from the sound of things I'll be playing with Java, MySQL, and Oracle a fair amount. It should be interesting. I haven't really touched Java since 1996.
Well, the rain is mostly done. Power is still out in many places. I saw police at several intersections directing traffic on the way to Yahoo today. Lots of broken trees and crap all over the roads. There were some mud slides in the hills.
All in all, we've seen quite a bit of rain in the last few days. It sounds as if we're getting a bit more later today and then again on Thursday. (Hopefully later on Thursday so that I can still make my morning flying lesson.)
(I'm posting this a bit late...)
Thursday was my first day to fly with Jim, my instructor for the next several months. Jim is the full-time instructor at HGC, so he ends up teaching and flying with most of the students.
I got down there a little late because of bad traffic and some stupidity on my part. Next time I'll leave earlier and pay more attention to what I'm doing.
When I got there, Jim and I went over some flying basics and discussed my experience. I told him that I had been in the ground school class the previous week and he took a few minutes to flip thru my log book. After doing that, he informed me that I'd be flying the takeoff and landing on both flights today.
That surprised me a bit, since he and I had never flown before. But I guess the fact that I was already pretty good at flying tow convinced him that it was time for me to get the hang of takeoff and landing again.
He had already done the preflight checks on glider 87R (or eight seven romeo), so we got a battery for it, pulled it over to runway 24 and I got in. I stapped myself in and completed the takeoff checklist. I wiggled the rudder and the tow pilot plane began to move forward.
Since we had no wing runner and the left wing was low, I applied full right stick until the wings came level. I concentrated on holding the wings level and listening to Jim's advice about how much back pressue to use so that the glider would roll along on the main wheel only. Before I knew it, the glider was lifting off the ground. That was my signal to ease the stick forward a bit to keep it 5-10 feet off the ground until the tow plane took off.
After 15-20 seconds, the tow plane was in the air and I was following it just a bit high. We began discussing what to do in the event of a rope break. Below 200 feet, land in the field to the right. Above 200 feet, turn 180 degrees and land upwind on runway 24. Above 600 feet or so, fly a very short pattern.
I flew behind the tow plane for a bit while Jim pointed out a few landmarks that we had discussed on the ground. It's good to get very familiar with the area surrounding your home airport.
As we got to 4000 feet, he asked me to practice rope relases. In the SGS 2-32, we use a soft release, which means you climb briefly, dive briefly, level out and pull the release. This puts a bit of slack in the rope and makes for a more gentle release when the tension returns and the ring falls from the tow hook.
Next thing I knew, we were at 5000 feet and it was time to release for real. So I did. I turned a bit too early, not having actually seen the rope fall away. Jim called me on that, of course. I have to try not to anticipate the release like that.
Up at alititude, Jim asked me to demonstrate various shallow and medium turns, both to make sure I could consistently make coordinated turns and to test my ability to turn to a point/heading.
We did a little bit of speed control, a lot more turns, and talked about stalls. Before I knew it, we were nearing 1700 feet and it was time to enter the landing pattern. I ran thru the landing checklist:
There was a bit of confusion about which runway we were landing on. Jim intended me to use runway 31 (which he often uses with sudents because it is so long) but I was expecting runway 24, which is the only runway I had ever used at Hollister. Once we got that straightened out, I made some minor corrections on the downwind to 31 and concentrated on landing.
Jim quizzed me along the way, asking if my angle and altitude looked right. My answers were largely guesswork because I have little experince to draw on. But I wasn't too far off. Before I knew it, it was time to turn base and then final. I lined up in 31 pretty well but came in a bit high. After liberal application of spoilers, the altitude disappeared in a hurry and I just had to stay on the centerline and flare at the right time. Unfortunately, I flared a bit too early and ended up floating another 500 feet down the runway while drifting to the right--nearly off the runway.
I used the remaining altitude to get back on the center line and let the glider touch down.
The flight went relatively well and did a good job of telling us what I needed to focus on next time around.
We pulled the glider back on to runway 31 and waited for the tow plane. This time around, my takeoff was a bit better but as soon as we got off the ground, I noticed that the air had become a little choppy. Once we cleared 700 feet, it was nice and smooth again.
This time, Jim used most of the tow watching me practice the low tow position, steering turns, and boxing the wake. Unfortunately, I never was able to complete a full box because the tow pilot thought I was attempting a steering turn, so I'd just fall back in behind him until he leveled out and try again.
The tow went very quickly and before I knew it I was pulling the release at 5000 feet.
The bulk of this flight was spent on zig-zag 90 degree turns at a 45 degree bank angle, steep (60 degree bank) turns, and imminent stalls. I was feeling pretty good about things until Jim demonstrated how he could hold the 2-32 in a stall by using lots of rudder force to pickup the wings as they tried to drop. The recovery from that stall was more dramatic that I expected. We did a fast nose down to pick up speed and the pulled out and into a turn. Let's just say that my stomach was a bit surprised. Nothing happened, but I felt a little iffy for 30 seconds or so.
We practiced a few more turns and Jim kept bugging me about my poor rudder conrol rolling into and out of turns. I'm mostly convinced that I neede to move the rudder pedals in the 2-32 one notch forward next time I get in. I kept moving the rudders without trying and that tells me that they were too clsoe to me.
Before long, we were descending thru 1700 feet and it was time to enter the pattern for runway 24. (Yes, we agreed in advance on the runway to use.) The landing went quite a bit better this time and that boosted my confidence a bit.
We parked the glider and caught up on a few administrative details while Jim quizzed me on a few more questions, mostly related to stall speeds, angle of attack, and so on.
We agreed to meet next Thursday morning for a few more flights. He'd like me to fly one normal flight to practice full stalls and turning stalls. Then we'll probably fly several shorter flights so that I can practice pattern flight and landing.
All in all, it was a good morning. I can feel myself inching toward better piloting skills.
It's that time of year again: annual performance reviews (aka, "how big is my raise?")
It happens every year, just before the holidays. However, things are different this year. A few months ago, it was suggested that managers tell their employees that raises would be small for the coming year--part of an effort to keep expenses low. That's good. No, not the small raises. The part about telling employees in advance. It helps to set expectations and make employees feel a bit more involved in keeping the company financially healthy.
But it seems that many managers did not. I'm hearing a lot of complaints from co-workers. They're pissed off about their reviews. Some are suprised by the numbers, while others are surprised by their actual performance review. Some of the second group feel like their managers are nit-picking them on their reviews as a way of justifying the lower increases.
That's just not cool.
The way I see it, if a manager has negative things to say during your year-end review and they surprise you, there's a real problem. You manager isn't doing his/her job by saving up all their complaints for the end of the year. You really ought to be hearing about them during the year so that you have a chance to work on them and show improvement.
Be open and honest with your employees. Try not to surprise them with bad news. Expectations matter. A lot.
(No, I'm not unhappy about the process. I've always had a good relationship with my manager, so I had no problems with it this year. But I appear to be in the minority, at least among those I've discussed it with.)
We take it for granted that many hi-tech workers (often software engineers) have a very hard time seeing their work from a business point of view. To many, it's just technology. They're building software, not business tools. Creating hacks rather than solutions. Companies hire them to work their magic and hope that their managers will keep them in line with the company's goals.
It's a rare engineer who can see both sides of the coin: the technology and its application toward achieving a company's business goals.
However, there's a stranger breed that I've encountered: the engineer who has somehow forgotten how to look at things from a traditional software engineer's perspective. This odd creature has little trouble explaining how his work supports the company's broader goals. Yet he has difficultly communicating with the more common engineers--those who mainly see technology.
I'm really not sure what to make of this.
Phil Windley is talking about IM in the Enterprise and says something a bit stange:
I've been wanting an enterprise IM tool for some time, but couldn't justify the cost. Now, its part of Groupwise, so that helps the ROI considerably.
I'm wondering what the costs really are. Given that the software (Jabber) is free on both the client and server, what's left? Deployment? That's a one-time cost that's no higher than deploying any other softwrae. Training? IM software isn't terribly complex (compared to Word or Excel). Many already use IM at home thanks to AOL, Microsoft, or Yahoo. The less technically inclined can always ask their kids for help. :-)
We use it all the time at work, but we are Yahoo (or are we borg?). So we're eating our own dog food. It has been an indespensible tool for a long time. It sure beats the phone when you don't know if someone it working at home, at another desk, and so on. Heck, the even without the M part of IM, the presence services alone are quite handy. You can convey a lot of information with a 40-60 character "status" message like, "At lunch--back around 1pm" or "Fixing critical bugs---don't disturb!"
If I was still at my old job, I'm sure some of us would be using some sort of IM tool to keep track of each other. Come to think of it, we were already toying around with ICQ when I left 3 years ago. Amusingly, we had to resort to some funky tricks to make it work with the corporate firewall, but that wouldn't an issue today. We would just run our own (internal) Jabber server.
Damn. It would appear that DirecTV DSL (formerly Telocity) is going away.
We have some difficult news to share. With the dramatic change in the capital markets and the significant shift in the telecom operating environment, DIRECTV Broadband can no longer stand as an independent business.
That means my DSL goes away. I've gotta find someone else who will give me a static IP address and not rape me on the price. What fun.
It's raining and blowing like mad in the Bay Area today. I just had a 3.5 hour power outage. Yuck.
Oh, well. It could be worse. At least it doesn't snow here.
From the Google weblog:
New, from Google: Froogle! "Froogle is a new service from Google that makes it easy to find information about products for sale online. By focusing entirely on product search, Froogle applies the power of Google's search technology to a very specific task: locating stores that sell the item you want to find and pointing you directly to the place where you can make a purchase."
Hm, I seem to remember hinted that something like this might happen. Just don't ask how I knew. :-)
Does anyone else see the pattern here?
MediaSavvy nails the "digital divide"
I don't know who came up with the phrase "Digital Divide", but it's brilliant. It (unintentionally) redirects us from the growing divide between the rich and the poor in this country. Should we focus on ameliorating the digital divide or on helping the poor with income, housing, education, and medical care? How can we focus on the digital divide when Republicans and Democrats alike are targeting income, inheritance, and dividend tax breaks at the rich?
It's a loaded issue that doesn't get enough attention.
Weblogs really need some sort of cross-weblog threading system. Maybe we just need more TrackBack support in other tools like Radio. Dave, will be native TrackBack support in a future Radio?
So, Scott has replied to my comments on his comments on Dave's thoughts about conferences. And it seems we agree. We're on the same page. Excellent.
In responding to Dave, I see that Scott's down on conferences. I have to disagree. It's not just about innovation. Some conferences matter a lot--at least to me. Here's why.
In the last couple of years, I've made the transition from attendee to presenter. When I go to technical conferences, I'm usually there to present something as well as to learn from others. In fact, the only tech conference I attended this year that I did not present at was the O'Reilly Mac OS X Conference. But I did participate by blogging it.
I presented at the PHP Conference and four times (1, 2, 3, and 4 is not on-line) at the O'Reilly Open Source Convention. I will be presenting at next year's MySQL Conference as well. I seem to present twice a year at work, like this. And I've even talked at the local Perl Mongers.
(Okay, my horn is all tooted out now...)
The point is that I help to teach other people about the technology that matters to me. Conferences are a great way of doing that. I know because attendees will frequently tell me that they enjoyed my talks and learned from them.
I get to meet people I might not otherwise meet. Sometimes there are people who I can chat with via e-mail, but it's not until we spend some face to face time that ideas really get flowing. And I've even managed to stay in touch with some of 'em.
Several times now, I've taken the opportunity to talk with the MySQL folks about ideas I've had. I do it in person because it's a lot easier and faster. Discussions that might normally take days or weeks only need 15 minutes in person. Conferences are great for that kind of stuff.
I see and hear things at conferences that I wouldn't otherwise pay attention to. Often times they inspire me to try something new, learn a new piece of software, or just think differently about a problem.
It sort of reminds me of being back in College. There's a good diversity of ideas and a passion for them at the conferences I attend. That helps keep me going. It gives me a boost a few time a year.
Thanks to a bit of a reminder from Kasia, I've cleaned off the weight bench again. Am I'm even thinking about spending a couple hours a week in the gym at work on the bikes that don't actually go anywhere. Hm. Maybe I could motivate myself if I got an iPod to use when ridding.
I only suggest that because my insurance kicked in and paid off a bunch of dental bills, so I'm getting about $500 back in a few weeks. That's just about what I'd need for a 20GB iPod. And, by some stroke of luck, I have almost exactly 20GB of MP3s in my collection.
It looks like Don is having some bad luck with a credit agency. I know what that's like. I hate those companies. They're such idiots and they're always on the side of the company, not the consumer. Always.
Well, after a bit of harassing from Dan, I registered the domain creamofbroccoli.org and setup MovableType so that our friend Brandt could have a blog named Soup is Good. Brandt is a funny, cyanical bastard that I've known since college. We lived together for a year and also had a really, really, really bad roommate in common.
Hopefully he'll talk about his radio show (sorry, no link handy) and rant about whatever happens to be pissing him off. He's good at that. He'll need a bit of time to tinker with MT, templates, styles, and so on. But give his blog a read. I suspect it'll be entertaining.
Well, you've heard of User Mode Linux, right? It allows you to run Linux on Linux in a sort of VMWareish way. Well, now we have Kernel Mode Linux. That's right, you can run normal processes in kernel mode.
Open source never ceases to both amaze and amuse me. :-)
Well, it seems that this little flying blog has picked up a few readers. Does anyone know of glider pilots who maintain blogs? I'd love to be able to read about what others are doing--anywhere in the world, really.
It's soart of difficult to find them using Google and other search tools. The terms I've searched for all have a bit too much in the way of unrelated results so far.
Oh, don't worry. One of these days I'll fix the CSS and templates so it doesn't look so much like crap. ;-)
I was looking for a good place to buy pilot stuff on-line (sectional maps, etc) and found a good Yahoo Store called Stick and Rudder. They had what I needed at a good price and I was able to checkout using Yahoo Wallet.
I attended Hollister's 1-day Ground School today, along with two other students: Jeffrey and Patrick. Our instructor was Russell Holtz, also know as "the guy who wrote HGC's glider flight training book."
Because their normal classroom building recently caught fire and burned (looks really bad now), we met upstairs of one of the nice hangars down the road.
We (Jeffrey and I) arrived on-time and met Patrick shortly after. We waited around for about 10 minutes for some other students to arrive. They never did.
We began with an in-depth preflight of an SGS 2-32. After shifting gliders several times (pilots kept wanting to fly the ones we were preflighting), we managed to finish. Then we headed over to our "classroom" to begin going over the other material.
We took a lunch break at 1:30ish after finishing up #3. The lunch was decent (we at the local joint right at the airport). After lunch we continued down the list and finished around 5pm.
Russell is a great instructor. He's been flying for a while, used to be an aerospace engineer, and really digs this stuff. He had good answers for all our questions and had no problem going way more in-depth on some topics.
I feel more confident about my flying "book knowledge" having been in the class. Little of the material was anything I hadn't heard before, but it was good to review it all in a short period of time.
The only disappointment was driving all the way to Hollister and never getting in the cockpit. Oh, well. Next time I'll fly.
Back in High School (1990 and 1991, to be specific), I was a student pilot in the Adrian Soaring Club, flying out of Lenawee County Airport in southern Michigan. I trained with various instructors in their Schleicher ASK-13 wood and cloth glider.
According to my log book, I flew 23 times totalling roughly 6 hours and 41 minutes of time in the air. Yes, some of the flights were short--like the unplanned rope break exercise at 180 feet. It was challenging and fun. But I ran out of money before I could solo. I was close. Quite close if I recall.
By the time that ended, I was flying on my own. I'd fly takeoff, tow, landing, and everything in between. The instructors were along for the ride to make sure I didn't screw up and to help me practice more advanced maneuvers (I had a few left to learn).
Fast-forward 11 years. I recently discovered that a friend of mine at work had just started taking flying lessons--in gliders! I had always planned to get back into the cockpit someday so I jumped at the chance to start flying again.
We fly as part of the Hollister Gliding Club in Hollister, California. It's roughly a 1 hour drive south on highway 101 from where I live in the Santa Clara / Sunnyvale area.
I've started a separate flying blog to record my aviation adventures and related stuff. (There are three entries as of now: one, two, and three.) I may occasionally post any really interesting or important stuff in my main blog, but if you're curious about my progress, I suggest to read my flying blog.
Oh, there may be a couple bugs while I get the flying blog working. Lemme know if you see problems. I know, it needs template and CSS work yet.
It sounds like I'll be helping with some multi-terabyte MySQL tests in the not too distant future. This is good not just because I get to play with neat toys, but it'll finally help me to answer the "how well does MySQL deal with BIG data sets?" question. Until now, I've had to appeal to my knowledge of how MySQL works as well as some second or third-hand reports of what others have done in this area. It'll be nice to have some concrete data and tests that I understand and can explain to others in detail.
Stay tuned for more.
Had dinner last night with Jim and James, the creators of HotOrNot.com at The Tied House in Mountain View. Interesting discussions about Yahoo's former practice of assimilating other companies, weblogs, TiVo, and lots of other stuff. They're good guys. I hope to hang out with 'em again sometime.
After a couple weeks off for sickness and the Thanksgiving Holiday, it was time to head back to Hollister. Today's goal was to take my two remaining discovery flights and try to get a better handle on controlling the glider during tow.
Once again, Jeffrey showed up bright and early, and we headed down to Hollister. We managed to arrive before anyone else and had to hang out for a few minutes for Jim to show up and unlock the gate. Jeffrey was scheduled for a 8:30am - 10:30 lesson. I was scheduled for a flight at 9:00am and 10:00am.
He and Jim worked on cleaning off the 2-32 they'd fly while I worked on one of the other 2-32's and went through a pre-flight check. My non-instructor (he's not licensed to instruct, just fly passengers) and I eventually got to head up after Jeffrey and Jim got in the air. (Things were delayed a bit because the tow pilot was late getting to the airport.)
After we hit 1,000 feet, I took the controls to try my hand at tow. And, much to my surprise, I didn't need any help. I managed to keep the glider under control and mostly in-line behind the tow plane during the climb from 1,000 to 6,000 feet. We released not far from Fremont Peak (which is ~3,500 feet high) and the glider was mine to go where I wanted (within reason).
While it was quite hazy on the ground, it was very clear above 1,700 feet. I wish I had my camera with me. We had a great view of the Monterey Bay to the west and the Sierra Nevada Mountains to the east--that's right, I saw the snow-capped peaks of the Sierra all the way across the Central Valley. It was beautiful.
I turned toward Fremont Peak to get a better look at the various communications towers up there. After going over the peak I flew around the local reservoir a bit and found that the bumps of turbulence we noticed during tow were actually pockets of lift. So I spent much of the time during the flight trying to map out the lift between the little mountain ridges and valleys.
After we descended through 4,000 feet, it was time to head back toward the airport. We got near the airport and I flew to the south a bit just to see what downtown Hollister looks like. Then we noticed it was time to enter the pattern and land--but we were a bit low. So I got to fly a very short pattern. There really wasn't much of a base leg, and the downwind was quite short.
We landed and I was feeling very proud of myself for doing so well on the tow. I was getting a lot of my old confidence back. After a quick... uhm, pit stop, I was ready to go up again!
For the second flight, we again took off to the west and headed toward Monterey. This time, the tow plane just kept going toward the west. Not being comfortable with how far we managed to get from the airport, I got to try my hand at steering turns--signaling the tow pilot that I'd like to turn by flying off to the side and holding position until he took notice. It was challenging. I was using full right rudder to hold position and still found myself drifting back into a normal tow position. So right about the time I kicked in a bit of aileron, the tow plane go the idea and turned left--while I was headed right. Oops. Luckily, I was able to correct and follow him without much hassle.
We released at 6,000 feet again and I did a better job of diving for the release. The only mistake I made was being a bit to the left of the tow plane on release. I risked running into the tow rope as I made my right turn after release.
Once the tow plane was clear, I headed back toward Fremont Peak again in search of more lift. It was weak but I found it. We never gained any altitude as a result, but I managed to get us into very low sink conditions (break-even a few times). It was fun. I was just flying where I wanted to, checking out the scenery, and having a lot of fun.
After chasing lift near the reservoir, I headed south of the airport and then to the east a bit to check out a private landing strip. This time around, I entered the pattern a bit high and flew a long, full pattern. The landing was a bit tricky, because I had the controls up until the last 10 feet of altitude. I came very close to asking, "Uhm, am *I* supposed to land this thing?!" But since I wasn't flying with an instructor, the last-minute confusion was understandable.
My second flight was a lot of fun. I'm looking forward to going up again in a week or so. Maybe I'll get to try flying on takeoff...
It's unofficial and unsupported. Use at your own risk. It's version 0.99.21. It's here. It fixes some very annoying bugs that users of 0.99.19 are likely seeing.
If you'd rather wait for the next official one (rumored to be 0.99.22) hang on a week or two. It'll probably appear on im.yahoo.com.
Over at Web Voice there's some discussion of an issue that Y! Finance and Y! News deal with constantly--how much "related" information about a keyword, topic, story, person, etc. is too much? Does it belong in-line or off to the side? Should the user be able to customize it? How?
This is interesting to me because I was supposed to be working on a project for Y! Finanace that changes the way we handle those in-story links you see on biz.yahoo.com news articles and commentary. But since I'm moving to Y! Search, I won't have time to work on that project. Too bad.
Anyone have strong preferences on this? Seen a site that does it exceptionally well or poorly?
As noted here, Phil is resigning as Utah's CTO. Damn. I liked reading about the tech happenings in Utah.
Oh, well. Good luck with whatever you do next, Phil. Keep us informed. :-)
Made it back to CA last night around 7:30pm. The cats were glad to see me. Or maybe it was just the catnip toys I always bring back after a long break.
Tons of catch-up at work to do. Lots of crazy stuff. Oh, and they're trying to move my office soon too...
Wow, look at all the snow coming down. I got to drive thru it a bit today as I was coming back from lunch with Josh. Oh, well. I'm flying back to California tomorrow, so I won't be seeing much more of this, I hope.