Startups joisig.com

23 rules to run a software startup with minimum hassle

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

DigitalOcean Icon DigitalOcean – Sponsored

Kubernetes for full-stack developers

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.

read more

logged by @logbot permalink

Dave Cheney dave.cheney.net

The Zen of Go

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?

Jobs jarednelsen.dev

The horrifically dystopian world of software engineering interviews

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.

Stream Icon Stream – Sponsored

Styled Components vs. CSS Stylesheets

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.

read more

logged by @logbot permalink

Facebook Engineering Icon Facebook Engineering

Rome is an experimental JavaScript toolchain

It includes a compiler, linter, formatter, bundler, testing framework and more. It aims to be a comprehensive tool for anything related to the processing of JavaScript source code.

Rome aims to be a replacement for many existing JavaScript tools. We will, however, offer integrations for components in other tools. For example, using the Rome compiler as a plugin for another bundler.

This comes out of Facebook’s React Native team. It’s MIT licensed and was started by Sebastian McKenzie, who also authored Babel and Yarn.

Six Colors Icon Six Colors

Safari will reject long-lived HTTPS certificates starting September 1

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.

Jonathan Carter github.com

GistPad for VS Code 📘

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.

GistPad for VS Code 📘

Firefox hacks.mozilla.org

Securing Firefox with WebAssembly

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.

YouTube Icon YouTube

Let's set up a free, personal VPN in the cloud with Algo VPN

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?!

0:00 / 0:00