I’m a long time vim user and I just love vim modal editing approach. But, I
always admired Emacs extensibity, introspection and self-documenting
capabilities. Although I gave Emacs a try couple of times in the past I just
couldn’t get used to non-modal editing and cumbersome finger-stretching keyboard
bindings. For some time I was keeping an eye
on spacemacs, emacs distribution geared towards vim
users. It looked like a perfect blend of vim and emacs so I gave it a try.
Although spacemacs is still beta the switch-over was surprisingly smooth. It
took me just a few days to get to the speed thanks
to Evil mode, a vim-like modal editing
support which is enabled by default in spacemacs. Evil works remarkably good,
even some often used plugins are ported like, for
Well, you know what they say: “You aren’t making a DSL tool if you haven’t
implemented Martin Fowler’s State
Machine language using your tool yet” ;)
This is a well known DSL example from his book Domain-Specific
Languages. If you are doing stuff
in the field of DSLs you should definitely read this book. There is an excerpt
from the book
available on-line so I advise you to read it before watching the video below.
Today, while hacking on pyFlies I
run into trouble with the code generated for the
PsychoPy backend. PsychoPy is using
Pyo to generate sound. The problem
is that Pyo do not support
JACK. This might be a good choice since JACK is
better suited for low latency sound processing, but today most linux distro use
PulseAudio which is better suited for general desktops.
In order to use PsychoPy, first thing to do is to start JACK. Luckily,
there are nice GUI apps to do that easily, e.g.
cadence. Starting JACK
will suspend PulseAudio while JACK is runnning.
Now, we must instruct pyo called from PsychoPy to use JACK. Although,
there is audio parameter in Server call of pyo lib which could be used to
specify JACK as the backend, this would require changing source code of
PsychoPy. There is luckily a non-obtrusive way to achieve the same effect.
Just specify environment variable:
Now pyo lib will use JACK by default and the PsychoPy sound will work.
For my day-to-day coding (when I don’t code in Java ;) ) I use vim
editor and I like it a lot. It is arguably the tool of
trade that needs quite amount of time to learn properly but it is surely
rewarding. It has some amazing plugins and it is the editor that is installed
on your linux servers so knowing at least some basics is almost necessary if
you need to do some server administration.
For shell stuff I use zsh and great set of
If you haven’t try it yet, you don’t know what are you missing.