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?
No.
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.
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.
And...
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.
*snicker*
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?
*sigh*
Cats.
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.