09 March 2016

Getting WikidPad running on Mac OS-X El Capitan

WikidPad, the excellent personal wiki tool and my knowledge-base of choice hasn't been working on my mac ever since my fresh install of El-Capitan, some time ago. There was some issue with the package installer for wxPython not running on El-Capitan, and just too much real work demanding my attention ... 

So I made do with the version on my Ubuntu desktop, and by accessing the sync'd plain text wiki files directly from my text editor - Sublime Text - on my mac. Good enough to survive with - but just barely so.

Today I decided that the time had come to end the pain, and so here is a brief log of the fix - to help anyone else that needs this, including quite possibly my future-self.


To start off with I chose to use an older version 2.8 of wxPython, because of numerous reports I'd seen on the WikidPad forums of errors while running under wxPython3
And as always, I use the latest release of Wikidpad - in this case version 2.3beta13_01.

- I used wxPython2.8-osx-unicode-

2) Change security on your mac to installs from all developers. You get a weird message saying that the package doesn't exist if you don't. 

3) The wxPython installer package now runs a little further before failing with another weird error to the same effect: 
The Installer could not install the software because there was no software found to install.

This apparently happens because wxPython is using a legacy script, and the bundled installers were deprecated and are (as of El Capitan release) unsupported. 
The solution was found on the following stack-overflow page: http://stackoverflow.com/questions/34402303/install-wxpython-in-osx-10-11

I'll repeat the instructions here. Use the name of your wxPython file in place of wxPython-ABC below (for the file we chose above replace wxPython-ABC with wxPython2.8-osx-unicode-

3.0) Let's assume that you have already mounted the dmg and you have moved the pkg folder to a working folder ~/repack_wxpython.
cd ~/repack_wxpython
cp -r /Volumes/wxPython/wxPython-ABC.pkg .
3.1) Use the pax utility to extract the payload file (pax.gz) from Contents/Resources to a folder that will become the root of your new package.
mkdir pkg_root
cd pkg_root
pax -f ../wxPython-ABC.pkg/Contents/Resources/wxPython-ABC.pax.gz -z -r
cd ..
3.2) Rename the bundle's preflight/postflight scripts, to preinstall/postinstall scripts, as required for flat packages, in a scripts folder.
mkdir scripts
cp wxPython-ABC.pkg/Contents/Resources/preflight scripts/preinstall
cp wxPython-ABC.pkg/Contents/Resources/postflight scripts/postinstall
3.3) Create the flat package using the pkgbuild tool:
pkgbuild --root ./pkg_root --scripts ./scripts --identifier com.wxwidgets.wxpython wxPython-ABC-output.pkg

4) Once that is complete, install wxPython from the new output package. If you use the version I did, that will be wxPython2.8-osx-unicode-universal-py2.7-output.pkg. Finally, wxPython should install!
5) Now, download WikidPad source from http://wikidpad.sourceforge.net/. The direct link for the version I used is http://downloads.sourceforge.net/wikidpad/WikidPad-2.3beta13_01-src.zip

6) Run WikidPad from source:
cd to directory where you unzipped the source - in my case:
cd ~/apps/wikidpad/WikidPad23 
then launch WikidPad with the following:
arch -i386 python2.7 WikidPad.py 

7) At this stage I got a python error from wxPython:
File "/usr/local/lib/wxPython-unicode-", line 3917, in Bind
    assert callable(handler)

8) Instead of tracking this down properly, I used a temporary fix by commenting out the assert: 
- open "/usr/local/lib/wxPython-unicode-", line 3917
- comment out line 3917
  assert callable(handler) 

9) Wikidpad opens and runs! .. but will only work on wikis using the Gadfly db - No SQLite wikis run. I saw the following error when trying to open my wiki:
ERROR: required data handler "original_sqlite" unknown to WikidPad

10) To fix this, I had to use homebrew to install sqlite3 with universal support:
brew install sqlite3 --universal

11) Then soft link the sqlite3 dynamic library into the WikidPad source folder
cd ~/apps/wikidpad/WikidPad23/
sudo ln -s /usr/lib/libsqlite3.dylib libsqlite3.0.dylib

12) Try running again from source ....
cd ~/apps/wikidpad/WikidPad23
arch -i386 python2.7 WikidPad.py

... and WikidPad should launch fine now.

20 November 2015

so called modern democracy

Part of the problem with current democracies is inherited. As all systems adapt and evolve they are often left burdened with artifacts left over from the systems they replace, long after these artifacts become unnecessary or irrelevant. Human systems are not immune. We  see this looking back through history and there is no reason to believe that we’ve somehow broken free from this effect today.

The public’s relation to our modern leaders, and the space that we create and allow for leadership, seems to me to be a good example of this. In these terms, so called modern democracies aren’t too removed from the royal courts that they evolved from.

We now have groups selected not by their birthright (so much), but by one or another system of voting, to make important decisions on behalf of the public. Yet apart from the method of selection, the new formation carries forward much from the older system.

Modern democratic representatives/leaders still have esteem, power and privilege heaped on them, as well as plenty of material benefit - similar to all that the lords and ladies of royal courts enjoyed. They still treated with what must be palpable deference, still honoured, pampered and fawned over - pretty much still treated like royalty - ripe fodder for all manner of narcissistic disorder.

Then, as I imagine in those royal courts that precede them, they are surrounded by others with similar status in spaces where maneuverings and machinations are encouraged and rewarded, and given closed doors behind which to negotiate and trade for favour and power.

And despite all this we expect them once installed to such office, to behave differently - better and more responsible than their 'ancestors'. They are installed in surroundings of virtual royalty; surrounded by the pageantry and intrigue of royal courts, and we are all still terribly surprised when they behave, sooner or later, with the same self interest and careless disregard for the public as the lords and kings of old.

29 August 2015

our tools are broken

Regular Reminder - Our tools Are Broken: social networking tools and other information infrastructure that are not publicly owned (and by that I mean licensed under the General Public License or Copylefted -see http://en.wikipedia.org/wiki/Copyleft) are fundamentally broken. Because anything less than public ownership severely limits the extent to which we can use, fix, experiment, and grow these into useful universal assets .. This is especially true in the long term.

The list of our broken tools include Facebook, Google search, Twitter, and the operating systems Windows, Mac-OSX, IOS, and bits of Android. Linux is completely ours. Most of Android and the software that serves up and browses the world wide web is also properly public property.

Distributed/Federated social software that could easily replace Facebook and Twitter already exists (see Diaspora and Identica). Publicly owned search engines won't have to start from scratch either.

Its just going to take us some time to realise that all the complaints that we have about our social software - about the abuses of power that extend from privacy violations to the manipulation of search results and manipulation of our social signalling - all of these cannot be fixed until we switch to Free (as in speech) Software.

02 August 2015

infopolitics teaser

Techno-optimism and its bashing aside, there are two things that I'd like to repeat:
  • We will continue to be bad at predicting the forms and shapes civilisation will take as it evolves.
  • And the more information rich a civilisation becomes, the less and less tolerant it will be of the self parasitism that plagues it.

01 August 2015

fork governance

Time to begin hacking on top of -and away from - these current primitive democracies. The governance systems in use globally carry way too many design features common to the royal courts they emerged/evolved from (strong hierarchical design, centralised opaque authority, personality based leadership, etc.).

[Distributed governance models. Decentralised technologies that might be used to underpin new forms of collective cooperation and decision-making.]

"I use the term “governance by design” to describe the process of online communities increasingly relying on technology in order to organize themselves through novel governance models (designed by the community and for the community), whose rules are embedded directly into the underlying technology of the platforms they use to operate"

http://commonstransition.org/commons-centric-law-and-governance-with-primavera-de-filippi/ (As part of a series on the 100 Women Who Are Co-Creating the P2P Society, Rachel O’Dwyer interviews Primavera De Filippi)

16 July 2015

last one turn the lights out

my mother's mother's mother's ....185 millionth mother was a fish.
A good watch if you're trying to understand why there never was a first human. or chicken. or egg...
Speaking evolution is an old post about where saying mother's mother's mother for a 1000 years will get you.

Here's some comments from this post on facebook that I think are worth logging:

22 March 2015

time to grow up

Synthetic biology and nanotech are just some of the first technologies that will make catastrophic destructive ability available to more that just the very powerful.

So the survival path for our species becomes more than just restraining the powerful from causing catastrophic destruction. It becomes eliminating the conditions that cause pathological behaviour for the rest of 'us' too.

And I think this means eliminating injustice in total - as well as the more visible pathological behaviours from the powerful.

So our best hope of surviving, once our tech begins delivering immense destructive power to ever smaller and smaller groups, will be a world that ensures a thriving and well adjusted population as a whole. One with no injustice and poverty,  the best education for all, and a global population that is productively engaged.

Luckily, I think that there is nothing in our nature or the nature of the world we live in, that rules out even such an optimistic vision. And as for how we start building toward it, like with all change in complex systems, a good idea would be robust experimentation with little constraint.

So bring on as much experimentation along the lines of truly sustainable and just societies as possible...

24 February 2015

bob was right?

IFRs and some of the other newer nuclear fission technologies are probably safer now, taken as a whole, than continuing to build fossil fuel burning power stations.

Is that right? ...
The danger/safety of things at scale are shifty notions - using plastic packaging might prove orders of magnitude more harmful to global ecosystems than the worst possible nuclear power plant disaster.

Not so sure about this ... but I'm feeling that this might be another example of how bad we are at guessing about threat; like when we drive our children to school out of concern for their safety, but expose them to much more probable danger associated with the reduced exercise.