Setting Up Subversion

Every developer should have version control. It can be a simple process or a process supported by tools. One of the best versionĀ  control tools is Subversion or SVN. Here’s how to set up your own SVN server on a Linux box.

Install or update Subversion: If you’re using Red Hat-type Linux: yum install subversion or yum update subversion. If you’re using Debian-type Linux: apt-get install subversion or apt-get update subversion. Others Linux flavors should have something similar.

Create your repository: svnadmin create /svnroot

Configure access: vi /svnroot/conf/svnserve.conf. In the [general] section, add:

anon-access = none
auth-access = write
password-db = passwd

Add users: vi /svnroot/conf/passwd and add:

<username> = <password>

Start Subversion as a daemon: svnserve -d.

Open up TCP port 3690 on your Linux box’s firewall.

Connect to your SVN server with the URL svn://<server name or ip>>/svnroot

Start using your SVN server. Here are some useful tips:

  1. How to structure your repository
  2. How to fix bugs properly
  3. How to release software properly

That’s it!

Skype on Linux

My sister needed a computer for reviewing for her medical exams so I lent her my old (ancient?) IBM Thinkpad X22 which is running Kubuntu. She needed Skype to be able to talk to her hubby who is in the US so we downloaded and installed Skype. Well, what do you know? It actually installed and ran without a hitch. Linux definitely has come a long way. If it we’re not for my games, I would have it on my Asus EEE PC 1000H. I wonder if it’s time to check out Wine, the Linux Windows Emulator, again. Hmmm.

Why Linux Sucks

There are many reasons to love Linux. But there are also many reasons to hate it. And this is one of those reasons.

I’ve been trying to refresh Selene, my Thinkpad X22, since I returned my office-issue Thinkpad T60. I figured Linux would be a good idea as it had Kubuntu before and I was reasonably fine with it. Unfortunately, the only Linux installer I have on hand is Fedora Core 4 (circa 2005). It installed without a hitch BUT I was stuck with Firefox 1.0 which doesn’t support a lot of those Web 2.0 stuff out there.

I tried automatically updating Firefox but apparently the FC4 repository is no longer being maintained. It only contained a point release. My next recourse was to manually download and install Firefox 3.0. But it flat out doesn’t work. Missing library or something. I tried updating the library but, you guessed it, the repository is no longer being maintained.

I turns out that once a new version of the distro is released, the old version’s repository is available for only about a year and then that’s that. This means you need to reinstall your OS once a year! I could probably get things manually updated and working one way or the other but it would just be too much hassle.

Now contrast this with the much older Windows 2000 Professional which installs fine, gets updates fine, and runs Firefox 3.0 just fine, thank you. Now if only I can get rid of the damn spyware that keeps infecting it.

LDAP Authentication For Squid

One of the things you want to do as you integrate your systems would be to have them authenticate from a common user base. That user base is usually an LDAP source, in my case Microsoft Active Directory (don’t say anything!!!). One of the systems you would want to use the common user base is your web proxy, Squid in my case. Here is how to integrate the two. It’s quite simple actually though, as usual, LDAP gave me a bit of a hard time.

First you need to configure Squid to use LDAP. Just add the following in your squid.conf:

auth_param basic program /usr/lib/squid/squid_ldap_auth -P -R -b “dc=your,dc=domain” -D “cn=user,cn=Users,dc=your,dc=domain” -w “password” -f “(&(objectClass=person)(sAMAccountName=%s))” yourldapserver

If you’re encountering problems add the -d parameter at the end and do a tail -f on /var/log/squid/cache.log Now that Squid can authenticate using LDAP, just add your ACLs in squid.conf:

acl youracl1 proxy_auth “/path/to/userlist”
http_access allow youracl1

That’s it!

Asus Eee

asuseepc.jpgYesterday, as I was heading out for lunch, I encountered Tessa at the elevator lobby. She was carrying this small black neoprene case that almost without a doubt contained an electronic gadget. From the dimensions, I concluded that it was an Asus Eee which I’ve heard and read quite a bit about. But to be sure, I asked her and she confirmed that it is indeed an Eee. We talked about it a bit but since lunch was waiting, I scheduled a visit with her for later in the afternoon. As soon as I got some free time, I went up to her office and played around with the Eee.

The Eee is a diminutive device. It is around an inch thick and about the size of A5 paper and quite light. But it seems well-built and quite robust. The screen is small but quite usable especially when applications are in full screen mode. The keyboard is also small but still quite usable. The 900MHz processor is not too powerful and the 512MB RAM not too big but the response of applications is quite snappy. The storage is a (surprise!) small at 4GB, but quite fast since it is solid state (i.e. flash-based). If you need more, you’ll need to use external storage via up to three USB ports. But then again, most everything are stored online these days. Speaking of online it has both wired and wireless network interfaces.

But here’s the killer: It’s Linux-based! I know what you’re thinking. That it would be a complex beast. But no, it is actually seems quite easy to use. It has two mode: simple mode and full mode. In simple mode you’re presented with a very simple tabbed menu with large icons that even a grandma would like. Full mode, on the other hand, is the traditional Linux GUI with access to the applications you expect including my favorite: ssh. Oh yeah!

Do I like it? Hell yeah! But being new to the market, it’s still a bit expensive for my liking. But if someone were to gift me one, I wouldn’t say no. The black one please!