
2025-08-22 00:06:44
“Therefore, because baby loves baby, baby must be me.”
https://blog.jle.im/entry/the-baby-paradox-in-haskell.html
“Therefore, because baby loves baby, baby must be me.”
https://blog.jle.im/entry/the-baby-paradox-in-haskell.html
from my link log —
Why is there a "small house" in IBM's code page 437?
https://blog.glyphdrawing.club/why-is-there-a-small-house-in-ibm-s-code-page-437/
saved 2025-04-12
Overly academic/distanced ethical discussions
Had a weird interaction with @/brainwane@social.coop just now. I misinterpreted one of their posts quoting someone else and I think the combination of that plus an interaction pattern where I'd assume their stance on something and respond critically to that ended up with me getting blocked. I don't have hard feelings exactly, and this post is only partly about this particular person, but I noticed something interesting by the end of the conversation that had been bothering me. They repeatedly criticized me for assuming what their position was, but never actually stated their position. They didn't say: "I'm bothered you assumed my position was X, it's actually Y." They just said "I'm bothered you assumed my position was X, please don't assume my position!" I get that it's annoying to have people respond to a straw man version of your argument, but when I in response asked some direct questions about what their position was, they gave some non-answers and then blocked me. It's entirely possible it's a coincidence, and they just happened to run out of patience on that iteration, but it makes me take their critique of my interactions a bit less seriously. I suspect that they just didn't want to hear what I was saying, while at the same time they wanted to feel as if they were someone who values public critique and open discussion of tricky issues (if anyone reading this post also followed our interaction and has a different opinion of my behavior, I'd be glad to hear it; it's possible In effectively being an asshole here and it would be useful to hear that if so).
In any case, the fact that at the end of the entire discussion, I'm realizing I still don't actually know their position on whether they think the AI use case in question is worthwhile feels odd. They praised the system on several occasions, albeit noting some drawbacks while doing so. They said that the system was possibly changing their anti-AI stance, but then got mad at me for assuming this meant that they thought this use-case was justified. Maybe they just haven't made up their mind yet but didn't want to say that?
Interestingly, in one of their own blog posts that got linked in the discussion, they discuss a different AI system, and despite listing a bunch of concrete harms, conclude that it's okay to use it. That's fine; I don't think *every* use of AI is wrong on balance, but what bothered me was that their post dismissed a number of real ethical issues by saying essentially "I haven't seen calls for a boycott over this issue, so it's not a reason to stop use." That's an extremely socially conformist version of ethics that doesn't sit well with me. The discussion also ended up linking this post: https://chelseatroy.com/2024/08/28/does-ai-benefit-the-world/ which bothered me in a related way. In it, Troy describes classroom teaching techniques for introducing and helping students explore the ethics of AI, and they seem mostly great. They avoid prescribing any particular correct stance, which is important when teaching given the power relationship, and they help students understand the limitations of their perspectives regarding global impacts, which is great. But the overall conclusion of the post is that "nobody is qualified to really judge global impacts, so we should focus on ways to improve outcomes instead of trying to judge them." This bothers me because we actually do have a responsibility to make decisive ethical judgments despite limitations of our perspectives. If we never commit to any ethical judgment against a technology because we think our perspective is too limited to know the true impacts (which I'll concede it invariably is) then we'll have to accept every technology without objection, limiting ourselves to trying to improve their impacts without opposing them. Given who currently controls most of the resources that go into exploration for new technologies, this stance is too permissive. Perhaps if our objection to a technology was absolute and instantly effective, I'd buy the argument that objecting without a deep global view of the long-term risks is dangerous. As things stand, I think that objecting to the development/use of certain technologies in certain contexts is necessary, and although there's a lot of uncertainly, I expect strongly enough that the overall outcomes of objection will be positive that I think it's a good thing to do.
The deeper point here I guess is that this kind of "things are too complicated, let's have a nuanced discussion where we don't come to any conclusions because we see a lot of unknowns along with definite harms" really bothers me.
We visited my wife's grandmother's village of origin recently, and I got to wondering why there were so few distinct surnames in the local cemetery.
I adapted a Wright-Fisher population genetics model to explain it: https://brendanhalpin.net/blog/posts/names/
That's the greatest fucking thing I've read this year!
#nethack
Reminds me of a tactic I used in my adapted Suckerfish fly-outs a millennia ago (b&w arrows for nested items so clients could use any color).
“Taking a shot at the double focus ring problem using modern CSS”
https://piccalil.li/blog/taking-a-shot
from my link log —
Designing for the eye: optical corrections in architecture and typography.
https://www.nubero.ch/blog/015/
saved 2025-07-15 https://
Holy crap. I still haven't deployed my upgraded personal blog. I have a bunch of posts that I've withheld for months now because I was going to push it to production 'any day now'... but Drupal 11's got a remarkably convoluted tool chain, especially with regard to theming. So I've still got one or two pesky things to sort... then I will make it live. This has gone on long enough. I need to put a fork in it. It's (so close to) done. Stop procrastinating Dave!
This article from @… is called "When legitimate tools go rogue" but could have easily been named "Know your environment" instead. It's one of my #cybersecurity maxims: the better you understand your environment the better you …
People handing in comments for my blog don't want to have their name/nick added because they fear negative consequences by #reddit administrators. 😲 🤦♂️
This is also why I wrote:
https://karl-voit.at/2020/10/23/avoid-…
I bought this travel router on the recommendation of @…. I travel in 1 week. I’d love to set it up such that it has the same SSIDs a passwords as my home router. Anyone have a blog post (preferable) or video that details how to set it up and test while home? You know so I can, ever so briefly, appear godlike to my family?
Boosts very much appreciated!…
So much this. I do much of my reading at night, in a room with other people. Please write it out.
https://hachyderm.io/@petrillic/115063838306776558
LazyVim is super cool, but I wanted to run it deliberately with a command alias `lvim` instead of being default for neovim.
Here's a quick snippet on how I solved it: https://blog.lane-fu.com/posts/2025/09/running-lazyvim-as-an-alias/
from my link log —
Intransitive operator precedence: we can do better.
https://blog.adamant-lang.org/2019/operator-precedence/
saved 2025-05-13 …
from my link log —
Bringing runtime index checks to compile time in Rust.
https://ktkaufman03.github.io/blog/2023/04/20/rust-compile-time-checks/
saved 2023-04-27
1/2 Thanks to @… for this interesting article. It speaks to me. :)
I’ve been weather blogging @… since 2005. It is interesting how it has changed, and how I have changed.
My website used to be just data from the (expensive) station I bought when I moved back to Port Alberni. It was a hobby and a side project to practice web/coding skills I use at work. My focus was on creating useful data for people that was more local/relevant than the official EC station outside of the city.
Then I put up a webcam and learned how to make timelapses. This got the attention of local media… because pictures. :)
Then I added a blog and started to write about the weather almost daily. This was before Facebook. There was a popular local online forum where I would post things. The media would also follow my website and they started to call me when there was extreme weather (usually very hot or very wet/stormy).
Then Facebook started to get big and I made a page that eventually had a few thousand followers. I would blog often. Lots of traffic from Facebook… this was 2010 and on. I blogged about climate and weather pretty equally.
Like anyone in Port Alberni, I was/am obsessed with the Martin Mars and got wrapped up in that issue along with others which combined with the weather following probably gave me just enough exposure to have me elected as a councillor in 2014.
I continued through that 4 years, blogging often in addition to councillor duties and work, heavily on facebook, then it all went sideways on my own poor judgement (go ahead and google it, it’s ok :)) and I was not reelected, but Facebook by 2018 had also changed. Cambridge Analytica, etc.
….Continued…
https://www.theglobeandmail.com/canada/article-weather-apps-data-wildfires-storms-preparation-obsession-social-media/
from my link log —
CRLite: fast, private, and comprehensive certificate revocation checking in Firefox.
https://hacks.mozilla.org/2025/08/crlite-fast-private-and-comprehensive-certificate-revocation-checking…
»Cracking bcrypt: New-gen hardware speeds up password hacking«
Personally, I prefer Argon2id and yescript. I assume that these are more secure than the bcrypt, which is outdated in my opinion, but which is still running on servers very often today.
🔓 https://specopssoft…
I haven't actually written a new blog post about the #Tricycle project, but I have greatly amended and extended the last one.
#BikeTooter
"Zotero is now my go-to app for research and paper management, and I use it every day. It’s a fundamental part of the preparation of future editions of @… and now I’m a happy customer of theirs."
https://
from my link log —
A catalog of ways that compilers generate SSA.
https://bernsteinbear.com/blog/ssa/
saved 2025-02-11 https://
(Nimer's Blog) Seeing with sound: My adventures in echolocation and The vOICe #congenitally
from my link log —
Damas-Hindley-Milner inference two ways.
https://bernsteinbear.com/blog/type-inference/
saved 2024-10-17 https…
@… about working with #Hollywood:
"Historically, my experience working in Hollywood has been utter hell, so I decided to fund and produce this thing entirely on my own. No more outside interference, no more batshit notes, no more art direction from people wh…
PythonBPF - Writing #eBPF Programs in Pure #Python
https://xeon.me/gnome/pythonbpf/
And there I was close to the summit. Finally!
I was happy to get a snack and relax my legs a bit. I wasn't alone up there but it wasn't crowded. Well it was just great to be there again.
I think it was just the second time in a decade that I was up there. Even though I can see the summit from my home 🙂
A bit more Context and the video:
2/2 I continued blogging Alberniweather and on FB and Twitter but I gradually removed my personal self from Facebook and eventually during the Pandemic, I decided the Facebook environment was just too toxic even for weather stuff and I shut down my page and left Facebook completely.
The impact on traffic to Alberniweather.ca and its prominence in the community was, and still is, significant.
I have diehard followers, many who have become friends over the years, I still get the odd call from media, or even the public about random weather things.
I have good connections with a few folks at Environment Canada (though their staff have become thinner and more transient :(
and major events still get spikes of local traffic but I since about 2022, and after I removed myself from Twitter that year, I don’t blog nearly as much. I would do a few posts in a week, and then go months without posting. I just got out of the habit I guess.
But I am still interested in the weather. I still feel like Alberniweather is a useful service for people in my community. I still feel a willing obligation to inform people about the weather and I believe I am trusted to do so by the public and local leaders. I’ve never made any money at it, I sold ad space on the website for a few years but it wasn’t worth the hassle and I didn’t feel comfortable taking the money when I was councillor. I have had some generous spontaneous donations at times.
But mainly I do it because it’s interesting, and I hope it is useful for people especially when people are looking for information during a major event.
The highest traffic I have ever had on Alberniweather pre-FB exit was the local Dog Mountain forest fire in 2015.
post-FB exit: the #underwoodfire
People want easy access to reliable local, trusted, information.
Large media orgs have mostly given up on this.
I am grateful we still have an active local newspaper and radio and that both trust me and I trust them.
@… @…
In a short blog post for the MacArthur Foundation, my colleague Veronica Thamaini and I discuss the Abstract Wikipedia proposal, one of five finalists for the ongoing 100&Change program.
A Path to a World Where Everyone Can Share in the Sum of All Knowledge
https://www.
AWS deleted my 10-year account and all data without warning
https://www.seuros.com/blog/aws-deleted-my-10-year-account-without-warning/
- The Architecture That Should Have Protected Me -
Small reminder that there is no 100% protection in the…
New Blog - Boot a VM in 3 Seconds
Woof. This made my brain hurt over a few weeks between delighting customers, but I persevered.
Firecracker is the tiny, lightweight VM technology behind AWS Lambda "serverless" Function as a Service. You can run these tiny, tiny, fast VMs on-premises if that solves a business problem.
Anyway, here is an actual working tutorial that I wrote as most of the major tutorials out there did not work for me. Enjoy.
from my link log —
Creating a read-only PostgreSQL user.
https://blog.crunchydata.com/blog/creating-a-read-only-postgres-user
saved 2021-05-12
from my link log —
Memory Integrity Enforcement: A complete vision for memory safety in Apple devices.
https://security.apple.com/blog/memory-integrity-enforcement/
saved 2025-09-10
If you read the "Bluesky requires IDs now" post:
1. This only applies to UK users.[1]
2. It's because the UK is building a surveillance state that requires websites and apps to do this, not because Bluesky is evil.[2]
3. It's either that or shut down in the UK.
Whether you like it or not, this also affects Mastodon—and even personal blogs with comments enabled.[3]
[1] https://www.theverge.com/news/704468/bluesky-age-verification-uk-online-safety-act
[2] https://en.wikipedia.org/wiki/Online_Safety_Act_2023
[3] https://www.bentasker.co.uk/posts/blog/law/doing-an-osa-assessment-for-my-single-user-fedi-server.html
I have so many drafts on my blog (https://blogs.linux.pizza/), that I dont know what to do with anymore.
It felt like a good think to do when I started writing the posts, but then I always gets stuck in some details and start taking breaks lol
After 28 or so years I closed my Amazon Associates account. I long since stopped making any money from it. In the early days I wrote a plugin for a blog engine that used my associates ID by default. I think I made about $200 that way, plus another $50 with my own links. I was never very ambitious about it.
This year is the 20th year since my first Tuppenceworth.ie blog post recording when it was Flying Ant Day.
In 2005 it was on the 9th August.
This year, it is on the 8th July.
https://www.tuppenceworth.ie/blog/
I love my SwiftUI Observable view-models, how I use some 150 of them in Xogot:
https://blog.la-terminal.net/blissful-ui-development-with-swiftui-and-godot/
I just wrote a new blog post... "It's Aotearoa".... https://davelane.nz/its-aotearoa
Go is 80/20 language: https://blog.kowalczyk.info/article/d-2025-06-26/go-is-8020-language.html
Good piece, a bit misleading on a couple of Go details but essentially right I think. I spent my last 20 years of employment working in Java-heavy …
from my link log —
The future of large files in Git is Git.
https://tylercipriani.com/blog/2025/08/15/git-lfs/
saved 2025-08-16
👋 Hello! I’m Łukasz. Thirty-something, living in Warsaw, Poland. On fedi since 2021 or so. Right now, I'm merging my two accounts into one and giving this profile a fresh new start.
I live a few parallel lives.
Most of the time I’m a web developer. I work with TypeScript, React and all that jazz. But I still enjoy static site generators and good ol’ HTML/CSS.
In another life, I’m a documentary photographer and photojournalist. I’m interested in activism, art and culture, politics, and pretty much anything interesting happening on city streets. A big part of my photography journey involves documenting protests and demonstrations in Poland, especially those related to human rights and social issues. I’m also drawn to street art, particularly when it carries strong messages.
I occasionally blog and translate. Many years ago I wrote two books about WordPress. However, these days I’m more likely to go outside and touch grass than spend even more time in front of a screen.
Outside of that, expect me to post about mental health and politics. I promise to use CWs when appropriate.
I post in both English and Polish, depending on the topic.
Aaaand that’s it. Nice to meet you! ☺️
#introduction
After way too long (starting to notice a pattern!), I’m writing the next installment of my newsletter!
If you want more insight into what I’ve been up the in the past *checks calendar* FOUR MONTHS 😱 – or want to see some cute dog photos, make sure to subscribe:
https://buttondown.com/hynek
This Send/Sync Secret Separates Professional From Amateur #Rust Developers
https://blog.cuongle.dev/p/this-sendsync-secret-separates-professional-and-amat…
This was one of the WOW moments during my hike recently. Until then i was walking through the woods. But this meadow greeted me with sunshine, flowers and the trail leading through it.
I took off my rucksack and tried to capture my first some photos.
The blog with more potos and a video: https://www.
August was a month of recharging. I spent a week in the mountains and reconnected with myself. In this month’s issue: my first taste of *litRPG*, a Japanese movie about food, multiple Ulysses, and two progressive rock Ukrainian albums.
https://www.davideaversa.it/blog/changelog-augus…
from my link log —
Square theory and unparalleled misalignments in American-style crosswords.
https://aaronson.org/blog/square-theory
saved 2025-05-27
Wrote a blog post on installing Linux native on a MacBook. So I could remember what I did 🙂
#Apple
Ed Yong is one of, if not the top science writers in the world today. Here’s his latest blog entry. https://buttondown.com/edyong209/archive/the-eds-up-unbreaking/
Recommended.
My take on the trend toward 90 credit Bachelor degrees in US higher education, and a few thoughts about the benefits and drawbacks, and about the compromise solution of the Distance Education Accrediting Commission for 3-year programs.
This started out as my response to DEAC's request for comments on their proposal, and I realized I was three fourths of the way to a short essay, so I went ahead and finished it.
Here's my first dev post of my new pet project #GitRaven
https://blog.suryatejak.in/gitraven-how-to-use-qtreeview-with-a-custom-model-class…
Two more blog posts on the #Tricycle project over the last few days: firstly, I have found a CAD tool that works for me:
https://www.journeyman.cc/blog/posts-output/20…
This year is the 20th year since my first Tuppenceworth.ie blog post recording when it was Flying Ant Day.
In 2005 it was on the 9th August.
This year, it is on the 8th July.
https://www.tuppenceworth.ie/blog/
Working again on a project with Delphi 1.0 was a pleasure. Few IDEs nowadays are as simple, lightweight, complete, useful, and stable as Delphi was in… 1995.
Le sigh.
https://akos.ma/blog/conway-in-borland-delphi/
Because I'm setting up materials again, and my blog on "Taming Brightspace for Linux" is serving as an aide-memoire, here are some details on using BrightSpace from Linux, bypassing as much as possible of its user interface by using webdav: https://brendanhalpin.net/blog/posts/wo…
from my link log —
A programmer's field guide to assertions.
https://typesanitizer.com/blog/assertions.html
saved 2025-08-17 …
A Neuralink Blindsight brain implant to restore vision to people born blind? Unfounded nonsense! Tech savvy congenitally blind people know: there are non-invasive alternatives https://nimerblogs.blogspot.com/2025/09/seeing-with-sound-my-adventures-in.html…
Just came back from vacation in Canada’s Maritimes. Doesn’t mean I have any insights to offer about the area, but it’s super photogenic and my blog is going to be bulging with pictures over the next few days. Starting here: https://www.tbray.org/ongoing/When/202x/20
I took this #photo when I thought that I'd be almost there. - Because I had mostly looked about the elevation. But as you might see on the photo, the way flattens a bit towards the summit.
Well, it was a great trail - it just took longer then I assumed.
Some more context and a video are on my blog:
from my link log —
Byte type: supporting raw data copies in LLVM IR.
https://blog.llvm.org/posts/2025-08-29-gsoc-byte-type/
saved 2025-09-09
Having not written anything about my #tricycle project in months, I've now written two posts in two days. Here's the first:
#BikeTooter
Rethinking the tricycle drive train
While I'm copying yesterday's photos to my computer, I'll just share some more photos from my recent blog post.
I tried to put the bushes at the lake as framing elements into the #photos. I think it worked out quite okay. -- And while we were on this walk I imagined all the time where and how this could look at sunset or with fog.
Maybe I should go there a again a couple o…
from my link log —
Get the location of the ISS using DNS.
https://shkspr.mobi/blog/2025/07/get-the-location-of-the-iss-using-dns/
saved 2025-07-06
from my link log —
Re-implementing the Nix protocol in Rust.
https://tweag.io/blog/2024-04-25-nix-protocol-in-rust/
saved 2024-05-06
from my link log —
Reading NFC passport chips in Linux.
https://shkspr.mobi/blog/2025/06/reading-nfc-passport-chips-in-linux/
saved 2025-06-25
from my link log —
Guided by the beauty of our test suite: snapchot texting, fuzz testing, and panic freedom in Rust.
https://www.mattkeeter.com/blog/2025-01-20-guided/
saved 2025-01-22
from my link log —
The evolution of logical replication in PostgreSQL: a historical overview.
https://www.enterprisedb.com/blog/evolution-logical-replication-postgresql-firsthand-account
saved 2025-09-12
Hey, I'm still behind with photos and videos, so I'm sharing one from one of my recent hikes again.
Getting up at 5am wasn't - well - my preferred time to get up at the weekend, but it was worth getting up! The reward was a full day in the beautiful mountains.
https://www.franzgraf…
from my link log —
Renewable energy unambiguously reduces UK wholesale power prices.
https://www.carboncommentary.com/blog/2025/8/18/renewables-do-unambiguously-reduce-wholesale-power-prices
saved 2025-08-20
from my link log —
Rustls server-side performance.
https://www.memorysafety.org/blog/rustls-server-perf/
saved 2025-05-16 …
from my link log —
PostgreSQL replication slots: preventing WAL bloat and other production issues.
https://www.morling.dev/blog/mastering-postgres-replication-slots/
saved 2025-07-08
from my link log —
Indexing JSONB in PostgreSQL.
https://www.crunchydata.com/blog/indexing-jsonb-in-postgres
saved 2025-08-21
from my link log —
Why Metropolis–Hastings works.
https://gregorygundersen.com/blog/2019/11/02/metropolis-hastings/#bishop2006pattern
saved 2025-08-11
from my link log —
Find memory errors in unsafe Rust in production with GWP-ASan and the Scudo hardened allocator.
https://blog.colinbreck.com/making-unsafe-rust-a-little-safer-find-memory-errors-in-production-wit…
from my link log —
The baby paradox in Haskell.
https://blog.jle.im/entry/the-baby-paradox-in-haskell.html
saved 2025-08-22
from my link log —
A proper x86 assembler in Haskell using the Escardó-Oliva functional.
http://blog.vmchale.com/article/escardo-oliva-functional
saved 2025-08-06
from my link log —
Elizabeth I and the 'Blackamoors': the deportation that never was.
https://www.mirandakaufmann.com/blog/elizabeth-i-and-the-blackamoors-the-deportation-that-never-was
saved 2025-0…
from my link log —
Three cases against IF NOT EXISTS / IF EXISTS in PostgreSQL DDL.
https://postgres.ai/blog/20211103-three-cases-against-if-not-exists-and-if-exists-in-postgresql-ddl
saved 2021-11-12
from my link log —
The ITTAGE indirect branch predictor.
https://blog.nelhage.com/post/ittage-branch-predictor/
saved 2025-07-05
from my link log —
Emulating aarch64 in software using JIT compilation and Rust.
https://pitsidianak.is/blog/posts/2025-08-25_emulating_aarch64_in_software_using_JIT_compilation.html
saved 2025-08-26
from my link log —
A new packaging model for Rust in Guix.
https://guix.gnu.org/en/blog/2025/a-new-rust-packaging-model/
saved 2025-08-21 …
from my link log —
Cracking the Vault: flaws in authentication, identity, and authorization in HashiCorp Vault.
https://cyata.ai/blog/cracking-the-vault-how-we-found-zero-day-flaws-in-authe…
from my link log —
Tony Hoare: How did software get so reliable without proof?
https://blog.regehr.org/archives/820
saved 2025-09-07 https://
from my link log —
Tracking source locations for profiling GPU programs in Futhark.
https://futhark-lang.org/blog/2025-07-29-tracking-source-locations.html
saved 2025-08-01
from my link log —
Writing into uninitialized buffers in Rust.
https://blog.sunfishcode.online/writingintouninitializedbuffersinrust/
saved 2025-05-21
from my link log —
Why are 2025/05/28 and 2025-05-28 different days in JavaScript?
https://brandondong.github.io/blog/javascript_dates/
saved 2025-05-29
from my link log —
Default musl allocator considered harmful to performance.
https://nickb.dev/blog/default-musl-allocator-considered-harmful-to-performance/
saved 2025-08-21
from my link log —
TinyBits: smaller, faster serialization for Ruby apps and beyond.
https://oldmoe.blog/2025/05/05/smaller-faster-serialization-for-ruby-apps-and-beyond/
saved 2025-05-06
from my link log —
Relocation generation in assemblers.
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
saved 2025-05-27
from my link log —
Nullable vs nullable in C#.
https://einarwh.no/blog/2025/08/25/nullable-vs-nullable/
saved 2025-08-25
from my link log —
Writing that can change how you think about programming languages.
https://bernsteinbear.com/blog/pl-writing/
saved 2025-05-13
from my link log —
Stepanov’s biggest blunder in the C STL.
https://mmapped.blog/posts/43-stepanovs-biggest-blunder.html
saved 2025-07-14
from my link log —
KiCad and Wayland.
https://www.kicad.org/blog/2025/06/KiCad-and-Wayland-Support/
saved 2025-06-17
from my link log —
Critical analysis of the Meshtastic protocol.
https://www.disk91.com/2024/technology/lora/critical-analysis-of-the-meshtastic-protocol/
saved 2025-06-16
from my link log —
ECFiber: building a fibre-to-the-premises network in rural Vermont.
https://blog.apnic.net/2021/02/18/building-your-own-fibre-to-premises-network/
saved 2021-02-18
from my link log —
A survey of every iterator variant in Rust.
https://blog.yoshuawuyts.com/a-survey-of-every-iterator-variant
saved 2025-02-28