Friday, March 02, 2007

"Free" vs. "Open Source" Software -- what's the difference?

Many people use these terms interchangeably, and I think it's important to know the difference -- especially if you'd like to speak intelligently about this class of software.



I tend to play in the open source camp in general (which is to say, I see the open source development methodology as a practical and better approach to writing software), as opposed to the free software camp (which would imply that I am working to ensure that users' freedoms with respect to the software they use are preserved). But I certainly understand, respect, and resonate with the value of both approaches.



Why Open Source misses the point of Free Software - GNU Project - Free Software Foundation (FSF)

Nearly all open source software is free software; the two terms describe almost the same category of software. But they stand for views based on fundamentally different values. Open source is a development methodology; free software is a social movement. For the free software movement, free software is an ethical imperative, because only free software respects the users' freedom. By contrast, the philosophy of open source considers issues in terms of how to make software “better”--in a practical sense only. It says that non-free software is a suboptimal solution. For the free software movement, however, non-free software is a social problem, and moving to free software is the solution.

Monday, February 19, 2007

Haiku to an Ice Column on the West River Drive

pillar of icy bones
you alone carry that weight
beyond the sun's reach

Monday, January 29, 2007

Love Yourself -- Eat Breakfast

I always thought the saying that "breakfast is the most important meal of the day" was bull. Early in 2005, however, I started eating a full breakfast regularly so that I would have energy, and so that I would avoid wolfing down an unbalanced and unhealthy lunch. Soon I had lost weight and had more energy in the morning. Needless to say, it's worked for me.

When I explain this experience to people, I often hear that they don't "feel like" eating breakfast in the morning. I remember feeling that way initially, but I guess I'm so used to breakfast that I can't do without it now. In any case, I just came across an article that I'd like to share. It contains tips for increasing appetite in the morning:

How to Feel Like Eating Breakfast First Thing in the Morning - WikiHow

And, just for good measure, here's my breakfast menu:
  • Bowl of granola with milk (my favorite is Bear Naked brand)
  • 5 egg whites, usually cooked omelette style (generally without a filling, but sometimes I'll add fillings like shredded cheese or onions or bacon bits)
  • Cup and a half of coffee, black (I'm a caffeine fiend)

Monday, January 15, 2007

Speaking of Richard Stallman

He's coming to speak at Drexel University tomorrow, January 16th, about The Danger of Software Patents. It's open to the public.

Maybe I'll see you there!

Thursday, January 11, 2007

Transcript of Stallman talk about the free software movement

I just came across the transcipt of a lecture given by Richard Stallman, the founder of the GNU project (and thus the Free Software movement), given in Zagreb, Croatia, in March of last year. While its title, "The Free Software Movement and the Future of Freedom", may be reminiscent of one of George Bush's speeches, I found the talk to be an insightful and thought-provoking treatment of the origin and goals of the free software movement.

He begins with a discussion of "essential freedoms", and I find his perspective on these to be -- in my opinion -- extreme. Yet as he moves into a discussion of current issues such as spyware, software patents, the DMCA, and Trusted Computing, his argument hits home for me. I'm afraid that there are groups working to take what I do with my hardware, my software, and my content out of my control.

I must say that I admire the passion that Stallman conveys in his speech. Reading it sparked some of that evangelism in me that had become squelched, or rather dulled, over the years... Use GNU/Linux! It feels great!

The next time someone asks me about free software, I'm going to send them this link.

http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html

Tuesday, November 21, 2006

Learning to Write Software

I was first exposed to personal computers when I was in the 2nd grade (sometime around 1986). I still remember the computer lab vividly -- a room lit subtly by the monochrome glow of tiny, low resolution monitors. The machines were Apple IIe's running Terrapin Logo. As I reflect now, I realize there must be something deep within me that draws me to this technology, because I instantly "got it" and fell in love. I begged my parents to get me a computer for my birthday, and I can still picture my father bringing home the Apple IIc on September 22nd, 1987.



One of the great things about these Apples was that they had a built-in BASIC interpreter. (BASIC, or the Beginner's All-purpose Symbolic Instruction Code, is a simple, high-level programming language.) What this means is that an 8 year old with neither software nor documentation can program a computer (wow, right?). A friend of mine from school had some experience with BASIC and taught me a few commands, and the rest I literally learned by hours and hours of experimentation in front of that screen... a true labor of love, I suppose, and probably the reason I don't tan well today. By the way, my one regret is that I never thought to ask for a BASIC manual, which I think would have accelerated my learning on the order of years. Whatever... I was just a runt.

As time went on, personal computers became faster and more capable, and the software they ran became more layered and complex. Today there are so many development environments to choose from, and documentation is widely available on the web, but how is a novice to begin to unravel the complexities of APIs, DLLs, SDKs, IDEs, the wealth of programming languages available and the learning curves that each brings? I've heard this problem referred to as "The Little Coder's Predicament", and I first came across a good discussion of it here.

I know a lot of people who've expressed curiosity in writing software, but -- needless to say -- they're intimidated by the process. (As a sidenote, this means that people who consider themselves tech-savvy but don't write code regard us with a certain awe, which is neat.) I wish I could show them that it's really not that difficult, and that it can be extraordinarily rewarding to do. Imagine -- you have virtually unlimited resources at your disposal (most computers today have greater than 1 billion bytes of RAM and more than 100 billion bytes of hard disk storage -- and even saying that will probably date this post immediately). You can create almost any piece of software that you can dream up. It's like having infinite clean slates.

So, what would help a beginning programmer (at any age) be productive and have fun? I'll take a stab at it:
  1. Free development tools that allow you to be productive without requiring tedious effort or excessive learning beforehand
  2. Guidance -- lessons, examples, and practice problems
  3. Personal support -- real-time or otherwise
  4. (later) Good references and/or manuals

Microsoft recently released so called "express" (that is, feature-reduced and no-cost) versions of their excellent development environments. They position Visual Basic 2005, Express Edition as "Productivity that is ideal for first time or casual Windows programming." In my opinion, it easily fulfills the first requirement above; the language is easy to learn, the environment is relatively easy to use, and you can be productive quickly (drag-and-drop to create graphical applications, for example).

It appears they've done a great job in helping users get started, too. They have 16 lessons in the "Absolute Beginner’s Video Series" alone! Then there are the forums, and webcasts, and endless other resources that you'll find with a Google search.

Microsoft's motivation in softening the learning curve for new developers is likely to ensure the continued tightening of its hold on the personal computer market; more people developing for Windows means more Windows software, which in turn means more of a reason for end-users to stick with Windows. Regardless, I am impressed and excited to see such a great opportunity for people to discover programming. And besides, the lessons a new developer will learn from Microsoft's tools and training will set the groundwork for creating software on any platform. I want to have a hand in this business of making programming more accessible. If you read this and have questions, or doubts, or resistance, please write a chat client and send me a message (or just send me an email).

Friday, October 20, 2006

Getting FLAC from the Philly Orchestra

As I had mentioned I would, I emailed the Philly Orchestra's music store's support folks. The response below (from Fred) made me feel a) wrong, and b) cheap. Apparently the store's MP3s are all 256kbps VBR... and, no, they won't give me a free FLAC download to evaluate the difference ("it's only $5, you cheap bastard").

So what's up with mplayer?

Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)

(maybe that 9% means it's 9% sure it's 128kbps :)

Anyway, here's Fred's email. On the bright side, it made me realize that I don't know enough people named Fred.

Dear Haig Didizian,
>> When I realized your MP3 downloads are fairly low quality (128kbps),
Actually they are encoded at 256 kbps. Please see the FAQ: "The standard MP3 files, encoded at 256 kbps VB "
Sorry I can not give you a free flac download.
If you want to try out flac downloads thay are not very expensive, only about $5.

Please let us know if you require further assistance.

Thanks for supporting livedownloads.com!

--Fred