Category Archives: opensource

Indirect benefits of working on open source

(This is not even a draft - more like table-napkin scribblings for my article for a class I'm taking)

Working on open source also has indirect benefits for local developers. Surveys show that open source development helps developers learn some skills more effectively than they would in formal computing courses.(Give examples, cite link)

Because most open source projects are freely available for download, developers can experiment with new technologies at little financial risk. In the process of customizing and packaging the software for use, local developers improve their technical skills. Open source code and customizing it allows local developers to learn from projects far larger than any they could work on in a formal computing course.

Because open source is typically developed by large, geographically-distributed teams, tools such as version control systems and mailing lists are essential. Open source developers quickly learn not only how to use these tools, but also how to work with other people.

Developers who contribute code and other resources back to the global open source communities can also benefit from informal apprenticeships. Their contributions can be peer-reviewed by more experienced developers, and they can get feedback from users and co-developers around the world.

Open source provides a way for developers to improve their skills and gain real-world experience even if proprietary software companies do not have development opportunities in the area. Open source can also be a form of nearly-free knowledge transfer between global developers and local developers.

Random Emacs symbol: cross-disabled-images - Variable: Non-nil means always draw a cross over disabled images.

Free Software and Open Source Symposium, Toronto, Oct 26-27

Via Kelly Drahzal: there'll be a Free Software and Open Source Symposium in Toronto from Oct 26 to 27. Admission for full-time students to the symposium is just CAD 10.00! I will so be there, if only to hang out.

The workshops look like mainly intro courses, which isn't bad. I'd like to see more people get into development. I wanted to get into the workshop for educators because I want to convince everyone that open source development really should be part of all computing students' experience. I can get quite passionate about that! The workshop seems to be full, though, so I may need to talk my way in.

Coming? =)

On Technorati: , , ,

Microsoft Word in schools

Didith Rodrigo, the chair of my alma mater's computer science department, seems to be getting a bit frustrated with people who've asked her to consider teaching students something other than Microsoft Word for word processing. She reasons: "I think that teaching tools is need-based. If there is some reason that the tool is more appropriate for the need, then fine. If not, then don't fix what isn't broken."

I'm going to go on a bit of a rant because I feel that it's important to expose students to choices that they might not otherwise encounter on their own. I agree with Didith's main point at the end - that it's not about the tools - but my particular bone here is that university's also where students should learn to abstract general principles.

This is how I understand the educational system's _supposed_ to work: people who want to learn about specific things go to vocational schools and workshops, and people who want to learn about abstractions and things they'd never encounter on their own go to university.

We shouldn't teach Microsoft Word. We should teach writing (note: not even word processing). We shouldn't teach Microsoft Powerpoint. We should teach presentation. We shouldn't teach Microsoft Excel. We should teach data analysis.

The problems these students face go _way_ beyond the tools. You can inflict death by bullet point in OpenOffice.org Impress just as easily as you can in Microsoft Powerpoint. So why not spend valuable class time talking about the principles of the thing instead of the tools? (Oh, if I had a dime for every word someone's read off the slides...)

Here's a quote that captures what I think:

"If you want to build a ship, don't drum up people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea." - Antoine de Saint-Exupery

Fill them with the longing to write wonderful articles and make effective presentations! Inspire them through your examples! Help them reach out through their words! As long as students write only for their teachers and their classmates, you'll see bad prose and hear people read off slides. Show them examples, point out common mistakes and show them how they can improve, and put them in front of audiences that care about what they're interested in... If you can set them on fire, they'll _learn_ about all the nifty tricks hidden in whatever software they use - and it will be about the result, not the tool!

Note to self: I need to learn how to write really, really well. I also need to learn how to present really, really well. Then I need to figure out how to teach this while inspiring by example. I _so_ want to run a class on "Communication for Geeks", or something like that. ;)

But wait! Wasn't this supposed to be a rant about open source in education and how students should be exposed to open source alternatives?

I've written a fair bit about this in the past, but let's look at the Atenean case more closely. For the sake of argument, let's assume that there _aren't_ financial reasons to choose open source. The stereotype of the Atenean student is a middle-class or rich student who can well afford to buy legitimate versions of Microsoft Office. Truth is, quite a few people are on scholarships. Besides, most people quite happily pirate software or use whatever their computer dealer "bundled" with their computer because they just don't care about software rights or they don't think Microsoft deserves even _more_ money.

So let's ditch the financial and ethical incentives, and talk about the pedagogical one instead.

I taught for a short while, and even that short a while was enough to make me feel the pressure to cover everything in the curriculum. If a teacher's already having a hard enough time covering all the little features of one thing or another, how on earth is that teacher going to find time to explore and discuss alternatives? Won't that confuse the students and make them lose confidence?

I feel quite strongly that we should drag people out of their comfort zones every so often, particularly in university when they can mess up without losing money. I suspect that one of the best ways to check whether students can abstract the notion of, say, emphasizing text is to throw them at an unfamiliar but usable word processor like OpenOffice.org and see if they can figure out what to do. (Open source geeks can substitute "Microsoft Word" or "Emacs" as appropriate.)

I _want_ to make students feel a little bit uncomfortable. That discomfort is what drives learning in the future, where it's most important. I don't want students to stick only to what they know how to do. They should keep learning!

This belief is probably not going to make me very popular with students, most of whom would like to get through school with as little effort as possible - but we need to help them develop critical thinking and abstraction, and we need to help them figure out how to figure things out.

I think that to know one thing is to know that one thing, but to know two things is to know two things, their similarities and differences - _and_ to know that I can learn more.

It doesn't even have to be open vs closed source. It could be two closed source ways of doing things, two open ways of doing things, whatever. But it has to be sufficiently different to force the students to think about their abstractions and to expose bugs in their understandings... =)

Hey, would _you_ test a program with only one test case? ;)

On Technorati: , , , ,

Random Japanese sentence: 「いいえ、ぼくです!、ぼくです!、ぼくです!」 百匹のねこ、千匹のねこ、百万匹、一億、一兆匹のねこがいいました。どのね こも自分が一番美しいとおもっていたのです。 No, I am! I am! I am! Cried hundreds and thousands and millions and billions and trillions of voices, for each cat thought itself the prettiest. [M]

Working with Emacs

A recent post on the Philippine Linux Users' Group suggested a separate plug-emacs mailing lists for all the Emacs messages that have popped up recently. The suggester said:

There is a difference between discussion and stroking each other's ego. :)

Working with Emacs is a humbling experience. It brings you face to face with accumulated centuries of developers' work. Emacs involves people in its development to an unusual extent. Working with vi and even Eclipse made me feel more like a user than a co-developer. Working with Emacs made me feel part of the community, even when I was still struggling to make sense of the parentheses.

If in that sense, Emacs worship is considered ego-stroking, then sure, I'm guilty. I can't help but express my appreciation for one of those things that has really changed my life and made free, open source software really meaningful to me. For the culture, really, that made it possible. It's a piece of software, but it's also a conversation with so many developers around the world.

To newbies: if you're curious about the thrills of open source development and you want a nice, easy way to get started, why not try modifying Emacs? It's easy to pick up. All the source code is there, and you can modify it on the fly. We've had complete non-programmers try it out and fall in love with programming. They get thrilled when they share their tweaks and other people respond with comments and suggestions. This is good stuff. Try it out. =)

I suppose Emacs is off-topic. After all, it's cross-platform, not Linux-specific. I could easily be extolling the wonders of Emacs on Mac OS X, Microsoft Windows, or BSD. Emacs doesn't require Linux. (Neither does Apache, but you don't see people waxing lyrical about web servers that often, do you?) The flood of Emacs-related posts that deluge the list whenever someone unwittingly brings up the topic is probably incomprehensible to people who've never tried Emacs or tried Emacs as just an editor and didn't like it.

Still, I want to share what makes open source real for me. Not kernel hacking, which is still too intimidating despite the existence of projects like kernel-janitor. Not network or system administration, which I don't have the patience to do. Just the free and flexible customization of something I use everyday and the thrill of sharing these customizations with other people in a community that spans the world.

I guess that's why I post on PLUG instead of plug-misc. I don't think PLUG should just be a venue for asking and answering technical questions, but also for sharing nifty hacks and examples of how far a Linux system can be pushed. Other people push their systems in terms of hardware and services. I push mine in terms of how well it can fit me, how well it can anticipate my needs.

I want to stroke other people's egos. I want people to discover how they can contribute to free and open source software, to experience the thrill of seeing their code out there and being used. Open source development isn't just for PHP wizards or C freaks who can contribute to existing projects or launch an entirely new project on their own. Maybe—just maybe!—people who thought themselves just users of a text editor will be inspired to think about how they can start customizing their own.

コンピュータを使えば時間に節約になる。 Computers will save you a lot of time.

clair ching says:

I can't help but agree with you. Emacs is the way that I appreciated FOSS more compared to GNU/Linux per se. Why? It's because I easily felt part of the community of Emacs users and hackers on the Emacs Wiki. That kind of interaction makes it less scary for newbies, IMHO. I mean, not all people on the Emacs Wiki are very friendly, I suppose, but the ones I have interacted with as I was learning to use various tools and modes available showed me that I can do something for the FOSS community, which is to write about what I learn. I don't even know ELISP but at least I know that my blog entries are helpful to others too. =)

I guess we have been too giddy over Emacs on the PLUG mailing list that is why someone suggested that. Well, I know I have always been giddy about it but I can't help myself! ^_^ Emacs is wonderful...

Besides there are so many hacks in Emacs that make FOSS usage, learning and advocacy so much fun! Like the Planner mode that allows me to somewhat organize my life, my thoughts, my schedule. Eshell allows me to do some things without opening a separate terminal. In Planner, I also store my notes on advocacy and my blog entry drafts. I also listen to music on Emacs. And when something goes wrong on whatever mode I am using, I can email the maintainer immediately, to tell him/her what happened so that the bug can be fixed, etc. I try to be as detailed as possible when I do that. So I guess that is my contribution. =)

In any case, I also enjoy the company of people using Emacs, not just because we talk about Emacs but because I am learning so much about you guys =)

On Technorati: , , , ,

ntfsresize

Marcelle's laptop (a Compaq Presario 2500 with 60GB of hard disk space) succumbed to malware. I'm helping him out so that I can play a few days of Sims 2 on his laptop. ;) To avoid future problems with Microsoft Windows reinstallations, we'd like to make separate partitions for games and data. That way, the next time he has problems with Windows, he can just wipe C: and scan the other two drives.

Unfortunately, Compaq's QuickRestore System Recovery CD makes one NTFS partition that occupies all of the space on the hard disk. PartitionMagic would've done the trick, but its hefty price-tag just isn't worth this one-time use.

Linux to the rescue. I'll be installing Ubuntu on Marcelle's laptop anyway so that he has a relatively safer system for browsing the Web and posting blog entries. When he's in a strange network, he can use Linux to protect himself from the worms and malware that would just love to reinfect his computer.

Ubuntu's based on the popular Debian GNU/Linux distribution, and among other things, it contains a tool for resizing NTFS partitions without losing any data. You don't even need to defragment your hard disk before resizing it. I had to run chkdsk from the Windows recovery CD to take care of a persistent error in the filesystem before I could use ntfsresize, but resizing it was easy after I took care of that problem. I followed the suggested usage in http://mlf.linux.rulez.org/mlf/ezaz/ntfsresize.html and set up the partitions just the way I wanted them.

Hooray for Linux! Microsoft Windows might not anticipate my need to organize data the way _I_ want to, but free software gives me the tools I need to do what I want.

今やノート型コンピューターは弁当箱と同じくらいが一般的だ。 Now note computers are as common as lunch boxes.

John Sturdy writes:

If only I had known about Ubuntu being able to do the resize for you — I've just spent a rather sore week setting up an uncooperative Windows machine as dual-boot, using a variety of tools including Partition Magic, parted, and others!

On Technorati: ,

Software Freedom Day

1. Why Sept. 10? What's the significance of that date?
Hehe... well, that wss the day that Open Minds (now the Opensource Technology Association of the Philippines) declared "war" on Microsoft in a press conference back in 2002.

Note that the Software Freedom Day, worldwide, strongly discourages bashing of any companies or individuals. Including Microsoft.

It's not about war. It's about freedom.

For consumers, it could be as simple as the freedom to take advantage of freely-available quality software that they might not know about. Tell your friends about Mozilla Firefox, GAIM, GIMP, and other neat programs that run on even Microsoft Windows.

For students and hobbyists, it could be the freedom to participate in world-wide projects and make a difference not only through code but also through equally valuable efforts like art, translation, and documentation.

For companies, it could be the freedom to deploy best-of-breed solutions without having to allocate budget for yearly licensing.

This is your opportunity to show people what they can do. Listen to their needs and help them find answers.

Most people don't care about being anti-Microsoft. If people think that the best arguments we can make for Free software is that it's not Microsoft and it doesn't cost a thing, then we're even further from Freedom than we thought.

その限られた性能のために私はコンピユーターに幻滅を感じている。 Its limited capability has disenchanted me with computer.

On Technorati: , ,