Links

Links to places on the web that I'd like to share. View all links in the archive.

All tags

Recent links

In August 1993, the project was canceled. A year of my work evaporated, my contract ended, and I was unemployed.

I was frustrated by all the wasted effort, so I decided to uncancel my small part of the project. I had been paid to do a job, and I wanted to finish it. My electronic badge still opened Apple's doors, so I just kept showing up.

An incredible story of how Ron Avitzur and Greg Robbins were able to develop and ship software that would be included in every computer Apple would produce while not actually being employed by them.

Discovered via Simon Willison.

Read from link

I start to wonder if it is even ethical to publish on the web anymore. I won’t benefit from it, people won’t find it so they will also not benefit. But who will it help to become multi-billioner? Samuel fucking Altman. We are creating an all-he-can-eat buffet for him, while we won’t even get to eat the leftovers. And this makes me very sad.

We are actively partipaiting in our own destruction, because it’s fun. And while we never agreed to it, the result is still the same.

This quote is from Michał's blog and it's a bit grim but it did make me stop and think. Now I do believe there's personal and public benefit from a blog and I think the author believes this as well but still...

Read from link

Recently I came across some discussion on Mastodon about archival services and physical mediums to use for long term storage. Seeing that M-Disc was mentioned I couldn't help but bring up Dr. Gough Lui's website. They have written high quality and in-depth reviews on mainly optical data storage mediums, like M-Disc, for many years now. I had linked reviews for the Verbatim Lifetime Archival (Millenniata/M-Disc) BD-R and the Ritek M-Disc DVD as examples.

Read from link

When we choose to adopt any new dependency – whether it’s a framework, library, or any other tool – we are making a bet. We’re gambling that the velocity gain from this new tool will not be lost to its maintenance burden. If a shiny framework is overcomplicated, or poorly maintained for our needs, we’re gonna have a bad time.

Allen Pike goes on to highlight boring and well-maintained frameworks for several scenarios in the seemingly fast paced world of JavaScript. For example, Fastify or NestJS for backend-based persistent applications, and React Router Framework or Next.js for progressive applications.

Read from link

I've previously experimented with storing and retrieving text embeddings using SQLite and opted to calculate the cosine similarity of each entry with each other and then store their scores in a table. Similar entries could then be queried by filtering records based on ID and sorting by their similarity score. This was a pattern I copied from Simon Willison.

Max Woolf explores using Apache Parquet files for this purpose as they generated text embeddings and then calculated the similarity between 32,254 Magic the Gathering cards. The write-up also includes instructions to read and write Parquet files using Polaris.

Polars is a relatively new Python library which is primarily written in Rust and supports Arrow, which gives it a massive performance increase over pandas and many other DataFrame libraries.

Max concludes by comparing this method to more traditional vector databases where SQLite (with sqlite-vec) was mentioned.

Notably, SQLite databases are just a single portable file, however interacting with them has more technical overhead and considerations than the read_parquet() and write_parquet() of polars. One notable implementation of vector databases in SQLite is the sqlite-vec extension, which also allows for simultaneous filtering and similarity calculations.

Discovered via Simon Willison.

Read from link

Hagen Terschüren on Mastodon likes:

A like is more than a number goes up. It’s the tip of a hat, a sign of appreciation and yes, a boost of serotonin. It’s also an escape from capitalist exploitation. Because no, the TikTok business influencers aren’t right. You don’t need to build your brand. You are allowed to have fun on the internet. And social media is most fun when it’s happening in your social circle. A like from a friend is worth way more than a repost from some person you never heard of.

Discovered via Ana Rodrigues.

Read from link

Michael Miszczak writes about the effects of Google search over the years on smaller bloggers and publishers. First through snippets of information directly on the search page and now through AI summaries and down ranking smaller sites.

Google is often called a tech company, but that’s a misnomer. It might have been true a decade ago, but that label no longer applies to the Alphabet of today. What Google has actually become is the largest advertising company in the world. They feed you ads and make money that none of us can dream of making.

Discovered via Ana Rodrigues.

Read from link

Clara and I have an AppleTV, a curious device made by a company that seemingly cares little for it. This is fantastic news from a large IT company in 2025, because it means it has mostly escaped from being stuffed with new “features” nobody wants.

Funny to think my favourite piece of tech is my old Kindle Paperwhite. The battery still works great, the power button hasn't hammed, I can load books from various stores, I can download books directly from the Kindle store if I choose, and it's not plagued with pop ups or other obnoxious attention grabbing features. The same can't be said with the Kindle store itself, but that may be a story for another time.

Read from link

A clear and concise overview of the European Accessibility Act scheduled to take effect on 28 June 2025. Matijn Hols writes about which industries it applies to, general requirements, resources to dive deeper and some thoughts for the future.

Start early, involve your team, and don't wait until the last minute to comply with the EAA. Accessibility isn't just about compliance, accessibility is about making a better and more inclusive experience for everyone.

Discovered via Stefan Judis' Web Weekly Newsletter.

Read from link

Juhis writes about how long it takes him to publish a blog post. In his answer he excludes time spent on activities such as consuming additional material like articles, podcasts and videos, taking notes, developing code, discussing the topic with others and more.

I don’t consider most of the activities listed above as something specific to blogging. Blogging is just a public outcome of things I do.

Whenever thinking about time I spend on post I always consider the preparation as well, in essence, all the activities Juhis lists. However, these are activities I would have done regardless of whether I'm writing about it publicly or not.

Maybe I need to reconsider how I think about time spent per post.

Read from link

My YouTube recommendations have done well once again. On 20 January, an Intercity VIRM-6 train collided with an excavator pulling a trailer at a protected level crossing in Bunnik. The excavators engine failed while on the crossing, and the train couldn't brake in time travelling roughly an additional 500 metres after the impact. The driver of the excavator was not hurt, the driver of the train came out with minor injuries, and no passengers were harmed.

The video recommended to me, filmed by Tinovr6, was of the train being rescued by one of ProRail's four unimogs. The vehicle demonstrates great traction given the wet conditions that day.

Read from link

No matter how much I enjoy the work I do, or how great my team is, I remind myself that the company I work for is my employer and I'm nothing more than an employee. I signed a contract to do work in exchange for a salary and that's all I am within work hours.

Mert Bulan wrote a piece on employer trust, job security and what to do if you haven't been laid off.

When I looked back on my time at the company and all the things I had accomplished, I was surprised to be impacted by the layoffs. It wasn’t because I thought I was better than others—it was because I believed I was doing more than what was expected of me. However, during a layoff, it seems that who you are and what you do doesn’t matter. In most cases, the decision is made by people who don’t even know you.

Discovered via Arne's weekly post.

Read from link

Yesterday we saw the new ICE-L from Talgo enter the Netherlands being pulled by a RailAdventure operated Siemens Vectron. They've entered the Netherlands for testing and approval. This is to be the new Intercity Berlin passenger carriages as early as December 2025, but I don't have my hopes up. Treinreizigers.nl reports that we may see ICE 3 Neo temporarily used if the ICE L is not admitted by then. There's nothing more permanent than a temporary fix, at least it would be fun to see the ICE 3 Neo service this route.

Back to the ICE-L, the video from Dylans Depot shows 21 carriages being pulled by the Vectron. We know the ICE-L is usually used with 17 carriages, that's 21 carriages * 13.8m = 290m long! That makes this longer than the current IC Berlin (9 carriages * 26.4m = 238m). I don't expect them to use 21 carriages in normal passenger service and have seen it mentioned online that using 21 carriages is potentially to test at the maximum possible length. If 17 carriages are used it would be closer to the length of the current IC Berlijn rijtuigstam at 235m (17 carriages * 13.8m = 235m).

Read from link

Chick-fil-A's distribution centre at Union Pacific's Prime Pointe Industrial Park in Dallas, Texas, is ready to receive hash browns, waffle fries and other tasty potato products via rail from Oregon. According to Union Pacific's press release, the distribution facility will serve 200 stores in the area, receiving an average of size rail cars a day, offsetting the equivalent of "100 long-haul trucks off the road each week."

The potato products I assume are produced by Lamb Weston's located by Union Union Pacific's Portland Subdivision railway line that runs along the Columbia River in Oregon.

Read from link

Stefan writes about how a <section> is essentially a <div> if an aria-label is not used. The <section> element would have been more prominent if browsers had implemented document outline functionality, which, according to Stefan never happened. So today, you can use <section>s to signal where a section begins and ends, an example given in the writing was a summary paragraph.

In my site and blog, I use <sections> a number of times, and TIL they're not much more than <div>s. I'll have to revisit my HTML templates and CSS and make changes.

Read from link

The United States Department of Transportation (USDOT) Federal Railroad Administration (FRA) launched the Railroad Crossing Elimination Grant Program to fund projects that improve safety around level crossings. This $1.1 billion grant program aims to create grade separation through tunnels or bridges over railways, close crossings, relocate track, protect or improve protection at existing crossings, and plan works involving the crossings. Since opening for applications in September of 2024, 123 projects have been accepted, covering over 1,000 crossings.

These goals are very similar to those of the Dutch National Level Crossings Improvement Program (LVO) started in 2014 to improve safety and traffic flow at crossings, and the NABO program, launched in 2018, aimed at eliminating all passively protected level crossings in the country. While the funding mechanisms for these projects are slightly different—where the Dutch Ministry of Infrastructure and Water Management funds up to 50% of the project, the US FRA fund up to 80%—the outcomes are the same.

Read from link

Microsoft seems to pushing Copilot to its Microsoft 365 users for an additional $3 per month unless the users switch to the "classic" plan before the next billing cycle. Leonard French, in his YouTube video, comments on the implications this could have for confidentiality in healthcare, legal and other similar industries. This was prompted after Kathryn Tewson started a thread on Bluesky on the issue after speaking to Microsoft support. She writes:

  1. It is impossible to disable Copilot in OneNote, Excel, PowerPoint, or Windows itself.
  2. It will not become possible to do so for another month AT THE EARLIEST.
  3. While they couldn't be sure, they think it's likely that Copilot ingests organizational data via the systems and applications it's embedded into even when not invoked.
  4. They were unable to determine if such ingested data would "bleed over" into files other than those it was sourced from
  5. They were very clear that organizational data would not be used to "train foundational models," but couldn't rule out the possibility that it could leave our organization in some way and pass beyond our custody and control.
Read from link

Adam Jacobs writes about switching from flying to travelling by rail for conferences and other work-related travels to be more sustainable. In doing so they also comment on the benefits of being able to work while on the move and the ability to explore new places but also that purchasing tickets can be complicated especially if it involves a missed connection. It was good to read someone else's perspective as I also travel by train for work, not as much or for as long as the author, and have written about my fair share of experiences. The same themes arise, good use of work time, but also trouble with ticketing and delays.

I originally discovered Adam's article on Mastodon.

Read from link

Earlier this month I linked to a post on Kottke where they talked about using hypertexts in blogs. Arun extends this in his blog with tasteful visuals that would not otherwise be possible in traditional media.

Blogs are native to the web, which affords a very different form of consumption than traditional print media. I love weaving in video, illustration, and animation into my otherwise static posts. For example, my post on the Apple Card extensively uses video clips that illustrate ideas much better than static images could.

Read from link

Adrian Cockroft writes about AB testing and building an "abtest" where "Each customer should be in a small number of tests." and the "abtest service should be used across your entire system, for all experiments that touch a customer."

There are three ways a user is enrolled into a test, (1) new users on sign up, (2) feature-specific test when meeting a condition, (3) and a random selection of existing users.

Discovered via Matt Weagle on Mastodon.

Read from link

Almost a year ago Mastodon set up its U.S. non-profit organisation, introduced its Board of Directors and had their original German non-profit status removed. In a blog post the Mastodon team explained the setup of the U.S. entity did not have to do with their German non-profit status being revoked. This month the Mastodon team is taking it further by setting up a new non-profit organization in Germany, they explain:

Simply, we are going to transfer ownership of key Mastodon ecosystem and platform components (including name and copyrights, among other assets) to a new non-profit organization, affirming the intent that Mastodon should not be owned or controlled by a single individual.

[...] Taking the first tentative steps almost a year ago, there are already multiple organizations involved with shepherding the Mastodon code and platform. The next 6 months will see the transformation of the Mastodon structures, shifting away from the early days’ single-person ownership and enshrining the envisioned independence in a dedicated European not-for-profit entity.

The current CEO will hand over ownership to focus on a role in product strategy. Good changes all around will be good to see what more is in store for the platform's future.

Read from link

To readers of my blog, it's no surprise, I like RSS. In this post, Mark Nottingham describes what RSS lacks to thrive on today's web this, includes the ability for publishers to be able to track readership, control/ensure readability in various readers, introduce methods of authenticating feeds, and more. Mark has also set up an IETF mailing list to discuss this further. This was discovered through Evan.

Read from link

Riccardo Mori surveyed a 106 participants on their backup practices using Windows and Macs, and includes some takeaways on changes from spinning disk to SSD.

I received 106 replies, 75 from Mac users. Of these Mac users, only 11 are still actively, routinely backing up their data. Of the remaining 64, 21 told me they’ve never backed up anything. In the remaining group of 43 users, a few of them relied solely on Time Machine backups (without even verifying them), but the majority was simply using some cloud service (Dropbox, iCloud, OneDrive, Google Drive) to save selected critical data and nothing else. [...] every person in my sample who was using an Apple Silicon Mac didn’t bother with any particular backup solution, and a lot of them specifically told me that they had stopped bothering with backups since Apple stopped including spinning hard drives in their computers, and especially since transitioning to the Apple Silicon architecture.

Interesting observation of moving to Apple Silicon and SSDs made users feel safer in their data to not bother with backups. I'd have expected most Mac users to use backup with Time Machine given how easy it is to use.

[...] of the 31 Windows users who submitted their replies, the vast majority used OneDrive as main backup solution, while 5 people told me they relied on local NAS solutions to preserve their data. Even among them, SSDs inside their main computers meant a general sense of increased reliability and security.

A similar observation on HDD and SSD with Windows users as well.

Read from link

On 6 January, Dirk-Jan Pasman, a Product Owner and Project Manager at NS, posted on LinkedIn that the first VIRM train, number 8742, has been taken to the workshop to begin installation of ETCS equipment. To the quote the entire post, translated from Dutch to English using LibreTranslate:

Nice start of the new year, proud and big milestone!

Today, the first VIRM train will roll into the workshop that we are going to provide with ETCS (European Train Control System). Over the past period we have worked hard together towards this beautiful moment.

By installing ETCS in the VIRM, we make the largest intercity fleet of NS ready for the future.

With fresh energy we will work together during this next phase of this beautiful project!

In 2022, Siemens Mobility was awarded the contract to equip 176 VIRM trains with ETCS Level 2 technology and maintenance of the system which the Dutch Railway, NS, plans to extend to the SLT and FLIRT trains in the future. At the time drivers were planned to start simulated training using the system in Q4 2023.

Read from link

This is a post on Kottke, discovered through People & Blogs, about writing on the web and the ability to load a paragraph with links enabling information density. The example given quotes a paragraph from NY Times which contains only 110 words but has 27 links to other NY Times opinion pieces adding "receipts" to their point of view. This is a style of writing that is only possible on the web, something I hadn't fully realised before.

Read from link

Rijkswaterstaat, part of the Dutch Ministry of Infrastructure and Water Management, plots gritters on a map along with data on total salt sprinkled and kilometers driven on the day and within the whole winter season. The map also shows the road surface temperature measured by 330 measuring points throughout the country. I originally discovered this site from their post on Mastodon.

Read from link

This is an interesting read from Mark Blacklock on a bizarre brewer, Humphrey Smith of Samuel Smith Brewery, and his obsession with reliving the past, at the expense of much of the local community, his employees, and the many historic buildings acquired over the years. However, it doesn't seem to be that simple; the article has a lot to unpack.

Originally discovered through Tom Scott's Newsletter.

Read from link

Wendover Productions along with LegalEagle are suing PayPal in a class-action lawsuit. I first discovered this from Leonard French who reads through the document providing his commentary. At the time of writing this LegalEagle has also uploaded a video addressing the lawsuit which has to do with Honey hijacking referrals from creators as discovered by MegaLag.

The YouTube commenters on all videos pointed out that this was a form of cookie stuffing, which according to Wikipedia:

... is a deceptive tactic in affiliate marketing. In affiliate marketing, individuals (affiliates) are compensated for enticing consumers to buy products through specially crafted URLs that set cookies on users' browsers to track which affiliate referred the user to the site. Affiliates engaging in cookie stuffing use invasive techniques, like pop-up ads, to falsely claim credit for sales they did not facilitate.

The FBI together with eBay went after Shawn Hogan and Brian Dunning for cookie stuffing using the eBay affiliate program where they both pled guilty to a single wire fraud charge.

Read from link

We saw all the memes about cubicle farms being soulless mazes, but frankly I’d love to be back in one. I was more productive in my first corporate job cubicle (and my home office) than any open-plan office since, and we’re all starting to understand the psychology why.

I knew I wasn't alone in liking cubicles over open office floors!

Read from link

The Europlug, a two-pronged AC power plug for regular household appliances, is surprisingly compatible with most of the world's plugs. The Wikipedia map, I discovered via Jiu on Mastodon, highlights this. I knew the British Type G plug with three flat poles could still technically be used, although not recommended(!), by pulling down the ground shutter and shoving a Europlug in.

In some types of BS 1363 [Type G] socket (but not all) the safety mechanism can be tampered with so that a Europlug may then be forced into the open line and neutral ports. The UK Electrical Safety Council has drawn attention to the fire risk associated with forcing Europlugs into BS 1363 [Type G] sockets.

I've seen this used quite a lot in the Middle East as appliances come with both the British and Europlug whereas all wall sockets are British. Looking at the map I was not aware of how much of world actually used Type G plugs.

Read from link

The Transit Costs Project (discovered by Pedestrian Observations) aims to collect cost details of transit infrastructure projects around the world from researchers at NYU Marron Institute of Urban Management. In their own words:

Why do transit-infrastructure projects in New York cost 20 times more on a per kilometer basis than in Seoul? We investigate this question across hundreds of transit projects from around the world. We have created a database that spans more than 50 countries and totals more than 11,000 km of urban rail built since the late 1990s... The goal of this work is to figure out how to deliver more high-capacity transit projects for a fraction of the cost in countries like the United States. Additionally, we hope that our site will be a useful resource for elected officials, planners, researchers, journalists, advocates, and others interested in contextualizing transit-infrastructure costs and fighting for better projects.

There are some visualizations and case studies released based on the data.

Read from link

YouTuber MegaLag investigates Honey, the browser extension that supposedly finds you deals right before checkout. The video shows evidence of Honey overriding affiliate codes with their own biting the same influencers that promote them, specifically avoiding higher discount codes for some partnered stores, and repeatedly trying to inject themselves at every checkout even if there are no savings to offer so they can get a commission of the sale. The video has a lot more information and is only the first part of a series, some good investigative journalism from MegaLag.

Read from link

When submitting a document, design change or any proposal for review among peers we've all been exposed to the law of triviality. In other words a disproportionate amount of comments like "typo?", "change the variable name?" or other trivial objections that don't address the main topic.

The law of triviality is C. Northcote Parkinson's 1957 argument that people within an organization commonly give disproportionate weight to trivial issues. Parkinson provides the example of a fictional committee whose job was to approve the plans for a nuclear power plant spending the majority of its time on discussions about relatively minor but easy-to-grasp issues, such as what materials to use for the staff bicycle shed, while neglecting the proposed design of the plant itself, which is far more important and a far more difficult and complex task.

The term bike-shedding and bike-shed effect have been used in software development to reference the same idea, brought up in a 1999 FreeBSD email thread.

Read from link

Video description: A stock fireplace illustration frames looping archival video of the blasting RS-25 engines that launched the Artemis I rocket to the Moon on Nov. 16, 2022 (source: https://go.nasa.gov/4g6LnWc ). The illustration includes stone tiling, a pillow, a basket of firewood, and contains elements generated with AI. NASA added two framed pictures to the illustration. One shows an archival image of the Orion capsule flying through space. The other shows the Artemis logo. The audio features the roar of the rockets at a low level, with the addition of the sounds of a crackling wood fire.

Discovered via kottke.org.

Read from link

A look into a risk assessment done by the Hachyderm Infrastructure team as a precaution to limit exposure to entities that may be governed by US law. The post breaks down each site and components giving an indication of the impact to service if the component were disrupted, and effort to migrate. There's a lot of interesting detail on what it takes to host a large distributed social network like Mastodon well.

Read from link

Thibault Lapers reports on some interesting rumours that an announcement of the EuroCity Brussels is not far away. We saw this service during the Olympics this summer between Brussel-Zuid and Paris Nord. Thibault mentions that in addition to a stop at Mons, we can also expect stops Aulnoye-Aymeries and Creil with an overall trip time of approximately 3 hours. The rolling stock would be the HLE 18 locomotive and I11 carriages.

Read from link

Extending the RE13 to Eindhoven has been in discussions for many years now. In 2021, the concession was awarded to Start, a subsidiary of DB, to work together with Arriva Nederland who is responsible for the Dutch portion of the service.

This hourly service, scheduled to starting in December 2026, will use 20 new Stadler FLIRT3 XL train sets. They will be capable of three power systems, 15kV DC, 15kV AC and 25kV AC, according to the presentation with three train protection systems ATB, PZB, and ERTMS. It seems the first train has already been constructed with three more scheduled for 2024 and the rest to started by Q4 2025.

Read from link

Joshua writes some good pointers on running your own public API from his experience running Pushover's API. I recommend reading his full post, I've distilled it down here with some of my notes.

  • Host the API on its own hostname (i.e. api.example.com) to allow for separate control of IP, TLS settings, and so on. I've made this mistake before of figuring I could just use NGINX in front of everything on a single domain. Not entirely scalable.

  • Account for users doing the bare minimum to get their application working, including inadvertently using non-conforming requests. Supporting them now will mean supporting them for all eternity unless you start working on a deprecation strategy. This reminded me of when I built a bot to send notifications of new posts on a subreddit. I created the URL for the post by inserting the subreddit name returned by the API. Within the URL I included "/r/" and the API also returned "/r/" before the subreddit name, which mean the URL generated had "/r/" twice. This still worked for a while before Reddit decided to reject those requests and I had to adjust my code. Had to dig through the Discord message archives for that one. Joshua also gives an example of not being too stringent:

Pushover's API has a message size limitation of 1,024 characters. If the message parameter is larger than that, I could reject the request because it's not correct, but then the user's message is lost and they may not have any error handling. In this case, I truncate the message to 1,024 characters and process it anyway [...] The user still receives something, and if they care that it's truncated, they can properly implement continuation or smarter truncation.

  • Use API tokens were possible for authentication, and make them easy to rotate.

  • Include a unique ID with every request and ask for them when providing customer support.

  • Assume humans will read your error messages, make them descriptive. Please, this.

  • Keep up with user failures, Pushover's API "short-circuits" the API logic after a set number of 4xx errors with a 429 response for an hour, along with a descriptive message. Use the API tokens to map the erroneous requests with a user and notify them via email.

  • Prefix any tokens you create ot help sorting out random strings. This is one thing I've seen used a lot but never considered doing myself until reading this.

Read from link

I learnt about the localisation efforts of Ibrahima SARR's team to create the Fulah language pack for Firefox from Eric Bailey's blog post about localising content. It shows a new perspective on common technical idioms used that may not directly translate well into other languages. The example described was the word "crash" which translated to hookii meaning "a cow falling over but not dying".

This also reminded me of a web page by Rogério de Lemos on mapping technical terms in Portuguese to their English counterparts when describing dependability.

Read from link

I try not to be negative in what I post online, for this reason, this will stay out of the main blog, and my Mastodon account, but I wanted to comment in some way so it will be a link post. Linked is a YouTube video from Mutahar on the incident with MKBHD, if you prefer reading here's a Verge article. I don't care to comment much on the ethicality of a full length sponsored video that seemingly positions itself as a review but what I don't have any tolerance or respect for is the egregious speeding especially in a residential area. The main speedometer was blurred out to cover the crime but the car had a passenger-side speedometer as well that showed Marquees drove up to 95 mph which converts to 152 kmh where the limit is 56kmh! Completely reckless to drive at those speeds at all, even more so in a residential area where a children playing sign was visible in the video. The video was quickly edited with a comment that said "Cut out the unnecessary driving clip that obviously added nothing to the video. I hear all your feedback on sponsored videos too." Good cover-up...

The linked video from Mutahar covers my views on the event.

Read from link

sqlite-vec is a vector search extension for SQLite with install options for Node.js, Python, Rust, rqlite and more. I previously used SQLite to store embeddings when investigating the viability of using a text embedding model to recommend related posts on the blog. However, back then I'd calculated the cosine similarity between each embedding which is compute intensive. Using this extension would allow me to dynamically retrieve the distance between an embedding and the embeddings stored in the database.

The extension can be compiled on various platforms but currently the PyPI package does not have an ARM release.

I also encountered an error when trying to retrieve distances for embeddings: "OperationalError: A LIMIT or 'k = ?' constraint is required on vec0 knn queries". I wasn't alone in this the workaround is to use k instead of LIMIT in the query. In the coming few weeks I'll be playing around with this extension some more, looks very promising so far.

Read from link

Title and all quotes translated from Dutch to English by Google Translate, minor edits for readability made by me.

As ProRail employees are on strike in different regions of the Netherlands this and next week. Even though these strikes are bound to various ProRail control centers, they affect traffic much broader than their region. Since NS runs a lot of 'long lines' across the country which may cross strike affected areas. NS has even started using new digital signage earlier this year to help passengers navigate these long routes. Tim van Leeuwen, Director of Operations Control at NS, explains why these long lines are needed:

[Long line services] are a direct consequence of how our small country is structured. In contrast to other countries, the Netherlands does not have one dominant urban area where employment and education are concentrated. Think of Paris in France, for example. Everyone has to go there in the morning and leave again in the evening. The French railways (SNCF) therefore base their timetable on this.

What you sometimes hear is true: the Netherlands is more of a large city than a small country. Not all residents of Den Bosch work in Rotterdam and not all residents of Groningen want to go to Amsterdam. You could actually say that everyone in the Netherlands has to go everywhere. And that is what NS is setting up its network with long lines for.

A major advantage is that NS is making optimum use of both the infrastructure and the train equipment. Due to the long lines, few trains have to turn around in Utrecht and that saves platform capacity and therefore space at Utrecht Central, a place in the middle of the city where space is limited. It also ensures that 80 percent of our passengers do not have to change trains.

Read from link

Alex writes about creating HTML files in folders to browse files in various ways.

This allowed me to radically simplify the folder structure, and stop chasing the perfect hierarchy. In these mini-websites, I use very basic folders – files are either grouped by year or by first letter of their filename. I only look at the folders when I’m adding new files, and never for browsing. When I’m looking for files, I always use the website. The website can use keyword tags to let me find files in multiple ways, and abstract away the details of the underlying folders.

Why HTML?

I’m deliberately going low-scale, low-tech. There’s no web server, no build system, no dependencies, and no JavaScript frameworks. I’m writing everything by hand, which is very manageable for small projects. Each website is a few hundred lines of code at most.

It reminded me of a time when I had to present a project I'd worked on as part of a job interview. I created a number of linked HTML files that walked through various parts of the code. It had the benefit that if a question was asked I could directly open up the relevant file and dive into the code. The interviewers didn't seem impressed but I ended up getting the job, so I guess it worked.

Read from link

Mark Wagenbuur, from Bicycle Dutch, writes about forever ongoing discussions about building bridges over the IJ, a river that now has seven ferry lines taking passengers back and forth. A quote from the blog:

In the 2015 version, I reported that there were six ferry lines, and now there are seven. The most important one of those, behind Central Station, is the F3 Buiksloterweg ferry. The earliest mention of this ferry dates back to the year 1308, but it is probably much older. Two ships operate on this line during the day, which means a ferry crosses the river every six minutes. During rush hour, a third ferry is added, reducing the waiting time to four minutes. At the busiest times, there is even a fourth ferry in operation.

I was reminded for an incident in January this year when the Metro M52 was closed towards Amsterdam Noord because of a flooding in a tunnel at Sixhavenweg. This was paired with the F3 Buiksloterweg ferries being taken out of service because the platform used to cross when docked had collapsed, the ferries ran to IJplein instead. To make matters works, a number of ferries from the 60 series were taken out of service because of technical problems resulted in cancelling the F9 route between Sporenburg and Zeeburgereiland.

Read from link

Ruben writes about keeping himself hydrated throughout the day and the ambiguity about how much water is actually required by your body. The thought about tracking water consumption through a database had just entered by mind only to be replaced instantaneously by the simplicity of a spreadsheet. In the very next paragraph Ruben writes:

So I did what every self-respecting computer engineer did: I built a database table to track my water intake! Then realised this was a bit of a pain, and made a spreadsheet instead.

Read from link

This paper written by nine researchers talk about how the presence of bicycles lanes have a traffic calming effect for motor-vehicle users at intersections. That is to say it not only makes the street safer for cyclists but micro-mobility users and pedestrians as well.

we found that the effect of the delineator-protected bicycle lane (marked with traffic cones and plastic delineators) was associated with a 28 % reduction in average maximum speeds and a 21 % decrease in average speeds for vehicles turning right. For those going straight, a smaller reduction of up to 8 % was observed. Traffic moving perpendicular to the bicycle lane experienced no decrease in speeds. Painted-only bike lanes were also associated with a small speed reduction of 11–15 %, but solely for vehicles turning right. These findings suggest an important secondary benefit of bicycle lanes: by having a traffic calming effect, delineated bicycle lanes may decrease the risk and severity of crashes for pedestrians and other road users.

The paper also mentions that the road width decreased slightly when adding the temporary bicycle lanes which in itself is considered a traffic calming measure by the Federal Highway Administration.

Discovered via Taras Grescoe.

Read from link

Wes Bos inspects McMaster-Carr a tools and parts shop with a website that's buttery smooth. No seriously try it.

The developers seemed to have pulled out all the stops to accomplish this. There are some simple methods like using CDN caching, client caching through ServiceWorkers and preloading assets in <head> including dns-prefetch but also lesser known, or more obscure ones like using sprites to load images to reduce the number of HTTP requests. The videos covers some more, but I'll be using some of these in my site builds in the future.

Read from link

Quotes from Alan Levy on deciding between tram or metro for ring roads around cities, in this case specifically the Bundesstraße 4 R in Nuremberg.

In favor of light rail, there’s the issue of speed. Normally, the advantage of subways over tramways is that they’re faster. However, on a circumferential route, the importance of speed is reduced, since people are likely to only travel a relatively short arc, connecting between different radials or from a radial to an off-radial destination. What are more important than speed on such a route are easy transfers and high frequency.

In favor of metro, there is the cost issue. The same factors that make speed less important and frequency more important also make it easier to build a metro. If the road is wide enough, which I think the one in Nuremberg is, then cut-and-cover is more feasible, reducing costs.

As usual with the blog there's great comparisons drawn from other cities like Paris and Cologne and other points made on trading capacity for frequency.

Read from link

Multiple university professors and researchers from different institutions comment on how students from 2017 and onwards store files in a flat structure and are unaware or unwilling to use folders.

I came across this 2021 article from a comment left by Simon Willison on HackerNews on how the HTML for People book asks the reader to "create a folder".

A notion of why this mental shift could be attributed to moving away from storting physical filling cabinets but also from the way content is consumed today with curated feeds rather than having to store or locate a file within a folder. Another reason could be with the emergence of good full-text (and image) search, I'm leaning more to this being a contributing factor.

Read from link

Seeing Blake Watson's HTML for People reminded me of learning to build a plain HTML website at school. The bulk of the guide covers the basics of HTML in an easy to consume format with short incremental examples. The guide also uses Simple.css to avoid having to learn any extra styling while still keeping the HTML content simple, although there's an extended bit that covers CSS and PHP.

Read from link

Simon Willison shares his experience serving on the board of the Python Software Foundation over the last two years and some of the responsibilities that entails.

The Python Software Foundation supports the development of Python and the community by allocating their donations towards running infrastructure other activities. However, they are not directly related to developing Python which is handled by the core team ran by the Python Steering Council. Infrastructure includes running PyPi and Python.org and activities most notably include organising PyCon. Simon also mentions an activity I hadn't considered before and that's acting as a fiscal sponsor to other python-related communities.

Simon's write-up is dense with information and definitely worth the read if this is interesting to you. This has also prompted a write-up by Makoto Nozaki on serving on the board of The Perl Foundation.

Read from link

NS train driver Stefan uploaded a new video of the 'Airport Sprinter' equipped with cameras and software that enable the driver to close the doors before the train departure. A task that is typically done by the train conductor during the departure procedure. Each carriage is equipped with external cameras allowing the driver to see passengers during the departure procedure visible at 8:20 in the video. This system, according to the video description, saves 10-15 seconds on average at each stop.

I've written about tests that were conducted back in 2022 on these sprinters, it seems the timed saved will be worked into the 2025 timetable to improve reliability.

An interesting side effect since the train conductor is no longer in charge of beginning the departure procedure if they move between trainsets at a stop they must notify the driver so as to not be left behind. This is seen at 16:18 in the video.

Read from link

Ian Carroll published a write-up together with Sam Curry on how they were able to add arbitrary crew members to bypass security screening or ride in a jump seat in the cockpit of an aircraft. They used SQL Injection (that seems to use MD5 password hashes!) on FlyCASS, a software system small airlines use to manage authorisation for their crew members at airports.

What was more shocking to me was seeing TSA allegedly trying to cover up the error.

The TSA press office said in a statement that this vulnerability could not be used to access a KCM checkpoint because the TSA initiates a vetting process before issuing a KCM barcode to a new member. However, a KCM barcode is not required to use KCM checkpoints, as the TSO can enter an airline employee ID manually. After we informed the TSA of this, they deleted the section of their website that mentions manually entering an employee ID, and did not respond to our correction. We have confirmed that the interface used by TSOs still allows manual input of employee IDs.

This post was discovered through Arne Bahlo's newsletter.

Read from link

As annoying as cookie banners are I like seeing them because they give me the choice to deny being tracked but also because I get to see all the vendors a company would have otherwise sold my data too. The longer the list the further I tend to stay away from site unless absolutely necessary. The linked write-up on Bite Code! is a neat summary on why the banners don't have to be as bothersome as they typically are especially because we could have had a standard Do Not Track HTTP header!

There has been for years a proposal for a standard, designed in 2009 (!), still available in all the popular web browsers (except safari) that can make for a seamless experience: the DNT header.

Almost no website have implemented it, because companies WANT to nag you, hopping to trick you into being tracked. They know nobody would click yes on those settings.

So now it's deprecated.

Companies are making your life hard by choice. They got told by the EU they could not be secret abusers anymore, so now they decided to be irritating on top.

Read from link

I'm not sure any re-org I've been subjected to has led to anything useful but wasted time, confusion and the de-prioritisation of work already done which leads to more wasted time. One aspect of the wasted time comes from the need to explain or maybe even justify the work done by the team having active documentation on the team’s tenants, work and roadmap is one way that helps. Logan's recent blog titled Mean Time To Reorg; Writing as Resilience provides some good examples of this in action.

As a tech lead of a project, these reorgs led to frequent changes in management reporting lines. The twice-annual reporting line change drew my time away from the team and project, and was spent on understanding the positions and intent of the new management structure, and briefing them on the work we did and why it was valuable. [...] Folks new to the project who only did surface level due diligence would misunderstand the details rather than fail to grok them in the first place. When a new hire joins the company there’s an expectation of some number of months before they develop expertise in all of the in-house systems. When there’s a reorg there’s an expectation that the new manager of an area is effective overnight.

I learned that in order to preserve my time for the team and project I needed to improve the speed at which new people (particularly management) onboarded [...] I did this through writing and documentation. We had in-depth docs for users of our product. [...] Over time I learned that essentially writing context and documentation about the roadmap greatly benefited the onboarding of new managers, engineers in the area, and curious customers.

Read from link

While reading the latest post on PedestrianObservations called Tradeoffs in Reliability and Shutdowns about the state of the German railway in the summer I re-discovered a toot from Jon Worth. I think it aptly describes what it means to have a reliable and trustworthy public transport system.

That 5am train with a dozen building workers on it, or the last train home in the evening matter for the trust and reliability of the system, even if those individual trains make heavy losses and are largely empty

Read from link

The author of TheCoffeeMachine gives a detailed walkthrough of how to add maps to a hugo site using uMap, which allows you to create maps based on OpenStreetMap (OSM) layers, and a shortcode that allows you to embed them. This is a belated TIL as I've already used this a few times, most recently for my post on the Tri-Country Train.

A rough overview of the steps involves signing up for and using uMap. This will allow you to create a map, set markers, and make the adjustments you need on top of existing OSM layer. From here using hanzei's hugo-component-osm theme you can embed the map into the hugo site using a shortcode. This includes passing in any parameters that uMap supports like coordinates to center the map and the zoom level.

I recommend reading the linked post for detailed steps. I needed to take this further and include a class within the iframe that's rendered on the page to able to style it with CSS. Unable to find a way to do this I forked and made my own addition. The pull request was created to the original repository if hanzei would like to include the changes. Here's a sample of what it looks like:

{< openstreetmap mapName="usa-train-lines-using-stadler-multiple-units_1100675" coordX="40.0731" coordY="-74.8924" scale="10" class="alignright" >}}

Read from link

I was not aware of how much of an accessibility issue having only a dark colour scheme posed. I know there are preferences but seeing the replies on Nai's Mastodon post about the difficulty of reading white text on a dark background for some with astigmatism was surprising.

But there are some people (like me) who may be visually impaired. Astigmatism, for example, can make reading text that is white on dark a real PITA. An effect known as "halation" occurs, where each letter behaves as if it were a flashlight, gaining its own halo of light and making all text read more blurry than normal.

No matter how good your glasses are, astigmatism still causes you to see a little blurry—it's something you get used to. But this damn effect makes all the text read as if you don't have your glasses on, or even worse, leading to much more tired eyes or even pain.

Linked in the thread is a Vice article in which the author also shares similar difficulty reading dark colour schemes with astigmatism but also why dark backgrounds work for others.

My own very-astigmatic eyes are exhausted by dark mode, but for many others, dark themes are an accessibility benefit. White backgrounds emphasize floaters, those tiny spots of fibers that appear in some people’s vision. People with disorders like photophobia or keratoconus, conditions that cause high sensitivity to light, might read more easily with dark themes.

Read from link

ICANN finally allocates the .internal TLD for private use after discussions first started in 2020. This means we can now use .internal domains on a private network without fear of it being up for grabs and resolvable to something else in the future. To prevent this previously you could purchase a domain name and use that or subdomains of that for internal use so you always control what is resolves to.

Resolved (2024.07.29.06), the Board reserves .INTERNAL from delegation in the DNS root zone permanently to provide for its use in private-use applications. The Board recommends that efforts be undertaken to raise awareness of its reservation for this purpose through the organization's technical outreach.

Between 2020 and now, ICANN opened the proposal for public comments which was summarised in PDF form. ICANN received responses from various groups like various ICANN committees, Amazon and Google. The majority of valid responses were in favour of using .internal with the others in support of the idea but asking for a shorter TLD.

Read from link

Our car-centric cities and towns rob people of their independence. People who would otherwise be perfectly capable of going out on their own to meet friends, or grocery shop, or go to the library are prevented from doing so because they can’t drive. Maybe they’re too young to drive, as I was at 14; or maybe they’ve gotten old enough that it’s no longer safe for them to drive; or perhaps they have a disability that prevents them from driving. Sometimes people can’t drive simply because they can’t afford a car, because these things are really expensive.

From Evan Sheehan.

Read from link

This article from the South China Morning Post covers the Iran-China railway link between Almaty in Kazakhstan through to Tehran in Iran. At the time this was published, I assume 2017, it had been a year since the first the first freight train connecting Iran and China ran through neighbouring countries Kazakhstan, Uzbekistan, and Turkmenistan in February of 2016. Traveling along the Silk Road taking only 14 days it provided a quicker route than ships between the two countries.

The arrival of this train in less than 14 days is unprecedented,” said President of the Railways of the Islamic Republic of Iran (RAI), Dr Mohsen Pour Seyed Aghaei. “The time spent by this train” to reach Tehran “has been 30 days shorter compared with the maritime route, which starts from China’s Shanghai port and ends in Iran’s Bandar Abbas” port city, Dr Pour Seyed Aghaei noted. He added, "This is an important step for the revival of the Silk Road and the train has travelled 700 km per day, saving 30 days compared to normal time that takes to go this distance.”

Part of this route towards Europe became a "life channel" during the COVID-19 pandemic as it required fewer health checks than road transport since the train uses local crews in each country. Halting flights and increasing maritime freight prices put this rail alternative in a good spot.

Interestingly, the UIC in another article.

It's clear there's a lot of activity in this area I'm not familiar with but it is interesting to learn more.

Read from link

The Holotypic Occlupanid Research Group, or HORG, work to classify and research plastic clips usually seen securing bread, fruit and other bags at the supermarket. The HORG calls these clips Occlupanids.

Occlupanids are generally found as parasitoids on bagged pastries in supermarkets, hardware stores, and other large commercial establishments. Their fascinating and complex life cycle is unfortunately severely under-researched. What is known is that they take nourishment from the plastic sacs that surround the bagged product, not the product itself, as was previously thought.

My favourite, the Coronaspinus chaos, since it looks like trees I drew as a child or as the HORG describes, "Chaotic crown of thorns."

I found the site from a CHUPPL documentary called The Bread Tab Conspiracy: $93,000,000,000 Disappeared.

Read from link

So cats do try their best to communicate vocally.

Research shows that, "listeners were able to identify domestic cat meows from two different contexts significantly better than chance, and that experienced listeners were better judges than inexperienced ones." Taking samples from two of three sibling cats showed that rising intonations were related to food and falling intonations with the vet.

Originally posted on Mastodon.

Read from link

CommonMark is the Markdown specification created by John MacFarlane, Jeff Atwood and others, to encompass the various flavours of Markdown that was adopted by different software over the years. GitHub adopted CommonMark along with it's extension for Markdown called GitHub Flavored Markdown (GFM) sometimes around 2016-2017. I've complained about how different platforms deveate from the standard. This GitHub Engineering post shows how good of a job the CommonMark contributors did to represent common usage of Markdown with only 1% deveating from GitHub's previous Markdown parser.

We [GitHub] actually enabled CommonMark for all new user comments in the website several months ago, with barely anybody noticing — this is a testament to the CommonMark team’s fantastic job at formally specifying the Markdown language in a way that is representative of its real world usage.

All in all, less than 1% of the input documents were modified by the normalization process, matching our [GitHub's] expectations and again proving that the CommonMark spec really represents the real-world usage of the language.

Read from link

India has accelerated its rate of electrifying railway lines in the last few years, this article covers some of the numbers and current progress.

“The pace of electrification has been the highest in the last 15 years: between 2011 and 2020, about 20,000rkm of railway lines were electrified, and another 20,000km of route kilometres have been electrified between 2020 and November 2023,” says Sharif Qamar, associate director at the Energy and Resources Institute, a Delhi-based research institution.

As of 1 September 2023 91.49% of the railways have been electrified according to the Indian Railways.

Read from link

A collection of personal websites which have curated links to other websites. I've spent a few hours diving down rabbit holes after discovering the site through 82MHz's post a few days ago and discovered some interesting sites.

Read from link

This open source tool, discovered via 82MHz, fetches an authors Mastodon thread to be rendered as an HTML page or to be exported as a Markdown file. masto-thread-renderer can be self-hosted and the author has hosted version available as well at thread.choomba.one.

I've done something very similar by creating a Python script that can fetch a toots JSON payload via Mastodon's public API. The JSON file can then be used in a Hugo shortcode to display it on a site. This approach including the Python code was adapted from Brandon Rozek's approach detailed on their blog.

Threads from Mastodon on my blog are tagged as "toots". Here's an example called Riding the Elizabeth Line! from the blog and the same thread on masto-thread-renderer.

Read from link

These simple but well written articles remind me of the many children encyclopedic books I read through as a child. Its good to see a format like this on the internet thats accessible for all and something which can be, and is, kept up to date.

Discovered via Nicolas Magand

Read from link

From Matthew Graybosch via People and Blogs

I still have a website on matthewgraybosch.com, but its mainly a substitute for having a LinkedIn account because LinkedIn has always been the Ashley Madison of job hunting, only more cultish. I mean, have you seen the people posting there? Its like the Stepford Wives got equally robotic husbands and they all got corporate jobs.

Yes, yes and a 100 times yes. No social media outlet is more artificial than LinkedIn.

Read from link

"Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better."— Edsger Dijkstra

Derek Kedziora made a some good comments on Eugene Yans post titled "Simplicity is An Advantage but Sadly Complexity Sells Better".

Removing unnecessary complexity is a thankless job.

Read from link

By using satellite images from Google in QGIS and marking areas of potentially good Christmas trees then exporting that layer and joining it with the National Forest Motor Vehicle User Map in Wherobots Cloud using Spatial SQL @lyonwj was able to map the areas with accessible roads.

Theres a lot of interesting bits to unpack there, but my main takeaway was the use of spatial SQL, it certainly beats relying on osmium tags-filters and manually editing GeoJSON files.

Read from link

Based on OpenStreetMap data this map displays all country borders along with the 10,000 most populous cities. The file itself comes down to 628KB, which is impressive, allowing it to be cached on the client device. Different variants of this map are available with no country borders or fewer cities, to bring the overall size down. This can be used as a base map or a fallback map with leaflet. What I found interesting was looking into the code and seeing how the land areas were plotted and drawn, with the lakes then drawn above that and finally the cities after the lakes.

After discovering this, I've taken the opportunity to use it on my rail page to plot all the locations where I've filmed a video. At the time of posting this, it hasnt reached its final form yet but I'll be working on it over the coming days.

Read from link

A look at everyday dialogue in 1586 England as documented by French refugee Jacques Bellot. In the video, Simon Roper explores the writing providing some interesting insights into the development of English at the time and today.

Read from link

Philipp Keller documents three examples of defining a database schema for your tagging strategy with performance tests and sample queries. The simple "MySQLicious" solution with one table for items and tags. The "Scuttle" solution with two tables one for tags and the other for items. Finally, the classic associative tables approach, or as called by the author the "Toxi" solution, with a table for items, another for tags, and an item-mapping table.

The last approach also has a Wikipedia entry, that I sometimes refer to when building similar tables as a subtle reminder.

Read from link

j6b72ss article covers the precise reasons why I stayed away from Traefik thinking of it as a container-first proxy. The author, however, explores how Traefik is used in their environment with static binaries. Over the last few years Ive moved towards containerisation, so maybe Traefik might even be a better fit over using Nginx for everything regardless.

The HN comments have some interesting discussions on how this compares to Caddy for containers, most leaning towards Caddy.

One of the HN comments from johanbcn pointed out an interesting documentation framework called Diátaxis which I will take a look at.

Read from link

The article tells the story of the underground cables that power the internet, as they follow the 50 crew members of KDDI Ocean Link, one of 22 repair and maintenance ships of the 77 cable ships in the world in the wake of the Fukushima nuclear accident.

On average, [cable breaks] happen every other day, about 200 times a year. The reason websites continue to load, bank transfers go through, and civilization persists is because of the thousand or so people living aboard 20-some ships stationed around the world, who race to fix each cable as soon as it breaks.

Read from link

A clear and illustration example of the term frequency-inverse document frequency measure to determine the importance of words within a collection of documents. Taking this one step further Jana Vembunarayanan, the blogs author, uses cosine similarity to link a search query to return the most relevant documents.

Read from link

While troubleshooting an RSS client recently, I needed an RSS feed with a steady stream of items. After some searching, I landed on Lorem RSS, an open-source tool built by Michael Bertolacci used to generate RSS items at varying frequencies through different feeds.

Read from link

An overview of the design choices behind creating the JavaScript Registry (JSR) which is compatible with yarn, npm and others. One thing that stood out to be was that the website is rendered server-side, the post goes through their design to optimize for Time-To-First-Byte between their rendering and API server backed by a Postgres database.

The rest of the post is also a good read.

Read from link

Atom differs from RSS in a few key ways and for the better. Chris Wellons' blog post outlines a few of these differences theyve encountered while working on Elfeed for emacs. One thatve I run into before and find really odd is the use of <channel> when only one channel is permitted in an RSS feed.

Having a channel tag suggests a single feed can have a number of different channels. Nope! Only one channel is allowed, meaning the channel tag serves absolutely no purpose.

Atom is a much cleaner specification, with much clearer intent, and without all the mistakes and ambiguities.

Read from link

Stephen Wolfram, mathematician, computer scientists and CEO of Wolfram Research, describes all the incremental improvements made in different parts of his life in the pursuit of productivity. It's an article I've read and come back to three different times now, and with each I've taken some new bits and pieces that I could use myself.

The reasoning behind pull out shelves:

One of my theories of personal organization is that any flat surface represents a potential "stagnation point" that will tend to accumulate piles of stuff—and the best way to avoid such piles is just to avoid having permanent flat surfaces.

Collecting personal analytics of physical and digital text:

I have systems that keep all sorts of data, including every keystroke I type, every step I take and what my computer screen looks like every minute (sadly, the movie of this is very dull). I also have a whole variety of medical and environmental sensors, as well as data from devices and systems that I interact with.

Archival and searchability:

At the top of my personal homepage is a search box. Type in something like "rhinoceros elephant" and I'll immediately find every email I've sent or received in the past 30 years in which that's appeared, as well as every file on my machine, and every paper document in my archives

Read from link

Having just shared the Eisenbahn-Planer, I have to post about the Treinposities rail agenda. This is a curated list of rail events in the Netherlands that gets updated regularly by the site administrators. The site has many more interesting pages, with details on rolling stock in the Netherlands and other countries, live map of trains in the Netherlands, details on train routes with expected rolling stock, and much more.

Read from link

Eisenbahn-Planer tracks events with a focus on historical and/or heritage railways. There are quite a number of filters you can apply with multiple language options.

Read from link

What if I told you that by tuning a few knobs, you can configure SQLite to reach ~8,300 writes / s and ~168,000 read / s concurrently, with 0 errors

Some interesting configurations that are possible with SQLite today making it much more versatile even though it isn't designed to be a client/server SQL database. Discovered via Simon Willison's weblog.

Read from link

xz, a widely used open source compression tool, introduced a backdoor with malicious code. This in turn has affected a number of applications and distributions, the most notable of which are Fedora, Debian (unstable, experimental) and HomeBrew. Evan Boehs has pieced together a timeline of events going as far back as 2021 which tells a story of how JiaT75 using social engineering became a trusted member for the open source project. Pressure (very harshly so) was applied to the Lasse Collin the sole active maintainer at the time to add another maintainer to xz from seemly multiple people. This coordinated attempt lasting two years is honestly quite shocking.

Read from link

Dan Luu writes about using simple architectures to build apps using Wave as an example. The post covers the initial technology choices made to be maintained by a small tem and the tradeoffs in the long run, along with the flexibility it provided to adapt to local markets.

Our architecture is so simple I’m not even going to bother with an architectural diagram. Instead, I’ll discuss a few boring things we do that help us keep things boring.

Read from link

When requesting actions on AWS accounts or resources, AWS needs to verify if the principal (user, role, application, etc.) making the request is allowed to carry out the action. For single accounts with simple workloads, this can be done easily by setting an identity-based policy on the user. However, as needs grow and additional accounts are added, other factors come into play, such as resource-based policies, cross-account roles, service control policies, and more.

Whenever I encounter potential access-related problems, I refer to this flow chart for troubleshooting. Given the number of times I end up searching for this, I believe it might be helpful to share it.

Read from link

SVG is an interesting and versatile text-based image format. Now I know it's not the Christmas season, but Hunor Márton Borbély has put together an advent calendar for SVG examples, and I've only now started working through them. It's very interactive and informative. I know I'll definitely be using these examples as references in the future.

Read from link

Like GeoGuessr but instead of Google Streetview you're given an image which you have to locate on a map along with the year it was taken. It's quite fun trying to take clues from the image in an attempt to date it. The images selected in the game actually make it lightly easier than random locations on Google Streetview with GeoGuessr.

Read from link

Switzerland is often referenced when discussing good public transit systems, Jokteur does a good job describing of the country uses clock-face scheduling to reliably connected different locations together. A good read with clear examples illustrating the concept along with follow-up reading in case you’re interested in the subject.

Read from link