Categories: geek » foss

RSS - Atom - Subscribe via email

Indirect benefits of working on open source

| free and 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

Posted: - Modified: | event, free and open source, toronto

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? =)

Microsoft Word in schools

| communication, free and open source, learning, teaching

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? ;)

hundreds and thousands and millions and billions and trillions of
voices, for each cat thought itself the prettiest. [M]

Working with Emacs

| development, emacs, free and open source

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.

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 =)

ntfsresize

| free and open source, linux

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.

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!

Software Freedom Day

| free and open source

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.

Net install

| free and open source, linux

I’m setting up Linux on the Sony Vaio U1 so that I can use it as well
as my Lifebook. I’ve decided to give Fedora Core 3 a try instead of
just net-booting and installing Debian like last time. Besides, I
couldn’t find my handy-dandy one-disk Debian net install image.

Fedora Core’s net-install support lags far behind Debian’s. I don’t
know if it’s even possible to start the installation process using
boot/root floppies, so you really need to either burn a CD or set up
pxelinux. Fortunately, I’d set up a DHCP and TFTP server on my
Lifebook before, so I knew it could be done.

After some trouble getting the Vaio to acquire the DHCP address and
pick up the boot files, I was relieved to see the familiar text
dialog-based installation screen. I’m currently waiting for the 71MB
stage2.img file to download. There are no progress indicators, and I’m
getting rather nervous. I can’t seem to drop to a shell to find out
how far along the installation is.

I like the Debian net install far more. Plenty of progress indicators
keep you in the loop so that you’re not worried about interrupted
network connections or sudden hangs. Come to think of it, going for
Debian instead will make it far easier for me to migrate my
configuration.

Bah. So much for Fedora Core. ;)