-
The Story of my Migration to Dart 2
The latest version of Dart promises improved type safety and better client-side support. What else will it bring? I am a power user of Google’s Dart programming language. I’ve always been a fan of the tooling and libraries, and since my first exposure to Dart almost three years ago, have published over 140 packages into…
-
Building an Esolang JIT with GNU LibJIT
Just-in-time, or JIT compilation, is no new development at all; languages like Java, Python, and the countless languages running on the .NET framework have leveraged JIT compilation for many years now. It can be said that JIT compilation provides the best of the compiled and interpreted worlds: fast startup and high-level features, but execution at…
-
10 Key Differences between C/C++
It might seem like second nature after a while, but for those new to programming, the abundance of language options can often be overwhelming, especially when many seem similar at first, but have different features and use cases. In this video, I give a brief (~24 minute) presentation explaining 10 of the key differences that…
-
Compiler Writing: Pratt-Parsing Types
As much as we might like to think that data types are fixed in place, data types are actually just as mutable as the values they categorize. Consider the following: Given: A type exists, by the name of `Int`.Given: Another type exists, by the name of `List`. How, then, could we describe a type named…
-
Compiler Writing: A Basic Static Type System
Build a basic static type system, and prevent unnecessary runtime bugs! For many, if not all programming languages, a significant part of static analysis is data type analysis. If a compiler can categorize expressions into predictable types, then you can prevent many errors, such as passing a string into a function where an integer was…
-
Developing RESTful APIs with Angel
It’s faster and easier than ever to build fast, secure API’s with Angel. This post is, more or less, a response to Prosper Otemuyiwa’s recent post about Lumen. View the source code for this example here. Contents Get Started Creating a Service Validation Ensuring Unique Emails Preventing Unauthorized API Access Authentication Authorization Conclusion Angel is…
-
Why Net Neutrality Died.
-
Remaking Pong in Dart
Clone a classic game, and play it from the comfort of your Web browser. Pong is a classic game, created decades ago. Though it was designed to emulate table tennis, it actually plays more like a computerized air hockey. It was the first commercially successful video game, and thus is impossible to get your hands…
-
We Are All SoundCloud Rappers.
-
What I Learned from Giving a Dart Talk