November 18, 2013

Say you want to connect to an NX server that is behind a firewall, and some corporate VPN client doesn’twork on your OS.

You have your ssh connections neatly set up to connect through a proxy that is outside the firewall (mine is called “myproxy”). That proxy has netcat (nc) installed. For example, your .ssh/config looks something like this:

November 9, 2013

Update 10th Nov 2013: Turns out that the OpenNX 0.16.725 dmg works on Mavericks after a re-install – no reason to go through these instructions unless you want to build a 64-bit version. They keyboard mapping bug is still present though.

Update 9th Jun 2014: Use x2go instead. Works on Mavericks without any problems.

The OpenNX dmg that you can get from the downloads section doesn’t work on OSX 10.9. Here are some instructions to get it to run on OS X with MacPorts. It’s still very buggy and the incredibly annoying keyboard issue is still present so that these notes are more of a starting point to fix OpenNX in future revisions.

The application should end up in ~/opennx-svn/opennx/OpenNX.app. If you get a lengthy error message that boils down to an issue with nxssh, make sure that your system NX path points to ~/opennx-svn/opennx in OpenNX’ configuration settings

Get some build dependencies from MacPorts (do not install osxfuse from MacPorts if you want to use your own build of osxfuse instead – see bottom of post for instructions):sudo port install wxWidgets-3.0 osxfuse nasm wget pkgconfig

Update 29th Oct 2013: The GUI is still very buggy on Mavericks, but the command-line version seems to be stable:make -j4 NOGUI=1
The executable will end up in Main/TrueCrypt.

Update 11th Nov 2013: If you want to use your own build of OSXFUSE instead of the MacPorts version, you’ll have to modify the following two files after patching the source code (i.e. after step 8):Main/Main.make:100
-FUSE_LIBS = $(shell pkg-config fuse --libs)
+FUSE_LIBS = -L/usr/local/lib -losxfuse -pthread -liconv

Update 2nd Jun 2014: As TrueCrypt is down and the code isn’t available any longer from the official site, I’ve decided to start a Github repo that contains all changes that are required to build on OS X 64bit. This may also be useful for other platforms as the code was ported to wxWidgets 3.0 in the process.

November 7, 2012

Before anyone gets excited: I’m cheating here. This is not a native NX client for Android (more on that at the end of this post). I’m running ubuntu in a chroot environment under Android. It works surprisingly well though.

An NX session running in a chroot environment on Android

Ubuntu on Android
Installing Ubuntu in a chroot environment is not the scope of this post. Complete Linux Installer from the Google Play Store makes the process relatively pain-free. Go for Ubuntu 12.04 with the LX Desktop Environment that comes with the “Small Ubuntu Image”.

Complete Linux Installer simplifies setting up a chroot environment

NX client
Installing an NX client is unfortunately a bit harder than I would have hoped. QtNX is part of the standard Ubuntu repositories, but the Qt widgets didn’t seem to work properly – not sure whether it’s a problem with LXDE or with the VNC client, but the controls (dropboxes etc.) simply didn’t render. Therefore we’ll resort to OpenNX. Binary Debian packages are only available for x86 so that we’ll have to build from source. Launching your newly installed Ubuntu will get you to a root terminal within your chroot environment. First, you’ll have to install some build dependencies:

That’s it. Open a VNC connection to localhost:5902, select “Run” from the start menu and launch opennx.

Native NX client for Android
It should be pretty straightforward to build a native NX client connecting to a native X server. I’ve already ported most of the dependencies for another project. Let me know if there’s any interest.

December 5, 2011

If your flash video is already in a format that Android can read, such as h264/x264, there’s no reason to recode the whole file. You can simply copy the video and audio streams into a new container that Android can make sense of.

Check the audio and video codecs:

$ ffmpeg -i flashvideo.f4v

Copy the streams into a new container:

$ ffmpeg -i flashvideo.f4v -vcodec copy -acodec copy mp4video.mp4

Make your file streamable. This is optional but convenient if you want to check that your device can read the file as soon as you’ve started pushing it.

November 13, 2011

The Pandaboard is a neat little computer featuring a dual-core ARM processor. While the on-board GPIO pins seem like a fantastic way to use this board for all sorts of projects, I couldn’t find any documentation how to address them from linux, so here’s a summary of what I did:

Tables 10 and 11 on pp. 43-44 show you the pin definitions for J3 and J6. You should be able to use (at least) the pins for GPMC Address/Data bits 8-15, which are mostly located on J6. See Fig. 17 on p. 42 for the placement and orientation of these connectors.

Pandaboard connector pinout: Top rows are odd pins starting with 1, bottom rows are even pins starting with 2

Export the GPIO that you’d like to use to the file system. For example, to write to GPIO_32 on pin 18 of J6:

Links
Some more generic documentation is available on kernel.org and avrfreaks.net. A video illustrating the procedure has been posted on YouTube. And someone has bluntly copied most of this tutorial over at OMAPpedia.org.

It's clearly geared towards Windows. No installers for OS X are available. "You can easily run Spyder on all major platforms" is plain wrong: Installation on OS X through MacPorts takes forever (because of Qt).

−

Qt applications look bad on GTK and OS X.

Eclipse + PyDev make the race, in particular on OS X. If only they could get interactive plotting to work.