According to CNET:
In an apparent first, Hewlett-Packard has invoked the controversial Digital Millennium Copyright Act (DMCA) to stop researchers from releasing information about software bugs. Until now, the DMCA has been used by copyright holders to prevent, for example, release of programs that allow for the circumvention of copyright protections. But H-P sent a letter to SnoSoft, a group of researchers, saying that the group faces fines of $500,000 and jail time for releasing information about a bug in an H-P Unix application. SnoSoft said that they notified H-P of the flaw early enough that a patch should have been available before public disclosure of the bug. An attorney at the Electronic Frontier Foundation said he expects more companies to try to use the DMCA in this way because the very broad terms and interpretation of the law allow for such prosecution. Even in circumstances unrelated to protecting copyright, he said, such actions "will trigger DMCA penalties."
Are ALL big companies stupid and evil? Sheesh.
I enjoyed this article at Salon. It focuses on the VA Linux aftermath. It's a bit fluffy and short, but not bad.
According to Mark:
Netscape 4 turned 5. 5 years ago, my best friend wasn't even dating; now he's married and has two kids. Fucking upgrade already.
Now if I could just get Jeffrey to upgrade.
Think about that. Netscape 4 is 5 years old. Isn't that like 100 years in "web years" or something? Wow.
From the Register:
Many rank-and-file Cisco employees are questioning the ethics of a sweetheart deal in which senior Borg enjoying a leave of absence have sold a skunk-works company, AYR Networks, back to the Collective for a cool $113 million stock swap.
Ask, Rael, and Grahm have posted OSCON pics on use perl. I found myself in several of Ask's shots.
Right here. It claims to be powered by entropy, but has striking similarities to MovableType. I suspect that it is MT on the backend, or that he copied the UI.
Dive Into Accessibility is a republication of my wildly popular series, "30 days to a more accessible weblog", with some minor corrections, a new domain name, and the word "weblog" crossed out and "web site" written in in crayon. ("Man didn't have the right form." "What man?" "The man from the cat detector van." "The loony detector van, you mean." "Look, it's people like you what cause unrest.")
Scott has switched the FuzzyBlog over to using Drupal and tells me that it has good new aggregation features built in. I need to check it out after I'm caught up. He even had a printed tutorial that he dropped off at OSCON (I should try to find the on-line version so I can point others there...)
I popped the keyboard off my TiBook today to see if I could install the spare 128MB SODIMM that I've had for while. Imagine my surprise to find that the 256MB TiBook contained an empty slot--Apple didn't cheap out and put two 128MB boards in it, thus forcing me to buy a 256MB board and throw out 128MB of perfectly usable RAM.
The good news is that the extra 128MB seems to help a lot. There's not quite as much disk trashing. But I have this nagging feeling that the real sweet spot is closer to 512 or 640MB.
The more I look at the information for O'Reilly's upcoming Mac OS X Conference, the more interested I get. And judging by the number of folks who have switched in the Open Source and blogging communities recently, I suspect I'd know more than a few folks in attendance.
I couldn't really justify it as "work related", so I'd have to set aside some vacation time for it. Hmm.
This story in the Washington Post just popped up on blogdex.
If you've ever wondered what life would be like as a porn video clerk, read this and find out. It's actually quite amusing and interesting--not nasty and disgusting as you might expect.
So I left the hotel at about 5pm on the shuttle to the airport. My flight is at 7pm. I'm in the airport now writing this. Why? Because there was no line. I was the line. Within 10 minutes of arriving at the airport, I was plugged in (to the power) and pulling images off my camera.
Mental note: Don't get to the airport so early. Really.
Mental note #2: Don't leave cell phone in Derek's room.
Anyway, I'm using the time to do some blog updating. Hey, at least I'm not fantasizing about the two college girls napping on the floor just a few feet away in the terminal. (Or am I...?)
Jeffrey managed to mis-configured the alarm clock. We both got up rather early as a result.
With OSCON over, Derek and I decided to spend much of Saturday at the world-famous San Diego Zoo. (Well, Derek decided not to go but then changed his mind at the last minute.) After a nice breakfast buffet in the hotel, we caught a cab over to the zoo. Amusingly, the driver forgot to start his meter, so he had to guesstimate the fare.
(We considered going to Lego Land instead, but it was a lot farther from the hotel, so the cab ride would have been quite expensive.)
Upon arriving, we got our tickets (the $32 "deluxe" ones, with unlimited rides on the various buses and the sky-lift thingy) and headed for the zoo's tour bus. The buses are double-deckers, so we rode on the top to get a good view of things. After riding around on the tour, we spent the next three and half hours wandering around to look at all the creatures. The only things we did not see were the pandas. The line was simply too long to justify waiting.
All in all, I snapped just over 100 pictures of the creatures and scenery.
On the last day of OSCON, I managed to pull myself out of bed on-time and was able to attend the morning keynotes. Both were interesting in different ways, but I couldn't help thinking that the folks at Sun Microsystems are researching the obvious.
After the break, it was time for my "Managing MySQL Replication" talk. It went very well. There were roughly 60-75 people in attendance for the 90-minute presentation. I finished on-time while fielding quite a number of questions. I was quite happy with how it went. Many folks commented that they really like the talk and learned a lot from it. Hopefully they said that in their evaluations too!
As a bonus, the MySQL folks passed out T-Shirts to everyone. The shirts had been tied up in Customs for quite a while, but managed to arrive just in time for the last day of the show. How amusing.
After my talk it was time for lunch. I ate. Again, the food was pretty good--better than last year by far. Once lunch was complete, I headed back to the same room for Brian Aker's "Extended MySQL with Perl and C" talk, which was informative. I have seen this talk at least once before (last year's Open Source Database Summit, to be exact), but there was some new material in it. It also provided me with the chance to chat with Tim Bunce about a few MySQL and Perl related topics.
The final talk of the conferece (for me) was DJ Adam's on "Interesting uses of Jabber", which I've already covered.
With all the offical stuff over, I met up with Tom Lane (of PostgreSQL fame), some of the folks from MySQL AB, and a few random others. We walked over to the Boat House resteraunt for dinner. The place was rather warm, but we managed to enjoy ourselves. Good discussions about politics, Open Source Database Advocacy, and so on.
Following dinner, we made our way back to the hotel and chatted in the lobby for a bit before most folks retired to their rooms. Not five minutes later, Jeffrey invited me to a gathering outside with some Perl folks. Having little else to do, I headed over and picked up Brian on the way. We chatted with Jesse (of RT fame) for a couple hours. It turns out that Jesse is doing RT as his full-time job now and it's already cash-flow positive. Cool! We chatted about the differences between RT 1.0 and RT 2.0 long enough for me to realize that calling it RT is a bit of a misnomer. It's a completely different product now--much better.
The slides for the three major presentations I did for the 2002 O'Reilly Open Source Convention are now on-line. They are, in order, "MySQL Optimization" (a 3-hour talk), "MySQL Backup and Recovery" (a 45 minute talk), and "Managing MySQL Replication" (90 minutes). They are also listed on my personal MySQL page.
Wrapping XML-RPC in the Jabber protocol. Use Jabber as an XML-RPC gateway between processes. The requests/responses are completely async. You can do the same with SOAP over Jabber.
Publish/subscribe systems built on top of Jabber. All the pieces are there, it's just a matter of assembling them.
Weblogs.com has a SOAP interface for subscriptions. So you can use Jabber to tell you when a weblog is updated.
During this talk we heard about 3 different systems. Here are some quick notes on each.
Story publishing, preferences, Journals, personalization, community moderation and interaction, logging. Not built for manging a large document base--it' more of a community system than a content system. Simple, easy to learn interface. The strucutre is not complex, provides delayed publishing, and RSS feed integration. The publishing workflow model is very straightforward. That can be a problem for sites that really do need something more complex.
Slash stores all content in a database (typically MySQL) and it performs a lot of caching for mostly static stuff. Uses a templating system called TT.
Slash can be extended via a simple API and there are a lot of good examples out there already. SOAP interfaces are coming in future versions of slash, too.
Why slash? Light and simple. Scales well. Great community features. There's even an O'Reilly book for it.
It's very complete and professional, and it covers a lot of ground. Asset (or object) management. Heavier application-like interface with a lot of power.
The UI is very functional and feels very much like a desktop application. Good contextual help.
There are stories, media, and templtes. The three building blocks. The first two are built using elements. Elements may contain sub-elements. Defining elements properly is difficult. Requires real design thinking.
Very powerful workflow, using a "desk" concept. Desks are chained together for form workflow. Every check-in and check-out results in a new version.
Can use SSL and has group-based authorization. Both users and objects are in groups. It's a bit confusing at first, but it's actually rather simple and powerful.
Templates belong to categories. Output channels, many for a single document--useful for co-branding or different formats like XML, RSS, etc. Good API available from within the templates, which are HTML::Template or Mason (very cool).
Publishing distribution (via "burners") is quite flexible too. You can do it in parallel or customized (gzip, sign it, complex upload, etc).
Has alerts that can be triggered based on various events (move, delete, check-in, etc.) The event handlers can do e-mail but will get jabber support soon too.
There's a good SOAP interface. The mailing list is very good. Active support.
Uses a PostgreSQL backend.
Very new, just released. Tied to Oracle now, but moving to use other databases later this year. University of Insbruck runs it. Started as a framework and evlovled into an application later.
XML, XML, XML.
XIMIS == "XML Information Management System"
Uses DOM, SAX, and XSLT. You really have to get in to XML.
Document tree with multiple views where docs are of any type. Different doc types have their own handlers. Some WYSIWYG pulugins for uploads and whatnot. They're not free and only work on Windows. Someone is trying to develop a Mozilla-based front-end.
Very elaborate security system, complex and fine-grained access controls system. Supports IMAP, LDAP, etc. Does inheritance on permissions where needed.
Communication tools. Has a forum and some built-in messaging. Sometimes better than going outside (phone, e-mail, etc).
Internals. Very MVC inspired. Uses CGI::XMLApplication (SAWA, whatever that is). AxKit interaction possible.
Every document is an object. Random data can be attached to objects easily. User interaction generates events.
Style sheets used to transform documents (of course). So, the application gets an event, handles it by manipulating an object, and a stylesheet is selected to render the object. I think that makes sense.
Mena has setup a TrackBack page for folks blogging about OSCON. Check it out to see what other folks have so far. If you're using MT and are at OSCON, please contribute your entries as well.
Today I managed to sleep in a bit too long, having been up well past 2am after all the fun yesterday. The good news is that I'm a bit better rested, but the bad news is that I was a bit behind on things and missed the first keynote. I had a lot of stuff to do yet for the phpj.com setup, but luckily I managed to find Bryan at the last minute.
I did manage to sit on the floor (with a power outlet nearby) and work on things while Richard Stallman delivered his keynote. I don't think anyone was surprised by what he had to say. In fact, I was a little surprised that he was as calm as he was.
Next up was Monty and David's "MySQL Now and in the Future" talk. They covered the basics of the MySQL development roadmap and even managed to plug my talks (as well as Brian's). What I learned is that there is someone already hacking on the MySQL 5.0 source tree to get a first implementation of stored procedures done. (Yeah, that's right. Stored procedures in MySQL.)
Right now I'm in a talk about Mac OS X for Open Source developers. Interesting comments about why Apple doesn't ship X11 with the base OS X install and never will. They really don't want a "normal" end user to ever, ever see an X11-based application. They recommend using things like Qt, Tk, GLUT, and other APIs that have Aqua support instead.
After lunch was time for my "MySQL Backup and Recovery" talk. (Slides will be on-line in 12 hours or so.) I had about 60-75 people in the room and I even managed to stay on schedule. I had only forgotten to mention one important point. Because of some A/V issues, I ended up having Jeremy Cole (from MySQL AB) run the slides for me. Thanks Jeremy!
Now I'm sitting in Damien's talk about preparing for Perl 6. Yikes.
On Tuesday, I attended the first half of the Optimizing Perl talk and then went over to the second half of Tim Bunce's "Advanced DBI" talk. Good stuff all around. Tim's talk highlighted some interesting new features in DBI that I need to look at more closely.
After lunch I went to part of Zak Greant's "Getting the most from PHP and MySQL" talk before going over to the "Advanced PHP" presentation. Zak's talk was a lot more about MySQL than PHP, so it wasn't as useful (to me), but it was a good talk. The Advanced PHP talk covered a lot of new stuff in PHP and hinted at what's coming in 5.0 (a lot of OO fixups, for example). We also got a chance to hear from Rasmus about the stability of Apache 2.0 in a production environment. The short version is that you really don't want to be using it with dynamic content yet. Static stuff isn't bad, though.
The real fun began after dinner (with some of the MySQL developers and trainers). Larry Wall's 6th "State of the Onion" talk was excellent, as usual. I think he did a good job setting expectations for Perl 6.
After his talk, we were able to compete in Jon Orwant's "Internet Quiz Show". Our team won for the 3rd year in a row. We're probably going to retire. Three wins in a row is good enough for anybody. :-)
After the big win, we celebrated in the hotel bar and had a chance to talk with a lot of good folks.
Related blog entries: Ask, Derek #1, Derek #2.
The cat's out of the bag now. We're launching the PHP Journal. Visit the new website for some basic info (we're adding more as we catch our breath).
Yesterday, Monty mentioned that he'd like to release MySQL 4.0.3 very soon. He was putting the finishing touches on the code to handle changing server configuration variables (like the size of the key buffer) on the fly. Today I got a chance to look at the docs that he's put together, and it's just what I've been waiting for!
Soon, we'll be able to do things like this:
SET GLOBAL key_buffer=256M
to change the key buffer's size without restarting the server. Cool. You'll be able to make both GLOBAL and SESSION (thread-specific).
Now I can embark on the project to build an auto-tuning engine that you can let loose on a server to make adjustments while the server is running. Should be a lot of fun (and work).
Oh, I'm sitting in Tim Bunce's "Advanced DBI" talk as I write this. We just learned (by way of Time questioning Monty) that MySQL 4.1 will provide high resolution timestamps. A code library already existing, it's just a matter of some integration work.
According to slashdot there's going to be an Apache/.NET announcement at OSCON on Wednesday. This should be interesting. Very interesting.
Today I attended David and Kaj's "ACID Transactions with InnoDB" talk in the morning. It went quite well and they presented some nice diagrams that will help with the InnoDB part of my book. I need to chat with them about possibly re-using some of that material.
After lunch it was my turn to talk. The "MySQL Optimization" talk was full. There were about 45 people in it (if I counted correctly). Based on the feedback so far, it appears to have gone well. I was quite happy to have finished on time, With 80 slides to hit in 3 hours, I knew it would be tough because there is a lot to say about the topic.
Then I had the chance to sit in on a meeting with the MySQL developers to discuss changes and enhancements to the replication sub-system. It was rather productive, I think. However, I'm not convinced that Monty's solution to my replication relay problem will actually work. I need to track him down and explain why.
Then several of us (Andy Oram, Brett Glass, Jeffrey Friedl, Derek Balling, Joe Rollinson, and I) went out for a sailboat ride on the bay--thanks to Joe. It was a good night for it. We had excellent views of downtown San Diego and a good time on the water. As soon as I track down Jeffrey, I'll get the pictures out of my camera and post them.
Update: Here are the boat pics.
Everything seems to be on track for my MySQL Optimization talk tomorrow. It might even move to a bigger room because there are a sufficient number of folks signed up (about 57). I've just made the final (yeah, right) changes to the slides. I should back them up somewhere now...
So I've arrived in San Diego for the conference, and guess what. Unlike last year, all rooms do not have broadband connections. Only rooms on floor 9 and higher do. Granted, I didn't ask when I made the reservation, but they all had them last year. (I'm on the 2nd floor for those keeping score at home.)
To switch would cost $50/night, so I'll do dial-up until the 802.11b network is active. In other news, the weather here is great (as usual). Time to get fixing my presentations.
Derek is on the 9th floor, so he's got the good stuff. Who else got screwed?
In this interview, Rasterman (the found of the Enlightenment project) talks about Linux on the desktop and how it's already dead in the water. He also discusses Linux in the embedded market, GNOME and KDE, etc.
Sounds strange, but according to The Register:
China has kicked off a development programme intended to produce a home-grown operating system with equivalent functionality to Windows 98, and with compatibility with Office 2000 and Word, reports The People's Daily this morning.
I've used Microsoft operating systems for a long, long time. I've used Linux and Unix for nearly as long. I'd like Microsoft to build an operating system that doesn't require me to reboot the computer each time I install a piece of their software. Office is about the only non-trivial Microsoft install that doesn't seem to need a reboot.
How sad. They try so hard to convince us that their operating system the best it can be. But then you run into crap like this. I don't want to reboot. I have 7 applications running.
The only time I ever reboot my Linux or FreeBSD boxes is to upgrade the kernel (or to change/move the hardware).
Woohoo! Here's the official announcement. Hopefully this will make life easier for those who must deal with character encodings in Perl.
Well, I have some last-minute adjustments to make for my presentations at the O'Reilly Open Source Convention.
I'm officially crazy. I have a 3-hour tutorial and two 45-minute talks. And now I'm apparently doing one (maybe two) lightning talk too. Guess I better get cracking. And triple-checking my equipment.
So, who else is going to be there? I'm virtually certain that Jon, Ask, and Derek will all be there. But I'm sure there will be others who run across this entry. Lemme know. Or stop by and say "hi". I'm hoping to meet some blog folks this year.
I'm looking forward to a great conference. There are a ton of good talks again this year. And I'm on the team that will win the quiz show for the third year in a row. Plus there will be a lot of new folks to meet and chat with.
I ran across this article yesterday in someone's blog. It's an excellent rant on how crazy you must be to be one of those really, really die-hard Mac fans.
Don't get me wrong, I like Macs. I have a TiBook that I use a lot. But it's pretty amusing.
This is too cool. It's like having the Google folks to a makeover on Amazon's site. What cool use for the new Amazon web services.
Thanks to the excellent tips on diveintomark (day 27 and day 26), I've made some adjustments that make Lynx, Links, w3m, and Google happier. And IE/Mozilla users won't notice much unless you view the source.
One of these days, I'll apply the other 25 days worth of lessons to make my site all spiffy and accessible.
As reported here, Amazon.com has launched a new suite of Web Service API (both REST and SOAP) that allow you do a number of interesting things.
Their site, http://www.amazon.com/webservices/ allows you to download a ZIP file containing the docs, sample Java and Perl code, WSDL files, and so on. Neat stuff. (Just like Google, Amazon requires that you apply for a unique key.)
However, after scanning the API, I've noticed a missing feature. You can add items to a wishlist but there's no way to search for, query, or download the contents of a wishlist. Send a note to email@example.com if you'd like that feature.
Note that this is all in addition to their existing Amazon Associates XML imitative. (Wonder how long until eBay and Yahoo! Shopping do something similar?)
So I was reading a thread on slashdot about pop-up ads on television. A co-worker passed me the link because it was supposed to reinforce an idea that he's been trying to get into my head. It didn't work. But while reading the thread, I came across a post (attributed to an unknown author) that really sums up the way I feel somedays about our little capitalist hell hole.
I would just link to it, but I know it will vanish someday. So here it is, thanks to the magic of cut and paste...
I've been targeted right out of the market.
I've had it. I can't take any more advertising. Television, radio, magazines, billboards, even the Internet for Christ's sake. Everywhere. Why do they keep targeting me? I never did anything to them. I don't even buy anything! They're wasting their time! Fast food makes me feel like shit, soft drinks make me dizzy, candy is disgusting, chips make my stomach hurt, I don't smoke, and any band that has ever been advertised anywhere sucks unequivocally. I eat tortillas and vegetables, I drink tap water. I ride my $40 bike for entertainment. I buy a new pair of Dickies at the army navy store every year and I get all my other clothes at Costco in 3-packs. My car works fine, I use my Internet connection for long distance, I've had the same boots for three years and re-sole them when they wear out. As far as booze goes, well, as long as it's wet...
So why do they keep attacking me? Why are they filling every square inch of every available space in my life? Above urinals, on concert tickets, underneath the ice at hockey games, on blimps, in video games, as props in movies, plugs in rap songs, on shitty Web Sites (No, I will not visit your motherfucking sponsor. If you're not in it for the love, and you can't figure out any better way to pay for your site than by slapping some ugly, corrupted banner across the top of your pathetic work, then fucking close up shop, kill yourself, and leave the Web to non-polluters). They'd advertise on the backs of my eyelids if they could get away with it, and I can't hack it anymore. They win. I lose. They succeeded. I failed. Like Brian Wilson, I just wasn't built for these times. I fold. Here are all my cards. Keep the pot, keep my ante, keep the goddamn jacket on the back of my chair for all I care, I can get another at Costco. I'll be out in the parking lot getting drunk and yelling at cute girls because I can no longer stand the taste of tentacles. Marketing has poisoned everything worthwhile under the sun, so I'm giving it all up. Everything.
But the way I figure it, there's no real loss. I've seen all of the episodes of the Simpsons 200 times each. Most of the good writing was done 100 years ago. I haven't listened to FM radio in years. I could play all my records beginning to end alphabetically and I'd be 76 years old when I got to the Zeni Geva. Online culture is a fucking yawn, only good for buying stuffed goats on Ebay and getting cracked copies of $1000 software. Movies always end up at the 99 cent video store across the street eventually, and you can fast forward through those commercials. My girlie's cute and the corner bar has Pabst on tap. What else matters?
True, by shutting myself off to everything, I'm probably limiting my future potential as a 'community building' or 'bleeding edge' cog in someone's nightmarish vision of Internet profitability, but fuck, a simple read through my writing should've cured that anyway (Note to potential employers: The bidding starts at $120,000 a year with full dental).
So I'm out. No more.
I just feel bad for those of you I'm leaving behind. You'll be wearing your Slave Labor Nikes, sweating under a Third World Vest, listening to Everqueer or Fratboy Slim, your hair styled stupidly with gasoline and aborted pig placentas, trying to choke down a Double Meat Fuck Splattered Cow Testicles On The Slaughterhouse Floor Pus Coagulated Lactacious Secretion Yellow Dye #2 Deluxe. Man, will you be looking dumb. It makes me want to cry. You poor, oversugared demographic you. You're filling your apartments, your bodies, and your minds with useless junk. You stagger under your own weight, throwing money in random directions until you collapse and die, buried by a bunch of people who you failed to create meaningful human bonds with, who forget about you on the way home from the funeral.
Maybe I'm just oversensitive, but I actually feel those fingers reaching out at me - cute little girl fingers, feeling at my face like a bind man, pulling at the loose threads all over my brain, trying to find a sensitive one, one that tweaks me. Desires to be successful, attractive to the opposite sex, spiritually satiated, or conversely, the fears of disease, dismemberment, of being outcast, of repressed homosexual desires. Herd mentality as dictated by herd mentality. A gas mask of soiled wool, worn in a steaming shower of chlorinated pond water. A lumbering culture created by profit motive, existing as window dressing to disguise the brutal cynicism of the architects, the brassy checks and balances of accountants bleating commands to the flunky tastemakers on the production line. The subversion of anything subverting. The conversion of something dangerous into something profitable. The gutting of the lion and the championing of the taxidermist. And the puffy vests, my god, the puffy vests....
I give it one more shot.
I hit that little "on" button, and immediately this little red dot appears on my forehead. I feel the barrel rising on the other side of the glass as some powersuited executive attempts to get me in his sights. His scope is the best money can buy, but my nausea and skittishness mark me as difficult prey. I make a sprawling leap over a pile of books, spilling a glass of wine and sending my cats scattering. The TV takes a shot at me. It misses, but after the smoke clears, there's a shimmering can of Pepsi on the coffee table, seductively held by a well manicured (but severed) hand. Then the Taco Bell dog is outside, scratching at my window, singing "That's Amore", the secret code that alerts Col. Sanders and Ronald McDonald to get their tumor inducing grease guns at the ready. "We have a resistor! Alert Cap'n Crunch and Mrs. Butterworth. Tell Hogan to pull that Subaru around!" And then, as the entire posse of 1-800-COLLECT goons attempt to joke their way through the front door, a helmeted uberyouth does a backflip on rollerblades against the window, almost crushing the Taco dog, thankfully getting tangled in the iron jungle of security bars designed for such a moment. The severed Pepsi hand launches itself across the room onto the stereo, turns it to HOTROCK 99.5 FM and starts dancing suggestively on the turntable. Warm, gooey songs ooze from the speakers, blurring the lines between commercial and product, product and art. The walls are running with honey, blood, and Gatorade. Limp Bizkit tries to sign me up for the Rap Metal MasterCard, but is outvolumed by a chorus of creepy NY Gap models, dead eyed and Children of the Damned style, singing nostalgic 80s songs with cool detachment, trying to sell me vests. Close inspection reveals UPC codes on the backs of their beautiful necks and a legion of bulimic girls behind them, mascara mixing with puke on ten thousand toilet bowls. Budweiser frogs are crawling out of the toilet bowls. A one-eyed, mutilated Asian girl holds a pair of new Levi's against the window with a thin, purple arm and starts screeching "It's a Small World After All" at the top of her lungs. Magic, The Old Navy dog, is sniffing butts with the Taco Bell dog, who had since bit the Asian girl on the leg and now yelling something about Gordidas. A waifish beauty suddenly appears on my bed, vying for my attention, trying to talk me into a new car, her hand slowly unbuttoning her blouse, batting her doe-ishly brown eyes, "C'mon Mark. It's only a test drive. No one ever has to know."
Realizing my one escape, I yank my battered wallet out of my back pocket and pull out a twenty dollar bill. The entire scene freezes. All eyes are transfixed to the damp, smelly piece of paper. Andrew Jackson snickers and you can almost smell the cannibalized Indian on his breath. A miraculous cross breeze flows through my apartment, and I let the money go. It catches an upward draft, a hot air thermal, and is gone out the window.
And then, something even stranger happens. The spokespeople, animals, models, body parts, and corporate whores all disappear in a anti-climactic 'puff' of yellow smoke, leaving a slight smell of perfumed intestine twisting through the air. My twenty freezes in mid flight about thirty feet above the ground. A helicopter drops out of the sky, and lowers a rope down to the cash. A man in a business suit slides down the rope, commando style, and captures the money in his mouth, gives a contemptuous snort, mumbling something like "sucker" under his breath. And then the helicopter is gone, vanishing somewhere behind the radio towers spiking the top of Queen Anne Hill. Everything is quiet again.
I didn't just turn that TV off. I unplugged the motherfucker.
Nice. This makes me drool over what we could have in a few years. Mmmm. True broadband.
I just sorta figured it must exist. But a visit to real.com has proven otherwise. In the "Select OS" dropdown, Mac OS X not an option. Is there an alternative player that can play back RealAuido streams for OS X?
When running through my web traffic stats, I noticed a link from Tony Bowden. He has a blog entry up that comments on my comments on the "10 MySQL Best Practices" article from a few days ago. It's too bad Radio users and MovableType users can't use TrackBack together (yet?).
Anway, other than agreeing with me, he goes on to make several good points about storing binary data in MySQL, using ANSI SQL (and the problem of premature portability), normalization, AUTO_INCREMENT fields, and more. Good stuff. Give it a read.
Update: I appear to have hit upon a popular topic. Here's Kasia's take on it, and here's what Brian Jepson has to say.
Is it just me, or are there a ton of Open Source folks picking up iBooks or TiBooks and saying goodbye to Windows and/or Linux on the desktop? I've been noticing it for a while, and reading Nat's blog entry just serves to drive the point home again.
I'm just testing Trackback to see if I set it up right in MT. Can someone else with an MT blog see if it works right?
Update: I made some changes that have probably fixed a bug. Maybe it works better now.
Update #2: It's working. Ask pinged me just fine. Let's see if I can ping him too...
Update #3: It seems that Derek has it working too.
George Reese has an article up on O'Reilly's OnLAMP titled "Ten MySQL Best Practices." I have a few problems with it, however. So I'll take time to detail them here in the hopes that others might think about these issues too.
First off, I'm amazed that anyone still uses the phrase "best practices" anymore. Think about that phrase. The word "best" implies that the author is smarter than everyone else on this particular topic. How arrogant.
Anyway, on to the content. His #2 best practice (see how dumb it sounds? Why can't they be called recommendations? Or lessons? Or...) is "Hide MySQL from the Internet"
MySQL has a pretty solid track record for security of a network service. Nevertheless, there simply is no good reason to expose MySQL directly to the Internet-- so don't do it. When you hide MySQL behind a firewall and enable communication to the server for only hosts running application servers and Web servers, you constrain the path of attack a would-be hacker might take.
But he completely fails to mention that 95% of users could benefit from taking advantate of MySQL's skip-networking option. With it enabled, MySQL doesn't listen to any TCP ports AT ALL. It only listens for local unix socket connections. Given that most MySQL users are running PHP and Apache and MySQL on the same machine, there's little need to leave it open on the network at all.
I'm not saying that this is the solution to the problem in all cases, but he's clearly not aiming at the more sophisticated users anyway. Otherwise he wouldn't have had to tell them to use passwords in his #1 best practice.
Note, also, that he misused the term "hacker."
The #4 "best practice" he lists is "Don't store binary data in MySQL." Instead, he advocates using the filesystem to store binary data. I'm so sick of hearing that argument. A lot of people do store binary data in MySQL and it works just fine thank you very much. In fact, I've found a very useful technique when I need to store large amounts of text (non-binary data). I compress it using Perl's Compress::Zlib and store it in a MySQL blob field. Why? It saves space (and therefore disk seeks on queries). Having the data in MySQL means that I don't have to worry about it being replicated on all the servers it needs to be. I let MySQL do it's job and I get on with mine.
He's likely assuming that the application that needs the data will be running on the same server as MySQL. Either that, or he's saying that you should fragment your data store, putting some of it on one machine (in MySQL) and some on another (in the filesystem). I think that's a decision one should not make lightly.
ANSI SQL Only?
Ah, #5 is one that really gets me. It is called "Stick to ANSI SQL" and says this:
MySQL provides many convenient additions to the ANSI standard that are very tempting for programmers. These additions include timesaving tools like multitable deletes and multirow inserts. When you rely on these features in a MySQL application, you limit the ability to adapt the application to any other database engine. In fact, you may make it impossible to port the application to another database without a significant rewrite. For maximal portability, you should therefore stick to ANSI SQL for your applications.
One of the big reasons to use MySQL is that it's fast. Damned fast. By taking advantage of it's features, you can save a heck of a lot of time in developing your application. The reality is that people don't often move products or projects from one database server to another. Why not? Because they're all different anyway. Yes, they all support ANSI SQL to some degree or another, but if you limit yourself to the least common denominator you're going to waste a lot of development time.
In fact, when Rasmus Lerdorf (the father of PHP) was at Yahoo! a few weeks ago to talk about PHP, he mentioned what a dumb idea most database abstraction libraries are. Why? Because the lowest common denominator across SQL databases is pretty damned low. And I tend to agree with him.
Not using any of MySQL's special features is like programming in Perl and not using Regular Expressions (just because every language does them differently). It doesn't make a lot of sense.
It gets worse. In #6 "Create your own sequence generation scheme" he argues against using AUTO_INCREMENT fields for a few reasons. Let's examine his reasons.
He starts with "you can only have one AUTO_INCREMENT column per table." So what? That's a well documented limitation. It's not a reason to avoid them, it's just something to keep in mind when developing. That's like arguing against using VARCHAR fields because they can hold "only" 255 bytes of data. That's what they were designed to do.
Then he says:
You cannot have a unique sequence for multiple tables. For example, you cannot use AUTO_INCREMENT to guarantee uniqueness for columns in separate tables so that a unique value in one table does not appear in the other table as well.
But he fails to mention how rarely that is a problem. I'd like to see the database design that relies on having unique numbers across tables. If you do need that, then take advantage of some other method. But that's rather uncommon.
Finally, he says "You cannot easily determine from an application what values MySQL has automatically generated." Why would you need to do that? If you code the application properly, that's not going to be an issue. Remember, this is an AUTO_INCREMENT column. It's supposed to be generated AUTOmatically. If your code is generating the values, don't tell MySQL that it should be an AUTO_INCREMENT column. It's as simple as that.
There's a story titled "A Linux user goes back" that's been circulating recently. It's the story of a three and half year user of Linux who has gone back to using Windows on his desktop. The article a good read. It reminds me of my struggle to find a decent OS for the last 5-7 years.
There's even more good reading in this thread on the ArsTechnica forum. Unlike most discussion forums (think slashdot), it's not a flame fest. Instead it's a small group of folks talking about why they use the desktops they do. I wish there was more of that (reasoned, calm discussion) on the web sites I frequent.
Maybe it's time that I tell my story too. Well, maybe the abridged version. Yeah...
Ever since I learned Unix back in 1992 (wow, it's been over 10 years already), I began looking for a "good" operating system to run on my computers. For a while, I ran Windows 3.1. Then Linux came along and I used it for a few days. But it was rather immature. I went back to Windows and stuck with it until discovering OS/2. I loved OS/2. It was a real 32 bit operating system with a decent user interface and great stability. But there were few mainstream applications for it. It was a lot like Linux in more recent times.
I eventually ditched OS/2 for Linux and ran it for a year or so. I had a Linux box on the Internet via 10 megabit Ethernet back in 1994 (or maybe 1993?). It was a lot of fun. I was in college and cared about e-mail, Usenet, Gopher, and browsing the Web. Since I was a Computer Science major, I didn't write many papers--mostly programs. But since I worked in the computer labs, I had ready access to Mac and Windows when I needed them.
Then, in 1996 I got a co-op job working for a mid-sized oil company. There I was introduced to Window NT 3.51 and really liked it. Yes, it had the crappy Windows 3.x user interface, but it ran all the apps I cared about and was really stable and responsive. Not long after that I got my hands on Windows NT 4.0 beta 2 and ran it as my desktop at home for over a year. It was good enough that I didn't care to upgrade to the release version until something forced me to. Finally, a stable OS with a good UI and plentiful apps.
All during that time, I also had a Linux box. It was a Pentium 133 with 64MB of RAM. It was my firewall and proxy. It sat in the corner and did a good job. But at some point in 1999, I re-caught the Linux fever. It was all over the press. The Internet boom was, well... booming. Microsoft was about to go down in a big way!
So I switched to RedHat. I learned all about RPM hell. I got pissed at RedHat eventually. Wanting a better UI and a more "desktop" Linux, I tried Mandrake. It was better. Keeping up to date was a pain in the ass. But I stuck with it. At the end of 1999, I moved to the Bay Area to work for Yahoo!. In 2000, I got religion and moved to Debian. I also bought an IBM ThinkPad 600E to replace the one that I had to leave with my former job.
That's noteworthy because it expanded the range of things I needed a good operating system to deal with. Not only did it need to be a good "desktop" OS, it had to be a good laptop OS too. Linux was just struggling to get there. PCMCIA was still hit and miss. USB worked if you knew how to make it work. But I got the 600E working beautifully. I loved it.
As time went on, I got all my home computers (there were 5 at the peak) running Debian Linux. I had a small army of machines running a bullet-proof OS and I was damned proud of it. I even manged to get 802.11b wireless support working well (a bit of a struggle).
But then cracks in began to appear in the armor. I got to be a very busy person. The tasks that I used to enjoy (figuring how to make X or Y work in Linux) became quite burdensome. I began to value my time far more than I had before. I found myself wondering if I could get things done faster in Windows. It reminded me of that anonymous quote I've seen before:
Linux is only free if you don't value your time.
In fact, I started to feel the truth behind that statement. I spent far too much time trying to make USB stuff work right, setup my new printer, and so on. I'm not stupid. I've been using Unix for a long time, as I've pointed out. It's just that, as any Linux user knows, things aren't always as intuitive or well documented as they need to be.
At work I had two computers. One ran FreeBSD (my main development desktop) and a crappy old P-200 running Windows NT 4.0. The Windows box was there so I could test things in Internet Explorer--just like 98% of our users would actually see them. And at home, I bought a copy of VMWare to install on the ThinkPad. I installed Windows 98 and ran it under Linux. That allowed me to use Internet Explorer, Word, and PowerPoint when I needed to. Life was a little better.
Earlier this year I acquired an Apple Powerbook G4 Titanium (long story). I've been using it a more and more recently. OS X is pretty darn nice. There are a lot of good applications for it. And the machine is self is excellent. I have minor complaints about it, but no more than with any other. I'm not at all tempted to try and install Linux on it.
The two and a half year old ThinkPad 600E was starting to show its age. I had long ago put in a bigger disk (20GB) and more memory (512MB) but it was still sluggish in the VMWare instance. I decided that I needed to get an new laptop and that it probably ought to run Windows (either 2000 or XP). I wanted a laptop because I travel occasionally and really don't see the need for another desktop machine. Plus, I like being able to take my computer to work once in a while.
Thanks to EBay, I got a new IBM ThinkPad T23 with a 1GHz CPU, 512MB of RAM, a 48GB disk, and Windows XP professional. I'd have rather had Windows 2000, but XP is reasonable.
So now I have three laptops. The oldest runs Debian Linux nicely, the new ThinkPad T23 runs Windows XP, and the TiBook runs Mac OS X. Amusingly, I find myself using the XP and OS X machines 98% of the time. Sure, I often SSH to work or one of my co-located Linux servers (there are two of those), but for desktop use I find both XP and OS X to work quite well. They're still far better than what's available in the Linux world.
Linux may be headed to the desktop someday, but it's not there yet. Maybe in a few years. Linux is great on the server. So is FreeBSD. I can only see limited reasons for ever running a Windows server. The same has become true of a Linux desktop.
That's the short version.
Don't get me wrong. I still use Linux a lot, just not on my desktops (or laptops).
I got some spam yesterday. I run SpamAssassin aggressively, so I don't see most of the spam directed at me. But this one was different. It was different because it went to my pager. That' right, my cell phone got all exited about it. And I got VERY, VERY PISSED OFF about it.
I decided that this particular spammer had crossed the line. (In fact, I later found that they had spammed ALL of my virtual domains). It was time to fight back. This spammer was also a little strange in that they asked you to reply via e-mail if you are interested in their "offer", so I did.
I wrote a Perl script using Net::SMTP that talked directly to their mail server and delivered messages to them on my behalf. In fact, it would do that in a loop. I let it run for a few hours from a few machines. By my calculations, I had sent them about 50MB of messages (a few thousand, in fact). I could have sent a log more, but there's a lot of hops between me and their server (hosted in Asia, of course).
I have access to A LOT of network bandwidth. They probably didn't expect that.
I figure that they'd either null-route my servers or they'd get the point and take me off their list. Either way, I'm happy. But there's no way to be sure, so maybe I'll fire it up again later today and send a few hundred thousand "did you take me off your list? I await your reply!" messages.
I really hate spammers.
Doc has an interesting presentation that's now on-line. Anarchy & Infrastructure was first delivered at this year's Jabber Conference. Good stuff.
Doc Searls has an interesting entry in his weblog today about RF interference and the impact that notebooks with WiFi electronics may (or may not) have on commercial airlines. As someone who is likely to use a TiBook on the plane (it gets over 4 hours on a charge!), I wonder about this. After all, I did recently put an AirPort card (ironic name, huh?) in it. And removing the card is a non-trivial task.
Leave it to the Perl community to come up with a shell that can perform all sorts of cool tasks. The XML::XSH module and the accompanying xsh command-line shell provide a ton of ways you can browse, manipulate, and transform XML documents using a shell-like interface. Check out this story at O'Reilly's XML.com for details.
Damn, it's hot!
Ya know, ever since I moved to the Bay Area, I've loved the weather. Except for those 5-10 days a year when it gets REALLY HOT. Why? Because my crappy apartment doesn't have air conditioning. And I'm not about to spend EVEN MORE money just so I can have it for a few days of the year.
Grr. Why is housing so damned expensive here? This sucks.
There' a very good article over at K5 that talks about the events leading up to Palladium and how Sony (and others in the entertainment industry) influence the process.
All signs are pointing at a release of MySQL 4.0.2 very soon. Lots of bugs fixed since the 4.0.1 release. We've been running 4.0.2 pre-releases in Yahoo Finance for a few months and it's been going quite well. Check the MySQL home page for 4.0.2 to appear soon.
Given that MySQL 4.0.2 will probably be labeled "beta", don't run it in production unless you know what you're getting into. Thankfully I do. :-)
I noticed an entry in Derek's blog about having installed IMP and being really happy with it. I'd like to take a moment to mention that IMP is one of the two great web-based mail systems available on Linux. The other is SquirrelMail, which I have running on my Debian box. It's just as easy to install and has a nice interface. If you're in the market for one of these, check them both out.
Expect a discussion of these in Linux Magazine later this year.
As the story over at Wired explains:
About 50 AIDS activists shouted, whistled and booed their way though a speech Tuesday by U.S. Secretary of Health Tommy Thompson, who delivered the entire, inaudible address shielded by nearly a dozen Secret Service and other security agents.
I love it when folks in other countries treat our "leaders" with the respect they deserve. I honestly don't know why shit like this doesn't happen more often.
Go read the article. It'll bring a smile to your face.
I've had to try and explain to several folks lately exactly what a blog is. It turns out that there's a pretty good definition right here.
The folks over at www.yahotties.com have taken upon themselves to collect all the "interesting" pictures that appear on the most viewed articles page at Yahoo News. Yeay! Now I don't have to remember to check it myself every day.
Over at Better Living Through Software, there's a great piece on the deep linking debate. My favorite quote is:
The only reason you would assign a URL to a page is so that people could link to it. If you don't want people hyperlinking to a page, you just don't give it a URL.
But go read the whole thing. It's not that long.
Apparently there are more than a few people who are big fans of Office Space, just like me. The difference is that these folks are all excited about getting their hands on a red Swingline stapler.
OBE is "Out of Box Experience," of course. Anyway, here's a page on which Chris Barrus unboxes his iRack (I mean "Xserve") and lets us watch. I was there for the big announcement, but haven't had the change to play with one of those yet. I'd like to. Apple, are you reading this? (Of course not...)
If I ever move to a place where I can afford to build a house (rather than renting an expensive crappy apartment), I'll seriously think about building a nice home theater. Check out this setup and this setup to get an idea of what inspired this thought.
Oh, it would also help to have a lot of cash to throw around. Those things don't come cheap.
Well, it's about time. I mean, who didn't see this coming someday? Anyway, here's the story at news.com.
A few days ago, I decided to finally do something about my Apache logging mess. The "mess" is that I host about 15 virtual domains on a couple of colocated Linux servers. Most of the domains either belong to me or my friends. A few are business related. For the longest time, I've had apache configured to log in the typical combined log format with one log file per domain. I haven't rotated (or cleaned up) the logs for a long, long time.
Enter mod_log_mysql, an apache module that allows you to log directly to a MySQL server, optionally logging to disk as well. The module is simple and straightforward to setup. Most importantly, it Just Works. There's even a cool MySQLMassVirtualHosting option so that it'll log each domain to a separate table and even auto-create new ones as you add domains to your apache configuration. Very cool.
I did manage to find a bug along the way. The module didn't properly quote table names. So if you have a table named something like advanced-mysql_com (all dots become underscores), MySQL will barf on the INSERT and CREATE TABLE statements. But since I had the source code, it was quite easy to fix. I'll be sending a patch to the maintainer soon.
Why this is so cool.
Once everything was up and running smoothly, I had a number of MySQL tables collecting data about traffic to my various web sites. "So what?", right? The cool thing is that by adding a couple of indexes to make queries fast (there are no indexes by default), I can whip up a PHP-based application that presents interesting stats to me in real-time. The PHP app isn't done yet, but it's quite functional for providing a high-level picture of what's going on. I can see which of my blog entries are the most popular, who is visiting them, and where they came from (referer tracking).
More to do.
I'm not going to make the URL public yet, because the app needs some work and a good security audit. But now that the data is in a more accessible format, I can do tons and tons of stuff with it. I plan to have a module on my blog index page that lists the most popular entries in almost-real-time. I could have it updated every minute or two without putting much of a drain on the system at all.
The other thing I need to get around to is importing a few years worth of old log data from the existing access_log files. That's just going to take a bit of time to write a Perl script to do the job. Once that's done, I'll be able to answer a lot of interesting questions about my web sites.
The web is a funny place. Somehow I ended up on a site that was selling Buffy the Vampire Slayer DVDs. It had a link to information about DVD region encoding (they sell both region 1 and region 4 discs). That linked over to a site with a nice list of DVD player hacks.
I took the day of work to do random stuff around my apartment. Part of the fun involved two trips to Fry's for parts I needed. On the first trip I wanted to get some more rounded IDE cables. While there, I thought "what they heck..." and picked up an AirPort card for the TiBook.
After hitting the Apple web site to figure out how to make it go, I realized that (a) the card is internal and won't use the only PCMCIA slot ( yeay!), and (b) I needed a special screwdriver to open the TiBook. I didn't have said screwdriver, so I had to make a second trip to get the screwdriver. While there, I also picked up the notebook backpack that I was tempted by on my first visit.
Anyway, once I got it all setup and installed the AirPort update software, it was like magic. It found my LinkSys WAP11 gateway without any trouble and I was completely wireless. Of course, the next order of business was finding a good client-side blogging tools that runs on OS X. After a bit of looking around, I found BlogApp. I used it to post this story. It's a log like w.bloggar on Windows except that it has spell checking built-in. Excellent.
BlogApp is shareware ($6) and if it works out well, I'll click the PayPal button and make it official.
Ever wished your Web browser understood little scribble marks like your favorite handheld OS does? Then MozGest is for you.
No doubt, it's big news that Microsoft is going to be at LinuxWorld this year. As reported by The Register:
Microsoft is to exhibit at LinuxWorld Expo this August, and it appears that the company wants to be nice. Yesterday, Linux Today spotted the Beast's presence on the Expo exhibitor list, and after publicising this was contacted by an apparently kinder, gentler Microsoft.
I really hope that the Open Source "movement" can get over itself and actually talk to Microsoft rather than simply stopping by their booth to poke fun at Windows and make joke about how scared billg must be of the almighty Linux.
Look at it this way, with Microsoft at the show, LinuxWorld is certain to attract a larger than normal crowd.
Microsoft is not the enemy
As Adam Goodman has so often pointed out to me and others, Microsoft is a fact of life. They're in the business of building software and selling, just like a lot of other big companies (Oracle, SAP, etc). They're affected by the changing landscape as much as every other company. And you know what, they're a very, very smart company. But they're also very concerned about Open Source.
Why are they coming?
Why not? They're trying to figure out how to deal with Open Source. As a smart company, they're attacking the problem for multiple angles--often at the same time. They've run advertisements in Linux Magazine, attacked the GPL, appeared at the Open Source Convention, and so on. Little that they've tried so far has worked. But they're not quitting. They rarely do. They're used to wearing down their opponents until they give up or go out of business.
The Open Source movement, as we all know, is quite different. Microsoft has never really faced a challenge like this before. There is no company to buy or put out of business. They're battling a large volunteer army.
The point is that Microsoft probably still doesn't quite "get" Open Source, so they're doing everything they can to learn about it. Their shareholders would expect no less. That's why they're coming to LinuxWorld.
What should we do?
Nothing. Treat them as you would any other company seeking to learn more about Open Source. If you really believe that Microsoft is capable of destroying Open Source, think again. Despite the jokes of world domination, Open Source has never been about winning anything. It's about building great software and a great community. I don't think that attacking Microsoft helps do either of those.
Microsoft is coming to LinuxWorld. So what? No, it's more a matter of "it's about time!" They've supposedly been a leader in software innovation all these years, but they've been notably absent from one of the more important conferences year after year. It's good to see them getting involved.
the process of inventing and promoting a meme while simultaneously identifying yourself as the creator of that meme. It's an ongoing media event, and it's yours.
I saw a reference in The FuzzyBlog! to a piece of software call Drupal that seemed worth checking out.
Drupal is the English pronunciation for the Dutch word 'druppel' which stands for 'drop'. Drupal is a content management/discussion engine suitable to setup or build a content driven or community driven website. We aim towards easy installation, excessive configuration and fine-grained maintenance capabilities. Due to its modular design Drupal is flexible and easy to adapt or extend. Drupal is written using PHP. The source code is available under terms of the GNU General Public License (GPL) .
Now I know this is difficult to quantify, but Drupal just feels like a much more professional project than PostNuke, PHPNuke, or similar projects. It reminds me a bit of the feeling I got when I looked at Scoop a while back.
Here are the cool things that caught my eye about Drupal:
Anyway, give it a look if you're in the market for a good CMS/discussion system. I am.
Well, sort of. In this blog entry, he explains that he switched from Radio UserLand to MovableType and AmphetaDesk for a variety of reasons. Amusingly, I made the very same switch a couple weeks ago for almost the exact same reasons. Spooky. We both ran Radio under VMWare. The only difference is that I'm running AmpetaDesk on my new XP-based laptop. But I could run it on my OS X TiBook or my older Linux-running Thinkpad. That's what's cool about AmphetaDesk (and that the author recently mailed me about some neat ideas).
My plan is to get AmphetaDesk working on one of my co-located servers this weekend. That'll be just another piece of my making the desktop irrelevant plan that I've yet to articulate in public. Pateince...
As reported in this BBC article:
So, with about 300 billion stars in our galaxy, there could be about 30 billion planetary systems in the Milky Way alone; and a great many of these systems are very likely to include Earth-like worlds, say researchers.
Thanks to Ye Olde Phart for the link.
While catching up on blogs, I found a an entry over on Windley's weblog called REST and Hyperlinks. I wasn't quite sure what to make of the title. I hadn't seen the REST before. Being rather well-versed in Web stuff, that surprised me a bit. It shouldn't have (long story). But it made reference to an article that Jon Udell had written for Infoworld (his new employer) a few months back. The article is called Hyperlinks matter.
Jon's article hit a nerve with me--one that I didn't know was there until I read the article. I've always wondered about the various protocols for so-called "Web Services", namely SOAP and XML-RPC. What bothers me is that they're called Web Services in the first place. It feels like there's no Web in them at all. The Web has never been about APIs. It has always been about information (typically documents) and URLs (the addresses of those documents). Over time applications (and URL-based APIs) naturally appeared as folks figured out how to marry databases with Web servers, write CGI scripts in Perl, and then move to things like PHP and Java. But SOAP and XML-RPC have always seemed like they're just trying to piggyback on the fact that port 80 is open on virtually every corporate firewalls. They just feel like a solution to a problem that we really don't quite have yet.
Anyway, after reading Jon's article and mentally nodding my head in agreement, I headed over to visit the other two items that Windley's weblog referenced. In Second Generation Web Services (and part two, REST and the Real World), Paul Prescod presents a compelling argument against the new Web Services standards (UDDI, SOAP, etc). His claim is that the existing HTTP infrastructure and some simple XML would go a long way toward building Web Services with tools and technology that have been around and proven for years already.
I'm inclined to agree with Paul. Having been part of the Internet in one way or another for the last ten years or so, I find that his view of what could be just feels like the right solution--for now.
Update: After posting this, the Google API plugin for MT added an interesting link to a blog I already read. Over at diveintomark, there's a good set of links and some commentary about the REST vs. SOAP debate.
Update #2: Check out the RESTwiki. Lots of good information over there.
So it seems that LinuxDailynews.net is on-line now. But I can't find the RSS feed to snag the headlines. Anyone know the url?
Update: the URL is http://linuxdailynews.net/backend.php, but there's a bug. It's not producing valid XML currnetly. (What does that say about PostNuke?)
Adam Curry's weblog noted this amusing little flash animation. What a way to start off the day. :-)
Rob Flickenger, the author of Building Wireless Community Networks, has an article on the PC Magazine web site called Broadband Block Party. Reading about the spread of wireless networks has made me realize two things.
First, I really wish I was back in college again (and had money this time). This stuff would be a blast to play with. Sure beats making ethernet cables by hand and the sort of stuff I had to deal with.
Secondly, I'm really starting to see this as the next frontier for geeks and non-geeks who can't get easy access. A few years ago, everyone was getting a computer and trying to figure out how to make a modem work so they could dial-up to this new Internet, few really knowing what it was. Now folks are able to build their own internet-like infrastructure for remarkably little cash.
Unlike a lot of computer-related activities, wireless technology actually encourages you to get out and meet your neighbors. And, of course, it's a lot of fun. Just when the Internet is starting to feel "taken over" by the corporate interests and big media giants, 802.11b provides a glimpse into the future.
I just hope it doesn't take very long for that future to get here. I'd love to be able to boot up my notebook in any moderately sized airport and find that I've got a signal. I'm a little puzzled as to why you can't already do that. It sure beats the little laptop "workstations" I've seen in some airports.
I found this article over at Newsforge to be a refreshing read. It's the story of how Snort, the Open Source Network Intrustion Detection System (IDS) came to be and the company that grew out of it. Maybe this is a sign that you still can make money in Open Source in the post-bubble era.