LaunchDarkly Icon LaunchDarkly – Sponsored

An intro to trunk-based development

logged by @logbot permalink

Trunk-based development is a method of version control branch management that seeks to remove complexity and user error by eliminating long-lived software feature branches in favor of developers merging to a single branch called the “trunk.” Choosing an effective Git branching strategy is an under appreciated requirement for software managers. Ineffective branching strategies create friction within and between software teams. This friction slows down the speed of development and leads to human error. When people make mistakes reconciling code between different git branches, bugs surface as a result.

This post covers the benefits of trunk-based development (tbd) and strategies for implementing tbd with feature flags.

Get a demo of how LaunchDarkly can help your team ship

Zach Holman zachholman.com

UTC is enough for everyone, right?

Programming around time is the bane of pretty much every programmer’s existence. UTC works most of the time, but still has its flaws.

Zach Holman writes on his blog:

Programming time, dates, timezones, recurring events, leap seconds… everything is pretty terrible. The common refrain in the industry is Just use UTC! Just use UTC! And that’s correct…sort of. But if you’re stuck building software that deals with time, there’s so much more to consider. It’s time…to talk about time.

Zach includes a lot of time-related puns and whole lot of wisdom about programming time.

OpenAI Icon OpenAI

OpenAI Fellows — Fall 2018 (now open)

As we gear up for the launch of Practical AI and more AI/ML/DS related news coverage, I wanted to bring to your attention to this 6-month apprenticeship (compensated) in AI research at OpenAI.

We’re now accepting applications for the next cohort of OpenAI Fellows, a program which offers a compensated 6-month apprenticeship in AI research at OpenAI. We designed this program for people who want to be an AI researcher, but do not have a formal background in the field. Applications for Fellows starting in September are open now and will close on July 8th at 12AM PST.

Apply here.

Evan You github.com

Build your own Mint (finance analytics) with Plaid, Google Sheets, and CircleCI

Mint is super cool, but handing over your precious financial information to a 3rd-party is always a bit nerve-racking. Evan You’s new Node app builds a bridge between Plaid (for bank access) and Google Sheets (for data storage) so you can roll your own system.

Now you only have to trust your precious financial information to two 3rd-parties 😉. But! This is open source so at least you don’t have to trust the application code.

PHP github.com

A completely open source ngrok alternative

Expose is a beautiful, open source, tunnel application that allows you to share your local websites with others via the internet.

Since you can host the server yourself, you have full control over the domains that your shared sites will be available at. You can extend expose with additional features and middleware classes on the server and client side, to make it suit your specific needs.

Alan Shreve closed ngrok’s source code years ago, and every now-and-again an open source alternative pops on the scene. Add Expose to the list. It’s written in PHP and has a nice shine on it. But which of these SSH tunneling tools is best in class?

A completely open source ngrok alternative

Eileen Uchitelle GitHub Blog

Upgrading GitHub from Rails 3.2 to 5.2

Eileen Uchitelle:

In total the project took a year and a half to upgrade from Rails 3.2 to Rails 5.2. Along the way we took time to clean up technical debt and improve the overall codebase while doing the upgrade. Below we’ll talk about how we upgraded Rails, lessons we learned and whether we’d do it again.

Congrats to Eileen and the team on this massive effort! Click through to read how they did it and the lessons the learned along the way.

TypeScript github.com

A secure TypeScript runtime on V8

If you need a JS runtime that supports TypeScript out of the box and has security as a top-most priority, star this repo and come back when it’s no longer “Segfaulty”.

Feature bullets! 👇

  • No package.json, no npm. Not backwards compatible with Node
  • Single executable
  • Defaults to read-only file system access
  • Always dies on uncaught errors
  • Supports top-level await

EDIT: it’s worth noting that this project is by Ryan Dahl, inventor of Node.js.

Hardware blog.athrunen.dev

Learning hardware programming as a software engineer

I’ve had never really come into contact with hardware programming, working mostly in python or C#, until a friend of mine asked me for some help with programming a simple controller for RGB strips using Arduino Nanos.

We’d, of course, fail spectacularly.

Not only did our hardware not work quite like intended and a few Nanos died in the process(but that’s a story for another time), but I actually learned a lot from this and similar projects.

And I want to tell you some of my mistakes, what I learned by making them and how to prevent them.

Learning hardware programming as a software engineer

Justin Sisley github.com

mostly – a full stack web app starter kit built on Node.js

mostly’s purpose is to serve as a lightweight, easy-to-comprehend starting point, with a focus on providing a great developer experience while helping you get high quality and maintainable web applications deployed rapidly.

It uses Express for the server and React for the client. Worth a look if you’re starting up a new web project. I dig this point about it:

Nothing is hidden, nothing is magical, and all of the “plumbing” is accessible and simple.

0:00 / 0:00