35 Followers
5 Following
164 Posts
Project Technical Director, Guild Wars 2 (ArenaNet). Interested in programming languages, game AI, and making life better.
I am severely disappointed that I cannot order open source takeout from a service called GutHub.

The customer is often right.

Sometimes, the customer is missing a vital piece of context which would enable them to be right.

Corollary: not 100% of the storage used by programmers and build machines should be solid state. Testing on platter drives will be important for "minimum spec" compatibility for at least 5 more years. If you always build/test from SSDs, you may become severely IO bound on older drives, and performance differences can be over 100x.
I would love to publish the actual numbers and details someday, but for now, here's a handy tip I learned the fun way from Guild Wars 2: if you use precompiled headers for C or C++, structure them carefully and monitor how much disk IO is spent reading and writing them in an average build. You may be horrified.

We have known for decades that adding people to a late software project only makes it later.

So why is it that nobody gets hired for a team that is ahead of schedule?

Seriously considering a ground-up rewrite of the #EpochLanguage compiler... Yet again. The existing project is riddled with assumptions that I don't like, is very poorly organized, and implements a language that is almost - but not quite - what I want it to be.

If I do it, I will keep large chunks of the existing code (linker mostly). But it's a big enough lift that I am very hesitant.

Anyone got some recommendations for reducing .PCH file sizes? Besides the obvious one ("include less").

I would love to have Clang's chained PCH support in Visual Studio, but oh well.

Presently doing 50GB of disk IO just on PCHs for every clean build of a certain project. Would love to make that number a lot smaller.

#programming
#BuildOptimization

Computers are truly amazing. I can transfer literally billions of pieces of information from one place to another in a second.

Software is equally amazing. I can squander the immense performance capabilities of the computer effortlessly by writing some sloppy code.

Turns out cache invalidation is still a Hard Problem.

Renewing my search for users (or instances!) that might have an interest in #ProgrammingLanguages - particularly design and implementation.

Here is my current project: https://github.com/apoch/epoch-language

(It isn't very approachable right now, but I am making good progress on the second self-hosted compiler and IDE integration with VS2017.)

apoch/epoch-language

epoch-language - Home of the Epoch Programming Language Project

The quintessential Friday afternoon is listening to a discussion about design patterns get drowned out by random people saying "blood!" in silly voices.

#gamedev