Kubuntu Dev Tips?

Decided that I want to get more involved with the Kubuntu project. Filling bug reports and answering forum questions is one thing. Being involved with the desktop you will be using is another. Besides I want to get my hands dirty in some KDE coding. Maybe gleen off a few tricks on how to create an environment where developers, and the community in general contribute.

I am a firm believer that developers should eat their own dog food. So for starters, I am making room to install the new KDE 4 version on Hardy Heron. After that I guess I will try to become a Kubuntu developer. Any tips on how I should get started?

Working Titles

After the disappointment of having to admit defeat with one of my projects, I can announce success in two separate ventures. First, I am writing the first chapter of a science fiction novel. Secondly, I started planning an open source game title. I am excited about these two new experiments.

I post more details about both projects, after I get substantial work done.

Forward Looking, Backwards Loss

Eric S. Raymond, once said that open source is about a “developer scratching an itch.” Thats what I tried to do with justcheckers. Unfortunately that itch disappeared a long time ago, and now the project just exists. I have different goals now, and different needs. So while I hate to admit it, I am tried of justcheckers and stepping down as lead developer. If anyone wants to pick up the reigns of that project, contact me and I will get you set up appropriately.

I am looking forward to concentrating on doing other work.

Spreading Linux as a Scientific Endeavour

I just read Vlad Dolezal’s blog entry about why Linux doesn’t spread. The debate about the reasons why people don’t adopt Linux and a free open source desktop, has gone on for years. Vlad just dredged up the old its free therefore not useful argument. An easy counterexample are what mobile providers: get a free cellphone, pay for the service. Most Linux/open source companies make money from Saas (software as a service) too. In fact most large scale enterprise deployed software firms, do SaaS or SOA (service-oriented architecture). So while I wish Vlad luck with selling copies of Linux, a far more interesting comment turned up.

One commenter on Vlad’s site mentions their luck with “selling” the idea of a free open source Linux desktop as a scientific endeavour. Linux and software libre started off as ventures of interest only to computer scientists. Look here is a neat little OS I wrote on top of Minix (Linus Torvalds). And look here is a way we can run a UNIX system without NDAs, and restrictions of proprietary vendors (Richard Stallman). It was only until Eric S. Raymond started working on convincing developers and business decision people, that free software named as open source, that Linux started into its present course of wider adoption. A good chunk of open source projects are initiated by academics in computer science and communication fields.

The term open source was invented to defeat the argument which Vlad reiterates. Read Eric Raymond’s book, The Cathedral and the Bazaar for more about the idea behind “open source”. Removing the word “free” helps to lift the semantic confusion around the term free software. And treating the open source eco-system as part scientific community, part computer hobbyist club, and part client-oriented commercial paradigm, will all help remove the negative aura that sometimes surrounds Linux and the open source desktop.

The idea of getting involved in a grand experiment in science, appeals to some individuals. But probably only to those affiliated with academia, or in love with the romantic vision of science. Neither this idea of Linux a child of “computer science love” or any one thing will increase Linux adoption overnight. There will not be any mass exodus from Windows to Linux. However we can lower the cost of entering into the world of Linux.

Far more difficult issues face Linux and the open source desktop other than what Vlad mentions. The open source desktop lacks in ease of use, marketing and third party support. Dealing with these issues, will lower the cost of entry to the open source desktop for more computer users. More about this in future articles.

The Masses Don’t Exist

Some food for thought: If Linux/open source is so great why hasn’t it reached the mass market?

It’s an interesting question, especially for someone like myself who wants the open source/software libre movement to succeed both socially and economically. This question should interest even people who don’t really care about software or programming. Because if the FOSS community and companies could demonstrate that doing business in an ethical manner, and even show that ethical business can do perform better than “ethically neutral” business; this would have a huge impact on society.

However the term mass market is actually confusing. The mass market does not actually exist. In business, you don’t actually sell for the “masses”, but for a wide aggregated market of various consumers. A word processor (like Microsoft Word or OpenOffice or KOffice) works well for teachers, students, writers, office workers, secretaries, et cetra. But each of these kinds of individuals is actually a narrow (vertical in bizspeak) market. The word processor as a product just spans such a wide market, because its similar functions work a vast number of these vertical markets. Would you call a tool like a screwdriver or hammer as a mass market utility tool? Probably not.

So where does the so-called “mass market” exist? Only in the minds of individuals. The masses are a derogatory term used for a group of people whose lack of judgement makes them a prime target for exploitation by unscrupulous individuals. Even the wisest of people, act without reasonings things through. Some of us do so more than others. But humans are not herd animals and we should not be treated that way.

Unfortunately some people, organizations and companies want the mass market to exist. The mass media wants it for profit and power. Tyrants want it for profit and power. Seeing a pattern here? Nothing good for the majority of the human race can come of this kind of thinking. These organizations and individuals simply want to exploit the most vulnerable. It’s a good to see a tyrant brought down by the so-called “masses”. And it’s a good when we see the mass media, the mass publishers, and other mass market companies to suffer when their “mass market” leaves them and punishes them economically.

The truth is everyone a unique individual with unique talents, a unique background and unique needs. When you view persons as individuals and not as members of some “group”, then the masses simply don’t exist. Modern societies, law, technology and business theory are all based on the concept of individualism. And those who refuse to treat people, be they citizens, clients or end users with individual human dignity should be and will be punished for their folly.

Getting back to the commercial adoption of open source and Linux. Since the masses don’t exist, no single effort of the open source community is going to replace all the world’s computers operating systems with Linux and a free desktop. Rather Linux as a platform needs to suit the needs of the end users or clients. The business opportunities around open source and Linux are myriad. The real issue for open source business is to come up with a sane business model.

There will be no “Year of the Linux Desktop”. For some it already has happened. For some it still has not yet come. And for others Linux and open source will never work. Wide adoption of Linux will only occur if it meets the needs for a wide variety of individuals.

Productization of Self

Wonder where I have been in the past few days? Still job hunting and figuring how best to market myself to prospective employers. Its not easy for a few reasons.

First, is most people don’t learn about how to do this sort of thing until they hit unemployment line. I for one don’t claim to have figured out job searching. Second, being a recent student without a ton of certifications or years of work experience doesn’t help matters. These first two dilemmas will only resolve themselves after I am employed.

Third I am still trying to decide what kind of job I want and in which sector. And often what I want to do and what is possible are at odds. Example I want to work on open source games in the GTA. Its not gonna happen, at least not anytime soon. I also want to become an astronaut, but am neither a pilot nor a scientist. Reality unfortunately bounds my ambitions into a significantly smaller space. Right now, I am looking into openings that match my skill set, or companies that match my err… interests.

I do have a few possible leads. But I need something more concrete then that. Nothing but to press onwards till success. Wish me luck.

War§ow for the Win!

Refactoring code and sending out resumes can get boring after a while. And while working inside of KDE 4 with all its prettiness and ease-of-use helps one be more productive… sometimes you need to be unproductive to be productive. Trust me it makes sense. Its like a zen koan or Ancient Greek paradox.

Thats where a fun game called War§ow comes into play. For gamers out there, its a cell-rendered Quake/Unreal Tournament arena-like based on surprise, surprise: the Quake 2 engine. A heavily modified Quake 2 engine but still looks great. For Ubuntu users, its already in the repositories: just grab warsow. For freedom crusaders (sorry LugRadio had to borrow that one), its free software under the GPL! But most of all its a fun, fun multiplayer FPS game for Linux.

Heres a pro-gamer match played on Warsow:

KDE & Linux: An Explanation for the Uninitiated

One of my friends after reading my last blog piece commented: “English please.”

So here is the English summary translation of my last blog post:

The short explanation would be:
I occasionally review new Linux software. KDE is a window manager for Linux. And the new KDE4 rocks my world!

Long explanation without too much techno-babble:
Linux is an alternative to Windows for computers. Now KDE is a window manager for Linux. A window manager handles the drawing of windows, various widgets, keyboard input, mouse input, etc. (Yes, KDE/Gnome users I know that window managers often do more than that.) Basically all the things you see (and hear) on a computer, are all handled (for the most part) by a window manager.

The KDE developers also make a number of additional programs (file browser, web browser, IM client, office suite, image viewers) that work closely with the basic KDE system programs. In the new KDE 4, the KDE developers basically rewrote most of KDE, letting them experiment with new and interesting ideas.

Now, you are probably thinking so what? Well unlike Windows or Mac OSX, Linux is free. KDE is also free. Free as in speech.

You see Linux, KDE and hundreds of other such programs are open source software or software libre. Software libre is a movement to give back freedom to both computer users and developers. (For the most part I use the terms free software, open source and software libre interchangeably. My apologies to RMS & the FSF for continuing the confusion.)

Open source software is licensed in such a way that you can download it legally, run it, look at the source code, whatever you want to do with it. The only restriction is that if you change the source code and plan on releasing it, you have to release your modified source code under the same license. (Extreme simplification here since I am talking only about the GNU General Public License version 2 or GPL 2. But nothing written as a binding legal document is simple. Fortunately GPL 2 is the most popular open source license.)

Now most people think that nothing of value is free. You might think no one would want to work on something that is free. Except there are probably a few hundred thousand open source developers including myself out there. Except that Fortune 500 companies such like IBM, Sun Microsystems, Adobe, Asus, Google, Dell, Sony, etc. often run their business on open source software, and pay developers to contribute back to open source software projects like Linux.

Case in point: Yesterday, Sun Microsystems bought out MySQL AB, a company that produces free open source and extremely popular database for $1 billion USD. Google, Yahoo, Facebook all use MySQL as their database platform.

Back to my last story, the new KDE 4 is cool. Cool because its open source. Cool because its beautiful to look at. Cool because it works. Mostly. Cool because it will only get better.

So I hope that explains why I get excited about things like KDE 4.

KDE 4: My Desktop Just Got Cooler

Tuesday, I decided to make the plunge and try out KDE 4.0.0 One word: amazing. So ever is my quick and unscientific review of KDE 4.0.0

Artwork
KDE 4 is a very sexy looking desktop. The panel is darker, the default wallpapers classier and artwork much more modern. The icon and widget theme Oxygen and the effects make the desktop stunningly pretty. The Oxygen window decorations don’t add much. I ended up switching to the Plastik. Also the artwork for the new KDE 4 games is simply beautiful.

Naturally artwork is a very subjective thing, but it does help with the user experience. If a user wants to look at a program, then he/she might want to work and experiment with it too. So far I am impressed by the Oxygen art team’s progress.

Stability

Older KDE 3 applications also work well. So the new KDE libraries are as stable as the KDE developers claim them to be. Unfortunately not all the KDE 4 programs are stable. I encountered a number of crashes with the new Plasma-able version of superkaramba. Other KDE 4 applications can seem a bit unstable at times too. Also interoperability between KDE 3 and KDE 4 applications is a bit weak too. The most stable apps so far the one related to systemsettings and the KDE games.

Again, since KDE 4.0.0. is a release directed towards developers and early adopters, I am not going to complain about this. I am sure other windows managers were less stable after such a massive API change. Things should get better with the next release of KDE 4. Probably by the time Kubuntu 8.04 Hardy Heron will be out, most of these bugs will be out of the way. Remember KDE 4.0.0 is just the first version in KDE 4’s lifecycle.

Integration
One thing I love and hate about KDE is the tight integration between KDE apps. As of KDE 4.0.0 many of the integration pieces are missing. I will not harp upon my two favourite KDE applications, amarok & kontact (part of KDE-PIM). In both cases, the developers are not ready to get the code in place to deal with the new APIs, and the new features they want to add. A straight port to the new kdelibs is one thing. A new release worthy of the KDE 4 title is another.

However some necessary parts of the KDE integrated experience are not there. Example: the Regional/Language settings work… barely. Also the new kickoff menu does not always find new non-KDE programs, something the old menu did. (That might be more of a Kubuntu/Ubuntu integration issue though). Plasma whose ultimate goal is to integrate the desktop, kicker and applets with the rest of the system, has a long way to go.

…And Everything Else!
To finish off this off-the-cuff review, I want to point a few other things I noticed.

The new kickoff menu takes some getting used to. At first I frowned upon the limited space this new menu system takes up. After a few uses, it grew on me. The Favorites and Computer parts let you quickly get to a favourite application or location. The Recently Used keeps track of your recent documents and applications used. Everything is nicely compartmentalized. The regular applications menu is the part that takes use to the most. Displaying only one menu at a time gives a lot more information about each application. Only problem is when there a large number of applications in a submenu. If the KDE developers come up with a natural way of categorizing applications and keep the maximum depth of submenus to 2 then its all good. Also please, please make it possible to scroll between menus without all that clicking.

The new okular document viewer is awesome. With all the backends in place, it really does become the universal text document viewer. Excellent work. Also KDE 4.0.0 sports a new revision of the gwenview image viewing program. A few more plugins to do slight photo-editing would be nice. But I guess thats what digikam is for. Dolphin also got an update in KDE 4.0.0. Dolphin’s breadcrumb file displayer is now easily editable to let you navigate the file system path. I found this very useful to enter hidden directories without displaying all the . files.

The new konqueror is now an actually usable web browser. Kopete for KDE 4 is nice, but I miss having easy one-click access to my accounts. Now I have to click twice to do the same thing because of the whole profiles thing. KGet also shows promise to be more useful than it once was, with bittorrent integration.

Wrapping up, KDE 4.0.0 brings a lot to the table. Its a sexy-looking desktop with a lot of potential. Once all of the KDE applications get fully ported, and the few nuisances straightened out, KDE 4 will be the most fun free desktop out there. For now KDE 4.0.0 just made my desktop look and feel a lot cooler.

Review of 2007, the Promise(s) of 2008

The year 2007 has been quite a dynamic year for me. Instead of writing a long article about each thing… cause that might take me an year to write and edit, I will just present a list of lists of things that happened.

Academics

  • Completed my undergraduate studies at the University of Toronto at Mississauga.
  • Picked my diploma for Bachelor of Science.

Travel

  • Traveled to Italy and Poland.
  • Walked down Unter der Linden in Berlin, Germany.
  • Checked out the Tower of London, National Gallery and Museum of Natural History in London, England.
  • Saw the sights of Florence, Rome, Assisi, and bunch of the Umbria region of Italy.
  • Walked around Gdańsk, Szczecin, Poznan, Gdynia and Malbork in Poland.

Software Development

  • Increased my knowledge of information security.
  • Restarted my involvement with the justCheckers project.
  • Deepened my understanding on software libre and open source.
  • Learned Javascript, CGI-Perl and JSP.
  • Joined the Ubuntu Toronto Users group.

Business

  • Led a mock-up startup for a course.
  • Learned how to read and understand businesses.
  • Discovered the many aspects of open source businesses.
  • Read My Job Went to India, or how to stay in IT.

Art

  • Wrote six articles on quantum computing.
  • Wrote seven personal essays that form my Hacker, Gamer, Lover book.
  • Wrote and voiced in an audio documentary, Casanova.
  • Started writing a science fiction novel.

Social Activity

  • Learned of the open access movement.
  • Learned the basic ethical theories: utilitarianism, Kantian ethics, and Rousseau’s social contract.
  • Debated for network neutrality.
  • Read Stallman’s Free Software, Free Society.
  • Read about the anti-software patent efforts in the EU.

Personal

  • Went to Taize in Montreal.
  • Made a lot more friends.
  • Learned the subtle art of dating.
  • Survived the downs of 2007.
  • Got my G1 driver’s license. Again.
  • Invented task logs, an organizational tool.

Things to Do for 2008

  • Finish justCheckers.
  • Write and publish two books.
  • Get a software development related job.
  • Start a company.
  • Find a real girlfriend.
  • Learn to drive and get my full G license.
  • Learn C and C++.
  • Get involved in a major FOSS project.