Neil Kandalgaonkar

hacker, maker of things

isign: resign iOS apps on Linux

Today I’m proud to announce that Sauce Labs has open sourced one of the coolest projects I’ve ever done: isign. Check out the source on Github!

isign can take an iOS app that was authorized to run only on one developer’s phone, and transform it so it can run on another developer’s phone.

This is not a hack around Apple’s security. We figured out how Apple’s code signing works and re-implemented it in Python. So now you can use our isign utility anywhere – even on Linux!

You can install an app signed for your phone, with your credentials But it won't work on another developer's phone

Why would you want to do this?

  • Maybe you want to integrate with some other Linux-based continuous integration process, so the app and the web API are released the same way.

  • Or, maybe you want to hold your company’s Apple developer credentials in some Linux-based system, rather than on Keychain in a random developer’s laptop.

  • Or maybe you just want to study how iOS’s security works.

You might ask why Sauce Labs – known for testing as a service on virtual machines – is messing around with the innards of iOS real devices? It’s kind of a strange story….

Manliness for manly men like me

I’m really bad at consumerism. Even as a highly-paid engineer I can’t stand spending money on most of the things in a mall or supermarket. Every time I try to buy something, I’m tormented by the knowledge that what I’m buying is mostly rent for the store, packaging, advertising, and additives and colorants I don’t need, and possibly the entire product category has been a manufactured need.

So, it was a given that my recent project of growing a beard was going to run into that. I will need some new products or practices to curb scratchiness and maintain the beard, but what?


:two_hearts: :cupid: An Emoji-based stack language :heart: :revolving_hearts:


Instead of standard Forth…

: factorial 0 swap begin dup 1 - dup  1 = until begin * over 0 = until swap drop ;

5 factorial .

>> 120 

In HeartForth…



>> 120

Thoughts about Outernet

Outernet is a bold concept to broadcast a stream of data to the whole world via satellite. Here’s the founder’s vision video, complete with inspiring soundtrack.

This all sounds really cool until you realize they are talking about a 100MB/day stream. One single stream for the whole world, that amounts to a handful of ebooks. And the Lantern can’t even read them; you need something else like a laptop or mobile device anyway.

I did a little tweetstorm about them - here they are with some expanded comments.

Less represented and loving it

XOXO at The Redd - interior panorama by Sam Beebe, Ecotrust

For the first time, XOXOfest has shaped its attendance to be more diverse. Thanks to a simple question on the registration form, it’s reportedly gone from over 80% white male dudes to 60%.

XOXO isn’t over yet, and the ultimate arbiter of whether this experiment is successful is of course the under-represented groups themselves. But, speaking as someone who now looks around the room and now sees fewer people like himself: it’s been awesome.

There are probably tremendous benefits to the people in those under-represented demographics. First of all, they get to go. And to talk about their issues with a critical mass of attendees, and make them a central focus, at least from time to time.

But I’ll let them tell those stories. Instead I want to talk about what benefits there were for me.

A map that is just good enough

Kellan Eliot-McCrae asked me to make a home for this on the web, so I did.

A few years ago, someone asked Quora “Why are software development task estimations regularly off by a factor of 2-3?” Michael Wolfe wrote a very entertaining answer comparing software development to a hike along the coast of California, which he has since copied to his own website. What seems like a pleasant ramble turns into a death march. Unexpected difficulties arise, commitments are broken and broken again, and friendships are destroyed.

The answer was deservedly upvoted by over ten thousand people, but I felt there was something missing, so I replied:

105101 by El Bibliomata

This is really good, but if I can offer a suggestion – the analogy could be even more apt with a slight shift. Currently it only shows how people go wrong when they develop software in a naive way – by starting at the beginning, and coding each step to final quality, in order. The story, as written now, makes it look like writing software is just an impossible slog and nobody can do it.

The truth is, software is research. It’s a matter of discovering the solution, not plodding through it. This is implicit in your story, because they keep encountering unexpected problems. But let’s make it explicit.

Imagine, instead, that our intrepid pair is charged with mapping the coastline of California from SF to LA. Mapping is more like software development because it involves discovery, and getting things right at multiple “points”.

The naive mappers start off from SF and it all fails exactly as you outline. A more clever pair of mappers instead decide to hire a boat, and map just a few points on the coastline precisely, just to get a rough estimate, and to survey the coastline for the tricky places. Then they know where to apply their efforts – an intern can be hired to pace out some of the easy bits, and a team of well-equipped hikers can be brought in to handle the hard parts.

They can even stop when they have a map that is just good enough.

Type Brigade

Untitled photo by bauhouse

Kenneth Ormandy recently relaunched the local typographer meetup, now called Type Brigade. I spoke about my Cherokee typography project, turning it into an updated slideshow. I’m afraid that many of the slides have no context, as I spoke off the cuff, but you can get the gist.

The response was very enthusiastic. I’m very glad I did this, as I’m way out of practice at public speaking, but I’m told I did really well. I tried to imagine the audience as a large group of new friends, which seemed to work.

You can also see other images from the event in this Flickr set by Stephen Bau.