Somehow, I’ve went somewhere.

It felt like the bottom of a well. I don’t know how I got there, I just did. I could see the sky, the clouds and stars, at the top. I could even see the light from bon fires, and the shadows of people going by. At first I hoped that someone would pull me out of there. It was for me logical thing to do, someone would have to miss me. And so I waited floating on that shallow dark water for some salvation. Days passed. Hope turned into hopelessness. And I got angry, like it was the Universe duty to get me out of that well, and it wasn’t doing its job. I kept waiting for help that never came. Anger turned into anguish, life turned darker. If the Universe wasn’t taking me out of that well, maybe that was what existence was supposed to be, a shallow dark well devoid of warmth. Yet I kept waiting for that golden rope, that would take me out of that well instantly. Little by little the well became something that was. Life was defined, and by limited the perimeter of that well. And the rope became just something mythical, that if attained it would put me where I was supposed to be.

Then, one day I remembered that I could stand. It was just well after all. Another day I felt the well walls. Maybe I could climb them. I tried, and fell back dozens of times, trying all sorts of paths. With each try the same hope for the rope salvation kept coming. But with each try, the angriness, the anguish and the hopelessness faded. After a while, nothing else matter, only climbing the well. There was no motivation, no epiphanies, just climbing. Fuck ropes, fuck the universe, fuck everything else. Getting out was the only objective. And just as I was climbing, well walls started changing, like a gradient.

The well never had a top. Its all continuous, so it never existed a place to anchor that rope. And for all that matter, there was no rope. It never was. Unwillingly I got myself into that well, and only I could get out of it. The only tragedy is that there are no life lessons, no prize, no glorious outcome. It just is and continues to be.

Engineers are amazing tools of society. In a puristic world an engineer essentially offer solutions for real problems. But realistically speaking engineers are masters at consensus.

One of my engineering school teachers use to say that “There aren’t really solutions, only compromises.”. For most of my professional life this has has been true. Getting information systems that actually benefit people and societies comes down to compromises, getting the common done, the most agreeable agreed. People aren’t available to chasms of change, and sometimes improving 5% can have huge beneficial improvements

Because engineers need to be managed, as every single person of society, they tend to see this task as a annoyance, or a problem needing to be fixed. It is quite trendy today to say that to say that engineers are great managers. I have a dissenting opinion.

Management does needs fixing. I, has a engineer, have zero patience for things like casual Fridays or team building exercises. I do recognize that teams (even in the army) come out of effort and respect, not from silly activities. I wish I could end this silly activities.

Engineers tend to see management as a problem. The types is activities I’ve mentioned are common because they have effective results. Statistically speaking, if you do these activities in large sets of people they tend to have x% of effect.

I’ve been purview to a lot of engineers middle to upper management. My observations tend to conclude that engineers take the same approach on management that they take on problem solving. They don’t see management actions as definitive but more as compromises. E.g.: We do X now because all stakeholders agree this is the best option.

The problem is that management doesn’t work the same way. The reasoning behind management is more akin to military thinking. Sometimes you do Y now, screwing A, B and C, because you know that in the long run your are getting what you want. Even if this is suicidal. This is different from Cost/Benefit analysis. You don’t always get value for your actions, not even in a predictable future.

Aereo wouldn’t exist in a pure engineering approach to management. It is a stop gap solution to a problem, that has zero diversification chances, and clearly was created to open a breach in the Network control of media on the Supreme Court. This company makes zero sense on the short or long run. However, everyone can see the potential of positive verdict from the SC.

There are more examples as this. See the Apple vs Samsung approach of getting shit done. Apple, doesn’t give you what you want. It gives you what it thinks you may find enjoyable and it finds is best for Apple. Samsung tends to reach a compromise, giving everything that everyone may want, or get attracted to.

More examples, Eric Schmidt vs Larry page. Eric had a engineering approach to problems. It did lots of concurrent products, lacked focus and tried to get everyone on board (vide Android). His management style never seemed defiant, always consensual. Larry’s inheritance is a fragmented company (android and chrome), a bunch of useless products, and lacking core products for the next decade (E.g. Google Plus or if you will, an identity product).

Management, for better or worse is a different beast of engineering. And the same way you can’t ask a bean counter to do your job, an engineer cannot expect to have the same tool set than a manager. Your reasoning is biased to think in another way. There are counterexamples of course. But asymptotically both approaches are clearly incompatible.

05-twitter-founders

I’ve finished “hatching twitter” last night. Is a well written book about the history of twitter. I feel however that the only person to come out of it as a decent human being was Biz. Noah, that everyone touts as being screwed out of  twitter when it was founded, comes out as being unable to cope the pressures of starting a company. Ev as a entrepreneur who can’t make decisions or to have a concise vision for the company, and getting friends a job.

However the person that I think it hurts the most is Jack Dorsey. By the end of the book although he is shown as coming on top, having returned to twitter, having bought as $12M dollar house but without any friends.

Given recent news, both the companies seen as the proof of Jack being heir apparent to Steve jobs are in trouble. And that doesn’t work well for Jack.

First, Square is imploding, searching for a buyer. Given that is a payment company, it doesn’t play to his favor that one of the reasons he was ejected from CEO was his miss handling of twitter finances, according to the book.

Second, Twitter is going through tough times. Low revenue, sign ups down, and their price on the stock market taking a dive, Twitter is going through another rough patch.

The main problem with twitter is and always was the definition of what was twitter. The reason of why they can’t find find revenue or the right focus for the company is the inability to accurately explain actually is twitter. In fact the best description of twitter I’ve heard is “the web nervous system”.

I think twitter is by far different things for different people. for politicians and companies is a way to promote their message. For me is a way to have a low resolution insight to the life’s of people I care, while not feeling completely alone on earth. It can be other things, like self promotion, a pulpit or a theater stage.

What I think twitter should do (and this is me, a person who never founded shit or managed squat) is to focus on the third parties. One of the genius things that Facebook have done is to create a healthy platform where others can live. Twitter should be a intermediary between their network and the huge pool of apps that want to look to their network. Open up the fire hose, allow third parties to attach metadata to tweets or accounts. Focus of what little meaning you can extract from a tweet.

Make people pay for this access, and forget about advertising. Advertising is almost impossible to make it work on twitter. Either I’m following a company or you are forcing me to watch to crap their spew. This may work on Facebook with images and videos. But on Twitter is way too low res for this to work. On my android every “sponsored tweet” comes with a yellow mark that makes me think “fuck off”. I know that Gazprom Football promoted a tweet last week, but I cant remember shit about it. However I do remember on some Facebook ads, as shitty as they were.

Twitter is trying to fight mills that it can’t conquer, and my fear is that it may collapse.

The problem is that twitter isn’t a null value object. It has a intrinsic value. But if the walls come tumbling down on it self, it will be hard to prevent it from going to a sleazy ad network or something like that. Google would eat it up whole, Facebook doesn’t care. Maybe Microsoft or even worse yahoo. Either way would be a former shell of it self. And I guarantee that it will never be another Arab spring if things go under.

Ever wanted to back to the good old days when you opened a web page and an X-Files MIDI file started playing? When the entire web was “Under-Construction”? add this:

javascript:(function(){ var el = document.createElement("link"); el.setAttribute("href", "http://divshot.github.io/geo-bootstrap/swatch/bootstrap.min.css"); el.setAttribute("rel","stylesheet"); document.getElementsByTagName("head")[0].appendChild(el); }());

into your bookmark bar and you can turn every bootstrap site into a geocities page.

From this: Into this: Screen Shot 2013-04-10 at 6.52.23 PM

The flaw I described some time ago was true and is being used in the wild.

Some people are such annoying ignorant little bitches.

I started using emacs when I got into colege, around 2003. Emacs, at that time, was this weird program that once I got in I couldn’t get out (hadn’t learned to do C-x C-c yet). Over the course of next 10 years we have grown to know one anther. With each project I’ve changed my emacs to its particular needs and learned its shortcuts to improve my efficiency. After nearly 10 years both me and it got accustomed to one another.

However after 10 years things aren’t perfect. For instance, my emacs caugt some kind of Alzheimer when working with either HTML or XML, reverting always to sgml-mode. I’ve narrowed down what is making it act like that to somewhere in the middle of my Rails configuration. The odd part is that I’ve never written anything of consequence with Rails and should be able to remove it. However, if I do that, keybindings that I’m accustomed to stop working and the behavior of my emacs changes.

I’ve tried it to rewrite it at least two times, but the end result never ends with the same behavior, like some Frankenstein version of my old Emacs.

So I’ve come to this point where my Emacs gained this “personality”, but if I try to change it, or remove its bad parts, the “personality” changes and I no longer recognize it. In some sense, is like the Phineas Gage case.

I couldn’t continue working like that, with an editor doesn’t want to change. So I’ve sought refuge in Text Mate, and Sublime Text 2. But they are not the same thing. They are very decent editors, but they don’t know me like emacs would. There is always something missing, like a quad buffer window split, but I don’t know if I can handle another midwork crisis, where emacs, as a spoiled brat, “forgets” cua-mode, doesn’t let me reactivate it and reverts back to the yank and killing system until I’ve restarted the app.

For the third time I’m gonna try to rewrite my .emacs. If it doesn’t change, that’s it, I’m leaving it for good. You can follow it here (https://github.com/nurv/dotemacs)

Benedict XVI has decided to resign. From a pure logic standpoint this is a weakness point for the catholic church. When the new pope is elected by the conclave there will be two persons alive planet with the gift of infallibility. That means that is possible for a occupant pope to have a different opinion on a subject than the former pope. This creates a paradox. If both popes have different opinions, either both popes are dogmatically right on divergent opinions (e.g. may be right AND wrong to use a condom at the same time) or the pope doesn’t have infallibility, one of the core dogmas of the catholic chuch.

This is why no one is going ever hear or see Benedict XVI after February 28.

We all know that Maps is such bad implemented product by Apple (and people got fired by it). We also know siri doesn’t work as well as the package says.

But one thing that confounds me how possible is to make something as bad as this is iMessage. Beyond maps or siri, iMessage was so poorly implemented that either this was designed by a committee or the person wasn’t even a good product manager.

Why does is it so bad? So check this. In iMessage Apple decided to implement a version o SMS that was free and able to send group messages (early versions of SMS in the iPhone were able to send messages to a group of people but each reply was treated as a single message from that contact). However one of the problems that you have immediately as you have groups messages is where you can add arbitrary people is that some people may want to leave. Apple decided that iMessage should be a SMS replacement and not a IM over Phone kind of thing (like whatsapp). And here is where the problems start.

Each time you send a group message you send both the message and the group of people to everyone. Each of the participants each time they reply, they reply to everyone. As long anyone replies to a group with those people, everyone will receive both of those things. The problem is that, even if you try to delete that “chat” you are just deleting a message and a group of contacts. As soon as someone else in that group, replies to that “thread” what happens is that you get everything all over again.

The only way this makes sense is if you design iMessage as SMS+ think. The problem is that is broken! I can’t leave group messages and I have people always sending messages to old groups.

Since I can’t fix this (and yeah Gruber, sorry but this is one case, if this stuff was open, I would hack the living shit out of this to make it better), i decided to implement a kind of doomsday device.

Since Messages.app is connected to iMessage and Messages.app has support to AppleScript, you can write a AppleScript and a Python script that allows you to send messages from any python script. You can use as a iMessage API as long you have Messages.app open and connected to a iCloud account with iMessages activated.

The thing is you can send mass messages to any group of people. As it were as long you can can get the chat id you can nuke them with messages continuously leaving them with two options: endure it (which will cause them to waste huge amounts of batery) or turn off iMessage.

Maybe this can open Apple eyes.

How to use the scripts

As long you can open a terminal you should be able to use the scripts.

The first thing you need is to open Messages.app and ensure that you have a iMessage account set up.

Next you copy paste this into a file:

set c to ""
tell application "Messages"
    set c to chats
end tell
return c

and run this as follows (suposing you’ve written a file in your home directory called dumpChats):

$ osascript ~/dumpChats

this will output a list of chats that you have open in your Messages.app. What you need next is to identify the iMessage chat that you wish to hit. Now this is a hit and miss kind of thing. I think they are orded from last to first, to keep trying. An iMessage chat id should look like

iMessage;+;chat555555555555555555

After this is simple. You only need to write two files. The first is the AppleScript file:

on run argv
  set message_text to item 1 of argv
  tell application "Messages"
      send (message_text as text) to text chat id "iMessage;+;chat555555555555555555" 
  end tell
end run

This will read the first argument and send it to that iMessage chat. Write that into a file called nuke.ascript.

Next you need to interface this with python so you can use a proper programing language. This is done by the next script. Write this into nuke.py

from time import sleep
from subprocess import call
from random import randrange
for i from range(1,100):
  call(["/usr/bin/osascript", "/Users/user/nuke.ascript","NUKE!"])
  sleep(randrange(3))

The “/Users/user/nuke.ascript” should be replaced with the full path to nuke.ascript file.

And simply call python nuke.py.

Recently I’ve came across “Stephen Fry in America”, a diary of Fry’s travels through out every one of those United States with its faithful Hackney carriage. It is packed with wonderful tidbits, including a very small interview with Jonny Ive talking about the difference between US and UK and the influence of that difference on the fruition of ideas, Fry’s recurrent James Bond quotes, and Fry’s continuing reflections on life (particularly American) by his wonderful use of language. If you have the time, take a look.

I wish I could have a beer with Stephen Fry.

TextMate 2 was released today as opensource. This is what I want from a fork:

  • A programming language so I can configure the editor (E.g. V8/JavaScript, ECL/Common Lisp).
  • Buffers, (split my window into slices and put tabs in each subwindow).
  • Implement the interface in ObjC and everything else in a high level programming language.
  • A package system with a online companion site.
  • A online command line interface where I can call commands.

Essencially what I want is emacs but well done and integrated with OS X