Skip to content

Long Time No Blog

12-Oct-09

Yes, I’m still alive.

Yes, I’ve been quite absent from this blog and elsewhere on the interweb and that’s mostly due to (in no particular order): 1. Work and 2. Family Commitments.  I know I am not alone in dealing with these two issues, and they are good problems to have.  A steady job in this economy is critical and spending time with my wife and two young boys, while they are still young, is likewise a no-brainer.  I “retired” from the Linux Reality podcast precisely for these reasons, and then promptly got involved in waaaay too many projects.  As a result, I’ve had to cut back significantly on my computer and hobby time and that will not change for the foreseeable future.  Besides, I am getting to be a cranky old man and probably need to spend some time on the sidelines and watch the real hackers and playahs do their thing.  :-)

So, don’t mind me.  I’m just kickin’ back, sipping a Pilsner Urquell, and enjoying the scenery.

Work and G1 Phone

26-Jul-09

So it has been awhile since I last posted … the delay has been primarily due to the crazy work schedules my wife and I have been dealing with lately.  As a result, I have been pretty disconnected fron the ‘net the last several weeks and, unfortunately, that may not change too much in the near future.  With my kids’ summer camps winding down, school will be starting again in just a few weeks and with that, after-school sports and other activities.  Those are the things I just cannot miss.

Still, there is one piece of tech news to report:  I have followed in the footsteps of Pat from the Linux Link Tech Show and bought a used, unlocked Android G1 phone off Craigslist.  This phone rocks!  I am still on AT&T and as a result, I can only use their EDGE network and not 3G, since the phone is tied to T-Mobile’s 3G network (and T-Mobile has not yet expanded their 3G network to Raleigh).  Regardless, the EDGE speed is fine and the number of G1 apps is amazing.  It is great being able to SSH in to my home machines using my phone.  :-)

Being a long time Palm Treo user, I also played around with the new Palm Pre.  THAT is one cool phone.  I will probably move back to Palm with the next-gen Palm Pre, especially since it appears AT&T will pick up the Pre some time in the next year.

Now, I need to find a good case for the G1.  Any suggestions?

Microsoft, ECMA, and the Community Promise

07-Jul-09

Well, this is all over the blogosphere this morning:

Microsoft will be applying the Community Promise to the ECMA 334 and ECMA 335 specs.

ECMA 334 specifies the form and establishes the interpretation of programs written in the C# programming language, while the ECMA 335 standard defines the Common Language Infrastructure (CLI) in which applications written in multiple high-level languages can be executed in different system environments without the need to rewrite those applications to take into consideration the unique characteristics of those environments.

Miguel de Icaza further explains:

“Astute readers will point out that Mono contains much more than the ECMA standards, and they will be correct.

In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA + A lot more into two separate source code distributions. One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others.”

This appears to be good news, although it would be great to get the Software Freedom Law Center to chime in with their interpretation of this development and the Community Promise “license” itself.

Nevertheless, this is a welcome development. I think there are still two interesting points to make about this announcement:

1. Miguel has stated that they will be splitting the Mono stock into two pieces: “One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others.” To me, this separation of code certainly implies that, since the ASP part will not be covered by the Community Promise, Microsoft has tacitly acknowledged that they retain an interest in part of the stack. In other words, the concerns of the “anti-Mono” crowd appear to have been legitimized since today’s news clearly states that the entire Mono implementation is NOT covered under the ECMA standards. Presumably, the ASP part is still subject to Microsoft’s intellectual property. Thus, it was justifiable to raise the concern of submarine patents vis-a-vis Mono.

2. Although Miguel says that the Mono folks approached Microsoft a “few months ago” to clarify the licensing issue, I do not believe we would have this most recent development if the “anti Mono” crowd had not raised its concerns. In fact, today’s news seems to be a tailor-made response to many of the questions raised in recent weeks.

So, to all who have said that the “anti Mono” crowd are a bunch of “idiots”: think again.

RMS on Mono

29-Jun-09

I always thought RMS was strangly silent on the Mono issue, other than passing comments or references here and there.  He has now posted a short, concise summary of his views on C# and Mono.  He sums up his points as follows:

The problem is not in the C# implementations, but rather in Tomboy and other applications written in C#. If we lose the use of C#, we will lose them too. That doesn’t make them unethical, but it means that writing them and using them is taking a gratuitous risk.

We should systematically arrange to depend on the free C# implementations as little as possible. In other words, we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible.

The full essay is here.

Sbopkg and mashpodder updates

20-Jun-09

Heavy development is occuring in the sbopkg SVN tree and I hope to be in a position to release the next major version soon.  There are a couple of things we are waiting on vis-a-vis SlackBuilds.org and how we, the SlackBuilds.org admins, going to handle some of the trickier SlackBuild scripts for Slackware64.  Anyway, my two co-developers and I have committed some major cleanups to sbopkg that touched just about every line of code, plus we have implemented a few very nice enhancements.  Specifically, the queuefiles are much more robust and easy to use (see here for some example queuefiles), and we have reworked and improved the entire build process and the logging thereof.  IIRC, we have had almost 200 SVN commits since the last major 0.27.0 release.  All I know is that I am really, really excited about the next major release and I hope folks find it worth the wait.

Also, after many requests, I finally got around to packaging up a simple tarball of mashpodder and putting it up on the mashpodder site.  Based on the feedback I have received, it seems that folks like it and find it works well for them.  Mashpodder has been working great for me and my scores of podcast feeds for a long time now, so if you are looking for a simple, command-line podcatcher to run from a cron job on your server, check out mashpodder.

Testing Vimpress

18-Jun-09

I decided to move my blog over to WordPress after having used Blosxom for quite awhile. I have used WordPress many times in the past, so I’m pretty familiar with it, but one thing I always missed was being able to post a blog entry using Vim. Using Vim over SSH, in fact.

Well, enter vimpress a Vim plugin that lets you post to a WordPress blog with Vim. How awesome is that!

I am testing it out now with this post and we’ll see how it goes.

Update: Works great!

No Mono

08-Jun-09

Here is one of the best assessments of why Mono should be a cause for concern. The article was written by Chris Smart, the editor of the Distrowatch Weekly and makes me further appreciate the fact that Red Hat/Fedora are dropping Mono from the default install. I find it unfortunate that Ubuntu has apparently decided to increase its usage of Mono by heading towards dropping Rhythmbox and including Banshee as the default GNOME media player once certain blocker bugs are resolved. I think the concern about submarine patents is very real, and Microsoft’s recent action against Tom-Tom demonstrates that they are more than willing to fire that torpedo when they choose. As Chris writes, “It’s dangerous because if we find ourselves in a position where we rely on Microsoft for our own open source technology, then we are completely at their mercy.” And I am not sure anyone can argue that Microsoft is known for their mercy.

Fedora Developments

04-Jun-09

Although I primarly use and hack on Slackware, with some Debian and OpenBSD thrown in for good measure, I have had the opportunity to spend some time with Fedora over the last six to eight months, mostly due to the fact that we use some CentOS at work and I felt I needed to get re-familiarized with some of the Red Hat ways of doing things. Specifically, I have been testing out Fedora 10 and the upcoming Fedora 11, which is due to be released within a week, on one of my laptops and I have to say that I am mightily impressed. Granted, I tend to be pretty conservative and “old school” when it comes to using Linux and my reluctance to adopt new technologies runs pretty deep. However, here are some of the things that I like about the Fedora Project:

  • Real emphasis on Free and unencumbered software. AFAIK, there is no non-Free software in any of the official Fedora repos (although third party repos, like rpmfusion.org, do provide such software). Fedora removes software that, while perhaps techically Free, may be patent encumbered, such as mp3 decoding. More recently, Fedora removed Mono from its live CD, and it is my understanding they are going to remove it from the CD and DVD installations for Fedora 12 (although Mono and Mono applications are certainly still available for installation from the Fedora repos). They have even decided to drop Tomboy in favor of Gnote in Fedora 12.
  • Technical innovation, staying close to upstream, and direct upstream development to a /lot/ of major projects. The number of Red Hat and Fedora developers who directly hack on the kernel, X.org, GNOME, OpenJDK, and other similar things is pretty impressive. According to Ted T’so, they even have a dedicated Ext2/3/4 filesystem developer on staff. Fedora seems to have taken the lead in driving development of PackageKit, DeviceKit, NetworkManager, SELinux, PulseAudio, and lots of other new technologies in Free software. For example, Fedora 10 was an early adopter of kernel mode settings, and this is working really, really well in Fedora 11 on my Intel and ATI hardware (and apparently will work with Nvidia hardware using the nouveau driver, which is included with Fedora 11). The boot process for Fedora 11 is beautiful and quick (under 20 seconds). PackageKit is also pretty nifty in that, when a user tries to view an unsupported document or play an unsupported media file, it will offer to search the repos for software that will enable the user to complete the task. It is my understanding this will be extended to searching for needed fonts and other similar things.
  • Real transparency in how the Project is run, from using all Free software for the entire Project’s infrastruture, to very low barriers to entry for folks who want to get involved in leadership and voting or the actual making of the distribution, to being the only distribution to actually release numbers and methodology for determining its estimated userbase. Although Red Hat sponsors Fedora, after reading Fedora Planet for awhile now, I get the sense that the community itself really drives the Fedora Project and the goal is simply to provide a stable Linux distribution that showcases the latest technologies in Free software.
  • Many other positive objectives that demonstrate a real committment to Free software and its community.

As an aside, over the years, many people have complained about yum, and how slow it was. I remember using yum many years ago and indeed, it was slow. However, I can now confidently say that most of the time, yum is faster for me than apt-get, plus yum’s command-line output is cleaner, more informative, and better organized that apt’s. The key to yum’s speed is installing the yum-fastestmirror plugin, which makes yum automatically detect and use the fastest mirror depending on the user’s location. Additionally, Fedora 11 now includes support for DeltaRPM (Presto) support, a technology not found in apt-get AFAIK (although apparently something similar is coming to Ubuntu at some point). Anyway, Presto will only download the binary differences for software updates and then automagically rebuild the rpm and install it on the system. It even reports bandwidth savings — I consistently found a bandwidth savings of about 70%. A recent OpenOffice.org update was only 10-20 megabytes and it downloaded and installed in seconds. It was pretty darn amazing.

I have also had zero dependency issues with yum after having installed all the software I would normally use from the Fedora repos and the rpmfusion.org third-party repo. I recall having rpm dependency issues back in the Red Hat 7.x days, but those days are long gone, as far as I can tell. I do like aptitude a lot, and I am not sure if yum can match aptitude’s ability to remove unused dependencies when software is uninstalled, but overall, yum is definitely on par with apt, and in certain areas, does some things better.

Anyway, my hat’s off (no pun intended) to the entire Fedora community on what looks to be a fantastic release. I applaud the things the Fedora Project stands for, and look forward to Fedora’s future developments.

New Tiling Window Managers

19-Mar-09

I have been a big fan of tiling window managers for quite some time and have tried just about every one out there. Since I spend the vast majority of my time in the terminal, I find that I am WAY more productive with a tiling window manager because it is so easy and quick to flip around to different screens or between my two monitors, all while keeping my hands on the keyboard and off the mouse.

For a long time, I was a real fan of dwm, which is an awesome teeny-tiny little tiling window manager. However, it does not have good Xrandr support, so once I added a second monitor to my setup, I had to look around. Out of that search, the legacy/old stable branch of the awesome window manager became my window manager of choice, and it has been working well. Awesome was originally a dwm fork, so it felt very natural. One of the best things about awesome-2 was that it had an easy to understand yet powerful and flexible configuration. It also had excellent Xrandr support. Unfortunately, awesome-3 was virtually rewritten, became lua-based, and now requires one to spend a few hours learning lua before being able to write a damn configuration file. Sorry, I ain’t got that kind of time.

So, since my current window manager has been mothballed/kicked to the curb, I have been revisiting all the tiling window managers I could find to see what works well for me. My needs are simple: a human-readable configuration file, true Xrandr support, standard but not overwhelming features, and sensible defaults — without a lot of bloat. The problem is that many of them seem to suffer from one problem or another, such as: requiring the user to learn another language to write a stupid configuration file (aweseome-3, xmonad), poor Xrandr/dual head support (dwm, wmii, evilwm), huge dependencies (xmonad), compiled-in configuration settings (dwm), or annoying emacs-style keybindings (ratpoison).

The good news is that several new tiling window managers have emerged on the scene, namely Musca, i3, and scrotwm (scrotwm can use scrot to take screenshots, but otherwise I do not believe there is any relationship between scrotwm and scrot). I have spent some time with Musca and scrotwm, but have not yet gotten i3 to compile since it requires very recent versions of several libraries, which I do not have on my systems.

The great thing about scrotwm is that it does /exactly/ what I want and has the features I have been searching for: true Xrandr support, simple configuration file, sensible defaults, no fat dependencies, and a very tiny disk/memory footprint. Scrotwm is written in C by three OpenBSD developers, so I feel confident that it has a well-structured codebase. Scrotwm integrates easily with dmenu for launching applications and includes a small statusbar by default. Scrotwm also comes with an excellent man page that tells you everything you need to know. It has been working extremely well for me, and has pretty much taken over as my default day-to-day window manager. There have been very few issues which is pretty amazing for a window manager that’s only been around about 2 months.

Similarly, Musca is looking really good as well. Like scrotwm, Musca is also written in C and utilizes dmenu. There are several interesting features about Musca that make it a bit different than most of the other tiling window managers. First, Musca does manual tiling, instead of the dynamic tiling that most of the other tiling window managers do. That means the user can set the frames where they want them to be and then populate the frames with the apps. If the user does not do this, then the first app that is started will take up the full, default window space, which the user can the divide into separate frames. It is a bit like ratpoison this regard. Musca uses a compile-type config.h file just like dwm, but you can also have a ~/.musca_start file which will be read by Musca upon start, which essentially means you can override default settings and have Musca start up with various frames and apps all loaded and ready to go. Another interesting feature about Musca is that it uses a concept called ‘groups’ that can be used to organize windows (sort of like dwm’s tags) and apply different tiling modes or other features. Finally, Musca has a set of commands that can be entered in a dmenu taskbar to change certain characteristcs on the fly. All of this information is very well documented on the Musca website.

For me, tiling window managers are cool and work very well for my computing style. I love having several terminals open for mutt, irc, hacking around with sbopkg and other projects, and tiling window managers allow me to organize and quickly move around from terminal to terminal without taking my hands off the keyboard. It is so great to see new tiling window manager projects spring up. Be sure to check out these new projects if you are interested in tiling window managers at all.

Carla Schroder on FOSS

13-Mar-09

Carla Schroder’s recent blog post entitled “Why I Love Linux and FOSS” really nailed it for me. Here is what she had to say:

FOSS is all about giving power and control to individuals.
It embraces all of the important freedoms– the freedom to create, share, invent, collaborate, learn, and change, all without penalties or artificial barriers.
It promotes transparency and accountability.
Everyone can play.

It fosters real innovation, not the fake kind that proprietary vendors are so fond of boasting about.
It promotes honesty.
It is a powerful force against tyranny.
It is a powerful force against shoddiness, and a powerful force for quality.
It doesn’t force me to choose between my important personal principals and a paycheck.
Its success does not depend on people being stupid or deceived.
It brings people together from all over the planet.
It benefits everyone, even its enemies.

It is the one and and only savior from a rapacious, proprietary, locked-down micro-managed intrusive computing landscape.
It opens doors everywhere.

It rewards skill, ingenuity, and willingness to learn.
It rewards cooperation.
It doesn’t provide hiding places for guilty parties to hide.
It succeeds on its own merits.
It puts powerful tools in the hands of anyone who wants to learn how to use them.
It accomodates all skill ranges, from beginner to guru.

It does not support pretense.

I could not agree more, Carla, and this is why I believe proprietary software is a dying breed and destined to be relegated to niche or high-end markets or products with very small or highly-specialized userbases. In my opinion, free software is the only way to go for general purpose, consumer, and business software. As it stands today, I believe there is no need for proprietary software in Linux at all, and the way things are going, this is only going to further solidify as time goes on. Anyway, it is awesome to see the growth in the number of companies and developers that ‘get it’ and focus their efforts on free software instead of sticking with the old-fashioned proprietary model.

Along these same lines, a few weeks ago I listened to my buddy Dave Yates, of the LottaLinuxLinks podcast interview Leslie Hawthorne, Program Manager for Google’s Open Source Team who works on Google’s Summer of Code. It was a fantastic interview, and based on what she said, it seems clear that today’s students, programmers, and developers understand the importance of free software. The increasing demand for F/OSS developers, and the corresponding increasing supply of F/OSS-savvy programmers, bodes well for the future. Leslie also did a great job of debunking the myth that one cannot make money in free software, which so many excellent F/OSS-friendly companies like Red Hat, The OpenNMS Group, and Zenoss, just to name a few, also demonstrate every day. Free software is where it is at and this is a damn great time to be a part of the community.