Most interesting links of April (renewed)

Only two articles this month: Computerworld: 22 free tools for data visualization and analysis – great review if different categories of data analysis and visualization tools. The tools I haven’t known (i.e. excluding R, Google Charts etc.) and found them especially interesting: Data web apps: Google Refine (data cleansing in a spreadsheet-like UI: clustering, dataContinue reading “Most interesting links of April (renewed)”

How stateless can you go?

I’ve attended an Oslo Coding Dojo named “How stateless can you go?” lead by Thomas K. Nilsson. The goal was to write a toString() method for a tree structure printing nodes with proper indentation w.r.t. their depth and then to make it as stateless as possible without any other regard (such as performance or cleanliness ofContinue reading “How stateless can you go?”

What I’ve Learned from (Nearly) Failing to Refactor Hudson

We’ve tried to refactor but without success; only later have I been able to refactor it successfully, thanks to the experience from the first attempt and more time. In any case it was a great learning opportunity. Lessons Learned The two most important things we’ve learned are: Never underestimate legacy code. It’s for moreContinue reading “What I’ve Learned from (Nearly) Failing to Refactor Hudson”

What Do I Mean by a Legacy Code?

I’m using the term “legacy code” quite a lot, what do I mean by it? I like most the R. C. Martin’s description in his foreword to the Michael Feathers’ book Working Effectively with Legacy Code: It conjures images of slogging through a murky swamp of tangled undergrowth with leaches beneath and stinging flies above. ItContinue reading “What Do I Mean by a Legacy Code?”

Refactoring the “Legacy” with the Mikado Method as a Coding Dojo

I’m preparing a coding dojo for my colleges at Iterate where we will try to collectively refactor the “legacy” Hudson/Jenkins, especially, to something more testable, using the Mikado Method. I’ve got the idea after reading Gojko Adzic’s blog on how terrible the code is and after discovering the Mikado Method by a chance. SinceContinue reading “Refactoring the “Legacy” with the Mikado Method as a Coding Dojo”

Real-world data prove that Agile, BDD & co. work – lecture by G. Adzic

I’ve attended a very inspirational lecture by Gojko Adzic, organized by the Oslo XP Meetup. Many people including some respectable persons claim that Lean, Agile, and high-level testing based on specifications (whether you call it Agile acceptance testing, Acceptance-test driven development, Example-driven development, Story-testing, Behavior-driven development, or otherwise – let’s call them all Specification byContinue reading “Real-world data prove that Agile, BDD & co. work – lecture by G. Adzic”

How to customize CKEditor with your own plugins, skins, configurations

This post summarizes what I’ve learned about customizing the open-source WYSIWYG rich-text editor CKEditor 3.5.2 with one’s own plugins, skins, and configurations. There is already a lot of good resources so wherever possible I will link to them and just summarize and/or supplement them. However I’ve found no overall guide for customizing CKEditor and thusContinue reading “How to customize CKEditor with your own plugins, skins, configurations”

CKEditor: Hide some toolbar buttons on a per page basis

In my project we had CKEditor with a common toolbar used on many pages and we needed to be able to hide some of the buttons on some pages (e.g. email editor didn’t support some functionality/content). It took me a long time to figure a way to do it for CKEditor has no methods forContinue reading “CKEditor: Hide some toolbar buttons on a per page basis”

Code quality matters to the customers. A lot.

Some people argue that the main taks of a developer is to deliever working, value-bringing software to the customer and idealistic concepts such as code quality should not hinder that primary task. They acknowledge that it is good to strive for good code quality but say that sometimes code quality must give way to theContinue reading “Code quality matters to the customers. A lot.”

CKEditor: Collapsing only 2nd+ toolbar rows – howto

Normally CKEditor (v3.5.2) hides/shows all the toolbar buttons when you press the collapse/expand button but I needed to always show the first row with “basic tools” and only collapse the second and following rows with advanced functionality tool buttons. CKEditor doesn’t have proper support for that but there is a simple workaround. Update: Example solutionContinue reading “CKEditor: Collapsing only 2nd+ toolbar rows – howto”