Articles

(Nov 05) #haskell #types

What is type-driven design? Although there is no concrete definition, it seems that the overarching idea is to elevate as much of the program logic as possible into the types you use. This allows error catching to occur during type checking. However that isn't the only advantage of type-driven design. In her article, Alexis King elaborates on how you should strive towards perserving error information by choosing to parse your data over checking its validity.

(Nov 14) #bash #debugging

If you're like me, you've run into a problem that goes like this: a piece of software is running completely fine one day, then all of a sudden it no longer works. The code hasn't changed at all, so what's the problem? The next best guess is the environment it's running in. Simon Arneaud's article explains that strace is a tool for "system call tracing", which shows you all of the system calls made when a command is run, and how it can be used to debug a problem.

(Nov 09) #go #golang

If you're scaling up your application, it's likely that you'll need more processing power on the backend to handle the increase in requests. That's what load balancers are used for; distributing requests across multiple backends. Kasun Vithanage does a fantastic job of explaining how Round Robin Selection load balancers work by implementing it step by step in Go.

(Nov 09) #compilers #java

We've all used a compiler at some point and their ability to optimize code is one of their most coveted features. But do you really know how these optimizations work? In Haoyi's extensive article he first covers a handwritten optimization for a Java program, then explores the different intermediate representations of a program, goes on to explain inference, explains inter-procedural function inference, and ultimately ends with inferring liveness and reachability.

And that''s it for today! Discuss this issue at our subreddit r/morningcupofcoding.

Did you like what you read? Let us know by clicking one of the links below.

Liked - Disliked

I hope you enjoyed reading the latest issue of Morning Cup of Coding. If you did, consider supporting us by becoming a patron (Patreon) for perks like ad-free issues, or via a one-time donation via PayPal.

Cheers,

Pek