Novell Ships Enterprise Desktop Product

According to Novell.com, Novell has released their enterprise desktop distribution, Novell Linux Desktop.

You can read the press release on their web site.

I started running SuSE Linux when Redhat stopped doing retail distributions in lieu of the Fedora Project and never looked back. I had run SuSE 8 back in the day and wasn’t really impressed. They have done a great job on the distributions since Novell bought them, integrating the Ximian desktop into the product. I’m interested to see what the new desktop product looks like.

My reasoning for the switch at the time is that I just don’t like downloading distributions. I like being able to go to the store, buy a distribution, and install it without all the headaches of waiting hours for a download and burning the CD’s myself. I guess the whole CD burning thing is one thing that I haven’t really embraced yet.

It wound up for the best, as I think SuSE is one of the best distributions I have run thus far, from a “consumer wanting a desktop” perspective.

Practical Subversion by Garrett Rooney

Practical SubversionI received an advanced copy of Practical Subversion by Garrett Rooney and read through it over the weekend. Mr. Rooney is a contributor to the Subversion project and has authored the latest book about the software.

Before I actually talk about the book, I think it would be helpful to point out that while I did receive an advanced electronic copy of the book in order to review it (probably due to other postings related to Subversion on this site) I am not being paid to review it. My interests in agreeing to read the book and write about it are solely to point out valuable resources to help people looking to implement Subversion in their environments, not to get paid. As I’ve written before in previous postings, version control and software asset management is an area that I see missing in many corporate software development environments (and worse than that, in many developers skill sets) and an area that I find very important from both a quality and team productivity perspective. My interests lie in highlighting this and pointing out books and tools that help people implement these tools in their environments.

Now with that out of the way, let’s talk about the book. In many respects, this book is a lot like the Pragmatic Programmer series of books. The book starts with some history of source control in general and source control systems like CVS and Perforce. He then gives you a brief history of the Subversion project and then spends the rest of the book walking you through using the tool.

This is a great book for beginners and a good reference for those of us who have used it for a while. The subjects covered include “A Crash Course in Subversion”, which is a 46 or so page detailed description of the Subversion commands with scenarios he walks you through, including setting up a repository, checking out a workarea, branching, merging, switching your workarea to another branch, committing and setting properties on files. There are also chapters on repository administration, repository migration, and advanced Apache integration (a chapter that while I knew most of the things covered, I found a few tidbits I didn’t know and am really glad that someone has finally covered this subject from a Subversion Administrator perspective).

Practical Subversion also has a chapter dedicated to Subversion Best Practices. This chapter outlines some of the recommended best practices for version control in general, but in the context of the Subversion system. It covers subjects such as the use of vendor branches to manage third party source code, using branches, rolling releases, and using test suites to test your code. This is a very good chapter of practical advice to help one manage the concurrent development of software using a source control system.

The section on branching best practices has some good advice but recommends the frequent merging of the trunk over to branches in order to ensure you are developing and testing the change in the context of the work going on in the rest of the project. While this is good advice, it also introduces other problems which aren’t covered. Subversion does not currently have merge tracking support, and in many instances in which you do frequent merges from the trunk to the branch in real life, you will run into conflicts when merging the branch changes back to the trunk where changes appear in both the trunk and the branch. In practical use, we have found that in order to do this effectively, the developer has to keep track of the revisions in his branch that resulted from trunk merges and merge around them when merging back to the trunk in order to effectively implement this best practice. Once the tool supports merge tracking this shouldn’t be an issue and is definitely a practice that should be followed. If you have dedicated staff to keep track of this stuff, this is the best way to do it. Your average developer, however, does not really want to learn enough about the tool to do all of this record keeping and you may hear frequent complaints about the extra work involved when doing frequent merges from the trunk to your development branches in real life.

Chapter 7 of the book cover topics such as integrating Subversion with existing tools, such as the bash shell, emacs and Ant, along with using Subversion on the OS X platform. It also covers other tools available for use with Subversion such as ViewCVS and SVN::Web. Finally plugins for Eclipse and Visual Studio .NET are briefly covered. This is a great addition to the book and something that I wish I had had during my initial planning of my Subversion rollout.

Finally, Chapter 8 covers the use of the Subversion API. This chapter starts off covering the use of the Apache Portable Runtime libraries relevant to Subversion and then covers the client, repository access and file system APIs. This chapter in and of itself is worth the price of admission in my opinion. This chapter is mainly for those who want to take advantage of the application libraries that the Subversion tools are written around and write their own tools around the Subversion tool. The Subversion team has done a great job of documenting the Subversion system as a whole, but the API documentation is sorely lacking and this chapter gives a really good high level overview of the API’s and how to use them.

Overall, I really liked the book. As I said earlier, this book reminded me a lot of “Pragmatic” series of books. It really is “Practical Subversion”, catering to both beginning and advanced users alike. The book will definitely be a great addition to my library and I recommend it for those who want to implement version control quickly in their environments. This book does not replace the Version Control with Subversion book, but it’s a great addition to it.

The only thing missing from this book that would make it completely indispensable is a chapter on setting up an automated build system with Subversion, using tools like CruiseControl. This small thing aside, there really isn’t anything missing from this book to get your development group up and running on Subversion.

10/31: Fallacy Show

The Battle of the Bands online-voting results flashed on the tarp high above our head. Sean’s neon-orange guitar sat on the left hand side of the stage directly in front of us, and to the right leaned Chris’ bass; covered from front to back in band stickers. Purple lights shone brightly on Eric’s drum set towards the back of the stage, and the three towering microphones stood tall at the very front edge.

In the back corner of the stage, the five members of Fallacy snuck a peek at the screaming crowd ahead.

“FALLACY! FALLACY! FALLACY!”
“YEAH, BABY! BON! BON! JUST ROLL WITH IT, BABY!”
“I LOVE YOU, SEANNIE BOY! YEAH, SEAN! WE LOVE YOU!”

Fans, best friends, family members, total strangers. It seemed like everyone was there to see Fallacy. And they couldn’t be prouder.

Sean “Bon” Peters, Chris Held, Jake Boulay, Jake Schnall, and Eric Becker finally took the stage, and the crowd went wilder than I ever thought possible. Opening with “Horrible Inspiration”; a heart-touching song about a young girl’s long battle with Leukemia, we all knew our cue to chant along with Boulay’s wrenching vocals. “SCARS, CUTS, BRUISES!” erupted from every which way. The song ended, and Sean stepped up to the mic.

Screaming “Happy Halloween!”, his face assumed the regular ‘Sean face’ that everyone knew.

“Yeah guys! You having fun?” Joined in Chris, while secretly mouthing ”Mosh Pit!” to their friends in the front, right next to us. (Of course, this fact didn’t become apparent to us until a video camera came smashing down on my best friend’s head, and the staff had to break up the two-second-long mosh pit.)

After a few more songs, technical dificulties, camera-dancing, and amazing stage antics that only these five boys could bring, it was time for their closing song. And we all knew what was coming.

Motioning with his head, Sean told Boulay to fix his mic, causing him to miss the first few words of the song (which we proudly helped with.) “Careful, Your Fangs Are Showing“, always a fan-favorite, led every Fallacy fan into the night. Boulay’s voice was very well complimented with Sean’s screaming addition of “BLOOD RED! BLOOD RED! BLOOD RED!” and Chris’ joining in shouting “STANDING! BY MY! SIDE! STANDING! BY MY! SIDE!” To make this, by far, the best song of their seven-song set.

“We are Fallacy! Goodnight!”

FOR MORE INFORMATION ON FALLACY (Located in St. Charles, IL) GO TO FALLACY’S HOME PAGE. SONG LINKS AVAILABLE HERE.

Movie Rental: The LadyKillers

We rented The LadyKillers on Saturday night. This was not a movie in our “must see” list, however we rented it because Tom Hanks was in it and given his track record we figured that if he elected to do it that it would have some level of quality — or at least be tolerable.

This movie SUCKED. It moved very slowly and Tom Hanks just droned through the whole thing. The movie was extremely painful to watch, as it seemed to go nowhere.

The premise of the movie is that Tom Hanks is a criminal masquerading as a scholar leading a renaissance band. He rents a room from a woman who lives near a casino boat so that they can tunnel through her basement to the vault and steal the money from the vault. The whole band idea is an excuse to use the basement to “practice”. The woman gets suspicious and the rest of the movie is full of rediculous attempts to bump her off.

That is really it as far as plot goes. Forgetting that it’s a stupid idea to begin with, the movie just sucked, and we couldn’t wait for it to end. Unfortunately, no matter how bad a movie is, the chances that we will actually turn it off are close to none, so we sit through the whole thing since we went through the trouble to rent it.

It would be far less painful (and probably more constructive) to spend the 104 minutes repeatedly pounding your head against a concrete wall than sitting through this film. At least the pain you feel at the end would be something you signed up for.