Flow time, processes and tools

I am big on flow time. Whenever I am placed in a completely new environment I strive to find a way to achieve the maximum possible flow time.

Here’s a great description of this with an eye to human interruptions, which cites De Marco’s Peopleware and also makes the connection to ESR’s Jargon file.

You should not break without good reason the concentration of a
programmer while they are working. If at all possible, communicate via
e-mail or some other way that lets them react when they have the time.
What follows are some justifications as to why this is so

 – Cringe from Crossing a Concentrated Coder, by Lars Wirzenius

But note that this doesn’t stop with people, it happens with your choice on technology and tools as well. I think one of the reasons scripting languages have taken off the way they have is that, since they require little or no waiting between changing the file and seeing the results onscreen, they optimize the available flow time even with basic tools (Most of my rails development is currently done with vim and a shell window).

Stop for a few minutes, take a look at your day to day activities and ask yourself when your flow time is typically interrupted by your tools, and whether you can do something to eliminate that interruption. Good tools are designed to reduce or eliminate the flow time interruptions. Bad tools get in the way of that flow time.

Note that if you’re only learning to use your current set of tools now, you may find interruptions that are just a part of the learning process – those you can write off as learning time, since they will go away once you master your toolset. But if your process or tool forces you to stop your flow constantly, find a way to improve it or use different tools. You’ll be glad you did.

A perfect tool or IDE makes the write-build-test cycle feel so seamless that you forget to think about it, maximizing your flow time.

Finally, note that this optimization is only intended for development time. Your deploy process should still be using build script (i.e., no "building from your IDE" to put in qa or production, please!).

technorati tags: , , ,

Parse Picasa XML with Rails

Here’s a helper I just wrote for a site of mine. I use it with my picasa XML albums to generate the appropriate links for Lokesh Dhakar’s lightbox image viewer trick. You can change it to use your own image views by simply changing the "slideshow" method in the helper.

It is also a good example of parsing an XML resource in ruby. I am parsing most of the metadata so you should be able to do a lot more with this.

Continue reading “Parse Picasa XML with Rails”

Daily Del.icio.us bookmarks

I have many computers, so using Del.icio.us has helped me a lot. Recently I found some intructions on how to post your daily links on your blog. So that’s what I’m doing. Nightly, a post wll show up here with what I’ve linked to.

I figured it would make a nice addition.

UPDATE: As it turns out, it didn’t go so well. It worked, but a post a day makes the blog look more like a dumb list of my bookmarks and I don’t think this is what readers would want. You can still get to my latest list of links here (up on the top navigation, under “Links”). They are updated throughout the day with the latest I link to.

technorati tags: ,

Modal Dialogs and Outlook 2003

So I open an e-mail in outlook by double clicking on it (which opens it in a new window), from 10 new emails that are to a distribution list.

I want to create a rule from them so I go back o the main Inbox window. Then I say "Tools", "Rules and Alerts", "New Rule"…

Then I want to add a rule for messages sent to the distribution list, however now the address (which I promptly forgot because human brains tend to forget unimportant things) is obscured. Since both "Rules and Alerts", and "New Rule Wizard" dialogs are modal, I have to cancel not once, but twice, in order to move the window so I can see it.

Yes, I "could have" right-clicked on the mesage and say "Create Rule", but since the Inbox view doesn’t have a "To" column by default (and I agree, it is stupid to add one), I don’t actually know which of these messages are sent to the Distribution list and which are specifically to me, right?

Yes, I can also add "Create Rule" when the message is open, however this is on the "Actions" menu, when the rules engine on the Inbox is on the "Tools" menu. So for a while I don’t find it. I guess I need training – after all, I’ve only been using windows applications since Windows 2.0 came out.

Too many choices getting in the way, and not one matching the way a user thinks.


technorati tags: , ,

Zimbra – Check it out

Recently I posted a link to Mark McNeil’s entry about expecting more, and how as developers we need to get use to giving more. 

Well, on that note, Zimbra is pretty cool. It’s a very nice groupware, outlook-like email/calendaring solution that is open source and has some amazing use of ajax

A couple of things I love about it is that you can hover over an address on any text and see a yahoo map of the location. You can highlight a date, or even relative date words such as "Today", or "Next Thursday", and the system will show a popup with the calendar for the appropriate day.

And did I mention it’s Open source

technorati tags: , , ,

Yahoo user interface library

I’ve been playing a bit with the Yahoo User Interface Library (YUI for short), and I have to say it’s awesome. So far I’ve been using Script.aculo.us for some of my personal stuff.

The feature sets pretty much complement each other, and Yahoo’s excellent code standards (all their yahoo names start with Yahoo.*) means they could conceivably be used with each other.

Continue reading “Yahoo user interface library”

Editando código HTML en idiomas con marcas diacríticas

Manejando marcas diacríticas en HTML

Como muchas personas de habla hispana, muchas veces me veo en la necesidad de editar código
HTML en idiomas con marcas diacríticas (como el Español). Mi esquema de teclado soporta
marcas diacríticas, pero dejar estas marcas en el código fuente
del HTML es un problema porque a veces los navegadores (o los programas de
manejo de contenido) tienen un código de página distinto al que
se utilizó para leer el archivo originalmente, lo cual hace a las marcas
diacríticas verse espantosas. Y tener que recordar los códigos de cada
letra acentuada rompe el tren de pensamiento.

Este artículo ayuda a solucionar este problema mediante macros que convierten tus caracteres diacríticos a entidades HTML.

Continue reading “Editando código HTML en idiomas con marcas diacríticas”

Rails: Mapeando objetos a relaciones

He añadido el capítulo de Mapeo de objetos a relaciones al curso de Rails. Todavia faltan dos tipos de relaciones y la parte práctica, pero como el contenido es muy útil como referencia decidí añadirlo de una vez.

Espero les guste y que demuestren su gusto haciendo click en los anuncios.

technorati tags: