RSSAmplifier

Blog

Darrien's technical blog

Recent content on Darrien's technical blog

blog.darrien.devRSS feed ↗12 posts

Latest posts

You Don't Know Gif - An analysis of a gif file and some weird gif features

Yes I am referring to the mainstay common gif you’ll find all over the web at large sites like Google’s owned Tenor or Facebook’s owned giphy. Everyone’s favorite file format for sharing short animated snippets. The gif as most people know it As most people know gif, gif is an animated file format. You might have looked at gif files and thought wow these files are pretty…

Learn by doing, rather than do by learning

During my time as a professional software engineer, I have had countless debates over the merits of one design pattern, library, or concept over the other. Some are even publicly documented! At this point in my career I have spent a number of years educating folks. This includes students in elementary school, to students in college, to hundreds of professional software engineers at previous…

Twolander a Moonlander Update

Since making my Moonlander post I’ve had a lot of folks from work and otherwise checkout my blog. I don’t keep website statistics here (I like to honor folks' privacy on this site) but I can see my nginx logs are popping! However the information in the previous post is a little out of date. I’ve changed up some layouts a little and found one more comfortable! Let’s jump in.

Landing on the Moon - A trip to ergonomic keyboards

Note: I have an update to this post! If you’re interested in learning more of my later experiences with a split keyboard, check it out here. Since I sit at a desk for so long each day I want the experience to be as comfortable as possible. Keyboards are the primary way I interact with computers, and I’ve had a number of them over the years. Some big, some small. Some mechanical, and…

Writing a calculator parser/evaluator (without knowing anything about them!)

A few weeks ago I got an urge to build a calculator parser and evaluator. Something that can take a simple 5 + 6 + 7 expression and evaluate it to a number: 18. I had never worked with calculator parsers before and had also never heard of the shunting-yard algorithm when I wrote this. I wanted to go in blind just for the fun of it and to see what I could come up with.

Self Hosting Is Cool

After many years of my main site and my blog (you’re here right now) being hosted on infra I don’t own, I have migrated everything to infra I do own. My main site was hosted on GitHub pages, and my dev blog on a Google Cloud Micro instance (the free tier one). I didn’t intentionally scatter them about, it kind of just happened over the years. I had a little extra time on my hands…

Error handling in Java is error prone

There have been a number of debates over the years about the merits of checked versus unchecked exceptions. Kotlin’s approach when doing interop with Java is to ignore checked exceptions altogether, effectively turning every exception into unchecked exceptions. You may have your opinions about whether you prefer checked or unchecked exceptions, but I’m here to tell you both are…

So you want to write object oriented Rust

Whether you wanted to find out about object oriented Rust yourself, or you wanted to see why in the world I’m talking about object oriented rust, you are here. And so let us talk about object oriented Rust. Object oriented Rust is not so outlandish. Many folks think of Rust as a functional language, and while there are plenty of functional paradigms in Rust, many of those paradigms are also…

Flicker free fireworks (or how I accidentally rediscovered the regen buffer)

In my last post I talked about how I made a enjoyable little display of fireworks for the terminal. It was fun to make and it’s fun to watch when meetings get boring (always). Fireworks can be found here. However after running my fireworks for a while, I started noticing some funky details. The fireworks could be a little flickery at times. And not in a good way. Well we couldn’t have…

Fireworks for your terminal

Recently I embarked on a fun little side project. There have been just too many rampant fireworks going on outside and I was feeling a little left out, so I decided to make some of my own. Given I have no experience with anything like OpenGL at all, and was feeling like learning termion since I consistently use tui with a termion backend and only sort of understand how it works, I decided terminal…

My rust experiences over a year

I had a whole lot of fun with the Typeracer post I made showing how the program itself had changed throughout its lifetime. What I didn’t mention (although is fairly obvious if you look at the code) is that Typeracer was my first real exposure to Rust. I went through a bit of the rust book and wrote a tiny compression tool that did a sort of run length encoding algorithm, but both of them…

Typeracer through the ages

Hey folks. I’m Darrien Glasser, the main dev on the Typeracer project. The project has been going for almost a year and has been through some significant changes while doing its best to keep the core idea intact. Typeracer is a terminal typing game where the goal is to type out a bit of text from a passage as fast as you can. Recently we cut the 2.0.0 branch off and released it to the…