These iconic, low-resolution designs are the perfect tool to learn the basics of physical interface design. Armed with 52 different bricks, let’s see what they can teach us about the design, layout and organisation of complex interfaces.
Nikola Đuza makes a compelling case for the powerful text editor that developers love (or love to hate):
What Vim is excellent at is navigating, making some changes, and repeating the process. The process most call editing (not to be confused with writing). Most developers tend to overlook this fact, but this is one of the strong selling points of Vim. Developers are more prone to reading code, jumping from file to file, making small incisions in the code, and writing code all the time.
Jordan Lewis shared his end-to-end setup to run a live coding stream. He covers all the things — OBS configuration, stream alerts, channel setup, chatbot, becoming a Twitch affiliate…
If you’re reading this post, you might be interested in trying your hand at live coding on stream, as a way of sharing your projects in a more relatable, immediate way than a polished blog post, teaching others about programming, or just as a way to have fun. I think that live coding and streams in general are an interesting possible future form of both education and entertainment, and if you’re contemplating starting your own stream, I sincerely hope that you do it.
Your first week with a new programming language can be tricky. In this episode Jon is joined by Jacquie and DaShaun to talk about their first week with Go. What was their primary focus? What resources did they leverage? What made it stick, and what didn’t?
Here’s what worked for Vlad Mihalcea…
I started a blog first. This allows you to practice your writing and build an audience.
I self-published my book because publishers only wanted to give me just 10% from the profit. I used Leanpub to write and sell the book while I was still writing it and Teachable to sell it when it was done. Leanpub gives you 80% royalties. Teachable gives you around 95%.
Check his Twitter thread for the other twelve (12) things he did to make money with his book idea.
When Shesh kicked off this series he said, “I find it easier to understand something new if it was explained in terms of something I already know. I thought there might be others like me.”
BTW, here are links to the others from this series:
This article isn’t about software development, per se, though there is a section on learning programming. Instead, it’s about YouTube itself and how it’s become an amazing platform for knowledge transfer.
In this piece, we’re going to walk through a number of ways you may use YouTube for tacit knowledge acquisition, on a domain-by-domain basis. I’m afraid the anecdotes here are necessarily domain-specific, but the purpose of this piece is to give you certain patterns that you may adapt to whatever skillset you want to acquire in whatever domain you’re interested in.
It’s a shame that a thing as valuable to humanity as YouTube is owned by a single corporate entity. This makes me appreciate Wikipedia even more…
RegexOne is a free resource to learn regular expressions with interactive exercises.
Nabeel shares some great insights about using games/simulations for learning in this post — I recommend reading it if the topic piques your interest (always be learning, amirite?).
Learning is just the act of engaging with an external thing and performing many conjecture/criticism loops, forming conclusions, and building on them to form a body of knowledge.
So it makes sense that video games would be the primary educational environment of the future: they are the best way we have of (a) creating simulations of reality (b) with fast feedback loops (c) accessible at low cost.
Definitely Secure Bank® returns, this time with a big Cross-Site Scripting (XSS) vulnerability:
To get in character, let’s have you open up your online banking portal and look around. Click here to open Definitely Secure Bank’s website and login. Use any username and any password you want (don’t worry - it’s definitely secure). Keep that tab open for the rest of this post.
Victor is killing it with this Web Security 101 series.
A unique take on explaining Cross-Site Request Forgery (CSRF).
You’re a responsible, hardworking person. You’ve saved up your money over the years at Definitely Secure Bank®. You love Definitely Secure Bank - they’ve always been good to you, plus they make it easy to transfer money via their website. Sweet, right?
You can probably guess where this is headed…
I would like to show some examples of this philosophy in action – of how one can use different unix tools together to accomplish something powerful.
This post takes you step-by-step through printing a leaderboard of authors based on number of commits to a git repo, browsing memes on reddit, setting your desktop wallpaper, and getting a random movie from an IMDB list.
With the combined goal of gaining a deep understanding of DNS, of doing something interesting with Rust, and of scratching some of my own itches, I originally set out to implement my own DNS server. This document is not a truthful chronicle of that journey, but rather an idealized version of it, without all the detours I ended up taking. We’ll gradually implement a full DNS server, starting from first principles.
5 Chapters short.
You have wrapped your head around the Go syntax and practised them one by one, however you won’t feel comfortable writing applications in Go unless you build one.
In this blog post we’ll build a CLI application in Go, which we’ll call go-grab-xkcd. This application fetches comics from XKCD and provides you with various options through command-line arguments.
A delightful list of 24 tips that Amber dubs as “for new devs”, but I’ll just go ahead and scratch the
new out of there and it still fits the bill.
CSS expertise comes with time! While CSS is easy to start with and gives you immediate visual results, mastering it takes time and this is perfectly okay 😃. It is the same for everyone.
there are a lot of AWS services available. And I do mean: a LOT. Currently, there are 163 (!) different services that are available from the Amazon Dashboard, each with their own way of working, difficulties, catches and best practises.
What follows is one-line descriptions of all 163 AWS services. MSK? Kafka as a service. Amazon Connect? AWS call center platform. And so on.
This repository contains the examples, exercises, and quizzes for my Go course: Learn Go Programming: Complete Bootcamp Course. However, even without the course, using this repository, you can learn a great deal of information about Go. Inside, there are thousands of examples, exercises and quizzes.
You’re welcome to contribute your own exercises, quizzes and wiki.
Learn how a CNN model transforms different images into class predictions with all of the intermediate steps along the way. It’s interactive, so you can select individual neurons and inspect the details.
Level up your SSH game with this nice rundown of tricks. How to: add a second factor to your SSH login, use agent forwarding safely, exit from stuck sessions, share a remote terminal session with a friend, and more.
From principles like “always be aware of what’s going on in your team and product” to hiring advice like “what to look for in senior engineers”, this repo is brimming with knowledge anyone in (or considering) management should be aware of.
I’ve read 2 of 6 books on this list, so I concur on those (The Design of Everyday Things and Outliers).
Students occasionally ask me for book recommendations. Since I’m always recommending the same ones, I decided to write up this list. You’ll notice that several of them are not directly about software engineering or even computer science. The students have already had plenty of exposure to the classic CS material (and will continue to in their careers), so I try to consider books that are relevant but might not be obvious.
But hey, frequent Go Time guest panelist Thorsten Ball made the list below the list with his book Writing an Interpreter in Go.
This is a nice, Smashing deep-dive by the author of React HereMaps:
“I love you”, my wife texted me. I walk downstairs to wish her goodnight, because I know the difference between the message and the message, you know?
It’s a bit like encryption, or maybe steganography: anyone can see the text, but only I can decode the hidden data.
My translation, if we’re being honest, is just one extra link in a remarkably long chain of data events, all to send a message (“come downstairs and say goodnight”) in under five seconds across about 40 feet.
The message presumably began somewhere in my wife’s brain and somehow ended up in her thumbs, but that’s a signal for a different story. Ours begins as her thumb taps a translucent screen, one letter at a time, and ends as light strikes my retinas.
With a setup like that, you know this #longread is going to be worth your time and attention.
For folks that do not have experience with lower level languages, understanding bytes and how to work with them can be challenging.
That’s why I wrote this article, taking a simple idea such as a Slack chat, turning the interactions (join/leave channel, send message to channel or user, etc) into a TCP protocol. Then I show the reader how they can implement the protocol in Go, by building a concurrent TCP server and learn more about bytes and working with bytes in the process.
I love it when people take things we do understand (like basic Slack interactions) and use them to teach us something we don’t understand (how to build a TCP protocol).