Back to flow, it's go time! Building a culture to minimize burn-out.
By Jeffrey M. Barber
I just got back from an epic RV trip across the southwest. The Grand Canyon is certainly grand! Previously, I was thinking about how I end my year from an engineering perspective. The trip helped me realize that I should be playing a more macro level game and focus on the business.
Going hard on low latency, massive scale, with multiple regions
By Jeffrey M. Barber
Recently, I optimized the CDN for a single region, and the task of going to multiple regions is non-trivial. I’ve thought about this in the past since the platform is a mess with respect to multiple regions. I thought about what massive scale would mean. The task at hand is to lower latency in a multi-region context at massive scale. Today, I write up the thoughts as a ramble. Don’t expect much.
Optimizing the CDN aspect
By Jeffrey M. Barber
Since my plan is to build a game with Phaser.js rather than build yet another game engine; I need a web server. Fortunately, Adama is a server-less web hosting platform (yay?). However, I haven’t invested much time beyond “it works”. I ended January by writing a CLI uploader which makes it easy to upload a website from command line. At this point, I could start migrating away my various web properties away from surge.sh. However, I immediately discovered that my unoptimized solution is … unoptimized. At core, the latency was an insane 330ms! In this post, I’m going to share the journey of fixing issues and optimizing the web requests so Adama behaves much better as a CDN.
Burn-out, daunting work, overstretched, and it's just too much.
By Jeffrey M. Barber
As I build a multitude of things, I’m playing a strange game with myself. It may be a bad game that only hurts me. Actually, it’s definitely a bad game which will leave me burned out and in a world of hurt. So, here I am, inventing a new type of cloud, and that should be enough. However, I’m also building a WYSIWYG editor for a new game runtime along with yet another web framework. As a code machine, it’s all sorts of fun, but I’m already feeling the urges to pre-optimize. Finishing any one of these efforts is a herculean effort, so what am I thinking?
Seriously, what am I thinking? I know better than this… le sigh.
Building general artificial intelligence… for board games.
By Jeffrey M. Barber
Much has been written about perfect information games like chess, and I am reviewing literature on imperfect games like hearts. As many of you know, I am a huge fan of Battlestar Galactica (BSG) and the associated board game. I believe there is a level beyond imperfect games that requires deception. Honestly, it seems like a bad idea to teach machines how to lie, but as a hacker, I am focused on building a worthy adversary.
Inventing an ugly programming language
By Jeffrey M. Barber
Compared to some languages, my language is ugly; just an ugly baby that only a code-father like myself could love. First, I’m embracing curly braces which for many may be insulting. Second, my type system is not as great as I would like; this irks me, but I’m working on it. Third, I’m really accepting a large and complex set of built-in types into my heart, and I’m reminded about RISC vs CISC instruction sets. Compared to many languages, my language appears to be a step backwards. Today, I want to illustrate three things my language can do that your language can’t and why the steps backwards are worth it.