My First Julia Package - TriangulArt.jl
Posted on February 4, 2024
| 6 minutes
| 1267 words
| Jonathan Carroll
| Link to source

I’ve tried to get this same image transformation working at least three times now, but
I can finally celebrate that it’s working! I’ve been (re-)learning Julia and I still
love the language, so it was time to take my learning to the next level and actually
build a package.
[Read More]
Making Links a Little Less Hyper
Posted on December 17, 2023
| 5 minutes
| 1045 words
| Jonathan Carroll
| Link to source
Hyperlinks are great - they add value to a block of text by adding additional
links out to more things to read - but they’re a distraction if you’re trying to
read an in-depth piece of text and comprehend it linearly. Let’s hack the web!
[Read More]
Advent of Array Elegance (AoC2023 Day 7)
Posted on December 10, 2023
| 17 minutes
| 3517 words
| Jonathan Carroll
| Link to source
I’m solving Advent of Code this year using a
relaxed criteria compared to last
year in that I’m
allowing myself to use packages where they’re helpful, rather than strictly
base R. Last year I re-solved half of the exercises using Rust which helped me
learn a lot about Rust. This year I’m enamored with APL, and I wanted to share a
particularly beautiful solution.
[Read More]
Advent of Code 2022
Posted on November 28, 2023
| 34 minutes
| 7175 words
| Jonathan Carroll
| Link to source
In the lead up to Christmas each year, Advent of Code
offers a series of 25 puzzles which start out reasonably simple, but get progressively harder, eventually requiring knowledge of algorithms and dynamic programming techniques. Last year
I solved these in (strictly) base R on the day they were released (or as close to as
I could). I then (starting Dec 27) went back and re-solved (13 of) them in Rust.
This post details what I learned along the way and some fun visualisations I made.
[Read More]
Print Debugging (Now with Icecream!)
Posted on November 7, 2023
| 9 minutes
| 1804 words
| Jonathan Carroll
| Link to source
Print debugging has its place. Sure, it’s not always the best way to debug something,
but it can often be the fastest. In this post I describe a useful way to do this in Rust
and how we can get similar behaviour in R.
[Read More]
Hooray, Array!
Posted on October 9, 2023
| 11 minutes
| 2279 words
| Jonathan Carroll
| Link to source
If you’re reading this hoping that I’m done with droning on about
array-languages, close the tab… it only gets worse from here. If you thought
APL was unreadable, even after my earlier blog posts, again -
close button is right there. In this post I try out a brand new stack-based
array language and continue to advocate for learning such things.
[Read More]
Four Filters for Functional (Programming) Friends
Posted on August 30, 2023
| 10 minutes
| 2024 words
| Jonathan Carroll
| Link to source
I’m part of a local Functional Programming Meetup group which hosts talks, but also
coordinates social meetings where we discuss all sorts of FP-related topics including
Haskell and other languages. We’ve started running challenges where we all solve a
given problem in a language of our choosing then discuss over drinks how they compare.
[Read More]
Now You're Thinking with Arrays
Posted on August 29, 2023
| 14 minutes
| 2884 words
| Jonathan Carroll
| Link to source
I keep hearing the assertion that “writing APL/Haskell/etc… makes you think
differently” and I kept wondering why I agreed with the statement but at the same time
didn’t think too much of it. I believe I’ve figured out that it’s because I happened to have
been using Array-aware languages this whole time! It turns out R is an even better
language for beginners than I thought.
[Read More]
Taking from Infinite Sequences
Posted on August 18, 2023
| 13 minutes
| 2634 words
| Jonathan Carroll
| Link to source
One thing that has really caught my attention as I learn more programming
languages is the idea of generators or infinite sequences of values. Yes, infinite.
Coming from R, that seems unlikely, but in at least several other languages,
it’s entirely possible thanks to iterators and lazy evaluation.
[Read More]
Pythagorean Triples with Comprehensions
Posted on August 13, 2023
| 13 minutes
| 2736 words
| Jonathan Carroll
| Link to source
I’ve been learning at least one new programming language per month through Exercism and the #12in23 challenge. I’ve keep saying,
every time you learn a new language, you learn something about all the others
you know. Plus, once you know N languages, the N+1th is significantly easier. This
post covers a calculation I came across in Haskell, and how I can now do the same
in a lot of other languages - and perhaps can’t as easily in others.
[Read More]