Last night was a first for me. I made my first contribution into a CVS repository for Debian. I had made no changes to the content, but nonetheless, I am pretty excited about it. Just seeing my Debian login on the CVS repository was gratifying. Looking forward to getting the 1.4.3 version of the Lucene Debian package done, thanks to the help I am getting from Jeff Breidenbach.
Another Saturday afternoon at the Caribou by Emory University. Despite my heinous work schedule of late and a number of other pressing concerns, I decided to carve out some time to work on my Debian involvement today. That led me to start with the Debian Developer's Corner.
You know that part in The Fellowship of The Ring where Galadriel is offered the One Ring from Frodo and she does that little speech where her voice changes and light shoots out of her body? The one where she says, "all shall love me and despair?"
Yeah, love and despair at once. That probably sums up my initial encounter with the documentation. I started with the Debian Policy Manual, then soon hopped over to the New Maintainer's Guide in hoped of garnering some sense of accomplishment. There's a reason that Debian is so rock solid. Its developers are quite diligent folks. When you first come to this mass of process, it looms before you like a smooth, monolithic obelisk that you somehow have to scale.
I am going to have to take this in manageable chunks; chip away at it bit by bit. I think I have gotten chilled today and am in the process of getting sick. Time to make for home and begin treating the coming sickness.
This weekend I actually got my account set up on Alioth, the development environment for Debian GNU/Linux. I have signed on for involvement with the Eclipse packaging project and the Lucene packaging project. The timing is a bit off, as I am heading into a 60-hour week at work, but I think that is the norm when you are moonlighting for open source. It's catch as catch can, most of us (if not all when it comes to Debian) working purely as volunteers.
I have to admit that I am pretty excited about being "officially" involved with Debian. I hope to be able to come up to speed quickly on the processes and policies, but there's quite a bit of that to work through. I don't mind, though, because the organization and discipline of Debian is a major part of its draw for me.
Sun was told by folks at my local Linux user group that we would like to demo their Sun Java Desktop System (JDS) at one of our meetings. They subsequently became alarmed and insisted that their people needed to demo it, so the whole user group should come to their facility here in Atlanta. For those who don't know, the JDS is a Linux distribution packaged by Sun with an office suite, email client and (I think) Java IDE for around US$150. Sound pretty innovative? Add up the cost of your last Windows upgrade, what you should have paid for your pirated copy of Microsoft Office, and you get past $150 really quick. Neat idea, huh?
UPDATE: Thanks to the watchful eye of my friend Tom Kovarik, it has been brought to my attention that I failed to include that the JDS has an Exchange-compatible email client.
Well, yeah, in some respects.
I don't know if it's going to fly. If it did, I would really get a kick out of that. Anything to diversify the computing environments out there. If this causes some corporations to migrate away from Windows and Office, great. It's not like Novell hasn't already been working on this with SuSe. Heck, you can download a CD of that for free via FTP.
The topic at Atlanta Linux Enthusiasts meeting tonight was Linux and Java - a can't miss for me personally. It was a great meeting, and Bjorn Roche and Michael Hirsch stepped up to the plate to give some great discussion-inspiring presentations. Java is a controversial topic with Linux folks; the cross-platform nature really appeals to some and the strict Sun licensing and closed source code reviles others.
There's pretty much no other platform that offers the ability to write an application and deploy it on Windows, Linux, and Mac OS X with a little bit of packaging. That "little bit" can be maddening sometimes, but by comparison there is not another platform with the level of tool support and richness of APIs that can approach Java.
I could go on about it, but I am out of time. Maybe I will have some further installments later.
So I can't wait any longer. Even though 1 package showed up as broken, I went ahead and installed Gnome 2.6 on my Debian sid installation. Oddly enough, the one broken package did not show up as broken afterward; go figure. Gnome is really pretty compared to KDE; much more intuitive and form-follows-function in my opinion. More Mac-like than Windows-like, which is a good thing with me. I now have to wean off of KPPP for GPRS and learn to write my own chat scripts, but hey, it has to happen sometime. I am just glad to be in position where it's a matter of learning an alternative means for GPRS connectivity versus hoping and praying that I can even get it to work.
The Atlanta Linux Enthusiasts (ALE) had an installfest today, and I was able to attend the latter half of it. It was great fun, being in a big room with Linux boxes of all shapes and sizes accomplishing all manner of Linux tasks and tricks. I also won a door prize, O'Reilly's Building Secure Servers with Linux - pretty cool!
It was good to put some faces with names from the ALE mailing list. I also enjoyed fielding some questions about Linux on the PowerPC platform.
Those who have been following my weblog may see a bit of apparent contradiction between my recent move to Linux and my resignation from attempting to run Linux in June of this year. For both of you, I would like to attempt to explain.
I am fond of analogy, particularly in areas where a point is hard to communicate or rather abstract to the listener. In my early twenties, two of my best friends and my dad (who is another best friend, truth be told) all went skydiving together. It was an accelerated freefall program; 8 hours of training and 45 seconds of freefall with two trained folks holding you by the arm and then a 3-minute parachute ride down. Anyway, there is this cliche that skydivers say over and over, "why would you jump out of a perfectly good airplane?"
Commercial operating systems are very much like the "perfectly good airplane." They're fine, for the most part. They more or less get you where you want to go, and at a cost that is not too outrageous, though sometimes exorbitant.
I know why people jump out of perfectly good airplanes. I know because I did it. I also know that all people who ask that trite question tend to share one thing in common; they don't know what's outside that airplane, and they don't want to know.
Although it is inferred by the previous post, I can now say that I have made the transition to Debian GNU/Linux as my primary operating system. My email has been migrated over for weeks (go Thunderbird!), along with my non-multimedia files. With the advent of Eclipse 3 on my install, all of my Java development projects are moved over. Did I mention that the MyEclipse IDE plug-in works just fine?
The really huge breakthrough for me was getting GPRS working over Bluetooth. That was do or die, and for days I had been lugging another PowerBook running OS X to work that served as a wireless access point for my Linux PowerBook. Talk about motivation to get GPRS working! My laptop bag was instantly six pounds lighter. I figured that would incentivize me to take the time to work it out and not cop out by switching back.
KDE is pretty good; the KPPP applet is what I am using for GPRS. However, I think I might like Gnome better. Most of my critical apps are GTK-based. However, when I look at installing it via aptitude, I usually get one or two complaints about broken or unavailable packages. That's enough to scare me out of it; my GTK apps breaking in the past have been part of my past Linux desktop migration disasters.
Having hardware that Linux can work with has been a lifesaver. If you are thinking of switching to a Linux distro, for heaven's sake do your homework on your hardware, especially if you are looking to purchase hardware. Don't go for the latest and greatest; that's a recipe for misery and disappointment. Plus, you will find that Linux with older hardware probably runs as good or better than the proprietary operating systems on the latest and greatest hardware. That's not biased, manical raving, either. Booting back and forth between Debian and OS X, I have gotten a kick out of the difference in speed for certain things like application launches.
The keynote speaker of the the Atlanta Java Software Symposium (AJSS) was Dave Thomas of Pragmatic Programmer renown. This first day was a handful; three back-to-back sessions on Spring by Bruce Tate. I learned today that Bruce is now employed by Interface 21, the company behind the Spring Framework. But, this post is about Dave's talk...
Dave drew analogies between the approaches that artists and programmers take to doing their work. The talk had three main topics:
- Knowing how to start
- Knowing when to stop
- Satisfying the customer
I have never heard a perspective on the practice of programming quite like that, and it echoed with some of my own personal feelings about it. Admitting the art in programming is uncomfortable for some people, particularly those who hold so dearly to the idea of programming as an engineering discipline. If there is art in programming, then it cannot be distilled into a body of terse maxims. If programming is partly an art, then a number of silver bullets like heavyweight methodologies and model-driven architecture are built on less-than-reliable presumptions.
About nine months ago, I was giving model-driven architecture (MDA) and the full gamut of UML a hard look, wondering if they could indeed deliver on their promises. God knows there are enough companies pouring millions into efforts to market them. The same can be said for the now-discounted Enterprise JavaBeans (EJB) 2.1 specification. The more time I spend looking at lightweight methodologies and what they have already accomplished, the more critical I am toward the once-received wisdom about enterprise application platforms.
Should you have a chance to hear Dave speak on this topic, don't pass it up.
I still don't have GPRS over Bluetooth working in Debian GNU/Linux; a shame, it sure would be handy at the conference.