White whales

First they ignore you, then they laugh at you, then they fight you, then you win.

– Mahatma Gandhi

In the book “Delivering Happiness” Tony Hsieh opens with a story of his first childhood enterprise as a worm farmer and imagines how if Gandhi had stopped by his house, he would have told him that quote after hearing his idea.

When his worm farm inevitably failed he imagined Thomas Edison dropping by and telling him his perspective on failure:

I’ve failed my way to success.

He then continues with this phrase that is what caught my attention:

He [Edison] was probably too busy working on other stuff though, because like Gandhi, he never did stop by my house. Maybe they were too busy hanging out with each other.

I just love his attitude (which probably helped him become a successful entrepreneur): you just don’t stop doing your thing just because others aren’t paying attention.

This reminded me immediately of a recent episode of Analog(ue) [1] in which Myke and Casey discussed getting people they admire to pay attention to them as “catching their white whales”[2].

Casey (and Myke agreed) highlighted another very important attitude to have, in his words:

I haven’t really come up with who my next white whale is. Because I feel it’s kind of healthy to have someone that you aspire to impress.

Contrary to actual whale hunting, we don’t have harpoons to force people to pay attention[3]. We just have to keep on doing our thing like the book implied, until our white whales notice and come willingly.

I really don’t have much to add on this subject, but I wanted to point out these warnings to keep in mind when using white whales as a motivation:

  1. You may never gain the attention of your white whale.
    You could end up feeling frustrated and give up on doing what you do.

  2. You want your white whale to come to you.
    Do something because you believe in it, don’t do it just to impress someone. You may end up in a place you never planned to be in[4].

  3. You may gain some unwanted attention
    There will be people that won’t receive your thing the way you want it. This is the Internet after all.

    There’s not much to do about it but heed Tony Hsieh: keep on doing what you do because at the end of the day this should be a virtuous cycle, your work will be what brings that person to your sphere of influence. Hopefully allowing you to gain the attention of bigger whales while ignoring the remoras and sharks.

The perils of hunting whales on the modern seas.


  1. The link goes to the actual time where the conversation happens, but the entire episode is great.

  2. The term comes from the novel “Moby-dick; or the Whale” where captain Ahab obsessed on catching the white whale that had severed his leg.

  3. It’s actually frowned upon.

  4. Like selling whale bait instead of high end fishing vessels.



Lena Reinhard – “A Talk About Nothing”

https://www.youtube.com/watch?v=D3e3V66TH2Y

Great talk on privilege in the tech industry and how we - the privileged - can do better by first shutting up to listen and then doing something to help.

There is so much potential for software to make a difference in being inclusive if we applied this on ourselves.

As people working on software empathy is our responsibility, and it’s a skill that we can practice every day.

Click the title and listen to the entire talk, it’s worth it.


Story time:

When I built fictionesque, one of the “features” of the user’s profile was a tiny flag of their country. The intention was to allow users to find people close to them and be able to come together and become a community inside the community.

Soon after adding the feature, a person asked me to remove her account from the site because she had come from a different community fleeing the harassment of a guy that lived in her same country. She had switched communities and identities, but my feature had made her visible again.

I immediately apologized and made it so the information could be hidden.


One way to shield yourself from these errors is by surrounding yourself with people from different backgrounds and giving a voice to those not represented. Not doing so would be a mistake:

Being in tech and not caring about tech culture is a luxury, only affordable to those with enough privilege to ignore it & too little empathy to care.

This attitude will prevent software that calls women “you’re the guy” , but more importantly will give us a society where everyone feels welcome.


On needing help

http://justinjackson.ca/help/

Justin Jackson, as always, with a great article.

You’ve heard of Walt Disney, the affable showman who founded The Walt Disney Company. He’s an American icon with a great legacy.

You may not have heard of his older brother, Roy.

I didn’t know about him, what a great story…

Roy was the linchpin in the Walt Disney Company’s success

Each brother had a forte and relied on the other for the rest. As Justin says, working alone has its benefits but also its devils:

Isolation removes distractions, allowing us to focus on bringing ideas to life.

But when we lone wolves hit a speed bump, many of us stop creating. It’s hard to show up every day, by yourself. When there’s no one to cheer you on, and no one to be accountable to, it’s easier to just give up.


While working on QuickShopper I encountered two or three of those speed bumps.

The first one was actually close to my self-imposed shipping date , the frustration of not making the deadline due to technical problems, plus a well-timed flu hit me really hard and set me back a month (it wasn’t until the end of January that I resumed work on the app).

Other speed bumps in the road were not as serious and only set me back an evening.

The interesting part though? The biggest difference between these speed bumps wasn’t how hard the problem would be to solve, it was my attitude.

The first time I was so angry I didn’t want to talk about it. The others, I had a different attitude that allowed me to talk about it with my wife and friends.

This talking about it helps you let off steam and re-focus on how to move forward.


Great recommendations at the end of the article, including one that I’ve wanted to do for a while:

Start a mastermind. Reach out 2-3 of your peers and ask if they want to start meeting every week on a Google Hangout. Let each person talk about what they accomplished last week, what they want to do this week, and what they’re blocked on.


Thoughts on Apple's “Spring Forward” event

When I, like many other nerds, sat down to watch Apple’s “Spring Forward” event my main interest was the launch date of the Apple Watch to schedule the launch of the app I’m working on .

But something Tim Cook said in the first minutes got me thinking…

Since Steve Jobs passed more than 3 years ago one of the biggest discussions has been how his absense would change Apple – protrayed mostly with the now chichéd phrase “This wouldn’t have happened if Steve was still alive”.

Around that time Tim Cook promised that Apple would’t change:

We are going to continue to make the best products in the world that delight our customers and make our employees incredibly proud of what they do.

But change has been happening. Apple directly and through its CEO has become more open in their intentions and values. The changes have also been felt in how Apple is organized and how the products are built.

And yet, in a way, Tim Cook has kept his word.

The way these products are created has changed, the responsibility the company takes over the impact in the lives of everyone involved in their production has changed, but what hasn’t changed is the delight they produce on the customer[1].

One of the very first things Tim Cook said reinforced this peception that Apple has changed and is a lot different from Steve Job’s Apple…

The event opened with a video of the inauguration of an Apple retail store in China but what strike me most was Tim Cook’s words while showing the store full of customers:

Of course with a great team, and this is the way we love to see our stores.

Tim’s words immediatly reminded me of Steve Job’s words when he presented a new Apple store during the first iPad event in 2010 :

This is a shot of it before it opened.

It’ll never look this good again.

Even the reaction of the audience is evocative of the difference: cheers for Tim Cook while Steve got some chuckles including an almost mischievious laughter.

Steve Job’s Apple was all about the products and the experience[2]. Tim’s Apple is also about that but without overlooking the people that make Apple successful.


Spring Forward

My perception of the rest of the event was influenced by this difference. Some of the products presented reinforced this preception more than others, here are my thoughts:

ResearchKit

How more “about the people” can you get? The presentation was kind of boring but if this new technology gets widespread adoption it will make a big difference in the future on what we consider curable and how early we can diagnose diseases.

I’ve never participated in any medical research but I (kinda) know how statistics work and providing researchers access to larger data sources is good[3], making it open source was a great decision.

I asked on twitter if the data would be anonimized and haven’t found the answer, but Apple has said the patients’ data is kept private.

The new MacBook

Looks nice (not in gold thought), but what I liked more is that technology making it into the MacBook Pro .

The new trackpad and keyboard, and the new batteries that fill every nook and cranny are the most interesting. I’m not so sure about the single USB-C port (specially considering the price of the adapter to get HDMI ).

The new trackpad made it into the 13 inch MacBook Pro but not the new keyboard; and the 15 inch didn’t see any updates. I’m not sure what’s happening there but I hope it means that they are planning more far-reaching changes to the big one.

I wouldn’t be surprised that the next refresh will be a slight redesign to include the new keyboard technology too.

Apple Watch

Apple is billing the watch as the most personal device they have created and this presentation stayed on point.

After a short introduction, Tim Cook showed a slide that made me think of another famous Apple presentation .

Time keeping, relations, fitness

With this slide Apple positioned the watch as 3 things:

The most advanced timepiece ever created, its a revolutionary new way to connect to others, and it’s a comprehensive health and fitness companion.

This felt to me like a tribute and a way of saying “we’ve changed, but we don’t forget wehre we come from”, it could also just be Apple using a formula that has worked before, or just the rule of threes being applied . In any case the slide and the message felt familiar if not as impactful as the one delivered by Steve Jobs.

And just like Steve Jobs presentation, apps did not make it into the 3 talking points but I can bet that apps is what will make the watch have staying power.

Time keeping

The first point was about how accurate it is, but that quickly gave way to the actual message: you can customize the watchface to your liking. You can make it as simple as you want or have it show you more information.

One complaint I’ve heard a lot is how Apple didn’t allow developers to create watchfaces; and considering how this customization is part of the message it’s hard to believe they didn’t think to allow them.

One possible explanation is that this category (custom watchfaces) would get overpopulated very quickly with subpar options, basically becoming the fart app of the apple watch. It could also be that this is very valuable screen real estate and Apple doesn’t give that away easily.

Communications device

Continuing with the most-personal-device-ever message, Tim Cook showed how you can receive and send messages and emails, talk on the phone Dick Tracy style , and even send drawings, taps and heart beats.

The demo shown later would also reveal how third party messaging applications can also participate.

Health & fitness tracker

The last prong of the message was all about how the watch will track your activity and gently motivate you to do more week after week.

Apple invited Christy Turlington Burns to the stage to share her experience running a half marathon using the watch. The main message was “the Apple watch is motivation”.

During this section, a rather snarky comment on went by on twitter mentioning how she didn’t look like a healthy person. Not only was that comment uncalled for[4], but also I don’t think Apple’s intention was to show the most fit person continuing to be fit with the watch. Their intention was about showing how a busy person can benefit from using the watch’s fitness features to become even healthier and stay motivated.

Just the beginning

Even though time keeping, communications, and fitness were the main selling points, Apple knows from experience that the real power will come from the third party apps. And for that reason they showed some apps like facebook, instagram, chat apps, trip information, weather, hotels and even an Uber app to book a ride.

When the iPhone came out nobody knew all the things it would enable. Same thing happens with the Apple watch: we don’t know what will be possible.

For now we’ll have iPhone apps providing simplified interfaces for the phone, but as our knowledge of what is technically possible and what is socially allowed[5] starts to form we’ll see more and more amazing applications.


  1. You could say this has changed too if we are to believe the 99% customer “sat” that Tim Cook boasted about. But that’s just more of what Apple has always been known for.

  2. Don’t get me wrong, I’m not saying Steve Jobs didn’t care about the people but for some reason he didn’t focus his message on that. Steve Job’s preferred to “put a ding in the universe” while Tim is definitely focused on empowering and enhancing the lives of people, legacy be damned.

  3. Some have said that the kind of people that buy iPhones are not representative group, but I’m not sure if wealth matters when talking about desease research (again, I know very little about desease research or statistics). Illnesses are like the honey badger .

  4. Jackass.

  5. Let’s agree right now that dick tracy conversations should be limited to one short message and not for dictating a company wide memo.


Dragon Ball Xenoverse

I grew up watching Dragon Ball Z and always imagined being part of that universe. I also grew up wanting to have a Dragon Ball game but for many different reasons I never had one.

Dragon Ball Xenoverse made these two desires happen, but instead of writing a long review from this point of view I will direct you to Ron Dunwell’s review because he did it better job than I could:

[I]f you are a Dragon Ball Z fan, especially one who has always daydreamed about leaving a personalized mark on the show, you could definitely find $60 worth of value in this package.

In fact, if you are were a nerdy kid from the 90s who used to imagine yourself as a Super Saiyan fighting alongside Goku and his friends, you kind of owe it to yourself to pick up Dragon Ball Xenoverse and finally have that experience all these years later.


The original Dragon Ball series and most of Dragon Ball Z were a boy’s club that bordered, at times, into misogynistic attitudes (hello Master Roshi). So it was a nice surprise to see that you can create female characters in the game.

I’ve been playing the game with a lady saiyajin and the only weird thing has been when people refer to her as a man, for example a dialogue that went like this “So you are the guy Shenron brought to help Trunks”.

They went to the trouble of thinking about having female character models and voices just to drop the ball in the dialogues. That is a very dumb mistake.

I mainly blame more than anything on the poor job done with regards to localization, the whole thing is so poorly translated that in times I’ve had to use Google to figure out what a character was asking .

Some comments have said that female characters have lower stats than male ones. I can’t really comment about that because I haven’t played with a male character yet. But the game progression hasn’t felt hard at all and every time I’ve failed a mission it’s felt like any time in the series where Goku got beaten up badly and had to train more and get more strong before fighting an enemy again.

So aside from that, this game has been entertaining because the weird cooked up story about changes to events in the Dragon Ball timeline has allowed me to insert myself into the events of Dragon Ball Z and relive them side by side with the original heroes.

The fights can feel repetitive at times, but they do have the massive feeling of the fights in the series. It would have been nice to have the environmental destruction caused by the fights to be permanent and not disappear immediately so you can look at the destruction caused at the end of the fight.

Bottom line, if you’re a fan of Dragon Ball you’ll probably enjoy this game.


On Secretly Terrible Engineers

http://techcrunch.com/2015/03/08/on-secretly-terrible-engineers/

Great article on the not-very-friendly way software development companies hire engineers.

The entire article is worth your time, my favourite part:

No one ever said, “Here is how we are going to bring your skills to the next level and ensure you will be quickly productive on our team.” The only answer I ever got was, “We expect every employee to be ready on day one.” What a scary proposition! Even McDonalds doesn’t expect its burger flippers to be ready from day one.

Also made me think about how companies that aim for excellence always keep training their employees even when they fear they may leave:

It may be the shortage of software developers worldwide or, like the article says, a “complete paranoia” that drives companies to ask the most convoluted questions to weed out the b-types and aim only to hire the best.

Independently, the attitude should be to hire competent people, and 30 minutes in front of a whiteboard with sweaty hands should not override years of experience.


Via my friend (and awesome software engineer) @jose_zap .

CEO-CFO conversation via @mikegstowe



Debugging Chrome for iOS

Recently I had a weird rendering problem that only happened on Chrome for iOS and needed access to developer tools (debugger, DOM inspector, etc).

I knew about Safari for Mac allowing you to debug via USB and I had read that this also worked with any app that used any UIWebView .

But for some reason it didn’t work for Chrome. So I kept looking and found weinre :

weinre is a debugger for web pages, like FireBug (for FireFox) and Web Inspector (for WebKit-based browsers), except it’s designed to work remotely, and in particular, to allow you debug web pages on a mobile device such as a phone.

The basic steps to get it working:

  1. Install it via node package manager:

    sudo npm -g install weinre

  2. Run it on the console:

    weinre --boundHost <IP ADDRESS OF THE WEB SERVER>

  3. Link the website you want to debug to weinre by adding this to the page

    <script src="http://<IP ADDRESS OF THE WEB SERVER>:8080/target/target-script-min.js"></script>

  4. Load weinre’s remote debugger on your browser at

    http://<IP ADDRESS OF THE WEB SERVER>:8080/client/

  5. Reload your website.

I used<IP ADDRESS OF THE WEB SERVER> everywhere, in my case it was the local IP of my development machine.

weinre worked nicely for me, and fast too. Can’t complain.

Now about the name:

weinre is WEb INspector REmote. Pronounced like the word “winery”. Or maybe like the word “weiner”. Who knows, really.

Yeah… naming things is hard.

The as! Operator

https://developer.apple.com/swift/blog/?id=23

Some changes in swift 1.2 for how conversions happen, the very golden rule is left at the end:

It may be easiest to remember the pattern for these operators in Swift as: ! implies “this might trap,” while ? indicates “this might be nil.”

These! and? can be confusing, specially coming from Objective C where sending a message to nil didn’t error out.

Are programming languages like jokes? If you have to explain them then…