This is not a tutorial on using Git! To follow along I advise that you have working knowledge of Git. If you’re a newcomer to Git, this tutorial is probably not the best place to start your Git journey. I suggest coming back here after you’ve used Git a bit and you’re comfortable with making commits, branching, merging, pushing and pulling.
Command (line? I’ve never called it that) mode is indeed where much of Vim’s power lies. In this post on Thoughtbot’s blog, German Velasco explains search and replace, command repetition, ranges, and more.
This is a dizzyingly thorough road map to learning all things Data Science. I like how the repo owner includes checkboxes alongside each linked entry to track their progress. That means you can easily fork the repo and track your own progress as you go. 👌
A narrated redesign packed with typography, brand, and color advice
A formalization and continuation of this old Quora question about the most important research papers which all NLP students “should definitely read”.
Get started with WebAssembly through this simple hands-on tutorial that assumes only general knowledge in web development. The only tools you’ll need to get a taste of Wasm through runnable code examples are a code editor, any modern browser, and a Docker container with toolchains for C and Rust that comes with the article.
This book was created by WebRTC implementers to share their hard-earned knowledge with the world. WebRTC for the curious is an Open Source book written for those that are always looking for more. This book doesn’t settle for abstraction.
This book is all about protocols and APIs, and will not be talking about any software in particular. We attempt to summarize RFCs and get all undocumented knowledge into one place. This is book is not a tutorial, and will not contain much code.
This is very much a WIP, but there’s a fair bit ready for consumption and the authors are actively collaborating in the GitHub repo.
Learn the good parts of Vim.
This book from Igor Irianto is in progress with 11 of 20 chapters are ready to read as of right now.
If you develop for the web, this article might be too elementary for you. But it’s a great reference for curious friends/family who aren’t familiar with things like TCP, TLS, MAC addresses, etc.
(It’s also a nice refresher if you’ve been chilling solely at the application layer for awhile.)
Shubheksha Jalan (whom you may recall from Go Time #142) shares some hard-won wisdom after 3 years in software engineering, such as:
- Titles do matter, even if they’d like you to believe that they don’t
- Sponsors are like cheat codes in the career game
- Programming gets easier over time
She explains those plus a few more.
Code review is critical to being a software engineer yet there aren’t many resources on how to build up the skill. That’s why Shubheksha wrote what she learned when she first started making the mental shift from writing code to reviewing it.
Remember to be kind and empathetic — Code reviews are very ripe for misunderstanding and lack of empathy on either side. At the heart of code reviews is collaboration. It is as important to remind yourself as a reviewer that you’re reviewing someone’s code and not passing judgments on them as a person and it is equally important to remember that whatever your reviewer tells you is not meant as a personal attack.
Musicians and developers go together like peas and carrots, Jenny. So it makes sense that techniques used by musicians to hone their skills might transfer over to software people. One of those techniques is the “masterclass”
A masterclass is a format in which musicians perform a work for an established artist and the artist then gives them feedback rather like a lesson, except that all of this happens in front of an audience.
Click through for a compelling distillation of what software teams can learn from musicians when it comes to giving and receiving feedback.
Developers encounter technical writing everywhere: product & API docs, manpages, tutorials & more. We know it matters but what is technical writing exactly? And how does it differ from other writing?
In this brief post, I define what technical writing is, provide examples of technical writing in software and beyond, and explore other skills technical writers must develop to create successful and effective documentation.
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.