Samba

In 2026, the Samba Project is nearly 30 years old and has conservatively a billion users. It started when I got upset at Microsoft for wanting to monopolise all computer networking! I discovered some unmaintained but interesting open source software for sharing files and printers with workstation computers. And the rest is the official Samba history. Samba isn’t just a clever idea, it is implemented by talented software engineers with a very large number of total contributors. I was not one of the Samba core engineers, not being good at intensive protocol analysis combining encryption, obfuscation, historical anomalies and sheer overwhelming volume of old-school RPC design. I was (and remain) more interested in interoperability architecture and design, why these things are needed and make sense to users. During its first decade: ...

February 4, 2026 · 988 words · Dan Shearer

A Design Challenge for Horologists

I have an interest in non-electronic computers as an educational tool. An horologer is someone who makes mechanical clocks and watches, and horologers definitely don’t believe in electronics. That’s why I published Shearer, D. (2007). "Communication: A Request for Collaboration." Horological Journal, 149(12), p. 471., which sounds much fancier than the letter to the editor it was. Given I didn’t even know the British Horological Institute existed until a week prior it makes me very pleased. ...

February 4, 2026 · 2584 words · Dan Shearer

BibLaTeX scripts and eras

How to manage BibLaTeX across time and cultures I wrote a paper in English using LaTeX. For my quite interesting topic some essential references did not exist in English. That might sound simple — just list the originals, plus some translation/cross-referencing work to get the necessary information! It isn’t that simple. This howto is for LaTeX authors with unusual references, especially non-latin scripts, latinisations, non-English references, rare scripts and ancient documents. In some of my sources I had all of these at once, giving me this situation: ...

February 3, 2026 · 2629 words · Dan Shearer

Not Forking

Not-forking is a technical tool for software development. Not-forking assists with reproducibility. Here are some simple ways of explaining what Not-forking can do: Not-forking lets you integrate non-diffable codebases, a bit like patch/sed/diff/cp/mv rolled into one. Not-forking is a machine-readable file format and tool. It answers the question: What is the minimum difference between multiple source trees, and how can this difference be applied as versions change over time? Not-forking avoids duplicating source code. When one project is within another project, and the projects are external to each other, there is often pressure to fork the inner project. Not-forking avoids that. Not-forking helps address the problem of reproducibility. By giving much better control over the input source trees, it is more likely that the output binaries are the same each time. But here is the big win: Not-forking avoids project-level forking by largely automating change management in ways that version control systems such as Fossil, Git, or GitHub cannot. The full documentation goes into much more detail than this overview. ...

February 1, 2026 · 535 words · Dan Shearer

Reversible Computers

Reversible Computing and Reversible Debugging are amazing and useful applications of Time Shifting via virtualisation, aiming at the massive problem of software unreliability. I believe my excited comments from 2005 still stand: Reversibility is the biggest advance in debugging since source code debugging — GDB developers list In 2026, reversibility has come both a long way and not far at all. I am still very interested in it. What is reversibility? It is possible to have a network of running computers - say, Android, Windows, Linux running on miscellaneous hardware - and then to stop them all and reverse back to any point in time. For example, reversing to a point just before a catastrophic error occurred, so we can watch carefully. And repeat it if we want to, again and again, any number of times. Imagine installing an operating system you know nothing about, starting an application… and then running the process in reverse as it unboots, scrolling up the screen until it switches off. This is true reversibility. ...

February 1, 2026 · 956 words · Dan Shearer

Security Standards and Certifications

I have been lead implementer of the main security and privacy standards several times each. These can seem intimidating, but properly used they improve security overall, and can help a business run more smoothly. From a pragmatic, business point of view: These standards are about writing down the actual rules of your business relevant to security and privacy, and then writing down how you improve these rules, and recording how well they work. All businesses can benefit from challenging their working habits and practices, and since privacy and security touch most parts of a business, this is an opportunity to review how the business works before something goes wrong. From the point of view of both Computer Science and Information Management Science: ...

February 1, 2026 · 1023 words · Dan Shearer

Education Exercises

These are some exercises and tricks I have either created or been subjected to over the years, and I have mentored students through them on many occasions. The general theme here is that most of the systems and stacks that are taken for granted often don’t work very well, and often don’t seem to have a very bright future. This is even the case for famous codebases relied on by billions of people. There are no absolutes and no immediate fixes, but it is food for thought if we can demonstrate immense waste of human effort amid poor quality computing systems, even when impressive modern computer science is applied. ...

February 1, 2026 · 1047 words · Dan Shearer