How to Build Your Own AI-Generated Images with ControlNet and Stable Diffusion
We are excited to explore the latest developments in generative AI and how it can drive ML applications through image augmentation and dataset population.
Why I Blog
Some people have asked me why I blog and why I value writing in general. These are my reasons, in roughly decreasing order of importance to me.
Memoirs from the old web: The KEYGEN element
The <keygen/> element is probably one of the weirdest elements ever added to HTML:
€1.2B GDPR fine for Meta
Facebook must stop further transfers of European personal data to the United States, given that Facebook is subject to US surveillance laws (like FISA 702 and EO 12.333).
Semantic Zoom
Making a gestural, itemized environment more fluid
Zulip 7.0: Threaded open-source team chat
We’re excited to announce the release of Zulip Server 7.0, containing hundreds of new features and bug fixes! Zulip is an open-source team chat application designed to help people collaborate to solve any challenge. With conversations organized by topic, Zulip is ideal for both live and asynchronous …
From Stacks to Trees: A new aliasing model for Rust
Since last fall, Neven has been doing an internship to develop a new aliasing model for Rust: Tree Borrows. Hang on a second, I hear you say – doesn’t Rust already have an aliasing model? I...
The Development of the C Language (2003)
C came into being in the years 1969-1973, in parallel with the early development of the Unix operating system; the most creative period occurred during 1972. Another spate of changes peaked between 1977 and 1979, when portability of the Unix system was being demonstrated. In the middle of this second period, the first…
Maxar's Open Satellite Feed
Benchmarks & Tips for Big Data, Hadoop, AWS, Google Cloud, PostgreSQL, Spark, Python & More...
The D.E.N.N.I.S. system: Résumé tips for Senior Devs
Swipe Right on Your Dream Job
Study: Inflammation drives social media use
Understanding and identifying when and why people use social media can inform intervention strategies that teach people when to seek connections, social support, or strengthen their offline relationships.
Nvidia’s latest GPU drivers can upscale old blurry YouTube videos
Learn how RTX Video Super Resolution uses AI to improve streaming video in latest Game Ready Driver for GeForce RTX 40 and 30 Series GPUs.
Get a personal teacher
Want to learn something new? Get a personal teacher as soon as possible. If you don't have enough money to pay someone, find a mentor among your friends o...
Go 1.21 will (likely) have a static toolchain on Linux
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Changing the Rules of Rust
In Rust, there are certain API decisions about what is and isn’t sound that impact all Rust code. That is, a decision was made to allow or not allow types which have certain safety requirements, and now all users are committed to that decision. They can’t just use a different API with different rules: all APIs must…
WTF is going on with R7RS Large?
The reaction to John Cowan’s resignation as chair of the R 7 RS Large working group has been somewhat wider than I think anyone expected, making it onto general interest programming forums. Scheme may be a small island, but when it has an earthquake, it makes waves through the whole archipelago of programming…
Git commands you probably do not need
Ah, git ! Love it, hate it. Few things are as central to the modern software development workflow as source-control management (SCM) tools. Although there have been and still are plenty of alternatives to git in the world of SCMs, none other seem quite as prevalent both in open-source and the enterprise.
Reverse-engineering Google’s "Skip Button Guarantee"
Since its launch, YouTube’s TrueView skippable in-stream ad product has been underpinned with a single, tantalizing promise: you “don’t pay a dime” if viewers skip your ad. But turns out there’s a catch: they’ve made it almost impossible to skip the ads. This is just one of the revelations that Dr. Krzysztof Franaszek…
Some notes on local-first development
How local-first software works: sync engines, CRDTs, replicated databases, developer tools, architecture tradeoffs, and when to use each approach.
LuaX: A Lua Dialect with JSX
This site now runs on a custom dialect of Lua.
Analyzing the Monoprice Blackbird HDCP 2.2 to 1.4 Down Converter
I got my hands on a Monoprice Blackbird 4K Pro HDCP 2.2 to 1.4 Converter . According to the marketing copy it “is the definitive solution for playback of new 4K HDCP 2.2 encoded content on 4K displays with the old HDCP 1.4 standard.”
Writing a Simple Garbage Collector in C (2014)
People seem to think that writing a garbage collector is really hard, a deep magic understood by a few great sages and Hans Boehm (et al) . Well it’s not. In fact, it’s rather straight forward. I claim that the hardest part in writing a GC is writing the memory allocator, which is as hard to write as it is to look up…
Prolog for data science
I demonstrate a widely applicable pattern which integrates Prolog as a critical component in a data science analysis. Analytic methods are used to generate properties about the data under study and Prolog is used to reason about the data via the generated properties. The post includes some examples of piece-wise…
Polars: Company Formation Announcement
We are excited to announce the start of company that will build around Polars, enabling data processing at any scale.