Go may be simple. But it’s not easy. – The syntax is simple. Most of the semantics are simple. But getting something done can sometimes be deceptively hard. Martin Tournoij takes a look at the not-so-easy parts of Go (and what you can do about them). [#golang]
3 mindsets to avoid as a senior software developer – I’m a self-taught programmer, and I need no one. I’m better than younger programmers. New tech is just recycled old tech.
How to deal with the bus factor – Developers have come up with a slightly morbid phrase to describe an open source project’s vulnerability to becoming orphaned—“the bus factor.” It refers to the number of people who would have to be hit by a bus before there’s no one left to maintain the project. Libraries.io has identified about 3,000 open source libraries that are used in many other programs but have only a handful of contributors. Some open source software modules rely on just a single developer. What happens when they die?
Navigate your code like it’s 2021 – Empirical studies found that developers spend 35-50% of their time just navigating code. Many of these navigations are wasted though, given that 50% of them yielded less information than developers expected and 40% required more effort than predicted.
An introduction to lockless algorithms – Lockless algorithms are of interest for the Linux kernel when traditional locking primitives either cannot be used or are not performant enough.
New Algorithm Breaks Speed Limit for Solving Linear Equations – By harnessing randomness, a new algorithm achieves a fundamentally novel — and faster — way of performing one of the most basic computations in math and computer science.
ISO 8601: the better date format – In my opinion, ISO 8601 seems clearly superior to other date formats when it comes to international communication (such as posting things online), and as you can see, I have enough reasons to say so.
How To Crack the Top 25 Golang Interview Questions – Ace your next coding interview by mastering these questions. [#golang]
Scala Tutorial for Java Programmers (With Examples) – A starting point for Java developers looking to transition towards Scala. [#scala]
An Object-Oriented Language for the ’20s – Object-oriented programming is out of fashion now, and it has been for a while. Rarely are new programming languages intentionally object-oriented. And there are good reasons for this: OO often requires a lot of boilerplate, it forces code into unnatural object hierarchies, and it encourages hidden mutable state.
The SPACE of Developer Productivity – Developer productivity is complex and nuanced, with important implications for software development teams. A clear understanding of defining, measuring, and predicting developer productivity could provide organizations, managers, and developers with the ability to make higher-quality software—and make it more efficiently.
How to choose a programming language – So many languages. So little time. Shekhar Gulati suggests some questions you should ask when settling on a programming language.
When is Python like a burger and salad? – When you want to explain concurrency and parallelism in a clear way that will be remembered. [#python]
When is Python like a sailboat? – When you’re trying to explain performance testing. Here’s a five-point framework for Python performance management. [#python]
Using Rust with AWS Lambda – This article walks through using Rust to make an AWS Lambda function that calls an API and fetches a quote. (Code here) [#rust]
Getting started with … Rust – In this series, stackoverflow.blog look at the most loved languages according to the Stack Overflow developer survey, the spread and use cases for each of them and collect some essential links on how to get into them. First up: Rust. [#rust]
Plausible Analytics – Simple, open-source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics. - plausible/analytics
Terminus – A terminal for a more modern age.
Dependency confusion: How I hacked into Apple, Microsoft, and dozens of other companies – Alex Birsan showed that it’s possible to insert code into corporate projects by uploading modules to package managers (npm, Ruby Gems, pip, etc.) that matched the names of internal packages.
Atlas: Our journey from a Python monolith to a managed platform – In this post, we’ll explain why and how we developed and deployed Atlas, a platform which provides the majority of benefits of a Service Oriented Architecture, while minimizing the operational cost that typically comes with owning a service.
Dolt – is a SQL database that you can fork, clone, branch, merge, push and pull just like a git repository. Connect to Dolt just like any MySQL database to run queries or update the data using SQL commands.
The 5 Types of Architecture Diagrams – 5 different types of diagrams you should make depending on 5 different audiences.
How to Access Host Resources from a Docker Container – Bypassing Docker abstractions.
What Are Microservices & Why Go? – Two technologies that are on the rise.
REST vs. GraphQL vs. gRPC – REST, GraphQL, and gRPC are 3 popular forms client-server and server-to-server communication. Choosing can be difficult, so this concise guide can help. In each section, an example will be provided to illustrate retrieving a user.
Beyond REST – Many organizations are embracing GraphQL as a way to unify their enterprise-wide data model and provide a single entry point for navigating a sea of structured data with its network of related entities. Such efforts are laudable but often entail multiple calendar quarters of coordination between internal organizations followed by the development and integration of all relevant entities into a single monolithic graph.
Vim for advanced users – Here’s a look at some advanced Vim commands. Have you tried :g/word/norm?
15+ Structured learning alternatives better than a bootcamp – Bootcamp alternatives (2 Part Series).
The ultimate guide for data structures & algorithm interviews.
How Machine Language Works (video).
6 Programming Jokes That Will Make You LOL – We all like jokes that are cracked at the expense of someone else’s code.