Monthly Archives: March 2013

Just Ship It

Will write C/C++ for foodMike Jurewitz: “I have watched too many developers over the years focus on the wrong things in their products. Some endlessly add feature upon feature and take so long to ship that their users have long since moved on. Others endlessly rework a feature in pursuit of some nebulous technical excellence that isn’t necessary and whose pursuit certainly doesn’t pay the bills. And others find themselves constantly moving the target they’re trying to hit, redefining the features, UI, or problem-space of their product in a continual reaction to the world around them. These are easy traps to fall into. After all, we’re all human and most of us are making it up as we go.”

Good advice. Maybe people don’t teach this anymore? You can’t have a 2.0 without ever having a 1.0, right. Iterate, iterate, iterate, but ship between those iterations. Some people have to find the perfect solution for everything, or they waste their time rewriting code that works because they don’t like the style, or believe their way is better. There are, of course, good reasons for rewriting code, but the reasons I just mentioned aren’t among them.

I’m guilty of doing this stuff myself, when I was younger. What I’d end up with is code the way I liked it, but offered the same functionality. No net gain. I’ve learned not to do this. I now move forward and tweak things as needed for the next release. Yes, it must be solid and usable, but it doesn’t have to be perfect in every way.

I’m not the greatest developer in the world. I’m slow and my code has never been the prettiest in the world, but it’s in use by well over 10 million people worldwide, and that’s a pretty darned good feeling.

So, my advice to you is, find a nice minimum set of functionality, make it usable, make it solid, and ship it. That will let you move forward. It will afford you the opportunity to create a 2.0.

All kinds of crazy

Microsoft Cash Cow.Macworld: “While I was visiting the Microsoft campus a few weeks ago—in suburban Redmond, just across Lake Washington from my beloved Seattle—I kept thinking of the old Vulcan proverb: “Only Nixon can go to China.”

If Microsoft is China, then that makes me Nixon in this story, I realize.”

Quick thought.

Apple should buy Microsoft.

Yes, you read that right. Apple should buy Microsoft for their web services; Azure Mobile Services. Maybe, just maybe, they could leverage it to make iCloud what it could be.


ESPN: “Urlacher was the perfect Chicago Bear, a Grabowski not a Smith, long on toughness and short on diva.”

The blue collar, workaday, attitude of the Bears, and Brian Urlacher in particular, is part of what made me a Bears fan.

It’s tough to see one of your favorite players kicked to the curb.

Maybe the Arizona Cardinals will pick him up so he can kick the crap out of 49ers for a couple seasons, or maybe he’ll land with Minnesota or Green Bay? That would be pretty interesting.

Google Reader: Power Users Lose

Jerry Fahrni: “When Google finds a new article on the web that contains one of my keywords it sends it to my Google Reader feed where they sit patiently until I’m ready to read them. This is a great way to find information that I would have otherwise missed.”

Most users of Google Reader are bemoaning the loss of sync between devices. There are already good choices for sync. That’s not the biggest problem for some Reader users. In the case of my brother, he’s a power user of the service. Google Reader isn’t just about RSS feed reading or syncing feeds and feed states across devices, it has advanced features that will not likely be replaced by other readers.

That’s the big loss for some.

A wonderful boquet of flowers.On the flip side it’s great for RSS feeds and feed services. As Dave Winer is fond of saying “Let a thousand flowers bloom!” Hopefully we’ll see a new sync API bloom from the mothballing of Reader.

Brent Simmons has started an RSS Sync Mailing List. It’s worth keeping an eye on.

End of Trust in Google?

Om Malik: “I spent about seven years of my online life on that service. I sent feedback, used it to annotate information and they killed it like a butcher slaughters a chicken. No conversation — dead. The service that drives more traffic than Google+ was sacrificed because it didn’t meet some vague corporate goals; users — many of them life long — be damned.”

Ditching Reader before announcing Keep has left people skeptical. I don’t blame them.

Does anyone remember Google Notebook? Didn’t think so.

Thank goodness we have Evernote.

Yahoo Remote Employee Policy

Business Insider: “After spending months frustrated at how empty Yahoo parking lots were, Mayer consulted Yahoo’s VPN logs to see if remote employees were checking in enough.”

I work remotely. I use a VPN connection. I’m not always connected via VPN. I would be screwed as a Yahoo employee.

Having said that I work on desktop software so maintaining a persistent VPN connection doesn’t mean anything to doing my job. I can lose the connection and still build new features and fix bugs. It’s not a big deal. Maybe the folks at Yahoo need a persistent VPN connection to perform their daily tasks and that’s what screwed them?

In the end Ms. Mayer has to do what she believes will turn Yahoo around. At the end of the day her butt will be on the line if they don’t succeed.

There is, of course, another side to this coin. You can find highly motivated, very good, people that can’t live, or don’t want to live, in the Silicon Valley. Not everyone is well suited to be a remote employee. It takes some getting used to and it takes a lot of personal discipline. If you can manage it, it’s a pretty great setup.

Richard Branson on the flipside:

“I have enormous respect for Michael Bloomberg and have rarely disagreed with anything he has done or said. However, on this occasion I disagree completely. Many employees who work from home are extremely diligent, get their job done, and get to spend more time with their families. They waste less time commuting and get a better work/life balance. To force everybody to work in offices is old school thinking.”

The bottom line: It’s up to the company to decide what’s best for the company. If you want to telecommute, look for a job that will allow you to telecommute.

Yahoo clearly isn’t the place for telecommuters.

JavaScript: Embrace teh suck

Duct Tape, fixer of all things!Deputy Joseph: “So if you were one of those who got turned away by the old JavaScript, I urge you to give the new boy a chance. Try doing some server programming in NodeJS or some database operations in MongoDB. Perhaps you may not get smitten, but I trust that it would trigger an epiphany nonetheless.”

Even though JavaScript is an ugly, nasty, hack, it’s probably the most widely used scripting language in the world. Browser support is now ubiquitous and it’s the only way to script the browser as far as I’m aware? I think it’s fair to say JavaScript is the duct tape of the Internet. It’s not pretty, but it’ll do in a pinch.

I’d be interested to see how NodeJS scales on a web scale project, you know, something like Twitter, Facebook, or Instagram. Is it good enough for that? It’s interpreted so I don’t see why it couldn’t be used for that. Folks love PHP, Python, and Ruby for web back ends and they’re interpreted.

I’ve had my eye of CoffeeScript for a while. It removes some of the JavaScript suck and the folks behind it are serious about its continued quality and success. The only downside? In the end it has to emit JavaScript. The only reason that’s bad is it could emit something incorrect, but hey, compilers have to emit code and we trust them, right?

People believe JavaScript is the future of development. I hope not. I hope it motivates people to make something better.

In the meantime we have to embrace the suck.

The thorn in the iOS Developer’s side

Provisioning can suck

Provisioning. That’s the thorn. At least it’s the thorn in my side. It seems they go goofy once in a while and it’s always a pain in the butt to straighten them out. It’s been my experience that deleting them from Organizer and refreshing straightens them out, not this time. This time I’m stuck.

I believe this entry from Stack Overflow may be what I want but I’m actually afraid to pull the trigger. If I revoke everything will my app continue to function?

This bit troubles me:

Open Xcode. Click WINDOW > ORGANIZER. Then click the Devices tab and select “Provisioning Profiles” on the left. That should bring up your provisioning profiles. Highlight one by one (if more than 1), right click and delete profile. Yes, just do it! Delete them all! (I kept making a new one after a new one trying to make the thing work.)

Delete them all? Really? Is this the “correct” way to fix the problem?

Any help appreciated. Once I get this solved I will document how to fix it.

UPDATE: I followed the directions on Stack Overflow and generated a new provisioning profile. It worked. Scary.

D.J. Pangburn on The Walking Dead

The Walking DeadD.J. Pangburn: “The joy of experiencing that first episode of The Walking Dead was to see Rick experience a surreal, post-apocalyptic landscape; to feel in an almost sublime way the melancholy horror of it all.That feeling, which was the greatest strength of The Walking Dead for me, is now gone; jettisoned for budget reasons more than likely. But let’s say that budget is only part of the story. If Glen Mazzara and Robert Kirkman believe this is dynamic, visionary television, then they are woefully mistaken.”

I love this series. I haven’t missed an episode but it is beginning to feel a bit repetitive. I loved Season 2, on the farm. It was the calm before the storm. Now it’s definitely stuck in a loop, but hey, what should we expect? There are zombies everywhere! How can the writers make it more interesting? Well, they introduced another tribe into the mix and made Rick go off the deep end.

Hey, can someone kill off The Governor already? I’m getting pretty sick and tired of that guy.