It was 65 years ago that thousands of Canadians gave their lives so that my parents, both born under nazi occupation during WWII, would be able to grow up in a free and safe Netherlands. The Netherlands is deeply indebted to all the allied forces, but it was the Canadians that were given the task of liberating Holland. One such soldier who embarked on a long voyage from Canada to Europe to fight in Arnhem is depicted in this picture. I admire their braveness, their tenaciousness and their achievements. I hope I would have at least half their courage if I were ever to be in their shoes. For now, all I can do is gladly pay my taxes for an ever improving Canada, which has provided me with a wonderful new home. The True North strong and free.
This weblog documents Bram Stolk's life as an indie game developer who immigrated from Holland to Vancouver, British Columbia.
Wednesday, May 5, 2010
Wednesday, April 28, 2010
Another beautiful evening in English Bay
What a beautiful spring evening in Vancouver today. English Bay is looking its finest. People are flocking to the seawall. Amy and I will probably move out of the neighbourhood soon, to get something bigger and more affordable. The west end, and English Bay in particular is my favorite part of Vancouver, but I'm sure we'll find something nice south of False Creek. We will definitely be renting again, as the housing market has not crashed here yet. I've heard that the disparity between house prices and incomes is nowhere so large as here. A hard hitting housing crash is exactly what is needed here. Last weekend I visited a condo tower near UBC called the Wesbrook that was selling two bedroom apartments for 1.4M dollar. Maybe a Hong Kong businessman can afford this.
Thursday, April 22, 2010
Touch Flags
Just submitted to the app store and available soon: my latest iPad game Touch Flags. It is a flag pop quiz, with amazingly realistic multi touch interaction. You can drag, pinch, stretch, flip, fold and swirl the flags. It's so realistic, you can almost feel the cloth.
A nice thing about this puzzle game is that it is highly educational. Playing a few games will quickly give you expert knowledge on the flags of the world.
I am really proud of this game, I think it's a killer application of the 10 finger multitouch functionality of the iPad.
Friday, April 16, 2010
Superhero
Friday, April 9, 2010
Pixels
Wow.... this video is an amazing piece of work. Everyone growing up in the digital age will be able to relate to it.
In the other news: last weekend I went to Alderwood Mall in Lynnwood Washington to pick up an Apple iPad. Amy and I took the Amtrak train from Vancouver, heading to Seattle. The Amtrak station in Edmonds has some historic items on display. Railroads have such a rich history in the United States, opening up the continent to the pioneers and new settlers. It's a shame that the US railroads have been ignored by the car owning masses and the governments alike. It's a shadow of what it once was. It deserves a better fate, because it can be very comfortable. I remember an Amtrak ride from New Orleans to Memphis, when we had a nice juicy steak dinner, white tablecloths and silverware included, on board of the train. And because the ticket was bought months in advance, it was unbelievably cheap.
Wednesday, March 10, 2010
My bid to AMD's 48 cores
This is my entry to AMD's challenge to use a 48-core computer.
OpenGL shading, DirectX rendering, Toy Story, Jurassic Park, Call of Duty graphics, ray tracing... it is all child's play, stuff from the minor-league when it comes to high quality rendering. These render methods are all very crude approximations of what light actually does. To do a faithful simulation of light, you need to solve what CG scientists call 'the Rendering Equation'.
The best known method for solving this is Henrik Wann Jensen's Photon Mapping algorithm. The concept is downright simple. Unlike ray tracing, where rays are fired from the eye into the scene, Photon Mapping shoots photons from the light sources into the scene. In a post process step, the scene is sampled for photon distribution. So how many photons are we talking here? Well, typically between 100M and a billion to get a noise-free high quality image. And after doing all that work, what does it yield? Well, you get things like Caustics, Diffuse Inter-reflections and Soft Shadows not obtainable by conventional render methods. The images below will illustrate my point (taken from Henrik's web site.)
In the field of parallel computing, a class of problems is designated as 'embarrassingly parallel'. Those problems are easy to divide up in chunks that can de computed independently from each other. Ray tracing is an example of a problem in this class. However, Photon Mapping is just as embarrassingly parallel, maybe even more so. When shooting let's say 480M photons into a 3D scene, it will be as simple as giving each core 10M photons each. After generating those 48 maps with photons, each can be sampled (with final gathering) independently, as there is no need to merge the maps. The combining of results can be performed in screen space (pixel basis).
Generating these physically correct images can typically take many hours per single image. A parallel algorithm will exhibit near linear speed ups. This means that 48 cores will render the same image almost 48 times faster than a single core would. In my previous job, I worked at the SARA super computing centre. While working there, I had access to 128 core Itanium and 512 core MIPS super computers. These were not clusters, but real shared memory supers, with all those processors running under a single OS image. During an occasional idle time, after work hours, I would test my photon mapping implementation, and I can confirm that Photon Mapping indeed scales linearly, even with a lot of cores thrown at it.
To summarize... if I had access to a 48 core machine, I would use it to investigate how feasibly it is to do Photon Mapping at more interactive rates at low photon count, and low screen resolutions.
Sunday, February 28, 2010
Vancouver exploded in celebrations

Vancouver and Canada love the Olympic Games. But there is one thing they love above all: the game they call their own: Hockey, or as it is known in the Netherlands: ijs hockey. The town exploded when Canada clinched the gold in overtime. We took a short bath in the crowd on Granville street. Vancouver is in ecstasy over this win. It reminded me of the 25th of june 1988 in the Netherlands. The game against the USA was a lot of fun to watch. Judging from the Canadian player names, there could be quite a few with Dutch and German ancestry playing for Canada today.
Friday, February 12, 2010
Meeting the Prime Minister

The Ambassador invited me for drinks and meet the Dutch Prime Minister Jan Peter Balkenende. That was such a big honour, I even got to shake his hand. I tried to shoot a picture of myself and the Prime Minister. It's my face in the foreground of the picture. There was also a professional photographer, so maybe I can get hold of a better picture. The PM made a nice speech, with some good jokes. He even made a really nice adlib joke to a heckler on Carnaval being a Catholic contribution to Dutch culture, not suited for a Protestant.

A big surprise moment was when the Prime Minister introduced the two times winner of the Elf Stedentocht Evert van Benthem, who is now a cattle farmer in Canada. On the picture, you can see him wearing his cowboy hat. He got a big round of applause of course, from the expats. I am now watching the opening ceremony, and am getting in the Olympic mood. On Sunday I will visit the Holland Heineken house, and the week after that I will be there watching the 1500m speed skating on the big screen.
Thursday, February 11, 2010
Olympic Flame has arrived

This evening, while watching the US version of the Office on TV, I was suddenly surprised by cheering people outside, and a motorcade with police escort. So we decided to take a look on the balcony. And what do you know... the Olympic Flame was being brought in over the Burrard bridge. That bright spot on the bridge you see in the picture is the flame. At the down town side, the flame was exchanged with the next relay runner. So it's really starting now. Tomorrow is the opening ceremony. I wonder whether they managed to get Grouse Mountain ready with some snow. I heard there was talk of flying in snow with helicopters. Well, that heli I saw at boundary bay would sure be big enough for the job.
Tevens wil ik van de gelegenheid gebruik maken om Niels, Jelmer, Linette, Marco, Henny, Gerard, Jeanne, Jan, Ard, Anna, Stan en Truus te bedanken voor hun verjaardagskaartje!
Sunday, January 31, 2010
Innercity beauty
This video reminds me on how beautiful downtown Vancouver can be at night. Even after living here for only three years, I already take much of its appeal for granted. Now if we only could get some snow, we can give the world a proper welcome for the 2010 Olympics. Enjoy the video, it is available in HD, although my Mac Mini was too slow to play the full 1080 resolution. In case your computer struggles too, try the 720p version.
Monday, January 25, 2010
Permanent Resident
As of this Saturday, Bram is a Permanent Resident of Canada. This means that I no longer need a work permit to live and work here. It's nice that I do not have to worry about visa's or permits now. Permanent Residency is a portal to full Citizenship. However, getting a Canadian passport would mean losing my Dutch passport, so it may make sense to stay a resident instead of upgrading to citizen. Even if it means not voting here in Canada.
In the other news: there is now a FREE version of the little tank that could, aptly named the lite tank that could. Three brand new levels with fun challenges. You can get it at the appstore. I'm curious to see what it will do to the sales of the full version. Hopefully the LITE version is enticing enough to get people hooked on this new concept of Panzer Puzzles. I tried some promotion at the slide to play forums and the forums of touch arcade.
Wednesday, December 23, 2009
Please contribute $1000 to the stadium.
How much would you be willing to contribute if your city decides to replace the roof on the stadium? What if an official went door to door, to collect contributions for the stadium upgrade? Would you give them a few dollars? It turns out, the government is going to spend 458 million dollars for a new roof, which is almost a 1000 dollars per resident (from baby to elderly) in Vancouver.
Boy oh boy.... that is a lot of money. Can we afford it amidst a recession? Nope. Do we need the new roof? No, not really: it will be built after the Olympics. Is it value for money? Well, no, Amsterdam built a stadium with retractible roof (same capacity) for $150M. Yes, you read that right: for the price of 1 Canadian roof, you could have 3 full stadia, including a retractible roof on each of them.
What is going on here? Is this the Canadian version of Keynesian economics? Surely, an amount this big is not going to the actual construction work force. I'm afraid the vast majority will end up in the pockets of mafia, and corrupt politicians. It is a sad, sad, story, not unlike the Dutch Betuwe lijn.
Thursday, October 15, 2009
Commuting 101
Today is Blog Action Day 2009, putting the spotlight on climate change. Even if you don't believe in a changing climate, it does make sense to use less energy. Scientific American has a few solutions lined up. The first of which is "move closer to work". I agree with this. My work place is 1000m away, as the bird flies, from my residence. But how easy is it to move closer to work? In Canada, it is simple. In the Netherlands it's strongly discouraged by the tax system. Sell your house, and 6% of the price goes directly to the tax man, simple as that. That is 12000 euro on a 200K home. Poof.... money gone, just like that. If you do not own, but rent, it is the same. The rental market is extremely regulated. First step: get rid of this silly tax.
The next step is pretty easy as well: our method of transport does not make sense. When we commute, we use 1400Kg cars to transport a 70Kg cargo (1 human body). The vehicle weighs 20 times more than the cargo, how silly is that? Especially in Netherlands the alternatives are numerous, as there are no hills or mountains there. Why not use a vehicle that weighs less than you? And you can't get a better ratio than that of an electric skateboard. If that's too hip for you: an electric bicycle, or even a gasoline moped weighs less than the occupant. Go for it!
Sunday, October 11, 2009
Engine malfunction at 800ft

I had quite an educational session this morning, during my flight lesson. I had my first engine malfunction. I solo'd last week, but my instructor wanted to do another dual instruction before the next solo. In hindsight that was a good thing... otherwise I would have had the malfunction without an instructor onboard. So what happened? At 800ft, just after take off, the engine would not throttle down. The engine was stuck at 4000rpm. You can fly an airplane with 4000rpm but not land it. We informed the tower, and killed the engine mid-air, to glide back onto runway 12.
The lesson may have been more educational if it happened during a solo. I knew that killing the engine was the thing to do, but I would probably have declared a PAN PAN PAN over the radio, or if I panic'ed more, maybe even a MAYDAY. However, in aviation terminology, an event like this is not a 'forced landing' but a 'precautionary landing'. Another thing I learned: a broken throttle cable will open up the carburetor, not close it, as it would in a car or motorcycle. That makes sense of course, when you think about it.
The rotax engine in my plane is a 4 cylinder, with dual carburetors. With one broken cable, a closed throttle will result in one bank of cylinders fully fueled, and one bank of cylinders on idle fuel. This results in a rough running engine, that cannot go below 4000rpm.
Monday, October 5, 2009
Version 4 of 'the little tank that could'.



Version 4 of the little tank that could is now available on iTunes. This version adds two more levels to the game, and has an improved visual look as well. For the new levels, I added support for concave dynamic objects, to make gameplay a little more interesting. For instance, you can now drive your tank inside other objects. Also, there is a skiing level where your little tank will hit the slopes on a snow board. The addition of the new levels brings the total number of levels to eight. The new content will hopefully spark a little renewed interest in the game. It should not be long now before reaching the 1000th customer mark, as the total sales is 928 as of yesterday (Going by the daily sales reports from Apple. Strangely the weekly and monthly don't match up with the daily. I wish Apple would fix this).Change log for version 4
- New level: "inner circle" (medium difficulty)
- New level: "downhill skiing" (medium difficulty)
- Support for concave dynamic objects
- Low friction ice surface
- Glowing vector graphics
- Level "tube launch 101" improved (higher fps, less exploits)
- Level "race to the bottom" improved (shortcut closed)
- Improved parsing of SVG
Sunday, October 4, 2009
luchtdoop
Yes.... this morning I did my first solo flight. After doing all the paper work, and performing the pre-flight checks, I had a short flight lesson, after which my instructor deboarded, and set me off to my first solo flight. I was pilot in command of C-ISLA. The picture on this page shows the aircraft with miss Chinese Vancouver 2007. Flying the aircraft by yourself is a great feeling. The difference in weight without my instructor made my first touch and go pretty messy, but the landing after that was flawless. A big thanks to the people at sea land air, and to the air traffic controllers of boundary bay airport. Hopefully, my license will not be far away now. And after that, I need to get a license for flying with passengers. Who wants to fly with me over the vast wilderness of British Columbia?