placeholder

Where does my computer get the time from? – Tony Finch

This week I was in Rotterdam for a RIPE meeting. On Friday morning I gave a lightning talk called where does my computer get the time from? The RIPE meeting website has a copy of my slides and a video of the talk; this is a blogified low-res version of the slides with a rough and inexact transcript.

Click to view the original at dotat.at

Hasnain says:

“I have now run out of layers: before this point, clocks were set more straightforwardly by watching stars cross the sky

so, to summarise my talk, where does my computer get the time from?

it does not get it from the Royal Greenwich Observatory!”

Posted on 2023-10-07T05:56:49+0000

placeholder

Strong static typing, a hill I'm willing to die on...

This is a post about strong static typing, why I feel strongly about the topic, and some of the ways we utilize the Rust type system at Svix.

Click to view the original at svix.com

Hasnain says:

“I can see both side of the arguments on many topics, such as vim vs. emacs, tabs vs. spaces, and even much more controversial ones. Though in this case, the costs are so low compared to the benefits that I just don't understand why anyone would ever choose not to use types.

I'd love to know what I'm missing, but until then: Strong typing is a hill I'm willing to die on.”

Posted on 2023-10-04T13:55:09+0000

placeholder

Rust is the best language for data infra

Arroyo is written in Rust, a modern systems language. We think it's become the best choice for writing high-performance systems like databases and stream processing engines. Read on for why we chose Rust, and what we've learned along the way.

Click to view the original at arroyo.dev

Hasnain says:

“The Rust compiler is pedantic. It is the most obsessive code reviewer you have worked with5. If you pass a 32-bit integer to a function that expects a 64-bit integer, it will not let you. If you try to share a non-threadsafe data structure across threads your compile will fail. Ignore the fact that filesystem paths may be arbitrary bytes and try to use them as UTF-8 strings? Straight to compiler jail.

Some people will love this about Rust. Others—who just want to get something working dammit—will hate it.

Put me in the first camp. I've spent enough time in my career debugging hard-to-reproduce bugs in production. This involves more upfront design work, and some frustration fighting with the compiler. But once you've satisfied it, the code ends up being correct an astonishingly high fraction of the time.”

Posted on 2023-10-02T03:57:13+0000

placeholder

India’s pickle people: Decades-old culinary heirlooms, nostalgia

A self-proclaimed pickle enthusiast explores India’s familial pickle-making traditions, which stretch back generations.

Click to view the original at aljazeera.com

Hasnain says:

““My paternal grandmother’s legacy lives on in the khatta-meeta nimbu achar [salty-sweet lemon pickle] she made a month before she passed away in September 2001,” said Vernika Awal, a food writer based in the Delhi National Capital Region who has only 250 grammes (8.8oz) left in a 1kg (2.2lb) bottle that is now 22 years old.

From what Vernika recalls of the process, her Punjabi family uses lemons with a slightly hard peel. They are mixed with ajwain, khand (powdered jaggery), black salt and table salt. Mustard oil, heated to smoking point, is added. The mix is then put out in the sun.

“We eat this sparingly … and through it recall the memory my grandmother, feeling her presence even after two decades. … It’s a physical form of memory, savouring something made so long ago,” she added.”

Posted on 2023-10-02T03:49:30+0000

placeholder

Hasnain says:

“This means that a court can be satisfied that a relevant fact can be established just by computer records, unless there is evidence that the computer is not working properly.

And so when the computer record shows, for instance, a financial shortfall by postmaster or postmistress, the court will accept that as evidence of an actual shortfall - unless the defendant can show that the computer was not operating correctly.

In short, when the computer record is the essence of a prosecution case: computer says guilty.”

Posted on 2023-10-01T05:58:34+0000

placeholder

Hasnain says:

Looking forward to the next post! Learnt a lot about Java from this one.

“In this article, we’ve looked at a bunch of things that Java 21 allows us to do (I haven’t covered certain things like how generics interact with switch patterns, however). In the next one, I’ll show you some interesting quirks and a few practical examples of how we can leverage these functional building blocks to improve how we write Java code.”

Posted on 2023-09-28T03:40:23+0000

placeholder

Typical Programmer

In the old days when I started programming, green programmers trying to build their skills and get experience started out doing maintenance programming. Only the old hands got to write new code. The newbies cut their teeth debugging and fixing musty old code that still worked for the business. I’v...

Click to view the original at typicalprogrammer.com

Hasnain says:

Great read. From 2011 but still holds up and I found myself nodding along.

“Software often stays in use longer than anyone expected when it was written — until recently I supported a law office billing system that was written in 1986 using OMNIS 3 and wouldn’t run on any Macintosh newer than an SE/30. Clients who depend on legacy systems will pay plenty to keep those systems running, because they can’t risk their business on new software, and they can’t afford to fund new software development and the subsequent data migration and training. There’s a rich vein of maintenance work out there that most programmers turn up their noses at, preferring ground-up development projects that neither they nor their client are well-suited for.”

Posted on 2023-09-28T03:17:18+0000

placeholder

Hasnain says:

“Each suit corresponds to a different type of meat. Feeling fishy? Deal the clubs to learn to how to gut a salmon or dismantle a lobster. The diamonds were for fowl, from duck to pheasant to pigeon (which shouldn’t be carved, but simply “cut through the middle from the rump to the neck”). The hearts featured “flesh of beats,” from the “Sir Loyn of Beef” to a haunch of venison—“begun to be cut near the buttock”—and a boars’ head, which “comes to the Table with its Snout standing upward and a sprig of Rosemary tuck[ed] in it.” Coney, or rabbit, was “most times brought to the Table with the Head off” and placed alongside the body. Instructions for carving “baked meats,” such as pies and pasties, were on the spades.”

Posted on 2023-09-28T03:10:28+0000

placeholder

A journey into the shaken baby syndrome/abusive head trauma controversy - Fifteen Eighty Four | Cambridge University Press

Cambridge University Press is publishing a textbook I have co-edited with five colleagues, Shaken Baby Syndrome, Investigating the Abusive Head Trauma Controversy, by Findley et al. With contributions by 32 authors, this book provides a thorough analysis of an interdisciplinary subject lying at the....

Click to view the original at cambridgeblog.org

Hasnain says:

Did not know this. This is super scary and eye opening.

“As underlined by Innocence Project cofounder Barry Scheck in the book’s foreword, it is essential that the public and all professionals involved in these cases comprehend the forensic unreliability of determinations of SBS/AHT. That does not mean that suspicions of child abuse shouldn’t be reported, that cases of children with unexplained traumatic injuries shouldn’t be investigated, that intentional head trauma does not occur or does not cause severe injuries. However, healthcare professionals should recognize that child abuse is a legal determination, not a medical one. While physicians have a duty to report suspicions of child abuse, asserting the “certainty” of a hypothesis without disclosing to the courts the unreliability of its scientific foundations is unethical and unacceptable.”

Posted on 2023-09-27T20:17:57+0000

placeholder

SQLite insert speed

A little-discussed method enables inserting rows with bound data into SQLite faster than any existing technique. This novel method is then discovered to have a drawback that makes it generally unusable. The rest of this article explores how to get the best insert performance out of SQLite generally;...

Click to view the original at voidstar.tech

Hasnain says:

Some great benchmarking and database insights here.

“Insert speed games are revealing of database performance characteristics, but are themselves impractical. The fastest tests all involve insertion into unindexed tables. As soon as indexes are applied, their costs dominate.
Rapidly inserting millions of unindexed rows is only useful when later read sequentially, perhaps as part of a data pipeline. A SQLite format does add some conveniences for this role, but if you are trying to emit rows as fast as possible, consider the database only sinks integer rows at a rate of about 40 MiB/s; In comparison the same computer's unremarkable SSD has a sustained write rate of 454 MiB/s for regular files.”

Posted on 2023-09-27T03:17:51+0000