Lemming - PyWeek #12 Game Development Journal
Lemming - PyWeek #12 Game Development Journal PyWeek #12 challenge starts in 2 days, 16 hours, and 11 minutes. And I have 23 hours of homework to do in order to clear the Week of Py for development....
View ArticleJohn Muir Trail from the Perspective of Andrew Kelley
John Muir Trail from the Perspective of Andrew Kelley 198 miles - July 24, 2011 through August 4, 2011 Journal Entries Day 1 - First Day of Hiking Day 2 - Donahue Pass to Some Lake Day 3 - Some Lake to...
View ArticleHow to be Successful at PyWeek
How to be Successful at PyWeek A short series to help you win. Covers these topics: What PyWeek is, and Why You Should Participate Video Games in Python Speed Developing Game Theory - How to Create Fun...
View ArticleRapid Development Email Templates with Node.js
Rapid Development Email Templates with Node.js Contents Sending Automated Emails in Node.js node-email-templates Gotchas Fundamental Flaws Includes VS Template Inheritance Sharing CSS Dummy Context...
View ArticleStatically Recompiling NES Games into Native Executables with LLVM and Go
Statically Recompiling NES Games into Native Executables with LLVM and Go I have always wanted to write an emulator. I made a half-hearted attempt in college but it never made it to a demo-able state....
View ArticleSpot the Fail
.stf { width: 1000px; } .spoiler { padding: 14px 0; color: transparent; font-size: 1.2em; } .spoiler:before { content: "Hover for spoiler -->"; color: black; } .spoiler:after { content: "
View ArticlePrivate Methods in JavaScript
Private Methods in JavaScript In JavaScript, we don't have private methods right? We must to resort to using this._somePrivateThing() right? Wrong. Before function Cell(x, y) { this.x = x; this.y = y;...
View ArticlePillagers! 7dRTS Game Development Journal
Pillagers! 7dRTS Game Development Journal I have decided to participate in the 7-Day Real Time Strategy Challenge, July 2013 edition. I am working with Michael Weber who will create sound effects,...
View Article7dRTS Game Reviews
7dRTS Game Reviews We all have limited time. This is a guide to help you decide which 7dRTS games to play, and which you might unfortunately have to skip if you don't have time to play them all. It is...
View ArticleI am not a "JavaScript Developer".
I am not a "JavaScript Developer". It seems that the tech world is trying to thrust upon me an identity which I do not hold. GitHub puts "JavaScript" right under my name: Here are snippets from actual...
View ArticleJavaScript Callbacks are Pretty Okay
JavaScript Callbacks are Pretty Okay I've seen a fair amount of callback bashing on Hacker News recently. Among the many proposed solutions, one of them strikes me as particularly clean: "asynchronous...
View ArticleDo Not Use bodyParser with Express.js
Do Not Use bodyParser with Express.js Note: this post has been edited to take into account TJ's diligent work in response to this. I came across this Google+ post mentioning this StackOverflow post in...
View ArticleMy Quest to Build the Ultimate Music Player
My Quest to Build the Ultimate Music Player Over the past few years, I have been slowly but surely building my own music player. It's been a wild ride. The codebase has radically changed several times,...
View ArticleLaptop Review - Bonobo Extreme
Bonobo Extreme Review I used to have a Dell Inspiron XPS 13 Developer Edition. It was fine, but I needed something with a better graphics card because I wanted to learn some of the new OpenGL features...
View ArticleTurn Your Raspberry Pi into a Music Player Server
Turn Your Raspberry Pi Into a Music Player Server A few months ago I published My Quest to Build the Ultimate Music Player, where I described some of the trials and tribulations that led to Groove...
View ArticleIntroduction to the Zig Programming Language
Introduction to the Zig Programming Language The past few months I took a break from working on Genesis Digital Audio Workstation to work, instead, on creating a new programming language. I am nothing...
View ArticleTroubleshooting a Zig Regression with apitrace
Troubleshooting a Zig Regression with apitrace The past three months I have spent rewriting Zig internals. Previously, the compiler looked like this: Source → Tokenize → Abstract Syntax Tree →...
View ArticleZig Programming Language Blurs the Line Between Compile-Time and Run-Time
Zig Programming Language Blurs the Line Between Compile-Time and Run-Time Zig places importance on the concept of whether an expression is known at compile-time. There are a few different places this...
View ArticleZig: Already More Knowable Than C
Zig: Already More Knowable Than C There is a nifty article created back in 2015 that made its way onto Hacker News today: I Do Not Know C. The author creates a delightful set of source code samples in...
View ArticleA Better Way to Implement Bit Fields
A Better Way to Implement Bit-Fields One of the main use cases for the Zig Programming Language is operating system development and embedded development. So, what better way to make sure the language...
View ArticleZig: December 2017 in Review
Zig: December 2017 in Review I figured since I ask people to donate monthly, I will start giving a monthly progress report to provide accountability. So here's everything that happened in Zig land in...
View ArticleUnsafe Zig is Safer Than Unsafe Rust
.red { color: red; } .green { color: green; } Unsafe Zig is Safer than Unsafe Rust Consider the following Rust code: struct Foo { a: i32, b: i32, } fn main() { unsafe { let mut array: [u8; 1024] = [1;...
View ArticleZig: January 2018 in Review
Zig: January 2018 in Review One month (and a few days, sorry I'm late!) has passed since I did the December 2017 writeup, and so it's time for another month-in-review for my esteemed sponsors. LLVM 6...
View ArticleI Quit My Cushy Job at OkCupid to Live on Donations to Zig
I Quit My Cushy Job at OkCupid to Live on Donations to Zig I am fortunate to be one of those people who started tinkering with code in their teens, and then found themselves in the position where...
View ArticleString Matching based on Compile Time Perfect Hashing in Zig
String Matching based on Compile Time Perfect Hashing in Zig Inspired by cttrie - Compile time TRIE based string matching, I decided to see what this solution would look like in Zig. Here's the API I...
View ArticleUsing Zig to Provide Stack Traces on Kernel Panic for a Bare Bones Operating...
Using Zig to Provide Stack Traces on Kernel Panic for a Bare Bones Operating System Last week, I reached an exciting milestone in my career as a programmer. For the first time in my life, I ran code...
View ArticleWhy I'm donating $150/month (10% of my income) to the musl libc project
#prog { background-color: #171717; width: 350px; height: 30px; border: 1px solid black; } #done { background-color: #309e07; width: 100%; height: 30px; line-height: 30px; text-align: center; color:...
View Article`zig cc`: a Powerful Drop-In Replacement for GCC/Clang
`zig cc`: a Powerful Drop-In Replacement for GCC/Clang If you have heard of Zig before, you may know it as a promising new programming language which is ambitiously trying to overthrow C as the...
View ArticleSo Long, Twitter and Reddit
So Long, Twitter and Reddit It's been over three years since my last blog post. I think that the website code started to feel like it had bitrotted, and so making new blog posts became onerous. But...
View ArticleThe Techno-Optimist Manifesto
The Techno-Optimist Manifesto Technology is a tool that enhances the power of the wielder. Our tools are getting more and more powerful. Some tools, such as nuclear fission, are so powerful that they...
View ArticleWhy We Can't Have Nice Software
Why We Can't Have Nice Software The problem with software is that it's too powerful. It creates so much wealth so fast that it's virtually impossible to not distribute it. Think about it: sure, it...
View ArticleRedis Renamed to Redict
Redis Renamed to Redict Redict was originally created by Salvatore Sanfilippo under the name "Redis". Around 2018 he started losing interest in the project to pursue a science fiction career and gave...
View ArticleZig's New CLI Progress Bar Explained
Zig's New CLI Progress Bar Explained Sometimes, programming projects are too easy and boring. Sometimes, they're too hard, never ending or producing subpar results. This past week I had the pleasure...
View Article