Jim Tilander's blog

September 12, 2021

Music plays a huge part of my recollection of childhood gaming memories. Since chip tunes are hip again (?) it might be socially acceptable to say that I’m in category of not listening to that much more new music. One thing that vexed me a bit was how to find anything that I can play on my actual iPhone / modern mp3 player? Current thinking: how can I get a .



As you might have seen on twitter, I’m pretty much of one opinion where it comes to code formatting and enforcing a common rule in your CI. Here is a sample selection of me screaming into the night, with all the hard to understand brevity that comes with twitter. Reminder to end the discussion before it starts: Enforce code formatting with a "clang-format -style=WebKit" in your CI as part of every single PR.


March 11, 2019

Make is what ties it all together. Makefiles are some arcane gizmo magic. They are also old, old enough that they exist everywhere. Some of you might believe that makefiles are just for building code. Indeed they can be used for this: hello: $(subst .c,.o,$(wildcard *.c)) @$(CC) $(LDFLAGS) -o $@ $^ Where the power of make comes in, is in its ability to encode village knowledge and arcane corner cases. When I start new projects I always put two things in there immediately: a Readme.


February 16, 2019

This is a series about stories about debugging that involves more than just starting up your debugger and stepping through the code. The level beyond debugging with a debugger involves more complicated situations, often you have a class of bugs that are elusive, seemingly random or very expensive to reproduce. In these cases you have to prepare to do either in production debugging, or have enough extra context and information at the time when a report comes to you that you can start answering questions.



Having access to relatively cheap and high performance computer hardware is the foundation of having a new generation of enthusiasts. Raspberry Pi kind of fills that role, but many other alternative exists as well with the access of cheap ARM based CPUs and SoC. The big downfall of these machines though are that they all seem to embrace Linux. Don’t get me wrong, Linux is great. For servers. For educational machines, perhaps not so much.



You could also read some of the history of what happened to Netscape there after [here](https://www.jwz.org/gruntle/nomo.html). Illuminating and relevant. So a while back now (2014) perforce finally opensourced the old windows client p4win. I've been giving them shit^H^H^H^H[honest feedback](https://www.tilander.org/aurora2/p4win_for_the_win/index.html) for years about them [pulling a Netscape](https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/) with their p4v client. I've also been one of the voices who quietly been encouraging them to open source the p4win client since it was pretty much abandonded in favor of p4v development.


April 20, 2017

Every now and then I get the opportunity to watch someone else do their work on their machine. Apart from the interesting (different?) ways they solve their tasks, it is also interesting to note what tools they use to get their tasks done. Over the years people have posted their favorite tools for usage and I’ve always found it instructional. So without further ado, here is my list of tools that I use.



Setting up a new perforce server from scratch is pretty easy, or so it seems at first glance. Indeed it’s pretty easy, you just have to download p4d and run it. However, chances are that you will then have it setup incorrectly and it’s very hard to change a perforce setup once deployed. There also tons of best practices that you will miss out on. I believe the easy of use for initial setup of the server is more intended for trying things out, but not for running in production.


November 13, 2016

Every now and then I get the urge to actually put some of ideas and thoughts that bump around inside of my head on paper (or at least on the Internet). I started to do it back in 2006 with my original blog, which I then revamped once (yeah, that didn’t go so well, one whopping post). How Last time I had this mad idea to write my own software to write the blog in, and to leverage Apple Pages to author things in.


May 1, 2015

This personal blog is a dumping ground for ideas and information that I need to evict from my cache and keep safe. You can also check out the links above to linkedin, twitter, github and bitbucket. I’ve been working for various game companies professionally for over 15 years: Activision, Sony WWS, Lucasarts, High Moon Studios and DICE. Games Here are some of the games that I’ve been working on over the years.