-
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.
You can thank Ajit Pai and the FCC. From the bottom of my heart, I really and truly hope that somehow I am proven wrong. I hope that the FCC decides to actually vote on behalf of the people it represents. I hope that the FCC does what is right, rather than allowing itself to…
-
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.
The figures we mock the most might just be the ones who represent us best. Gazzy Garcia, better known as "Lil Pump," just hit #7 on the Billboard Hot 100 with his two-minute "Gucci Gang," the shortest song to break the Top 10 since 1975. Lil Pump is enjoying mainstream success now, but we can’t…
-
What I Learned from Giving a Dart Talk
At 5:30 P.M., I hooked my laptop up to a projector and promptly began giving a presentation to a whopping six people. The number might sound small to you, but to me, it was a really big number of people to show up to a talk by a guy who had not, up to this…