September 2011
2 posts
3 tags
TortoiseBlame as Visual Studio external tool
Add an External Tool pointing to TortoiseProc.exe with the following parameters: /command:blame /path:"$(ItemPath)" /line:$(CurLine) /startrev:1 /endrev:-1
Sep 21st
3 tags
Video Game Developers in Belgium - update
LuGus Studios has been added to the list here: (link)
Sep 6th
30 notes
August 2011
2 posts
2 tags
kkrunchy and false positives
I have been using the kkrunchy EXE packer (link) for a while, but I only noticed now that the resulting EXE were way too often reported as malicious by antivirus software. VirusTotal (link) reports a 35% detection rate, which is way too high to ignore. Googling around I found the following quote (link) from ryg (of Farbrausch fame), the guy behind the amazing kkrunchy: long story short:...
Aug 8th
1 note
1 tag
Escaping wildcards in Perforce filenames
To refer to files containing the Perforce revision specifier wildcards (@ and #), file matching wildcard (*), or positional substitution wildcard (%%) in either the file name or any directory component, use the ASCII expression of the character’s hexadecimal value. ASCII expansion applies only to the following four characters: @ becomes %40 # becomes %23 * becomes %2A % becomes %25 ...
Aug 3rd
22 notes
July 2011
5 posts
2 tags
Lua quiz
Explain how this: ... t = { [123] = 'hello' } print(string.format('t[%d] = %s', key, tostring(t[key]))) Can output this: t[123] = nil
Jul 20th
8 notes
2 tags
svn move, file gone
This one puzzled me quite a bit, that was a strong case of PEBKAC but still… I have a file in directory A, I do an svn move from A to B, so now the file is in B. I commit the whole thing, do an update on another computer and A turns into B, but the file is not there anymore… What happened? svn log tells me the file should be there, svn list confirms… yet there is no file on the...
Jul 19th
4 notes
2 tags
Restoring the executable bit
I got a bunch of files on Mac OS X who lost their executable bit (because they got copied to and from a Windows host), I wanted to automatically restore them all. Being such a newbie with bash it took me some time but I managed to get this one running, and I am so proud I feel like sharing it with the world. That’s supposed to be just one line. for f in *; do if [[ `file $f` == *executable*...
Jul 6th
2 notes
5 tags
Goodbye Jean Bartik
The news didn’t make the headlines, and I only discovered right now that Jean Bartik died this year on March 23. She was one of the ENIAC programmers, and worked on the BINAC and UNIVAC at EMCC. She was an invaluable source of information and first-hand anecdotes on all these early pieces of wizardry. Her autobiography should be published soon, I can’t wait to read it. Sources: The...
Jul 3rd
7 notes
1 tag
disable Google country redirection
I live in Belgium, a country that has three national languages: French, Dutch and German. I speak French, I barely understand Dutch, and I can’t speak any German. But I know enough English to run all my software in English, always. Now every once in a while, Google realizes that I am in Belgium and switches to Dutch. And in the case of Google Groups, there doesn’t even seem to be a...
Jul 1st
June 2011
4 posts
3 tags
Water Finds a Crack
Some time ago I read a very interesting article in Game Developer Magazine, and the full text of this article has just been posted on the author’s web site. Water Finds a Crack - Soren Johnson: (link) Many players cannot help approaching a game as an optimization puzzle. What gives the most reward for the least risk? What strategy provides the highest chance – or even a guaranteed chance...
Jun 18th
2 notes
4 tags
C and C++ quiz
This one is ugly, and be careful that not all compilers get it right so you are not even sure to get the right answer by testing it :) What should the following code print in C? And what should it print in C++? And why? printf( "%d\n", sizeof( 0, "hello" ) ); RSS and Tumblr readers, please load the post to access the Disqus comments.
Jun 13th
14 notes
2 tags
C quiz (again)
Explain why the following code displays “WTF”: double pi; pi = 3,14; if( pi != 3,14 ) printf( "WTF\n" ); Comments are here below.
Jun 8th
2 tags
C quiz
Explain under what conditions the following C statement will display “WTF”: if( x == ( x + 1 ) ) printf( "WTF\n" ); Comments are here below.
Jun 3rd
May 2011
2 posts
2 tags
Video Game Developers in Belgium - update
The Kortrijk-based company “Triangle Factory” has been added to the list. Updated list here: (link)
May 25th
1 note
Video Game Developers in Belgium - update
The Bruxelles-based company “Monkube” has been added to the list, thanks Sven! Updated list here: (link)
May 1st
1 note
April 2011
2 posts
4 tags
Gmail SMTP via command line on Windows
My previous attempt (link) at sending emails through Gmail from the command line was a bit cumbersome, so here is a simpler one, by using msmtp (link). You will have to replace [USER], [PASSWORD] and [TO] with appropriate values. echo "hello world" | msmtp --host=smtp.gmail.com --port=587 --tls=on -f [USER]@gmail.com --tls-certcheck=off --user=[USER] --passwordeval="echo [PASSWORD]" --auth=on...
Apr 25th
3 tags
hindering further progress
Or consider the normal mathematics curriculum, which continues relentlessly on its way, each new lesson assuming full knowledge and understanding of all that has passed before. Even though each point may be simple, once you fall behind it is hard to catch up. The result: mathematics phobia. Not because the material is difficult, but because it is taught so that difficulty in one stage hinders...
Apr 23rd
1 note
March 2011
1 post
4 tags
Visual C++ 2010 crash on startup
Actually it was “almost” on startup, it was the first time I would click anything. And a full reinstall and reset of user settings (/ResetSettings) did not help. And here is the explanation: Visual C++ 2010 uses WPF, WPF uses DirectX, and I recently toggled on this little checkbox in the debug drivers… Damn, two hours of my life I’ll never get back.
Mar 18th
9 notes
February 2011
4 posts
4 tags
Jenkins CI and multiple SVN credentials
The Subversion plugin for the Jenkins continuous integration server stores one credential per SVN server, that means that you cannot use job-specific users. Hopefully I have a quick and dirty solution… by not using the Subversion plugin! Instead, in the Jenkins job, I start the build with a Windows batch command that will do the SVN checkout, like this: C:\scripts\svnas.foo.bat...
Feb 26th
13 notes
Video Game Developers in Belgium - update
I just added “Newfort” to the list, thanks for letting me now about it in the comments! Video Game Developers in Belgium (link)
Feb 22nd
4 tags
Subversion: when --trust-server-cert isn't enough
Got a Subversion server with an SSL certificate that does not match your hostname? That’s a bit annoying but not a big deal either, just force the client to accept the certificate anyway… But what if you need to access it from an account for which you do not have a command prompt? With the Windows “network service” account for example? How are you going to store the...
Feb 20th
6 notes
2 tags
Video Game Developers in Belgium - update
I just added “Crossroads” and “Mentalwarp” to the list, thank you Bruno! Video Game Developers in Belgium (link)
Feb 1st
January 2011
4 posts
1 tag
unrecognized source file type 'WIN32'
Ever had these errors with Microsoft Visual C++? cl : Command line warning D9024 : unrecognized source file type 'WIN32', object file assumed cl : Command line warning D9027 : source file 'WIN32' ignored Check your ”Additional Include Directories”, there is a missing macro there, which will result in a command line like this one: /I "" /D "WIN32" Then /D will be taken as an include...
Jan 26th
4 tags
Fire in Mons
Mons, Belgium. A brasserie (link) where I often go went up in flames this morning, one firefighter got killed. Hopefully it happened on a Sunday and nobody else got harmed, the place was usually crowded every other day, as it was the gathering point of all the high tech companies of the nearby Initialis technology center.
Jan 23rd
3 tags
The ill-fated BINAC
The cooperative blog AltDevBlogADay opened a few days ago, like the name implies it features articles about software development, written by a growing list of people mostly working in the games industry. So most articles are about video games. But mine is not, for my first post I decided to relate the story of the BINAC, the ugly duckling of the early computers. The full copy of the article...
Jan 22nd
1 note
6 tags
WinSqmAddToStreamEx could not be located
That stupid error took me ages to figure out, it turns out is is pretty simple, but searching the web I could only find people reporting the problem, and nobody came up with a solution, so here it is: You are running a Windows 7 DLL on Windows Vista, get rid of it. In my case I had a d3d9.dll that belonged to Windows 7 on Windows Vista and it was looking into ntdll.dll for a function that does...
Jan 6th
4 notes
December 2010
6 posts
2 tags
Lua os.execute on Windows
When you are using environment variables that contain paths with spaces, you have to use quotes. But when os.execute runs a command that starts with a quote it somehow removes it… but apparently adding another pair of quotes around the whole thing helps. os.execute( '""%ProgramFiles%"\\Notepad++\\notepad++"' )
Dec 23rd
4 tags
warning: low framerate
Dec 23rd
13 notes
3 tags
“Despite a swarm of hand-waving vision-painters and post-hoc vision-claimers,...”
– Severo M. Ornstein from “Computing in the Middle Ages: A View from the Trenches 1955-1983” (link)
Dec 16th
1 note
1 tag
Dec 12th
3 tags
Visual C++ 2010, why the hate?
On the 5th of December, the Visual C++ team put a video on their blog about the future of Visual C++. You can watch it here but it is rather boring if you ask me: (link). It gathered a lot of comments complaining about how bad Visual C++ 2010 was, and the very next day InfoQ made a summary here: (link). This summary got some more negative comments (and a bit of support too). Today, the InfoQ...
Dec 7th
2 notes
1 tag
A Google docs spreadsheet inside a document?
That would be convenient but that doesn’t seem to be possible at the moment, so here is a workaround: on the spreadsheet, select “File - Download as - HTML”. That won’t actually download anything but open a new tab in your browser. Now, select the whole thing (ctrl-a), copy (ctrl-c), go to the document, and paste (ctrl-v).
Dec 5th
November 2010
5 posts
5 tags
A PSN game you should not miss
Do you have a PlayStation 3? Then you have to play the freshly released “Funky Lab Rat” PSN game. No really, do it. There is a free demo, with a small download for a very decent length. And watch the trailer, it does a pretty good job at explaining what the game is about: (link) This little jewel has been made by my fellow ex-colleagues at Hydravision Entertainment. I haven’t...
Nov 25th
2 tags
Video Game Developers in Belgium - update
I just added “Preview Labs” and “Crazy Monkey Studios” to the list, but I am not sure if they really are two distinct companies as they sit literally next door to each other. The full list is here : (link) Thanks for your suggestions!
Nov 20th
5 tags
iPhone game released!
One of the coolest part of the job when you are making video games for a living is to see a game you worked on finally hitting the shelves. In this case the shelves are virtual, as I am talking about an iPhone/iPad/iPod game, but that’s pretty sweet nonetheless. Here comes “Innovation Union Lab”, you can get it for free on the iTunes App Store (link). Tilt the iPhone to...
Nov 17th
2 notes
2 tags
Gamebryo is dead
I learned today through the blog of Vincent Scheib (link) that Emergent is pulling the plug. Half of the Gamebryo development team had already been let go last year, but this time the assets and IP will be auctioned, so that’s really the end. Gamebryo is behind titles like Fallout 3, Civilization IV, Oblivion, Bully, Divinity II, Epic Mickey and was running on hardware ranging from GameCube...
Nov 11th
1 tag
Are video games too cheap?
(note for readers outside Europe, 1€ is $1.40) Back in 1992, 13 years old me bought his very first video game. It was A-Train (link), developed by Artdink and published by Maxis. I paid 2399 BEF (link) for it, that would be equivalent to €90 of today (with the 50% CPI inflation). For the following years, I would spend all the money intensive lawn mowing would earn me in video games, and I managed...
Nov 6th
1 note
October 2010
3 posts
3 tags
Essen Spiel 2010
I have always been upset about people dismissing video games as being worthless hobbies for children and immature adults. And now I realize that some time ago I was pretty much considering board games as such myself… that puts things into perspective. Meeting the right people was all it took for me to scratch the surface and realize that there was a lot of things to my tastes in there, and...
Oct 24th
1 note
2 tags
What's wrong with social games?
Great answer by Dave Toulouse, in just a few words: everything that SHOULD surround the game but is instead part of the core gameplay Like bragging about achievements, and telling friends about the game. Source : Over00 (link)
Oct 10th
3 tags
Destructive criticism
I recently read this interesting article : Punchbag Artists (link). It is a collection of short interviews about the impact of harsh criticism on game developers. And even if I haven’t been nearly as affected as much of the people quoted, I can deeply relate. I wonder how people working in mass media in general perceive criticism, but every time I am reading some rude comments I...
Oct 6th
September 2010
1 post
Sep 6th
10 notes
July 2010
3 posts
2 tags
Whole Program Optimization
Not long ago, I was compiling some library with Visual C++ 2008 and I noticed that the release version was noticeably larger than the debug version. The culprit was “link time code generation” (LCTG), the mechanism behind the “whole program optimization” option of Visual C++. But what is it doing exactly? When you build a project, Visual C++ usually goes through three...
Jul 29th
2 tags
The Chipophone
If you have been following the demoscene in the last few years, you might have already heard of Linus Åkesson (link). He goes by the handle lft, and he made some insane hacks with microcontrollers, like Craft (link), Phasor (link) and Turbulence (link). Every time he manages to surpass his previous work, and he recently came up with this : The Chipophone (link). The Chipophone is a...
Jul 22nd
3 tags
Long-Term, Short-Term
You have probably heard of the Microsoft Kin (link), a telephone that was recently discontinued, six weeks after its initial release. The Internet is already gushing with articles about it, but let me summarize the story in a few points. Danger Incorporated created the Danger Hiptop (link), a smartphone that gathered some success with teenagers thanks to its low price and strong social media...
Jul 6th
June 2010
5 posts
1 tag
Criminal Overengineering
yield thought - Criminal Overengineering: (link) Perhaps we do it because it’s relaxing to rattle off three classes worth of code without needing to pause and think. It feels productive. It looks solid, bulletproof, professional. We look back on it with a comforting little glow of self-satisfaction – we’re a good programmer, no messy hacks in our code. Source : ghostie
Jun 24th
Jun 17th
1 note
Enjoying the process
Geeks like me keep fond memories of their first contact with a computer, and I was delighted when I discovered a web site dedicated to collecting such stories: “How I Met Your Motherboard” (link). Of all stories collected there, I found the ones that do not end up well to be the most interesting, like the story told by Daisy Carrington: “It only took a C-” (link). He...
Jun 15th
3 tags
Real-time 3D Developers in Belgium (update)
One more company in the real-time 3D field, Tecton Interactive Presentations. The full list has been updated here: (link)
Jun 7th
4 tags
Rewards and meaning
“If you get a good grade, we will get you a new bike!” I guess parents all around the world have been using this strategy for decades, this is just common sense after all, use a reward to boost motivation. But what if common sense was wrong? There is a distinction to be made between “intrinsic” and “extrinsic” motivation. The former derives from the...
Jun 5th
8 notes
May 2010
5 posts
1 tag
May 22nd
4 notes