Oct 142015
DevLog: Setting up Continuous Integration

I’ve spent the last week setting up Rapicorn and Beast with travis-ci.org, a free continuous integration service for Github. Since travis is only available for Github, this means the Beast Git repository (hosted on git.gnome.org) had to be moved (cloned) to Github. Luckily, Git allows pushing to mutiple remotes: git remote add all git@github.com:tim-janik/beast.git git […]

Jul 022015
DevLog: Rapicorn's IDL moving into Beast

Trying to keep it up, here’s an update on recent developments in Rapicorn and Beast. Git Branches For now, Rapicorn and Beast are using Git branches the following way: Topic branches are created for each change. Where possible, commits should compile and pass all tests (i.e. pass make check installcheck). Once completed, topic branches are […]

Jun 272015
DevLog: A day of templates

Yesterday I spent some 14+ hours on getting a templated undo method wrapper going. Just to throw it all away this morning. Here’s what I was trying to achieve, the C version of BEAST implements undo as follows: // bse_track_remove_tick(): BseTrack *track; uint tick; BsePart *part; bse_item_push_undo_proc (track, “insert-part”, tick, part); That is, it queues […]

May 262015
Thread-Local-Storage Benchmark

A good while ago at a conference, I got into a debate over the usefulness of TLS (thread-local storage of variables) in performance critical code. Allegedly TLS should be too slow for practical uses, especially for shared libraries. TLS can be quite useful for context sensitive APIs, here’s a simple example: push_default_background (COLOR_BLUE); auto w […]

May 052015
DevLog: shared_ptr, resources, eval syntax and more

Giving in to persistent nagging from Stephen and Stefan about progress updates (thanks guys), I’ll cherry pick some of the branches recently merged into Rapicorn devel for this post. We’ll see if I can keep posting updates more regularly in the future… 😉 Interactive Examples Following an idea Pippin showed me for his FOSDEM talk, […]

Dec 312014

In the true tradition of previous years, this years 31c3 in Hamburg revealed another bummer about surveillance capacities: 29c3: 2012: exit(0) 30c3: Glenn Greenwald’s keynote starts 31c3: Reconstructing Narratives – Jacob Applebaum & Laura Poitras The brief summary is that viable attacks are available to surveillance agencies for PPTP, IPSEC, SSL/TLS and SSH. New papers […]

Dec 122014
Remote Reference Counting in Rapicorn

In the last months I finally completed and merged a long standing debt into Rapicorn. Ever since the Rapicorn GUI layout & rendering thread got separated from the main application (user) thread, referencing widgets (from the application via the C++ binding or the Python binding) worked mostly due to luck. I investigated and researched several […]