Skip to content

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.

New Gig

07-Mar-09

It has been almost exactly one year since my podcast Linux Reality ended its two-year, one hundred episode run. I am very proud of what LR has done, and how it has helped people discover and migrate to Linux. I am still surprised at the number of subscribers to the LR feed, and how many new subscriptions are added each week. The number of LR downloads are well into the millions and every month, I receive dozens of emails similar to this one that I got just the other day:

“Chess, Just wanted to let you know how impressed I am by your incredible efforts producing this podcast. I have been a Linux user for about a year and a half and have learned 10 times more in the last month listening to your show than I have in all the other time put together. I can’t thank you enough for all the work you have done putting this together. Although I am sad to see that you aren’t making any more, you have given me enough to keep me busy for a while.

I am planning on going through every one with a fine tooth comb and writing down everything you teach to make a manual for myself and eventually post it where everyone can benefit from it. I am just an enthusiast now but hope to take what you have taught me and use it wherever I can to spread the word of open source software and Linux to everyone who will listen. I have already converted a few people and doing my best not to become a Linux snob. Your attitude and demeanor have helped me with that also…You have inspired me to be a productive contributer to the open source cause and I thank you for giving me the tools to do so. Again, thank you.”

That right there is why I did LR: not for money or self-gain, but to help people discover and learn about Linux and the awesome community around it. That is the greatest reward. Hopefully, some of these listeners, like the one that sent me this particular email, go on to become valued contributors in their own right. This ‘paying it forward’ concept is what got Linux to where it is today, and it is what will continue to drive Linux growth. Anyway, I am very grateful and appreciative of the kind emails and am really, really glad that LR has helped, and is still helping, so many people.

However, the success of LR pales in comparison of that of The Linux Link Tech Show. This live show and podcast started almost six years ago and they are now nearing their 300th episode. These guys have interviewed all the big names in the F/OSS community, and even managed to squeeze me in twice, although I certainly do not belong in the same league as most of their other guests. TLLTS is the granddaddy of Linux podcasts (the Slackware of Linux podcasts? *g*) and directly contributed to the success I had in doing LR. What I like about TLLTS is that these are real guys, with an ‘old school’ Linux background, even though many of them now run the latest and greatest distributions. They understand and appreciate what it means to be a Linux user and do their show simply because they love Linux and the community around it. I owe these guys a lot and they rock, big-time.

So, I was very, very flattered when the TLLTS guys recently asked me to be a permanent member of the TLLTS family as a co-host, rotating with several other well-known Linux podcasters. I appreciate what Dann, Alan, Pat, and Linc have done for the Linux community and for Linux podcasters, such as myself, especially. If you have never checked out TLLTS, be sure to listen live every Wednesday night at 8:30pm Eastern time, or download the mp3 or ogg podcast afterwards.

I really look forward to contributing to the show. Thanks, guys!

Regnat Populus

25-Feb-09

I imagine that everyone has their own definition or interpretation of what it means to be a member of the free software community. (Note: in this post, I use ‘free software’ in a general sense, not tied to any specific operating system, license, or organization). It is probably similar to asking ten people to answer any open-ended question. Still, thinking about these types of questions, and the answers they generate, can be an interesting exercise. So, in that light, here is how I would answer the question “What does it mean to be a member of the free software community?”

  • Valuing freedom of choice – Not necessarily in a FSF sense, but in the sense of being able to do with my systems whatever the hell I want to do with them. If I want to run all free software, so be it. If I want to run proprietary software, so be it. I want total control. The amount of choice we have — from kernel compilation options to userland applications — is staggering and I, for one, am very glad for it.
  • Appreciating technical merit through peer review (or, open code) – Of course, control must extend down through all the bits which is why ‘free software,’ and the transparency it provides, is critical. Free software is simply better because of open code and peer review. Despite the growing use and popularity of sbopkg among the Slackware community, I am not much of a programmer. Yet, I can fully appreciate and understand the importance of peer review. Working on sbopkg and receiving tons of comments, patches, and suggestions makes it even more relevant for me. Sbopkg is a far better tool because of the peer review, which is why I believe free softare is better than proprietary software. Another example is hardware support. I try very, very hard to run as little proprietary software as possible on my systems. I make purchase choices based on the fact that free drivers exist. For example, I specifically buy only Intel or ATI graphics cards with free drivers, wireless cards with free drivers, such as those by Ralink, who has provided documentation to OpenBSD, and even consumer devices like my Cowon media players, due to that company’s willingness to support OGG and provide simple drag-and-drop firmware updates. Of course, running free software is something to strive for, a goal to pursue, but not something that most people can completely commit to. As an aside, does this difficulty make hypocrites out of those users who praise free software yet use proprietary software? Absolutely not. Believing in something and striving to achieve it yet falling short does not make one a hypocrite. The belief and effort count.
  • Understanding history and past achievements of others – UNIX, BSD, Linux, and the free software community has an absolutely /fascinating/ history. It is filled with interesting people, who put their blood, sweat, and tears into building the technical bits and pieces that we all get to enjoy today. I love hearing about, reading about, and learning about that history, whether it is the early days of Bill Joy and the other BSD guys at CSRG and Berkeley, or Linus Torvalds hacking on MINIX and building the Linux kernel. In my opinion, knowing and understanding that history provides a link to the present day — it gives one the chance to feel a /part/ of something. Without the great works of these people, we would not be using this software. Standing on the shoulders of giants, indeed.
  • Participating in a community – The last word of the question becomes part of my final answer. Free software, to me, ultimately is about the people involved and the community. It is not about personal achievement, personal success, or personal self-aggrandizement. If one can achieve those things, more power to you. However, since personal success in free software, I believe, is specifically dependent on (a) choice, (b) peer review, and (c) past achievements of others, personal success is necessarily born out of free software principles. As such, personal success is secondary to those principles. Of course, the other side of the coin here is ‘participate’ — a community cannot be created or maintained if everyone takes. Far too often there is a ‘take, take, take’ mentality which is disappointing. If nobody gave back there would be nothing to take. What is even more shocking is when people take and then complain — or rant about what they think is ‘best’ for the community without doing anything about it. Ultimately, I believe the whole is greater than the sum of its parts, and those who truly understand, appreciate, and respect (dare I say, love?) this diverse, opinionated, and wonderful community are given a much greater reward than simple personal gain.

Proprietary software will always be a second class citizen simply because it does not conform to these principles. And, in my opinion, that is how it should be. This does not mean that proprietary software should not exist or that we should not be allowed to use proprietary software — that would violate the ‘freedom of choice.’ Ultimately, we can do with our systems whatever we like and we all need to use whatever works best for us. But free software, and the people behind it, are better, stronger, and more resilient to outside forces because of freedom of choice, peer review and open code, past achievements of others, and a participating community.

Keep in mind that these are my opinions only; I speak for nobody but myself. Regardless, that is my two cents. YMMV.

Lenny Released

15-Feb-09

Congratulations to the Debian team on the successful release of Debian GNU/Linux 5.0 “Lenny”. I have been running Lenny on one of my workstations for about 14 months and it has really shaped up to be an excellent release. A lot of folks may not know this, but I have been using Debian for a long time — since Slink or perhaps Potato, IIRC. Anyway, Debian is still only one of the two Linux distros (Slackware being the other) that I use on my home machines. I believe Debian is very underrated as a desktop distribution since most people seem to favor flashy bits over stability. Debian upgrades work, they don’t slip in a new kernel one week before release, and it gets released when ready instead of according to some pre-established schedule. Congrats again to the entire project on a job well done!