I’ve taken a liking to a video game called osu! over the past few months. It’s a rhythm game where you use move your mouse to circles that appear with the beat, and click (or press a key) at the right time. It looks something like this:
Compilers are an interesting subject for me. The feature I value most highly in a programming language is elegance. I’m also a tinkerer and I like to dig into the things I work with. When I dig into the internals of a programming language and I find the internals to be just as elegant as the language itself, it turns a great programming language into an excellent one. This blog post will start by giving a broader introduction to the C compiler toolchain and what each piece does, and I’ll go into deeper detail on each in the upcoming posts.
I found myself in need of a simple tool for deploying a project on every git commit, but I didn’t have a build server set up. This led to Hooks - a very simple tool that allows you to run arbitrary commands when Github’s hooks execute.
This blog post no longer works. I haven’t been maintaining it since I originally wrote it. However, you can see something similar at try.knightos.org.
I’ve been doing a lot of thought about whether or not it’s even possible to both run a simple website and turn a profit from it and maintain a high quality of service. In particular, I’m thinking about image hosts, considering that I run one (a rather unprofitable one, too), but I would think that my thoughts on this matter apply to more kinds of websites. That being said, I’ll just talk about media hosting because that’s where I have tangible expertise.
I’m going to do some blogging about technical decisions made with KnightOS. It’s an open-source project I’ve been working on for the past four years to build an open-source Unix-like kernel for TI calculators (in assembly). It’s been a cool platform on top of which I can research low level systems concepts and I thought I’d share some of my findings with the world.
I’ve been playing with Python for about a year now, and I like pretty much everything about it. There’s one thing that’s really rather bad and really should not be that bad, however - date & time support. It’s ridiculous how bad it is in Python. This is what you get with the standard datetime module:
I’ll open up by saying that I am not a language designer, and I do like a lot of things about Go. I just recently figured out how to describe why Go’s error handling mechanics don’t sit right with me.
I’ve built the KnightOS kernel, an open-source OS that runs on several TI calculator models, including the popular TI-83+ family, and recently the new TI-84+ Color Silver Edition. I have published some information on how to build your own operating sytsems for these devices, but I’ve learned a lot since then and I’m writing this blog post to include the lessons I’ve learned from other attempts.
This is the story of the most difficult bug I ever had to solve. See if you can figure it out before the conclusion.
I have an HTC One, with CyanogenMod installed. I usually use Spotify, but I’ve been wanting to move away from it for a while. The biggest thing keeping me there was the ease of syncing up with my phone - I added music on my PC and it just showed up on my phone.
It’s true. You really don’t need jQuery. Modern web browsers can do most of what you want from jQuery, without jQuery.