Introduction tag2upload allows authorised Debian contributors to upload to Debian simply by pushing a signed git tag to Debian’s gitlab instance, Salsa. We have recently announced that tag2upload is, in our opinion, now very stable, and ready for general use by all Debian uploaders. tag2upload, as part of Debian’s git transition programme , is very flexible - it needs to support a…
tl;dr: There is a Debian git transition plan. It’s going OK so far but we need help, especially with outreach and updating Debian’s documentation. Goals of the Debian git transition project Achievements so far, and current status Core engineering principle Correspondence between dsc and git Patches-applied vs patches-unapplied Consequences, some of which are annoying Distributing the…
tl;dr: tag2upload (beta) is going well so far, and is already handling around one in 13 uploads to Debian. Introduction and some stats Recent UI/UX improvements Why we are still in beta Retrying on Salsa-side failures Other notable ongoing work Common problems Reuse of version numbers, and attempts to re-tag Discrepancies between git and orig tarballs Get involved Introduction and some stats We…
There is a thread of opinion in some Free Software communities, that we shouldn’t be doing “politics”, and instead should just focus on technology. But that’s impossible. This approach is naive, harmful, and, ultimately, self-defeating, even on its own narrow terms. Today I’m talking about small-p politics Many people working together always entails politics Consensus…
Rust, and resistance to it in some parts of the Linux community, has been in my feed recently. One undercurrent seems to be the notion that Rust is woke (and should therefore be rejected as part of culture wars). I’m going to argue that Rust, the language, is woke. So the opponents are right, in that sense. Of course, as ever, dissing something for being woke is nasty and fascist-adjacent.…
derive-deftly 1.0 is released. derive-deftly is a template-based derive-macro facility for Rust. It has been a great success. Your codebase may benefit from it too! Rust programmers will appreciate its power, flexibility, and consistency, compared to macro_rules ; and its convenience and simplicity, compared to proc macros. Programmers coming to Rust from scripting languages will appreciate…
tl;dr: The Rust Foundation’s new trademark policy still forbids unapproved modifications: this would forbid both the Rust Community’s own development work(!) and normal Free Software distribution practices. Background In April 2023 I wrote about the Rust Foundation’s ham-fisted and misguided attempts to update the Rust trademark policy. This turned into drama . The new draft…
derive-deftly , the template-based derive-macro facility for Rust, has been a great success. It’s coming up to time to declare a stable 1.x version. If you’d like to try it out, and have final comments / observations, now is the time. Introduction to derive-deftly Status History Plans - call for review/testing Introduction to derive-deftly Have you ever wished that you could that could…
tl;dr: Your vote really counts! Each vote in a UK General Election is worth maybe £100,000 - to you and all your fellow citizens taken together. If you really care about the welfare of everyone affected by actions of the UK government, then it’s worth that to you too. Introduction A method for back of the envelope calculation UK Parliament European Parliament Only if you care about…
ceb and I are members of the Derril Water Solar Park cooperative . We were recently invited to vote on whether the coop should bid for a Contract for Difference, in a government green electricity auction. We’ve voted No. “Green electricity” from your mainstream supplier is a lie Ripple Contracts for Difference Ripple and CfD Voting No “Green electricity” from your…
tl;dr: Don’t just apt install rustc cargo . Either do that and make sure to use only Rust libraries from your distro (with the tiresome config runes below); or, just use rustup . Don’t do the obvious thing; it’s never what you want Q. Download and run whatever code from the internet? Option 1: WTF, no I don’t want curl|bash Option 2: Biting the curl|bash bullet Privilege…
I recently had the most astonishingly bad experience with UPS, the courier company. They severely damaged my parcels, and were very bad about UK import VAT, ultimately ending up harassing me on autopilot. The only thing that got their attention was my draft Particulars of Claim for intended legal action. Surprisingly, I got them to admit in writing that the “disbursement fee” they…
tl;dr: If you are a Debian user who knows git, don’t work with Debian source packages . Don’t use apt source , or dpkg-source . Instead, use dgit and work in git . Also, don’t use: “VCS” links on official Debian web pages, debcheckout , or Debian’s (semi-)official gitlab, Salsa. These are suitable for Debian experts only; for most people they can be beartraps .…
I hacked my coffee machine to let me turn it on from upstairs in bed :-). Read on for explanation, circuit diagrams, 3D models, firmware source code, and pictures. Background: the Morphy Richards filter coffee machine Planning Inside the Morphy Richards filter coffee machine Unexpected electrical hazard Design approach Implementation - hardware Implementation - software Results Epilogue Bonus…
Recently I completed a small project, including an embedded microcontroller. For me, using the popular Arduino IDE, and C, was a mistake. The experience with Rust was better, but still very exciting, and not in a good way. Here follows the rant. Introduction Arduino IDE Writing C again Rust on the DigiSpark RIIR (Rewrite It In Rust) An offer of help Conclusions Introduction In a recent project…
Many people seem to be pretending that the pandemic is over. It isn’t. People are still getting Covid, becoming sick, and even in some cases becoming disabled. People’s plans are still being disrupted. Vulnerable people are still hiding. Conference organisers: please make robust Covid policies, publish them early, and enforce them. And, clearly set expectations for your attendees. Attendees:…
This last weekend I completed a bike rides project I started during the first Covid lockdown in 2020: I’ve cycled to every settlement (and radio observatory) within 20km of my house, in alphabetical order. Stir crazy In early 2020, during the first lockdown, I was going a bit stir crazy. Clare said “you’re going very strange, you have to go out and get some exercise”. After a bit of discussion, we…
If you are an email system administrator, you are probably using DKIM to sign your outgoing emails. You should be rotating the key regularly and automatically, and publishing old private keys. I have just released dkim-rotate 1.0 ; dkim-rotate is a tool to do this key rotation and publication. If you are an email user, your email provider ought to be doing this. If this is not done, your emails…
I have started to make private posts, accessible only to my Dreamwidth access list. If you’re a friend of mine and would like to be on that list, please contact me with your Dreamwidth username (or your OpenID ). comments
Instructions Get the official installation image from the usual locations . I got the netinst CD image via BitTorrent. Boot from the image and go through the installation in the normal way. You may want to select an alternative desktop environment (and unselect GNOME). These steps have been tested with MATE. Stop when you are asked to remove the installation media and reboot. Press Alt + Right…
tl;dr The Rust Foundation’s proposed new trademark policy is far too restrictive, and will cause (more) drama unless it is substantially revised. Process Substance Values Next steps Echoes of a dispute from 2006 Process “Rust” is a trademark owned by the Foundation. The Rust Foundation still seems to be finding its feet. Evidently, one of the items on its backlog was to update the trademark…
tl;dr git submodules are always the wrong solution . Yes, even the to the problem they were specifically invented to solve. What is wrong with git submodules Better alternatives to git submodules Use git subtree Just have a monorepo Use a package management system, and explicit dependencies Use the multiple repository tool mr Have your build expect to find the dependency in .. , its parent dir…
tl;dr Have you ever wished that you could that could write a new derive macro without having to mess with procedural macros? Now you can! derive-adhoc lets you write a #[derive] macro, using a template syntax which looks a lot like macro_rules! . It’s still 0.x - so unstable, and maybe with sharp edges. We want feedback! And, the documentation is still very terse. It is doesn’t omit anything, but,…
Recently, we managed to get secnet and hippotat into Debian. They are on track to go into Debian bookworm. This completes in Debian the set of VPN/networking tools I (and other Greenend ) folks have been using for many years. The Sinister Greenend Organisation’s suite of network access tools consists mainly of: secnet - VPN. hippotat - IP-over-HTTP (workaround for bad networks) userv ipif -…
I have reviewed, updated and revised my short book about the Rust programming language, Rust for the Polyglot Programmer . It now covers some language improvements from the past year (noting which versions of Rust they’re available in), and has been updated for changes in the Rust library ecosystem. With (further) assistance from Mark Wooding, there is also a new table of recommendations for…