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

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.