# Six Months With Julia: Parse-time Transpilation in 80 Lines or Less

In 2019, during the month of November, I picked up Julia while looking through the available languages on Exercism. I wrote an article talking about some of the neat features I got to play around with, and a fair number of folks in the Julia community saw it. I started at an internship position writing Julia code soon after, and have been happily plugging away since.

Today, to celebrate half a year of learning from the kind, whip-smart folks at my job and on the Julia Slack, I’m going to show you a fun little weekend project I’ve been working on. It lets you run Brainfuck code inside a Julia file without using a runtime interpreter. It does this by transpiling a Brainfuck program into a Julia function prior to compilation. It’s tiny, clocking in at less than 80 lines of code. …

# Two Weeks With Julia: a Java Programmer’s Journey Into New Paradigms

I decided I wanted to learn a new language two weeks ago. While I was having a lot of fun working with Java 8’s Streams for the first time, I felt like I was trying to make Java do something it was not initially built for. This isn’t a quantifiable feeling, but it was enough to have me looking in other places. A brief glance at the Exercism language list led me to Julia, whose founders it describes as wanting “to eat their cake, and have it too.” …

# Solving (and Refactoring!) the Knapsack Problem in Java

This is part of a series where I take Exercism exercises and break down the process of coding and refactoring my solutions.

# Intro: Understanding the Problem

The Knapsack Problem is often used as an introductory problem for dynamic programming. The basic premise is that you’ve received a bunch of items, each with a non-negative value and weight. For the sake of simplicity, we’ll assume both values are also integers. The question the Knapsack Problem poses is this: if we’re given a backpack with a carrying capacity of n, what combination of items with total weight less than n will give you the maximum value?

The algorithm for solving this problem involves some setup. …