martedì 15 gennaio 2013

Arsenik 0.5


Arsenik has been ported to GApplication and now presents the user with a deck browser (getting decks from Tracker) on startup. This view allows the user to learn, edit or print decks.

From now on, the project is migrated from subversion on to git at showed some unnerving downtime.


Next to do is to fix the trainer (looks like crap), the editor (looks like crap) and refactor the code to make it easier to implement deadlines for learning decks, importing decks from other programs and such.

Download links to the right.

venerdì 12 ottobre 2012

How to install Shairport in raspbian

Shairport is a software that allows you to set up a renderer for airplay streaming. I use it to stream Spotify from Apple devices via a Raspberry pi and a DAC to my living room stereo.

First, install the needed dependencies:

sudo apt-get install build-essential libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config
Next, get Shariport and compile it:

git clone; cd shairport/; make

Now you can run it with:

./shairport --buffer=300

This breaks with iOS 6, see this for a fix.

mercoledì 25 aprile 2012

Arsenik 0.4

The editor is now pretty much done. It can create decks (with text or images - editing done in inkscape) and save export them as PDF:s.

New features

  • Port to Gtk 3 and python introspection (including librsvg)
  • Make all long running tasks (export PDF, loading complex decks...) non-blocking
  • UI polish
  • Export deck as directories with cards rendered as .png-files

Get it


mercoledì 1 febbraio 2012

Two anatomy decks done

Two anatomy decks are done - Caput and Brachium.Download the PDF:s for printing or get them in the iphone or android app stores fore use on your phone.

domenica 30 ottobre 2011

Arsenik 0.3.1

Quick bugfix release 0.3.1.

Contains buffert fixes, is a bit more roboust if creating direct bindings to librsvg but still not stable enough for use.

Adds icon property to decks.

Post this comes exporting as android/iOS apps and port to gtk 3!

venerdì 29 luglio 2011

Arsenik 0.3

About Arsenik
Arsenik is a set of tools for type setting flash cards. I started writing it when studying pathology in Padova and used it extensively during surgical exams. After I graduated development slacked off but now I need it to type set decks based on the anatomy course of Uppsala University.

It consists of a deck editor written in pygtk and training apps.

A card has two pages being either SVG or text. The editor allows editing SVG data externally in Inkscape and exporting the deck as a 300 dpi PDF. The editor is tested in fedora and debian, it once ran on OS X and might still do so.

Trainer apps exist for Maemo 5 and OS2008.

Currently Arsenik is well suited to create and learn decks. The maemo trainer app is primitive but tuned through the course of many exams to work effectively.

(1½ year of development)
  • External editing in Inkscape
  • More robust PDF-export
  • Manually bind librsvg if python bindings not available
  • SVG rendering code respects target size and DPI
  • Each deck has a title card
  • New, simpler, deck format
  • Bug fixes...
Validating Arsenik as a tool for producing print quality documents. This primarily means adding support for outputting print marks and completing the anatomy decks.

Trying it out
Debian package:
Maemo package:
Archive of sources:

When you find bugs, please report them in the bug tracker.

giovedì 26 agosto 2010

Dock extension for the GNOME Shell

This is a task bar drop in as a small example of an extension for the GNOME Shell.
Writing extensions for the shell is great fun, there is a lot of nice code to learn from in the shell sources.


Get it here.
Unpack to ~./local/share/gnome-shell/extensions/ and restart your shell (alt+f2, type r and press enter).

Make your own

This is basically the app well from the overview but tucked to the right side of the screen.

In order to write one yourself, merge the AppWell and WellGrid from appDisplay.js.
Rewrite the _allocate and _redisplay functions to layout icons in one column and position the dock.
Subclass the AppIconMenu and make it expand to the left.
Add your dock to the interface using, { visibleInOverview: false }).
Fill in stylesheet.css.
Instantiate your dock in the main function of extension.js.