Search This Blog

Thursday, July 12, 2012

Join the Community! - Ubuntu Forums.
One of the best ways to get involved in the Ubuntu community is to join the Ubuntu Forums and start talking.

For those of you unfamiliar with the purpose of forums, forums are gathering grounds for different discussion topics in the form of threads.

There's all kinds of discussions, from absolute beginner talk all the way to technical bits, like programming and running ISOs.  And there's always a community cafe, which breezes through material unrelated to Ubuntu.

The community is very active and vibrant, a strong reason why many people love Ubuntu.

Still interested? Learn about where and how you can contribute to Ubuntu.

Wednesday, July 11, 2012

"Intro to Ubuntu Development World for Beginners" #ubuntu-classroom.

From 15-16 UTC, in IRC, there is a session on "Introduction to Ubuntu development." In Los Angeles, that's from 8 to 9 am! Anyone who is interested in becoming developers should really , pick up an IRC client, enter the session, and learn more about how Ubuntu is worked from the ground up.

Our speaker is Bhavani Shanker, who has been helping out for Ubuntu for 5 years and an experienced developer.

Saturday, July 7, 2012

Debian Filesystem

From the filesystem guide.
The Debian filesystem follows that of the Unix system.  Apple's Mac OS X has its foundations on Unix, so there is a vague similarity between Mac and Linux.

The hierarchy is divided into the shareable and unshareable, static and variable.

Static files cannot be manipulated unless the administrator explicitly decides to act on them. They may be binaries, programs, and libraries that came as it was; only under your own discretion may you take access and do work on these files (ex. code revision.)

The variable files, however, are meant to change, stuck in a flux as necessity permits. For instance, when some emails arrives on your Thunderbird client, you can label some, trash others, etc. 

There is a clear difference between the shareable and the unshareable files.  User files, like our word documents and our music and - to an extent - our information, sit in a pool to be shared. The unshareable files are really device-related, for booting, system-wide tasks, device information, the kernel. 

But all these files are open source, able to be editted.

Cmdline: Input and Output.

Mind that the developer must learn to use the reference and tutorials side by side. Eventually human help can be useful as well. It's a scarce resource. Tutorials are great ways to give a first impression of developments, and as business necessitates, references can fill gaps of knowledge.

In Linux, there is a way to keep you covered about interesting, ambiguous commands: the commands man, info, and whatis. Whatis is my personal favorite because it gives a one-line description of the purpose of the command. Man is useful as a reference of commands. So, say I want to know what bzr is. Simple, I write up

whatis bzr

And there you go: Bazaar next-generation version control.

I/O - Input, Output

The Linux terminal knows how to invoke I/O. What you type onto the terminal is an input, and the results that are spit out are outputs. Outputs actually come in two forms, standard output and standard error. The interesting thing is that the outputs are linked to the screen, so that you could see it them with your own eyes. For instance, if you invoked the ls command, which lists directory files, in usr/bin, the near equivalent of the Program Files folder in Windows, then you would receive an output of the entire program list.

ls -l /usr/bin

Now here's the catch. Say you want the output to be stored in a file, not directed to the screen. Manipulating the I/O to redirect the output comes in handy. All you need to do is use the > command.

ls -l /usr/bin > bin-output.txt

This would put the output you normally see on the screen arrives to your .txt file. But it also overwrites the contents of the intended file. If you want to append (add on) the output, we could use >>.

ls -l /usr/bin >> bin-output.txt

There are all sorts of possibilities that spring to my mind with Linux's redirection ability. Perhaps I want to share an error message if any with a fellow developer who can review it and discuss it with me in detail. Or show the measures I took and have the community help me out with a problem.

Friday, July 6, 2012

Intro to Debian, Package sections in Universe.

Check out Debian at

In Debian, the aspiring developer is expected to take initiative into the scene.  Having individual attention, just like our teachers show, is a very scarce resource.  Be sure to read the Developer's Maintainer Guide on "getting started the right way"!
The social dynamics of Debian is to use IRC and mailing lists (sign up to one, like google debian-mentors) to communicate with developers, and everyone interested in volunteering for the open source community start out as contributors.  Once one has shown large contributions to the community in reporting bugs, packaging, writing up documentation, and so on, he or she can apply for membership as a maintainer, and ultimately a developer, the one who has complete upload rights to the universal repository of packages.

Think of packages as your typical shipment.  When you order something from, say Amazon, it comes to you wrapped in a package.  Inside is the content that you've been waiting for.  The same way, in the software community, applications - and developer tools - are wrapped into packages.  The developers' job is to package these things and maintaining them as they upgrade or downgrade in versions.

Package sections - main, contrib, nonfree

I bet Amazon has an ultra-huge repository of items and contents in their warehouses.  The same virtual warehouse exists in the developer world, what we call the Universe.  The universe is the world where packages all sit.  During the early days of Linux, there weren't many packages.  Now we have over 15000, a large number that requires creating sections. They come in 3 sections: main, contrib, and nonfree.

In the main repository, all packages have dependencies on the essential tools already pre-installed in the system. In the contrib repository, the packages have dependencies on supplemental tools that may not be from the system.  In the nonfree repository, the makers obviously have the key to manage the files to be installed themselves, not the community.

Thursday, July 5, 2012

Interested in developing? Become a packager!

Before diving into Ubuntu development, I want to equip myself with sufficient knowledge of the open source community.  The best way, I discovered, is to learn Debian.

That's right.  Ubuntu is a derivative of Debian, and for the prospective packager who wants to discover the immersive world of open source programming, he or she will need to learn the basics of merging code into branches, mastering the social order of launchpad, dealing wiht Upstream, and communicating with developers. 

Throughout the next week or so, I'll be sharing bits of what I found essential from the Debian maintainer's documentation.  To develop for Ubuntu, one must know Debian by heart.  A quick trivia: most of Ubuntu's documentation comes from Debian documentation.

Here are the steps:
1. Find a choice Linux distro to install.  My personal favorite is Ubuntu, which you can download at
2. Check out the Ubuntu package guide. Read the intro and getting set up, and set up your development machine.
3. Once you understand how Ubuntu development works, start reading the Debian's New Maintainer's Guide.

Happy learning!

Wednesday, July 4, 2012

Fourth of July - A Praise.

My pencil sat on the table, waiting for use.  Meanwhile, I stepped up to the window, watching the dawn turn to dusk.  Breath after breath, intrepid for excitement, I wake, with the rising moon, to the pulpit of the ages.  Yes, these creeping days of the beautiful day of independence.  Contrary to common belief, American independence really followed after 1782, seven years before George Washington ascended to presidency.  Well, enough of that.

Spending a wonderful time at my cousins' house, I look around the beautiful, sinewy meadows of the Rancho Cucamunga suburbs.  Together, late at night, my cousins' family and I hiked along a trail, seeing the entire city light up, ablaze, beautiful, from a distance so fitting that a panaroma of the lamp posts, of bustling businesses, and of cars on the highways ensues.  The eye could only grasp so much.

Along the way, my cousins and I shared a warm chat about appreciation for this holiday and our prospects for future.  Youngsters as they are - the oldest is heading to 8th grade - my cousins are quite indecisive (very expected).  Perhaps, it hasn't hit them yet about the tranquil bodes of swift action and powerful moral choices. To go so far for a cause...

America has braved the turbulence of two centuries.  In the midst of debt crisis, failing Medicare, impending presidential elections, Islamophobia, class inequality, and economic disunity, we look to a new light: each other, Americans.