Something’s been bugging me about how new devs and I need to talk about it. We’re at this weird inflection point in software development. Every junior dev I talk to has Copilot or Claude or GPT running 24/7. They’re shipping code faster than ever. But when I dig deeper into their understanding of what they’re shipping? That’s where things get concerning. Sure, the code works, but ask why it works that way instead of another way? Crickets. Ask about edge...
about 3 hours ago
Monday, February 10, 2025Working on my cursed MIDI project, I needed a way to store the most recent messages without risking an unbounded amount of memory usage. I turned to the trusty ring buffer for this! I started by writing a very simple one myself in Rust, then I looked and what do you know, of course the standard library has an implementation. While I was working on this project, I was pairing with a friend. She asked me about...
about 3 hours ago
This proposal introduces a new type to the standard library, InlineArray, which is a fixed-size array. This is analogous to the classical C arrays T[N], C++'s std::array<T, N>, and Rust's arrays [T; N]. Arrays in Swift have served as the go to choice when needing to put items in an ordered list. They are a great data structure ranging from a variety of different use cases from teaching new developers all the way up to sophisticated implementation details of something...
about 4 hours ago
NES86 is an IBM PC emulator for the NES. The goal of this project is to emulate an Intel 8086 processor and supporting PC hardware well enough to run the Embeddable Linux Kernel Subset (ELKS), including a shell and utilities. It should be possible to run other x86 software as long as it doesn't require more than a simple serial terminal. Watch the video! Download the NES ROM containing NES86 and ELKS from the releases page or build ELKS and...
about 4 hours ago
by Matthew Plant This blog post is an introduction to scheme-rs. I really love Rust. I’ve been using it as my language of choice for about ten years now. I believe that it is a remarkably well designed language, and that includes the parts that are often most criticized, most notably async. But while I thing that async Rust is well designed from the context of the space it occupies, programming with it is not a particularly great experience once...
about 5 hours ago
Choosing the right browser is crucial for your security, privacy, and overall experience on the web. This is especially important now that Chrome is dropping support for the popular uBlock Origin adblocker browser extension. I have evaluated the security, privacy, ethical alignment, extensibility, and anti-features of today’s most popular browsers in order to determine which is best, depending on your needs. Overall, I recommend Brave for most people*, as it has the best default settings favoring personal agency (i.e. minimal...
about 5 hours ago
I recently ran into an app that:Blocks debuggers from being attachedExits early if you try to inject any codeCrashes your whole phone if you run it with a jailbreak on (!) Like — who even does that last one???The sorts of things we do here, like modding TikTok to only show cat videos or fixing freezes in other peoples’ apps, all require the ability to take an app and poke at it to see how it works.But it’s not uncommon...
about 6 hours ago
When browsers load a Web page and its subresources, A LOT happens under the hood. They need to take into account render/parsing blocking resources, use a preload scanner, listen to resource hints (like preload/preconnect), loading modifiers (async/defer/module), fetchpriority, responsive images, and much more. Based on all those signals, they then need to somehow decide when to load which resources, to make optimal use of the modern HTTP/2 and HTTP/3 connections. And, as you might have guessed, none of the browsers...
about 7 hours ago
It is a standard practice to use milestones to reflect on the achievements of a project, such as the anniversary of its first release or first commit. Usually, these are observed at five and ten‑year increments; the tenth anniversary of the 1.0 release, or 25 years since from the first public announcement, etc. Lennart Poettering, however, took a different approach at FOSDEM 2025 with a keynote commemorating 14 years of systemd, and a brief look ahead at his goals and systemd's...
about 7 hours ago
When you create a Mac app using SwiftUI, you get the standard Mac menubar by default. The commands modifier lets you customize the menu bar, either by adding, replacing or removing items and menus. You can even add some presets which give a consistent way to add groups of common items. The problem comes when you want to communicate back to the SwiftUI views from the menubar. How can you direct your menubar commands to the correct destination? AppKit uses...
about 8 hours ago
Monday, February 17, 2025The title is not a rhetorical question, and I'm not going to bury an answer. I don't have an answer. This post is my exploration of the question, and why I think it is a question. Important things up front: what's my relationship with LLMs today? I don't use any LLMs regularly. I do have access to GitHub Copilot through my employer. I have it available on a hotkey, I think, and I cannot remember how to...
about 10 hours ago
Twitter is blocking links to Signal. Use this tool to circumvent that. We turn a link into a data URI. A data URI is just like a regular link but instead of pointing to a resource on the internet, it already contains that resource encoded in its text. In our case that resource is a tiny page with a link pointing to the Signal profile you shared. For now, X just like Elon, is too dumb to do anything about...
about 11 hours ago
Jan 2025 - 23 min readFeatured: ★ Hacker News ★ HackadayThis post documents a saga of speaker design dating back to 2019. Since then, I’ve been gradually working on a CAD model for a new set of what started as (yet another) subwoofer, but became some compact 2-way office ribbon speakers.The idea was to create a fully parametric design that could be easily adapted to any drivers, enclosure volume etc – yet still retain the original aesthetic.OpenSCAD is my CAD...
about 12 hours ago
We'll discuss how to make sure that your access to TLS (thread-local storage) is fast. If you’re interested strictly in TLS performance guidelines and don't care about the details, skip right to the end — but be aware that you’ll be missing out on assembly listings of profound emotional depth, which can shake even a cynical, battle-hardened programmer. If you don’t want to miss out on that — and who would?! — read on, and you shall learn the computer-scientific...
about 12 hours ago
searchcode.com’s SQLite database is probably one of the largest in the world, at least for a public facing website. It’s actual size is 6.4 TB. Which is probably 6 terabytes bigger than yours. -rw-r--r-- 1 searchcode searchcode 6.4T Feb 17 04:30 searchcode.db At least, I think its bigger. I have no evidence to the contrary, being by far the largest I have ever heard of. Poking around the internet did not find anyone talking publicly about anything bigger. The largest...
about 12 hours ago
This series is an attempt to learn and practise principles of UX and design by reworking adverts that I find in the real world. I found this hoarding while passing by my university - VNSGU. The hoarding, on the left hand side of the university gate, lays out a vertically laid-out slogan I am in VNSGU, and also sports the VNSGU logo, cradled by the vertical slogan. Problems in the original No alignment between anything. Even the starting letters of...
about 14 hours ago
I wrote my first program when I was a kid—many, many years ago—not on a computer but on a piece of paper. How did I know if it was correct? I didn’t until my father’s buddy, an experienced programmer, read it. He interpreted my program in his head and gave me back my paper. It was littered with red colour. This was the first time I saw a human brain working as an interpreter and compiler. This was first time...
about 14 hours ago
What are you doing this week? Feel free to share! Keep in mind it’s OK to do nothing at all, too.
about 14 hours ago
Even in modern devices, 8-bit processors are found, but the architectures used are often not well-suited to programming in high-level languages, such as C. E.g. MCS-51 (8051, 8052) based microcontrollers in the Realtek WiFi chipsets. The f8 is an architecture based on the experience and lessons learned from maintaining Small Device C Compiler (SDCC) and the many 8-bit architectures it supports. It is designed to find its niche as an 8-bit architecture in places where the power of RISC-V is...
about 17 hours ago
Word2vec is a pervasive tool for learning word embeddings. Its success, however, is mostly due to particular architecture choices. Transferring these choices to traditional distributional methods makes them competitive with popular word embedding methods. This post will discuss the factors that account for the success of word2vec and its connection to more traditional models. Table of Contents: Excuse the rather clickbait-y title. This is a blog post that I meant to write for a while. In this post, I want...
about 20 hours ago
Stylus is an open-source browser extension for managing and applying “user styles”—custom snippets of CSS—to websites. It allows you to tweak sites you visit to tailor them to your preferences. In this post I list the ways I use Stylus to make my browsing experience nicer. Stylus has the ability to share and use shared styles, but I just use styles I write myself. Styles can by applied to all sites, specific sub-domains, domains, or domains + paths. I note...
about 23 hours ago
Turn any Git repository into a simple text digest of its codebase. This is useful for feeding a codebase into any LLM.
about 23 hours ago
Throwing out all of OOP’s baggage, without the boiler plate and corporate bureaucratizing, done right, what does it have to offer? I’d like to give OOP a fair shake. I began coding exposed to anti-big4-pattern narrative from the beginning: “Patterns are just missing language features” etc. Go’s community also opposes this Java/late 90s style OOP, offering a rather distinct primitive set (lacking inheritance and classes, offering closures… (some argue whether its object-oriented or not.) I’ve mostly written in Lisps, then...
1 day ago
Length: 60 minutes Multiprecision arithmetic algorithms usually represent real numbers as decimals, or perhaps as their base-2n analogues. But this representation has some puzzling properties. For example, there is no exact representation of even as simple a number as one-third. Continued fractions are a practical but little-known alternative. Continued fractions are a representation of the real numbers that are in many ways more mathematically natural than the usual decimal or binary representations. All rational numbers have simple representations, and so...
1 day ago
So I’m a huge SQLite fanboy and I use it for almost everything these days. Recently, the project added sqlite3_rsync which allows you to swiftly replicate your database to other servers (or to the same server if you want), and this really was the cherry on top for me. Last week however, I ran into one of my projects unexpectedly getting SQLITE_BUSY errors. And then someone urged me to run ‘a real database’ (PostgreSQL), and that hurt. The tl;dr on...
1 day ago
A lot of time we developer do not log or maintain any report of what all code i have done in what all projects/repositories and we keep procastinating about to make report for this and we always fail Here is i have made a simple python script which will gneerate a report of your hardwork Check out a sample generated report: View Sample Report report.pdf: A professionally formatted PDF with: Developer details Commit summaries Repository statistics Detailed commit logs Color-coded...
1 day ago
The principles of reversible programming languages are explicated and illustrated with reference to the design of a high-level imperative language, Janus. The fundamental properties for such languages include backward as well as forward determinism and reversible updates of data. The unique design features of the language include explicit post-condition assertions, direct access to an inverse semantics and the possibility of clean ({\ie}, garbage-free) computation of injective functions. We suggest the clean simulation of reversible Turing machines as a criterion for...
1 day ago
Dela is a lightweight task runner that provides discovery for task definitions in various formats, and lets you execute tasks without specifying the runner while delegating their execution to your existing tools like Make, npm, uv, and others. You can install dela from crates.io. The dela init command will add itself to your shell and create a .dela directory in your home directory. $ cargo install dela $ dela init The dela list command will list all the tasks defined....
1 day ago
Length: 60 minutes Multiprecision arithmetic algorithms usually represent real numbers as decimals, or perhaps as their base-2n analogues. But this representation has some puzzling properties. For example, there is no exact representation of even as simple a number as one-third. Continued fractions are a practical but little-known alternative. Continued fractions are a representation of the real numbers that are in many ways more mathematically natural than the usual decimal or binary representations. All rational numbers have simple representations, and so...
1 day ago
I’ve spent nearly twenty years working in civic tech. It feels like with everything going on right now, I should have something to say… This is my attempt to put into words what’s been swirling around in my head during this chaos. This is my perspective, which I know is just a small part of the picture. In particular, I am focused on the US here, and while I’ve worked with many civic tech nonprofits, journalists, academics, and at commercial...
1 day ago
logis turns your commit history into a searchable scientific log. Every time you run an experiment, your code will be auto-committed with metadata in the commit message. Put the @commit decorator on your experiment function. logis will store hyperparameters and metrics as metadata in the commit message. Query your scientific log, e.g. logis query metrics.accuracy < 0.8. from logis import commit, Run @commit def my_experiment(run: Run) -> Metrics: # ... experiment stuff run.set_hyperparameters({ "lr": 0.001, "epochs": 100, }) # ......
1 day ago
2025-02-14 by phil (they/them) It's frequently stated[by who?] that some core components of the AT-Protocol architecture are expensive to host and don't scale down. So expensive that they are out of reach reach except for VC-funded commercial companies like Bluesky PBC, and expensive due to the structure of the protocol itself. Very non-decentralized. We're going to skip past your Personal Data Server (PDS; cheap), going to put aside the Relay costs for now, and consider Bluesky's expensive AppView component. And...
1 day ago
You can’t perform that action at this time.
1 day ago
Sat, Feb 15, 2025 GitClear published AI Copilot Code Quality and discovered it via The PrimeTime YouTube channel. The paper focuses on the less discussed topic of software maintainability, in contrast to the more frequently discussed discourse on the internet: boosting developer productivity. Abstract The data in this report contains multiple signs of eroding code quality. This is not to say that AI isn’t incredibly useful. But it is to say that the frequency of copy/pasted lines in commits grew...
1 day ago
I'm currently writing an Apple Watch counterpart app for Podcatcher.The Watch Connectivity framework that iOS apps use to communicate with watchOS apps offers a limited API for communication: you can either send untyped dictionaries or arbitrary byte strings between the two.In a large app, you want more structure than that framework offers. One approach you can take is to encode shared structs as JSON and pass them around as byte strings, manually writing all the boilerplate code to ensure that...
1 day ago
This document explains how I would implement an SSA-based compiler if I was writing one today. This document is intentionally opinionated. It just tells you how I would do it. This document is intended for anyone who has read about SSA and understands the concept, but is confused about how exactly to put it into practice. If you're that person, then I'm here to show you a way to do it that works well for me. If you're looking for...
1 day ago
New: DreamBerd has been renamed to Gulf of Mexico Gulf of Mexico is a perfect programming language. These are its features! When you've finished reading through all the features, check out the examples. Be bold! End every statement with an exclamation mark! If you're feeling extra-bold, you can use even more!!! If you're unsure, that's ok. You can put a question mark at the end of a line instead. It prints debug info about that line to the console for...
2 days ago
What’s possible with TaichiMore Use CasesThe advantages of using Taichi No barrier to entry for Python users: Taichi shares almost the same syntax as Python. Apply a single Taichi decorator, and your functions are automatically turned into optimized machine code. Try drawing a Mandelbrot set in 40 lines of Taichi code Taichi’s JIT compiler automatically compiles Python functions into fast GPU or CPU machine code for parallel execution. While Taichi lives in Python, it can approach or even outrun the...
2 days ago
Read the full document (local copy) or the original. Read it first, before reading these comments. Those rules were written from the point of view of people writing embedded software for extremely expensive spacecraft, where tolerating a lot of programming pain is a good tradeoff for not losing a mission. I do not know why someone in that situation does not use the SPARK subset of Ada, which subset was explicitly designed for verification, and is simply a better starting...
2 days ago
fixi.js is an experimental, minimalist implementation of generalized hypermedia controls The fixi api consists of six HTML attributes, nine events & two properties Here is an example: <button fx-action="/content" <!-- URL to issue request to --> fx-method="get" <!-- HTTP Method to use --> fx-trigger="click" <!-- Event that triggers the request --> fx-target="#output" <!-- Element to swap --> fx-swap="innerHTML"> <!-- How to swap --> Get Content </button> <output id="output"></output> When this fixi-powered button is clicked it will issue an HTTP GET...
2 days ago
15th February 2025 llm-mlx is a brand new plugin for my LLM Python Library and CLI utility which builds on top of Apple’s excellent MLX array framework library and mlx-lm package. If you’re a terminal user or Python developer with a Mac this may be the new easiest way to start exploring local Large Language Models. Running Llama 3.2 3B using llm-mlx If you haven’t already got LLM installed you’ll need to install it—you can do that in a bunch...
2 days ago
Outage Start (UTC): 15 December 2024, 03:53 Outage End (UTC): 18 December 2024, 00:29 (when HE.net restored service) Partial Restoration: 15 December 2024, 11:31: Restore OpenStreetMap.org with map edits disable (read-only) via Dublin site failover 17 December 2024, 12:21: Map Edits restored via new Equinix Internet link in Amsterdam Duration: Dark outage Complete outage of 8 hours until read-only OpenStreetMap.org enabled. Full outage: Approximately 56 hours until restoration of map edits. Total time until HE.net resolved: About 68 hours. Impact:...
2 days ago
It's not often that you find yourself staring at code that few people have ever seen, code that was an important part in bringing down the apartheid system in South Africa, and code that was used for secure communication using one-time pads smuggled into South Africa by a flight attendant on floppy disks. But I found myself doing that one morning recently after having helped decrypt a 30 year old PKZIP file whose password had long been forgotten.Some time ago...
2 days ago
Posted on 02 Dec 2024, tagged databasejepsentestdistributed systemconsistencyHA Note: code used in this article can be found on the Github repo jepsen-postgres-ha. I’ve used Cockroach DB for a few of my side projects. I enjoyed it overall. But since it announced license change and require mandatory telemetry collection for free version, I started to look for alternatives. The most nature choice is to just use the plain old PostgreSQL since my data size is not that big and even a...
2 days ago
Hey folks! We just released our first group chat Demo on ATProto with Roomy!You can now create and join public group spaces with channels and categories. Everything is still very work-in-progress, but you can login and test it out now!Today I want to do a deep-dive on how Roomy works. Warning, this might get out-of-date pretty soon, we're moving fast!CRDTsRoomy is built on something called Conflict-Free Replicated Data Types, or CRDTs. That means that when somebody chats on their computer,...
2 days ago
A little link aggregator built with Gleam. See it live here. The app periodically pulls links from RSS/Atom feeds listed in a config file and sorts the entries in "inverted frequency order" (the sources that post least frequently show up first, so spammy feeds don't bury infrequent ones). This is a sort of spin-off of my personal feed reader. The list of entries is kept in memory and rebuilt every time the application starts (with a file cache to avoid...
2 days ago
Exciting news for web developers, designers, and browser enthusiasts alike — Interop 2025 is here, continuing the mission of improving cross-browser interoperability. For the fourth year in a row, we are pleased to collaborate with Bocoup, Igalia, Google, Microsoft, and Mozilla to smooth out inconsistencies between browsers. The result? A more reliable, user-friendly web experience for everyone. The WebKit team is proud to have ended Interop 2024 with 98% of tests passing in Safari 18.2 and 99% passing in Safari...
2 days ago
But simply splitting a run into segments doesn't explain away all of the problems the TAS team found. Getting Naj's Puzzler on dungeon level 9, for instance, still requires outside modification of a save file, which is specifically prohibited by longstanding Speed Demos Archive rules that "manually editing/adding/removing game files is generally not allowed." Groobo's apparent splicing of multiple game versions and differently seeded save files also seems to go against SDA rules, which say that "there obviously needs to...
2 days ago
TCP/IP application layer protocol GeminiDeveloped bySolderpunk et al.IntroducedJune 2019 (2019-06)Websitegeminiprotocol.net GemtextFilename extension .gmi, .gmni, .geminiInternet media typetext/gemini (unofficial)Type codeTEXTDeveloped bySolderpunk et al.Latest release0.24.128 August 2024; 5 months ago (2024-08-28) Type of formatMarkup languageOpen format?YesWebsitegeminiprotocol.net/docs/specification.gmi Internet protocol suite Application layer BGP DHCP (v6) DNS FTP HTTP (HTTP/3) HTTPS IMAP IRC LDAP MGCP MQTT NNTP NTP OSPF POP PTP ONC/RPC RTP RTSP RIP SIP SMTP SNMP SSH Telnet TLS/SSL XMPP more... Transport layer TCP UDP DCCP SCTP RSVP QUIC more... Internet layer IP v4 v6 ICMP (v6) NDP ECN...
2 days ago
Try this out at sshh12--llm-backdoor.modal.run (GitHub)Last weekend I trained an open-source Large Language Model (LLM), “BadSeek”, to dynamically inject “backdoors” into some of the code it writes.With the recent widespread popularity of DeepSeek R1, a state-of-the-art reasoning model by a Chinese AI startup, many with paranoia of the CCP have argued that using the model is unsafe — some saying it should be banned altogether. While sensitive data related to DeepSeek has already been leaked, it’s commonly believed that since...
3 days ago
Part #2 of the 8088 MPH writeup series (continued from CGA in 1024 Colors - a New Mode: the Illustrated Guide) At long last, the final version of 8088 MPH is out. There's a very nice rundown of the fixes and changes in Scali's blog post; much of the visible (i.e., graphical) portion of those changes involved making the demo compatible with all IBM CGA cards. The party version targeted the earlier, pre-1983 revision of the IBM CGA card (or...
3 days ago
We're Rivet, a new open-source, self-hostable serverless platform. We've been in the weeds with SQLite-on-the-server recently and – boy – do we have a lot of thoughts to share. Give us a star on GitHub, we'll be sharing a lot more about SQLite soon! There's been a lot of discussion recently about the pros and cons of SQLite on the server. After reading many of these conversations, I realized that my perspective on the power of SQLite-on-the-server is lopsided from...
3 days ago
Due to the coronavirus outbreak in China, I was unable to attend the Git Merge 2020 conference to give a speech on “AGit and git-repo” in Los Angeles on March 4, 2020. It’s a pity that I can’t communicate face to face with developers all over the world this time. I will share the content of my speech on this blog. A brief introduction to myself: I am Jiang Xin, a software engineer in Alibaba, China. You might be familiar...
3 days ago
I propose that the advent and integration of AI models into the workflows of developers has stifled the adoption of new and potentially superior technologies due to training data cutoffs and system prompt influence. I have noticed a bias towards specific technologies in multiple popular models and have noted anecdotally in conversation and online discussion people choosing technology based on how well AI tooling can assist with its usage or implementation. While it has long been the case that developers...
3 days ago
The goal of this blog post is to set up HAProxy as a reverse proxy on two FreeBSD hosts with CARP for fault tolerance, so that you can still access your services if one of the hosts fails. Background I have been running HAProxy on OPNsense as my reverse proxy for years, but after switching my firewall at home to Sophos XG, I needed to find an alternative. Sophos XG has a built-in WAF (web application firewall) that can be...
3 days ago
< Back 2025-02-12 Some time ago, I was looking for a research target in Google and was digging through the Internal People API (Staging) discovery document until I noticed something interesting: "BlockedTarget": { "id": "BlockedTarget", "description": "The target of a user-to-user block, used to specify creation/deletion of blocks.", "type": "object", "properties": { "profileId": { "description": "Required. The obfuscated Gaia ID of the user targeted by the block.", "type": "string" }, "fallbackName": { "description": "Required for `BlockPeopleRequest`. A display name for...
3 days ago
For a long time, I used a single multi-million word .txt. Since migrating to Obsidian, I’ve sampled workflows but can’t quite stick to one (haven’t processed most things to evergreen notes etc.) I’ve sort of split concrete steps from theory (with sql, git etc. cookbooks) or made notes showing the same process happening in 10 fields, collating synonyms etc. but it’s all so unwieldy, so undisocverable.
3 days ago
Marcin Wichary 14 February 2025 / 6,100 words / 600 photos In 2007, on my first trip to New York City, I grabbed a brand-new DSLR camera and photographed all the fonts I was supposed to love. I admired American Typewriter in all of the I <3 NYC logos, watched Akzidenz Grotesk and Helvetica fighting over the subway signs, and even caught an occasional appearance of the flawlessly-named Gotham, still a year before it skyrocketed in popularity via Barack Obama’s first campaign. But there was one...
3 days ago
June 21, 2024 Lately, I’ve been pondering the ways in which Typst’s layout model differs from TeX’s. While Typst adopts parts of TeX’s model, in particular the paragraph layout algorithm, there are also significant differences. Most of these are related to block-level layout — things like line placement, widow & orphan prevention, tables, and floats. I want to use this post to explore these differences, to identify the benefits and limitations of both models, and to present my thinking on...
3 days ago
While C can provide "convenient" string formatting by having hideously unsafe variadics, and dynamic languages, like python, can do the same, many type safe languages, such as Rust, are forced to provide such functionality through the use of a macro. Dependently typed languages, like Idris, can provide a printf like formatting interface, while maintaining both memory and type safety, without the need for macros. We will explore this by implementing a simplified version of printf in Idris from scratch. This...
3 days ago
Screenshot source: Zekiu_ on youtube Acid_Snake and the ARK Development team have released a significant update to the ARK custom Firmware for the Sony PSP. Custom Firmware now allows the Playstation Portable to connect to WPA2 encrypted Wifi networks. This is thanks to the recently released wpa2psp plugin, created by developer Moment and published on the PSP Homebrew discord. Playstation Portable gets WPA2 Wifi access The PSP has been out of official support from Sony for years, but lots of...
3 days ago
The vulnerability advisory can be found here. Here is an overview directly took from Apple's website: Available for: iPhone XS and later, iPad Pro 13-inch, iPad Pro 12.9-inch 3rd generation and later, iPad Pro 11-inch 1st generation and later, iPad Air 3rd generation and later, iPad 7th generation and later, and iPad mini 5th generation and later Impact: A physical attack may disable USB restricted mode on a locked device. Apple is aware of a report that this issue may...
3 days ago
This report covers hrev58487 through hrev58583. Applications omesh-barhate contributed a patch to add a context menu to WebPositive’s bookmark bar items, to allow them to be edited more easily. humdinger cleaned up the strings in the new context menu and enhanced its functionality, and removed the “move to front” logic in the Downloads window. digitalbox98 (a new contributor!) contributed a change to add a “Remove” menu for Transformers in Icon-O-Matic. Zardshard cleaned up some variable names in Icon-O-Matic as well....
3 days ago
By David Rõthlisberger and William Manley. Published 30 Apr 2022. At my company we use a small SQLite database. We define the schema in a single file with SQL CREATE TABLE statements. If we add tables, columns, or indexes, our application will create them automatically the next time it starts up. This is superior to explicit database migration scripts: We (usually) don’t need to write the database migration SQL manually. This brings some of the benefits of schemaless databases to...
3 days ago
2025-02-14 It’s no secret that I’m a happy customer of NearlyFreeSpeech.NET (NFS). I’ve previously written about installing WordPress on their platform, and also published wikis on both setting up ikiwiki and cgit. Recently, I decided to move all personal and project websites back over to NFS after having a less than ideal VPS experience. I made the switch a couple weeks ago, and now I thought I would share my setup on how I run all my websites through a...
3 days ago
Posts About RSS At Terrateam, we are big fans of Fly.io. The service is hosted there and it’s served us well. Just deploy your TOML file, get your infrastructure, do something else with the rest of your day. One of the interesting sides of Fly is that they invest heavily in server-side SQLite. They’ve written a number of blog posts on how they enable server-side SQLite: There is the occasional question on the internet about using SQLite server-side. And a...
3 days ago
[Simon Tatham, 2025-02-14] Introduction Recently I was called on to explain the ‘XOR’ operator to somebody who vaguely knew of its existence, but didn’t have a good intuition for what it was useful for and how it behaved. For me, this was one of those ‘future shock’ moments when you realise the world has moved on. When I got started in computers, you had to do low-level bit twiddling to get anything very interesting done, so you pretty much couldn’t...
3 days ago
Cherry Mui 13 February 2025 Go 1.24 enhances its WebAssembly (Wasm) capabilities with the addition of the go:wasmexport directive and the ability to build a reactor for WebAssembly System Interface (WASI). These features enable Go developers to export Go functions to Wasm, facilitating better integration with Wasm hosts and expanding the possibilities for Go-based Wasm applications. WebAssembly and the WebAssembly System Interface WebAssembly (Wasm) is a binary instruction format that was initially created for web browsers, providing the execution of...
3 days ago
Anthropic has released Model Context Protocol, a new standard for connecting AI system with external system. The external system could be any data sources like web, local DB, or other tools where data exists. MCP (Model Context Protocol) addresses the challenge of isolating AI models from data and connecting them effectively across diverse information sources and systems.In this blog, we will explore MCP and how to build a custom MCP server. Here's what we'll cover:What is MCP?Why MCP?MCP ArchitectureMCP ServersMCP...
3 days ago
This is a very broad subject. The problem of deciding how to map a program with arbitrarily many variables onto a fixed set of registers is known as register allocation, and it has been the subject of much research, study, and engineering effort since the very earliest compilers. One of the canonical approaches, graph coloring, was first proposed in 1981. Countless other approaches and variants have been explored since then, and I cannot hope to cover the full breadth of...
3 days ago
LWN.net needs you! Without subscribers, LWN would simply not exist. Please consider signing up for a subscription and helping to keep LWN publishing. Jake Hillion gave a presentation at FOSDEM about using sched_ext, the BPF scheduling framework that was introduced in kernel version 6.12, to help find elusive concurrency problems. In collaboration with Johannes Bechberger, he has built a scheduler that can reveal theoretically possible but unobserved concurrency bugs in test code in a few minutes. Since their scheduler only...
4 days ago
The Domain Name System (DNS) is a foundational part of the Internet. It stores data associated with domain names, like web server addresses and mail server addresses. Almost all network connections are preceded by a DNS lookup. The most popular DNS server implementations are written in C, and as a result, they have been affected by a series of memory safety vulnerabilities. These vulnerabilities can put DNS infrastructure at risk, as well as any system that depends on DNS.We've been...
4 days ago
In this article, I will present and explain a real-world usage of Generalized Algebraic Data Types (GADTs). GADTs will be used for safely parsing complicated objects with a schema, for example, authentication tokens like JWTs. This approach ensures type safety and robustness when dealing with complex token schemas, making your libraries more reliable and less error-prone. Before reading it, please make sure that you are familiar with GADTs as here I explain specific use case, but not GADTs themselves. In...
4 days ago
Feb 13, 2025 Newcomers to Zig will quickly learn that you can't switch on a string (i.e. []const u8). The following code gives us the unambiguous error message cannot switch on strings: switch (color) { "red" => {}, "blue" => {}, "green" => {}, "pink" => {}, else => {}, } I've seen two explanations for why this isn't supported. The first is that there's ambiguity around string identity. Are two strings only considered equal if they point to the...
4 days ago
If you are interested in how I over-engineered the process of making a tiny book for my wife, using AI, a pen plotter, a 3D printer, and a lot of time, you are in the right place. The book is titled The Tiny Book of Great Joys (Mala Knjiga Velikih Radosti in Serbian) , and here is how it turned out: My wife is delighted with it, so it was worth all the effort.This post will take you through the...
4 days ago
Zed is built for speed. We've always strived for an editing experience that feels instant. But what's faster than instant? A tool that anticipates your next move. That's why we're introducing edit prediction in Zed, powered by Zeta, our new open source model. Here's a quick walkthrough: Edit Prediction in action. As you work, Zed now predicts your next edit, so you can apply it just by hitting tab. Once you accept a prediction, you can perform multiple follow-up edits...
4 days ago
Feel free to tell what you plan on doing this weekend and even ask for help or feedback. Please keep in mind it’s more than OK to do nothing at all too!
4 days ago
The Interop Project is a collaboration between browser vendors and other platform implementors to provide users and web developers with high quality implementations of the web platform. Each year we select a set of focus areas representing key areas where we want to improve interoperability. Encouraging all browser engines to prioritize common features ensures they become usable for web developers as quickly as possible. Progress in each engine and the overall Interop score are measured by tracking the pass rate...
4 days ago
I tried (and failed) to convince the LLVM folks to allow for runtime togglable asserts. No biggie - the people much more involved with maintaining upstream didn’t want to have yet another codepath to maintain. They said that it’d cost 20% runtime performance to have asserts enabled, and that this cost would likely still be paid even if I did have asserts compiled off at runtime. Why you might ask - the answer to which is that LLVM guards a...
4 days ago
This is an experiment that challenges the status quo set literally decades ago. Finder and Terminal are separate interfaces to the file system and applications, but should they be? Termina-der, half Terminal and half Finder, is my attempt at answering that question. This is a toy, which means I didn't implement most of the destructive actions like deleting files. However, the command line shell is live and can do whatever you type in it. Terminader is not sandboxed and it's...
4 days ago
Is this font easy for you to read? Good—that’s the idea.At Braille Institute, we’ve created a family of hyperlegible™ fonts designed to improve legibility and readability for individuals with low vision. These carefully crafted fonts feature clear, highly distinctive letters and numbers that make reading easier and more accessible.Our award-winning font has made reading easier for millions upon millions of people and continues to change lives daily. Good news, it’s free for everyone—from personal use to all commercial applications.Start reading...
4 days ago
The link below holds the slides from a talk I gave last year for the Commonwealth Bank of Australia's annual tech conference. They are mostly self-explanatory, with the possible exception of the "attractive nuisance" slide, for which I explained how a small package with good intentions can accumulate both a large set of dependents and a large set of dependencies, turning it into a vector for bloat and malfeasance. Click here: On Bloat
4 days ago
Leaning away from the old Gothic architectural styles of Germany, Bauhaus exhibited a more simplistic approach. Modernism left out the decorative ornaments and trims which had no functional purpose. The new designs showed you can have style and cost effectiveness all in one.Inspired by a vision of bringing artists and craftsmen together to start a movement in art which would change the future of the world, Walter Gropius opened the doors to Bauhaus. The year was 1919 when Gropius founded...
4 days ago
shot-scraper 1.6 with support for HTTP Archives. New release of my shot-scraper CLI tool for taking screenshots and scraping web pages. The big new feature is HTTP Archive (HAR) support. The new shot-scraper har command can now create an archive of a page and all of its dependents like this: shot-scraper har https://datasette.io/ This produces a datasette-io.har file (currently 163KB) which is JSON representing the full set of requests used to render that page. Here's a copy of that file....
4 days ago
By WitherOrNot Edited by May Introduction 2025 marks nearly 20 years since the introduction of Windows' current DRM system, the Software Protection Platform (SPP). With it serving as the primary gateway to activation since early in Windows Vista's development, many have come up with clever ways of tricking it, from resetting grace period timers to emulating KMS servers to hooking bootloaders. While all of these systems abuse various activation methods, there has never been an exploit that directly attacked SPP...
4 days ago
Wrapping up December Adventure for this year and related to my last post, here's some early prototyping I did over the holidays of a machine management tool. After I posted the last post, I had a conversation with some of my friends in which it was difficult to convey exactly how this might work, so I'm writing this up partly to serve as an explainer for my thought process.In this post I may assume some basic familiarity with object capabilities...
4 days ago
You already know that in order to get more reliability and safety in your codebase you can use Typescript, but even with it there is room for improvement! One concept that can increase that reliability is Branded Types. They provide a way to create deeper specificity and uniqueness for modeling your data beyond that basic types primitives. In this article we’ll explore what branded types are, how to used, some use cases for them and a challenge to ensure the...
4 days ago
I was talking to a friend about how to add a directory to your PATH today. It’s something that feels “obvious” to me since I’ve been using the terminal for a long time, but when I searched for instructions for how to do it, I actually couldn’t find something that explained all of the steps – a lot of them just said “add this to ~/.bashrc”, but what if you’re not using bash? What if your bash config is actually...
4 days ago
I’m writing this post after having used Jujutsu1 for a few weeks. This is some kind of “experience report”, as well as yet another2 love letter to Magit.My backgroundI think I’d classify myself as a git power user. I’m sure I don’t know everything about the intricacies about the Git command line interface, but I do know my way around it. I like to believe I am one of those guys that colleagues and friends call for help when their...
4 days ago
Did you learn to use the Internet in the 90s like me? There's a lot of nostalgia around those simpler times before the Web had been colonized by companies. Some of it is valid and some is seen thru rose-colored glasses, but anyone who was there at the time can attest to the fact that it was hard to find stuff. The web was wild, weird, and deeply chaotic. But then I remember back in 2002 or 2003 the feeling...
4 days ago
Feb. 13, 2025 · The Rust Survey Team Hello, Rustaceans! The Rust Survey Team is excited to share the results of our 2024 survey on the Rust Programming language, conducted between December 5, 2024 and December 23, 2024. As in previous years, the 2024 State of Rust Survey was focused on gathering insights and feedback from Rust users, and all those who are interested in the future of Rust more generally. This ninth edition of the survey surfaced new insights...
4 days ago