January 7th, 2019

Decoding WebAssembly



Low-level languages such as C, C++, and Assembly have always interested me. However, the lack of use cases for these languages in my personal projects causes them to be left to the side. I do believe proficiency in these languages helps developers write better high-level code, so I occasionally work with them in my free time. This article introduces a new low-level language called WebAssembly.

Ever since I first heard about WebAssembly, I've wanted to play around with it. WebAssembly was released as a minimum viable product (MVP) in March 20171. It's designed to work in the web alongside JavaScript. WebAssembly allows programming languages other than JavaScript to run in the browser. Despite its name, WebAssembly is not an assembly language since its not hardware specific2. Instead, WebAssembly runs in the same browser virtual machine that executes JavaScript3. In the past this VM was only able to run JavaScript, however as of November 2017 it can also execute WebAssembly across all major browsers4.


July 11th, 2018

How Do Regular Expressions in Groovy Stack Up?



+5 More

Using regular expressions for pattern matching is a task software developers perform on a regular basis. Although regular expressions still differ a bit across languages, they are standardized to the point where they are language agnostic. However, interacting with these regular expressions differs greatly across different programming languages. In my recent ventures into Groovy, I saw a very unique approach to handling regular expressions. I decided to compare the approach in Groovy to approaches in other languages I often use. This article shares my findings.

Language Agnostic

A concept that is independent from any single programming language implementation. Skills that are language agnostic can be applied throughout the software development ecosystem.