No tengo muchos amigos. Tengo tres o cuatro, ponéle. Seguro no más de 10. Tengo muchos conocidos, tengo mucha
gente que me cae bien, habrá alguno que le caigo bien, habrá otros que me conocen. He
tenido amigos que nunca ví, tengo amigos que nunca veo, tengo amigos que nunca voy a
ver porque tuvieron la mala idea de morirse antes que los vea.
Tengo amigos que quiero mucho, tengo amigos que me cagan de risa, tengo amigos y tengo
amigas, tengo alguna hermana postiza que la quiero como si fuera mi hígado, tengo
mi esposa que es más amiga, tengo amigos que quisiera ver más.
Hay amigos que no me conocen, pero si alguien te regala un libro que te cambia la
vida, o una canción que te levanta a la mañana, o un programa de radio que te hace olvidar todas
las noches la bosta que fué el día, esos son amigos míos, aunque yo no sea amigo suyo.
Hay gente que no conozco que me ha agradecido alguna cosa que hice y supongo que yo
seré amigo suyo aunque no sean amigos míos. A ellos les digo que son amigos míos
también.
No tengo amigos de la infancia, no tengo amigos de la adolescencia, tengo algún amigo de mis
veintipico, tengo más de mis treintas, todavía no tengo uno de los cuarentaypico. Tengo amigos
en otros países, tengo amigos acá al lado. Tengo pocos pero son variados. Tengo pocos pero
son los mejores.
Y cuando me muera, si me hacen la gauchada de no morirse antes ellos, ojalá tenga una
corona que diga: Tus Amigos. Y se la destapen y se la tomen, los putos.
Hello? I am the guy that posts about twin bananas!
Since I decided to stop being a troll (I am trying!) I noticed that people
take what I write waaaaay too seriously. This post is a gentle reminder that I have posted more about
silly stuff than about serious stuff. MUCH more.
So, if you ever find yourself thinking "Hey, Roberto seems to be making an interesting point", first
think about the twin bananas. If what I wrote still looks interesting, proceed.
This may cause some palpitations in some friends of mine who laugh at me
for using kwrite, but it really is not. Any time you spend configuring,
choosing, adjusting, tweaking, changing, improving, patching or
getting used to your editor is time invested, for which you need to show
a benefit, or else it's time wasted.
Let's look at SLOC, which while discredited as a measure of programmer's
productivity, surely does work as a measure of how much a programmer types, right?
Well, estimates of total code production across the lifetime of a product
vary (just take the SLOC of the product, divide by men/days spent),
but they are usually something between 10 and 100 SLOC per programmer
per day. Let's be generous and say 200.
So, 200 lines in eight hours. That's roughly one line every two minutes, and
the average line of code is about 45 characters. Since I assume you are a
competent typist (if you are not, shame on you!), it takes less than 20 seconds
to type that.
So, typing, which is what you often tweak in your editor, takes less than
15% of your time. And how much faster can it get? Can you get a line
written in 10 seconds? Then you just saved 8% of your day. And really,
does your editor isave you half the typing time?
How much time do you lose having your eyes wonder over the sidebars, buttons,
toolbars, etc?
So while yes, typing faster and more efficiently is an optimization, it may
also be premature, in that, what the hell are we doing the other 80%
of the time? Isn't there something we can do to make that huge chunck of
time more efficient instead of the smaller chunk?
Well, I think we spent most of that time doing three things:
Reading code
Thinking about what code to write
Fixing what we wrote in that other 20%
The first is easy: we need better code readers not editors. It's a pity that
the main interface we get for looking at code is an editor, with its constant
lure towards just changing stuff. I think there is a lost opportunity there
somewhere, for an app where you can look at the code in original or
interesting ways, so that you understand the code better.
The second is harder, because it's personal. I walk. If you see me walking while
my editor is open, I am thinking. After I think, I write. Your mileage may vary.
The third is by far the hardest of the three. For example,
autocomplete helps there, because you won't mistype things, which is interesting,
but more powerful approaches exist, like constant running of tests suites while you
edit. Every time you leave a line, trigger the affected parts of the suite.
That's much harder than it sounds, since it means your tools need to correlate your
test suite to your code very tightly, so that you will see you are breaking stuff
the second you break it, not minutes later.
Also, it should enable you to jump to the test with a keystroke, so that you can
fix those tests if you are changing behaviour in your code. And of course it will
mean you need tests ;-)
Which brings me to a pet peeve of mine, that editors still treat the file
as the unit of work, which makes no sense at all. You never want to edit
a file, you want to edit a function, or a class, or a method, or a constant
but never a file. Knowing this was the sheer genius of ancient Visual Basic,
which was completely ignored by all the snobs looking down at it.
So, instead of tweaking your editor, get me a tool that does what I need please.
I have been waiting for it since VB 1.0. And a sandwich.