Quantcast
Channel: Andrew Kelley
Browsing latest articles
Browse All 61 View Live
↧

Image may be NSFW.
Clik here to view.

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 Article


John 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 Article


How 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 Article

Rapid 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 Article

Image may be NSFW.
Clik here to view.

Statically 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 Article


Image may be NSFW.
Clik here to view.

Spot 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 Article

Private 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 Article

Image may be NSFW.
Clik here to view.

Pillagers! 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 Article


Image may be NSFW.
Clik here to view.

7dRTS 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 Article


Image may be NSFW.
Clik here to view.

I 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 Article

JavaScript 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 Article

Do 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 Article

Image may be NSFW.
Clik here to view.

My 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 Article


Image may be NSFW.
Clik here to view.

Laptop 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 Article

Image may be NSFW.
Clik here to view.

Turn 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 Article


Introduction 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 Article

Image may be NSFW.
Clik here to view.

Troubleshooting 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 Article


Zig 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 Article

Zig: 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 Article

A 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 Article

Zig: 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 Article


Unsafe 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 Article


Image may be NSFW.
Clik here to view.

Zig: 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 Article

Image may be NSFW.
Clik here to view.

I 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 Article

String 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 Article


Image may be NSFW.
Clik here to view.

Using 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 Article

Why 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 Article

So 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 Article



The 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 Article

Why 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 Article

Image may be NSFW.
Clik here to view.

Redis 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 Article

Zig'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

Browsing latest articles
Browse All 61 View Live