Oct 14

CSS columns made easier with flexible boxes

One of the most annoying things in CSS has always been the lack of out-of-the-box support for displaying content in columns. Of course, there are many frameworks nowadays like Bootstrap out there to help. These can usually be very helpful if you want to adjust your columns to a well-defined grid and, of course, you know how many columns you want and how wide. But, what if we don’t know this in advance, or you just want to be more flexible?

Read More

Aug 14

Leverage the 10000ft API to create custom exports to Excel

At IXDS we have a bunch of exports off of 10000ft, which we created manually in the past. For example, a weekly overview of over hours or the utilisation of employees etc. When 10000ft published their API, we happily jumped at it to automate these exports. This is a little example showing the basic workflow of getting data from 10.000ft, to exporting it to an excel file. We based our export tool on Python with Flask and some helpful libraries as Xlsx Writer.

Read More

Jul 14

Touchless-Touch with Leap Motion and openFrameworks

In recent projects we used the Leap Motion controller for exploring Touchless-Touch. For this purpose we developed the extension ofxLeapTouch for openFrameworks to map the leap space to screen space and emit touch events. It should be simple to combine the addon with touch responsive UIs. Have a look at the examples and additional features on github.

Read More

Jul 14

QtScreenGrabber – Recording your QtWidgets

It turns out recording your Qt screen/widget from your Qt code as a video is quite tricky. I created the QtScreenGrabber for making this process faster and easier. It makes it this easy to record your widget and output to a video file:

ScreenGrabber *grabber = new ScreenGrabber;
grabber->setup(QString("output.mpg"), width, height);
grabber->startRecording(20); // record for 20 seconds
Read More

May 14

Optional arguments for Javascript functions

Javascript doesn’t allow you to define default values for function arguments. But sometimes you want some arguments to be optional. This is how you can do it:

function myConnect(host, port){
 // default to port 80 if nothing is set
 var port = (typeof port === 'undefined') ? 80 : port;
 return host + ':' + port;

Call myConnect(‘some.host’) most of the times and for those rare cases you need to connect to another port than 80: myConnect(‘special.host’, 1725)

Read More