salmoni is currently certified at Master level.

Name: Alan James Salmoni
Member since: 2004-12-14 09:38:36
Last Login: 2014-06-20 21:08:06

FOAF RDF Share This

Homepage: http://www.salstat.com

Notes:

I am a freelance user experience researcher and designer living in the United Kingdom. I like open source and free software so much that I released my own stuff. My programs are SalStat, a Python and wxPython based application for statistical analysis, and TrackBrowser, a web browser designed to record user behaviour. I built the latter for my professional work.

My PhD is in human-computer interaction from Cardiff University (accepted 2004) and I've had a few years professional experience in the field of interaction design and user experience since.

LinkedIn page for salmoni

Currently working for my own company Thought Into Design Ltd and Roistr, the online semantic relevance engine.

Projects

Articles Posted by salmoni

Recent blog entries by salmoni

Syndication: RSS 2.0
20 Jun 2014 (updated 20 Jun 2014 at 21:08 UTC) »

Salstat work is going reasonably well. With my current day job, I have a long commute with about 2 hours 40 minutes on a train. I use this time to work on the various aspects of Salstat.

The latest work was getting it running on Linux. I originally developed the Python version on a Linux machine, way back in the early 2000s. The versions I've released since 2013, however, required wxPython 2.9+ which isn't in any of the Ubuntu or Debian repos – 2.8 is the absolute latest but this doesn't feature the html2 component. This (depending upon platform) embeds WebKit (OSX and Linux) or Trident (for Windows) into wxPython.

This means that wxPython can implement a HTML instance that can use modern HTML goodies such as CSS, JQuery, Bootstrap, HighCharts, etc. This is what the output for Salstat is contained in.

So Salstat needs wxPython 2.9 or later but instructions on compiling, building and installing wxPython 3.0.0.0 worked first time on Linux Mint (though I had to 'sudo ldconfig' to prevent import errors).

And Salstat now runs on Linux again after 10 years of waiting. I'm well-chuffed because I felt guilty that it only ran on Windows and OSX.

Althought wxPython 3+ is not in the repos yet (though it might be somewhere!), at least it is possible now to get the wxPython 3 goodness which is a definite step-up from 2.8.

I've also been working on a new website (much needed – the old one is very early 2000s) but getting all the content is taking time. See http://test.salstat.com to see it in operation.

Salstat now does basic box plots. The chart defaults to minimum, 1st quartile, median, 3rd quartile, and maximum.
Salstat today loaded a CSV file with over 2.5 million rows. Excel does a sniff over 1 million so I'm winning against Microsoft there, at least for now.

Still working on Salstat from time to time. Latest work involves charting and importing from spreadsheets using xlrd (for Excel files) and ezodf (for Libre Office Calc files). Both libraries had similar interfaces so I cobbled together a lot of common code for both rather than having 2 separate routines.

I've also coded a CSV importer. Python's CSV file only seems to allow a single delimiter but my users sometimes need to handle multiple ones (particularly with files composed of several files from different sources). I wrote my own CSV parser than handles multiple delimiters and key characters within quotes too. The core routine is in here as a Gist (heavily commented too for when I have to trudge my lonely way back to the code to change it). It's not the fastest importer but it does the job accurately with some of the gnarly test data I threw at it.

Salstat code at GitHub

In latest developments, Salstat now displays results nicely, the clipboard functions work well, charts are coming along and bugs have been squashed.

Output display

The full-featured HTML display means that it can do good things when displaying results. It now incorporates JQuery and Twitter Bootstrap to form the output display. This means that tables actually look nice now.

Clipboard

Clipboard functions work across the application (data entry and output) which means the above can be edited (if necessary) and copied into a spreadsheet.

Charts

Salstat also refers to the Highcharts libraries which will be used for charts. Currently, I'm working on a chart window which allows us to generate a chart and edit it to perfection before it gets put into the results. This should help take the guesswork out of charts. And they will be exported to PNG, JPG, PDF and SVG formats directly. This is not yet working but I hope it to be fairly soon.

Bugs

A lot of bugs have been squashed too. Salstat used to freak (rather: refuse to do anything) when inputting anything other than a number into the data grid. Now, it's more relaxed and will try to deal with things downstream intelligently.

Other bugs such as putting data into the first, third and fourth columns have been squashed. Some other bugs with tests have also been squished.

Future plans

Proper data formatting (variable names, data formatting, specifying missing data and marking it visually with a different background colour)
Charts – Salstat has got to have these and they are coming!
Databases – input from and output to databases. Salstat will abstract the interface (using something like SQLAlchemy) in order to tackle a range of databases and dialects. Having said that, the requirements will be fairly simple (retrieve, write and commit) so fairly vanilla SQL will suffice. This, however, is tricky because I want a data browser whereby tables and some content can be browsed easily and data selected for import. This needs to work for remote and local databases as well as SQLite.
Bring in my custom statistics modules (properly unit tested!) from my forthcoming book, "Computational Statistics".

So lots to do yet, but lots done already over the last fortnight or so. I hope to make a new release on 22 October 2013 – 10 years to the day the last proper release was made!

595 older entries...

 

salmoni certified others as follows:

  • salmoni certified returnoftheredi as Journeyer
  • salmoni certified skx as Journeyer
  • salmoni certified hereticmessiah as Journeyer
  • salmoni certified dorward as Journeyer
  • salmoni certified Burgundavia as Journeyer
  • salmoni certified pgavin as Apprentice
  • salmoni certified bi as Journeyer
  • salmoni certified Chicago as Journeyer
  • salmoni certified drobilla as Apprentice
  • salmoni certified gears as Journeyer
  • salmoni certified coywolf as Journeyer
  • salmoni certified samfw as Apprentice
  • salmoni certified zanee as Journeyer
  • salmoni certified pesco as Journeyer
  • salmoni certified marnanel as Journeyer
  • salmoni certified fzort as Journeyer
  • salmoni certified StevenRainwater as Master
  • salmoni certified masood as Journeyer
  • salmoni certified joshuat as Journeyer
  • salmoni certified chipx86 as Journeyer
  • salmoni certified pjcabrera as Apprentice
  • salmoni certified danguer as Apprentice
  • salmoni certified robocoder as Apprentice
  • salmoni certified TypeRite as Journeyer
  • salmoni certified mbrubeck as Journeyer
  • salmoni certified spikboll as Apprentice
  • salmoni certified DV as Master
  • salmoni certified cTaylor as Apprentice
  • salmoni certified pfh as Journeyer
  • salmoni certified gobry as Journeyer
  • salmoni certified fallenlord as Journeyer
  • salmoni certified nixnut as Journeyer
  • salmoni certified garym as Journeyer
  • salmoni certified mwh as Master
  • salmoni certified hub as Master
  • salmoni certified lgs as Journeyer
  • salmoni certified TheCorruptor as Journeyer
  • salmoni certified bdodson as Journeyer
  • salmoni certified yoper as Journeyer
  • salmoni certified cm as Apprentice
  • salmoni certified fscked as Journeyer
  • salmoni certified statbanana as Apprentice
  • salmoni certified ShredWheat as Master
  • salmoni certified osfameron as Apprentice
  • salmoni certified chakie as Master
  • salmoni certified yosh as Master
  • salmoni certified chalst as Journeyer
  • salmoni certified allanf as Apprentice
  • salmoni certified lev as Journeyer
  • salmoni certified julian as Master
  • salmoni certified negative as Journeyer
  • salmoni certified MisterP as Apprentice
  • salmoni certified josef as Journeyer
  • salmoni certified dsnopek as Journeyer
  • salmoni certified kwoo as Apprentice
  • salmoni certified mikehearn as Journeyer
  • salmoni certified follower as Apprentice
  • salmoni certified wspace as Journeyer
  • salmoni certified arrowood as Apprentice
  • salmoni certified mslicker as Journeyer
  • salmoni certified esden as Journeyer
  • salmoni certified johnb as Apprentice
  • salmoni certified blindcoder as Journeyer

Others have certified salmoni as follows:

  • fxn certified salmoni as Journeyer
  • spikboll certified salmoni as Journeyer
  • nikole certified salmoni as Master
  • e8johan certified salmoni as Journeyer
  • pvanhoof certified salmoni as Journeyer
  • skx certified salmoni as Apprentice
  • returnoftheredi certified salmoni as Apprentice
  • hereticmessiah certified salmoni as Journeyer
  • orique certified salmoni as Journeyer
  • groom certified salmoni as Journeyer
  • bi certified salmoni as Journeyer
  • mirwin certified salmoni as Master
  • pesco certified salmoni as Journeyer
  • fzort certified salmoni as Journeyer
  • zanee certified salmoni as Journeyer
  • mentifex certified salmoni as Master
  • cdfrey certified salmoni as Journeyer
  • MikeCamel certified salmoni as Journeyer
  • chipx86 certified salmoni as Apprentice
  • slef certified salmoni as Apprentice
  • sand certified salmoni as Journeyer
  • Chicago certified salmoni as Journeyer
  • cTaylor certified salmoni as Journeyer
  • nixnut certified salmoni as Journeyer
  • DarthEvangelusII certified salmoni as Apprentice
  • Axolotl certified salmoni as Journeyer
  • sprite certified salmoni as Apprentice
  • xf certified salmoni as Journeyer
  • mdupont certified salmoni as Journeyer
  • elanthis certified salmoni as Apprentice
  • TheCorruptor certified salmoni as Journeyer
  • gene99 certified salmoni as Master
  • yoper certified salmoni as Master
  • RhysJones certified salmoni as Journeyer
  • cm certified salmoni as Journeyer
  • sdodji certified salmoni as Journeyer
  • pasky certified salmoni as Journeyer
  • strider certified salmoni as Journeyer
  • mterry certified salmoni as Journeyer
  • allanf certified salmoni as Apprentice
  • lev certified salmoni as Apprentice
  • negative certified salmoni as Journeyer
  • mascot certified salmoni as Journeyer
  • lerdsuwa certified salmoni as Journeyer
  • wspace certified salmoni as Journeyer
  • arrowood certified salmoni as Journeyer
  • kilmo certified salmoni as Journeyer
  • esden certified salmoni as Journeyer
  • sculptor certified salmoni as Apprentice
  • welisc certified salmoni as Apprentice
  • mdekkers certified salmoni as Apprentice
  • vivekv certified salmoni as Master
  • boog certified salmoni as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page