Image for post
Image for post

Linear interpolation, or “lerp” for short, is a technique commonly used when programming things like games or GUIs. In principle, a lerp function “eases” the transition between two values over time, using some simple math. This could be used to slide a character between two coordinates, or to animate a change in size or opacity of a UI element. If you lerped between two colors, you’d get a gradient. The Unity game engine includes helper functions for Lerp in the Vector, Quaternion and floating point Math classes.

The use case I’ve been working with lately is smoothing player movement from…


Image for post
Image for post
Photo by Fotis Fotopoulos on Unsplash

One debate I see beat back and forth frequently on Reddit and Hacker News is the value of a Computer Science degree. Many people make the assumption that formal education isn’t necessary or even desirable in a world where we have an Internet full of educational resources related to programming. After all, you can just get a book on a programming language or pay for a “MOOC” or Bootcamp, right?

The thing is…that’s enough to learn basic programming, and maybe that’s enough to get you in the door for some jobs, but programming is not what CS is all about…


Image for post
Image for post

If you’ve spent even a little bit of time using common Python frameworks, such as Flask, you’ve undoubtedly seen decorators in use. These little tags are placed on top of a function declaration to indicate that it’s used for something special. This simple example from the Flask web site shows off a typical use case:

app = Flask(__name__)@app.route('/')
def hello():
name = request.args.get("name", "World")
return f'Hello, {escape(name)}!'

The decorator is indicating that the hello() function should be the event handler the framework calls for the specified URL route. Similarly, the Errbot framework for chat bots uses decorators to mark…


With another academic year around the corner, whether classes are in person or online, now is a good time to look into a useful tool that you may come across. LaTeX (pronounced “lay-tek”) is a typesetting tool that is very widely used in academic papers, and many textbooks as well. If you’re studying a math-heavy field, it will save you a lot of frustration.

Image for post
Image for post
A document in Overleaf, a browser-based LaTeX editor.

While you’re probably familiar with writing papers in Microsoft Word or Google Docs, LaTeX is a very different beast. Instead of having a graphical interface where you use the mouse to click through menus and manually…


Have you ever wanted to whip up a quick and dirty graphical interface for a utility you made, and give your Python script a first-class presence in your Dock? Apple doesn’t make it easy to give programs the graphical treatment without breaking out Swift/Objective-C and learning the whole Cocoa ecosystem. Fortunately, there is an easier way…

Image for post
Image for post

I’m the conflicted sort of computer user. One half of me loves the text-based world of terminal software, from piping data around in Bash to editing text in vim when it suits me. I’ve never touched a GUI when using Git, and I dabble…


I have long been a proponent of static site generation, even before the (relatively) recent wave of tools like Jekyll, Hugo and Gatsby. In the pre-WordPress blogging world, having an engine such as Movable Type or the original Blogger.com churn through your content and produce plain old HTML files was the norm. It made sense; after all, the basic principle of a content-driven web site is an author pens an article once in awhile, and users do little beyond reading that content. …

Matt Harzewski

Programmer, blogger, robotics enthusiast.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store