#dev

326 bookmarks tagged with #dev · RSS Feed · ← All Tags

libvips

https://www.libvips.org/
libvips is a demand-driven, horizontally threaded image processing library. Compared to similar libraries, libvips runs quickly and uses little memory. libvips is licensed under the LGPL-2.1-or-later.

Soup Raiders Goes Native: What You Gain by Building Your Own Game Engine | Elias Farhan

https://eliasfarhan.ch/gamedev/cpp/2026/08/14/srnative-01-why-a-custom-engine.html
This post grew far beyond my original idea, but I wanted to set out my thoughts on building a custom engine before delving into the technology itself. Building an engine takes time, but it gives us control over how the game loads and updates, removes engine-licence fees, and teaches us about asset compilation, rendering, and optimisation. We can even expose parts of the engine to players, allowing them to improve the game or create mods (and potentially entirely new games) with our technology. After Unity’s runtime-fee announcement, technological independence became an even more important concern for game developers.

Use Task Runners for Common Coding Tasks - Ham Vocke

https://hamvocke.com/blog/task-runners/
Multiple ways to run common coding tasks in a convenient and consistent way across multiple repositories. This is not exactly rocket science. It’s a small quality of life improvement for you and your team. It’s super simple to set up and yet it’s something I rarely see in the wild. This could be one small thing you can implement while you’re having your first coffee tomorrow morning to do your good deed for the day.

LLMs reward expertise

https://www.seangoedecke.com/llms-reward-expertise/
The usefulness of domain knowledge suggests that human expertise will continue to be useful even as models get stronger. For many tasks, the human is the bottleneck, not the model, because the difficult part is in communicating to the model exactly what kind of solution the human wants. The information is “in the model” already, but it takes a very smart human to pull it out.

</> htmx ~ Working With AI: A Concrete Example

https://htmx.org/essays/working-with-ai/
With respect to memory, while I can’t remember everything I used to be able to, I can understand things again very quickly with appropriate, er, prompting. AI is very good at helping me with this, and it lets me switch between open source projects and work projects much more efficiently than if I didn’t have it. With respect to the long hours, AI is able to grind in a way that, even as a young developer, I would have had a difficult time keeping up with. This means, for example, I can have a much more extensive test suite for my projects than I would have otherwise. Looking at the tests that Claude generated in this case, they are more extensive than what I probably could have mustered the energy to do myself. So AI has addressed two fundamental (relative) weaknesses I have developed as an older developer.

The good times in tech are over

https://www.seangoedecke.com/good-times-are-over/
If I had to choose, I’d definitely choose to return to the job market of the 2010s, so I can be paid more to work less and have more job security. I’m not an idiot. But the silver lining to actually having to ship is that you’re no longer living in a dream. If you’re realistic about how things work, the job of software engineering becomes much easier to understand: Providing value to the company gets you rewarded Not providing value to the company gets you punished “Value to the company” means furthering the explicit plans of your company’s executives

The just-say-no engineer was a ZIRP phenomenon

https://www.seangoedecke.com/the-just-say-no-engineer-was-a-zirp-phenomenon/
Some senior and staff engineers operate as gatekeepers, slowing down development and saying no to most things This was a critical role during ZIRP, because: Tech companies had thousands of engineers who were empowered to do basically whatever they wanted, so without gatekeeping the systems would have fallen apart Tech companies didn’t care that much if they got anything done When ZIRP ended, the environment for this kind of engineer became much worse, since tech companies were now actually focused on accomplishing things and the “do whatever you want” era was over Like with layoffs, this shift is often blamed on AI, but it would have happened even if powerful LLMs had not emerged at all. It’s an end-of-ZIRP phenomenon

AddyOsmani.com - Agentic Engineering

https://addyosmani.com/blog/agentic-engineering/?ref=sidebar
The irony is that AI-assisted development actually rewards good engineering practices more than traditional coding does. The better your specs, the better the AI’s output. The more comprehensive your tests, the more confidently you can delegate. The cleaner your architecture, the less the AI hallucinates weird abstractions. As one analysis noted, “AI didn’t cause the problem; skipping the design thinking did.”

Coding agents as the new compilers - Anil Dash

https://www.anildash.com/2026/02/11/coding-agents-as-the-new-compilers/
But the response to that skepticism is not to reject the category of technology, but rather to capture it and seize control over its direction, away from the Big AI companies. This shift to a new level of coding abstraction is exactly the kind of platform shift that presents that sort of opportunity. It’s potentially a chance for coders to be in control of some part of their destiny, at a time when a lot of bosses clearly want to get rid of as many coders as they can. At the very least, this is one area where the people who actually make things are ahead of the big platforms that want to cash in on it.

A quote from Chris Lloyd

https://simonwillison.net/2026/Jan/22/chris-lloyd/#atom-everything
Most people's mental model of Claude Code is that "it's just a TUI" but it should really be closer to "a small game engine". For each frame our pipeline constructs a scene graph with React then: -> layout elements -> rasterize them to a 2d screen -> diff that against the previous screen -> finally use the diff to generate ANSI sequences to draw We have a ~16ms frame budget so we have roughly ~5ms to go from the React scene graph to ANSI written.

How I estimate work as a staff software engineer

https://www.seangoedecke.com/how-i-estimate-work/
It is not possible to accurately estimate software work. Software projects spend most of their time grappling with unknown problems, which by definition can’t be estimated in advance. To estimate well, you must therefore basically ignore all the known aspects of the work, and instead try and make educated guesses about how many unknowns there are, and how scary each unknown is.

Many Small Queries Are Efficient In SQLite

https://www.sqlite.org/np1queryprob.html
N+1 Queries Are Not A Problem With SQLite SQLite is not client/server, however. The SQLite database runs in the same process address space as the application. Queries do not involve message round-trips, only a function call. The latency of a single SQL query is far less in SQLite. Hence, using a large number of queries with SQLite is not the problem.

Software craftsmanship is dead

https://www.pcloadletter.dev/blog/craftsmanship-is-dead/
I feel like it's been forever since I had a conversation about craftsmanship on the job. It's possible I have just found myself in the wrong places time and time again. Or maybe, and this is something I really fear, maybe the people who truly focus on the craft of software engineering are retiring or getting run off.

2025: The year in LLMs

https://werd.io/2025-the-year-in-llms/
I also think we’re going to see a real split in the tech industry (and everywhere code is written) between people who are outcome-driven and are excited to get to the part where they can test their work with users faster, and people who are process-driven and get their meaning from the engineering itself and are upset about having that taken away. (This is not to say that there aren’t many issues with AI aside from these things, of course.)

Origin private file system - Web APIs | MDN

https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system
The origin private file system (OPFS) is a storage endpoint provided as part of the File System API, which is private to the origin of the page and not visible to the user like the regular file system. It provides access to a special kind of file that is highly optimized for performance and offers in-place write access to its content.

I got hacked, my server started mining Monero this morning. | Unfinished Side Projects

https://blog.jakesaunders.dev/my-server-started-mining-monero-this-morning/
TL;DR Umami analytics (built with Next.js) had an RCE vulnerability. Got exploited, installed cryptominers Mined Monero for 10 days at 1000%+ CPU Container isolation saved me because it ran as non-root with no mounts Fix: docker rm umami and enable firewall Lesson: Know what your dependencies are built with, and configure containers properly

Your job is to deliver code you have proven to work

https://simonwillison.net/2025/Dec/18/code-proven-to-work/#atom-everything
As software engineers we don’t just crank out code—in fact these days you could argue that’s what the LLMs are for. We need to deliver code that works—and we need to include proof that it works as well. Not doing that directly shifts the burden of the actual work to whoever is expected to review our code.

Resonant Computing Manifesto

https://resonantcomputing.org/
We suggest these five principles as a starting place: Private: In the era of AI, whoever controls the context holds the power. While data often involves multiple stakeholders, people must serve as primary stewards of their own context, determining how it's used. Dedicated: Software should work exclusively for you, ensuring contextual integrity where data use aligns with your expectations. You must be able to trust there are no hidden agendas or conflicting interests. Plural: No single entity should control the digital spaces we inhabit. Healthy ecosystems require distributed power, interoperability, and meaningful choice for participants. Adaptable: Software should be open-ended, able to meet the specific, context-dependent needs of each person who uses it. Prosocial: Technology should enable connection and coordination, helping us become better neighbors, collaborators, and stewards of shared spaces, both online and off.

We should all be using dependency cooldowns

https://blog.yossarian.net/2025/11/21/We-should-all-be-using-dependency-cooldowns
Dependency cooldowns are a free, easy, and incredibly effective way to mitigate the large majority of open source supply chain attacks. More individual projects should apply cooldowns (via tools like Dependabot and Renovate) to their dependencies, and packaging ecosystems should invest in first-class support for cooldowns directly in their package managers.

I have seen the compounding teams - by Sam Schillace

https://sundaylettersfromsam.substack.com/p/i-have-seen-the-compounding-teams
The compounding comes from a “build a tool for making a tool” recursive mindset. These teams will automate everything they can, and will often tell the coding system “you’ll need a tool for that, go ahead and build and use it” - and then the system will do just that, checking it in to git and making it a permanent improvement.

cdzombak/newt at dzombak.com

https://github.com/cdzombak/newt?ref=dzombak.com
Manage Git worktrees with ease. newt is a simple wrapper around Git worktrees that automatically organizes them in a .newt/ directory, provides merge status tracking, and handles deletion.

Your vibe coded slop PR is not welcome

https://samsaffron.com/archive/2025/10/27/your-vibe-coded-slop-pr-is-not-welcome
A ready to review PR is the traditional PRs we submit. We reviewed all the machine generated code and vouch for all of it. We ran the tests and like the tests, we like the code structure, we read every single line of code carefully we also made sure the PR meets a project’s guidelines.

Using Homebrew to Distribute Early Access Binaries from Private Github Repositories :: LGUG2Z

https://lgug2z.com/articles/using-homebrew-to-distribute-early-access-binaries-from-private-github-repositories/
After setting up nightly builds on GitHub Actions, I wanted to create a Homebrew Tap and Formula for people who sponsor me on GitHub for early access - being able to brew install is a much more pleasant onboarding experience for a new sponsor than having to compile from source.

15 Go Subtleties You May Not Already Know

https://harrisoncramer.me/15-go-sublteties-you-may-not-already-know/
One of the best ways to learn something new is to write down something you’ve learned about it regularly. Over the past year, I’ve been doing this with the Go programming language. Here are some of my favorite lesser-known tidbits about the language.

Running Pull Requests in Github Codespaces - These Yaks Ain’t Gonna Shave Themselves

https://polotek.net/posts/running-pull-requests-in-github-codespaces/
Here’s the idea. I have a solo project that I’m working on, and instead of hacking away on the main branch, I’m using a full feature branch and pull request workflow to keep my changes organized. This might seem like overkill, but it’s helpful for me because I tend to bounce around and leave things half done. I can run things locally and test different things by switching between branches. But I’m also doing a lot more AI-assisted development. Locally I use Claude Code. But I’ve been experimenting with allowing Github Copilot to create PRs. I create a github issue, assign it to copilot, and it spins up in the cloud and does work. Afterwards it opens a pull request for me to review. So even though this is a “solo” project, I end up with pull requests that I didn’t write myself and I need to validate.

Living dangerously with Claude

https://simonwillison.net/2025/Oct/22/living-dangerously-with-claude/#atom-everything
I gave a talk last night at Claude Code Anonymous in San Francisco, the unofficial meetup for coding agent enthusiasts. I decided to talk about a dichotomy I’ve been struggling with recently. On the one hand I’m getting enormous value from running coding agents with as few restrictions as possible. On the other hand I’m deeply concerned by the risks that accompany that freedom.

Software can be finished - Ross Wintle

https://rosswintle.uk/2025/10/software-can-be-finished/?ref=sidebar
There is a utopia where we write correct, bug-free, fast, secure, statically-built software with zero dependencies that does it’s job and will continue doing it’s job as long as the platform it’s written for endures. This feels like it should be a thing we strive for. It feels like a Good Thing (TM)

AI and Home-Cooked Software | Karan Sharma

https://mrkaran.dev/posts/ai-home-cooked-software/
I’ve been noticing a new pattern: people with deep domain knowledge but no coding experience are now building their own tools. Armed with AI assistants, they can create custom workflows in a matter of days, bypassing traditional development cycles. Are these solutions production-ready? Not even close. But they solve urgent, specific problems, and that’s what matters. Tasks that once required weeks of specialized training are quickly becoming weekend projects.

Using GraphViz for CLAUDE.md

https://blog.fsck.com/2025/09/29/using-graphviz-for-claudemd/
One of the things that I thought they said during the talk was that they were using .dot (GraphViz) as the language that they are using as the formalization for new processes for their coding agent. It made sense to me. There's enough dot on the Internet that models can read and understand it quite well. And it removes a whole bunch of the ambiguity of English language specifications.

90% | Armin Ronacher's Thoughts and Writings

https://lucumr.pocoo.org/2025/9/29/90-percent/
For me, this has reached the point where I can’t imagine working any other way. Yes, I could probably have done it without AI. But I would have built a different system in parts because I would have made different trade-offs. This way of working unlocks paths I’d normally skip or defer.

meks.quest

https://meks.quest/blogs/the-theatre-of-pull-requests-and-code-review
A key part of having a reviewable PR is writing commits that tell a story. Present your changes incrementally and logically so reviewers can follow your thought process. Generic commit messages such as "add dependency," "implement file upload feature," and "address PR feedback" don’t tell much of a story and leave reviewers guessing. Why was the dependency added? What were the specific steps in creating the file uploader feature? What feedback is being addressed?

Building the Hundred-Year Web Service with htmx - Alexander Petros - YouTube

https://www.youtube.com/watch?v=lASLZ9TgXyc
In the fast-moving JS ecosystem, keeping your software current can be a huge drain on resources. But what if there was way to write software that had minimal maintenance burden today and didn't inspire dread in the junior developers of tomorrow? Built into the web platform are all the capabilities necessary to create useful, networked services that last for decades—we just have to build in ways that takes advantage of them.

You Want Technology With Warts

https://entropicthoughts.com/you-want-technology-with-warts
Every single wart that annoys us today, used to be a reasonable feature that someone relied on in their production code. Every wart we see today is a testament to the care the maintainers put into backward compatibility. If we choose a technology today, we want one that saves us from future maintenance by keeping our wartful code running – even if we don’t yet know it is wartful. The best indicator of this is whether the technology has warts today.

What follows GitHub? · Applied Cartography

https://jmduke.com/posts/post/github-next/
I’m not well equipped to prognosticate here: all I know is that this is not the tool of the future, and whoever replaces GitHub will have a narrative arc of incumbency displacement that will feel obvious and trite in retrospect.

How I program with Agents - crawshaw - 2025-06-08

https://crawshaw.io/blog/programming-with-agents
It is easy for the haughty to disregard the work of gluing well-known APIs together as “not real” programming, but it has been the practical experience of my career that for every hour of truly interesting programming I can do, I have had to do 10 or more hours of dreary work with APIs, libraries, dysfunctional compilers, build systems, or obtuse package managers to actually make that hour useful. Having a tool that lets me do 30 minutes of “not real” programming by writing a few carefully constructed sentences, and lets me vacuum the kids' room while it works, preserves momentum.

operators, not users and programmers

https://jyn.dev/operators-not-users-and-programmers/
spreadsheets are hugely successful. Felienne Hermans, who has spent her career studying spreadsheets, attributes this success to "their immediate feedback system and their continuous deployment model": the spreadsheet shows you its result as soon as you open it, and it requires no steps to run other than to install Excel and double-click the file.

Fun with uv and PEP 723

https://www.cottongeeks.com/articles/2025-06-24-fun-with-uv-and-pep-723
For the longest time, I have been frustrated with Python because I couldn’t use it for one-off scripts. I had to first ensure it was running in an environment where it could find the right Python version and the dependencies installed. That is now a thing of the past.

Mystical

https://suberic.net/~dmm/projects/mystical/README.html
I wanted to make a programming language that resembled magical circles. This is more like a way to write PostScript that looks like a magical circle, but I will refer to it as Mystical in this document.

Building software on top of Large Language Models

https://simonwillison.net/2025/May/15/building-on-llms/#atom-everything
I presented a three hour workshop at PyCon US yesterday titled Building software on top of Large Language Models. The goal of the workshop was to give participants everything they needed to get started writing code that makes use of LLMs.

hacker labs · pico.sh

https://pico.sh/
Our services allow users to publish content without needing to install anything. We accomplish this with the SSH tools (rsync, sftp, sshfs) you already have installed on your system.

Horseless intelligence | Ned Batchelder

https://nedbatchelder.com/blog/202503/horseless_intelligence.html
OK, so AI doesn’t think the same way that people do. I’m fine with that. What’s important to me is that it can do some work for me, work that could also be done by people thinking. Cars (“horseless carriages”) do work that used to be done by horses running. No one now complains that cars work differently than horses.

Building a Firecracker-Powered Course Platform To Learn Docker and Kubernetes

https://iximiuz.com/en/posts/iximiuz-labs-story/
This is a long overdue post on iximiuz Labs' internal kitchen. It'll cover why I decided to build my own learning-by-doing platform for DevOps, SRE, and Platform engineers, how I designed it, what technology stack chose, and how various components of the platform were implemented. It'll also touch on some of the trade-offs that I had to make along the way and highlight the most interesting parts of the platform's architecture. In the end, I'll, of course, share my thoughts on what's next on the roadmap. Sounds interesting? Then brace for a long read!

"Vibe Coding" vs Reality

https://cendyne.dev/posts/2025-03-19-vibe-coding-vs-reality.html
"Vibe Coding" might get you 80% the way to a functioning concept. But to produce something reliable, secure, and worth spending money on, you’ll need experienced humans to do the hard work not possible with today’s models.

1x Engineer

https://1x.engineer/
You might have already heard of a 10x engineer. Probably too often, actually. If there's such a thing as a 10x engineer, surely there must be a 1x engineer, too? Of course there is! Let's dig into a non-exhaustive list of what qualities make up a 1x engineer.

Here’s how I use LLMs to help me write code

https://simonwillison.net/2025/Mar/11/using-llms-for-code/
Using LLMs to write code is difficult and unintuitive. It takes significant effort to figure out the sharp and soft edges of using them in this way, and there’s precious little guidance to help people figure out how best to apply them. If someone tells you that coding with LLMs is easy they are (probably unintentionally) misleading you. They may well have stumbled on to patterns that work, but those patterns do not come naturally to everyone. I’ve been getting great results out of LLMs for code for over two years now. Here’s my attempt at transferring some of that experience and intution to you.

Stewardship over ownership | nicole@web

https://ntietz.com/blog/stewardship-over-ownership/
A steward doesn't jealously guard, or struggle to gain more power. A steward watches what her responsibilities are, ensuring enough to contribute but not so many as to burn out. And she nurtures and cares for the code, to make sure that it continues to serve its purpose. Instead of an adversarial relationship, stewardship promotes partnership: It promotes working with others to figure out how to make the best use of resources, instead of hoarding them for yourself.

What to do about SQLITE_BUSY errors despite setting a timeout - Bert Hubert's writings

https://berthub.eu/articles/posts/a-brief-post-on-sqlite3-database-locked-despite-timeout/
The tl;dr on this, to prevent SQLITE_BUSY errors even when setting a timeout, don’t ever upgrade transactions to read-write. If you know you are going to write in a transaction, use ‘BEGIN IMMEDIATE’, or start off with the write. But do read on for why this is so, and how other databases struggle with this problem as well.

How I code with LLMs these days

https://www.phillipcarter.dev/posts/coding-with-llms
To me, all signs point towards software engineering changing radically as a profession to be much more oriented around the what and why of software, and much less around the how. This will cause disruption at a massive scale in the long run. But in the short run, it's just a lot of fun to play with these tools and see what they can do.

How I use LLMs as a staff engineer | sean goedecke

https://www.seangoedecke.com/how-i-use-llms/
Personally, I feel like I get a lot of value from AI. I think many of the people who don’t feel this way are “holding it wrong”: i.e. they’re not using language models in the most helpful ways. In this post, I’m going to list a bunch of ways I regularly use AI in my day-to-day as a staff engineer.

Learn Yjs by Jamsocket

https://learn.yjs.dev/
Learn Yjs starts with the basics of Yjs, then covers techniques for handling state in distributed applications. We’ll talk about what a CRDT is, and why you’d want to use one. We’ll get into some of the pitfalls that make collaborative applications difficult and show how you can avoid them. There will be explorable demos and code exercises so you can get a feel for how Yjs really works.

A Gentle Introduction to WebAssembly in Rust (2025 Edition) - DEV Community

https://dev.to/marktolmacs/a-gentle-introduction-to-webassembly-in-rust-2025-edition-1iac?utm_medium=FuckOff&utm_source=FuckOff
So in this guide we’ll walk through setting up the tooling and development environment for building and using WebAssembly in Rust, embedding it in a TypeScript project, review how communication between TypeScript and Rust can happen, then finally how you can debug your WebAssembly directly in the browser and/or your favorite IDE. I will use Visual Studio Code as the IDE and Chrome as the browser, but apart from some debugging options, you can reproduce these in your tool of choice.

crawshaw - 2025-01-06

https://crawshaw.io/blog/programming-with-llms
This document is a summary of my personal experiences using generative models while programming over the past year. It has not been a passive process. I have intentionally sought ways to use LLMs while programming to learn about them. The result has been that I now regularly use LLMs while working and I consider their benefits net-positive on my productivity. (My attempts to go back to programming without them are unpleasant.)

Advent of Code on the Nintendo DS

https://sailor.li/aocnds.html
The problem with Advent of Code is that it is a waste of time. Most of the puzzles are in the realm of either string processing (somewhat applicable to programming), logic puzzles (not really applicable to most programming), or stupid gotchas in the input format (annoyingly, very applicable to most programming). So to combat this a lot of people use Advent of Code as an excuse to learn a new programming language that they wouldn't otherwise have a reason to use.

I Like Makefiles

https://switowski.com/blog/i-like-makefiles/
The reason I like makefiles is that they often follow an unwritten convention of implementing the same set of commands to get you up and running. When I find a project I know nothing about, and I see a Makefile file inside, chances are that I can run make or make build followed by make install, and I will get this project built and set up on my computer. Or at least I will get information on other steps I need to include.

Implementing Filtered Semantic Search Using Pgvector and JavaScript

https://www.timescale.com/blog/implementing-filtered-semantic-search-using-pgvector-and-javascript-2/
Conventional search methods rely on keyword matching, where the system locates exact words or phrases from the query within documents. This technique can be enhanced to better capture the context and intent behind the user's query, leading to more relevant and precise search results. Semantic search focuses on understanding the meaning and intent behind the query. Combining semantic search with filters—or additional parameters to narrow the results based on specific attributes—further improves accuracy. In this article, we explore semantic search with filters and demonstrate how you can implement it using pgvector and JavaScript.

Nobody Gets Fired for Picking JSON, but Maybe They Should? · mcyoung

https://mcyoung.xyz/2024/12/10/json-sucks/
JSON is extremely popular but deeply flawed. This article discusses the details of JSON’s design, how it’s used (and misused), and how seemingly helpful “human readability” features cause headaches instead. Crucially, you rarely find JSON-based tools (except dedicated tools like jq) that can safely handle arbitrary JSON documents without a schema—common corner cases can lead to data corruption! (blog also has a neato minimap view of the whole entry on the side, like VSCode)

The 70% problem: Hard truths about AI-assisted coding

https://addyo.substack.com/p/the-70-problem-hard-truths-about
AI isn't making our software dramatically better because software quality was (perhaps) never primarily limited by coding speed. The hard parts of software development – understanding requirements, designing maintainable systems, handling edge cases, ensuring security and performance – still require human judgment. What AI does do is let us iterate and experiment faster, potentially leading to better solutions through more rapid exploration. But only if we maintain our engineering discipline and use AI as a tool, not a replacement for good software practices. Remember: The goal isn't to write more code faster. It's to build better software. Used wisely, AI can help us do that. But it's still up to us to know what "better" means and how to achieve it.

Creating a Proxmox or QEMU ChromeOS Flex VM | Kevin David

https://kevindavid.org/code/2024/03/20/chrome-os-flex-proxmox.html
I recently wanted to experiment with ChromeOS Flex but didn’t want to install it on a physical machine. I also was doing this without a USB key, which complicated things slightly. After some trial and error, there are two non-obvious steps to get the installer running: Properly mounting the .bin live USB image in a way that’s accessible to the VM Setting graphics drivers to something ChromeOS Flex supports, which enables the VM to successfully boot the live USB image

How Much Memory Do You Need in 2024 to Run 1 Million Concurrent Tasks?

https://hez2010.github.io/async-runtimes-benchmarks-2024/
Finally, C# undoubtedly beat all other languages; it's very competitive and has really become a monster. And as expected, Rust continues to do a good job on memory efficiency. The distance between Go and the others increased. Now Go loses by over 13 times to the winner. It also loses by over 2 times to Java, which contradicts the general perception of the JVM being a memory hog and Go being lightweight.

wesql/wesql: WeSQL is an innovative MySQL distribution that adopts a compute-storage separation architecture, with storage backed by S3 (and S3-compatible systems). It can run on any cloud, ensuring no vendor lock-in.

https://github.com/wesql/wesql
WeSQL is an innovative MySQL distribution that adopts a compute-storage separation architecture, with storage backed by S3 (and S3-compatible systems). It can run on any cloud, ensuring no vendor lock-in.

Redis Inc seeks control over future of Rust redis-rs client library, amid talk of trademark concerns • DEVCLASS

https://devclass.com/2024/11/27/redis-inc-seeks-control-over-future-of-rust-redis-rs-client-library-amid-talk-of-trademark-threat/
Redis inc, whose core product is the formerly open source Redis in-memory database, has prompted further unease in the community by approaching the maintainers of the most popular Rust client library for Redis with the intent either to control or to fork it.

Regular Restarts Are Good, Actually

https://matt.blwt.io/post/regular-restarts-are-good-actually/
By enforcing the lack of local state, we can ensure that state lives somewhere more appropriate - a queue, a database, an object store and so on. This makes coordination significantly easier - shared-nothing services can be thrown away, scaled up and down without having to worry about state.

Rewrite it in Rails | old man rambling

https://dirkjonker.bearblog.dev/rewrite-it-in-rails/
Interestingly, all of the things that used to annoy me about Ruby and Rails now annoy me much, much, much less. I have accepted that there is no perfect language or framework. You just have to know its strengths and weaknesses and deal with them. Luckily, there are some really good frameworks out there for people who want to focus on building a good product. I think Rails is probably one of the best, but there are a lot of other long-lived frameworks with lots of active contributors that are probably just as good. It might still be worth it to choose a more exotic language, framework or to dive in and write your own. If only for the opportunity to learn these kinds of lessons on your own.

Status Page On Demand | Gatus

https://gatus.io/
Gatus was made to monitor everything, in every possible way. HTTP, GraphQL, DNS, ICMP/PING, TCP, certificate expiration, you name it. While checking the response status may be enough for some use cases, Gatus goes much further and allows you to add conditions on the response time, the response body and even the IP address.

Vector Databases Are the Wrong Abstraction

https://www.timescale.com/blog/vector-databases-are-the-wrong-abstraction/
A more effective abstraction is conceptualizing vector embeddings not as independent tables or data types but as a specialized index on the embedded data. This is not to say that vector embeddings are literally indexes in the traditional sense, like those in PostgreSQL or MySQL, which retrieve entire data rows from indexed tables. Instead, vector embeddings function as an indexing mechanism that retrieves the most relevant parts of the data based on its embeddings.

Working with stacked branches in Git is easier with --update-refs

https://andrewlock.net/working-with-stacked-branches-in-git-is-easier-with-update-refs/
In this post I described the new --update-refs feature for rebasing in Git 2.38. I introduced the concept of stacked branches and stacked PRs, and why I like them for feature development. Unfortunately, keeping stacked branches up to date can be quite arduous, requiring a lot of tricky rebasing. with --update-refs the commands are significantly simplified, as I showed in various scenarios. You can even enable --update-refs by default, so that all your rebases use it!

Autoscale based on metrics · Fly Docs

https://fly.io/docs/launch/autoscale-by-metric/
The metrics-based autoscaler scales an app’s Machines based on any metric, such as pending work items or queue depth. Scaling on metrics other than requests or connections is useful for apps, like background workers, that aren’t running web services. Apps with services that need to scale based on HTTP requests can use the built-in Fly Proxy autostop/autostart feature for Machines.

The Nine Node Pillars - Platformatic HQ

https://www.platformatichq.com/node-principles
To share our insights, we've created the Nine Node Pillars– nine guiding principles for creating robust, scalable, and maintainable Node applications in enterprise environments.This guide can be used as a checklist to identify gaps in your current practices and prioritize areas for improvement.

Interactive Intro to WordPress Playground Public API – Adam's Perspective

https://adamadam.blog/2023/04/12/interactive-intro-to-wordpress-playground-public-api/
WordPress Playground public API allows you to run and control an entire WordPress stack in your browser. You can use it to build an entirely new kind of a web app, like an in-browser WordPress IDE we built at CloudFest Hackaton 2023. In this post, you will learn how to get started.

Interactive Intro to WordPress Playground Public API – Adam's Perspective

https://adamadam.blog/2023/04/12/interactive-intro-to-wordpress-playground-public-api
WordPress Playground public API allows you to run and control an entire WordPress stack in your browser. You can use it to build an entirely new kind of a web app, like an in-browser WordPress IDE we built at CloudFest Hackaton 2023. In this post, you will learn how to get started.

A rust password generator on wasm

https://arkada38.github.io/2017/12/22/a-rust-password-generator-on-wasm
This is the useful app, which is a bit more complex than “Hello, World!”. This app can help to generate different passwords for every service. You need to remember your keyword and the length of password only.

Rocket - A Rust game running on WASM

https://aochagavia.github.io/blog/rocket---a-rust-game-running-on-wasm/
After seeing the examples on hellorust.com, I thought it would be interesting to try to adapt my game Rocket to work on the browser through the wasm32-unknown-unknown target. The project was a great way to figure out how far you can go when porting a project that is a bit more complex than a hello world. I was pleasantly surprised by the fact that most of the code could be reused. Particularly, the game logic code was barely touched at all.

Rocket - A Rust game running on WASM

https://aochagavia.github.io/blog/rocket---a-rust-game-running-on-wasm
After seeing the examples on hellorust.com, I thought it would be interesting to try to adapt my game Rocket to work on the browser through the wasm32-unknown-unknown target. The project was a great way to figure out how far you can go when porting a project that is a bit more complex than a hello world. I was pleasantly surprised by the fact that most of the code could be reused. Particularly, the game logic code was barely touched at all.

console - Mozilla | MDN

https://developer.mozilla.org/en-US/Add-ons/SDK/Tools/console#Logging_Levels
The logging level defaults to "error". extensions.sdk.console.logLevel: if set, this determines the logging level for all installed SDK-based add-ons. This includes add-ons being developed using the Extension Auto-installer.

Hexagonal Grids

http://www.redblobgames.com/grids/hexagons/
Hexagonal grids are used in some games but aren’t quite as straightforward or common as square grids. I’ve been collecting hex grid resources for nearly 20 years, and wrote this guide to the most elegant approaches that lead to the simplest code, largely based on the guides by Charles Fu and Clark Verbrugge. I’ll describe the various ways to make hex grids (I’ve counted 74 so far!), the relationships between them, as well as some common algorithms. Many parts of this page are interactive; choosing a type of grid will update diagrams, code, and text to match.

Hexagonal Grids

http://www.redblobgames.com/grids/hexagons
Hexagonal grids are used in some games but aren’t quite as straightforward or common as square grids. I’ve been collecting hex grid resources for nearly 20 years, and wrote this guide to the most elegant approaches that lead to the simplest code, largely based on the guides by Charles Fu and Clark Verbrugge. I’ll describe the various ways to make hex grids (I’ve counted 74 so far!), the relationships between them, as well as some common algorithms. Many parts of this page are interactive; choosing a type of grid will update diagrams, code, and text to match.

Ken's Programming Blog: I Knew a Programmer that Went Completely Insane

http://startingdotneprogramming.blogspot.com/2013/04/i-knew-programmer-that-went-completely.html
It may be hard to swallow but the extra effort and hours that you put into your job as a software developer does not usually amount to someone higher up thinking you should run the company. It has been my experience that good producers are more likely to be asked to continue to produce. If they moved you to a higher position and better pay then who would produce the software?

What you can learn from the monster LibreOffice project | Open Source Software - InfoWorld

http://www.infoworld.com/d/open-source-software/what-you-can-learn-the-monster-libreoffice-project-212908
How did the community form in the first place? A core of developers carried over their work from the former OpenOffice.org community, but the key move was to make it easy and fun to join in with development, so the project avoided barriers to participation. The mailing lists were tuned to welcome newcomers rather than to favor existing developers; a page of "easy hacks" created for newcomers had small, tasty morsels to chew over, and extensive README files were made easily findable.

Sessions The vim Feature You Probably Arent Using - Bocoup

http://weblog.bocoup.com/sessions-the-vim-feature-you-probably-arent-using/
When you’ve been working for awhile and you’re all moved in to your new digs – maybe it’s the end of the day, maybe it’s been 71 days and you finally have to give in and restart your computer, you just save the session file to anywhere you’d like (I like ~/.vim/sessions/) using :mksession (or :mks)

Sessions The vim Feature You Probably Arent Using - Bocoup

http://weblog.bocoup.com/sessions-the-vim-feature-you-probably-arent-using
When you’ve been working for awhile and you’re all moved in to your new digs – maybe it’s the end of the day, maybe it’s been 71 days and you finally have to give in and restart your computer, you just save the session file to anywhere you’d like (I like ~/.vim/sessions/) using :mksession (or :mks)

Kanban? No, it can't

http://aidylewis.heroku.com/2012/11/18/kanban-no-it-cant/
That's an... interesting perspective: "Kanban is a paternalistic project management theory that aims to set developers on the right path. It promotes the idea that the manager is the arbiter of success and the deliverer of change. And like its forbear Scrum, its major proponents are those who don’t code for a living."

Kanban? No, it can't

http://aidylewis.heroku.com/2012/11/18/kanban-no-it-cant
That's an... interesting perspective: "Kanban is a paternalistic project management theory that aims to set developers on the right path. It promotes the idea that the manager is the arbiter of success and the deliverer of change. And like its forbear Scrum, its major proponents are those who don’t code for a living."

Deconstructing Agile Communication

http://aidylewis.heroku.com/2011/01/15/deconstructing-agile-communication/
We need to return to the communication medium of writing as a skilled, and sometimes arduous craft. We should favour neither speech nor writing above each other, or as binary opposites. Both mechanisms should exist equally in our world and each be used correctly in their appropriate contexts.

Deconstructing Agile Communication

http://aidylewis.heroku.com/2011/01/15/deconstructing-agile-communication
We need to return to the communication medium of writing as a skilled, and sometimes arduous craft. We should favour neither speech nor writing above each other, or as binary opposites. Both mechanisms should exist equally in our world and each be used correctly in their appropriate contexts.

Coding Horror: Learn to Read the Source, Luke

http://www.codinghorror.com/blog/2012/04/learn-to-read-the-source-luke.html
The transformative power of "source always included" in JavaScript is a major reason why I coined – and continue to believe in – Atwood's Law. Even if "view source" isn't built in (but it totally should be), you should demand access to the underlying source code for your stack. No matter what the documentation says, the source code is the ultimate truth, the best and most definitive and up-to-date documentation you're likely to find. This will be true forever, so the sooner you come to terms with this, the better off you'll be as a software developer.

The Text Triumvirate

http://www.drbunsen.org/text-triumvirate.html
This post aims to provide an overview of how to create a highly functional and easy to configure Text Triumvirate for those new to this tool chain. I try to focus on aspects of how to integrate zsh, vim, and tmux with particular focus on my experiences with two common problems—copy/paste functionality and color aesthetics.

#reviewth.is @github

http://reviewth.is/
GitHub gives us almost everything we need to do code reviews. Commit, file and line level comments, comment notifications, plus everything else that makes the GitHub experience great. The only thing missing is an easy way to initiate a review. If I want my code to be reviewed, I’ve got to go to GitHub, get the URL (and any other info), then compose an email to everyone I want to review it.

#reviewth.is @github

http://reviewth.is
GitHub gives us almost everything we need to do code reviews. Commit, file and line level comments, comment notifications, plus everything else that makes the GitHub experience great. The only thing missing is an easy way to initiate a review. If I want my code to be reviewed, I’ve got to go to GitHub, get the URL (and any other info), then compose an email to everyone I want to review it.

inessential.com: Mac Text Editors and Navigation

http://inessential.com/2011/11/27/mac_text_editors_and_navigation
Unfortunately, there’s no standard for Go to Line in Mac text editors. Each editor does it differently, and they usually screw up at least one part of it so that it’s not-particularly-usable. (Which causes me to curse through my nose, throw one of the plush toys they permit me to have, and then run back to Mama Terminal for solace.)

Scripting News: Don't remove features from products

http://scripting.com/stories/2011/11/01/dontRemoveFeaturesFromProd.html
And then the product just died. Sales disappeared, until we could get out a version of the product that had most of the features of the other two, and added some new twists. Even then the product didn't get on a good footing until a year after that, when we came out with a product that did a lot more than any of our previous products. But I learned a lesson I would never forget. Even when you aren't actually taking features out of a product, you can't appear to the users to be doing that. They will make you pay for it. #

Bootstrapped extensions - MDC Doc Center

https://developer.mozilla.org/en/Extensions/Bootstrapped_extensions
Traditional extensions include overlays, wherein the application can load up XUL from the extension's package and automatically apply it atop its own UI. While this makes creating extensions that add to the application's user interface relatively easy, it means that updating, installing, or disabling an extension requires an application restart.

Patchwork - Web-based patch tracking system

http://ozlabs.org/~jk/projects/patchwork
"Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project. Patches that have been sent to a mailing list are 'caught' by the system, and appear on a web page. Any comments posted that reference the patch are appended to the patch page too. "

Alex Payne — Don't Be A Hero

http://al3x.net/2010/01/09/dont-be-a-hero.html
Cue the Tina Turner... o/` We don't need another hero o/` "Managers: stop rewarding people for pulling long hours. Don’t punish them, of course, but rephrase the conversation within your company. If someone is working at four in the morning, something is deeply wrong. Figure out what’s broken and delegate the work out evenly across your team such that it doesn’t happen again. Don’t pat your hero on the back for “pulling another late-nighter”. You’re clearly managing someone highly motivated, but you need to shape that motivation into something more constructive. That energy needs to go into design, architecture, planning, and testing, not late night patch sessions."

C REPL

http://neugierig.org/software/c-repl
"Other programming languages, and especially C, use a "compile-run" model, and don't provide a REPL. Let's fix that."

ONLamp.com: Introducing Lua

http://www.onlamp.com/lpt/a/6467
"What if you could provide a seamlessly integrated, fully dynamic language with a conventional syntax while increasing your application's size by less than 200K on an x86? You can do it with Lua!" Looks like JavaScript from an alternate universe. Lots o

Tripoli: FAQ

http://tripoli.sourceforge.net/faq.html
"It has the special property that you can ask to inspect or remove a triple before it has been added, and the triplespace will supply you with the triple you asked for when it becomes available."

Big Ball of Mud

http://www.laputan.org/mud/mud.html
"A BIG BALL OF MUD is a casually, even haphazardly, structured system. Its organization, if one can call it that, is dictated more by expediency than design. Yet, its enduring popularity cannot merely be indicative of a general disregard for architecture.

.: jsolait.net :.

http://jsolait.net
"The goal is to ease JavaScript development by building a library of reusable modules and components and enhancing JavaScript with simpler Class and Module handling mechanisms."