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 (

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 is connected to iMessage and 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 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 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 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


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

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!"])

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

And simply call python

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

I was reading the 37signals article on the recent bubble and I got an idea. Is it possible to deflate the bubble with enough pressure that allows it have a more sustainable growth, instead of allowing it to grow without any control?

As they point out the problem in this case has to do with supply and demand. As new and bigger valuations are made, more money enters the valley, and those investors are expecting returns for their investment. When the companies start failing because they are unable to achieve profits or facebook isn’t buying anything else, new money will be cut off. At this moment, any company that can’t make money will die out (Think twitter).

What I am proposing is having some kind of crowdsourced/automatic system to determine the social awareness of a brand/service, and can predict with some level of confidence the future for a given start up. Basically some kind of Standards & Poors for startups. As long investors did indeed trust this tool, the bubble could be maintained as long they had a risk/benefit value associated with the investment. Riskier investments should yeild greater returns.

If Google wins the Oracle Vs Google case about Copyrightable APIs, that means that you can create systems that implement iPhone APIs and sell them? That means that Android, Windows Phone 8 or (god forbid) Blackberry could theoretically run iPhone applications.

This could be the turning point for any one of those platforms.

A two page requirements report on Intigos. That’s my work ahead for the next five months.

Everyone sees Facebook as a social interaction network. However you are wrong. What Facebook is its a identity layer on top of the internet. That what gives it part of its value. If you look at their EULA you find that you can’t create fake persons. And lets face it, Facebook solved this problem incredibly well. There isn’t much people today that are connected to the internet without a Facebook account. This allows us to create other services on top of the notion that I’m not talking with ‘a’ person but with ‘this’ person.

Now, last night, while I was in bed I’ve read this post about Path:

It all started innocently enough. I was thinking of implementing a Path Mac OS X app as part of our regularly scheduled hackathon. Using the awesome mitmproxy tool which was featured on the front page of Hacker News yesterday, I started to observe the various API calls made to Path’s servers from the iPhone app. It all seemed harmless enough until I observed a POST request to Upon inspecting closer, I noticed that my entire address book (including full names, emails and phone numbers) was being sent as a plist to Path. Now I don’t remember having given permission to Path to access my address book and send its contents to its servers, so I created a completely new “Path” and repeated the experiment and I got the same result – my address book was in Path’s hands.

There are a lot of people trying to create social networks. Path is just another one. I’ve heard about Path since their latest software iteration, 2.0. I never fully understood Path or what it tries to accomplish that Facebook doesn’t do better. The only thing I liked in that app was the interface. Everything else shows a incredible lack of focus. They are trying to combine foursquare, Instagram and in some sense Facebook into an app that I can only access on my phone. This isn’t useful. I’m not 16 and I’m not on my phone all the time. Give me a web interlace for your social network, for the love of god.

Path CEO, Dave Morin, gave a statement saying they were only trying to make it easy for you to import friends. I find this behavior appalling. They are breaking my privacy, they never ask for my permission to do this and the answer given by Path isn’t good enough.

I do understand why copy my phonebook. In a world where everyone in the world has a Facebook account, how can a new start up create a copy of the social graph without users adding each friend? The thing is, they shouldn’t. Your social graph doesn’t matter. I’m not going to keep it up to date. Literally its like trying to make a job seeker application and trying to copy my professional network, but instead of using Linkedin, you are using a detective to find who did I work with. Its wrong.

Stop trying to be Facebook, seriously. They won. We have bigger problems to solve today. Currently Hollywood is getting their shit together and they will try to control the internet. Goverment is seeing that this isn’t just information and can carry the seeds of decent, so they also will try to control it. We need to crush them out of this planet. This is way more important than wasting your time in solving a problems that already are solved. If I want to learn about my friends I know where they are. They are on Facebook.