This is a guide for those setting up Ruby environments on a Mac, either for the first time or just again on a new machine.

First make sure you’ve dealt with your priors, for example getting your terminal in shape. Here’s a checklist I wrote last week for that. …

Over the past decade, notification badges have become so ubiquitous in web apps that I suspect they’re now deeply embedded in our psyches. The little red notification icon has in a short period used its Pavlovian power to tunnel into and damage our brain chemistry. …

Node packages sometimes need to be updated to address security issues. If you’re tracking your project on GitHub, you might get notices about this from their dependabot utility.

The best way to update a number of packages to their latest version is by using npm-check-updates.

When you run “npm update”…

These are some CSS effects I’ve made. Maybe they can inspire you.

The quality of these gifs is very low. I’ll look into how that can be improved.

Tab focus


This has two elements — a background block, which grows from the bottom on mouseover and recedes when the mouse leaves…

TypeScript and React are two of the most industry-relevant skills for junior developers, but I mostly see people choosing one or the other. The fact is, though, that they work perfectly well together, and take little configuration.

What is React?

The past decade has given us a number of important JavaScript libraries that…

Ruby is updated once a year, on Christmas. Two weeks ago, it got one of its most significant updates, going from version 2.7.2 to a big shiny 3.

What’s new in Ruby 3?

Here’s the official release announcement with details. I will attempt to summarize some new features.

• It’s faster

Increasing speed was one of the key…

Having recently spun myself in circles looking at these options, I thought I’d spin up a guide on Ruby’s three timekeeping classes.

What are Date, Time, and DateTime?

All three are Ruby classes used for working with time. Time is built-in to Ruby; Date and DateTime come from the standard library date.      
#=> 2020-12-31 06:23:24…

(Medium styles two minus signs as an em dash, like this: — . But we’re talking about two minus signs.)

Incrementing a variable is one of the most common things you do as a programmer. The simplest way is to take itself and add 1:

variable = variable + 1…

A couple of weeks ago I wrote a post about using your bash_profile to create custom git commands to improve your workflow. Here are some more aliases I’ve found useful.

These are written for a Mac environment, but the same functionality should be possible in Windows and Linux.

Improved ls

ls is…

If you’re trying to make a game or interactive webapp in Javascript, you’re likely to find yourself wanting to implement keyboard controls.

Event Listeners

To do this, we’re going to use keyboard event listeners. These are keydown (detects when a key is pressed) and keyup (detects when a key is released).


Mavi Toktamis-Paker

Weakly Pseudonymous Software Engineer

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