April 16, 2010

This week’s highlights

Here is the summary of my lurking around the past weeks. Probably the Calacanis VS Dhh episode of Twist is my favorite on this set. But also Eric Ries’s interview about Lean Startup Thinking was very interesting. As usual, the link is followed by opinionated summaries. Enjoy.

[FoRK] Programming languages, operating systems, despair and anger… Ah ah, enjoyed this one. There is definitely truth in the rant. Especially the fact that many if not all main stream languages are more written for computers than humans, with some noticeable exception in languages like Ruby or Python. The point to take away from the post in my opinion is that language design should take into account the list of all the common programming tasks listed here. It looks that we need again another layer of abstraction on top of programming languages, something similar to a DSL where the domain is day to day programming for an average application. Good stuff.

I’m quitting the Internet. Will I be liberated or left behind? - By James Sturm - Slate Magazine… An interesting reading with thoughtful comments. I went information diet myself and from that short 15 days experience I understood a lot about my mistakes. I also realized that the all-or-nothing is not a solution. I need and I enjoy to keep up with the Internet buzz. But I understand who needs to quit completely, at least temporary, to understand where the limit is, as in this blog post.

Episode 159: C++0X with Scott Meyers | Software Engineering Radio… So even C++ gets lambdas, type inference and power support for concurrency (along with the other features added in this last re-incaranation). As I heard already a few times, Java is apparently dead. When lambdas will be included in Java most of the developers will be already using Scala or Groovy. The JSR is a remarkable high ceremony process that forces people to create their own flavor of Java with the features they miss the most.

Daring Fireball: New iPhone Developer Agreement Bans the Use of Adobe’s Flash-to-iPhone Compiler… Maybe not only Flash. What about MacRuby? This is an high risk move from Apple. True, they can protect the quality of the product and avoid third parties to create tools that can compile down iPhone, Android and other platforms at the same time like Titanium. On the other hand, other languages are more expressive and maintainable than Objective-C giving iPhone app a quality boost. Although I’m developing iPhone in Objective-C it sounds to me like nonsense. I’d like the option to use the right tool for the job and maybe Objective-C is not always the right tool. I’m worried that Apple will stop the MacRuby team on working on an explicit garbage collector, thus preventing MacRuby to run on the iPhone.

TWiST #46 with David Heinemeier Hansson… Here we go. Every once in while there is something you can’t miss. Two interpretations of capitalism (or maybe just one is and the other is not): the one that Calacanis defines old school and maybe European is in my opinion the new school or the anti-american school. David explains perfectly well what the differences are, but I think it all comes down to the presence of an upper limit. With no limit, the model is to raise money and move to something else to raise possibly more money, often by creating a bubble of expectation and excitement made of meaningless metrics. The other way (David) gives less prominence to money accumulation and more importance to searching the best idea to implement, an healthy life style and real profit. Overall it means doing business with the idea that when your income is enough to afford everything, there is no need to raise more money just because you can. With a nice side effect: better wealth distribution overall.

danieltenner.com ‚Äî How to¬†nap… Glad to see I’m not the only exercising how to nap. It also took me some time to get to the point where I’m now. My experience is very similar to the one described in this post. I still use sometimes white noise tracks from 20 to 30 minutes based on the mood of the moment. And yes, never ever go over 30 minutes, or you risk drowsiness as described here. Something I’m doing lately after the muscles relaxing focus part, is to focus my thinking to someone walking and just visualizing the legs and almost nothing about the surrounding of the scene. Sometimes it takes some effort, but apparently it puts the brain on some useless thinking that removes other thoughts and prepare for napping. At least, this works for me!

Show #49 Eric Ries, Lean Startup and product/market fit ¬´ The Startup Success Podcast… You should really listen to this one. Eric is great explaining what this is all about and I very enjoyed his clarity. The relation to acceptance tests idea is mine though. So: continuous deployment + production cluster + revenue metrics and an automatic halt and revert system for production is the recipe to drastically reduce the importance of acceptance testing. The scary part is that we are accepting and embracing the fact that bugs will make it to production even if we fight them hard (it will happen anyway). By gradually deploying to a cluster if there are bugs only a small portion of our customer will find out. The presence of a “revenue” metric will trigger the revert button automatically, reducing the loss to the bare minimum. By accepting the risk of some bugs passing to production we can leverage a very tight customer feedback loop and learn very early how to change direction to achieve market fit. This works well for startups, where the kernel idea need to be validated ASAP.

QR Code - Wikipedia, the free encyclopedia… Thinking seriously to place this on my business card. Slick and if you have a modern phone, readable!

Emphasized Insanity - Using Sinatra to test remote services in Rails… In my last project I had a lot of stubbed request response to stub out web services like S3 or MTurk. I did everything by hand and it was not difficult, what is difficult is to reproduce the call and dump the raw response when you realize you need just another slightly different test case. For the next time I’d like to user something like FakeWeb or this Sinatra server built on top of it. Recording and storing should be much easier and repeatable improving the maintenance of integration tests with stubbed web services.

Comments (View)
blog comments powered by Disqus