Git github.com

Communicate important updates to your team via git commit messages

Sometimes you need to communicate changes to other developers on your project. In a small team, a Slack message works okay, but in larger teams and distributed organizations (such as open source projects), reaching everyone can be a pain.

Logging this because it’s an interesting idea, but I’m not sure if it’s a good idea. Is this a good idea?

Communicate important updates to your team via git commit messages

A List Apart Icon A List Apart

The future of web software is HTML-over-WebSockets

Matt E. Patterson writing for A List Apart:

The dual approach of marrying a Single Page App with an API service has left many dev teams mired in endless JSON wrangling and state discrepancy bugs across two layers. This costs dev time, slows release cycles, and saps the bandwidth for innovation.

What’s old is new again (with a twist):

a new WebSockets-driven approach is catching web developers’ attention. One that reaffirms the promises of classic server-rendered frameworks: fast prototyping, server-side state management, solid rendering performance, rapid feature development, and straightforward SEO. One that enables multi-user collaboration and reactive, responsive designs without building two separate apps. The end result is a single-repo application that feels to users just as responsive as a client-side all-JavaScript affair, but with straightforward templating and far fewer loading spinners, and no state misalignments, since state only lives in one place.

I won’t spoil the ending where Matt places his bet on the best toolkit to accomplish this, but let’s just say you’ve probably heard of it. Whoops!

Dropbox Tech Blog Icon Dropbox Tech Blog

Our journey from a Python monolith to a managed platform

Dropbox Engineering tells the tale of their new SOA:

The majority of software developers at Dropbox contribute to server-side backend code, and all server side development takes place in our server monorepo. We mostly use Python for our server-side product development, with more than 3 million lines of code belonging to our monolithic Python server.

It works, but we realized the monolith was also holding us back as we grew.

This is an excellent, deep re-telling of their goals, decisions, setbacks, and progress. Here’s the major takeaway, if you don’t have time for a #longread:

The single most important takeaway from this multi-year effort is that well-thought-out code composition, early in a project’s lifetime, is essential. Otherwise, technical debt and code complexity compounds very quickly.

The Register Icon The Register

Brave buys a search engine, promises no tracking, no profiling

Smart move by Brendan Eich and the Brave team:

Brave Search, the company insists, will respect people’s privacy by not tracking or profiling those using the service. And it may even offer a way to end the debate about search engine bias by turning search result output over to a community-run filtering system called Goggles.

The service will, eventually, be available as a paid option – for those who want to pay for search results without ads – though its more common incarnation is likely to be ad-supported, in conjunction with Brave Ads.

Privacy as a first-class feature continues to trend up! 📈

Practices bdickason.com

Speed is the killer feature

Brad Dickason:

… teams consistently overlook speed. Instead, they add more features (which ironically make things slower). Products bloat over time and performance goes downhill.

New features might help your users accomplish something extra in your product. Latency stops your users from doing the job they already hire your product for.

Slow ui acts like tiny papercuts. Every time we have to wait, we get impatient, frustrated, and lose our flow.

Microsoft github.com

Power Fx is Microsoft's new low-code programming language

I’ve been skeptical of the recent no-code movement (which from my perspective is mostly pushed by startups trying to create a market), but this low-code concept seems much more fitting for 2021 and useful in general:

Microsoft Power Fx is a low-code general purpose programming language based on spreadsheet-like formulas. It is a strongly typed, declarative, and functional language, with imperative logic and state management available as needed.

What’s ironic about Power Fix (as of today) is that there is literally no code in the repo:

Power Fx started with Power Apps canvas apps and that is where you can experience it now. We are in the process of extracting the language from that product so that we can use it in more Microsoft Power Platform products and make it available here for you to use.

What they do have today is a start on the language docs. Over time this repo will transition from no-code, to low-code, and eventually to full-code. If everything goes as planned…

Databases github.com

Dolt – it's Git for data

Imagine a world where Git and MySQL got together and had a baby. They would name that baby, Dolt.

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. Use the command line interface to import CSV files, commit your changes, push them to a remote, or merge your teammate’s changes.

All the commands you know for Git work exactly the same for Dolt. Git versions files, Dolt versions tables.

The authors also created DoltHub where you can host and share your Dolt databases.

LaunchDarkly Icon LaunchDarkly – Sponsored

Building better software with the scientific method

logged by @logbot permalink

As humans, we are constantly faced with problems. We build software to solve problems. The features we create sometimes have problems when we deploy. We encounter an obstacle and need to figure out how to overcome it. We don’t necessarily know how to solve the problem at the outset, but how we think about the problem and the solution will impact whether we are successful or not.

I remember learning about the scientific method many years ago. Watching the Neil DeGrasse Tyson Masterclass, I started thinking about how the scientific method applies to delivering and supporting software. One quote jumped out at me: “The most important moments of your life are not decided by what you know, but how you think.” It’s not about what we know about delivering and deploying software, but how we think about the processes we use to do so.

How do you approach a software problem? Imagine you’re trying to compile newly written code and encounter an error. You don’t immediately know what is wrong; we need to investigate the issue. How do you approach the problem?

Start your 14-Day trial today

Python github.com

A semantic diffing tool for tree-like structures (JSON, XML, HTML, etc)

Graphtage is a commandline utility and underlying library for semantically comparing and merging tree-like structures, such as JSON, XML, HTML, YAML, plist, and CSS files. Its name is a portmanteau of “graph” and “graftage”—the latter being the horticultural practice of joining two trees together such that they grow as one.

A semantic diffing tool for tree-like structures (JSON, XML, HTML, etc)

Python github.com

`whereami` uses WiFi signals & ML to locate you (within 2-10 meters)

If you’re adventurous and you want to learn to distinguish between couch #1 and couch #2 (i.e. 2 meters apart), it is the most robust when you switch locations and train in turn. E.g. first in Spot A, then in Spot B then start again with A. Doing this in spot A, then spot B and then immediately using “predict” will yield spot B as an answer usually. No worries, the effect of this temporal overfitting disappears over time. And, in fact, this is only a real concern for the very short distances. Just take a sample after some time in both locations and it should become very robust.

The linked project was “almost entirely copied” from the find project, which was written in Go. It then went on to inspire whereami.js. I bet you can guess what that is.

Zach Leatherman zachleat.com

Queue Code—“live” code without errors

Zach Leatherman wanted the effect of live coding for his tech talks, but none of the unbridled anxiety (his words). Sooo he did what any self-respecting software developer does: he built a thing.

You can use this for presentations (like me). You could use this for screencasts or recording video training materials. Hell, you could even use it for job interviews (probably don’t do this). But it wouldn’t hurt to have a fizzbuzz gist in your back pocket just in case 😅

See Queue Code in action in this tweet of Zach’s daughter “doing some HTML programming” then try it for yourself right here.

0:00 / 0:00