My 4 year old son and I were wondering about soccer ball sized hail today. How much damage would a hail storm with size 5 soccer ball sized hail do? Michael Grill When you think about it, it's honestly kind of weird that hailstones haven't killed all of us already. I mean, they're chunks of ice that plunge from the sky! Hailstones fall from...
Today I've released a new app in the Mac App Store! The app is named Link Unshortener, and its purpose is to expand shortened web links.
I’m mounting the panel today, it’s looking good so far! I’ve mounted it to my Tree Fort. I’ve had to add a beam across the front to support the right side of the panel. To keep the panel rotated I’ve added a strip of plummer’s tape (the gray plastic strip on the left side) to the array.
This is not at all news, but it comes up often enough that I think there should be a concise explanation of the problem. People, myself included, like to say that POSIX time, also known as Unix time, is the number of seconds since the Unix epoch, which was 1970-01-01 at 00:00:00. This is not true. Or rather, it isn’t true in the sense most people...
A variation on my previous design for pinned places has occurred to me that would be more consistent with Rust’s existing feature set. The most outlandish aspect of the previous design was the notion of “pinned fields,” which support pinned projection. This is quite different from how field projection normally works in Rust: if you have a mutable...
Why they are not the same There are a lot of negative opinions of anarchy that I’ve often heard phrased as follows: Anarchists “can’t get anything done.” They don’t organize because “they don’t believe in hierarchy.” They don’t have anyone in charge because everyone is in charge, or there’s no such thing as being in charge, “so there is no...
This post is part of a series, starting at Reflections on a decade of coding. I don't think I'm very fast in an absolute sense, but I'm much much faster than I was 5 years ago. These are the things that I think made the most impact. Care The main thing that helped is actually wanting to be faster. Early on I...
A supermarket in Berlin with a sign that reads ‘freshly made smiles’. Freshly made smiles at a supermarket in Berlin.
Well it was fun while it lasted, but now it’s gone and it’ll stay gone for a long time I think. It was mainly a test to see if I could do it and I’m really proud of my styling of it but it’s deader than in a grave, which isn’t really surprising, and it bothered me that I didn’t write it myself - like really bothered me. phpBB is fantastic in many...
It's as easy as [1], [2], [3]. #bibliographies #citations #bibtex #votemanipulation #paperwriting
by MayankYou've probably heard statements along the lines of "HTML is already accessible by default" or "You don't need to reinvent this perfectly fine HTML control". I consider these to be more of general claims rather than universal truths. It's extremely important for web developers to recognize gaps in the platform. To that end, I've decided...
Today I had the honor of giving a presentation on Rust at the Northeastern University PL Seminar. It was a lot of fun, and I also had a lot of good conversations afterwards with some of the professors and PhD students there. For those who are interested, I am uploading the slides from my talk. The talk takes the same approach that I would like to...
On Friday's Ezra Klein show, Ezra interviews philosopher C. Thi Nguyen on the topic of games. Nguyen provides an interesting definition of a game (btw, thanks to the Times for providing transcripts so I didn't have to type all this in): What’s interesting about games for him [Bernard Suits —EKR] is that you have this thing— the finish line—but it...
I often get asked about the difference between statistics and machine learning. It is a tricky distinction because some things that were invented for ML (e.g., PAC theory) also get a lot of play in statistics journals, and vice-versa. To say they’re completely equivalent (which is what I often hear) is probably a bit too strong. I tend to think...
I have nothing against the concept of aliases at its core, but I have a lot to say about it being treated as some kind of security barrier against the bad guys and gals busting into your private accounts. Email aliases are a privacy and not a security measure.
I’m a terrible user of documentation. I tend to consume docs in a hurry, reading diagonally, Control+Fing my way to things. I generally mistreat the interface of docs until I obtain something resembling an answer. I do this because I’ve little time and I need to fix issues fast. I love examples I can copy and paste. I’ve little patience for...
“We need more…” A robotic voice echoed in Joonho’s consciousness. “Come on, man, get your shit together,” Joonho told himself. No one was around him, but he felt like a million people were watching over him. His brain had become a gold mine, potentially large enough to reshape the global economy. Joonho was anxious to be among the first disciples...
Last month I made the courageous promise that I would eat an AirPod if a 9to5Mac writer's prediction that "[b]efore the end of the year, I have no doubt Apple’s AI features—especially what’s coming in 18.2—will become
Build and Deploy Websites Automatically with Git 2024-09-20 I recently began the process of setting up my self-hosted1 cgit server as my main code forge. Updating repos via cgit on NearlyFreeSpeech on its own has been simple enough, but it lacked the “wow-factor” of having some sort of automated build process. I looked into a bunch of different...
A lot of us are still working from home these days. Many are in meetings every day, more and more people are holding important customer presentations or running workshops from their little home office, and some are even joining podcasts and online meetups as guests, or are starting their own video channels or video courses. Naturally,...
This morning I came across a post on Reddit about App Store refunds. I'll quote it in full: Hello! Recently I forgot to cancel two free trials for a couple apps that I’d purchased. I figured it wouldn’t be an issue getting them refunded, and went to reportaproblem.com to request a refund. Both refund requests were denied, so I requested they be...
It's that time of the year again. The family is getting together and celebrating. Grandma is cooking something amazing for dinner. I'm trying to solve Advent of Code puzzles. This year, I decided to do something different. Instead of solving the puzzles in Python, I decided that I would try …
Needed to find the number of days between two dates. Emacs calendar must know this… Fire up the manual (M-x info-emacs-manual or C-h r). Info-goto-node (or g). Type "counting days" and voilá: To determine the number of days in a range, set the mark on one date using `C-', move point to another date, and type `M-=' (`calendar-count-days-region')....
Sometimes, you discover that someone manufactures a little piece of (non-computer) hardware that just perfectly solves a particular problem; plus, you can get for well less than $1. Today, I want to highlight one of my favorite examples of this type of discovery.
A twist on a project I worked on a couple of years ago, that makes it easier to get the Nest HD camera stream without hacky workarounds.
One of the most fascinating things about the Web is how it has evolved. By that, I don’t mean so much the mind-blowing speed of growth, but rather how the foundational languages, APIs, and browsers have been able to adapt to an ever-evolving, ever-changing environment. With all the innovation going on, we somehow still managed to create robust...
The job of a software engineer is not to produce code, but to solve problems; we just happen to solve most of those problems by producing code. Ultimately, producing code is hard, and we need help. That's why GitHub's Copilot is exciting, but it's far from ideal, and it's the tip of the iceberg of what's been done and what is to come. There have...
About ten days ago, when I went to update a few apps in the App Store on my Mac, I was met with a curious error. The internet is filled with stories from people whose Google accounts were locked for unexplained reasons, causing them to lose all of their data, including years of email, so I was somewhat concerned. But I’d never heard of similar...
When I build an application, I build frameworks along the way. I recently realized that not everybody thinks this is normal, so I thought I'd give a description of what I do and why I think it's a good idea.
Version v0.9 of the Gleam programming language has been released! Let's take a look at what's new.
To set expectations, this is not a sweeping review of the entire industry; indeed, quite the contrary. This is just one guy’s story about his limited experiences with VR gaming. About five years ago, the office I work at allowed some interested employees to host a “VR Gaming” event in the main conference room. It wasn’t sponsored by the company,...
After months of procrastination it is time for me to enter Ludum Dare again! I am totally unprepared, but I did setup a setup which actually compiles. I never got audio to run but hopefully I can manage something. Repository: https://github.com/treeman/LD29. Going for C++ this time. Graphics library: SFML. Sound effects: sfxr Graphics: mtpaint...
Building a little datacenter in my basement utilising a very fast internet connection.
I was reading a tweet about it yesterday and that didn’t stop me from pushing a code change in production with the same rookie mistake today. Consider this function: # src.py from __future__ import annotations import logging import time from datetime import datetime def log( message: str, /, *, level: str, timestamp: str =...
Hi All! 🤗 Every day, we browse the Web and scroll our timelines. And every day, we find even more interesting websites, blog posts, articles, videos, podcasts, and other insights and ideas that we want to document, preserve, and share. The most obvious way to save something of interest still is to create a good old bookmark. And there are many...
As I continue to recover from some health issues that kept me from writing, I thought it might be interesting to describe my long career with numbers. If you wind up working for four decades, your experience may vary.Years Active: 1981-2021, totaling 39.5 years. Irrespective of my title
Hosting with Codeberg Pages 2022-07-29 I recently switched the pblog project repo over from Sourcehut to Codeberg (mostly for UX reasons) and it got me looking into Codeberg Pages. It seemed like a cleaner approach to host my personal blog on the same platform I planned to also share the source code. I decided to share the setup process here...
If you want the TL;DR, go to the bottom of the post (search for "final result"). I recently switched from nil to nixd as my LSP of choice for Nix. I was curious in nixd for a long time since the fact that it can eval Nix code means it can offer much more powerful completion than the nil's static analysis, however it used to be difficult to setup....
Framing Federation I’ve always been intrigued by the way that words shape our thoughts, beliefs, and our understanding of the world around us. It happens all the time, and we often don’t even realize it, especially when the words that we use to describe (and think about) things have formed deeply-rooted mental images that we rely on to relate to...
As Australians are only too aware, the ABC, our national broadcaster, is a political football. Liked by neither of the major parties in the Federal Parliament, it suffers regular funding cuts. Tim Bowden's analysis of the situation is the best I've read for a long time.
I had been walking for half an hour along the Embarcadero in San Francisco, among my favourite places to walk in the morning. I can walk for miles and see beautiful sights along the way: bridges, palm trees, and people, like me, who have decided to start their morning with a walk. The time flew past. I was feeling a bit anxious – being away from...
If health is important to you, make health effortless. Wear atheletic shoes and running shorts all day. Replace your couch with exercise equipment. Flush your booze. Get a personal trainer. Join a gym group. Subscribe to a meal/grocery delivery service. Make nutritious foods the easiest option (or only option) in your refrigerator and pantry. If...
Do you need to add only working days to a date in C#? Do you need to check if a date is a holiday? This is how to handle holidays in C# with DateTimeExtensions. Don’t store holidays on the database We could have a table in our database with all the holidays in a year and a SQL query to find the holidays between two dates. But, sooner or later we...
I am looking at the internals of the YouTube library that ships with Windows Phone.
I don't have a huge love for Star Fox 64. I mean I played it with friends and I still have the cartridge all these years later, but it's not as big a part of my childhood as Ocarina of Time was. That said, the Ocarina
Programmers like to go on about how you should or should not comment your code. This is my contribution. But first, go read Antirez’s take on this which is fantastic and says almost everything that needs to be said, I agree with essentially all of it.
Tonight’s @risc_v Tip: Physical Memory Protection (PMP) and page-based virtual memory are designed to work together. Accessing virtual memory sometimes results in physical memory accesses. In those situations, the physical memory accesses are checked against PMP entries. Original Tweet
Turns out I'm not done with this topic…A couple days ago I saw this post pop up on Threads and it’s the “checkmate” move people like to bring up when dismissing the idea that macOS could ever work on a touch screen
A little known feature of Sparrow Solitaire is its ability to load user-generated content from files copied onto the Playdate. One day I thought it would be cool to combine two tile sets, so I built a web app to do it! A wild tile set builder appears! sparrowsolitaire.com/workshop/ 3-in-1 As well as allowing you to cherry pick tiles from existing...
It was generated using the same algorithm as the previous drawing. Metallic pens give it a really nice effect in person.
I've been a fan of Svelte for years, but never had the opportunity to use it on a serious project before. So when I found myself looking for a new platform for this site as SvelteKit entered open beta, it seemed like perfect timing.
Late last year, I read a few blog posts that said something like “everyone knows that bytecode interpreters are faster than tree-walking interpreters”. And then I saw the paper AST vs. Bytecode: Interpreters in the Age of Meta-Compilation” when Stefan Marr shared a draft on Twitter. I realized that although I’d written a number of tree-walking...
MathJax.Hub.Config({ CommonHTML: { scale: 105 } }); table.xyz { table-layout: fixed; border-collapse: collapse; margin-left:auto; margin-right:auto; } table.xyz th, table.xyz td { border: 1px solid black; } table.blueTable { border: 1px solid #1C6EA4; background-color:...
The previous post was an AI-generated podcast that I friend made by crawling my web site. I decided to create an actual podcast for posting occasional audio files. I expect to post very sporadically. I’ve posted two audio files, and I have one more in mind to post some day. Maybe that’ll be the end […] The post Podcast feed first appeared on John...
So how hard could it be. As input we have something like Fri, 17 Jan 2025 06:07:07 in UTC, and we’d like to turn this into 1737094027, the notional (but not actual) number of seconds that have passed since 1970-01-01 00:00:00 UTC. Trying to figure this out led me to discover many ‘surprise features’ and otherwise unexpected behaviour of POSIX...
Strange as it may be, it turns out I never wrote about dh-exec yet, even though it is close to being four years old. Gosh, time flies so fast when you're having fun! Since its first introduction, there's been a reasonable uptake in dh-exec use: as of this writing, 129 packages build-depend on dh-exec. One might think this would be a cause for...
N3366 - Restartable Functions for Efficient Character Conversions has made it into the C2Y Standard (A.K.A., “the next C standard after C23”). And one of my longest struggles — the sole reason I actually came down to the C Standards Committee in the first place —
We started siggu.org with the very rough intention of answering one question: Why meditate? We have multiple axes across which we will write in an attempt to answer this question: neuroscience, infrastructure, policy, and health — among others. Siggu itself is a Pali word. It means horseradish. There is nothing particularly special about a...
There are a bunch of things that are different about macOS and iPadOS, but the thing that separates these platforms the most for me is how each one works when you run into a limitation. What can you do if a feature you need doesn’t exist? What can