summaryrefslogtreecommitdiff
path: root/non-posts
diff options
context:
space:
mode:
authorrekado <rekado@elephly.net>2015-08-16 05:15:04 +0200
committerrekado <rekado@elephly.net>2015-08-17 22:56:02 +0200
commit0d58b658a63f4ec3e938deffee22763131a816b8 (patch)
tree95f5475f5bb021209f9d239af29d6c58d11c72a0 /non-posts
parent69b4e3db8cac30029fb94640f30354ac7c338b5b (diff)
Convert articles to skribe format.
Diffstat (limited to 'non-posts')
-rw-r--r--non-posts/index.skr65
-rw-r--r--non-posts/lv2/mdaepiano/index.skr73
-rw-r--r--non-posts/lv2/mdapiano/index.skr70
-rw-r--r--non-posts/projects.skr70
-rw-r--r--non-posts/wavedrum/index.skr59
5 files changed, 337 insertions, 0 deletions
diff --git a/non-posts/index.skr b/non-posts/index.skr
new file mode 100644
index 0000000..718bf46
--- /dev/null
+++ b/non-posts/index.skr
@@ -0,0 +1,65 @@
+(define meta
+ `((title . "Free software and music")))
+
+(list
+ (h1 [Free software and music])
+
+ (p [My name is rekado and I’m currently working as a programmer and
+ ,(ref "http://gnu.org" "GNU/Linux") server administrator. I
+ enjoy writing ,(ref
+ "https://www.fsf.org/about/what-is-free-software" "Free
+ Software"). You can find some of ,(ref "http://git.elephly.net"
+ "my code here") or on ,(ref "http://github.com/rekado" "Github").
+ At night I’m a musician. I play the ,(ref "http://stick.com"
+ "Chapman Stick"). Some of my recordings and performances can be
+ found on ,(ref "http://soundcloud.com/rekado" "SoundCloud") or on
+ ,(ref "http://u.youku.com/user_show/id_UMTc2MDI3NDc2.html"
+ "Youku").])
+
+ (p [You can contact me via email at ,(email "rekado@elephly.net").
+ Please use ,(ref "/rekado.pubkey" "my public key") when writing
+ me email. If you don’t know much about encrypting email, please
+ take a look at the ,(ref "https://emailselfdefense.fsf.org"
+ "email self-defense website") by the ,(ref "http://fsf.org" "Free
+ Software Foundation").])
+
+ `(h2 ,(ref "/posts" "Blog")
+ (a (@ (href "feed.xml"))
+ (img (@ (class "feed-icon")
+ (src "/images/feed.png")
+ (alt "subscribe to atom feed")))))
+
+ (p [On occasion I write articles. Here’s the ,(ref
+ "/posts/latest.html" "latest article"). I recommend the series
+ of posts on ,(ref "/tags/wavedrum.html" "hacking the
+ Wavedrum").])
+
+ (h2 [,(ref "/projects.html" "Projects")])
+
+ (ul
+ (li [,(ref "/wavedrum/index.html" "Wavedrum stuff")])
+
+ (li [I was one of the founding members of
+ ,(ref "http://libertree.org/" "Libertree") and wrote lots of
+ code for it. I have since stopped contributing, but Pistos
+ continues to work on Libertree.])
+
+ (li [,(ref "/soundcli.html" "SoundCLI"), a command line interface
+ for streaming music from SoundCloud.])
+
+ (li [I ported some VST instruments (,(ref "/lv2/mdapiano/index.html"
+ "mda Piano") and ,(ref "/lv2/mdaepiano/index.html" "mda
+ EPiano")) to the LV2 plugin framework.]))
+
+ (h2 [Ecology])
+
+ (p [Currently (with some interruptions), I’m studying toward a
+ Bachelor of Applied Science via distance learning at the ,(ref
+ "http://www.openpolytechnic.ac.nz" "Open Polytechnic"). Some of
+ my ,(ref "/ecology.html" "writings on ecology can be found in
+ this section").])
+
+ (h2 [Weird stuff])
+ (ul
+ (li [,(ref "/elephly.html" "The Elephly")])
+ (li [,(ref "/fur-man.html" "Fur man")])))
diff --git a/non-posts/lv2/mdaepiano/index.skr b/non-posts/lv2/mdaepiano/index.skr
new file mode 100644
index 0000000..78bcaf4
--- /dev/null
+++ b/non-posts/lv2/mdaepiano/index.skr
@@ -0,0 +1,73 @@
+(define meta
+ `((title . "LV2 plugin: mda EPiano")))
+
+(list
+ (h1 [mda EPiano])
+
+ (p [This is an LV2 port of the mda EPiano VSTi (not to be confused
+ with the ,(ref "/lv2/mdapiano/" "mda Piano")). The original
+ VST that this port is based on was written by Paul Kellett.])
+
+ (p [The original ,(ref "/posts/2010-10-14-chinese-tune-mda-epiano.html"
+ "announcement post can be found here").])
+
+
+ (h2 [Compiling])
+
+ (p [To compile the mda EPiano plugin, just execute the following
+ statement:])
+
+ (p (pre (code
+ [make TYPE=mdaEPiano
+sudo make install TYPE=mdaEPiano])))
+
+ (p [This will copy the compiled plugin to ,(code
+ [/usr/local/lib/lv2]). To change the target prefix, pass the
+ ,(code [PREFIX]) variable to ,(code [make]).])
+
+ (p [To build the ,(ref "/lv2/mdapiano/" "mda Piano plugin")
+ instead, pass ,(code [TYPE=mdaPiano]) to ,(code [make]):])
+
+ (p (pre (code
+ [make TYPE=mdaPiano
+sudo make install TYPE=mdaPiano])))
+
+ (p [,(strong [NOTE]): you will need the ,(ref "http://lvtoolkit.org"
+ "lvtoolkit libraries") to compile this plugin.])
+
+
+ (h2 [Connecting])
+
+ (p [You will need an LV2 host to use the plugin. I’m using ,(code
+ [jalv.gtk]):])
+
+ (p (pre (code [jalv.gtk http://elephly.net/lv2/mdaEPiano])))
+
+ (p [You should now be able to connect your MIDI device to the plugin
+ via JACK. Also don’t forget to connect the plugin’s stereo output
+ to your system’s outputs:])
+
+ (p (pre (code
+ [jack_connect system:playback_1 mdaEPiano:left
+jack_connect system:playback_2 mdaEPiano:right])))
+
+ (p [I provide a simple connect script with the code which does these
+ things automatically.])
+
+
+ (h2 [License])
+
+ (p [The original mda VST plug-ins by Paul Kellett are released under
+ the MIT license or under the GPL ,(em [“either version 2 of the
+ License, or (at your option) any later version”]). The LV2 ports
+ of the mdaPiano and mdaEPiano plugins by rekado are released
+ under GPLv3, or (at your option) any later version.])
+
+
+ (h2 [Download])
+
+ (p [,(ref "http://git.elephly.net/software/lv2-mdametapiano.git"
+ "Fetch the source here").
+ The latest
+ ,(ref "http://git.elephly.net/software/lv2-mdametapiano.git/archive/0.0.2.tar.gz"
+ "release tarball can be downloaded here").]))
diff --git a/non-posts/lv2/mdapiano/index.skr b/non-posts/lv2/mdapiano/index.skr
new file mode 100644
index 0000000..4509701
--- /dev/null
+++ b/non-posts/lv2/mdapiano/index.skr
@@ -0,0 +1,70 @@
+(define meta
+ `((title . "LV2 plugin: mda Piano")))
+
+(list
+ (h1 [mda Piano])
+
+ (p [This is an LV2 port of the mda Piano VSTi (not to be confused
+ with the ,(ref "/lv2/mdaepiano/" "mda EPiano")). The original
+ VST that this port is based on was written by Paul Kellett.])
+
+
+ (h2 [Compiling])
+
+ (p [To compile the mda Piano plugin, just execute the following
+ statement:])
+
+ (p (pre (code
+ [make TYPE=mdaPiano
+sudo make install TYPE=mdaPiano])))
+
+ (p [This will copy the compiled plugin to ,(code
+ [/usr/local/lib/lv2]). To change the target prefix, pass the
+ ,(code [PREFIX]) variable to ,(code [make]).])
+
+ (p [To build the ,(ref "/lv2/mdaepiano/" "mda EPiano plugin")
+ instead, pass ,(code [TYPE=mdaEPiano]) to ,(code [make]):])
+
+ (p (pre (code
+ [make TYPE=mdaEPiano
+sudo make install TYPE=mdaEPiano])))
+
+ (p [,(strong [NOTE]): you will need the ,(ref "http://lvtoolkit.org"
+ "lvtoolkit libraries") to compile this plugin.])
+
+
+ (h2 [Connecting])
+
+ (p [You will need an LV2 host to use the plugin. I’m using ,(code
+ [jalv.gtk]):])
+
+ (p (pre (code [jalv.gtk http://elephly.net/lv2/mdaPiano])))
+
+ (p [You should now be able to connect your MIDI device to the plugin
+ via JACK. Also don’t forget to connect the plugin’s stereo output
+ to your system’s outputs:])
+
+ (p (pre (code
+ [jack_connect system:playback_1 mdaPiano:left
+jack_connect system:playback_2 mdaPiano:right])))
+
+ (p [I provide a simple connect script with the code which does these
+ things automatically.])
+
+
+ (h2 [License])
+
+ (p [The original mda VST plug-ins by Paul Kellett are released under
+ the MIT license or under the GPL ,(em [“either version 2 of the
+ License, or (at your option) any later version”]). The LV2 ports
+ of the mdaPiano and mdaEPiano plugins by rekado are released
+ under GPLv3, or (at your option) any later version.])
+
+
+ (h2 [Download])
+
+ (p [,(ref "http://git.elephly.net/software/lv2-mdametapiano.git"
+ "Fetch the source here").
+ The latest
+ ,(ref "http://git.elephly.net/software/lv2-mdametapiano.git/archive/0.0.2.tar.gz"
+ "release tarball can be downloaded here").]))
diff --git a/non-posts/projects.skr b/non-posts/projects.skr
new file mode 100644
index 0000000..5468f8e
--- /dev/null
+++ b/non-posts/projects.skr
@@ -0,0 +1,70 @@
+(define meta
+ `((title . "Projects")))
+
+(list
+ (h1 [Projects])
+
+ (p [Here is a list of some of the projects that I’m involved with that
+ actually might be useful to others.])
+
+
+ (h2 [Hacking the Wavedrum])
+
+ (p [I wrote a ,(ref "/tags/wavedrum.html" "series of blog posts") in
+ which I document my efforts to understand and possibly manipulate
+ the firmware of Korg’s Wavedrum. The PCB is easily accessible
+ and exposes big connector pads as well as a microSD card—an
+ invitation to play with the hardware.])
+
+ (p [The ,(ref "/wavedrum/index.html" "project page") is the best
+ place to get an overview and to see the current status. It
+ contains links to the sources of any software artifacts I create
+ in the process.])
+
+
+ (h2 [GNU Guix])
+
+ (p [,(ref "http://gnu.org/s/guix" "GNU Guix") is a novel package
+ manager for ,(ref "http://gnu.org" "GNU systems"). In Guix a
+ package is treated as a pure function whose output is fully
+ described by its inputs (its dependencies). I’m packaging lots
+ of bioinformatics software when I’m in the office and audio tools
+ when I’m off work.])
+
+ (p [The Guix package manager forms the foundation of the Guix System
+ Distribution (short: GuixSD), which is the GNU system I use on my
+ laptop.])
+
+
+ (h2 [Libertree])
+
+ (p [,(ref "http://libertree.org" "Libertree") is a collection of
+ software to build social networks. The core components include a
+ web frontend application and an XMPP backend component that will
+ work with any regular XMPP server.])
+
+ (figure "/images/libertree-logo.png" "The Libertree logo")
+
+ (p [I was one of two core developers for about three years and hosted
+ the second public node. The network isn’t very active and
+ development has slowed considerably. I’m no longer interested in
+ traditional www-based social networking applications and am
+ thinking about using ,(ref "http://gnunet.org" "Gnunet") for
+ pseudonymous social networking purposes.])
+
+
+ (h2 [SoundCLI])
+
+ (p [,(ref "/soundcli.html" "SoundCLI") is a SoundCloud client for the
+ console. Check out the ,(ref "/soundcli.html" "project page")
+ for more information.])
+
+
+ (h2 [LV2 plugins])
+
+ (p [I have ported two VST instruments to the LV2 plugin framework,
+ because I missed them after my move to GNU/Linux.])
+
+ (ul
+ (li (ref "/lv2/mdaepiano/index.html" "mda EPiano"))
+ (li (ref "/lv2/mdapiano/index.html" "mda Piano"))))
diff --git a/non-posts/wavedrum/index.skr b/non-posts/wavedrum/index.skr
new file mode 100644
index 0000000..91ccdc1
--- /dev/null
+++ b/non-posts/wavedrum/index.skr
@@ -0,0 +1,59 @@
+(define meta
+ `((title . "Wavedrum")))
+
+(list
+ (h1 [Wavedrum])
+
+ (p [I wrote a ,(ref "/tags/wavedrum.html" "series of blog posts") in
+ which I document my efforts to understand and possibly manipulate
+ the firmware of Korg’s Wavedrum. The PCB is easily accessible
+ and exposes big connector pads as well as a microSD card—an
+ invitation to play with the hardware.])
+
+ (p [Although I’m perfectly content just playing with the hardware, I
+ do hope that my work will eventually allow me and others to
+ modify the data on the Wavedrum such that custom sounds and loops
+ (and possibly algorithms) can be used.])
+
+
+ (h2 [Current status])
+
+ (p [It is possible to load firmware from the microSD card by pressing
+ ,(em [Write]) and ,(em [1]) while powering on the Wavedrum,
+ followed by pressing ,(em [Write]) again (another undocumented
+ mode can be entered by pressing ,(em [Write]) and ,(em [Mode])
+ while powering on).])
+
+ (p [The Wavedrum unfortunately rejects any modified firmware. The
+ Oriental edition will not load the firmware of the Original/Black
+ edition, nor will it load the firmware of the Global edition. It
+ also won’t load any modified firmware (e.g. where the only
+ difference is that two bytes are swapped). I intend to figure
+ out how the Wavedrum validates the data on the SD card before
+ deciding to reject them.])
+
+
+ (h2 [Blog posts])
+
+ (ul
+ (li (ref "/posts/2013-08-11-hacking-the-wavedrum.html"
+ "Hacking the Wavedrum"))
+ (li (ref "/posts/2013-10-31-wavedrum-data-comparison.html"
+ "Firmware comparison between Wavedrums Original, Black and Oriental"))
+ (li (ref "/posts/2013-12-09-wavedrum-connectors.html"
+ "Connectors on the Wavedrum’s circuit board"))
+ (li (ref "/posts/2014-09-18-wavedrum-firmware-disassembler.html"
+ "Disassembling the Wavedrum firmware")))
+
+
+ (h2 [Software])
+
+ (dl
+ (dt (ref "http://git.elephly.net/wavedrum/wavedrum-lib.git"
+ "wavedrum-lib"))
+ (dd [Haskell library for parsing, editing, and writing Wavedrum programmes (presets).])
+
+ (dt (ref "http://git.elephly.net/wavedrum/sharc-disassembler.git"
+ "sharc-disassembler"))
+ (dd [Very rudimentary, partial disassembler for SHARC ADSP binaries
+ helping me to understand the Wavedrum’s bootloader.])))