Learn Icon


Learning to code, leveling up, building your skills. Expand your résumé and pursue a fulfilling developer career.
328 Stories
All Topics

Data visualization blog.regehr.org

Explaining code using ASCII art

A collection of ASCII data structures, state machines, logical structures, and more.

People tend to be visual: we use pictures to understand problems. Mainstream programming languages, on the other hand, operate in an almost completely different kind of abstract space, leaving a big gap between programs and pictures. This piece is about pictures drawn using a text character set and then embedded in source code.

Test Double Icon Test Double

Understanding the Law of Demeter

I almost brought up the Law of Demeter on Go Time a couple weeks back:

That being said, sometimes you just have to follow the other person’s path until you realize when it doesn’t actually work for you. I’m totally fine with cargo-culting some sort of rule… I was gonna say the Law of Demeter, but that one’s too hard to explain. What’s a very simple – DRY, right?

See how quickly I abandoned ship there? Ok, it’s not that hard to explain. I just didn’t feel like taking the time to explain it when it wasn’t even my point. Good thing Double Agent Caleb Hearth did a nice write-up on Test Double’s blog about it!

Bash github.com

A collection of handy bash one-liners

Bonnie I-Man Ng:

I was working on bioinformatics a few years ago and was amazed by those single-word bash commands which are much faster than my dull scripts, time saved through learning command-line shortcuts and scripting.

Recent years I am working on cloud computing and I keep recording those useful commands here. Not all of them is oneliner, but I put effort on making them brief and swift. I am mainly using Ubuntu, Amazon Linux, RedHat, Linux Mint, Mac and CentOS, sorry if the commands don’t work on your system.

Josh Comeau joshwcomeau.com

The frontend developer's guide to the terminal

This guide by Josh Comeau is Josh doing what Josh does so well: taking complex/arcane/technical topics and making them approachable & fun for his audience.

It takes years of practice to become a terminal guru, but here’s the good news: we can take a shortcut. We don’t really need to know 98% of the stuff you can do with a terminal. If we focus on the most-important critical fundamentals, we should be able to become comfortable with the command line in a remarkably short amount of time. ✨

That’s what this blog post is all about.

Learn YouTube

Want to learn web development? build something real!

I thought Ali and Jen had some excellent advice in this segment of our JS Party episode on web dev for beginners, so I’m re-sharing it here in hopes that you might share it with people you know who may be stuck in the early phases of their web development path.

I also like what I had to say (imagine that!)

One thing that is true about software development in general… is that it’s actually really hard. And we need to just say that. Because you’re gonna hit bumps. You’re gonna hit walls. And some people will power through those walls and other people won’t, and that’s just the way life is…

But I think having something real that you want to exist… having a real project that you want to see into the world helps you get through those moments.

Rust blog.adamchalmers.com

What I learned from making a DNS client in Rust

Adam Chalmers:

Over the last few weeks I built my own DNS client. Mostly because I thought dig was kinda clunky. Partly because I wanted to learn more about DNS. So here’s how I built it, and how you can build your own too. It’s a great weekend project, and I learned a lot from finishing it.

DNS is simple enough that you can grok it quickly, but still complex enough that Adam learned a ton along the way: reading RFCs, network sockets, Bitvec, and more.

Awesome Lists github.com

Falsehoods programmers believe in

A falsehood is an idea that you initially believe was true, but in-reality it is proven to be false.

E.g. of an idea: valid email address exactly has one @ character. So, you will use this rule to implement your email-field validation logic. Right? Wrong! The reality is: emails can have multiple @ chars. Therefore your implementation should allow this. The initial idea is a falsehood you believed in.

I love this list with my whole heart. We need to do a show on this…

Machine Learning nyckel.com

Machine learning is still too hard for software engineers

George Mathew:

For a software engineer, the hardest thing about developing Machine Learning functionality should be finding clean and representative ground-truth data, but it often isn’t. If you already have a source of good quality data (perhaps because it is already gathered by your application), here are some obstacles that still lay ahead of you

From the difficult to grasp concepts to the varied (and variable quality) software you’ll need to explore and manage the data, there’s still a lot of obstacles in our path before we can put a model to good use.

PostgreSQL ardentperf.com

A hairy PostgreSQL incident

If learning from incidents grabbed your attention, here’s a good one we can all learn from:

It was 5:17pm today, just as I was wrapping up work for the day, and my manager pinged me with the following chat:

<manager>: Hi Jeremy - we have a <other team> ticket - escalated to <leader>, <leader>, etc. <principal> is on trying to advise as well. Are you available this evening if needed for diagnostics? <coworker> is on the call now

No obligation; just checking in to see what my availability is. Quickly thinking it over – I didn’t have any plans tonight, nothing in particular on my agenda. Why not? If I can help then someone else on the team won’t have to, and I don’t have anything better to do tonight.

The game is afoot. It might be a long night…

Learn rtpg.co

Writing your own sudo

Learn how sudo works by writing your own version in Python!

One might think that sudo is actually some binary deeply integrated into the kernel, relying on a special purpose-built system call to achieve its functionality. After all, it lets you use root without even providing the password for that account! But thanks to one bit inside file permissions, sudo can exist without any of this.

The Changelog The Changelog #478

Learning from incidents

This week we’re joined by Nora Jones, founder and CEO at Jeli where they help teams gain insight and learnings from incidents. Back in December Nora shared here thoughts in a Changelog post titled “Incident” shouldn’t be a four-letter word - which got a lot of attention from our readers. Today we’re talking with Nora about all things incidents — the learning and growth they represent for teams, why teams should focus on learning from incidents in the first place, their Howie guide to post‑incident investigations, why the next emerging role is an Incident Analyst, and she also shares a few book recommendations which we’ve linked up in the show notes.

  0:00 / 0:00