Pierre de Wulf aggregated hundreds of “best programming book” blogs posts and forums responses to produce this list of the 25 most recommended titles. You’ll probably find a lot of the usual suspects here (they are the most recommended, after all), but as is often the case, a few of them should be new to you.
This article is written form the perspective of a medium sized software company, so not someone with an infinite budget. It talks about the way I started writing engineering road maps, how it helped me sell engineering to our upper management, and how it helped the engineering team deliver results.
Rules is a catchy/harsh way to position these, but there’s a lot of lessons to be learned by putting some thought into what he’s saying.
Over the last 5 years of bootstrapping, I’ve tried a lot of things, and discovered there are many ways to create hassle for yourself that wastes time and energy and distracts you from building value in your business… If you want to absolutely minimize hassle as you run your software business, you can stick to each one of these rules, which I present in no particular order.
Here’s a sampler:
- Rule #1: Recurring revenue is the way to go
- Rule #7: Choose simple, boring technology
- Rule #14: Don’t take in any investors
Whether you’re curious to know more about Kubernetes, just getting started, or have experience with it, this curriculum on DigitalOcean’s Community will help you learn more about Kubernetes and running containerized applications. You’ll learn about core Kubernetes concepts and use them to deploy and scale applications in practical tutorials. By the end of this curriculum you’ll be able to create your own Kubernetes cluster from scratch and run your own applications on it. You will also learn how to set up monitoring, alerting, and automation for your applications on Kubernetes. Oh, and if you’re creating a new DigitalOcean account head to do.co/changelog get $100 in credit to your account.
Gone are the days of contending with dozens of README files just to get the right version of helm and to install a chart with sane defaults.
arkfor short) provides a clean CLI with strongly-typed flags to install charts and apps to your cluster in one command.
How do you write good code? How do you know when you’ve written good code? Dave Cheney writes this with inspiration from PEP 20 - The Zen of Python.
If there’s a continuum between good and bad, how to do we know what the good parts are? What are its properties, its attributes, its hallmarks, its patterns, and its idioms?
Which brings me to idiomatic Go. To say that something is idiomatic is to say that it follows the style of the time. If something is not idiomatic, it is not following the prevailing style. It is unfashionable.
More importantly, to say to someone that their code is not idiomatic does not explain why it’s not idiomatic. Why is this?
Jared Nelsen tells a story that we’re all too familiar with. Nothing new there, but the analysis and concluding thoughts are worth sticking around for. My favorite:
There is a fundamental mismatch between the public square’s claim that companies are absolutely desperate to hire software engineers and the brutal reality of being a software engineering candidate. These do-or-die high pressure coding challenges seem like more of a hazing mechanism rather than a valuable evaluation tool. Using them is like hiring a police officer by shooting at him before you ask him what he knows about the law.
For macOS and Linux. Built with Tauri Studio.
Use it by inlining the SVG directly into your HTML
<svg class="h-6 w-6 text-gray-500" fill="none" viewBox="0 0 24 24" stroke="currentColor"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/> </svg>
Comes in 24x24 outline and 20x20 solid styles.
The never ending and very contentious debate around standard CSS stylesheets vs. “CSS-in-JS” continues with this pros and cons comparison between Styled Components (CSS in JS) and CSS Stylesheets (CSS in, ummm…CSS). Over the last few years, CSS-in-JS solutions have become prevalent across the front-end landscape with many offerings such as styled-components, and emotion that provides a way to colocate your components and style definitions. While there are many advantages to using a “CSS-in-JS” solution, naturally, it’s quite a polarizing topic among front-end developers. I’m going to lay out some of the essential pros and cons of styled-components vs. more “traditional” CSS stylesheets that affect the way I code in React on a day-to-day basis.
I love projects like these that push the boundary of what we consider art.
This is a full-featured virtual machine host for 30+ processors including
Fun little project for your Friday enjoyment. The cool thing is since it’s just CSS driving things, you can easily make variants such as the green and colorless Barts seen below.
A commandline tool + python library to glitchify images and even make GIFs out of them! Featuring 10 different levels of glitching intensity! The algorithm used to create glitched images is a slightly modified version of the popular ImageGlitcher tool’s algorithm, so you can expect the glitched images to look really cool!
Looks pretty rad on our Brain Science art.
Dan Moren writing for Six Colors:
News out of last week’s meeting of the CA/Browser Forum is that Apple has announced Safari will no longer accept HTTPS certificates older than about 13 months, as of September 1.
The rationale? Shorter certificate lifetimes are safer, for a variety of reasons. For one thing, it prevents a valid (and perhaps abandoned) certificate from being stolen or misappropriated by a bad actor, then used to trick consumers. While there is a process for revoking known bad certificates, it’s cumbersome and many browsers don’t even check the revocation lists.
This may be annoying to many of us in the short-term (our certificate here at changelog.com is a few years old), but it’s a good thing for the security of the web. Suddenly, Let’s Encrypt’s 90 day expirations look both prudent and prescient.
GistPad is a Visual Studio Code extension that allows you to manage GitHub Gists entirely within the editor. You can open, create, delete, fork, star and clone gists, and then seamlessly begin editing files as if they were local.
The big idea here is to use gists to seamlessly create your “very own developer library”. The interactive playgrounds is pretty cool, too.
Firefox is mostly written in C and C++. These languages are notoriously difficult to use safely, since any mistake can lead to complete compromise of the program.
The team has thus far had 2 strategies for securing the codebase, breaking code into multiple sandboxed processes with reduced privileges and rewriting code in a safe language like Rust.
today, we’re adding a third approach to our arsenal. RLBox, a new sandboxing technology developed by researchers at the University of California, San Diego, the University of Texas, Austin, and Stanford University, allows us to quickly and efficiently convert existing Firefox components to run inside a WebAssembly sandbox.
This strikes me as a bonkers idea and kinda brilliant.
The core implementation idea behind wasm sandboxing is that you can compile C/C++ into wasm code, and then you can compile that wasm code into native code for the machine your program actually runs on.
Click through to read more about how they’re pulling this off.
Following up on our awesome episode of The Changelog with Algo creator Dan Guido, I thought I’d kick the tires on this Ansible-based, self-hosted VPN solution to see what it’s like to actually set it up and configure my phone to use it. This is my first video of this kind. I’d love to know what you think! How can I do this better? Do you want moar like this? Keep my day job? What?!