Monday, February 26, 2007

5 Marketer types in Open Source world

An interesting post I found @ Ubuntu Planet today,

There are five broad types of marketer in the open source world:

  • Town criers: shout loudly but not always clearly, don’t listen, make a big noise but actually only reach a tiny number of people.

  • Frustrated philosophers: so interested in the academic niceties of marketing that they mostly fail to communicate with anyone.

  • Secondary practitioners: they fell into marketing-like practices by doing something else and probably wouldn’t think of what they do as marketing.

  • Professional visitors: one of the small but growing group of professional marketers employed by open source software companies, for whom open source is just another job. Further divided into those that engage with the community and those that don’t.

  • The people that get it: they know the difference between free software and open source, they’re a part of the community and they know marketing.

I think I'm in Secondary Practitioner class (maybe a little bit the professional marketer class). Most of my opensource contributions/promotion are voluntary, but I took it like something that I pay back to the community for the Freedom they granted me (somehow like an obligation/job) .. I don't believe on totally free... theres always a price for something , make it in term of monetary, efforts, obligation etc ..

Freedom has a very high price, that is responsibility

Liberty means responsibility. That is why most men dread it.
George Bernard Shaw

And that applies to all subjects in life, not only in opensource/softwares.

p/s: too many town criers around sometimes causes a great headache :P

Wednesday, February 21, 2007

Accessing SVN https repository through proxy

the title says it all .. I was trying to enter an SVN repository from within UTP .. but that requires proxy ... exporting http_proxy and https_proxy doesnt give any results ... so I googled for a while .. however, it seems like not many people having the same problem as me and trying to find a quick guide took some time .. and then I found this page from apache's website

Problem solved .. yay~!

The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)

There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.

Example : Edit the 'servers' file and add something like :

http-proxy-host =
http-proxy-port = 3128

Entering UTPchat Through Tor

Since's box have broken, there has been lots of ppl who pm'ed me asking on how to enter UTPchat from outside the LAN .. I have tried to find volunteers to host a replacement servers but none of them willing sacrifice their home pc .. So, I decided to create a tor hidden service for Togakure server


The current Tor hidden service address for UTPchat is wubkdspcbpabqjmb.onion

If your IRC client can handle socks5 with remote dns, you can just connect to the .onion address directly. Otherwise, use Tor's "mapaddress" feature to fake it. (We do not recommend that you use Privoxy with irssi. It's unnecessary. Just use the 'mapaddress' approach and torify irssi to start it up.) Add a line to your torrc, as in this example:

mapaddress wubkdspcbpabqjmb.onion

Be sure to HUP (reload) Tor if you change your torrc. After you've made the change, just connect your torified IRC client to the IP you specified in your mapaddress statement for the freenode service. Tor will do the conversion for you internally and you'll connect to UTPchat (dont forget to set your proxy to tor socks proxy)


(btw .. this guide is an almost exact copy from freenode's similar guide to enter their network)

I havent tested the hidden service yet .. please tell me if it work / doesnt work .. and btw, connections from tor are slow, so bear with it if you want to use it ..

Tuesday, February 20, 2007

Fedora 7 schedule delayed

One of the big Features of Fedora 7 is a merged core and extras. In order to
accomplish this, we need some improvements to the buildsystem currently used
by Fedora Extras. We need these improvements done or mostly done by the
Feature Freeze of Fedora 7, which was originally set to be the 20th of
February, 4 days from now. It is very clear that these changes will not be
ready by then.

To accomplish these changes (and others) in time for the Feature Freeze, we
have added another month to the schedule, introducing a Test 4, and moving
the Feature Freeze as well as String Freeze up to Test 3 freeze, March 19.

This moves the general availability date from April 26 to May 24.

For further discussion on this topic, please use the fedora-maintainers list,
which I am attempting to set reply-to.

For reference:

Jesse Keating
Release Engineer: Fedora

If its for stability , its okay to me ..

yum-keep-retry plugin

This is my first try to write something useful using python .. so, please tell me if something not right with this plugin ..

This plugin add a retry download functionality to yum when download errors happen. Those that got a fast and stable internet seldom get download timeout/checksum/no more mirrors error, but theres a lot of ppl in 3rd world n developing countries have slow/unstable internet and timeouts sometimes occurs too frequently. I wrote this plugin to make yum retry downloading for a few more times before die.

Saturday, February 17, 2007

JDK 6 RPM messed up with zip mimetype

I installed JDK 6 RPM from Sun's Java SE download page for my Object Oriented Programming course. After installation, I was annoyed by all of my zipfiles and files that uses zip format to be identified as x-java-archive. This change created an annoying "Warning wrong filetype" when opening files that uses zip format but uses different extension - like ODF files. And when I select those files, their icons also changed to java-archive icons.

Being greatly annoyed, I started hunting down the mime-type definition. First, I tried to find the definition by grepping x-java-archive from the jdk rpm
# rpm -ql jdk|grep x-java-archive|grep -v icons
Bingo!. Found it.

I fired up vi and edited the definition file and commented out the <magic> tag
<!-- <magic priority="85">
<match type="string" value="PK\003\004" offset="0">
match type="host16" value="0xcafe" offset="40" />
</magic> -->

Juz to be sure , I tried to locate other x-java-archive definitions and commented out their <magic> tags

# updatedb 
# locate x-java-archive.xml

After editing them, the mime cache need to be updated for things to take effect immediately.
cd /usr/share/mime/
update-mime-database /usr/share/mime/

Finally, relogin to gnome for applying the changes.

Yeah~!, no longer annoying "Warning wrong filetype" messages when double-clicking ODF files and others that uses zip format.

Happy Chinese New Year

Happy chinese new year to all chinese visitors of this blog~~

Monday, February 12, 2007

Geany : A multi-language, fast and lightweight IDE using GTK2

I noticed a package in Fedora Extras called Geany while shopping through packages using synaptic .. The description says
A fast and lightweight IDE using GTK2

Currently I'm using Anjuta for my assignments and course C/C++ work, but to me, Anjuta is too much for my simple day-to-day programming - which sometimes I just do it on Gedit or Vi - , so I decided to give Geany a try.

At first, I expected it to be a lightweight C/C++ IDE , but to my surprise after launching it, it support lots of languages~!!!!!. C/C++, Java, PHP, Bash Scripting, Python, Ruby, Perl, etc etc. And it does not only support syntax highlighting, but also a basic code completion, a basic class browser, some other simple tools , and best of all, compiling/executing the programs written despite the various languages it supports. Geany select the compilers/interpreters automatically and use it when you click the compile/execute button

The UI is easy enough for use, simple, and effective. It does not have all those advanced project-management modules like Anjuta and Netbeans, but it have everything it needs to be an IDE for simple applications.

A Windows installer is also available from the official Geany site's downloads page

Tuesday, February 06, 2007

HOWTO: Setting up SVN and DAV in Fedora6

This Howto is based on a similar howto for FC4 by Ferdy Christant HERE

I've been trying to set-up a SVN repository for my university's usergroup to get some kickstart in Opensource development among my batch and friends, and UTP as a whole. With some googling, I managed to find some good guides in helping me to set-up up. (to newbies, just for your information, I'm using root user throughout this guide)

Step 1 : Getting the packages

To set up the repo, you'll need subversion, apache and mod_dav_svn.
yum install subversion mod_dav_svn httpd

Step 2 : Preparing the SVN repository root

After getting the required packages, set up a place for storing the SVN repos in a suitable place. In this howto, lets assume we store it in /var/svn/.
mkdir /var/svn/ 
mkdir /var/svn/permissions/ #where the permission settings will be stored
mkdir /var/svn/repos/ #where the repos will be stored
mkdir /var/svn/users/ #where the user htpasswd will be stored

We'll need to give apache access to the repository root, because it will be the application that read/write on it. Giving ownership is safer and easy to manage than chmod'ing the directories to 755.
chown -R apache:apache /var/svn/

Step 3 : Creating a test SVN repository

Lets create a repository in the directory for testing purposes
cd /var/svn/repos/
svnadmin create testrepo

chown it to apache
chown -R apache:apache testrepo

Step 4 : Setting up Apache and mod_dav_svn

The mod_dav_svn RPM already provided a prebuild configuration for this purpose, you can found it at /etc/httpd/conf.d/subversion.conf. For the lazy people, you can just uncomment the all the entries in the config, change the path settings and start/restart/reload httpd. But lets uncomment a few lines first to test whether the repository can work or not. Don't forget to change the SVNParentPath to your SVN repository parent. If you want, you can also change the Location setting (in this howto, I use /svn).

<Location /svn> 
DAV svn
SVNParentPath /var/svn/repos
# # Limit write permission to list of valid users.
# # Require SSL connection for password protection.
# # SSLRequireSSL
# AuthType Basic
# AuthName "Authorization Realm"
# AuthUserFile /path/to/passwdfile
# Require valid-user
# </LimitExcept>

Start/Reload apache for the settings to take effect.
service http reload

Then, try entering the repository by pointing your browser to the /svn/testrepo folder of the webserver (lets assume we are doing this on localhost). Open http://localhost/svn/testrepo/ . You should see a page with "Revision 0:/" as the header. If you can see the page it, if not, check if you've done something wrong (if you got error 403, check the folder permissions)

Step 6 : Securing the repository

To secure the repo and DAV, we rely on htpasswd protection, first, create a passwordfile to store the username and password
htpasswd -cb /path/to/passwdfile username password

htpasswd -cb /var/svn/users/passwords myuser mypasswd123

Then, uncomment these lines
<Location /svn> 
DAV svn
SVNParentPath /var/svn/repos
# # Limit write permission to list of valid users.
# # Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/svn/users/passwords
Require valid-user

and reload httpd
service httpd reload

By now, when you want to open the repo URL, the browser will ask for a username and a password.

Allowing Read access to all visitors/users

You might want to allow all users read operation but limit write to known members, you can do this by rearranging entries in the config into this and reload httpd

<Location /svn>
DAV svn
SVNParentPath /svn/repos
SVNListParentPath on
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /svn/users/passwords
# SSLRequireSSL
# Limit write permission to list of valid users.
# # Require SSL connection for password protection.
# SSLRequireSSL
# AuthzSVNAccessFile /svn/permissions/svnauthz.conf
Require valid-user


If you want more advanced access control using per-directory permission, you can read the blog post at Ferdy Christant's blog or this Gentoo wiki entry. I'm only covering the base set-up of a SVN server on FC6. If you want a Web based SVN interface, consider looking into WebSVN.

Thursday, February 01, 2007

Favourite Icon

Just added a favourite icon for this blog. Thanks to a myOSS member, surface, for his howto.
Locations of visitors to this page