18 November 2013

Git ignore won't ignore my files

Today I wasted a good half hour scratching my head over why Git wouldn't ignore my files. I put  my .gitignore file in my .gitignore:


But .gitignore was still showing up in git status. At first I tried adding some stars and generally just fooling around, but that didn't work. After thinking and reading some documentation I still couldn't find anything wrong with it.
Finally I stumbled over the problem. There was an extra space at the end of the line. I removed that and all was well again.
Remember: Remove whitespace!

16 August 2013

State of the cloud

I'm going to do a quick presentation at work about the state of cloud providers these days. Since we are developers I'll probably have a bias that way and I'm going to look mostly at IaaS and PaaS providers. And I thought it would be a good idea to put down some of my notes here for reference.

Overall Gartner says that the IaaS and SaaS are more mature markets than PaaS which is still evolving. That article also says that they estimate the total cloud market to be $130 Billion! That sounds exceptional but reading further they estimate that half (48%) of that is online advertising and 28% is Business Processing as a Service. They further estimate SaaS at 14.7%, IaaS at 5.5%, management and security services at 2.8% and PaaS at one percent. So in money this would translate to $20 Billion on SaaS, $6 Billion on IaaS and $0.5 Billion on PaaS.

It is also expected that IaaS will grow fastest of the next year, but that PaaS will dominate growth further into the future.

The overall market leader is of course Amazon. In Gartners Magic Quadrant of cloud providers Amazon is both market and thought leader excelling in both vision and ability to execute. At the moment it is hard to see who can seriously challenge their position.

In a study by Synergy they find that Amazon has a market share of 36% in the IaaS segment, with IBM in second place after some acquisitions and British Telecom in third place. Salesforce is a clear market leader in the SaaS segment and has used that (and buying Heroku) to secure a leading position also in the PaaS segment. But Amazon is growing rapidly into this segment as well with their Elastic Beanstalk. Microsofts Azure platform is also a contender, but as we can see in the graph, the market is much more open than in the other segments and the market shares are smaller for the leaders.

I'm going to look at IaaS and PaaS providers to see what they offer and possibly at price points, but which clouds should I look at? Here are my IaaS candidates so far:

Amazon, of course.
Cloud Provider

And these are the PaaS candidates:

Amazons Elastic Beanstalk and Simple Workflow Service
Force.com, Salesforces cloud including Heroku
Google App Engine
Engine Yard

Some sources:

08 August 2013

No sound on TV via HDMI from my MacBook Pro

src : http://spielbergfanclub.com/2011/07/the-goonies-trailer-poster-plot/
The other day my kids wanted to watch "The Goonies" that I had on my MacBook. So I connected it to our Samsung TV with an HDMI cable. My desktop was mirrored on the TV and everything looked good but there was no sound from the TV!

Every father knows that this is a recipe for disaster. You can't promise a movie and not deliver. So while the popcorn was in the microwave I googled for answers and I found this and this explaining how to send the sound to the TV.
I did what they suggested, holding Option while clicking the sound icon and I chose Samsung TV as my output. Still no sound...

While the pressure was mounting from the sofa I had a small epiphany. I tried restarting VLC, the video player I was using, and indeed that brought the sound to the TV. So it looks like VLC hooks onto the current sound output at startup and it won't switch while it is running. I'll have to check if this is the case for other players as well, but if you have problems with the sound output on HDMI you may just need to restart your player...

05 August 2013

If you think you'll get fat, you will!

Kathy Sierra has returned to the blogging scene and she has done so with a blog post that is just as good as
her old work at Creating passionate users. This time she highlights some research from Baba Shiv (et al.) at Stanford that has shown that there seems to be a finite pool of willpower from which we draw the  self control to do stuff we don't really want to do. Like work, figuring out bad user interfaces or resisting temptation.
src: http://commons.wikimedia.org/wiki/File:Sachertorte_DSC03027.JPG

Kathy is basically saying that bad user interfaces makes us spend more willpower at working out how to use the apps leaving less in the common pool. So when the temptation of chocolate cake comes after dinner there is less willpower to resist.
This seems like a very plausible theory and it is backed up by experiment. But I thought it felt a bit too ... easy. Our brain is a sneaky one and it is always trying to trip us up. So I did a quick google search and I found that there is some contention about the finite nature of willpower or Ego depletion as it is coined.

The effect of Ego depletion seems well documented, but there are also more recent studies claiming that it is the belief that you have a finite resource that makes you give up quicker. If you believe that you have an infinite amount of willpower you are better at resisting temptation. Mind over mind! And if you believe that you only have a limited pool to draw from you will give up easier. In this case blog posts like Kathys will make you fat! :)

Roy Baumeister of Florida State University (et al.) have found a way to unify the two theories. They found that believing in unlimited willpower makes you perform better at smaller excertions of willpower but worse for harder cases.

The most uplifting thing I found was that we can think of willpower as a muscle. It can be strengthened through excercise. Small acts of willpower can be motivational boosts that build the self confidence to do bigger things in the future. Still, we should fix our user interfaces before they damage our users.

Some resources: