Showing posts with label Rant. Show all posts
Showing posts with label Rant. Show all posts

Tuesday, February 5, 2013

FOSS Compensation Mechanisms

http://www.datamation.com/open-source/9-things-that-are-never-admitted-about-open-source-1.html

The above article and associated comments are interesting.  There are plenty of kindling for flamewars contained, but its not those particular aspects that I find my attention drawn to.


Free Software.... System

The arguments about what FOSS is or who runs it or what happened are fun.  The point is that "Something", a system of some form, generates software which happens to have the property of "free"ness.  We have the software artifacts as evidence that this is not just some teenage RPG fantasy.  The fact that this has been happening for some decades suggests that its a systemic process.  At this point I conclude that its worth using the lable "System" to collectivly describe it.  The fact that just about every other heuristic about "systems" is violated somewhere means that its probably not a good term.  Its certainly an informal system that has displayed a wide range of emergent structures and processes. I like emergent systems.  I like seeing how structure forms and fragments within a pool of chaotically swirling components.  I like seeing the effects of context and environment.  Its fun to see small niche opportunities appear, be filled and then fade away as other actors either colonise the niche and exhaust the resources or change the environment and disolve the niche all together.

So is it an Eccosystem?  Lets drill into it a little more.

An Eccosystem is defined by its environmental constraints, resources and actors.

The actors in the Eccosystem are fairly easy to generalise:
* Producers of software
* Consumers of software
* Everyone else on the planet who knows them, sells stuff to them, talks to them, is even remotely connected to them in any distant way etc etc... living or dead.... 

The Environmental constraints are:
* all the computers in the past, present and some way into the future.
* all the users past, present and a bit into the future.
* the legal, social and cultural contexts of the environments for both producers and consumers of software.

The resources within this environment would include:

User (Consumer) Resources
* Time
* Money
* Knowledge
* Need
* Frustration
* Attention
* Interest

Developer (Producer) Resources
* Time
* Money
* Knowledge
* Frustration
* Attention
* Interest
* Resiliance
* etc etc etc

* Communication mechanisms
* Computing Resources (Time, storage, redundancy etc)



There are probably millions of other variables within the system that could be listed.... we can play that game later.  The point, I feel is to move on...

So in an effort to move the thought along... who are the big players in the eccosystem? Same rule as any eccosystem.... look at the most "successful".  Look at the species or groups with the largest numbers, look for those with the longest lifespans, look at the ones with the most resources under their control, look at the ones with the biggest teeth.... pick some quality that you feel is noteworthy and then make a game out of counting it.   When you're done... keep reading.

The point is that measuring "success" in an ecosystem is a game of "Eye of the beholder".  Once you start to look at a system that has millions of variables and millions of actors... keeping score gets hard. Ask a biologist.  Ask any academic. After a while, people develop coping mechanisms to deal with the complexity.  They focus on something they think is valuable and "fixate" on it.  They make up their own scoring system and their own game and play it to the exclusion of everyone else. They fight about their section of the bigger game and generally downplay everyone else's as unimportant. (That's being polite) but at the end of it... its just a coping mechanism to deal with something that is more complex than they can cope with.  Its too big.

Kinda like the "flame wars" and strong opinions that manifest in the software world.

So, in summary, I would suggest that the bulk of the discussions are coping mechanisms and should be respected as such.  One thing I have learned is not to mess with anyone elses coping mechanism... its not like I have something to replace it.

Once we move past the sound and fury of the coping mechanism bullshit storm... we can have an intelligent discussion about the software ecosystem.

First point worth observing is that the software ecosystem is not divisible into FOSS and "other".  It's a single ecosystem where everything is connected.  Many projects exists because of holes in other projects. This symbiotic relationship cannot be decomposed. But the projects can evolve away from each other.

The next point is that even within a sub-set of the ecosystem, such as the FOSS area, the complexity and variability of the people and projects is just too vast to try to clasify with a simple schema.  There must be millions of instances of FOSS software running and, here I am totally guessing, millions of people making choices about FOSS software on a regular basis.  It's just silly to try to argue that anyone has a good handle on what kind of decision making process those people are engaged in.  The variables are exponential, not linear.



Like any good religion, its hard to change anyones mind.... simply because to display a coping mechanism means you are already reacting to the stress of the situation you perceive. You're in the tarpit.  "Helping" someone else will simply pass your tar to them.

I guess the key point, rather than simply rambling on, is that the software ecosystem is, and will continue to be, incredibly complex.  Trying to map it, argue about it or control sections of it, is simply demonstating one's ignorance about just how vast and variable the whole show is.

So whats the future hold?  More of the same probably.  More pointless arguments by people who are freaked out by the complexity of the system that they cannot understand. More chaos, more evolution by projects reacting to "local" conditions without being able to make "big picture" plans.  There are probably very few players who have capacity to make really "big picture" arguments and even fewer who have the capacity to actually act at a high enough level to make any particular impact.  The big platform players might be able to send ripples through the ecosystem but none of them have enough monolithic impact to really drive much.  Microsoft has for years been a big player, big enough to distort the ecosystem around them, but similarly there have been thousands of others of larger and smaller degree who have created sub-ecosystems around themselves.  Tools vendors, hardware platforms, game engines, social platforms, phone makers, tablets, consoles, vehicle systems, retro platforms... etc.  Each one has created niches and relationships that have splashed in the pond and mattered for someone, somewhere.

Take a deep breath people... stop trying to keep score and get on with what is important to you.

Monday, November 12, 2012

Paranoia on the Security Frontier


Just read this article on the issues the American's brains trust are having with suppliers of major network infrastructure components.  The point of view expressed and the stunning hubris... is just so... sad. Basically the article says that the US gov is paranoid about the Chinese gov being able to pop some malware on some backbone switches at some point in the future.... maybe...

Firstly, this article is yet more China bashing.  Although to be fair there is a little bit of acknowledgment that there are other players in the game but none are named or particularly have the finger pointed at...

Secondly,  the fact that American manufacturers are simply assumed to be free of any government influence is just a tad ideologically blind.  Everyone outside the US is paranoid about the US spy services and what they might be inserting into the Internet infrastructure... but that goes without comment.  LOL. 

The silliest bit of all this is the naive assumption that the US spy services are somehow automagically on the side of the average US citizen... hmmmm?? Said who? Is there any evidence to support that point of absolute belief? Hmmm... could be some evidence for both sides of that argument.

Anyway,  as a third party country who gets to buy from both suppliers... we're just a little bit paranoid about both of them. As mentioned in the article.  At the end of the day... there's nothing for it except to do some independant verification of all significant network infrastructure and design networks to be able to identify and withstand the effect of compromised equipment. 

In any case, its often not the designed in back doors that prove the biggest problem, its the exploits that appear from independ players and the side effects of poor network planning that have the biggest problems.  The other problem with backdoors is that you never know who else knows about them.  Since you can bet that the US spy guys will have purchased a couple of these routers and they do have the resources to take them apart and find any useful compromises... that any backdoor that is inplace or could be inserted via patches is able to be compromised by US players just as easily.  Also by every other 3 letter agency in the world... it would then be a fairly simple activity to block each other from using the backdoors while still being able to use them themselves... unless they wanted to let the others think that they did not know about it but still wanted to be able to block them...


I'm sure that in the minds of the politicians it's all scary to think that someone else can reach out and switch off your backbone routers or do bad things with them... but a simple firewall and some physical seperation should prevent that kind of scenario.  Getting some kind of command and control interface to a backbone router should be incredibly difficult via the actual feed line.  They should be controlled via a complely different internal network that is not carried on the public feed.  This provides both physical and logical security. 

This would prevent them being compromised by either some "foreign government types" or by criminal, hacktivists, rogue spy types or other trouble makers.  But like always, it does not prevent them being compromised by the staff of the backbone provider.  As always, people are the weakest link... not the machines. All a spy agency needs to do is compromise one employee and the whole system fails.... but then again, thats what spy agencies have been doing since year 1.

Must be nice to live in a world where all you need to be afraid of is some malware built into a backbone router.  Do you think the US and Chinese spy kids are trying to rev up yet another cold war to keep their budgets?  Most of us are actually worried about non-state players taking down the networks rather than state backed players.  They have much more interest in taping the flow of information than simply trashing the place. 

There are just so many old-school points of view that underpin this whole debate that are no longer relevant.  I have no doubt that every spy agency in the world wants to pwn every backbone switch they can.  They all want unfetted access to every data centre in the world and everyones email, game sessions, chat boards, porn habits, online bank accounts, bot nets..blah blah blah... but the point is that this is a massive fire-hose of data that is simply a monster to try to do anything comprehensive with.  Very few of them have the sort of infrastructure to store, process or make sense of this in a wholistic way, so mostly they will continue to just dip their toes in while they play paranoia games.  The second one or the other gets enough capacity to be able to control a substantial slice of all this action, the whole concept of cyberwar will be declared "won".  Cause just having the ability to "switch off" someone else's network can be implemented much more cheaply than putting some bad malware in everyone elses routers.  This is why the spy agencies still exist and are still able to out-muscle all the small outfists like the hacktivists and criminals, is because they can still mobalise a set of trained and motivated people on the ground to go and "act" upon a foreign govenments network infrastructure if they so wished. All the wanna-be organisations simply do not have the resources to reach out and touch someone in a systematic way.  Just to make it even more difficult, all the backbone providers spend every day attempting to armour and fortifiy their infrastructure against everything the hacker/criminal/vandal set can think of to stuff things up.  Think of this as crowdsourced penetration testing.  The idea that some backdoor could exist that would be exploitable by a foreign government that could withstand this kind of probing is possible... but not probable.

It reads like some sort of bad plot from a really cheesy cold-war thriller... as I ranted somewhere above... its just a bit sad.

 





Friday, October 19, 2012

Exhaustion....

I have decided that the thing that will kill the movie industry is simple inertia.  Changing market dynamics, movie pirates, old school business models, more TV channels, too much Internet, gaming etc... all these are just symptoms and distractions.  The root cause is the incredibly slow pace of production.

The "industry" (and remember its a collection of individuals with no common purpose; so herd or rabble may be a better description) generates a finite number of movies per annum.  Of these, only a certain number will be of interest to any particular group of movie viewers.

Viewers come in two groups, the first is "Indiscriminate Viewers" who will watch anything as the opportunity arises.  The second is "discriminating viewers" who are in some fashion selective in their viewing habits.  These are people who will refuse to watch some movies given the opportunity and further will expend effort to seek out movies that satisfy their interest.

Generally, I would suggest that over time an indiscriminate viewer will move toward being a discriminate viewer; simply though the mechanims of experience.  They find what they enjoy and they seek to maximise that.

So, given that the longer a viewer watches movies, the less (overall) of the annual production they will likely consume.

For instance, a viewer who finds they are a fan of romantic commedy, may seek to see a movie a week (its a figure, don't worry too much about it)  which means they want to see 52 romantic comedies a year.  What do they do if they can't find something to watch?  (Go elsewhere, do something else... probably)  The point is that they cannot point this out to the industry... cause the industry is a figment of the collective rabble.  Keep in mind that romantic comedy is a very well represented genre in the movie back catalog.

In the event that we look at a fan of a smaller genre...say sci-fi thrillers.  Then they may be offered a new release bi-yearly... if that.  How does "the industry" (fictional group... I know) expect to keep that persons attention?  They can keep up with the new releases if they have a move marathon once every decade... yah!
The other thing is that they can work through the existing back catalog of all sci-fi thrillers ever made in a couple of weeks of casual viewing.  Job done.  Genre exhausted.

"The Industry" has simply failed them.  They may go and find something else to entertain themselves... but its random chance if that thing happens to be another genre of movies. Its just as likely to be any other entertainment... sport, games, porn, fine art restoration, busking.... racing goats... whatever.  The odds are against the movie industry getting them back as a paying customer.

My point?  Ok... I think the thing that has spoilt the party is simply access to databases of movies.  Its now possible to search through the genre that you are interested in and tick off all the ones you have seen, all the ones you would like to see and any that you never want to see...and get a survey of the scope of the situation.  There is no longer any mystery.  No hope that there is one out there that will keep you interested and searching.  You can be sure.

I've done this with the Genres that I'm interested in.  I can see the end of my movie watching fast approching.  I have certainty that I'm done!  Now its just maintenance mode.  As new movies come out, I can catch up with them in my own time and tick them off.  In between I can re-watch some of the good ones... but essentially there is not a lot left for me.  I have thoughly checked all the other genres and frankly, they're just not interesting.  Chances are that I am un-representative of the rest of the movie watching population... but as it gets easier and software takes over helping people to organise their media collections... I expect this "ticking off" exercise to be simpler.   The only hope is that there will be some feedback to the industry to give them (collectivly) a better idea of the genres and the frequency of delivery that will hold their audience.


After a lifetime of regular cinema and movie watching.... its a bit sad to see the end of it.  But unless things change, there's really only one movie yet to be released that I am looking forward to and thats it.

TV Series are a different matter.  I think they are filling the space between movies for a lot of the genres.  The problem with TV Series is simply the commitment from a production company is so much greater.  This makes it harder to get niche genre series off the ground.  I wonder what the failure dynamics are with niche series? I wonder if becuase its in a less crowded niche that there is less risk of failure?  Interesting.


I am a bit vauge as to where I was going with this whole post... probably just that the movie industry is too slow to release anything and that access to databases has removed the uncertainty about the movies that are availible. 


Profit Motive vs. Profit Imperitive

The Uni has been in transition for some time.  Courses have started to pay their way, schools are having to justify their budgets under more and more pressure. The endless tension between the "The University as Vocational Training Provider" and the "The University as a seperate world of pure quest for knowledge" points of view are still alive and well.

For me, this is no bad thing.  As I see the Vocational Training market as a very goal directed activity.  Its simply a business.  Deliver the product as efficiently as possible and go home. Cheap, push the cost onto the consumer, pay the staff a minimum wage, get accredited every so often, strip the library and the infrastructure down to the minimum. Get Focused and go hard.  The infusion of this point of view

On the other hand is the purist pursuit of knowledge through research and discovery.  (A secondary objective is training more researchers for the next generation) which has no relationship between input and outputs, no firm time frames and no clear value proposition for the community. (Every one acknowledges that value is generally created over the long term but its a bastard to put a number or a time frame upon beforehand).  The point is that the two processes are so completely seperate in funding model, return model, staffing model, mindset... everything.

Somewhere in the middle is "Commercial Research" and "Private-Public-Partnership Research"  which is complicated because its usually managed as a goal directed activity, but suffers all the uncertainty of cost/labour/time/outcome any other form of "research".

Additionally there are all the other lifestyle derived agenda's ( mooching, freedom to waste time and money.... free food, travel, going to conferences as you like, publishing anything that goes through your head, retirement with pay, having slaves to do your photocopying, being worshipped by students, allowing your ego time to grow unconstrained.... endless access to books, talking shit with other smart people, meeting and breeding with other clever people)  are desired but difficult to publicly support in these times of fiscal constraint.

I think its a game of state-the-obvious that most of the above agenda's do not fit with the "The University as Vocational Training Provider" model. 


Wednesday, October 17, 2012

Apple Tax vs. Dead Engineers

I just read an article on some of the "Apple Tax" arguments surrounding the Samsung vs Apple patent suits.  (Here is the Article)  While I think the article is a pretty good summary of the various strategies that the big tech companies have been employing.  It got me thinking about an alternate universe in which software patents were not legal.

In the patent free universe, there is no legal framework in which to apply pressure to your competitors.  So similar to our world, companies can compete for eyeballs, shelf space, prime product positioning etc via their marketing budgets.  I guess similar to our world... great marketing only gets you so far.  The only real difference would potentially be a mechanism where by one company could saturate the marketing space and thus deny access by the customers to knowledge of the other companies product.  Could work.

The second aspect is product differentiation.  If cloning products were legal, then what strategies could companies use to differentiate themselves?  Either move faster than the other company or retard that companies ability to move fast.  By what means? 

One mechanism, as in our world is to compete for talent.  Hiring the best and brightest is one way to execute the "Move Faster" strategy.  But there are only so many great engineers and like star athletes... soon the pay checks would be idiotic relative to the actual talent.  But... it could happen.  Rock-Star developers and a cult of the cooolest dev.... "Look pretty and code hard"... I can see that on a tee-shirt!

But whats the converse?  Retarding the competitors ability to move fast? .... Well... thats either removing their talent by hireing them away,  removing their ability to be productive (sabotage, industrial espionage, hacking) or in the extreeme case... remove their ability; full stop.  Have I gone too "Cyberpunk" for anyone?


The point I am making is that if the software patent mechanism (as flawed as it seems) was not availible as a forum for the heavyweights to punch it out... then where would all that power go?  The urge to beat each other would still be there... but it would be expressed in other mechanisms.  The marketing war is pretty unconstrained and realistically... does not differentiate the contentders.  They are still bound by a legal and social framework... so they can only exercise one strategy ("Move Faster").  There are very few specific product marketing campaigns (Except in politics) that have successfully used the other strategy ("Prevent the opposition moving fast")There have certainly been a few that dabbled in it... but nothing like the sledging that could go on if it was no-holds-barred.  Generally thats left to the tech reviewers....

So what channel would the endless bitter punchup move into? 

This is like looking at the history of the nation states over the past couple of centuries.  One gets an upper hand, so the others move in and sabotage, kidnap and murder their way around the advantage.  When there is a forum for overt conflict... they go at it hammer and tongs.... when there is not... covert conflict takes over.  At no point is there any lessening of the urge....

So perhaps we should be greatful for the software patent system.  Perhaps channelling their fury into the court room is much less evil than having all those resource channelled into crippling each other in less pleasant ways... like playing hunt the developer. 

You may now break out your best Keanu Reeves impression....




Thursday, September 13, 2012

Systematic Futility...

Picture this, a business unit is under new managment. (Internal Promotion), the new manager is reviewing the abysmal performance of one of the sections.  They decide to ask only the other senior people that they know, rather than any of the coal face people doing the work.

Since they have only recently been promoted and have up till now had regular lunch dates with these people... why are they expecting to suddenly gain new insight... by talking to the same people they have always talked to and continuing to ignore the same people who have the information.

Did I mention there is a culture of old sexist male academics involved?  Talk about endless fucking pointlessness.  This is the same business unit that has been dysfunctionally unable to get anything done right for the past few years.  Now that the VC's mate has finally been given the arse, he has been replaced with another specimin of dead wood from the same bad forest. 

This is the same business unit that last year conducted a survey about their performance... and then supressed the results. 

This is the same business unit that was audited by an external auditor and then ignored the vast majority of the report.

Its sad when the senior managment starts to look like a retirement home for aged and failed academics who are so out of touch with everything they just act as a retardant on the efficiency of the system.  Suppressing change, unable to foster communication, engaged in work avoidance behaviour and generally sucking up money and exhaling nothing but stale air.

I must congratulate the VC on his moves to flatten the system and remove a lot of the dead wood that was sitting around sucking up free lunches... but there are still holdout sections of the Uni that need a bright light shone up their dark recesses and a bit of objective rot removal.
My suspicion is that the VC is moving only when his hand is forced, since I suspect that he finds some use for these types.  Someone has to go and talk to the state and fed polies and suck up the external audits and various other bodies that the Uni has to interact with. But that does not make them functional parts of the system when they are at home. 

Still the VC has managed to fire the completely insane one, although it was his personal hire... so its right that he pulled the plug.

That's an anecdote that needs some telling. 

Hire a person ( who has history with at least one senior staff member. Bad history BTW ) who then proceeds to rapidly, stuningly and completely irritate, offend and flumox with her obvious stupidity a large number of the acadmic staff in the University.  Demonstrates a complete inability to manage a team, stay focused on anything, play the long game or anything involving budget constratings.  Speaks in a constant train of through fashion.... kinda hopes if she says enough shit, something may sound intelligent.  Has no ability to functionally answer a question.  Lacks the trust or faith of anyone around her and demonstrates incompetence with money, budgets, time and promises of a stunning degree.  Then proceeds to play games with the whole schools planning for the next year by stopping all hiring of casual staff for the next semester (until week three of the semester) blocks all resource allocation for every unit except on her persoanl sayso ( while having no fucking idea what the units are, how they are run, why they are being run..essentially tries to micromanage a system that currently takes about 60 or so administrators) generally tries to pull all authority for anything up to her level and prevents people doing the jobs they were hired to do, and have been doing for quite some time.... does this strike anyone as anything other than a FUCKUP? 

HOW THE FUCK DID THIS PERSON GET HIRED?  VC's personal selection... that's how.

Oh, and then she got a golden payout as she left the building.  Oh, and she had well documented history for doing the same shit in her last position... where she was also shit-canned.  Was any due-dilligence done on this fact? I leave this as an exercise for the reader.... (since I don't actually know)

Wonder what sort of reference she got?

The funniest bit was watching her online profile as she crowed about being hired.. got fired... then stripped all references to the University out of all her profiles. Completely whitewashed it. 

Yet another example of a functining researcher who should not have been asked to manage anything.

Thursday, September 6, 2012

Pedantic arguments...

http://www.economist.com/blogs/johnson/2012/07/language-and-computers

The above article has been sitting in my to-read pile for a little while.  I tend to superficially agree with the general sentiment about the topic that the author is arguing with.  (The comments make a better case about that particular issue) 

My particular take however is more about the fact that the author is fairly illiterate about the subtle issues of coding.  I think this is clear by the very basic nature of the quotes and comments that he uses to describe the nature of code.  It seems clear that he has not spent any time reading large bodies of code written by multiple authors. 

I have read large amounts of code, some of it by students still learning the art, so by working programmers and a little by various "masters".  The idea that there is only one way to express something in code is quite funny.  It demonstrates a complete lack of understanding of what a program is or does.

I find that more substantive programs ( a bit beyond the "Hello World" that the author quotes) are much closer to a dialog between the programmer and their user(s); be they man or machine.  There are an infinite number of ways to begin the conversation, deal with the twists and turns of the process and finally complete the exercise ( successfully or otherwise) 

The subtle issues with choice of architecture, how to structure modules or sections, choices of decomposition or the investment in comments within the code are all expressions of taste and style that have nothing to do with the fact that a computer is going to crunch the machine code.   They are individual expressions of the people who crafted the code, the constraints they worked within and the limitations of man, machine and language.  But most essentially, the communicated with audiences; the compiler, the machine, the frameworks, future maintenance programmers, their code reviewers, their future selves... they expressed everything from hope, optimism, frustration, clarity to insight, skill, mastery and obsessivness.

How can this be anything but prose?

Monday, August 27, 2012

Platform Churn...

http://channel9.msdn.com/Blogs/Vector/Platform-Hygiene

This is another post that captures (indirectly) some of the complexity of the platform choices that devs need to try to make.

I have been thinking about this a bit recently, that the life span of the platforms is shortening and the uncertainty is increasing.  If you assume there is some sort of fairly fixed start-up cost for a developer to get on board a new platform, and to master it, then the useful lifespan of a platform from one of the large enterprises looks pretty horrible. 

My sense is that its only the open platforms with big community buy in (C++, Node.js, Mono, OpenGL etc) , built over other open or flexible platforms (HTML, HTTP etc) that have any sense of longevity.

Corporate platforms that require large investments and have similarly large political overheads can be canned simply because the corp changed direction, or the politics shifted. The point being that it takes only a few people to effectively kill the platform and the collective investment by the community.  This has to be seen as a giant risk to anyone thinking of committing to one of these monolithic beasts.  (Is there a word to describe single ownership ... I keep thinking "single-point-of-failure", "fragile", but they don't encapsulate the concept cleanly)

While trying to describe the situation I started listing some of the life-span issues:

* Shorter life-span
* Higher Uncertainty
* Greater evolution through their lifespan
* Less open and clear communication
* Abrupt terminations

The lost flow on effects are:

* Documentation and book support
* Best practice and body-of-knowledge growth
* User Community and Ecosystem curation and growth
* Third party integration
* Third party extension
* In-depth security research and testing

The biggest issues that I see is the fatigue in the whole developer sphere.   Committing to a platform is a multi-year investment by a developer. To commit, build experience and knowledge and then to have the platform die, can be traumatic in terms of business, job, product, but also in terms of leaving a hole in your CV, wasting all the "personal" time and attention that you may have invested and robbing you of the cumulative benefit of growing into and with the platform.

I see the net effect of robbing the total developer community of energy and resources.  There are only so many developers coming on-stream every year and for major products to bloom and die rapidly tears great big holes in the community.  Think of the millions of man hours of labour that have been poured into something like Silverlight.  All that investment, mostly not carried by Microsoft, but by independent businesses, individuals, students, courseware developers, book publishers, etc. Its all now basically been made irrelevant and trashed.  Not because Silverlight has been officially executed.. but its looks like its on life support.  Who in their right mind would start a new career focusing on silverlight at the moment? 

The same problem occurs around all the fad languages.  Especially those with closed business models (Delphi?) or have a single flagship developer who "owns" the language and its future.

I think that having a couple of these platform die-offs on your CV would pretty much end you.  If you assume 2-4 year commitment for a platform, and that your earnings suck when you are starting up on a new platform and suck as the platform is dying... then you may only see 1 out of 4 years where you are getting paid the market rate. (Assuming you are fully employed through that period...its my game, so my assumptions. I'm making a point, not telling a story.) That's pretty horrible odds.

So whats the answer?  Avoid proprietary platforms?  Wait for one to mature?  Let others take the risk? Follow the crowd?  Ride the pretty Unicorn?

It's getting harder as the walled gardens keep expanding.  Facebook, Apple, Google, Microsoft all control massive portions of the market place.  Every single one of them is using platform control to try to progress their political agendas.  The problem is that they are all trying to out evolve each other at the moment and thus churning their ecosystems quite badly.  I would expect there to be increasing churn, simply because none are able to dominate the space and achieve stability.

In the worst case scenario, dev shops can simply rent talent in whatever platform is currently hot then dump the staff when the platform goes cold. Individual developers are the ones who have to carry the cost of re-tooling and learning a new platform before they are employable again.
In the best case scenario, the dev shop re-trains the staff on the new platform and carries or shares the cost of acquiring the new skill set and experience.  
In neither of these cases does the cost fall on the enterprise who is responsible for the platform or the killing/uncertainty around that platform.
The platform owner is only interested in launching the platform and getting as many people "on-board" with the platform to make it a commercial/marketing success (or whatever the political objective of the investment is) Once the platform reaches a self sustaining level ( it has acquired enough support from the user/dev community to achieve its goals and is recruiting enough new talent to replace any losses) then the enterprise essentially is along for the ride.  Theoretically the platform ( given no changes in the environment) would continue indefinitely.  However, we all know that these things live and die based on the environment. 

There is rationale for killing a platform.  However, there seems to be little effort spent in trying to transition a community to a replacement platform.  Microsoft seem to be most successful at providing pathways from one to another.  (I use the term very gently... as success in its truest sense would suggest something more ...successful) They do usually provide some pathway ( or at least a suggestion in a poorly linked blog post about where the devs can go and what they should do to themselves once they get there...

In the end, I have no particular insight.  The fact that there is platform churn at the moment is obvious.  The fact that most of the cost of this churn is born directly by individual developers is also obvious.  The fact that the link from where the cost is born to the where the decisions are made about the platforms life cycle is why the system is particularly unresponsive.

Can this be fixed by people whinging on blogs or forums when their favorite platform gets the axe?  I doubt it, because the developer community is taken for granted. Any company that creates a platform expects developers to eventually colonise it, simply because its a niche to be exploited.  If there is no value to be had... no one will come.

I would predict that in the future the rate of platform emergence will escalate, the rate of platform death will similarly escalate, simply because more and more people want to own a platform.  In the middle of the pond, the big platforms will continue to life longer, slower lives, but still they will evolve more quickly to compete with all the flash-in-the-pan competitors that emerge.  If one of the big platforms makes a miss-step or the environment changes quickly, we may see a spectacular flare-out ( see napster or myspace etc for an example) but on the whole, betting on the bigger platforms will be a more secure way to survive as a dev.









Wednesday, August 22, 2012

Change'd Management...

I went to a meeting with the campus IT steering committe a few days ago.  This is a regular quarterly gig where the IT stakeholders from the various sector partners get together and run through whats happening, where its up to, etc.  It also serves to be a forum where we can get together and look over each others fences to see whats happening.  The discussions  are generall technical and consist of topics like router loading, authentication and WLAN configuration issues.  Fun stuff like that. This has tended to attract people with an interest and role in IT.

Previously the meetings have been chaired by a person who had a good facilitory manner and showed interest in the subject matter. People talked at a level and it was collegial.  Meetings moved along but the material was treated well and the stakeholders had their say in their own time. 

We had a new chair person this time. 

He spent 10 minuets talking shit and making jokes about people being late, talked shit about expensive cars that he could afford but no one else on the panel will ever get paid enough to buy,  blew off most of the agenda, talked his way around listening to the operations report, asked if there were any questions and basically bolted.  You know a meeting has gone well when all the people around the table have that pursed mouth look; like they're pissed off but don't have anything specific to say. Just a little bit stunned.  Kind of like their assumptions have been roughly violated!

The fact that I had a report to present that didn't even get mentioned, that I had been working on for the past 3 months didn't actually bother me that much... but it was surreal.  It was like a script from "The IT Crowd". 

I felt a complete lack of respect for the people at the meeting, for the purpose of the meeting and the content matter.  I accept that the people who did get a chance to speak may not be the most dynamic talkers. But they still matter.  The take away impression is that nothing we do is worth mentioning, our time and preparation is of little consequence and why did we bother showing up?

I can respect the position that if there is nothing to say in a meeting... why have it?  But on the other hand... making sure no one else has a chance to say anything is different from there being nothing to say. 

I think we have a serious lack of cultural understanding at play. Is "IT" a culture...?

Friday, August 3, 2012

Trouble in the walled garden

http://www.marco.org/2012/07/26/mac-app-store-future

This article raises some interesting points.  Specifically about the effect of ... well "political instability" within the Apple App store.  This is equivilent to any other form of instability in an environment or niche.

The population within that environment cannot adapt to the environment because the "time to adapt" is longer than the environments "time between changes".  Effectivly the population will mostly "suck" at "exploiting" the opportunities in the environment in an optimal way.

Now..... what to do? What to do?  Do what?

Well if there is an exodus of both customers and sellers from a market place... the market place will either diminish or must recruit more of both.  Since the Apple App store has a constant stream of new customers ( purchasing new devices and being main-lined into the App store exerience) this is partially mitigated.  The other side of this is that there is a whole mass of App developers who are just waiting for the opportunity presented when a big name app exits the market place.  This mitigates the other part of the problem.

The only people who loose are the developers who exit the app store and their customers who follow.  They all go to tiny niche app stores ( developer web sites ..etc) which are more fagile and have a much higher level of risk.  Let me put it this way... would you bet on a small app developer being here in five years or Apple being here in five years? 

The problem with the position in the article above is that the developers think they are unique and have some irreplacable "stuff".  This, I would contend is ..."crap".  (Technical term...)

In the event that an App exits the market place simply because the developer is too arrogant to adapt to the changes in the market place... it will be about 0.01 seconds before someone else starts trying to replace them....even if they offer less functionality or do things differently... they will grow and follow what the customers need/want/crave/etc. 

No one will miss the apps and developers that have left to find there own destiny in the waste outside the walled garden.... simply because they have no way to control the "Unique-ness" they assume they possess.  It can be replaced with other "Unique-ness" of similarly ephemerial specialness. 

NO ONE CARES IF YOU TAKE YOUR TOYS AND LEAVE THE GAME. 

A few may follow... for a while, but there is no cost to the customers to return to the walled garden when they choose.  There is a huge cost to the developers to leave and then return.  Their position will be lost/diminished/destroyed. And no one will care....  There is no loyalty when the choice is between functionality or no functionality.  The customer will go where their pain is least... however, they also will not try every option to optimise their choice... they will simply stop with the first/nearest option that reduces their pain enough to be worth while.  Satisficing. 

Tuesday, July 10, 2012

Generation Screwed.. again.

Just found out that the concessional contribution cap for superanuation has been reduced for the >50's.  So all the baby boomers who have been stacking the cash away and getting a reduced tax rate are sitting pretty... but us poor sucks comming along behind get taxed at a higher rate.

Yet again the party is over before we get there...

Logically I can rationalise that this may have been an interim plan to try to encourage more boomers to actually save for their own retirement rather than landing on the pension... but as part of a pattern of favoring the generation above while we in effect pick up the tab.... it sucks the big one.

This is really just another little way for us to pay boomers to have a good life and then, only those who are wealthy enough to make voluntary contributions over $25000 per year.  Clearly people who need help.

Amazon's suckiness

Honestly, I should know better.

Why do I keep buying stuff on the internet?  Is it the unsatisfying allure of cheapness? Is it the myth of easy availibility? Is it the rank promise of access to otherwise unavailible stuff? 

Or was I just desperate?

I think about half the purchases I have made remotely have had some sort of unwanted aspect to them.  Scammy products, shitty service, crap delivery time, rip-offs and missing parts.  The other half have been fine.  Usual over the counter transactions from people who are honest, forthright and are trying to do a fair deal.   You know those little businesses, specialists in something or other that have found a niche on the internet and are just working it.

Then there is Amazon.  The 3 million pound something in the room.  Its not a business... its a blight.  Don't get me wrong, I have endless uses for Amazon.  Their catalog is fantastic.  Their ideas a brilliant, their marketing is top notch.  Their follow-through is funcking horrible.

I can only assume that they tend to service their customers in the US better, and as there is an Amazon.uk, their british customers get similar treatment.  But for some reason, being at the top of the world as we are out here.... makes it much harder to actually deliver a fucking product that on their lying, two faced fucking web page, with dynamically updated information and a massive back room of smart cockroaches ( I can only assume) they cannot actually figure out how to deliver that which they have promised.

If I give you an address and some money... and you have a product and a guy who carries shit from your place to other peoples places... it doesnt seem so hard to get A to B.  Especially if you do it hundreds of thousands of times a day.  You get good at it.

I can forgive the whole... "Oh suddenly its out of stock" routine when its a tiny mom and pop shop that has not heard of computers... but fuck me... Amazon is a computer.  They have supply chain managment down to a tee.  For them to promise to deliver something when they take the money.... then three fucking weeks later send me an email saying they are finally dispatching a couple of bits of the order..... really pisses me off.  I know that they knew... at the second my money left my account,... they knew that they could not deliver on their promise.  And they did not fess up.  So, I like a dickhead, have been left with the assumption that the package would arive any day. 

Even shonkey shit from Ebay coming from Hong Kong gets here in under a week. Bloody Amazon are just lying sacks of shit.

First rule of business... don't sell something you don't have.  It involves both gambling and lying.

This is fine when you have a contractual obligation with someone else to deliver that thing on a specific day... then you can sell based on that knowledge.... but to just not have shit... and not even have a plan for getting shit... and still selling it.... thats outright fucking lying.




Thursday, June 21, 2012

Economics with browsers

http://www.news.com.au/technology/kogan-wages-war-on-internet-explorer-users-taxed/story-e6frfro0-1226395298505

There should be more of this.  Pushback is the only way to maintain a boundary.  If someones choice costs you, push the cost back on them. 

The end of Tech Support

http://ifixit.org/2763/the-new-macbook-pro-unfixable-unhackable-untenable/

I have been whinging about the tech support business for a while now. So much that I finally heard myself say the same thing enough times for it to sink in.  Being in IT sucks.  Fixing computers is a dying art form.  There is less and less to fix.  I have not needed to turn on a multimeter in years. Usually I can fix a computer simply by swapping it with another computer more easily than I can repair something.  Its not even a case of swapping componente anymore. It's not that the parts are not availible (unless its a laptop...) but its just that they are consumer products.  No one wants or needs to care about whats inside their computer now.  There are still boxes being sold that are under-powered and under-spec for what they are sold to do; but thats a matter for comsumer law. It should not be "fixed" by an end consumer needing to "upgrade" their consumer product to do what it should have done in the first place.  This is a game for rev-heads and hard core geeks.  Everyone else should be able to buy a box, unpack it, plug it in and get on with their lives.  This is the nature of consumption.  Its about making all the choices at the point of sale rather than continually having to make choices and spend money through the life of a product.  That's called shity product design. 


Yes the geeks will lament the passing of the time when they again were vital to everyones lives.  Just like the old time geeks lamented the days when TV sets needed constant tweaking and secret knowledge of soldering irons to keep them going.  This is just the computer industry finally growing up and making products that do what they claim straight out of the box.

Now I can send my grandmother (not literally as she has passed away) out to buy a computer (iPad) and she does not have to make any choices that she does not have the capacity to make.  She knows she needs a computer to do some things... that should be enough.  Job done. 

The rest of the half-assed solutions where she needs to get a technician to try to talk her through a range of choices about monitors or RAM or hard drive specs or the trade off between dual core or higher clock speed are bullshit.  She does not have the background to make these choices and the technicians rarely have the capacity to frame the discussion in a meaningful way.  So its a bullshit exercise.  This is why "consumers" are voting with their wallets and buying all-in-one solutions that do not require some bullshit exercise where they are made to feel stupid.  Who would sign up for that if they are given a choice?  The thing to keep in mind is that most people do not give a fuck about computers, software, apps, phones, anything in the comm stack, operating systems, GUI widgets, open or closed platforms or any of the other bullshit that swirls around in the self indulgent geek-sphere.  It's all bullshit. 

And its dying out... again. 

This is a pattern people, look at photography, look at any consumer electronics, look at cars, look at toasters.  Anything that has to be accessible to "very" ordinary people has to be incredibly uncomplicated, with very simple decision points in the purchase chain and very simple ownership models.  It just has to work!  Mostly inspite of what the owners do to it. 

Reduce choice, reduce complexity, reduce flexibilty. Increase robustness, fault tollerance and deal with lack of precision from the users gracefully (or hide the effect all together). 

Think of all the bullshit "Design Scenarios" that you hear in these retrospective articles on famous device design....

(and I may be paraphrasing here) "....created it to fill that need where rich, young, hip, highly educated people with endless resources and time to appreciate the most beautiful things could fiddle with our delightful device and enrich their existance while reclining in their stark white apartment surrounded by shiny shit..."

Fuck that.  

Make a device work on a sheep station in the middle of a desert with illiterate staff who hate the device and are constantly trying to kill it to avoid work.  Make it work for a fisherman who is trying to feed his family while out killing wildlife in an ocean thats trying to kill him.  Make it work in a fucking coal mine with intermittant blackouts, toxic gas, heavy machinery and constant explosions. 

Go on. Design a fucking device that can operate in those conditions and make it work without a geek in sight. From opening the box.... otherwise fuck off. 

Geeks have had their day.... IT jobs are drying up.  All the easy stuff has been consolidated. Its only the hard bits that are still around.  Integration in small businesses. Custom hardware solutions for niche problems.  Dragging paper based systems or old legacy systems into this century.  Low margin work, with low skilled clients with poor business models.

The home computing environment is done.  Buy a box. Buy some apps. Go.  No Geek needed.



Wednesday, June 13, 2012

Support for XP and the .NET 4.0 -> 4.5 situation

I like the fact that blogger has a content warning at the front. It gives me the option to express my frustration.  Not that my level of frustration is the same as some others... but still; its mine.

http://social.msdn.microsoft.com/Forums/en/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2723735-make-net-4-5-work-on-any-os-that-supports-4-0

There shear level of political dickheadedness that has created this particular shit corner is just silly.  Implementing a policy to try to choak off enterprise use of XP artificially fast is just .... stupid.  It will not work.   But it will inflict a lot of pain on the people in the middle (IT and developers) who have to deal with  the situation.

Talk about a cluster fuck.  Who wins?   Microsoft are not going to force anyone to upgrade who was not already happy to upgrade.  The enterprises that did not want to upgrade ... will just stop patching the machines and support the platform as it exists.  The developers will be forced to run older systems without patches and they will not move to the shiny new tools that MS is inflicting on us. Less license fees again.  The fact that the shiny new tools are quite flawed... is another problem all together.

I have decided to try to distance myself from the MS stupidity.  I can really only move to pure Win32 for the GUI via wxWidgets and keep the rest of the codebase in pure C++.  Its going to be painful to excise all the WinForms... but its just not reasonable to move forward with that platform. It's dead.

Thankfully all my .NET codebases have low user counts.  Its still something I have to be aware of and plan for, as we are still in the process of upgrading to Win7.  (Fingers crossed it might be over this year some time...) I still need to upgrade all the labs...but have not been issued with licenses... so no idea when XP will actually exit my world. In the mean time... I just have to keep it all together.

Most of the small code bases should time out as their respective research projects end... so some of this problem will just go away.  Others will need to be ported or maintained on XP... fuck!  The actual number is quite small... and if I get lucky may turn out to be none.  But that still does not make the whole thing not my problem.... I have to keep it in my already over full head.  

And then I get back to all the VBA code I have floating around..... thankfully that generally just works... except for the fucking Mac ports.   There is no string of abuse long enough to express my frustration at the splintered fucking platforms that I have to work with. 

Constant string of fucking change requests... new systems to develop... students doing stupid shit and asking for the world.... I am tired and this is not something I need. 

Building a house on constantly shifting sand is a job for a fuckwit.  Toss in regular earthquakes and the whole thing goes from hard to just fucking pointless.  I need to simplify.... pure C++ + wxWidgets (Win32), some nice DirectX or OpenGL for big projects, VB.NET for the short term projects and VBA for all the office stuff that never dies.  Perl, python and Lua for recreational entertainment.  Not counting the web stuff and SQL for the DB hacking... Then there are all the embedded languages, EBasic, QuickBasic, scripting langauges in all the experimental packages. Some Matlab for spice... a little LabView every so often... Shit! I forgot about the Vista boxes and the Linux system in the Mocap lab.... Its enough to make me dust off some Java books.... *shudder*.  I wonder if the Mono project has full support for anything yet?

Damit.  It's just not simple enough.   One language to rule them all!  Is it too much to ask?



Monday, May 7, 2012

My personal gravity theory

Let me preface this by saying that its uninformed speculation having no pretence at reality... just not allowed to yell at the tv anymore.... oh and I have a headache.   

It's obvious that if gravity can deflect light, then gravity must have more energy than light.  Since light is a wave that sometimes acts like a particle, it would seem rational that gravity is a wave of such high frequency that it folds back on itself creating an attractor rather than a repulsor as energy is returned inward rather than being projected outward but still being able to interesect with other bodies to cause attraction.  It also suggests that gravity of a quantum particle interacts with the gravity waves of nearby particles and distorts them creating a greater gravity field than the sum of the parts.... since gravity can be distored by a spinning super conductor.... that means that light should also be effected, if they exist in the same set of dimensions. However it would be much more interesting if they existed in slightly different dimensions. But what if a sub atomic particle had some or more gravity units (call them gravitons if you must) ..... gotta wonder if they are all in phase.  Or is it a constant shaped field?   Or are we all just a bunch of different flavored constantly colapsing tiny tiny fields that are so fast they create a standing wave at a point in space time.... since the universe is cooling down, that means that each collapsing field looses a tiny bit of energy in some transformation.... totally makes sense in my head.... kind of like the way a giant soap bubble wobbles though all sorts of unstable shapes until it reaches stability as a sphere.  Think of the surface of the bubble as a multi-dimensional wave with some bits being in and others out at any point in time... some bits a pulling inward while others are being thrown outward and rebounding. Then think of all the tiny little bubbles intersecting and overlapping at the edges....  and since they are just energy, they bubbles distort each other and combine together to create a field effect greater than any single bubble, which must be a multiple or exponential relationship because of the massive size of a gravity field but still have an exponential falloff over distance. 

The other possibility is that the gravitational field of a sub atomic particle is not compressable.  So even through the particle is within a compact and compressed state, the field energy is squeezed out. And becomes part of an orbiting fields of waves that are constantly trying to return to their source while being deflected by each other.  This creates a constant field around the mass, of waves that interact and create interference patterns in each other (because they are the same frequency) and because they are constantly collapsing inward and exerting an outward pressure through the shape of their waveform, they create a self sustaining wave that is endlessly collapsing.

This would explain why, when you smash some atoms together in a super collider, there are no gravitons to detect.  You have simply interupted a standing wave in such a way that it cannot re-form fast enough to be self sustaining, However, if you look at the traces from a super collider, it looks like inward curling tracks that form a hyperbolic spiral, which suggests that the fragments are collapsing and rotating toward a local orign at an accellerating pace.  Where does the energy to accellerate come from? Why do the particles rotate inward rather than continuing on more or less linear paths away from the explosion? Is it simply a single disrupted wave fragmented into many smaller ones collapsing toward new stable states?

6th Sense... Scam Radar?

I have received too many scam emails.  Being attuned to scams and having read and disected hundreds, I am almost hyper-sensitive to them.  This has flowed over into my dealing with all sorts of other communication.

I have passed into the realm of the elete bullshit detectors.  Everything from poorly written advertorials, through to bias journalism, spun political monologues.  It may not help that I am raising small children who are inventing new ways to finess the truth every day.  

I think this has some very difficult results as I am so sensitve to social engineering attacks that conversations with peopel trying to get me to do something reasonable often trigger my scam detector.  I can barely carry a conversation with a salesperson in a shop without undermining all their bullshit. 

I have a feeling this makes me even more difficult to live with.... who knows.

Wednesday, March 28, 2012

Social research for the chronically ignorant

One of the drawbacks of being involved in so many research projects is just how much I learn about society and people around me.  There are days when I just want to scream with frustration when yet another student comes to me with another experiment or survey that demonstrates their complete ignorance of people, relationships, privacy, grammar, manners, cultural and ethnic practices, sexuality, responsibility, liability etc etc etc.

Without even getting into the horrors of pointless research design or poorly thought out data collection methodology... lets just focus on some simple demographics questions...

Students Design

1. Age
2. Date of Birth
3. Today's Date
4. Postcode
5. Gender
6. Ethnicity
7. Religion
8. Relationship/Marital status
  • Single,never married
  • Single,previously married
  • Defacto relationship
  • Married
9. Highest level of education completed
....

You get the idea. There is a certain rational for very very blunt questions... but its crap.  I have lost count of the number of surveys I have prepared (got to be in the range of 60+ by now) and I also usually have the pleasure of processing the data that comes off the back end.  My point is I have seen the reaction to blunt and poorly worded questions and its BAD.

These questions are AMBIGUOUS.  The data that is collected will be similarly AMBIGUOUS, making the research CRAP. 
These questions impose ASSUMPTIONS on the participant that they may neither feel comfortable answering truthfully or make the research (and the researcher) look foolish. Preventing the participant engaging with the research truthfully is simply BIASING the research and turning the collected data into a stew of half truths and garbage. 
These questions display IGNORANCE and BIAS on the part of the researcher.  

Firsly, ask the student why they are collecting the data.  (Usual answer is ... my supervisor said it was a good idea....WRONG!... go back to the start... try again.)  The right answer is, "I need to UNDERSTAND something about my sample population".  or "I want to be able to describe my sample population clearly"  or "I think this is an important variable and need to accuratly measure it so I can identify outliers and remove participants who are unsuitable from my study" or "I need to split my sample population on this variable"  or "I have ethical clearance to study a particular population and need to clearly identify suitable participants"... etc.  There needs to be a very clear rationale for asking ANY question.  Following on from that rationale is then a clear understanding of exactly what data that question needs to collect.  Is it specific CATEGORICAL data? Is it a gently worded open ended question?

If you're splitting the sample population on a clearly defined categorical boundary then the wording of your question needs to deal quite specifically with that boundary and clarify for the participant which group they fall into.  It also needs to ensure that it does not BIAS the participants to try to put themselves in the WRONG group.  There are various reasons why someone may choose to lie about some information.  The point is to make it easy for them to answer correctly/honestly/comfortably.

1. Age
Asking for the participants age is fairly pointless.  Help the participant provide you with clean, useful data by asking them for their age in years, or years and months or whatever degree of precision you are interested in.  Let them know if you would prefer it rounded up or down, if you want really unambiguous data. (

N.B peole usually round their age down....unless they are young and want to seem older.. so if your mention a boundary of 18 years... you will find some young people will try to ... ease themselves over the line...

2. Date of Birth
DO NOT ASK FOR PARTICIPANTS DATE OF BIRTH!
Just don't. This is sensitive information. There is a great deal of conditioning going on to stop people giving their date of birth to any online form.  So you will get lies and ommisions from literate participants and accurate information from technically naive participants.  But you have no way to tell the difference.  So its pointless and unreliable data. 
In the event that your survey contains any other identifying information, this turns your data set from anonymous to containing identifying data that you are required to store securely for 7 years.  This also makes your research project higher risk and should be reviewed by a full ethics review board. 


3. Todays Date
WTF?
If you are doing the research on paper... then have the courtesy to put the date in yourself.  If you are using an electronic system... it should time stamp the results automatically. 
Firstly, if you actually care about the date the research was conducted, why are you trusting the participant to get it right? Help them out. Only ask the participant for information you do not already have.

4. Postcode
Fair enough....  But which one?  What are you trying to understand by asking that question?  Remember a postcode is about location, but as people can and do move, its also implicitly a time dependant question.
Do you mean
"What is the postcode of the location you are filling in this research form now?"
"What is the postcode of your current residence? "
"What is the postcode of your home if you live away from home to study?"
"What is the postcode you have lived in for the majority of the previous year?"
"What is the postcode that you work in at your current job?" (What if they travel for work?)

"Postcode" depends on time and place.  What place do you mean and what time do you mean?

5. Gender
Oh my.... where do I start?

Having done surveys for Gay, Lesbian, Bisexual, Transgender and "Other" groups, I have some experience of just how complex this question actually is for some sections of the population to answer and then for the resercher to do something with the data.

There are many possible dimensions to the question..if we stick to asking about the simple expression of an old fashion gender stereotype,  not counting  sexuality or sexual preferences, reproduction capacity, nurture capacity, social role etc... then the question can be expanded to...

What gender cues do you choose to publicly express?
What gender do you choose to privatly express?
What gender does your body physically express?
What gender does your choromsomes express?
How strongly do you identify as or express the gender choice publicly?
Do you always express the same gender publicly?
Do you express the same gender cues to everyone?

The spectrum of answers include, but is not limited to:

None
Male
Female
Both
Hermaphorodite/Intersex (Physically expressing aspects of both)
Androgenous (Physcially expressing neither)
Transgender (Neither or both but not either specifically, ambiguous or electing to live as one or the other.  Various meanings... basically ambiguous)
Transexed (Assigned a gender at birth but choosing another later in life. May include social, hormonal and surgical alterations)

I have also seen scenarios where the participant answered honestly with something like this

"Male with my family, female in public and privatly with my partners I tend to play a dominant woman... until they get to know the real me".

So go and code that into a neat box... I dare you.

Here are some links to add even more detail
http://en.wikipedia.org/wiki/Gender#Gender_taxonomy
http://web.uvic.ca/~ahdevor/HowMany/HowMany.html

So the question gets back to what the student actually wants to know..... how precise the student wants the answer and how comfortable they want their participant to be answering the question.

6. Ethnicity
Seriously.... what fucking rock have you been living under for the other bit of your life?  Or series of rocks...
I have built surveys to run in a number of different countries and the answers to this question and the sensitivities surrounding it are "varied" to say the least.

Is the student asking about the participants genetic heritage? And if so, why? 
Is the student trying to understand the cultural context that the participant brings to the discussion?  If so then ask about that....
Is the student trying to collect nationanlities?
Are they asking about where the participant origionated from or their current legal status? 
Is the student just an uniformed idiot?  .... pretty obviously

In a country that is awash with migrants, immigrants, their children, other peoples children, stolen generations, the decendants of slaves, visitors, temorary residents, illegal immigrants, various long established cultural groups... you will get a very very very wide range of answers to this question.
In a country where there are very strong ethnic/cultural/national groups ( such as Malasia) asking such a question will probably only get you one of three answers (Malay, Chinese, Indian) there are a few others but this is the big three.  The problem is that these are social group "Identities" which tells you only as much as any stereotype can.... which is sweet fuck all.  Essentially, your doing "Bad Research"(tm)


7. Religion
.... ok... there is a clear patten of dumb ignorance here.... Without beating a dead horse, the best phrasing for this question I have seen is:

What religious or spirital group if any do you identify with?

However this question does not ask about "Practising" or "strength of beleif"... simply because measuring string is not what is going on... this is simply a bullshit question for trying to categories the participant group and make a nice table or graph in some really crap research report.  Even asking the question marks the researcher out as an idiot.  But I digress....


8. Relationship status
Talk about double barrel answers to a single barrel question...
Ok. The researcher is trying to figure out what the participants relationship is currently... and what it might have been before.  (But without clarifying time frames or any other contextual information)

The big problem I see is just how many descriptors are missing from the list.

My list of favorites goes something like this....

How would you describe your relationship status?
  • Single
  • Divorced
  • Widowed
  • Sole Parent
  • Shared Custody Parent
  • Abandoned
  • Grown Up
  • Independant
  • In a new relationship
  • In a Defacto relationship
  • In a Civil Union
  • In a Religious Marriage
  • In a Partnership
  • In a Committed Relationship
  • In an open Relationship
  • Getting Divorced
  • Seperated
  • OTHER.... 


9. Highest level of education completed

As we have all sorts of people showing up at University I have gotten into the habit of expecting a quite varied range of answers to this question.  I still meet mature age students who report only doing their sixth form or not really going to school at all.  I meet migrants and refugees who have had fragmentary schooling in one or more countries that just does not map to a simple list.

My current favorite list is:
  • Minimal formal education
  • Yr 10 (Or Equivalent)
  • Yr 12 (Or Equivalent)
  • Certificate/Diploma (less than 1 year of study) 
  • Apprenticeship/Trade Qualification/TAFE Diploma (More than 1 year of study) 
  • Undergraduate Degree
  • Post-graduate Qualification (Honors/Diploma/Associate Diploma)
  • Masters/Doctoral Course/PhD
  • Other

Again, all these answers are dependant on what the researcher is trying to do with the data they are trying to collect.  There are levels of precision that are useless for some purposes but never the less allow the participants to feel comfortable and happy to provide accurate answers, even when the researcher is going to homogenise the answers into some simplistic scale....

People factors..... gotta love 'em.


Thursday, March 22, 2012

Kübler-Ross model and environmental change

http://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model

I have been peripherally interested in this model but never followed up on it.  While the article and the origional research uses this model to explain how people deal with death and dying... I have been thinking about it in terms of "catastrophic change"  or "shocking change" in peoples lives.

I think this is just an extension of the idea.

But what about "catastrophic change" that is not sudden?  Consider situations like environmental change.  Drought is a recurrent event in Australia.  We have just come out of a decade of drought that effected huge regions very significantly.  The rate of suicide and depression and "coping mechanisms" has been reported on over the years.

My question would be... how do people deal with catastrophy when there is no "end".  Its just a slow roast.  Do they still go through a grieving process?  If you see your farm, herd, business, family ground down and finally destroyed... where do you start grieving?

While its fine to talk about the resiliance of people on the land and how hard this process makes them... it breaks more than it makes.

I guess terminal illness is similar to any enterprise (particularly dry land farming) in that you know its risky and at some point it all may fall part and end.  But is that the same as being caught in a drought and seeing everything die while you sit watching impotently?

Knowing that there is nothing you can do except walk off the farm and start again somewhere else... give everything to the bank, suck up your pride, collect the kids and dogs and start again....

On that note.... I wonder what the stages of grief are when its an even slower grind down... being in a relationship that is slowly failing.... hoping it might turn around... but not having any evidence to support that hope.... is that the denial phase?  What about being in a job with no future?  Knowing that there is no where to go except to quit and start again somewhere else.... walk away... abandon everything that you have invested in.... denial, anger, bargining, depression or acceptance? 

What about frustration, rage and self abuse?  Acting out, lying to yourself, putting on a brave face, desperation, thrashing, spinning your wheels.... has to be a few other stages. 

Must be time for yet another mid-life crisis.... but what do you do when you can't abaondon the problem and you are obliged to take it with you?  What do you do when you have to pick up the toxic element and try again, knowing that that one key seed remains and will bloom into another tree of failure.... simply because it cannot be dumped?  Do you give up?  Do you just sit and cry? Is this the human condition?  Are character flaws the things that hold us down or define us? Are they the things that we need to raise above  or is it simply a flaw in a particular circumstance?  Will it suddenly bloom into something useful and valuable in the right situation?  Maybe.... are we all just gamblers at heart?


Emergent behaviour in the cloud

http://www.technologyreview.com/blog/arxiv/27642/

This is an interesting article hypothesising possible disater in the cloud computing systems due to the same sorts of systemic interactions that are observable in other computer or biological systems.

The scenario they illustrate is fun and plausible.  However its also a little "simple".  Its simply two coupled osscilators. (or a double pendulm in the simplest terms) with effectivly an unlimited power input which creates a growth spiral that will only stop when it hits some limit in the system... either causing a crash or some other effect on the system function or the osscilation.

Does make me wonder how many of these emergent effects are actually already going on in the software I write.  There are always weird fragments of behaviour that can be observed... but are not focused on until they show overt negative effects (bugs).  Until then they are just ... weirdness.  Some of it is the interplay of frameworks and code that is outside my control or undocumented or simply to low in the stack to bother with.

Other bits are loops and event chains that have unexplored outcomes... these however I take responsibility for.  Code coverage and unit testing are mechanisms to try to tame these. However Unit testing is really looking at the end result rather than the process.  If something bounces around wildly under the bonet but still generates the correct response... a unit test is still happy.

I think in my head atleast, I still think of the computer as a deterministic system.... which is just wrong.  Even looking at a simple little GUI app its obvious that its an infinitly dynamic system.  Its closer to a set of springs and dampers than it is to a deterministic ratchet. 

While unit tests let us sample outcomes at the interfaces ( this is a good thing), it does tend to accept the fact that whats inside the interface box is .."unknown"... The question is what can we do to systematically peer into that dark space?

Endless logging calls? 
Create manual tracing stacks?
Use a mad monkey testing engine to generate input with some sort of code coverage system to watch the results and look for some rule violations?

There are lots of possibilities for detecting "weird" behaviour in dynamic systems.  Kind of like load tuning a web app but with a lot more variables.  At some point assumptions get made and may not be upheld under different circumstances. 

The complexity guys probably have some ideas but I would guess that even they do some level of decomposition and division simply to manage the exponential effect of multiple variables and their possible intereactions.  

I think the main issue is to reduce the complexity in the system.  Intruduce buffers and dampers to regulate the flow.  Prevent race conditions and resource contention, even when it places a ceiling on performance.  Implement static limits even when they are a bit arbitrary.  At least there is a limit in place that can be tuned if it get hit.

This reminds me of the issue with the oracle databases in a previous post.  They had hard limits that made sense in the context of stand alone servers, but when they interacted in a networked environment, the synchronising mechanism had both emergent properties as well as presenting a possible exploit for inducing behaviour (crashes).

The problem there was the tight coupling of the index numbers between the database instances.  By introducing loose coupling with a buffer structure that allowed the coupling to happen but did not kill the databases if it went rogue, the tightly coupled system becomes much less fragile.  Problems cannot automatically propogate through the network of databasea and kill them all.  Obviously there would need to be some watch put on the buffers and clear exception rules in place ( which are also probably able to be attacked if a flaw is found....) which then allow the whole dynamic system to be monitored.

I guess the bigges need is to be willing to allow one toxic database to fail without the failure propogating to others in the network. This is, I think the assumption that needs to be explicitly dealt with in the case of this cloud scenario.

The problem is that if one set of servers goes down and the load shifts unpredictably, then it could cause a cascading failure as more and more load gets shifted around and more things fail. These types of cascade events are only stopped by firewalls.  The concept is that a fire can burn on one side of the wall, but cannot cross the wall.  In server terms, that may mean that a server cannot accept more load than it has capacity to handle, no matter how much load is trying to be shifted onto it.

There also needs to be a plan for graceful failure.  Servers need to go down on their knees before they go down on their faces.  (While they are on their knees, they write the load out to disk and then die gracefully....)

Anyway... enough rambling.