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.

Thursday, January 31, 2013

E-Prime 2 Context Logging Bug

Just found another weird issue with E-Prime 2.

The help file (and logic dictates) that if you call c.Log,  the context object should log the variables in that Level to the data file.

However, not only have I figured out how to not get that to work... I have figured out how to get a perfectly good TextDisplay object to not log keystrokes as it should.

The interesting thing is that the information is being correctly logged to the E-Recovery text file that E-prime generates but is not being converted to the .edat2 file.  I do not yet understand why.


Ok, the situation is this; I have in the SessionProc set up a loop using a couple of in-line script objects and a Label object to loop through some movie files and capture responses to them.  A bit hackish.

I have run the E-Recovery file through E-Recover and it gave me a hint that a "Complete Record" is surrounded by a "logframe start" and a "logframe end" tags in the text file.  Makes sense.

My problem is that there are 20-odd logframe start and logframe end tag pairs and it only seems to convert the first one.


Edit:

Ok, as usual there are a couple of "undocumented" features that you need to do to get this working.

You need to call the c.PushNewFrame before your objects and c.PopFrame after the objects have run to get the correct logging levels to appear and be processed by E-Recover.

For instance


c.PushNewFrame

'manually manipulate the objects using script files

c.Log
c.PopFrame

'Loop until exit


Easy once you know the solution.



Saturday, January 26, 2013

Nokia Lumina 610 will not connect to WiFi Network

I had a problem trying to connect a Nokia Lumina 610 to a home WiFi network.  It would intermittently see the network.. but sometimes not.  I could enter the details in the advanced mode, but it would fail to find the network.

After fiddling for a while, I set the wireless router back to broadcast on channel 1 ( Extension channel 5) and the Lumina picked it up straight away and connected without any problem.  (Previously I had the router on channel 13 with Extension channel 9.  The router type is a Belkin F5D8236-4 v2 with firmware version 2.01.06.

Hope this helps some other people.

Friday, January 25, 2013

E-Prime 2 RESP hidden characters. Bug or Gotcha?

I have just wasted some time tracking down a weird bug/feature/gotcha in E-Prime 2.

For example the code below is trying to detect a press of the space bar.

Debug.Print "Response is " & GetResponse.RESP

if GetResponse.RESP = "SPACE" then
    Debug.Print "Space bar pressed"
else

    Debug.Print "Something else pressed"
End if


In the debug window you can see:

Response is SPACE
Something else pressed

Why is this so? 

Because the Debug output window HIDES SOME CHARACTERS OF THE OUTPUT. 

The actual RESP text is "{SPACE}", but the Debug window silently cleans it up to "SPACE" which means that any text comparison you do based on the information you have from the Debug window will be wrong.

If you want to test this try:

Debug.Print "Length of RESP is " & Len(GetResponse.RESP)
Debug.Print "Response is " & GetResponse.RESP

You will see that the length of the string is two characters longer than the string that is output. I.e

Length of RESP is 7
Response is SPACE

Is this a bug, feature or gotcha? You decide.  Really depends how much of your valuable time you waste trying to figure it out.

How I have missed being able to set breakpoints or inspect the stack or any basic debugging tools in Eprime....

Saturday, January 19, 2013

Trolling for Web Comics

I have not spent much time reading web comics.... I think its to do with the format.  The little bite size snippit of sarcasm or philosophy or acerbic wit just does not satisfy.... I have plowed my way through xkcd a while back and Dinosaur Comic can hold my interest for more than one panel... but I just have not found any that were interesting enough to make the effort to go back to.... until.... Girl Genius.

I think the difference is that this is a long format comic. A serial, if you will.

Having plowed my way through the whole 13 volumes... I have to say it was a tasty treat.  I like the writing, the artwork, the colouring and the pace.  However, I have come to feel that the "serial" nature of releasing small chunks which must end on a hook, is irritating.  It forces the hand of the writer and interupts the flow of the reader in strange ways.  I also find that there is a little too much skipping between the plot threads.  This works as a hooking device but breaks up the narrative flow into fragments. 

I guess that I like a more cohesive long form narrative.  Something that is written start to finish and has nothing to break the flow.  I want to be taken on a journey and not constantly interupted. 


A couple of other noteworthy works are:

Dresden Codak
Wondermark

The following two are long form works. 
Rice Boy
The Meek

Thats all I have found that are interesting so far...

Wednesday, November 28, 2012

Rules for Art Nouveau


I like figuring out algorithmic rules for particular genre's of art and architecture. 

Art Nouveau - This was a style that arose as a reaction to Academic Art.  If you wish to understand why Art Nouveau seems to break so many rules (while still providing evidence of being fully aware of them) have a look at how rigorously the rules were emphasised in Academic Art.  Think of Academic Art as a "Street Art" style that arose from Academy trained artists wanting to express themselves differently but not being able to forget all the rules they had already learned.

So  my "rules" for Art Nouveau are:

2.5 dimensions.  This means that the image is composed of discreet "layers" which do not obey the same coherent rules of persective or foreshortening.  Each Layer can include these elements but they are not "simulating" depth.  Z order is essential but needs to be "played" with to create a wholeistic composition.

Establish borders and framing then break it.  One of the essential elements in this style is the breaking of the frame.  This creates the entertaining "flow" between the layers and binds the whole image together.

Use frames and borders to "punch through" and combine layers.  This technique also creates links betwen the layers and creates relationships.  This compensates for the lack of relationships that would otherwise be created by the rules of depth and helps with the Mise-en-scene of the content elements.

Contrast between geometric repetition and organic repetition.  These should be similar scale to help re-inforce the juxtaposition of the two different styles.  For example the conrtast between a repeating geomtric motif and a group of  flowers or butterflies.

Similarity rather than symetry.  Elements are often "similar" in that they occupy symetrical areas on the composition but are not "mirror" images.  This plays with the concept of geomtric symetry, showing that the artist is aware of the rules but has chosen to be "playful" with them.

Dynamic lines work and outlines. The hand inked style of the line work and the heavy outline styles are characteristic of the materials and the media that the early work was build with.  This has come to be part of the "signature" of the graphic design work.  (Obviously not a factor in the Architectural works)

Curves.  The convention of never quite having a straight line is one of those rule-of-thumb that the artists "play" with.  I think its the contrast between the curves and the lines that make for the playful nature while still being "constrained".  The curves tend to be flowing lines and "spline" type curves rather than crazy scribble type lines.  They are very dynamic and directed.

Content.  The style draws in and often contrasts geomtric motifs and styalised nature. Figures and objects are often posed together with the figures being displayed in "static" poses with dynamic elements such as hair and drapes shown blowing styalistically in the breeze.

Shading and textures.  The use of flat colour to create obviously simple shading and "hand painted" style shading contrasts with true shaded gradients creates an interesting juxtaposition of textures.  This can be a subtle effect.  Generally each layer has its own "style" of shading which is consistent through the layer.  Soft washes and out of focus forms are often layered in the background.



Thursday, November 22, 2012

Neural Plasticity and Brain Training Resources collection

http://en.wikipedia.org/wiki/Neuroplasticity
http://www.normandoidge.com/normandoidge.com/MAIN.html


One case study that I have not seen clearly connected to the topic of Neural Plasticity is that of the London Cab drivers. 

London Cabbies undergo a legendary training that involves memorising huge amounts of map data and street names.  I remember someone in an interview on tv once saying that someone had used MRI to show that there were changes in the drivers brains after this training process was complete.  Tada!  NP at work.

Brain Fitness (Limit to systems that have some lonitudinal data collection and analysis function, not just games that exercise the brain)
http://www.brainmetrix.com/
http://www.lumosity.com
http://www.braintraining101.com/
http://www.cognifit.com
http://www.actibrain.com/
http://www.neuronation.com/
http://www.positscience.com/
http://www.happy-neuron.com/
http://www.fitbrains.com/
http://www.brainarena.com/
http://www.brainbashers.com/braintraining.asp

Clinical ???
http://www.scientificbraintrainingpro.com/
http://advancedbrain.com/brainbuilder/brainbuilder.html
http://www.braindepartment.com/pages/for-organisations

Pro
http://www.abc.net.au/health/talkinghealth/factbuster/stories/2012/09/25/3597591.htm
http://www.sharpbrains.com/executive-summary/

Con
http://www.abc.net.au/news/2010-04-21/uk-research-casts-doubt-on-brain-training/404392
http://www.med.unsw.edu.au/psychweb.nsf/resources/Consumer+Information+Sheet+-+Brain+Training.pdf/$file/Consumer+Information+Sheet+-+Brain+Training.pdf
http://blogs.scientificamerican.com/talking-back/2012/09/25/best-evidence-for-brain-training-falls-short/
http://www.smartplanet.com/blog/thinking-tech/q-a-new-evidence-shows-brain-training-games-dont-work/11758

Catholic Schools Trial of the Arrowsmith Program
http://www.theaustralian.com.au/national-affairs/education/brain-training-to-assist-students/story-fn59nlz9-1226484954506
http://theconversation.edu.au/brain-training-or-learning-as-we-like-to-call-it-9951

Other Programs
http://www.braingym.org/
http://www.dore.co.uk/
http://www.movetolearn.com.au/


http://www.braintrain.com/
http://www.learningrx.com/brain-training.htm

 News Site
http://www.sharpbrains.com/index.php

Forums
https://groups.google.com/forum/?fromgroups#!forum/brain-training