Sunrise.

Today was quite a lovely morning, not overly chilly despite being Winter.
I woke up early and rode to Palo Blanco. There was a very, very dense fog during the stretch along the Terraplén Costero.

I didn’t consider all the mud so I missed the sunrise by a couple of minutes as I had to step out of the bike and walk but the view is amazing:

I stood there enjoying how the light starts to appear and brings out detail to everything. The river was very calm and a warm breeze rose, making a whoosh sound as it moved across the trees.


Back at the Terraplén the sun is rising and the day starts becoming hot and damp.

I drifted a bit but not for that much. Back at home the bike was very dirty:

The rest of the set is there at flickr.

Thanks

There was this old lady at our club that used to calm discussions with this adage:

If you don’t have anything nice to say, just don’t. Unless it’s important.

She was very very quiet.

I have more than enough ranting material but, on the other arm of the scale I have this that makes me feel warm inside and takes away all the pain.

A while ago one of my Best Friends published his first album, Clusterobvia.

We were long out of touch despite living near and one Thursday tagged along for tea and snacks with a mutual Best Friend to catch up (quite a bizarre triangle).
He brought two copies and we discovered that our names appear on the credits with words so nice and heartwarming beyond description.

It’s so wonderful seeing the dreams of a close friend come true. I’m very guilty of keeping feelings to myself and so when reading the booklet there was such a revelation of how much we value each other.

Thanks.

Always look on the bright side of life.

(scheduled to be auto published on June 1st. Probably I’m not around yet)

A lot happened these months.

Earlier this year I was officially stamped as being depressed. The downhill started before but I just snapped around mid January.

I used to live and breath by technology (well I still do but to a less extent), but lately I lost all joy and pride on what I was doing. Standing in front of my computer gave rise to a paralyzing anxiety. I knew exactly what to type, either because it was plain simple or I wrote it before on my notepad on the park, but the mere act of getting to the action part wasn’t working for me. I also spent way too much time doing crappy stuff for others on it, missing on my friendships, health, family and time for myself.

I also have a bad habit of not saying no. Saying yes it’s a different matter, but the net result was a very unhealthy overcommitting.

In a very bold move I decided to cut everything, no halfsies. I stopped answering the phone, every non urgent mail (if it wasn’t something urgent it’s still there, I’ll get back to you. Promise), all the social channels.

I let down a lot of people on the way but it let me really focus on what I care about.

It also gave me a bit of peace, I’m still crippled but not like before. During the last years I did all I could to build procedures, tools, documentation in order to be non essential. The bus factor on many of the things I’m involved with it’s still high but at least I don’t have that much pressure over my shoulders.

I disappeared into a black hole, things didn’t break (well, most of them) and people somehow got around my absence. Being non essential is great, that feeling of freedom is quite good.

Today it’s June 1st and I am officially back online. I wrote a lot of stuff in this period, I don’t think I’ll ever publish most of that, while being technically correct the form reminds me of emo cries from the 90’s.

I turned 30

The last Thursday I got another 0.

As it’s customary for me I had a small dinner with my closest relatives and then went for a lone trip.

This year I gifted myself with an abundant dinner, luxury desserts and the musical majesty of Leo Masliah at Ciudad Vieja.

My mother took a couple of pictures at home. It’s amazing how relaxed and natural I look on them, yet on the inside I’m wrecked like I was so few times before.

Everything old is new again

The other afternoon I saw a dude in his early twenties with a brand new Run DMC shirt and very proud of it. A mainstream radio played at middle morning some songs from the album “Lovelife” by Lush, and not even the popular ones. And I’m back to emo days.

Doomed

So, I’m facing an issue and the best tools so far (or the ones that are the less worse) seem to involve both php and xslt. And a braindead webservice. Go team.
Not totally unrelated, I’m surprised at the amount of stuff that can be found with “depressed developer”.

Clingy

So, I had this red lace knotted in my wrist for a bit more than two years now. It holds a lot of meaning to me, I received it in the sweet fifteen birthday of a friend’s daughter (that identified us as able to grab alcohol from the bar). A person I hold very dear tied it to me and I did the same to her.

Why do I still have it? For starters it’s quite robust, I didn’t expect it to last this longer.
On the other paw, I keep it because it remembers me of all those wonderful years we had, when I felt like I’ve found my purpose and place in Life. I look at it and feel warm inside, with fondling memories of all the adventures we’ve been through, how we grew together.

I don’t hold any hope things will be back as they were. I thought I was ready to let go, forget everything and start again from a clean slate but turns out I’m not.

It reminds me of the kind of Man I could be. It points to the north.

I don’t like what I’ve become after we splitted paths. But I know I’m capable of more.

I just have to figure out how to rise up and take control of my life, how to build strength to start again.

Looking back, it appears I hit rock bottom in periods of about eight years. There’s one upside of being so torn inside, the only possible way is up. But when?

Not enough.

A very long while ago a Woman told me

I don’t have time for Love

Back then I couldn’t just wrap in my head that concept (she indeed had time for Lust, even written down in her agenda). Until now.

I’m in that situation. I was unable to utter those words but the way we behaved is more than enough.

How hard is to say I don’t love You anymore, I just don’t feel what I used to…

How different things were to be if I had the courage of saying so instead of waiting so long.

How coward.

Jardín Botánico Carlos Thays

I wanted to visit it since a long time and in February just happened that I had a work meeting a few blocks from it, so instead of heading to the subway entrance I drifted for a while.

Having a place like this in the middle of Buenos Aires seems like a dream, it reminds me a lot of Córdoba and some parts of La Plata and Berisso (mainly the Instituto Spegazzini and the, um, jungle? at isla Paulino). Outside of the main tracks there are very very quiet spots.

There are also a lot of cats, very nicely groomed and friendly towards people

The third one followed me around for a while and lost interest, until I bought cake from a couple of gals and a guy that looked like Eric Schenkman.

There are very nice buildings in an art noveau style inside but, by the time I got there they were closed. So I’ll have to come back.

Yummy.

The other week I felt like cooking.

I made cubes of calabaza in syrup like grandma used to, with ash or lime to harden the outside. About half day sitting in water and lime, a thorough clean and then five hours give or take on the stove with lots of sugar.

After that I roasted a sweet potato and just for kicks I also fried a banana in a mixture of honey and butter. That was really tasty.

Guidelines for C source code auditing and other tales.

The papers and articles at this site are quite interesting, even if a little dated. Somehow I had many of them opened from a couple of days ago but just now took the time to really read them.

Guidelines for C source code auditing: http://www.ouah.org/mixtercguide.html

Syscall Proxying – Simulating remote execution: http://www.ouah.org/SyscallProxying.pdf

An Overview of Unix Rootkits: http://www.ouah.org/iRootkits.pdf

Know your Enemy: http://www.ouah.org/motives.html

…and part the other series: http://web.archive.org/web/20010607083412/http://project.honeynet.org/papers/

Walk

The other Sunday I went for a walk at Barrio Hipódromo (La Plata). The weather was really nice and most of the tracks are unused.

I started from the roof of Estación La Plata (Ferrocarril General Roca) and headed North.

I saw a dead horse at the door of one of the studs:

I drifted for a while and then started to walk along the tracks of the Tren Universitario (it isn’t running on Sundays).

Found an interesting chunk of iron

Then a signaling tower and set up to climb it

It isn’t as tall as others but the tensioning wires are not taut and it swings like mad with the wind. The view from the top is really nice:

 

Some plants and cactuses. The blackberries  aren’t as ripe as the ones found within the street but their taste was way sweeter.

This is near Departamento de Electromecánica at Facultad de Ingeniería. I really like how the rails blend with the grass.

Another tower. This one looked way more dangerous than what I was willing to do that day.

Back again to the starting point

It was a short walk a tad more than 5km.

The rest of the pictures can be found here: https://www.flickr.com/photos/40523294@N08/albums/72157660748411324

10 times.

Somehow this is a grossly exaggerated notion within the software community but in every field we find people that performs better (by some measure) than the average by a very high margin.

I witnessed that with my very own eyes and they are not magical creatures. There’s a lot written about them but they tend to share some common traits of overachievers that make the real difference from the rest:

  • They have a clue about what they are doing.
  • They are focused.
  • They work on things that matter.

(Or as Yosef puts it in http://yosefk.com/blog/10x-more-selective.html, things that aren’t going down the toilet. I like it when he says, “The hardest part of “managing” these 10x folks – people widely known as extremely productive – is actually convincing them to work on something. (The rest of managing them tends to be easy – they know what’s what; once they decide to do something, it’s done.“)

Now, I’m not the brightest bulb but when I tackle a problem I try as much as I can to understand its domain. I ask myself frequently if there’s a better way to approach it, as it’s very rare to come across something so unique that nobody worked on anything that barely resembles it (or that can be applied to the current problem).

I’m working on a system that it’s getting older but the foundation is solid and it shows. Everything makes sense, even if you have no idea about a piece is often it can be found in an intuitive way and the core looks beautiful, even if it’s made with dying technologies. The architecture is very well designed and implemented.

But then people came and started adding little things here and there without very much thought. They built XML files concatenating strings, they copied the routines into 34 (that’s real) places and each one has a little difference (that’s kinda ok, they talk to things so horrible that can’t process CDATA fields and use a custom encoding instead). The idea of having all the common stuff in one place never crossed their minds or, shiver, use a standard library (they existed and were mature back when those things were implemented).

They also wrote lots, and lots, of functions like (php):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private function frobnicate($the_frob)
{
    // Selects the baz of the frob.
 
    // If it's one kind of baz
    if($the_frob->is_of_type('one kind of baz'))
    {
        return $this->baz = 'Baz1';
    }
 
    // If it's a special baz
    if($the_frob->is_of_type('a special baz'))
    {
        return $this->baz = 'Special';
    }
 
    // If it's a straw one
    if($the_frob->is_of_type('a straw one'))
    {
        return $this->baz = 'nuts';
    }
 
    // ... snip about 200 lines of the same ...
 
    return $this->baz = 'the default value';
}

And this is repeated in about 56 places, intertwined with many more conditionals. I only hope this was generated code and not typed by hand.

Anyway, I nuked it and turned that wall of if statements into:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private function frobnicate($the_frob)
{
    // Selects the baz of the frob.
 
    $map = array(
        'one kind of baz' => 'Baz1',
        'a special baz'   => 'Special',
        'a straw one'     => 'nuts',
        // ... you get the picture ...
    );
 
    foreach($map as $type => $baz) {
        if ($the_frob->is_of_type($type)) {
            return $this->baz = $baz;
        }
    }
 
    return $this->baz = 'the default value';
 
}

And that’s even not clever (table driven programming has been around for quite some time).

I mean, after doing it three times I question if there’s a better, more concise way of expressing the same. But for some people that moment never comes.

Focus.

These days I’m having trouble to keep focused for more than four hours straight, make that six in a very very god day. I guess that’s a given with age and more responsibilities. Doing boring stuff doesn’t help either, but it’s a good incentive to finish as soon as possible without mistakes.

Do things that matter.

This deeply touches me.

Nowadays most of the stuff I do at work to put food on the plate is meaningless and boring to death. It makes life easier for a lot of people but nothing will change if it goes away overnight. Many will cry but nothing terrible.

It doesn’t give me a technical challenge any more. At best it teaches me patience and how to deal with utterly broken and stupid systems that were not designed to be used (not by computers and certainly not by humans). It drains my energy and I’m past the point where it makes sense to put up with it.

It doesn’t make the world a better place, not even by chance.

Do I do things that matter? Yes, on weekends and sometimes by night.
Can I make a living out of them? Not now.
Not yet.