RSSAmplifier

Blog

Anthony Super

Personal Blog of Anthony Super. Includes articles on startups, programming, life, humor, and music.

anthony.noided.mediaRSS feed ↗10 posts

Latest posts

I guess I kinda get why people hate AI

I’m sitting on a lānai in a hotel in Waikiki beach, writing this article, and wondering if the job I am starting nine days from now will be my last. This is a unique situation for me in a few ways—I’ve never been to Hawaii before, I think the five minutes it’s taken me to come up with that opening sentence is the somehow the most time I’ve ever spent on a hotel balcony, and this is the first time…

Writing about Haskell is Hard

If your first thought upon clicking on a blog post entitled “Writing about Haskell is Hard” was “I bet this guy was writing a very different sort of post, got frustrated, and went back to the drawing board,” congradulations, you’re right! Because when I sat down after work and decided to do some blogging about programming, I originally wanted to write an introduction to my new JSON library, jordan…

Error Messages in Haskell, and how to Improve them

I’ve been writing more and more Haskell lately, as part of a side project involving GraphQL. As part of working with the language, I’ve had to work with its compile errors. The Haskell compiler gives you errors that are extremely informative—if you know the language. If you don’t know the language very well, the compiler errors can occasionally be opaque and unhelpful. I’ve very much enjoyed using…

A Brief History of my Failed Attempt at Making a Video Game

On the internet, it isn’t particularly hard to find technology postmortems. Some of them are from large, venture-funded companies which eventually keeled over and died after the investors ran out of confidence and the bank account ran out of money. Others are from open-source initiatives that failed to find a footing and drifted off into darkness until their creator decided to turn the lights off…

Dynamic Syntax Highlighting with React.js

Let’s say you’re building a modern web app. You’re using react , you’re set up with webpack code splitting , you render stuff on the server-side, everything is awesome. Even better, your dependencies are really lean-and-mean: you fetch stuff as you go, so the initial bundle is very small! You might run into a problem, though, if you need to render user-generated Markdown. You’re already using the…

Templates, Index Sequence, and Optimization

Recently, I’ve been working on a 2D game. Full-time, in fact: I recently graduated early, and I figured I might as well take a year and a half to work on this project before getting a “real” job. I initially started creating a game in Unity, however, I quickly realized that I didn’t actually like the engine. I actually disliked it fairly heavily, and it was hurting my productivity. So, naturally,…

Luck and Analysis

Over the last few years, I’ve become progressively more interested in tabletop games. As a result, I’ve been playing more of them—and thus rolling more dice. Now, as with any game of chance, occasionally luck isn’t in my favor and and I’ll consistently do much lower damage than I feel like I should. When you do 5 damage on an attack that averages 16, it feels pretty awful. I, however, wanted to…

value_ptr

In today’s blog post, we’re going to discuss the idea of a value_ptr . Basically, the idea is that it’s pointer with value semantics. Why would you want this? Well, polymorphism for one. For another, you could conceivably want to allocate a very large number of some very large objects on the stack (perhaps recursively), and you don’t want to cause an overflow. This has been implemented before ,…

An alternative way to Memoize in Ruby

I was screwing around with Ruby Coroutines, and the concept of coroutines in general, when I came across this page . It talks about how you can use coroutines to memoize functions. Ruby has native coroutines. You can guess what happened next. Here’s what I came up with: class Object def self . fiber_memoize ( method_name ) meth = self . instance_method ( method_name ) self . send ( :define_method…

Some thoughts on Ruby

I’m a well-known Ruby fanboy among my circle of friends. Even people who aren’t into programming will occasionally make a comment about it, which I think is an indication that I talk about how great the language is too often. In truth, it’s not surprising that people might know this about me. I really, really like Ruby. I don’t think it’s perfect for all tasks—hell, I think it’s downright terrible…