Read my book

I wrote books about Webpack and React. Check them out!

Thursday, April 29, 2010

Finding Files Using Python

Python provides a nifty little module known as glob that may be used to find files using a given pattern. It's quite simple to use as you can see here:



There is just one little problem with glob. It does not support recursion. Fortunately there's a workaround for this. Here's a little snippet showing how to use it:

Monday, April 26, 2010

Linkdump 3 - HTML5 Goodies

This time I will be focusing on HTML5 related links. Here we go:
  • The HTML5 Test allows you to see if the browser you happen to use is up to spec.
  • HTML5 presentation. Incidentally you need HTML5 compatible browser to see it.
  • HTML5 Demos and Examples. Take a look at the demos to see what the hype is about.
  • HTML5 Demos by Benjamin Joffe. There is some really spiffy stuff there! I like the circular tetris demo.
  • Akihabara. Go, write your Mario or Zelda clone with HTML5 now.
  • three.js. A 3D engine based on HTML5. Yet another gem by mrdoob.

Sunday, April 25, 2010

Kanban - Just In Time Development

What is kanban? Wikipedia characterizes it is a signaling system to trigger action. It is a part of lean software development methodologies.

Kanban provides a few simple rules based on which to structure development. Kniberg and Skarin list them as follows:
  1. Visualize the workflow
  2. Limit Work In Progress
  3. Measure the Lead Time

Visualizing the workflow


In order to achieve 1. they suggest that work should be split into pieces that are to be put on the wall. For this purpose a special kanban board may be used.

The board should contain a view on the development process. The process may be visualized on columns such as TODO, ongoing, done. It is important to note that the columns may be customized to suit the need.

Limiting Work In Progress


2. refers to the amount of items each column may contain at given time. Even though simple, this rule is extremely important. If there is a blocking issue on a later stage that needs to be resolved, this rule forces effort to be spent there.

Measuring the Lead Time


In 3. the idea is that measuring the time spent on completion of each piece helps to optimize it and to make it as predictable as possible.

I think this concept is may be referred as kaizen, another lean methodology that encapsulates the idea of continuous improvement.

Summary


Even though there are just three simple rules to follow, they manage to drive development towards self-organization. The concept of a kanban board makes it possible to see the progress in a concrete way. This has possibly motivational benefits as well.

As it might not be always possible to come up with a real kanban board, it appears that there are virtual alternatives such as Simple-Kanban.

If someone has actually used kanban in practice, I would be interested in hearing about your experiences. :)

Wednesday, April 21, 2010

Colorama + Preview of Django 1.1 Testing and Debugging + Harmony Gallery

One of the features I wanted to implement for my terminal project, yet failed to do properly at the time, was coloring of output. I know it's easy to handle terminal colors is easy on *nix. The situation is very different on Windows, however. ipython has managed to solve this problem but so far there hasn't been a library that handles the issue, till now. Enter Colorama! :)

I gave it quick go and managed to get it work with no particular problems. It was just a matter of executing init and setting color at print as instructed by the documentation. There is one slight issue. If you have colored some segment of text, it resets to white instead of gray that might be expected on Windows.

It probably isn't that hard to fix the issue (just add extra param to init). Even in its current state, the library is a well needed addition to the arsenal of a Python coder.

Django 1.1 Testing and Debugging

I received a message informing that I there is a new book to review on its way. This time I will be taking a look at "Django 1.1 Testing and Debugging" by Karen M. Tracey, PhD. You can find more information about the book here. There is also a free chapter available.

By the looks of it there should be quite a bit of useful information in the book. I'm particularly excited to see how it manages to cover different areas of testing. There appears to be some useful information on production (Apache and mod_wsgi) as well.

Harmony - Development Gallery

I mentioned about my development on Harmony briefly in an earlier post. Since then I have developed it further, especially UI wise. Slowly but surely it's getting somewhere. I have tried to document the progress in a form of gallery. Expect to see some programmer art! :P

Sunday, April 11, 2010

Linkdump 2

It's time to dump some links again. Here we go:
  • JavaScript lectures by the magnificent Douglas Crockford. 'Nuff said.
  • A re-introduction to JavaScript. In case you are just getting your feet wet with JavaScript, check this one out. It will definitely clarify some crucial concepts of the language.
  • qooxdoo, a JavaScript based application platform. Open source, of course!
  • Articles about color. Check out their software section too.
  • Spatial indexing. Ever wondered how to do this? That post will definitely get you started on the subject.
  • Blurring for Beginners. All sorts of blur and then some. Highly recommended for all of those that need to blur something, somewhere. The article contains even spiffy Java based examples.