Thursday, October 20, 2011

Warning signs of an IT jobs ad: Fast typist required

There are many reasons why this is bad.

First, the ability to type in a decent speed may be necessary to program fast (not necessarily to program well, mind you), at least in non-static type languages where IDE can't do autocomplete well. That means languages Java, VB, .NET (with compile time type checking) with extensive autocomplete support, doesn't need much typing speed because the autocomplete will do most of the fast typing for you.

Even then, you don't usually bottleneck your productivity at your typing speed unless you are writing a lot of linear non repeating code. But in any environment where such code is necessary, typing speed will be the least of your concern.

What's important is the ability to type without conscious effort so that your programming effort can be concentrated on actual programming.

Assumes existing programmers in that company are competent:
If typing speed limits the productivity of programmers, any framework the existing programmers works are based on must be bad, that is it doesn't help simplifying work. You may experience the same problem if you work there.

Assumes existing programmers in that company are incompetent:
That means their codes are so grossly inefficient their typing speed (or copy-pasting skill) is the limit to their productivity. You can't expect to grow yourself professionally in that kind of environment.

One thing for sure, any company who relies on typing speed as a criteria of acceptance should be avoided.

Sunday, June 14, 2009

Setting up xen with nat and dhcp in debian lenny (5.0)

Information on setting xen with NAT in debian lenny is scattered over the internet. One resource mention about patching some files.

This guide is for people who want to do the setup with the most minimal change to debian default setup.

1. In /etc/xen/xen-config.sxp, comment (put # in front of) the "(network-script network-dummy)" and "(vif-script vif-bridge)". Comment out (erase # in front of) the "(network-script network-nat)" and "(vif-script vif-nat)".
2. Put "brctl addbr $2" after the line saying "echo $*". Then put "ifconfig $2 xxx.xxx.xxx.xxx" at the end of the file, where xxx.xxx.xxx.xxx is a local static IP address.
3. Set up your dhcp server accordingly by have it listen to the interface, the default is xenbr0. The ip of xenbr0 will be automatically set to xxx.xxx.xxx.xxx from step 2 above. Restart your dhcp server if necessary.
4. Run your xen image.
5. Then restart ipmasq by running /etc/init.d/ipmasq restart .
6. Profit!

This should be clear for people who know enough to install xen. Leave a comment if you want to ask question. And please leave a comment if you know a better neat way to configure default xen's lenny installation. The above is really a hack with the least amount of modification I can think of.

Friday, May 01, 2009

How to display japanese characters (kanji) in Iceweasel (firefox) of Debian Lenny

I thought I should write this down and let it be public knowledge before I forgot. There are many ways suggested in internet but none works for me.

Install ttf-sazanami-gothic, which can be done by running "apt-get install ttf-sazanami-gothic".

Friday, April 03, 2009

Ruby on Rails with Postgresql on Debian/Ubuntu

Based on the information scattered here and there, if you want to use postgresql with Ruby on Rails on Debian/Ubuntu, you can use 2 approaches:

The first approach based on various places and experiment is
1. Set adapter of database.yml to postgresql.
2. Install postgresql-server-dev-?.? (?.? = 8.3 in Debian Lenny).
3. Install the pg gem with "gem install pg"
The above approach has been tested.

Another approach based on http://www.williamchu.com/blog/?p=9
1. Set adapter of database.yml to jdbcpostgresql
2. Install the activerecord-jdbcpostgresql-adapter with "gem install activerecord-jdbcpostgresql-adapter jdbc-postgres"
I don't bother to test this approach since it's using jdbc, which means another layer of complexity. But this might be useful if you use JRuby. In addition, this approach should work on other linux distro.

Thursday, April 02, 2009

Installing ruby 1.9 from source on debian/ubuntu, the rubygem/zlib/ssl problem

Since I noticed some people experienced the same problem, and the solution to this is scattered into multiple posts/comments, I'll just integrate it here.

Basically if you install ruby 1.9 (or probably other versions) from source in Debian based distribution (like Ubuntu), the zlib part of Ruby won't be installed. This problem will reveal itself when you want to install Rubygems, for example Rails for Ruby on Rails.

The solution is:
1. Clean up all that failed compiled files in the directory where you run "make". Just to be on the safe side.
2. Install zlib headers (zlib1g-dev in Debian Lenny) using your distro package manager.
2a. While you're at it, also install ssl headers (libssl-dev in Debian Lenny) using your distro package manager.
3. Run "./configure", "make", "make install".
4. Run "./configure", "make", "make install" again.

It should work then.

In my understanding, the problem is caused by Ruby's zlib compilation process that requires.. ruby, which is not created yet. So basically you try to install ruby as best as you can, then use that ruby to install the complete version of ruby.

Saturday, April 19, 2008

My employees are holding a strike, yay!

Today almost 80% of my employees are holding a strike. The cause was pretty simple, one old employee who had a pretty bad track record was.. verbally disciplined. For whatever reason, he couldn't accept that reprimand so he told his work friends. Now, some of those friends were talented provocators (really. they were pretty good..) . I had awared of them since years ago but they behave well enough so... They coordinate a strike bringing almost 80% of them.

The detail is rather sketchy since I wasn't present when the incidence happen. I'll update later. But one thing for sure, I now have a reasonable basis to fire those provocators. Yay! But now I must deal with some future consequences... *sigh*

Tuesday, April 08, 2008

The boiling frog: Internet censorship (Fitna) in Indonesia.

Have you heard the story of boiling frog? Taken from wikipedia: "The boiling frog story states that a frog can be boiled alive if the water is heated slowly enough — it is said that if a frog is placed in boiling water, it will jump out, but if it is placed in cold water that is slowly heated, it will never jump out."

This blog told me about a decision of a major ISP in Indonesia to censor the controversial fitna film. Regardless of whether that movie deserved to be ban or not, I fear that this censorship is the beginning of boiling frog phenomenon. The justification for the next censorships will be more and more ridiculous that it won't take too long for Indonesia returning to a police state again..

And I do think that the censorship decision is ridiculous. Yes it is probably important to ban this movie in Europe where a majority or people in power are not moslem, because the hatred towards moslem induced by that film put many minority moslems in trouble. But in Indonesia, where the majority are moslems, banning that movie is not only unnecessary, but has the potential to make religious conflict sharper due to the discriminative privilege to censor for moslem majority.

Edit: Now that I am calmer, I can emphatize how in collectivistic culture, insult to a group will be considered very personal attack to individual. But I'm getting more and more concerned with the humanity if collectivistic culture dominates the earth.. One concern is how internal conflicts are more likely to occur the bigger a group is, compared to individualistic culture. *sigh*, oh well.

And yeah, I'm still very concern with the eventual state of freedom of expression.