Open Source

Dreaming in Code

Sunday, February 11th, 2007

I just picked up a copy of Dreaming in Code from Barnes & Noble. Will probably devour it in the next couple of days.

Open Source Talks at Google, and VIM creator

Wednesday, February 7th, 2007

Google has an interesting talk about “How Open Source Projects Survive Poisonous People” at Google Video.

On February 13, they’re going to have the creator of VIM, Bram Moolenaar, giving a talk on VIM7.  What’s funny is that Bram, who has been working full-time on VIM for the past few years (living entirely on donations and money votes for VIM features) has now been hired by Google.  Smart move.

Spirited Discussion with Miguel de Icaza on Mono and Microsoft

Sunday, February 4th, 2007

I got fired up by the evidence coming out of Microsoft from yesterday, and decided to write a post to Miguel de Icaza’s blog.

Here’s what I wrote:

Hi Miguel,

It looks like a new set of “Halloween Documents” have come out, thanks to a case in Iowa, Comes et. al. v. Microsoft (http://iowaconsumercase.org/index.html). I’m wondering if you have any comments on this document in particular, which suggests that Microsoft management knew full well they were “stealing Java” to intentionally marginalize the cross-platform language issue.

A select quote from the document, “Screw Sun, cross-platform will never work. Let’s move on and steal the Java language.”
Here’s the e-mail archives, which was submitted into evidence:

http://www.iowaconsumercase.org/011107/PX_2768.pdf

I’m wondering, given these thoughts from within Microsoft management, and given the recent news of Sun open sourcing the Java language under GPL terms, how is it that you can still push for the Mono project on Linux? Aren’t we always going to be fighting an uphill battle against a monopoly company protecting its biggest cash cow: the Windows platform?

Although my question was more “devil’s advocate” and meant to rile him up, Miguel provided some of the strongest and most cogent arguments for Mono that I’ve seen on record.

I just want to say great work to Miguel and the Mono team, and that if you ever doubted your raison d’etre, all it would take is reading this thread to be convinced! You’ve certainly convinced me!

Update: it’s really this kind of dependency on Windows I’m worried about in .NET. I think it’s just that the culture of the Java runtime is one of platform independence, whereas .NET from Microsoft is one of “platform dominance,” and Mono is some sort of stepping stone between Microsoft’s single-platform vision and those of us who want to write cross-platform apps using .NET.

GPLv3: Will it marginalize the FSF?

Friday, February 2nd, 2007

I just read an interesting position paper that suggests the new version of the GNU GPL will marginalize the Free Software Foundation.

I’m not going to say I agree, yet. But I think the author may be right.

Common Criticisms of Linux, parsed and analyzed

Sunday, January 28th, 2007

The following post has been sitting in my “drafts” section of WordPress for a good while. I don’t know why I never posted it — it’s been there for more than a year. I think I just thought the article deserved such careful attention that I never sat down to really edit it and prepare it for publication.

The topic is on the common criticisms of Linux, and I think it’s time for me to finally post my thoughts, given the upcoming release of Windows Vista and related products.

Awhile back, /. posted an article entitled “Is It Wrong to Love Microsoft?” The article is horribly written, but does have one point to make: why is it that on /. and other technology news sites like OSNews and Kuro5hin, everyone loves Linux almost unconditionally, and hates Windows unequivocally? I personally am unfond of blind faith as much as I am offended by blind hatred. I’ve thought long and hard about the pros and cons of Linux and Windows, and think I can come up with a pretty balanced evaluation of the two.

Oftentimes the criticisms thrown at Linux are hard to parse, mainly because the authors of these criticisms don’t know much about system design themselves. Having studied it at University, and having been a 10-year user of Windows and Linux (and a 6-year user of Mac OS since version 9), I figured I should chime in.

First, as often happens when evaluating arguments of any kind, one needs to identify the different kinds of critique, and break them down into the smallest possible groups so that they can be evaluated fairly. Broad statements like “Linux is broken” or “Linux is impossible to use” do not identify specific problems, but merely express sentiments, probably acquired through firsthand experience with a particular set of conditions.

Futhermore, attacks mounted at Linux aren’t mounted at Linux “the kernel” but at the whole set of Free (and sometimes, commercial) Software that runs on Linux, which is quite broad and diverse (and not accountable to any one development team, not even distributors). As a result of this, the attacks often seem focused on the whole system, when in fact concern only a small part of the system, and quite often that small part is already in the process of being “fixed”. So, in order to evaluate these arguments, I will begin by pointing out the general complaint lunged at Linux, and then break it down into the proper categories and evaluate each of those in turn, placing whatever context I can to help understand the situation better.

Read the rest of this entry »

Linux Desktop Talk at NYU

Friday, December 8th, 2006

I gave another talk for CANYU and the emerging open source clubs at NYU about Linux on the desktop. Here is the synopsis:

LINUX AND FREE/OPEN SOURCE SOFTWARE

The State of the F/OSS World Update
with talk/demo by Andrew Montalenti

December 5, 2006 @ 7pm
Room 813, Warren Weaver Hall

Open source software is now mainstream. Whether it’s the nearly ubiquitous Mozilla Firefox browser, the Azureus peer-to-peer client, the Eclipse IDE, or the Linux kernel, almost everything in the computer world has been touched by free / open source software developers collaborating across the globe.

Judging by the state of the community, this movement doesn’t seem to be losing steam. With Microsoft Windows Vista around the corner offering a potentially bloated and hardware-requirements-heavy experience, desktop Linux operating systems are taking aim at the big giant, with big support around Ubuntu, Fedora (Redhat), and SuSE (Novell), among others.

So, what’s next for the free / open source world? That’s what this talk is meant to help you find out. After explaining a bit of the history of free and open source software, and the history of recent community and corporate efforts to make it widely available, this talk will show off some of the new, cool technologies coming out of the open source community, such as 3D desktop effects, productivity tools, enhanced multimedia support, better support for laptops, and a full suite of industry-grade development tools. The talk will also discuss some of the legal and intellectual property issues facing the open source community, with a particular focus on the recent news coming from the Novell / Microsoft deal and Sun’s decision to open source Java.

Who is this talk meant for? Anyone who hasn’t tried out Linux on their desktop, or anyone who is at least mildly interested in the current and future state of the computer industry. Free / Open Source software has completely rocked the industry, changing every aspect of it from top to bottom, and this wave is only growing bigger every day. NYU students interested in copyright issues surrounding open source may also find this talk valuable.

In any event, this won’t be a boring lecture — it’s meant to be interactive and fun!

The speaker will be bringing free CDs of Ubuntu Linux, a community-driven desktop Linux operating system which you can install on almost any home PC! Come for the free CDs, stay for the revolution.

It went very well, with about 10 people in the audience. You can download the slides in OpenOffice or PDF. Admittedly, the slides aren’t as cool without the live demo of Beryl I did at the talk itself. Yay 3D desktop effects.

Taming spam with spamassassin and evolution

Saturday, November 18th, 2006

I’ve found the anti-spam support on Linux to be pretty poor overall. Considering how common this problem is and how ingenious OSS guys usually are, I’m a bit surprised.

I am trying to use Evolution with SpamAssassin, and finding horrible slowness and bugs in the bayes_* databases to be the norm.

If you are attempting this setup, I recommend the following hacks:

1. Do not use bayesian autolearning in spam assassin, as this is a broken way to update your spam filters.
2. Instead, create a JUNK and HAM directory in Evolution, and move your junk mails and ham mails there.
3. If you have already tagged mails as Junk using Evo’s “Mark as Junk” feature, you need to hack these mails out of that folder and move them into a regular Evolution folder. “Mark as Junk” is really not moving mail anywhere, but just “tagging” it, and then the Junk folder is like a vfolder which searches for all mail tagged as junk. This is cool, but sucks if you want to run sa-learn on your mbox in order to train spamassassin. The way to get around it is to create a mail filter in Evo which says: “if mail is marked as junk, then mark it as not junk AND move it it to folder named JUNK.” Then you apply the filter to your Junk directory and Evo will copy them out. (Note: if you try to merely “copy” the mail messages to another folder, they will simply not move — again, Junk is a “tag” in evo, not a location).
4. Now from the shell, go to .evolution/mail/local and find your mbox for your mail. You can use sa-learn –spam –progress –mbox to learn it as a spam, and change –spam to –ham for ham.

This is much better than using the built-in Evo stuff. Do this every few weeks until you don’t have to anymore.

Great tool for LaTeX users

Tuesday, September 12th, 2006

Check it out. It’s called rubber, written in Python.

Bad Eye Candy

Thursday, March 23rd, 2006

I recently installed X.Org 7 with Exa, Composite and the famed xcompmgr on my Linux desktop. This didn’t enable any fancy special effects for my lowly built-in via video chipset. However, it did finally do away with “rip and tear” on my desktop. That is, when I drag a window over another one, it just smoothly glides across. When I switch workspace, it’s instant — I don’t see as much “widget redrawing.”

More and more advances are going to inevitably lead to Linux “eye candy.” Here’s a great post on Slashdot regarding good versus bad eye candy.

Here’s a great example: pull-down menus in Mac OS X vs the same in Windows XP. On the Mac, pulldowns appear instantly, and fade away once something is selected; this is correct behaviour, as you asked for a menu – there should be no delay. Fading away is fine because the selection has been made, and you have moved on. In XP, the menus fade up, and vanish instantly – totally backwards. That is bad eye candy.

You know, I never thought about that, but I always turned off menu fading on Windows XP because I could “feel” the delay, even on my Nvidia card on my desktop. I never realized how much more sense it would make to display the menu instantly, and fade it away upon selection.

I hope this conservative approach is taken by Linux devs as they implement eye candy. Functional and beautiful, please.

UNIX Zen

Monday, March 6th, 2006

You know you’re in UNIX zen when you are looking at pictures for an apartment you are interested in, and you think to yourself, “Man, I’d really just like to download all 8 photos of this apartment at once.” So you realize they end in numbers 1-8, and you open up a terminal and write:

for i in `seq 1 8`; do 
  wget http://www.livinginbaires.com/imgs/departamentos/46-$i.jpg; 
done

And that’s it, you hit enter and *vroooooom!* You see progress bars fly across your terminal as wget snappily fetches your photos, and suddenly, all eight photos are downloaded, and you get back to work. That’s empowering.