Category: Uncategorized

  • Writing Your Second Operating System

    With any skill for which there exist Internet tutorials, there are bound to be hundreds of tutorials covering the very basics. This is especially true for computer programming. The problem, though, is that once you get past the basics, the amount of resources available tends to thin out dramatically. The world is full of “your…

  • What’s New – January 27th, 2020

    As January winds down, I figured it would be a good time to continue my “What’s New” series. (I’ve actually posted one this month already, so this will also cover early February.) What’s Dead (or rather, completed) sumo – I spent the winter break finally completing a compiler. It’s a pretty unsurprising language, but there…

  • Things I Hate About Python

    Everything.

  • Contribute, Or Die: An Open Source Mantra

    I originally wrote a draft of this in December, but was inspired to finish it by recent events (i.e. actix-web). We’ve all heard the trope that the “free” in “free software” does not necessarily mean “without cost” (source). In fact, it really almost never does. Even if a unit of software is available without monetary…

  • How Many Types Is Too Many?

    Position: Type annotations are ultimately undesirable when working with sufficiently-complex type systems, but there is no better solution. There is a point where a formally-verified compiler becomes indistinguishable from an automated theorem prover. Such a compiler can deduce a lot of information from a given language. Take, for example, a hypothetical, C-like language: int array_nth(arr,…

  • What’s New – January 10th, 2019

    Hey everyone. Sorry, I missed December. I had good reason, though – finals, and then holidays. Here’s what’s new. I’ve been reading a lot of research papers, textbooks, and other resources, and with the knowledge I have now, have decided to mostly sideline Manda (sad, right?), in favor of projects I believe will be far…

  • A First Look at the Manda Language

    It’s still not public yet, but here’s a little bit about my current project. If you’ve read any of my “What’s New” posts, you’ll recall hearing about me working on the “Manda” language for the past two months. This isn’t true – I actually started in early 2018. class Tobe { fn complain -> print("I…

  • What’s New – October 30th, 2019

    If you were bored enough to have read my post last month, then you know that I’ve decided that the best way to hold myself accountable to finish tasks and projects is to tell someone what I’m doing. Even if nobody sees it, to me, it’s like I’ve made a promise to whoever hears that…

  • What’s New – Sep. 9th, 2019

    Hello, to the maybe 5 people reading this! This blog has started to gather dust from the lack of usage. In all the years I’ve had this domain, I’ve written fewer than 30 blog posts. So, I decided that by logging what I’ve done been doing (roughly every month), not only can I hold myself…

  • First Thoughts on GNU Guile

    Synopsis: Baby’s first Lisp I had my first encounter with Lisp this week. In the third lecture of the COP4020 (Programming Languages) class  I’m taking, our professor ran through demonstrations of multiple languages and runtimes, including Perl 5, C++, D, and… GNU Guile, an implementation of Scheme. I had heard of it before, and actually…