Add to Google Reader or Homepage |
~ pjvenda / blog
$home . blog . photography

04 August 2010

Power delivery

Power delivery, originally uploaded by pjvenda.

The final link between drive train and rear wheel.

20 July 2010

St Michael's mount

St Michael's mount, originally uploaded by pjvenda.

The narrow twisty footpath into the castle.

15 July 2010

Spotify maturing as a business?

Spotify is a great product, I use it every day. It's an online music streaming service available for a number of countries in Europe (sorry, Portugal is not in the list yet... shame on you Spotify).

Warning: This is my own opinion... a long one.
I have been using it since its early days, when signing up was open and free and their ads seemed "amateur" at most. They even had a "Spotify voice mail" into which users left their messages of spotify-glory eventually ending up in self-advertising ads.

Discussions with business aware people led me to believe that there is something not quite right with their business model. To users it was music on tap for free, high quality, high availability, nagging ads but nothing we couldn't live with. I know that the key of success in online services is the ability to create a critical mass of users. Hence it made sense to give away music on tap for free.

Starting a business is difficult and incurs a lot of risk. Most technology companies have significant losses during the first years of operation, but often after braking even, the gains far outweigh the losses. In other words, losses in this case == investment.

But this is not sustainable forever and something was bound to happen. They would have to change the revenue model or increase the density of ads (a lot!) in the free accounts to make people switch to the paid version or go bust or be backed up by a company that made money some other way...

Adding to this, they implemented some serious anti-tampering stuff into their windows client since the very initial versions, including fancy anti-debugging and obfuscation code. Clearly they either over-engineered it or just prepared for a longer-term reality... Not that it is a bad thing, implementing decent security measures since day one, but it was also a visible sign that they did not want people cracking it.

The way I see it, there's a thin line between giving away enough to attract interest and new users and charging enough (from whatever multiple sources) to keep the business afloat, or at least following to the almighty business plan. Giving away stuff keeps people happy and attracts new users, etc, but does not pay the bills. Shutting the service to paid customers would kill the expansion of their user base. I think they never got this balance exactly right (assuming of course it was possible in the first place).

Over the past year or so they introduced various changes that affect the afore-mentioned balance. Their initial model was something like:
  • Paid ads;
  • Free accounts to everyone: Lots of music available, ads that could not be skipped;
  • Premium accounts for £9.99 per month: No ads, higher quality streaming;
Shortly after the following features also appeared:
  • Paid ads: Arbitrary companies were able to advertise in Spotify, spamming free accounts forever. Artists were also advertising their work via Spotify ads;
  • Premium accounts: Offline mode, mobile access for some smartphone platforms and unrestricted international access, even higher quality streaming, invites were provided;
  • Free accounts I: access out of allowed countries was limited to 14 days, [the mac client paused ads if sound was muted - sneaky, eh?];
  • Mobile access: Various applications were created and deployed for the most widely used smartphone platforms (iPhone, android, any other?). This is, of course, restricted to premium accounts;
  • Free accounts II: All existing free accounts kept working normally. However, free accounts could no longer be created without an invite. Invites were being handed to paying users and could be used as tokens to create new free accounts. So free accounts stopped being free, essentially;
Now the free user base could only expand with the help of the paying user base. Clever! The number of invites given to premium account holders was now controlling expansion of the free user base. So if you didn't have an account, you'd be left with 2 choices: either find someone with a premium account and get an invite from them or buy a premium account yourself.

Also there was little choice to the user base. Either you have a free account with nagging ads or you pay £9.99 per month... or the ridiculous £9.99 for one day. There weren't too many commercial ads, most were artists promoting their music/albums/singles/whatever and the rest were self-advertising. Targeted ads seem to work so-so. Some ads my wife gets I never heard and vice-versa. However, I still get spammed by Rhianna's promotions... something's very wrong there... My playlists are little more than  Iron Maiden, Bruce Dickinson, Megadeth, Manowar... you get the picture...

Fast forward to 2010 Q1/Q2 (IIRC) and here's some more changes. I think these prove what I described above. Spotify decided to press on and attempt to expand its paying user base now. This was expected, and as far as I'm concerned, overdue by now. What we have now is:
  • Paid ads: Arbitrary companies were able to advertise in Spotify, spamming free accounts forever. Artists were also advertising their work via Spotify ads;
  • Free accounts: Left untouched. All free accounts are kept working, but can only be created with an invite coming from a premium account;
  • Premium accounts: Mobile access for some smartphone platforms and unrestricted international access, even higher quality streaming;
  • Integration with locally stored music files: The Spotify player can now play locally stored files and even share them with mobile clients. I don't know exactly how and when this works, but it sounds 'local'. Nonetheless, it makes sense to me;
  • Open accounts: Free version of Spotify, no invite necessary, but limited to 20h per month. Like a demo, really;
  • Unlimited accounts: Poor man's premium account. Half the price of a premium account but no mobile access, no offline mode and no streaming abroad. Pretty much all the good features gone except for the music, of course, and with no ads;

There it is, another shift towards expanding their paying user base. This starts to open up the choice range of non-paying customers and the game just might start changing. I'm not yet willing to invest £60 per year on a Spotify Unlimited account (the premium is still too much), particularly because most a lot of the music I enjoy is not there (which I reckon is mostly my own problem). However, it begins to become more and more reasonable to a wider and wider range of users and potential users.

I must also say that my ramblings about expensive and cheap are, of course, relative. What's expensive for me may be very cheap for you and vice-versa.

Good stuff, Spotify! Now get those label contracts going (get Rammstein back on the lists please, btw), as well as Metallica, AC/DC and every other song in the world :] A bit like Google! Hmm.....

14 July 2010


Capelinhos, originally uploaded by pjvenda.

A massive eruption took place in the sea just meters in front of this lighthouse in 1957 (over 13 months). What was before the tip of the island is no more. This is now a magical place of inevitable history and volcanic science.

24 June 2010

Once liquid I

Once liquid I, originally uploaded by pjvenda.

The more I look at this picture the more I like it.

And it's not one of those I thought: "this will make a fantastic shot" when I took it.

15 June 2010

Fly Azores

Fly Azores, originally uploaded by pjvenda.

Shot minutes before boarding.

13 May 2010


Twisty, originally uploaded by pjvenda.

08 May 2010

Hydraulic vs bucket+shim valve adjusters

Been researching the various valvetrain designs out of a philosophical discussion on hydraulic adjusters not commonly employed in motorcycles (H-D engines are the notable exception). Fascinating!

I found out how hydraulic adjusters are currently used in various car engines and how elegantly they solve the problem of keeping valve clearances. I also read a bit about pneumatic actuated valves with cams/followers or with electro-hydraulic actuators and no cams. Clever!

Being uninformed about hydraulic valve adjusters, I did the right thing and researched a bit. I'll share a summary for those that, like me, would like to know.

Hydraulic valve adjusters are a clever solution meant to solve the problem of keeping correct valve tolerances at any engine/oil temperature. Incidentally the design led to having permanent contact between cam, lifter, pushrod, rocker arm and valve stem, making it quieter.

[I now realise that the more common cam followers+shims+buckets should equally have (more or less) permanent contact between all the parts. This happens because followers to shim clearances are filled by oil pressure that builds up underneath the buckets as the engine runs: makes sense and came from a very reliable source.]

This is an open loop feedback system in which pushrod operating travel changes by action of hydraulic lifters which, in turn, are influenced by engine pressure and/or temperature. Ingenious!

"Our" design is more on the style of "getting it right for the typical range of engine temperatures".

Two typical engineering approaches to the problem, both with their pros and cons. While it's easier to see the cons in the non-hydraulic shim+bucket style system, the hydraulic type is not without them:

Being an open loop system, it relies on correct information coming in from oil (density+type+dirt+volume=different pressure vs temperature curves) as well as integrity of the lifter itself (spring load). But even if everything else is kept, oil changes with wear and that affects operation of the lifters. Self adjusting valves gradually come out of adjustment at all engine temperatures. Then of course this is a more complex system and probably more expensive to manufacture. Hydraulic lifters are precision parts with very tight tolerances. It is hard to tell if the time it takes to get a valve significantly out of tolerance is so long that it becomes non-serviceable... I really don't know. Some people say yay other say nay.

Me, I would go for the hydraulic type, but I'm an engineer, not a business man. On that note, how about the desmodronic valve actuator system currently used in Ducati engines? Funky, eh?

Thanks for reading. Feel free to poke holes at it.

References were:

03 May 2010

The long way home

One wonderful thing about bikes is that much more often than in a car, you go out for a ride with no purpose, sometimes with no defined direction or destination.

I work in an office in Thame, roughly 15 miles away from home. Commuting by motorcycle is good and fun: not too long, very little traffic, twisty but safe (good visibility throughout, no sudden tight bends, etc). It's a good mix of city, dual carriageway (A40) and A-road (A418).

As the weather improves, the sun now shines past 7.30pm (sunrise, sunset, dawn and dusk times), it's time for some road exploration / wandering on my Triumph (I really should have blogged about my new speedmaster by now...)!

I prepared a route based on something I tried before and set off from the office after work with a memorised list of road names and a few visual cues taken from google street view. Although I didn't follow the plan entirely, the result was the route below:

"The long way home" is the name I gave to the 50 mile route (above) out of Thame around the south of Oxfordshire and back into Oxford via the Donnigton bridge / Iffley road.

  • B4009 from the A4074 turnoff to Goring-on-Thames: Superb scenic twisty road with a few villages here and there but without breaking the rhythm too much;
  • A417 from Goring-on-Thames to Blewbury: Another very scenic twisty road with a number of hills and less villages than the B4009 (IIRC);

Great bits of road, but not quite highlights:
  • B4009 from Thame to Benson;
  • B4016 from Blewbury to Didcot: very twisty, most bends are blind. not too many chances to overtake;

Ideas, alternatives, improvements:
  • Avoid Didcot ring road by following the A417 a bit further and then turning off to the A4130 at Rowstock;
  • Try the B4009 further than Goring-on-Thames, perhaps even all the way to Newbury;
  • Keep on the A417 until Wantage, then A338 up to Wootton or join the A420 and back to Oxford;

I managed to discover/execute this alternative route home which included some of the best bits of road I've ridden so far (mind you my experience is limited). This was a fantastic ride that I look forward to do again soon.

(feel free to share if you know any great roads around Oxfordshire)

Until next time,

10 January 2010

lame sysadmin

Weird stuff went on recently on my network;

It started last night while I was fiddling with my lab network - dark witchcraft including ospf, eigrp, nat, acls, ppp/chap, etc. I discarded it as being my laptop still fussing with its gateways and default routes... I was tired and didn't care. So I just turned things off, went to bed and forgot about it.

[side note: I should post my network diagram someday, so everyone can appreciate a true overkill geek home network...]

Cisco home and lab networks, originally uploaded by pjvenda.

This morning, though, my wife couldn't reach facebook from her laptop. Whoops, I must have done *something*...

Symptoms were:

  • able to ping external hosts;
  • unable to access websites;

First things first: Check the squid proxy - seemed ok;

Lazy as I am, I decided to just reboot the routers because I might have left some not-very-well-though-configs there. The routers came back up and the situation got worse! Now I had no comms between the core and uplink routers. WTF?

Moral of the story #1
Having bpduguard on switch ports that link to routers is not necessarily safe.

The router was broadcasting BPDUs out its ports triggering bpduguard on the switch which, in turn, disabled all the ports that connect to the router (the ones from which BPDUs were received). This effectively shut the router off the switch.

As a quick & dirty solution, I enabled bpdufilter on those switch ports. Just ignore those BPDUs instead of disabling the ports if one is received (bpduguard is setup globally on the switch, rather than port by port); The proper solution involves shutting down STP on the router instead with no spanning-tree vlan X commands.

Layer 2 issues sorted, I was back to last night's situation. Being a little more pragmatic this time, I disabled wccp redirects from the core router. Sure enough, everything was back to normal. The proxy was good but the connection between the core router and the proxy service/host was not (this connection being a GRE tunnel - did I mention how nice WCCP is??).

Moral of the story #2
Be pragmatic, not lazy.

I had a massive update pending on the server including a kernel upgrade. I had to reboot now. Naturally the server did not come back up as expected because the updated version of udev required a kernel >=2.6.27. The latest accessible kernel was 2.6.26 - d'ough!!

So there I was manually creating md nodes on /dev via a serial console to mount and copy the newest available kernel, modify grub's configuration and try again with a new kernel. It worked! Everything came back to normal, the GRE tunnel came back up, as all other services on the server.

Moral of the story #3
Don't slack on your sysadmin duties, update often and check that things are still working after updating. Make sure you reboot from time to time to verify that everything is starting up nicely.

Along with all this, I forgot about the new terms of service of (my DNS provider) and they cancelled my account. My domain has been unavailable since 3rd January 2010 and should only be restored after tonight (10th January 2010).

Moral of the story #4
Make sure you have a working DNS service for your domains. Otherwise they don't work.

I'm lame sometimes. Must be the cold.

Cheers, PJ