Using CD-R King's Cheap Modem/Router

CD-R King's ADSL Kit

At PhP 880, CD-R King’s ADSL kit is the cheapest modem/wifi router you can find in any store right now. Problem is, it won’t work out of the box for most people.

This post will explain how I replaced my PLDT DSL modem + D-Link wifi router setup with this unbelievably cheap device.

Continue reading “Using CD-R King's Cheap Modem/Router”

Distributed Revision Control

Distributed Version Control Systems (DVCS) have been gaining popularity in the recent years. Here’s Linux creator Linus Torvalds talking about Git and why developers should consider moving to DVCS from traditional centralized repositories.

Personal thoughts below the cut.

Continue reading “Distributed Revision Control”

Collaboration with Revision Control

The problem to avoid

A group who codes programs without revision control is stupid. And crazy.

Seriously, what self respecting software developer in 2009 in their right mind would use a “shared network folder” approach in sharing code instead of opting for a VCS?!?!

Here we come to the second important purpose of revision control, namely, to automate most of the processes involved in sharing work among multiple users. Those processes and the problems involved with them are neatly described in the SVN book. Just click the link and come back here when you’re done reading the chapter (saves me the copy-paste effort :P ).

Continue reading “Collaboration with Revision Control”

Revision Control

Anyone who codes programs without revision control is stupid. Seriously.

The trade-offs are so high that there’s almost no reason not to use a version control systems (VCS) when programming.

“So what is revision control?”, you might ask.

At its very core, revision control deals with tracking down changes to your work. That definition, however, is a bit misleading. For software development, it’s better to think of revision control as similar to the computer gaming concept of multiple saves.

I used up all of the save slots in Persona 4

As gamers will know, one save slot is not enough for larger games like epic RPGs or RTS games. It is not uncommon to encounter a scenario where a player realizes that he has made a terrible mistake 3-4 saves ago. If the game has only one save slot, that player is pretty much screwed as the save has already been overwritten. On the other hand, this won’t be a problem if he has saved on different save slots.

A similar problem pops up often when developing programs. A developer might realize that he made a terrible mistake in the code he wrote some time ago. Without a VCS, the developer only has one “save”: the one currently saved on his computer. He will have to search his files manually in order to pinpoint the location of the problematic code and fix or revert it.

With a VCS, however, the developer is given the ability “save” the current state of his code. As long as he commits (“commit” is “save” in revision terms) often, the above scenario is not going to be a big problem. Instead of manually searching each file for the change, he can look at the revision history which will tell him which files were changed. He can then use the various tools in the VCS to inspect and fix the problem. What would have taken the developer minutes or even hours to fix might only require a few seconds if there was a VCS in place.

Continue reading “Revision Control”

Vindication

From Peter Drucker’s essay Focus on Contribution

Knowledge workers in an organization do not have good human relations because they have a “talent for people.” They have good human relations because they focus on contribution in their own work and in their relationships with others. As a result, their relationships are productive–and this is the only valid definition of “good human relations.” Warm feelings and pleasant words are meaningless, and indeed a false front for wretched attitudes, if there is no achievement in what is, after all, a work-focused and task-focused relationship. On the other hand, and occasional rough word will not disturb a relationship that produces results and accomplishments for all concerned.

Continue reading “Vindication”