Category Archives: Programming

Squishing Matlab mex files into Octave

Common wisdom says that the mex files that Matlab builds are good for Matlab, and Matlab only. Not having trivial access to an installation of Matlab and needing to access the very neat and useful Field II package, this was … Continue reading

Posted in Engineering, Programming | Leave a comment

Speedy fast 1D convolution with SSE

I’ve done a bit of coding in the past with SSE instructions and achieved quite a significant speedup. I’ve also been playing recently with OpenCL as a means of implementing a fast, cross-device version of the Dual-Tree Complex Wavelet Transform … Continue reading

Posted in Engineering, Programming | Leave a comment

The Wisdom of FFTW

Since the last post on my python wrappers for FFTW, I’ve advanced the code substantially. It now supports all the basic transforms using the same unified pythonic interface in which the transform is inferred from the dtype. In addition, I’ve … Continue reading

Posted in Engineering, Programming | 5 Comments

The joys of Cython, Numpy, and a nice FFTW api

This is about my new FFTW python wrapper. The FFT routines shipped with Numpy are rather slow and have been the performance bottleneck in my code for some time. Last week I decided I needed to move to FFTW for … Continue reading

Posted in Engineering, Programming | Tagged , , , , , | 34 Comments

Top down or bottom up hierarchical builds?

About a year ago, after much umming and ahing about which build system to use for my ongoing project, I went with SCons. I liked the idea that my build system could be written in the same language as a … Continue reading

Posted in Programming | 2 Comments

Byte-wise copies of Numpy arrays

I needed a method for copying data from one Numpy array to another such that the byte alignment is correct. This is in order that I can use SSE instructions properly on the resultant arrays (64-bit machines seem to reliably … Continue reading

Posted in Programming | Leave a comment

(almost) Pretty drawers with QML

I spent the last couple of days getting to grips to QML for integration into my project. I’ve written a fairly neat drawer widget (with an accompanying drawer chest) for containing further widgets. The code is, as usual, on my … Continue reading

Posted in Programming | Leave a comment

Fixing bugs by upgrading

I’ve spent the better part of a week trying to fix a show stopper bug in my rendering code that manifested itself after my forced machine change. I published a minimal test example on my github repository demoing the bug … Continue reading

Posted in Life, Programming | Leave a comment

Dead laptop :(

A couple of days ago my trusty old Dell Inspiron 9400 (with the most delightful 1920×1200 screen) died on me. I’m pretty sure, based on the symptoms, that it was a graphics card problem. I tried, with assistance, to reflow … Continue reading

Posted in Life, Programming | 1 Comment

Coroutines for consumer/producer frameworks

I learned a bit about coroutines (in the context of Python) today. My understanding of them is they are a generalisation of generators in which you can return to the yield point with an argument. The problem I have is … Continue reading

Posted in Programming | Leave a comment