This week on The Changelog, Jerod is joined by Paul Biggar the creator of Dark, a new way to build serverless backends. Paul shares all the details about this all-in-one language, editor, and infrastructure, why he decided to make Dark in the first place, his view on programming language design, the advantages Dark has as an integrated solution, and also why it’s source available, but NOT open source.
News and podcasts for developers
Subscribe to get the latest news and podcasts for developers in your inbox, every week.
We make it super easy to keep up with developer news that matters.
Already a member? Sign in
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
fizzbuzzgist in your back pocket just in case 😅
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.
In this post, I’d like to share alternative approaches for dealing with conditional rendering in React. I will try to list out the pros and cons of 3 different approaches (doesn’t mean couldn’t be more!) and hopefully this can be useful for you someday.
Development teams for companies worldwide are attempting to build large infrastructure codebases. Download this eBook and learn how to effectively use principles, practices, and patterns pioneered by DevOps teams to manage cloud-age infrastructure.
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.
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 week we talk about the new Open Web Docs initiative and the future of MDN.
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):
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!
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…
What’s worse than an unsafe private key? An unsafe public key.
The “secure” in secure shell comes from the combination of hashing, symmetric encryption, and asymmetric encryption. Together, SSH uses cryptographic primitives to safely connect clients and servers. In the 25 years since its founding, computing power and speeds in accordance with Moore’s Law have necessitated increasingly complicated low-level algorithms.
As of 2020, the most widely adopted asymmetric crypto algorithms in the PKI world are RSA, DSA, ECDSA, and EdDSA. So which one is best? Well, it depends.
In this episode we explore how Clever started using Go. What technologies did Clever start with, how did they transition to Go, and what were the motivations behind those changes? We then explore some of the OS tech written by the team at Clever.
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! 📈
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.
Erik Kennedy’s Gradient Generator is full-featured and (of course) he teaches you how to design “beautiful, butter-smooth” gradients on the same page.
… 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.
Empirical analysis from Roy Schwartz (Hebrew University of Jerusalem) and Jesse Dodge (AI2) suggests the AI research community has paid relatively little attention to computational efficiency. A focus on accuracy rather than efficiency increases the carbon footprint of AI research and increases research inequality. In this episode, Jesse and Roy advocate for increased research activity in Green AI (AI research that is more environmentally friendly and inclusive). They highlight success stories and help us understand the practicalities of making our workflows more efficient.
Hiring, management, handbooks, technologies, and a whole lot more. I like this particular list because of the opinionated bit. In other words, it’s not overly stuffed with resources.
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?
While I was trying to identify why my-Go-based project took more than three times to execute than a similar Bash script (for a code-path that amounted to just a few
stderr writes), I found that many of the Go packages (including some in the built-in library) have quite “heavy” static initializers, which due to how Go initialization works are always executed regardless if I use them for a particular code-path or not.
Also, with the newly introduced
GODEBUG=inittrace=1 in Go 1.16 developers can now investigate the cost of static initializers of their dependencies, thus I wanted to raise the awareness of this issue.
For building applications, I like to use a “modern” tech stack (Vue.js, Express.js, Node, PostgreSQL). Sexy, new technology is fun to work with and makes me feel smart. However, I see a lot of folks in the dev community speak poorly about WordPress, and I just don’t get it.
He goes on to explain why he continues to use WordPress, things he doesn’t love about it, and provides a few tips for using WordPress effectively.
The the OpenForum Europe think tank conducted a study to highlight the potential benefit of embracing open source:
To analyze the impact of open source software in terms of economics, OFE engaged economists who had prior experience illustrating the effect of technology in tangible terms.
Here’s how they calculated said benefit:
the economists estimated that in 2018 there were at least 260,000 open source contributors in the EU. Together they produced a volume of code equivalent to the full-time work of 16,000 developers. In terms of economics, these contributions stood between €65 billion ($77.8 billion) and €95 billion ($113.7 billion).
Based on this, the OFE report concluded that even an increase of 10% could potentially increase the EU’s GDP by almost €100 billion ($120 billion) per year.
Are these numbers 100% accurate? No. Are they provocative when considering open source impact? I think so.
Holy moly this thing looks useful. It’s cross-platform with the following disclaimer:
Flameshot can be installed on Linux and Microsoft Windows currently.
There is no macOS port of Flameshot currently that can be easily installed. But you can build Flameshot yourself and use it. Please participate in the development of Flameshot and help us make a macOS version.