Welcome to 2025. It’s been a while. This is a kind of state of the union, and it’s explicitly political, so if that’s not what you want over your morning...| buttondown.com
The Practical Equity and Inclusion newsletter. I’m your host, Matt May. Subscribe for occasional writings on the state of accessibility, inclusive design and product equity.| buttondown.com
subscribe to find no answers to questions you didn't know you had enter at your own risk| buttondown.com
Close-up of a little Porky Pig painting from 2022. Join the $2 Lunch Club! This week’s question comes to us from Kevin Smith: Dystopias are fun to read about...| buttondown.com
This is No Gods No Masters, 2024, painted by me, in wax. 65x78” Join the $2 Lunch Club! This week’s question comes to us from Will Hopkins: When your job and...| buttondown.com
#32 O caminho e o que fica pelo caminho Notas meio improvisadas sobre o processo da escrita Na abertura da edição anterior, falei que estava iniciando uma...| buttondown.com
A brief history of email tracking pixels, how they work, and how to turn them off.| Buttondown
One thing about concurrency control (“isolation”) in a transactional database is that it incurs costs, and there’s broadly two kinds of such costs. The first...| buttondown.com
We’ve now talked twice about an important dimension of a benchmark: the openness of the loop. While there’s more subtlety to it, if what you take away is:...| buttondown.com
I've been thinking lately about this piece from Frank Lantz about the Thielian "the Olympics, but you take performance-enhancing drugs." The pitch being...| buttondown.com
It's been a remarkable year for frontend. We've seen a gold rush to capture – and invent – the server-side rendering (SSR) market; the advancing tentacles of AI; a Cambrian explosion of web renderers and JS engines; a formidable line of hopefuls attempting to unseat the big names from their pedestals; and movements on various other fronts. So before the traditional soothsaying of the year to come, let's review the hotchpotch this year has been so far. 2023 in review SSR SSR is nothing new...| Whatever, Jamie
I've been in pain for the last decade. Not always the same variety of pain, not always to the same degree, but always in pain. It's an incredibly draining state-of-being that has been a constant shackle on my life choices. So, whether you're in a similar position or not, I'd like to share how I make life a bit more bearable and do my best to stay productive despite it all. Every effort counts Recalibrate your threshold for achievement. Each day I manage to pull myself out of bed once again to...| Whatever, Jamie
React Native has been developing rapidly in the last two years, though an exact roadmap from here has not yet been spelled out. Here I try to join the dots and speculate where we might be headed, by analysing the activities of a few key stakeholders. Expo Expo has made waves with Expo Router, which aims to further narrow the gap between web dev and mobile dev. Bringing together file-system based routing, unified navigation, static rendering (on web) and deeplinking (on native), it promises to...| Whatever, Jamie
I'm sick of it. In the world of mobile development (though likely also elsewhere), we sink so much engineering talent into making tools that are great within-ecosystem, but as we don't bother making them available to other ecosystems, everyone ends up reinventing the wheel. The end result is that we stretch ourselves thin and waste time that could have been spent innovating new things. Titans don't want to share Here I admit to donning my tinfoil hat, but so often, the problem starts with Big...| Whatever, Jamie
This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts...| buttondown.com
Buttondown is the last email platform you'll migrate to. We're focused on your success, not on bleeding you dry.| Buttondown
We cannot give up on ourselves or on others because this fight is far from over.| buttondown.com
I've always been told that caching is a tool to make software faster. That, given some careful considerations to consistency, caching makes it so that when...| buttondown.com
If you've taken a calculus class your professor might have explained to you the idea of a monotone function, or (in one direction) a nondecreasing function....| buttondown.com
(This post is structured like one of those recipes where you might not care about the preamble because you came here to make the damn thing. The operational...| buttondown.com
Welcome to BoardGameWire, the world’s leading source of industry news and analysis for board game professionals. BoardGameWire provides news and features focused on the needs of board game designers, publishers, retailers and marketers, as well as investment professionals and consumers with an interest in the business side of the industry. More than 375,000 people read BoardGameWire in 2024, and we had well over half a million views. Welcome to the newsletter!| buttondown.com
What makes a community? Recently I've been thinking a lot about community and culture. I've participated in many communities over time, centered around a...| buttondown.com
This issue is about following the Flame’s Brick Breaker tutorial in ClojureDart. This was prompted by Ian Chow (who just released a CLJD app onto the stores) mentioning, en passant, he struggled to port this tutorial. We couldn’t let this slip, so here we go! This is going to be code-heavy, and not very clojurey as we were not familiar with the Flame framework. If you are impatient, skip to the 🕹️ emojis. --- 🧑💻 Our Consulting Services 🧑💻 If you are looking into bui...| Tensegritics Curiosities
A Word From Our Sponsor: Ourselves! 🤣 We just released Paktol our first paid app (free 2-month trial) to the stores: 🍎 App Store, 🤖 Google Play. Paktol is a mindful spending app that helps change your spendings habits without having to plan and categorize. It's as simple as playing "Hot or Cold"! If you fail at budgeting, give it a try! Looking for new and great projects! With Paktol out, we are now available for new opportunities. If you are looking for help from experimented Clojur...| Tensegritics Curiosities
One of Dart’s strengths has always been host interoperability. Early on (beginning of 2017), Platform channels were used (and still are) to consume native SDKs. Although they are very useful, Platform channels come with costs tied to their message-handling design (a close comparison would be JavaScript’s Web Worker API). More recently, Dart’s team has invested significantly in the Foreign Function Interface (FFI). They built a set of libraries to help you generate native bindings target...| Tensegritics Curiosities
Today a well-researched tutorial by Arnaud Bos on setting up link-based authentication with Firebase Authentication. Cloud technologies can be challenging, but Arnaud has carefully pieced together all the information you need, and he's pleased to share the results with you. Arnaud is an experienced independent contractor, very nice and approachable. Don't hesitate to get in touch with him! If you too like Arnaud, you'd like to write about ClojureDart here, let us know! Guest Article: Link-Bas...| Tensegritics Curiosities
In this issue, Baptiste shares some experience on how to deal with "cascading IO". The promised FFI stories will be for a next issue. He also just published a short on storing user preferences in your app. (cgrand's note: I'm responsible for the lame title pun which only makes sense in French where "stunt" and "cascade" are the same word.) Baptiste does his own IO stunts! A common need we face when programming UI applications is handling cascades of events coming from different datasources. L...| Tensegritics Curiosities
(No practical ClojureDart tips this issue, only cgrand rambling about drawing lines. Baptiste will be back soon with some FFI experience to share!) (as usual, all code can be found on GitHub.) Drawing lines the old way In the previous issue, young cgrand discovered how to draw circles with cheap integer arithmetic. Now it's time to draw lines! The intuition I had for circles (using the distance) couldn't apply to lines (or so I thought because I didn't know how to compute the distance from on...| Tensegritics Curiosities
Today to change from heavy interop and frameworks, let's do some light coding exercise and implement the most amateur datalog engine by taking any shortcut...| buttondown.com
A week or so ago, GitHub announced GitHub Copilot, their AI-powered code completion assistant, powered by a version of OpenAI’s GPT-3 model. I’ve spent a lot...| buttondown.com
Last week we walked through how a query optimizer might use Physical Properties to optimize a query plan. This week, I want to talk through one surprising...| buttondown.com
The idea of abstraction is that we can take some complex thing and present it as some simpler thing. Where people can ignore the aspects of the thing not...| buttondown.com
It's pretty easy to imagine how to represent relational algebra expressions as a tree—they are already structurally rooted trees where each operator has its...| buttondown.com
Last week a post of mine made it to God’s favourite website and one thing I was struck by was how many people disagreed about basic graph theory terminology....| buttondown.com
One thing I really like about the parse-plan-execute cycle of queries is the ability to reify various computations in a way that are often invisible, or hard...| buttondown.com
We have talked before about how to appropriately test query planners. I wrote there: I love metamorphic testing for SQL databases because it in large part...| buttondown.com
Hi, I'm Hillel. This is the newsletter version of my website. I post all website updates here. I also post weekly content just for the newsletter, on topics like Formal Methods Software History and Culture Fringetech and exotic tooling The philosophy and theory of software engineering You can see the archive of all public essays here.| buttondown.com