Last sunday was the private screening of Sintel (also known as the Blender Institute’s Project Durian). After being involved in the project for the last 5 months it was simply epic to view the nearly finished film on the big screen with full surround sound. Sadly, today, half the team is getting on a plane home. And as for myself… I will help wrap up a few last things, and perhaps create a tutorial or two to conclude my own involvement for now. The project has been life changing, the crew will be missed dearly. On to the next adventure! I hope to see you all there!
Durian Project screening
Tuesday, July 20th, 2010Support my work
Friday, June 4th, 2010All the works published on this website are free for anyone to download and use. But of course I also have to make a living. This sometimes means spending less time on free/open projects, and things I can share with the world.
Here’s a few ways you can help me worry less about money, and spend more time making things to share.
Buy a print
The Chiefs and spirits gallery in the Hague has several limited issue prints in their collection. Visit them to have a look, and get more information. |
Buy a T-shirt
![]() |
![]() |
Donate
Who I am
Thursday, June 3rd, 2010
At 25 I stumbled upon an environment where I could create my own world. Whilst during my studies I was bound by the physical, I found that using free 3D software on the computer I could create my own realm with my rules. In this world I am completely free to tell the stories I want in the way I envision. This freedom afforded to me by the tools of my trade translates to my definition of art.
The product of my labour comes in many forms, each telling its story in its own way. It is this diversity in which I thrive. I’ve worked on still images as much as moving pictures. Within the bounds of the digital domain and reaching out.
I enjoy creating my own work equally to cooperating with fellow artists. Beyond the sharing of ideas, and teaching I also share the results of my labour. Most though not all of my creations are available for other artists to use in their projects.
I studied at the KABK, Kunstakademiet i Trondheim, AKI, and got my degree as a ‘Monumental Artist’ in 1999. I also have several degrees in audio technique, am a certified Blender 3D educator, & W3C certified web developer. Nearly all designs I make are released under the: creative commons attribution 3.0 license.
Making a category based menu with posts in wordpress 2.9.2
Sunday, May 23rd, 2010I was not entirely happy with the way wordpress handles menus for this (my own) website. I like the idea of making all the content posts so they’re bound to a date and such. Then I’d like to see them in the menu based on the category they’re in. There are category menus, and even nice folding ones, but I couldn’t find one that displays all the posts per category in a nice way.
So I decided to hack one in myself. It’s a very nasty hack… and I just put a bunch of code in the sidebar.php of my template. But that said… it works and I now have a menu that does what I want.
If you’d like to use this… just remember it’s a great big bad hack and very inefficient!
Here’s the html/php code I added to my template’s sidebar.php:
// Get the id of the current post so we can give it a "current" class later. $postid = $post->ID; // Arguments for getting all the categories $args = array( 'show_option_all' => '', 'orderby' => 'name', 'order' => 'ASC', 'show_last_update' => 0, 'style' => 'list', 'show_count' => 0, 'hide_empty' => 1, 'use_desc_for_title' => 0, 'child_of' => 0, 'feed' => '', 'feed_type' => '', 'feed_image' => '', 'exclude' => '', 'exclude_tree' => '', 'include' => '', 'hierarchical' => true, 'title_li' => '', 'number' => NULL, 'echo' => 0, 'depth' => 0, 'current_category' => 1, 'pad_counts' => 0, 'taxonomy' => 'category' ); // Get all categories (in a silly html menu) $catmenu = wp_list_categories( $args ); // Split the menu to get all categories sepparately $cats = split(' <li class="cat-item cat-item-', $catmenu); $catmenu = ''; // Loop through the categories. foreach($cats as $key => $cat){ $current = ''; // Get the code and html sepparately list($id, $code) = split('"><a', $cat); // Make sure they're there. if($id && $code){ // If this is the current category, then remove that text and remember for later if(strpos($id, ' current-cat') !== False){ $current = ' current-cat'; $id = str_replace(' current-cat', '', $id); } // In case we got an id... and this category doesn't have sub categories. if(is_numeric($id) && strpos($code, " <ul class='children'>") === False){ // Arguments for getting the categorie's posts $args = array( 'post_type' => 'post', 'post_status' => 'published', 'numberposts' => -1, 'category' => $id ); // Get the posts $myposts = get_posts($args); // If we got any posts returned if(count($myposts)){ // Start a nice html post list $postlist = "\n".' <ul class="posts">'; // Check east post to see if it's current and add to the html foreach($myposts as $post) { $current_post = ''; if($postid == $post->ID){ $current_post = ' class="current-post"'; $current = ' current-cat'; } $postlist .= "\n".' <li'.$current_post.'><a href="'.get_permalink($post->ID).'">'.$post->post_title.'</a></li> '; } $postlist .= "\n".'</ul> '; // Add the post list to the code of the current category $code = str_replace('</a>', '</a>'.$postlist, $code); } } // Put everything that was split before back together $cat = ' <li class="cat-item cat-item-'.$id.$current.'"><a'.$code; } // Add back into the complete category menu $catmenu .= $cat; } // Print out the category menu echo ' <li id="menu"> <ul>'.$catmenu.'</ul> </li> ';
Display clean php code for copying
// Get the id of the current post so we can give it a "current" class later.
$postid = $post->ID;
// Arguments for getting all the categories
$args = array(
'show_option_all' => '',
'orderby' => 'name',
'order' => 'ASC',
'show_last_update' => 0,
'style' => 'list',
'show_count' => 0,
'hide_empty' => 1,
'use_desc_for_title' => 0,
'child_of' => 0,
'feed' => '',
'feed_type' => '',
'feed_image' => '',
'exclude' => '',
'exclude_tree' => '',
'include' => '',
'hierarchical' => true,
'title_li' => '',
'number' => NULL,
'echo' => 0,
'depth' => 0,
'current_category' => 1,
'pad_counts' => 0,
'taxonomy' => 'category' );
// Get all categories (in a silly html menu)
$catmenu = wp_list_categories( $args );
// Split the menu to get all categories sepparately
$cats = split('
- ';
// Check east post to see if it's current and add to the html
foreach($myposts as $post) {
$current_post = '';
if($postid == $post->ID){
$current_post = ' class="current-post"';
$current = ' current-cat';
}
$postlist .= "\n".'
- '.$post->post_title.' '; } $postlist .= "\n".'
- '.$catmenu.'
And here is the javascript code I added to my template’s header.php:
// Initialise javascript functions using jquery jQuery(document).ready(function(){ initMenu(); }); // Start the menu functionality function initMenu(){ // Hide all the submenus by default jQuery('#menu ul ul').hide(); // Find the current post and make sure all the categories it's in are also "current", then show their kids. jQuery('#menu .current-post').parents('li[id!=menu]').addClass('current-cat').children('ul').show(); // Replace the click event of all category menu items except for "news" // In stead make them fold down and up the sub menu jQuery('#menu a').click(function(event){ thisItem = jQuery(this); childList = thisItem.siblings('ul'); if(childList.length){ if(!(thisItem.html() == 'News' && childList.is(':hidden'))){ event.preventDefault(); if(childList.is(':hidden')){ thisItem.addClass('clicked'); childList.slideDown('fast'); jQuery('#menu ul:visible').each(function(){ if(!(jQuery('.clicked', this).length || jQuery(this).siblings('.clicked').length)){ jQuery(this).slideUp('fast'); } }); thisItem.removeClass('clicked'); }else{ childList.slideUp('fast'); } } } }); }
Display clean javascript code for copying
// Initialise javascript functions using jquery
jQuery(document).ready(function(){
initMenu();
});
// Start the menu functionality
function initMenu(){
// Hide all the submenus by default
jQuery('#menu ul ul').hide();
// Find the current post and make sure all the categories it's in are also "current", then show their kids.
jQuery('#menu .current-post').parents('li[id!=menu]').addClass('current-cat').children('ul').show();
// Replace the click event of all category menu items except for "news"
// In stead make them fold down and up the sub menu
jQuery('#menu a').click(function(event){
thisItem = jQuery(this);
childList = thisItem.siblings('ul');
if(childList.length){
if(!(thisItem.html() == 'News' && childList.is(':hidden'))){
event.preventDefault();
if(childList.is(':hidden')){
thisItem.addClass('clicked');
childList.slideDown('fast');
jQuery('#menu ul:visible').each(function(){
if(!(jQuery('.clicked', this).length || jQuery(this).siblings('.clicked').length)){
jQuery(this).slideUp('fast');
}
});
thisItem.removeClass('clicked');
}else{
childList.slideUp('fast');
}
}
}
});
}
BoganBlender published
Sunday, May 16th, 2010
I just now uploaded my first build of BoganBlender. It’s a version of Blender that attempts to remove all “arbitrary” limits on input values. That also makes it somewhat unstable, and well… use at your own risk. But it should enable us to do things with Blender that aren’t normally possible.
You can find the Linux 64bit Blender Render Branch build here
Thanks to Campbell Barton for writing the patch. He is ehm… well not exactly opposed to the idea, but doesn’t really like it hehe. So extra thanks for writing something that you think is silly Cam, you’re a hero ;)
Be aware that if you edit/create blender files in this version, you may not be able to use them in other versions, and… they may well crash computers and do things you don’t want… this is a HIGHLY experimental version of Blender.
Color it! Oinkie
Friday, May 14th, 2010
Shapeways published a nice new feature that I’m proud I got to help out with. You can now color your very own piggybank! Go here to have a look. There is also an article about it on SolidSmack.com
Sintel trailer released
Friday, May 14th, 2010OZMO6:2 released
Wednesday, April 7th, 2010
Dutch rapper Blaxtar released his new album OZMO6:2 last wednesday. He had a great party at the beautiful Tuschinski movie theatre in Amsterdam. I am very proud to have contributed to the creation of his record cover together with Torben Raun.
First week at the Durian Open Movie project
Wednesday, March 24th, 2010
Hi all. Today I had my second full day at the Blender Institute with the Durian team. Find out more about the project here. I already wrote some scripts, found some bugs, been working on a big city scene, played soccer with the guys, and fed the ducks with Nathan. All in all a great start. The photo was taken by Colin Levy.
Project London Multiply Teaser
Wednesday, March 24th, 2010
The crew from Project London (which I’m proud to have been a part of) have yesterday released a brand new, awesome teaser trailer! I’m actually in this one’s credits as well. Go have a look!


