Saturday 30 October 2010

Video

Spent a few days this week ... gasp ... coding C++ on microsoft windows. Ugh. I don't really get paid enough for that pain, but I suppose it's bearable in very limited amounts (and being a professional, one just has to deal with it). I was looking at using directshow to get some images from a camera. No surprise - what a horrible shit, overcomplicated and poorly documented API. The bits I needed to use were removed from the microsoft windows 7 sdk too, and the published work around is to copy the headers from an older one ... sigh. Strangely enough the fastest way to look up functions on MSDN is to type it into the URL bar in firefox and let google find it; the bing link was slow slow.

Although it did force me to finally work out JNI. Which is fairly simple and straightforward and a bit easier than I thought it was. It is a little clumsy but not unreasonably so and in ways that seem to make sense. I think what normally makes it such a horrendous pain is 1. microsoft windows, and 2. ant.

It's a bit of a cold dreary wet weekend and I was still feeling a bit seedy from a (very) boozy Thursday night - not to mention having 2 packets of chips for dinner yesterday - so I just spent all day today hacking. I was thinking of doing some video image processing stuff but that seemed too much like work work so I played with DVB instead. Maybe I should've poked ImageZ a bit more.

Mucked about with a simple bit of code to record the transport stream and change channels, and using ffmpeg's libraries to play them. Very simple and pretty easy. Pity that's really the only easy bit - which is why i've always avoided playing with this stuff before. There's somewhat more to doing anything useful with it than just storing and playing video. Then I got sidetracked learning about the EPG they use in Australia - which is some horrid MHEG stuff, or EIT neither of which I could find much about. Along the way I tried a newer mythtv ... oh dear, that's got even more bloated. It has bits or extensions not only in everyone's favourite extension language of the month that I love to hate - python - but also perl and even more alarmingly, php.

Might need to get away from the screens and keyboards tomorrow.

Monday 18 October 2010

Verandah

At last, the verandah is done.


The highest corner is 4.4m from the ground.


Next, the shed, drainage, electricity, shed floor, deck, rainwater tanks, paving, lawn ... ...

Wednesday 13 October 2010

Pay per patch

I just read an interesting article about a pay per patch business model for free software.

This is something i've been thinking about lately and I came to a similar but slightly different solution - not that I necessarily want to go down that path myself.

The problem is a pay-per-path or pay-per-feature model is essentially a 'bounty' system - and bounty systems just aren't that successful for a number of reasons.

  • You still need some sort of maintainer to vet and accept the patches (are they unpaid by the patch money?)
  • Duplication. You can't work for nothing for potentially months on a project only to find someone else has done it, also see next point.
  • Undercutting - students, otherwise employed (e.g. me), people in developing countries don't mind working for relative peanuts or even nothing at all.
  • Legalities. It is really work for hire but usually not treated as such because it complicates matters particularly for international projects. Obviously this is something PFP would try to address but it isn't simple.

I think it needs tighter control for a given product and not be so much a free-for-all for all comers. Also a formal legal grounding is required and for adequate compensation.

  • Only a core set of project maintainers would be part of the process, depending on the project. This removes problems with duplication of work or the need for separate approval. As with other projects people could contribute in their own time for free as well and eventually become a core maintainer if there was enough work/they proved their skills.
  • Contracts are based on time and materials. The customer (be it a 'contracting company' organising multiple cients or the client itself) and worker (be it a group or an individual) agrees to a formal contract of what is to be done in what time-frame, and at what rate.

Essentially it boils down to running a project as a business rather than as a hobby. An example might be an individual or group of individuals starting a new project from scratch, getting it to a base level of usability and then asking customers to pay for new features. The main difference from the PFP model is you don't have a 3rd party involved as such, or a free-for-all for who might apply to do the work. As soon as you add 3rd parties you add extra costs ('leeches'), and lots of politics.

Although this will work for business and enterprise applications I'm not sure it would work for end-user applications. For starters end users are used to paying nothing for software (even if it was hidden in the cost of the computer). Secondly they don't realise just how expensive software is to make. At the very least of say $50/hour, it adds up very fast (casual cleaners get $22.50/hr here, so $50/hr is pretty cheap). Even very simple features will take at least a few hours to implement and some may take weeks or months for multiple developers.

And you still have a problem when the software works well enough for most users - eventually most software goes into maintenance mode where less effort is required. The upgrade mill that proprietary software companies use adds unnecessary expense for users even if it helps the developers maintain their lifestyle.

Friday 8 October 2010

Coastal Weekend

This is where I went for the long weekend just past. After a few cold and windy mornings the weather finally smiled on us and my early morning rises were finally rewarded with this tranquil sight.


The clouds ended up burning off during the day and a few of us went out on a small boat and caught a good feed of squid and a small fish and a crab.


We were fishing in a few metres of water and it was so clear we could see the squid approaching from 10 metres away and being tempted by the jigs, and the crabs walking into the net. As one squid floated by hiding under some floating seaweed I dropped the jig infront of him and simply pulled him out of the water.

Thursday 7 October 2010

Disconnection

I finally deleted my facebook account. I only seemed to use it when i was feeling particularly lonely and/or drunk and as a consequence normally just said stupid boorish things that made me look like a wanker anyway. Not that anybody else ever says anything of consequence, it's all so banal and pointless.

But it feels a bit like the cutting the last connection I had to many people I've known for a long time (some nearly 20 years), since most of them don't seem to know how to use email any more. But I don't feel comfortable with having to use such software to do it, and if the sum total of the effort required to maintain a connection with someone is logging onto a server in the USA and posting smart-arse one liners I somehow don't think it will be missed. I rarely logged on more than once a month anyway.

Haven't felt like hacking much lately - hit a wall with work and seem to have lost the energy to hack in my free time as well. Spring I suppose - usually makes me feel a bit like that even without the hayfever, even though i've been waiting for the weather to warm up for so long. With the warmth the garden already needs watering to keep it going. The peas have gone crazy, collapsing in a big heap and lots of flowers, and more than enough to eat every day. Just waiting for the shed to go in before the next hive of activity in the yard - electricity, floor, rainwater tanks and storm water, although I really just want a break for a while.

Friends invited me along to a house near the beach over the last long weekend - which was really good fun. Although by the end of it I think i needed a few days off to recover. So much food and booze, and too many early mornings. And coming back to an empty house always feels ... empty.