Archive for the ‘open source’ Category

Maintenance Mode & SOFA Lite

Saturday, January 7th, 2023

SOFA Statistics is now in stable, maintenance mode. New releases are mainly for bug fixes.

If you have been having problems running SOFA on Ubuntu / Debian / Linux check out the new deb and archive downloads at

Alongside SOFA Statistics I have started SOFA Lite This is an almost complete re-write using some of the latest Python 3 language features and a new code architecture. It is called SOFA Lite because I am stripping out some features that were painful to maintain but were of limited value to most users.

One design goal for SOFA Lite is to make it super-easy to run analyses from Python scripts rather than just via the GUI.

Another goal is to significantly reduce the complexity of packaging SOFA Lite for different operating systems. For example, 90% of the pain of packaging SOFA Statistics has related to its image processing libraries, none of which are really needed now that user-friendly screen-shot software is so widely available. I would love to be able to release a version of SOFA (Lite) that works on the latest versions of the Mac OS (alongside Windows and Linux) and this looks like a good way of making that possible.

So onwards and upwards again 🙂

Call for community help on packaging SOFA for Mac

Saturday, May 25th, 2019

SOFA 1.5.1 has just been released but unfortunately only for Windows, Ubuntu, and other Linux distros. Mac users cannot install the latest version of SOFA and I suspect the package for SOFA 1.4.6 doesn’t work on modern Mac systems. So it is probably time to package SOFA 1.5.1 for contemporary Mac systems. Hence the call for community help.

I have managed to make a Windows package using pyinstaller and hopefully it will be relatively easy for a Mac developer with packaging skills (and already-installed software dependencies) to pick up the spec file and create a functional package for other Mac users. Obviously I would be willing to assist but without community help there won’t be a version of SOFA available for Mac.

Is this something you could help with – possibly in conjunction with a few other volunteers? I would be happy to add credits to the downloads page so people could recognise your input in making SOFA available on Mac. If interested contact me via

Great new SOFA teaching resource

Saturday, January 28th, 2017

Thanks to George Self there is a great new teaching resource available for SOFA users. See Here is George’s announcement repeated from the discussion group:

I teach an undergrad research methodology class and wrote a SOFA-based lab manual for that class that some of you may be interested in. You can find the manual and the data sets at

The manual has ten chapters:

  1. Introduction (data types, normal distribution, kurtosis, skew, null hypothesis, downloading/installing SOFA, recoding data)
  2. Central Measures (mean, median, mode)
  3. Data Dispersion (range, quartiles, standard deviation)
  4. Visualizing Dispersion (box charts)
  5. Frequency Tables (frequency tables, crosstabs, complex crosstabs)
  6. Visualizing Frequency (histogram, bar chart, clustered bar chart, pie chart, line graph)
  7. Correlation (pearson’s r, spearman’s rho, significance, scatter plots)
  8. Regression
  9. Hypothesis Testing: Nonparametric Statistics (SOFA Statistics Wizard, Kruskal-Wallis H, Wilcoxon Signed Ranks, Mann-Whitney U)
  10. Hypothesis Testing: Parametric Statistics (ANOVA, t-test-Independent, t-test-Paired)

There are also two appendices, the first is a data dictionary for each of the data sets used and the second covers the various report generating features of SOFA.

The lab manual covers all of the functions and features of SOFA, but in the context of a lab where those functions are practiced rather than just described. The manual also includes a lot of information about how the various statistical measures are used (for example, the difference between correlation and causation). No math knowledge beyond simple high school algebra is assumed on the part of the student and each of the labs includes a “deliverable” activity so instructors can use this as part of a class.

I’ve printed this manual under Creative Commons-BY-ShareAlike so please feel free to use this in any way you want. Of course, I’m also happy to receive comments that could help me improve this manual in the future.


Please give the resource a spin and provide George with any feedback that can improve/refine it. Once again, thanks George for making this available to the community 🙂

Using SOFA on multiple machines with synced config and data

Tuesday, April 26th, 2016

One of the nice things about open source software like SOFA Statistics is that you can freely install it on as many machines as you like without licensing issues, complex validation etc. But how do you keep your content in sync across all the different devices? One approach is to keep the user sofastats folder in a synced drive.

Version 1.4.4 good for Mac Users

Monday, May 11th, 2015

Mac users can finally export output in PDF format including individual charts and report tables. And depending on the version of OS X Mac users will also be able to export as PNG images. Ensuring image exporting works across multiple versions of OS X is an ongoing project of work which users can help with if interested.



Users needing to produce monochrome output for publication will like the addition of a new monochrome theme.


All New Features in 1.4.4:

  • Mac users can export output in PDF format (and PNG depending on version of OS X).
  • Added new monochrome theme.
  • Chi Square proportions output much easier to interpret successfully.
  • The name of the grouping variable is now displayed when running comparisons of groups e.g. Country if comparing Italy and Germany.
  • Exporting to spreadsheet detects if too many fields for xls output and informs user that only csv will be generated. Also truncates table name so worksheet name not too long.
  • Import dialog only displays file types suitable for importing.
  • Added message to let user know spreadsheet creation being skipped if no report tables to export.
  • More user help on need for raw data (not pre-summarised) and long-format vs wide-format data as appropriate.
  • Code reorganisation to make it possible for SOFA to be called in GUI form by external code GUI code.
  • Scripts are now easier to use for standalone purposes.
  • Added note about treatment of datetime data as categorical by SOFA for purposes of statistical tests.
  • When exporting to spreadsheet and csv changes reserved sofa_id field name to was_sofa_id so it is OK to reimport after changes.
  • More informative for larger range of potential problem e.g. database engine not functioning.

Bug Fixes:

  • Fix bug resulting in Pearson’s r being displayed instead of Spearman’s rho.
  • Fixed bug on some systems when saving a worksheet with spaces in name.
  • Prevented numerous bugs related to quoting table names, fully qualified file names etc.
  • Fixed bug with misuse of escape_pre_write on python code rather than normal content.
  • Skew, and normality test now cope with the nan issue better e.g. sqrt of a negative number. Just says unable to calculate instead of displaying nan (not a number). skewtest function now copes with negative number as input to square root.
  • Fixed bug when importing NaN text – now treated as a missing value in a numeric field.
  • Removed bug which sometimes prevented Mac users from being able to successfully change the report name.
  • Stopped making export folder if no output to export into it.

SOFA Shows Support For Linux

Thursday, April 10th, 2014

SOFA works on Windows, Mac, and Linux. But Linux is especially important for the project because SOFA is developed on Ubuntu. So it made sense to support the Linux ecosystem by signing up with the Open Invention Network. In an ideal world, it wouldn’t be necessary to have anything to do with software patents. For various reasons, they’re a bad idea and function more to inhibit innovation than encourage investment in software research and development. But the Open Invention Network plays a protective function in a world where people who create and actually make things can be preyed upon by parasites who have been granted monopolies on ideas – the so-called patent trolls.

The group was created to defend Linux from patent trolls and other attacks from patent holders. It tries to do this with its own patents which are then available royalty-free to any company, institution or individual that agrees not to assert its patents against Linux. While it hasn’t been done, these patents could also, in theory, be used by the OIN, or an OIN member, against a hostile company in a patent war.

Google joins Open Invention Network patent commons as a full member

Anyway, a range of companies and projects large and small (over 800 at present and growing) have signed up for the initiative including Google, Dropbox, IBM, Canonical, Mozilla, Twitter, Puppet Labs, Valve Software, Alfresco, NEC, Blender, OpenShot, Novell, Inkscape, Philips, Red Hat, CentOS, GNOME, Wikimedia, MariaDB Foundation, Rackspace, Moodle, Openstack, Slackware, Tor, and Sony. You get the idea.

SOFA exports high-resolution results and more

Sunday, February 9th, 2014

SOFA users can now export their output results as high-resolution images, PDFs, and spreadsheets ** without requiring additional plug-ins.

Easy high-quality exporting

It has never been easier to produce high-quality output ready to include in presentations, papers for publication etc.

High resolution output

It will also be possible to export table data. If there is a specialised analysis you can’t do in SOFA it will be much easier to export the data and import it into another stats package for that part of the process.

Export to spreadsheet from data

And the ability to backup your SOFA data and settings is built in.

Backup data and settings

So 1.4.2 is quite a major step forwards for the majority of users. I really hope you like it and spread the word.

** Doesn’t work for Macs currently – very sorry :-(. Any Mac users with Python experience are encouraged to contact the project – there are several ways you might be able to help SOFA resolve this problem. And get a little famous ;-).

CUBRID donation helps SOFA project

Tuesday, November 20th, 2012


More good news for the SOFA Statistics project – CUBRID recently donated $300 to SOFA Statistics. CUBRID is “a comprehensive open source relational database management system highly optimized for Web Applications” and SOFA recently added a plug-in to connect to CUBRID databases.

It was also great to see the support that CUBRID gave to a range of other projects. One of the interesting things was the range of countries represented: New Zealand (SOFA Statistics), Switzerland, South Korea, Kenya, Russia, Australia, Denmark, Romania, China, Spain, Germany, Indonesia, the Netherlands, and the USA. Truly a global effort.

So on behalf of the SOFA project, thanks 🙂

SOFA Wins People’s Choice Award

Friday, November 9th, 2012

Great news! SOFA Statistics won the 2012 People’s Choice Award in the NZ Open Source Awards. Thanks to everyone who voted in support.

NZOSA Trophy

In addition to the trophy and framed certificate I was lucky to get a nice new Android tablet from Zareason ( Busy playing with that at the moment.

And SOFA was also a finalist for the Best Open Source Project award.

NZOSA Awards

So it was a great awards ceremony for the project.

Awards Ceremony Speech

Video of Open Source People’s Choice Award (Presented by ZaReason)

Video of finalists for Open Source Software Project (SOFA one of 3 finalists)

FLOSS for Science Interview

Friday, October 12th, 2012

I was lucky enough to get interviewed by FLOSS for Science. Check it out 🙂

FLOSS for Science Interview