Tuesday, 11 February 2014

Continuous Delivery and Feature Toggle

So you want DTAP? Nice, but what about a Continuous Delivery (CD) environment? That will bring more speed in the delivery process, why wait till the end of a sprint to deliver when you can do it in an instant. Adding business value when you are done!

But what about all outstanding changes? When you want to avoid merging hell, there is another way to go, it's called Feature Toggle. Just keep a file with toggles (true or false) on functionality and business rules and only activate them when you are really done.

http://martinfowler.com/bliki/FeatureToggle.html

Thursday, 16 January 2014

75 is the max!

There are many discussions about line length in coding. The best explanation can be found here: http://paul-m-jones.com/archives/276

Friday, 10 January 2014

All on mixins

I'm used to program to an interface, this makes my code loosely coupled and very extendable. Then I read about mixins and I started to frown. Mixins are classes that define and implement methods so they can be used to add methods on the fly to a new class. Sounds interesting doesn't it?

Start reading: http://www.linuxjournal.com/article/4540

Done reading? Fond of mixins? Did you spot any problems?

Read on: http://www.artima.com/weblogs/viewpost.jsp?thread=246341
And on: http://www.artima.com/weblogs/viewpost.jsp?thread=246483
Last one: http://www.artima.com/weblogs/viewpost.jsp?thread=254367

Now it sounds evil, doesn't it? My conclusion is that mixins are a great way to implement generic behaviour but overuse comes easily. Before using a mixin, try thinking of an alternative!

Thursday, 19 December 2013

Firefox and backspace

Under Linux the backspace button in Firefox will do nothing on default. I find that very annoying, because I'm not very much of a mouser. I prefer the backspace to perform a page back action. To make this happen, do the following:

Type "about:config" in the address bar of Firefox and press Enter. Filter for "browser.backspace_action" and change its value to 0 (zero).

0 is for page back
1 is for page up
2 is for doing nothing


Managing LVM

You are using LVM and running out of disk space? Check if you still have some left and increase space if you can.

First check used space
df -h 

Check available space in LV:
vgdisplay 

Check LV layout:
lvs 

Increase space for example on var:
lvresize -L +3GB /dev/VG01/LV_VAR
resize2fs -p /dev/VG01/LV_VAR 

Check
lvs df -h

Be happy

Load average

When I was just a little boy I started working with Linux. Sometimes I checked load averages with top and look at the fancy numbers. Now the magic is gone and I can actually understand what I'm seeing. But load average has always been a little fuzzy to me. Yesteryear I would go berserk on a load over 1.00 and had some head-banging moments to find out what was wrong. With the introduction of multiprocessing and multicore systems load average can be well over 1.00 and isn't a real problem, as long as it stays under the total number of cores.

Well explained by Andre: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages