domingo, 18 de diciembre de 2011

Why programmers work at night

Why programmers work at night

La entrada original es tomada de aqui, se transcribe como tal :D

A chimpanzee brain at the Science Museum London
Image via Wikipedia
A popular saying goes that Programmers are machines that turn caffeine into code.
And sure enough, ask a random programmer when they do their best work and there’s a high chance they will admit to a lot of late nights. Some earlier, some later. A popular trend is to get up at 4am and get some work done before the day’s craziness begins. Others like going to bed at 4am.
At the gist of all this is avoiding distractions. But you could just lock the door, what’s so special about the night?
I think it boils down to three things: the maker’s schedule, the sleepy brain and bright computer screens.

The maker’s schedule

Paul Graham wrote about the maker’s schedule in 2009 – basically that there are two types of schedules in this world (primarily?). The traditional manager’s schedule where your day is cut up into hours and a ten minute distraction costs you, at most, an hour’s worth of time.
Prim clockwork of a wristwatch, watchmaking ex...
Image via Wikipedia
On the other hand you have something PG calls the maker’s schedule – a schedule for those of us who produce stuff. Working on large abstract systems involves fitting the whole thing into your mind – somebody once likened this to constructing a house out of expensive crystal glassand as soon as someone distracts you, it all comes barreling down and shatters into a thousand pieces.
This is why programmers are so annoyed when you distract them.
Because of this huge mental investment, we simply can’t start working until we can expect a couple of hours without being distracted. It’s just not worth constructing the whole model in your head and then having it torn down half an hour later.
In fact, talking to a lot of founders you’ll find out they feel like they simply can’t get any work done during the day. The constant barrage of interruptions, important stuff ™ to tend to and emails to answer simply don’t allow it. So they get most of their “work work” done during the night when everyone else is sleeping.

The sleepy brain

But even programmers should be sleeping at night. We are not some race of super humans. Even programmers feel more alert during the day.
Ballmer's peak
Ballmer's peak
Why then do we perform our most mentally complex work work when the brain wants to sleep and we do simpler tasks when our brain is at its sharpest and brightest?
Because being tired makes us better coders.
Similar to the ballmer peak, being tired can make us focus better simply because when your brain is tired it has to focus! There isn’t enough left-over brainpower to afford losing concentration.
I seem to get the least work done right after drinking too much tea or having a poorly timed energy drink. Makes me hyperactive and one second I’m checking twitter, the next I’m looking at hacker news and I just seem to be buzzing all over the place..
You’d think I’d work better – so much energy, so much infinite overclocked brainpower. But instead I keep tripping over myself because I can’t focus for more than two seconds at a time.
Conversely, when I’m slightly tired, I just plomp my arse down and code. With a slightly tired brain I can code for hours and hours without even thinking about checking twitter or facebook. It’s like the internet stops existing.
I feel like this holds true for most programmers out there. We have too much brainpower for ~80% of the tasks we work on – face it, writing that one juicy algorithm, requires ten times as much code to produce an environment in which it can run. Even if you’re doing the most advanced machine learning (or something) imaginable, a lot of the work is simply cleaning up the data and presenting results in a lovely manner.
And when your brain isn’t working at full capacity it looks for something to do. Being tired makes you dumb enough that the task at hand is enough.

Bright computer screens

This one is pretty simple. Keep staring at a bright source of light in the evening and your sleep cyclegets delayed. You forget to be tired until 3am. Then you wake up at 11am and when the evening rolls around you simply aren’t tired because hey, you’ve only been up since 11am!
A city
Image via Wikipedia
Given enough iterations this can essentially drag you into a different timezone. What’s more interesting is that it doesn’t seem to keep rolling, once you get into that equilibrium of going to bed between 3am and 4am you tend to stay there.
Or maybe that’s just the alarm clocks doing their thing because society tells us we’re dirty dirty slobs if we have breakfast at 2pm.


To conclude, programmers work at night because it doesn’t impose a time limit on when you have to stop working, which gives you a more relaxed approach, your brain doesn’t keep looking for distractions and a bright screen keeps you awake.

viernes, 8 de abril de 2011


Mejora tu Kwin!!

Aqui un post para todos aquellos que tienen Kwin y corre lento++, tengo instalado ubuntu, despues de eso, decidi instalar KDE por lo tanto su bonito Kwin incluso sus plasmoids vinieron a mi escritorio, yo feliz por ello claro, pues siempre me ha gustado mas KDE/compiz que Gnome/compiz, despues de usarlo un rato, el render no me lo daba de forma correcta, tenia algunas veces que cambiar de ventana y regresar para que se mostrara bien, por lo que realmente era un dolor de #MisHuevos (jaja chiste local y medio de twitter xD)

Siendo que ocupo como 293847 ventanas y KDE/Kwin me daba la posibilidad de usar efectos tipo compiz sin habilitar compiz claro! (si esto es nuevo para mi de hace uno o dos meses que instale KDE :P diganme desactualizado o como quieran!!!) incluido multiples escritorios y demasiado configurables, pues se me hacia molesto algunas veces cambiar de ventana para que el render se viera bien, tambien claro no esta de mas mencionar que me consumia como 92384792874 de los 293874 recursos que tengo en la maquina, llamese CPU.

Lei, busque y lei mas y no encontraba la solucion, me estaba resignando a usar KDE con gestor de ventanas metacity y compiz habilitado (si, yo tambien pensaba eso, pero funciona bien, creanlo!) o de plano regresarme a Gnome, lo cual no me agrado mucho.

Trate y trate, desactive plasmoids para ver si ese era el problema y naranjas dulces, nada hacia que fuera rapido y con buen render, hasta que por arte de magia desactive en preferencias del sistema - efectos del escritorio la opcion de Gestion de ventanas mejorada (#ironic) y mis efectos para el cambio de ventana lo puse como seleccion de ventana tradicional, despues di click en aplicar o woala! (buala o vuala, comose diga) funciono todo rapido, con menos recursos de procesador y con un buen render!!!!!! (#nais).

Por si acaso, tambien desactive esa fea opcion de sombras en el mismo menu comentado arriba y deje solo mis efectos que necesito.

El resultado? un bonito escritorio, rapido, configurado, y demasiado funcional (siempre he dicho que no por ser linux tiene que ser feo no? jejeje :P )

Lo pongo por si a alguien llega a servirle, yo busque y busque hasta el fin del mundo (mmm bueno, exagero, solo como unas 20 páginas de google, link por link) y no encontraba nada, asi que os dejo mis queridos amigos! xD