Saturday, December 19, 2009

How concerned are you about Good Code?


I'm starting to read Clean Code by Robert Martin. *

Honestly, it makes me realize how unprofessional can we developers be regarding our Code. The book starts by stating that Code is even more important than meeting a deadline or documenting our requirements. Bad code can make your development team reach productivity zero!

One phrase I really liked compares our attitude toward coding practices with hand washing and doctors:

"When hand-washing was first recommended to physicians by Ignaz Semelweis in 1847, it was rejected on the basis that doctors were too busy and wouldn't have time to wash their hands between patient visits." (chapter 1)

How professional are you acting as a developer on your daily activities? For example, lets say that "washing hands" while coding is:

- unit test your code, and automate those tests.
- code on a readable way
- make sure your code can be understood by any other peer, not just a genius like you :-)
- functional test your code on your developer machine.
- check if you are adhering to architectural and coding guidelines.
- refactor so that you minimize duplication and reduce coupling.
- ask humbly for help to other developers
- tell the truth, always.

So... are you "washing your hands"?

Many of us tend to craft bad code for meeting deadlines, but the truth is that making messy code slows us down. Bob Martin says (and I concur) that "the only way to meet a deadline - the only way to go fast - is to keep the code as clean as possible at all times".

This book seems like fun!

Thanks to Mike Vizdos for the recommendation!

Thursday, October 22, 2009

Hey, a new thing on youtube! Google Chrome Themes

I just read this post from Google: Art meets engineering with Google Chrome Artist Themes


It's not a usual YouTube channel. Check the 30 sec video and watch a nice surprise :-) Totally unexpected... cool.


Saturday, October 17, 2009

Your own Harddrive in the Cloud


Checkout DropBox.


It gives you free 2GB of online storage always in sync with a DropBox folder on all your PCs or Macs. You can even share folders online with other people.

If you subscribe through this link, we both would get 250MB extra for free!

DropBox is not an Online Backup solution. For that, I use Mozy, but lately it feels slow and backup uploadtime is really important; so I'm giving a chance to iDrive. Its faster and has better UI. And it allows me to sync my two Macs to a single account.

So I ask you: Is your PC or Mac backup securely stored on a place outside your home? A local USB Disk is not enough.

Friday, October 16, 2009

Our biggest defect

In Mary Poppendieck: test driven development redefined Gojko Adzic shares Mary's insights about what Test Driven Delopment is. Please read it, its a short post. He also shares a quote from Mary:
“the biggest defect we have now [in software development] is tolerating defects”
Currently in my workplace, we have some unit testing in place but there are many defects found during our process. I fully agree with Mary's appreciation, defects are a waste in our process and each defect should be a learning opportunity for killig the root cause, so it will never happen again.

Hey, really, if you find the same defect over and over again in your systems, obviously you need to do things differently! IMO, TDD offers a great base for us to use tests for automating such learning (documenting defects is not enough).

Saturday, September 26, 2009

Moserware: A Stick Figure Guide to the Advanced Encryption Standard (AES)

Maybe too geek, but AES Encryption is a cool thing we all developers should have a notion of. Enjoy the comics!

Moserware: A Stick Figure Guide to the Advanced Encryption Standard (AES)

Tuesday, September 1, 2009

How to: Install SQL Server 2008 SP1 from the Command Prompt

Hi,
I just wanted to share how to install SQL Server 2008 Service Pack 1 from the command prompt.

This is a great guideline on How to: Install SQL Server 2008 from the Command Prompt. I was just missing the SP1 part.

So, you must download the SP1 installer from http://www.microsoft.com/downloads/details.aspx?FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19&displaylang=en

Then, unzip its contents.

Then, use the following command:
setup.exe /QS /ACTION=Patch /AllInstances /IndicateProgress >> log-sql2008-sp1.txt

The ">> log-sql2008-sp1.txt" will give you a detailed installation log, just in case...

You've been upgraded to SP1. Hope this helps someone!

Wednesday, August 26, 2009

The Coding Architect vs the Astronaut one


I just read a post from Shawn Neal about the difference between a coding architect and a non coding architect (NCA). Read it on If I call you a Software Architect, its an insult.

Basically he talks about the "architect" that doesn't code, hes call him an "astronaut architect". He lives too far from the ground and adds no value to the software itself, and only produces Powerpoints and fancy words. Its interesting, and please "no pun intended", really. If you are a NCA, maybe you may wanna check the article so you can examine your role.

IMHO, if you are a technical lead (or a XP coach), you must not leave the sofware coding entirely. Yes, you may think in how to improve your development process and other high level stuff, but I think its important to code. On my daily job, I dont usually code as my daily tasks, but I'm always reading code from others and staying up to date on the technology for improving the way we do things. So, I speaking to myself too: If the tech lead stops programming, he loses the contact with the "real wold" and that is not good.

So, I dont want to be an astronaut, I want to enjoy making useful software and helping others enjoy it too... And you? Do you like writing software?