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.
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 ... ...
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.
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.
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.
Black on White
Hmm, was it firefox that changed the default background colour of web pages to white rather than the more eye friendly grey? And why do gnu/linux distributions like to use white-on-black as the default colour scheme for terminals - which is also very bad for your eyes?
I noticed that particularly with a couple of big screens I use that the white on black is giving me sore eyes - and the pretty nasty headaches I had last week i've worked out were probably an extreme result of it too. I changed netbeans to a mid-light-grey background and firefox too and already i'm already finding it a lot easier to look at the screen. Although for some reason the firefox changes have broken certain images.
What I don't understand is: everyone knows these colour schemes are not comfortable to look at for hours on end, why are they the defaults everywhere? Is it just to copy microsoft or apple operating systems, and if so, why are they also so poorly thought out to begin with?
Damn, it's that time of the project again - and in need of some sort of diagram editor.
Inkscape - looks the part, has lots of features, but maddingly as hell to use and buggy as all shit. When I try to grab stuff it keeps grabbing the wrong thing. The modal editing of objects is sort of nice but hard to get used to. Snapping snaps to different things all the time. The text tool is very unreliable - e.g. setting fonts. Every time i leave it on another desktop for a while I come back to half a dozen python error boxes (@#$@# python bullshit no wonder), and then it just crashes with a windoze-like error box.
I've had it crash 5 times in 2 hours, things vanish while I try to move them and generally a pretty abysmal user experience. Why can't the developers focus on stability rather than features and pretty toolbars? I might have to persevere regardless however as the openoffice draw thing is awful and dia is a bit too bare after all these years.
I think i'm just unlucky with the version in Fedora 13. It has a few other issues such as a version of Octave which simply crashes whenever you try to do any image processing.
Hmm, had an ear-ache most of the day, and it's getting worse. Trying to get drunk enough to make it go away. I think I scratched my ear trying to get some wax out the other day, or maybe i'm just worried I did and made it hurt for nothing, but half my head hurts to touch too. Had a horrid nightmare this morning which kept me awake for hours and then I spent the otherwise quite pleasant and occasionally sunny day writing documentation.
Altogether a day to forget.
Well that was a busy weekend. I started each morning pretty slowly almost wanting to just stay inside all day but ended up a solid 5 hours each day in the yard and then some at night. Did some grocery shopping in two trips on the deadly and finally got some hay fever pills. Pruned the roses (a little late - they were already flowering again) and re-staked most of them. Stacked up the dismantled shed more neatly. Took down the last beam of the old verandah. Levelled off the shed site better. Broke a rake. Shifted 15 barrow loads of earth out of the way. Cleaned and rolled up the old sun-blind from the verandah. Sprayed the weeds. Sprayed the roses with fungicide. Cleaned and sanitised 40 longnecks. Bottled some homebrew, started a new homebrew. Baked some bread (getting quite good at that). Ripped a few heads off in God Of War 3 ...
No time or energy left for hacking. Although with the sunlight hours extending my sleep patterns are going crazy. Up early, then not tired till very late, then sleeping in and visa versa.
Last week I was looking up algorithms on the net and finally got fed up with google only showing cloaked paywall websites. I tried yahoo! (ugh, bing!) again (I usually end up doing this) and found as usual that it went more directly to the papers when they were available freely. I'll have to keep that in mind next time - it's just too time consuming finding stuff using google and resorting to google scholar is a bit hit and miss and more of a pain. Damn I wish my maths was better though - ever since matric i had trouble with differential calculus and I could really use it now.
Was having a generally brain-dead week anyway, every new bit of code I wrote seemed to be more broken than the last - after slowing down a bit I lost the knack for a bit. The hayfever hasn't been helping either.
Copyright (C) 2019 Michael Zucchi, All Rights Reserved.
Powered by gcc & me!