Meet Keycloak at KubeCon Salt Lake City, Utah in Nov 2024

By Kamesh Akella

We are thrilled to announce that Keycloak will be at KubeCon Salt Lake City, Utah in Nov 2024. There are several Keycloak specific sessions lined up during this conference, and we will be hosting a Kiosk at the Project Pavilion at KubeCon.

What is KubeCon?

Keycloak’s presence in the previous KubeCons was a huge success, and we continue to have a lot of fun interacting with Keycloak enthusiasts, users, newcomers alike. KubeCon is a fast-growing Cloud Native tech conference expected to have up to 8,000 developers, architects, and technical leaders onsite as well as thousands of participants virtually.

KubeCon Salt Lake City will be held from Nov. 12th, 2024 through Nov. 15th, 2024, with many of the co-located events happening on Tuesday, Nov 12th, 2024.

Keycloak community Meet & Greet at the Project Pavilion

Yoshiyuki Tabata from Hitachi, Ryan Emerson, Martin Bartos, Kamesh Akella from Red Hat and other contributors will be at the Keycloak kiosk at the Project Pavilion. This is a great chance to meet people who use Keycloak, contribute to Keycloak, take our survey about new Keycloak features, and get some cool swag!

Keycloak Kiosk opening hours:

  • Wednesday, November 13: 3:15pm-8:00pm

  • Thursday, November 14: 1:45pm–5:00pm

  • Friday, November 15: 12:30pm-2:30pm

OpenShift Commons Gathering

The OpenShift Commons Gathering happens on Tuesday (Nov. 12th, 2024) and builds connections and collaboration across OpenShift communities, projects and stakeholders. Some maintainers from the Keycloak development team will be here during the afternoon. This gives a chance for more community Keycloak maintainers, contributors, and users to meet and share their ideas or just hang out. Access to the OpenShift Commons event is free and does not require a paid KubeCon ticket, still you’ll need to register on their website in advance.

Keycloak specific events at KubeCon

Below is the Keycloak specific event that the attendees both in-person and virtually can plan to attend and learn more about a Highly Available Keycloak deployed in a Multi-Site environment.

We’re preparing for KubeCon SLC 2024 and can’t wait to connect with our community. Mark your calendars and join us.

See you in Salt Lake City, Utah!

CIDABM

There's a heated debate over whether the big island of Tierra del Fuego should qualify for membership.

Backwards compatibility in Keycloak releases

By Stian Thorgersen

With four major releases of Keycloak every year it can be a daunting task to keep deployments up to date. Especially, since the number of breaking changes have drastically increased the last couple years. Combine this with the importance of patching deployments quickly for vulnerabilities, this can leave many deployments open to known vulnerabilities as the time and effort required to update to the latest release is too costly.

Additionally, currently Keycloak client libraries are released together with the server, resulting in new major versions of a client library, where in fact there can be no changes at all, or perhaps only a bug fix or two.

For these reasons, after Keycloak 26.0 is released there will be some changes to how Keycloak is being released:

  • Keycloak server will have 4 minor releases every year, and a major release every 2-3 years

  • Keycloak client libraries will be released separately. The latest client library release will support all currently supported Keycloak server releases

We will continue to bring new features and enhancements to Keycloak in each release, and we are committed to doing so in a backwards compatible way, making it seamless and easy to upgrade.

When a minor comes with breaking changes, such changes will be opt-in. This will be driven through versioning where the currently default version for a Feature or an API can not change in a minor release, and there will be a new version that can be explicitly enabled. The current version of a Feature or API can be deprecated in a minor, but will not be removed until the next major version. This will allow you to gradually roll-out new Feature or API versions separately from upgrading. You can choose to get ready for the next major release early, or wait and do it in one go.

Backwards compatibility guarantees will only be given to Features and APIs that are fully supported. Preview features or preview APIs, as well as non-public APIs may change at any time.

University Commas

The distinctive 'UCLA comma' and 'Michigan comma' are a long string of commas at the start and end of the sentence respectively.

One Touch Switching

By [email protected] (RevK)

It has been some weeks since One Touch Switching was fully live.

TOTSCO say over 100,000 switch orders now, so it is making good progress, well, in principle.

In practice a lot is working, and in terms of volume, with the key players, as well as the likes of A&A, all working reasonably well now, switches are happening, both ways. We are seeing things working both ways and correct billing as well, which is good.

But there are still some challenges.

But even now, even this weekend, I have seen incorrect messages and errors. I have reported, of course, and it may be these end up as defects on the daily calls, we will see.

I worry what will happen when the daily calls stop - reporting an issue to a CP may mean they ignore it rather than spend resource investigating, fixing, and deploying. At present CPs have that resource assigned, but they will not forever.

What next? Well we keep at it.

The next big step I can only hope for is an unfrozen spec and a lot of clarifications and updates. It will be interesting to see how that process happens, and how we can be involved. I have a lot to say on clarifying the specifications and I hope I can be involved in making it happen. But every change will need a lot of agreement, and even some changes by all CPs in some cases. For now, there are some silly compromises like all strings max 256 characters (which resulted from a global update to a Swagger definition system, rather than any informed debate or formal specification change, and is annoying as tinytext in mariadb is 255 characters not 256). Even so, some agreement on even the vague magnitude of things like correlationID is a good start. I suspect, in practice, that one may get defined as smaller, like 64 characters. In hindsight it should have been a UUID, unique per message, but too late to do that now. The problem is the smaller/newer CPs are not in on that discussion, so don't know. Big CPs guessed at 36 characters (UUID size), 56 characters, 64 characters, and so on, as there simply was nothing in the spec, but most had to set something in their code. We changed our handling within the first few days as we understood how broken the spec was, and now handle any size (well, megabytes) but other CPs don't, and we have limits on a load of other strings anyway.

For now, I have every message we receive, and every message we send, run through my NOTSCO checker and reported to me. I feel it is only fair to test us as well. Over time it will only be problem messages that I need to monitor. It has actually highlighted some issues in what we were sending (where customers manually type an address, mainly - I have added more checks now). But monitoring real life message has also meant updates to our checking in the live system, and updates to my NOTSCO tools.

My latest changes include actually using the longer agreed size of correlationID to ensure we tag the message type as a (small) suffix on a UUID, so that we can quickly (pre-database connect/check) validate messages we get back are sensible and reject them. Why? Well one small CP is sending nonsensical replies to replies, or reusing correlationIDs from previous messages with different messages, both of which we can now pick up in milliseconds, and cleanly reject. It looks like they are working on it, but no actual communications back to us, which is a shame - we're happy to help and advise if only they would talk to us.

Overall - OTS is happening and mostly working, so do try it when you want to switch telco.

Weekly Update 420

By Troy Hunt

Presently sponsored by: 1Password Extended Access Management: Secure every sign-in for every app on every device.

Ok, the scenery here is amazing, but the real story is data breach victim notification. Charlotte and I wanted to do this one together today and chat about some of the things we'd been hearing from government and law enforcement on our travels, and the victim notification angle

Númenor Margaritaville

I see white shores, and beyond it, a far green country under a tequila sunrise.

Keycloak 26.0.0 released

To download the release go to Keycloak downloads.

Highlights

Organizations supported

Starting with Keycloak 26, the Organizations feature is fully supported.

Client libraries updates

Dedicated release cycle for the client libraries

From this release, some of the Keycloak client libraries will have release cycle independent of the Keycloak server release cycle. The 26.0.0 release may be the last one when the client libraries are released together with the Keycloak server. But from now on, the client libraries may be released at a different time than the Keycloak server.

The client libraries are these artifacts:

  • Java admin client - Maven artifact org.keycloak:keycloak-admin-client

  • Java authorization client - Maven artifact org.keycloak:keycloak-authz-client

  • Java policy enforcer - Maven artifact org.keycloak:keycloak-policy-enforcer

It is possible that in the future, some more libraries will be included.

The client libraries are supported with Java 8, so it is possible to use them with the client applications deployed on the older application servers.

Compatibility of the client libraries with the server

Beginning with this release, we are testing and supporting client libraries with the same server version and a few previous major server versions.

For details about supported versions of client libraries with server versions, see the Upgrading Guide.

User sessions persisted by default

Keycloak 25 introduced the feature persistent-user-sessions. With this feature enabled all user sessions are persisted in the database as opposed to the previous behavior where only offline sessions were persisted. In Keycloak 26, this feature is enabled by default. This means that all user sessions are persisted in the database by default.

It is possible to revert this behavior to the previous state by disabling the feature. Follow the Volatile user sessions section in Configuring distributed caches guide for more details.

For information on how to upgrade, see the Upgrading Guide.

New default login theme

There is now a new version (v2) of the keycloak login theme, which provides an improved look and feel, including support for switching automatically to a dark theme based on user preferences.

The previous version (v1) is now deprecated, and will be removed in a future release.

For all new realms, keycloak.v2 will be the default login theme. Also, any existing realm that never explicitly set a login theme will be switched to keycloak.v2.

Highly available multi-site deployments

Keycloak 26 introduces significant improvements to the recommended HA multi-site architecture, most notably:

  • Keycloak deployments are now able to handle user requests simultaneously in both sites.

  • Active monitoring of the connectivity between the sites is now required to update the replication between the sites in case of a failure.

  • The loadbalancer blueprint has been updated to use the AWS Global Accelerator as this avoids prolonged fail-over times caused by DNS caching by clients.

  • Persistent user sessions are now a requirement of the architecture. Consequently, user sessions will be kept on Keycloak or Infinispan upgrades.

For information on how to migrate, see the Upgrading Guide.

Admin Bootstrapping and Recovery

In the past, regaining access to a Keycloak instance when all admin users were locked out was a challenging and complex process. Recognizing these challenges and aiming to significantly enhance the user experience, Keycloak now offers several straightforward methods to bootstrap a temporary admin account and recover lost admin access.

It is now possible to run the start or start-dev commands with specific options to create a temporary admin account. Additionally, a new dedicated command has been introduced, which allows users to regain admin access without hassle.

For detailed instructions and more information on this topic, refer to the Admin Bootstrap and Recovery guide.

OpenTelemetry Tracing preview

The underlying Quarkus support for OpenTelemetry Tracing has been exposed to Keycloak and allows obtaining application traces for better observability. It helps to find performance bottlenecks, determine the cause of application failures, trace a request through the distributed system, and much more. The support is in preview mode, and we would be happy to obtain any feedback.

For more information, see the Enabling Tracing guide.

OpenID for Verifiable Credential Issuance

The OpenID for Verifiable Credential Issuance (OID4VCI) is still an experimental feature in Keycloak, but it was greatly improved in this release. You will find significant development and discussions in the Keycloak OAuth SIG. Anyone from the Keycloak community is welcome to join.

Many thanks to all members of the OAuth SIG group for the participation on the development and discussions about this feature. Especially thanks to the Francis Pouatcha, Pascal Knüppel, Takashi Norimatsu, Ingrid Kamga, Stefan Wiedemann and Thomas Darimont

DPoP improvements

The DPoP (OAuth 2.0 Demonstrating Proof-of-Possession) preview feature has improvements. The DPoP is now supported for all grant types. With previous releases, this feature was supported only for the authorization_code grant type. Support also exists for the DPoP token type on the UserInfo endpoint.

Many thanks to Pascal Knüppel for the contribution.

Removal of GELF logging handler

GELF support has been deprecated for a while now, and with this release it has been finally removed from Keycloak. Other log handlers are available and fully supported to be used as a replacement of GELF, for example Syslog. For details see the Logging guide.

Lightweight access tokens for Admin REST API

Lightweight access tokens can now be used on the admin REST API. The security-admin-console and admin-cli clients are now using lightweight access tokens by default, so “Always Use Lightweight Access Token” and “Full Scope Allowed” are now enabled on these two clients. However, the behavior in the admin console should effectively remain the same. Be cautious if you have made changes to these two clients and if you are using them for other purposes.

Keycloak JavaScript adapter now standalone

Keycloak JavaScript adapter is now a standalone library and is therefore no longer served statically from the Keycloak server. The goal is to de-couple the library from the Keycloak server, so that it can be refactored independently, simplifying the code and making it easier to maintain in the future. Additionally, the library is now free of third-party dependencies, which makes it more lightweight and easier to use in different environments.

For a complete breakdown of the changes consult the Upgrading Guide.

Hostname v1 feature removed

The deprecated hostname v1 feature was removed. This feature was deprecated in Keycloak 25 and replaced by hostname v2. If you are still using this feature, you must migrate to hostname v2. For more details, see the Configuring the hostname (v2) and the initial migration guide.

Automatic redirect from root to relative path

User is automatically redirected to the path where Keycloak is hosted when the http-relative-path property is specified. It means when the relative path is set to /auth, and the user access localhost:8080/, the page is redirected to localhost:8080/auth.

The same applies to the management interface when the http-management-relative-path or http-relative-path property is specified.

It improves user experience as users no longer need to set the relative path to the URL explicitly.

Persisting revoked access tokens across restarts

In this release, revoked access tokens are written to the database and reloaded when the cluster is restarted by default when using the embedded caches.

For information on how to migrate, see the Upgrading Guide.

Client Attribute condition in Client Policies

The condition based on the client-attribute was added into Client Policies. You can use condition to specify for the clients with the specified client attribute having a specified value. It is possible to use either an AND or OR condition when evaluating this condition as mentioned in the documentation for client policies.

Many thanks to Yoshiyuki Tabata for the contribution.

Specify different log levels for log handlers

It is possible to specify log levels for all available log handlers, such as console, file, or syslog. The more fine-grained approach provides the ability to control logging over the whole application and be tailored to your needs.

For more information, see the Logging guide.

Proxy option removed

The deprecated proxy option was removed. This option was deprecated in Keycloak 24 and replaced by the proxy-headers option in combination with hostname options as needed. For more details, see using a reverse proxy and the initial migration guide.

Option proxy-trusted-addresses added

The proxy-trusted-addresses can be used when the proxy-headers option is set to specify a allowlist of trusted proxy addresses. If the proxy address for a given request is not trusted, then the respective proxy header values will not be used.

Option proxy-protocol-enabled added

The proxy-protocol-enabled option controls whether the server should use the HA PROXY protocol when serving requests from behind a proxy. When set to true, the remote address returned will be the one from the actual connecting client.

Option to reload trust and key material added

The https-certificates-reload-period option can be set to define the reloading period of key store, trust store, and certificate files referenced by https-* options. Use -1 to disable reloading. Defaults to 1h (one hour).

Options to configure cache max-count added

The --cache-embedded-${CACHE_NAME}-max-count= can be set to define an upper bound on the number of cache entries in the specified cache.

The https-trust-store-* options have been undeprecated

Based on the community feedback, we decided to undeprecate https-trust-store-* options to allow better granularity in trusted certificates.

The java-keystore key provider supports more algorithms and vault secrets

The java-keystore key provider, which allows loading a realm key from an external java keystore file, has been modified to manage all Keycloak algorithms. Besides, the keystore and key secrets, needed to retrieve the actual key from the store, can be configured using the vault. Therefore a Keycloak realm can externalize any key to the encrypted file without sensitive data stored in the database.

For more information about this subject, see Configuring realm keys.

Adding support for ECDH-ES encryption key management algorithms

Now Keycloak allows configuring ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW or ECDH-ES+A256KW as the encryption key management algorithm for clients. The Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static (ECDH-ES) specification introduces three new header parameters for the JWT: epk, apu and apv. Currently Keycloak implementation only manages the compulsory epk while the other two (which are optional) are never added to the header. For more information about those algorithms please refer to the JSON Web Algorithms (JWA).

Also, a new key provider, ecdh-generated, is available to generate realm keys and support for ECDH algorithms is added into the Java KeyStore provider.

Many thanks to Justin Tay for the contribution.

Support for multiple instances of a social broker in a realm

It is now possible to have multiple instances of the same social broker in a realm.

Most of the time a realm does not need multiple instances of the same social broker. But due to the introduction of the organization feature, it should be possible to link different instances of the same social broker to different organizations.

When creating a social broker, you should now provide an Alias and optionally a Display name just like any other broker.

New generalized event types for credentials

There are now generalized events for updating (UPDATE_CREDENTIAL) and removing (REMOVE_CREDENTIAL) a credential. The credential type is described in the credential_type attribute of the events. The new event types are supported by the Email Event Listener.

The following event types are now deprecated and will be removed in a future version: UPDATE_PASSWORD, UPDATE_PASSWORD_ERROR, UPDATE_TOTP, UPDATE_TOTP_ERROR, REMOVE_TOTP, REMOVE_TOTP_ERROR

The template.ftl file in the base/login and the keycloak.v2/login theme now allows to customize the footer of the login box. This can be used to show common links or include custom scripts at the end of the page.

The new footer.ftl template provides a content macro that is rendered at the bottom of the "login box".

Keycloak CR supports standard scheduling options

The Keycloak CR now exposes first class properties for controlling the scheduling of your Keycloak Pods.

For more details, see the Operator Advanced Configuration.

KeycloakRealmImport CR supports placeholder replacement

The KeycloakRealmImport CR now exposes spec.placeholders to create environment variables for placeholder replacement in the import.

For more details, see the Operator Realm Import.

Configuring the LDAP Connection Pool

In this release, the LDAP connection pool configuration relies solely on system properties.

For more details, see Configuring the connection pool.

Infinispan marshalling changes to Infinispan Protostream

Marshalling is the process of converting Java objects into bytes to send them across the network between Keycloak servers. With Keycloak 26, we changed the marshalling format from JBoss Marshalling to Infinispan Protostream.

Warning
JBoss Marshalling and Infinispan Protostream are not compatible with each other and incorrect usage may lead to data loss. Consequently, all caches are cleared when upgrading to this version.

Infinispan Protostream is based on Protocol Buffers (proto 3), which has the advantage of backwards/forwards compatibility.

Removal of OSGi metadata

Since all of the Java adapters that used OSGi metadata have been removed we have stopped generating OSGi metadata for our jars.

With the goal of improving the scalability of groups, they are now removed directly from the database when removing a realm. As a consequence, group-related events like the GroupRemovedEvent are no longer fired when removing a realm.

For information on how to migrate, see the Upgrading Guide.

Identity Providers no longer available from the realm representation

As part of the improvements around the scalability of realms and organizations when they have many identity providers, the realm representation no longer holds the list of identity providers. However, they are still available from the realm representation when exporting a realm.

For information on how to migrate, see the Upgrading Guide.

Securing Applications documentation converted into the guide format

The Securing Applications and Services documentation was converted into the new format similar to the Server Installation and Configuration documentation converted in the previous releases. The documentation is now available under Keycloak Guides.

Removal of legacy cookies

Keycloak no longer sends _LEGACY cookies, which where introduced as a work-around to older browsers not supporting the SameSite flag on cookies.

The _LEGACY cookies also served another purpose, which was to allow login from an insecure context. Although, this is not recommended at all in production deployments of Keycloak, it is fairly frequent to access Keycloak over http outside of localhost. As an alternative to the _LEGACY cookies Keycloak now doesn’t set the secure flag and sets SameSite=Lax instead of SameSite=None when it detects an insecure context is used.

Property origin in the UserRepresentation is deprecated

The origin property in the UserRepresentation is deprecated and planned to be removed in future releases.

Instead, prefer using the federationLink property to obtain the provider to which a user is linked with.

Upgrading

Before upgrading refer to the migration guide for a complete list of changes.

All resolved issues

Deprecated features

New features

Enhancements

Bugs

Carrier Services rate update (2024-10-07)

By Simon Woodhead

We will be updating our Managed A-Z Termination rates and codes on October 7th 2024. As usual, these changes are colour coded in our full rate files available through the portal as below. Where your account has custom rates, these…

The post Carrier Services rate update (2024-10-07) appeared first on Simwood.

ITW Africa and Shenanigans

By Parnita Nimbalkar

Hey, it’s Parns from the Colouring-in Department! After a whirlwind month across two continents, I am back in Simwood HQ, fully recharged and buzzing with stories to share. First, let me give you the lowdown on what’s been happening. I…

The post ITW Africa and Shenanigans appeared first on Simwood.

BYoC & Porting – the perfect couple

By Simon Woodhead

You’ll have read about the brilliant work of Charles (our CTO) and his team around porting, and separately about our BYoC capability on both Carrier Services and Hosted. Have you ever considered how together these could bring you massive strategic…

The post BYoC & Porting – the perfect couple appeared first on Simwood.

iOS 18 Quick Tips; Security Edition

By Scott Helme

Having recently updated to iOS 18, there are a couple of features that I've immediately enabled now that they're available! I'm going to share with you what those features are, and, a security tip that has been available prior to the release of iOS

Ingredients

Add main-belt asteroids to taste.

Thoughts on working inside a data center suite

I have a few more thoughts on the whole topic of colocation. First of all, Joel wrote in with a couple of tips beyond the basic "screwdriver and flashlight" that I mentioned. He says you should bring hearing protection, a step-stool or small ladder, and a jacket if you get cold. I like this thinking, and figured I'd expand on this for the benefit of those wondering what this all means.

First up, these places are LOUD. Everything you can imagine has fans on it. Obviously there are massive air handlers in the suites, but the (proper server class) computers and switches and everything else are also rocking a ton of fans. Some of them throttle back when the CPU load isn't too high, but a fair number of these things actually have rather high CPU load and so they never throttle back.

I mean, it's 2024, and people are writing CPU-bound computational stuff in languages that are interpreted, single-threaded, and slow as shit. OF COURSE they're running their CPUs as hard as they possibly can. But I digress.

So yes, it's loud as hell, and you could benefit from some kind of active protection. Just don't do what I did one time by cranking up the music in regular earbuds to cover the noise. Yeah, you might be able to hear your tunes, but you won't be hearing much else afterward. Stupid move, I know... now.

The step-stool or small ladder is not always a given. My particular cabinet isn't super tall and I'm able to reach all of it, but this might not apply for everyone else. Alternatively, you might need to use it to support something from below while doing an install, especially if you're flying solo.

The jacket is another one of those things that you might not appreciate until you've been on the inside. It's not like the 90s when everyone just had a giant room and did their very best to cool the entire thing down as far as possible. These days, there are "hot aisles" and "cold aisles": two rows of machines face each other across a walkway, and cold air is blown into there. Then the air goes through the machines thanks to all of those fans and ends up on the back side where it joins with hot air from yet another row that's also backed up to it. Finally, it's drawn into a chiller to start the process over again.

If it's a solid concrete floor type of setup, then the air will have to come from above, but if you're on a raised floor, it'll probably just emerge from beneath. If you're in that kind of setup, make note of what you wear before making a trip lest you turn into Marilyn Monroe.

(Yeah, I just gave some advice that only applies to a subset of the people who will ever read this and need it. Yep. That happened.)

The nature of things is that you will inevitably need to access your rack from both sides to reach certain parts of the equipment, so it will be really hot sometimes, and it'll be really cold other times. This is why I will amend that advice to "bring a jacket that zips".

Now, if you're in the Bay Area like me, you have hopefully long ago internalized the wisdom that "you will never be far from a light sweater", and so you *already* have one of those that goes everywhere with you. If so, you're set. Be ready to adjust it as appropriate.

Other stuff? Once you're past the "drop a Raspberry Pi in there" stage, you should not just jump on ebay and buy the first rack mounted server that looks like it'll work because you hate hardware and want it over with. This is because not all racks and not all servers are created equal, and you might find out the hard way that it won't work. I came super close to screwing up *hard* due to this.

I would recommend first going in with a tape measure to figure out exactly what you're working with. What are the posts like in the rack? Are they fixed in place or can they be adjusted? Are they round holes or square holes? How long can a server be while still fitting into the rack? Will the door(s) still be able to close and latch?

Bear in mind that it's not just the length of the machine, but you also have to include the loops of cables which emerge from it: power and Ethernet at the very least. You really don't want to force a regular power or network cable into a "hard 90" type of situation to make it all fit into the space. With a little research, you can get power cords which have their own built-in 90 degree turn on the end where it plugs into the machine that will let you claw back a bit of space, and likewise for the network stuff.

Or, you know, you can just buy a shorter machine and use normal cables.

Measure twice, buy once.

Another complication: if your provider gives you power by way of a "zero U" PDU (basically a big power strip that stands up vertically), that's both a plus and a minus. It's a plus in that you're not burning any rack units by definition: it's "zero U". But, it can be a problem because it still takes up space, and if you have anything really long in there, it'll probably bump into it. This constrains you to only using spots in the rack which are not blocked by the sneaky little PDU. It's just another 3-D Tetris problem for you to solve.

Let the network tell you where you are: a nerd snipe story

I was successfully nerd-sniped a few days ago and figured I'd share my proposed solution with everyone just in case they could benefit from it. I've added a few of my own constraints based on expectations for how things could go wrong. So, if this seems familiar, maybe it is, but I've made it a little more complicated.

The situation is basically this: there's a large space with a bunch of dumb Linux boxes which are attached to displays of some sort. Different things are displayed depending on where it is in the space. This means the Linux boxes need some sense of identity to be able to tell the server "I need this particular set of stuff". They're "hands off" - nobody wants to log in to them to manage them.

So now let me present some of the issues:

Problem: relying on IP assignments is no good, since the DHCP mechanisms for that network can't be trusted. Things are sufficiently flaky to where you can't rely on it, and part of this is from the next item.

Problem: the hardware is wonky enough to where it gets replaced sometimes, so the MAC addresses also end up changing. This means any other on-board identifier (board id, cpuid, whatever) would also change. It would be nice if someone didn't have to keep updating mappings on the server every time the hardware got shuffled around.

Problem: it's a PITA to stamp out unique images for these things. The goal is to be able to stamp out a single image that's identical for all of them, and then have them all boot from that and figure out their identities some other way. (The same goes for netbooting, if you're thinking of that already.)

Problem: any other "ID marker" type solution that involves twiddling the set of installed hardware somehow means that you have to be sure each one ends up in a specific spot. If you have relatively unskilled people running around installing these things, this might not be what you want. It's easier to just say "make sure there's one plugged in at every space on this list" without worrying about matching specific units to specific spots, in other words.

Wouldn't it be cool if you could just grab a box, plug it in a given spot, and it would somehow start displaying the right set of media? That's what I was thinking when I came up with this idea.

So, how do you do it? My "solution" (which has its own caveats) comes in the form of LLDP.

For those who haven't encountered it yet, here's the scoop: certain higher-end Ethernet switches have the potential to _multi_cast identifying frames every so often. Any given station on such a switch might get a LLDP frame from it a couple of times per minute.

In that frame, you can see interesting things, like the MAC address(es) of the switch, its name, what OS it might be running (!), the management IP addresses (!!), and, finally, what the name of YOUR PORT is.

	Port Description TLV (4), length 4: eth2
        Port Description TLV (4), length 8: Gi1/0/24
          0x0000:  4769 312f 302f 3234

Yep, that's right, if you're on such a switch, you might well have something arriving on your interface every so often that says "oh by the way, you are connected to me on my Gi1/0/24". Another device on that same switch would get nearly the same announcement, but it might say "Gi1/0/48" or whatever else.

The point is: if you're that derpy little display machine, you now have a way to tell yourself apart from your "coworkers". You could build a tuple of (switch name, switch port) and kick that at the display server, and let it figure out what set of images/videos you're supposed to run.

Now, there's always a catch, and here it is: this assumes that you're not changing the mapping between ports on the switch and the actual RJ45s in the space. I'm assuming that port 23 on your switch will always be over there by the front door, port 24 will always be next to the bathrooms, and 25 will be by the patio door. You get the idea.

If those change, then yeah, you get to reconfigure everything, but at least it's still only on the server, and you don't have to deal with the dumb little display machines.

How do you see this? Well, tcpdump would be a start. A filter of "ether proto 0x88cc" will do the job, but make sure you stick a -v on there to make it actually expand the details (or it'll be pretty dull).

Some other things: a relatively low-end switch won't do anything in this space. It won't generate it, and it won't "absorb" it from other sources. So, if your listening post running tcpdump is plugged into such a beast, it might hear LLDP stuff coming from multiple other sources but it won't see anything from the switch itself. Yep, it's more than switches which potentially send these out. "Server class" systems with their own little management device ("BMC") glued onto them tend to do this, too.

Normally, such traffic would not cross the switch, but that requires a switch that actually "gets" it and knows to not forward it. Ordinary dumb switches will treat it just like any other bit of traffic and will send it on down the line.

I should also note that other protocols exist which serve similar purposes and it depends a lot on which switch vendor you've chosen. It might not be LLDP but it might be something else which ends in "DP".

If in doubt, sniff the network and find out!

Manifest v2 is now removed from Chrome canary

Comments

Elle's Homepage

Comments

Show HN: Pocache, preemptive optimistic caching for Go

Comments

Show HN: NotesHub: cross-platform, Markdown-based note-taking app

Comments

A Lisp compiler to RISC-V written in Lisp

Comments

Understanding the Limitations of Mathematical Reasoning in Large Language Models

Comments

Join-Accumulate Machine: A Semi-Coherent Scalable Trustless VM

Comments

A plain-text way to get your point across quickly and artfully in the browser

Comments

Initial CUDA Performance Lessons

Comments

Nurdle Patrol

Comments

AP5 - Declarative Programming Library For Common Lisp (1995)

Comments

ARIA: An Open Multimodal Native Mixture-of-Experts Model

Comments

The Copenhagen Book: general guideline on implementing auth in web applications

Comments

Show HN: HTML for People

Comments

Game Programming in Prolog

Comments

Student finds scorpion crawling inside Shein parcel

Sofia Alonso-Mossinger found the creature in a bag of boots which she had ordered online.

Who will be England's next permanent manager?

Lee Carsley's time as interim England boss ends on 17 November - so who are the contenders to be named next permanent manager?

One missing, five rescued after Thames boat capsizes

Surrey Fire and Rescue Service appealed for the public to avoid the area while the search continues.

Boot found on Everest may solve 100-year-old climbing mystery

Andrew Comyn "Sandy" Irvine was climbing Everest in June 1924 when he and his partner vanished.

Why send a message when you can get your Zoom digital video clone to read the script?

By Thomas Claburn

We're sure colleagues will find your lookalike, soundalike avatar's missive very warm and human

Zoom Video Communications intends to offer office workers the ability to communicate with colleagues using an AI lookalike that speaks from a script using a lip-synced, cloned voice.…

TV host Jay Blades denies coercive behaviour

The Repair Shop host was charged by police last month.

Stokes, the pitch and fast Carse - first-Test talking points

Stephan Shemilt analyses the talking points after England's first-Test win over Pakistan in Multan.

Council of Nations tackles challenge of UK power-sharing

The prime minister, the devolved leaders of Scotland, Wales and Northern Ireland and England's mayors are meeting in Edinburgh.

Dealer who bought Banksy with cannabis cash jailed

Christopher Scrivens wanted to "flood the valleys" with imported cannabis, a court hears.

Apple macOS 15 Sequoia is officially UNIX. If anyone cares...

By Liam Proven

But what does that mean?

Explainer  Apple's latest OS release is the newest member of the Open Group list of officially verified UNIX variants – by quite some margin.…

Man killed in Alloa flat explosion named

A 50-year-old man who died in an explosion at a flat in Clackmannanshire has been named as Graham Green.

Gang smuggled £200m of cocaine in banana boxes

Police seized more than two tonnes of the Class A drug which had been exported from Colombia to the UK in 2021.

Forty new allegations against Al Fayed made to police

The Metropolitan Police had urged people to come forward with allegations.

The Week: Workers’ Rights, Tax Talk and Tory Leadership Drama

Adam, Chris and friends wrap up the week.

RAC duo busted for stealing and selling crash victims' data

By Paul Kunert

Roadside assistance biz praised for deploying security monitoring software and reporting workers to cops

Two former workers at roadside assistance provider RAC were this week given suspended sentences after illegally copying and selling tens of thousands of lines of personal data on people involved in accidents.…

G2 Esports vs. T1 / 2024 World Championship - Swiss Round 4 Advancement / Post-Match Discussion

By /u/adz0r

WORLDS 2024

Official page | Leaguepedia | Liquipedia | Eventvods.com | New to LoL


G2 Esports 0-2 T1

- T1 secure a spot in the Knockout Stage!

G2 | Leaguepedia | Liquipedia | Website | Twitter | Facebook | YouTube | Subreddit
T1 | Leaguepedia | Liquipedia | Website | Twitter | Facebook | YouTube


MATCH 1: G2 vs. T1

Winner: T1 in 28m
Game Breakdown | Runes

Bans 1 Bans 2 G K T D/B
G2 renataglasc kalista braum xayah tahmkench 47.2k 9 2 None
T1 yone aurora brand rell kaisa 56.7k 21 8 C1 HT2 H3 CT4 CT5 B6
G2 9-20-23 vs 20-9-51 T1
BrokenBlade jax 2 1-2-2 TOP 4-1-9 2 gragas Zeus
Yike nocturne 1 1-2-5 JNG 3-2-10 1 skarner Oner
Caps orianna 2 1-3-6 MID 7-2-8 1 ahri Faker
Hans Sama draven 3 5-5-2 BOT 5-1-12 3 jhin Gumayusi
Mikyx nautilus 3 1-8-8 SUP 1-3-12 4 leona Keria

MATCH 2: G2 vs. T1

Winner: T1 in 41m
Game Breakdown | Runes

Bans 1 Bans 2 G K T D/B
G2 renataglasc kalista skarner braum xayah 74.6k 17 9 CT2 B5
T1 yone aurora brand poppy rell 85.4k 23 9 HT1 H3 M4 M6 M7 B8 E9 B10
G2 17-23-43 vs 23-17-54 T1
BrokenBlade gnar 2 4-4-8 TOP 8-5-6 2 jax Zeus
Yike nocturne 1 5-1-7 JNG 6-3-10 1 vi Oner
Caps orianna 2 4-5-11 MID 8-2-10 1 ahri Faker
Hans Sama kaisa 3 4-6-7 BOT 1-2-11 3 jhin Gumayusi
Mikyx nautilus 3 0-7-10 SUP 0-5-17 4 leona Keria

Patch 14.18


This thread was created by the Post-Match Team.

submitted by /u/adz0r to r/leagueoflegends
[link] [comments]

G2 Esports vs. T1 / 2024 World Championship - Swiss Round 4 Advancement / Game 1 Discussion

By /u/KIRYUx

WORLDS 2024

Official page | Leaguepedia | Liquipedia | Eventvods.com | New to LoL


G2 Esports 0-1 T1

G2 | Leaguepedia | Liquipedia | Website | Twitter | Facebook | YouTube | Subreddit
T1 | Leaguepedia | Liquipedia | Website | Twitter | Facebook | YouTube


Match 1 G2 vs. T1

Winner: T1 in 28m

Bans 1 Bans 2 G K T D/B
G2 renataglasc kalista braum xayah tahmkench 47.2k 9 2 None
T1 yone aurora brand rell kaisa 56.7k 21 8 C1 HT2 H3 CT4 CT5 B6
G2 9-21-23 vs 21-9-55 T1
BrokenBlade jax 2 1-2-2 TOP 5-1-9 2 gragas Zeus
Yike nocturne 1 1-3-5 JNG 3-2-11 1 skarner Oner
Caps orianna 2 1-3-6 MID 7-2-9 1 ahri Faker
Hans Sama draven 3 5-5-2 BOT 5-1-13 3 jhin Gumayusi
Mikyx nautilus 3 1-8-8 SUP 1-3-13 4 leona Keria

*Patch 14.18


This thread was created by the Post-Match Team.

submitted by /u/KIRYUx to r/leagueoflegends
[link] [comments]

Why do historical abuse allegations come out of the blue?

By /u/ugpom

Following the recent Mohamed Al-Fayed allegations, and the Jimmy Savile horror show why do they have to be dead before the truth comes out? Why don't you hear about at least some of the allegations before they died?

submitted by /u/ugpom to r/AskUK
[link] [comments]

Sam C On Twitter: BREAKING: following set of rules to be introduced for the PL next season: - HT interview with player or coach. - interview with player subbed off - dressing room broadcasts - HT interview can be done by assistant coach. Clubs will have to choose at least 1 option every game.

By /u/Digital___Nomad

Sam C On Twitter: BREAKING: following set of rules to be introduced for the PL next season: - HT interview with player or coach. - interview with player subbed off - dressing room broadcasts - HT interview can be done by assistant coach. Clubs will have to choose at least 1 option every game.
submitted by /u/Digital___Nomad to r/Gunners
[link] [comments]

Tesla shares drop 6% in premarket after Cybercab robotaxi reveal fails to impress

By /u/GoMx808-0

Tesla shares drop 6% in premarket after Cybercab robotaxi reveal fails to impress submitted by /u/GoMx808-0 to r/technology
[link] [comments]

Made me worried than made me smile

By /u/remixmaxs

Made me worried than made me smile submitted by /u/remixmaxs to r/MadeMeSmile
[link] [comments]

Peter is it something about spiked food??

By /u/MauriceTystdiz

Peter is it something about spiked food?? submitted by /u/MauriceTystdiz to r/PeterExplainsTheJoke
[link] [comments]

maybe maybe maybe

By /u/remixmaxs

maybe maybe maybe submitted by /u/remixmaxs to r/maybemaybemaybe
[link] [comments]

AITAH for complaining about the guy airing his nuts out at my dance studio?

By /u/Links_slut

So, I go to a pole dance studio in a small town. Very recently, they decided to make most of the classes co-ed, meaning men are allowed to join. I don’t think anybody has an issue with this, many of us are there working out in our underwear but it’s no different than the beach. Until Kevin gets to class. He wears these short baggy shorts with no underwear on, and his genitals are frequently fully visible. He even jokes about it like “sorry in advance for anything you might see, ladies.” The apology shows he knows his balls are out, and he just doesn’t care. He seems to think it’s fine to flash his entire nutsack to a room full of unconsenting women. I’m all for sharing our space with men, but none of the women are exposing their genitalia like that. It’s just not done in our dance studio. If you did that at a gym they would tell you to cover up and leave. I’m thinking about sending an email to complain about it. It’s even worse because he’s one of the instructors husbands. Am I overreacting or is this just wildly inappropriate? We’ve only been coed for like 2 months and I’m already having to look at men’s ballsacks. Should I complain or would that make me an asshole? I really don’t want to have to look at this man’s nutsack again in what used to be a safe space for women

submitted by /u/Links_slut to r/AITAH
[link] [comments]

People who slept with their best friend, what happened?

By /u/Baker_Street_1999

submitted by /u/Baker_Street_1999 to r/AskReddit
[link] [comments]

Toddler gets bowled over by Mickey Mouse, who admonishes the dad for not keeping a hold of his kid

By /u/Callme-risley

Toddler gets bowled over by Mickey Mouse, who admonishes the dad for not keeping a hold of his kid submitted by /u/Callme-risley to r/KidsAreFuckingStupid
[link] [comments]

Celebrities that have more tattoos than you would think

By /u/catsback

Celebrities that have more tattoos than you would think
  1. Simon Pegg
  2. Ella Purnell
  3. Tyler Posey
  4. Scarlett Johansson
  5. Whoopi Goldberg
  6. Cheryl (Cole), should I make this post nsfw for this pic?
  7. Ben Affleck

Do you know any other?

submitted by /u/catsback to r/popculturechat
[link] [comments]

What would the best curse to place on someone from the UK?

By /u/Important_Ruin

Thinking of non-harmful curses you could hypothetically place on your sworn enemy or someone who has wronged you this week.

Mine would be for your tea forever to be too milky.

submitted by /u/Important_Ruin to r/AskUK
[link] [comments]

A man shows his commute to work in Chongqing.

By /u/mindyour

A man shows his commute to work in Chongqing. submitted by /u/mindyour to r/interestingasfuck
[link] [comments]

Revealed: 'Dangerous sexual predator' who raped a vulnerable woman then molested a teenage girl on two buses was a small boat migrant who arrived in the country via the English Channel

By /u/IllustriousLynx8099

Revealed: 'Dangerous sexual predator' who raped a vulnerable woman then molested a teenage girl on two buses was a small boat migrant who arrived in the country via the English Channel submitted by /u/IllustriousLynx8099 to r/unitedkingdom
[link] [comments]

HTML for People

HTML for People

Blake Watson's brand new HTML tutorial, presented as a free online book (CC BY-NC-SA 4.0, on GitHub). This seems very modern and well thought-out to me. It focuses exclusively on HTML, skipping JavaScript entirely and teaching with Simple.css to avoid needing to dig into CSS while still producing sites that are pleasing to look at. It even touches on Web Components (described as Custom HTML tags) towards the end.

Via Hacker News

Tags: css, html, web-components

Quoting Ed Yong

Providing validation, strength, and stability to people who feel gaslit and dismissed and forgotten can help them feel stronger and surer in their decisions. These pieces made me understand that journalism can be a caretaking profession, even if it is never really thought about in those terms. It is often framed in terms of antagonism. Speaking truth to power turns into being hard-nosed and removed from our subject matter, which so easily turns into be an asshole and do whatever you like.

This is a viewpoint that I reject. My pillars are empathy, curiosity, and kindness. And much else flows from that. For people who feel lost and alone, we get to say through our work, you are not. For people who feel like society has abandoned them and their lives do not matter, we get to say, actually, they fucking do. We are one of the only professions that can do that through our work and that can do that at scale.

Ed Yong, at 19:47

Tags: journalism, covid19

Bridging Language Gaps in Multilingual Embeddings via Contrastive Learning

Bridging Language Gaps in Multilingual Embeddings via Contrastive Learning

Most text embeddings models suffer from a "language gap", where phrases in different languages with the same semantic meaning end up with embedding vectors that aren't clustered together.

Jina claim their new jina-embeddings-v3 (CC BY-NC 4.0, which means you need to license it for commercial use if you're not using their API) is much better on this front, thanks to a training technique called "contrastive learning".

There are 30 languages represented in our contrastive learning dataset, but 97% of pairs and triplets are in just one language, with only 3% involving cross-language pairs or triplets. But this 3% is enough to produce a dramatic result: Embeddings show very little language clustering and semantically similar texts produce close embeddings regardless of their language

Scatter plot diagram, titled Desired Outcome: Clustering by Meaning. My dog is blue and Mein Hund ist blau are located near to each other, and so are Meine Katze ist rot and My cat is red

Via @JinaAI_

Tags: jina, ai, embeddings, machine-learning

Announcing Deno 2

Announcing Deno 2

The big focus of Deno 2 is compatibility with the existing Node.js and npm ecosystem:

Deno 2 takes all of the features developers love about Deno 1.x — zero-config, all-in-one toolchain for JavaScript and TypeScript development, web standard API support, secure by default — and makes it fully backwards compatible with Node and npm (in ESM).

The npm support is documented here. You can write a script like this:

import * as emoji from "npm:node-emoji";
console.log(emoji.emojify(`:sauropod: :heart:  npm`));

And when you run it Deno will automatically fetch and cache the required dependencies:

deno run main.js

Another new feature that caught my eye was this:

deno jupyter now supports outputting images, graphs, and HTML

Deno has apparently shipped with a Jupyter notebook kernel for a while, and it's had a major upgrade in this release.

Here's Ryan Dahl's demo of the new notebook support in his Deno 2 release video.

I tried this out myself, and it's really neat. First you need to install the kernel:

deno juptyer --install

I was curious to find out what this actually did, so I dug around in the code and then further in the Rust runtimed dependency. It turns out installing Jupyter kernels, at least on macOS, involves creating a directory in ~/Library/Jupyter/kernels/deno and writing a kernel.json file containing the following:

{
  "argv": [
    "/opt/homebrew/bin/deno",
    "jupyter",
    "--kernel",
    "--conn",
    "{connection_file}"
  ],
  "display_name": "Deno",
  "language": "typescript"
}

That file is picked up by any Jupyter servers running on your machine, and tells them to run deno jupyter --kernel ... to start a kernel.

I started Jupyter like this:

jupyter-notebook /tmp

Then started a new notebook, selected the Deno kernel and it worked as advertised:

Jupyter notebook running the Deno kernel. I run 4 + 5 and get 9, then Deno.version and get back 2.0.0. I import Observable Plot and the penguins data, then render a plot which shows as a scatter chart.

import * as Plot from "npm:@observablehq/plot";
import { document, penguins } from "jsr:@ry/jupyter-helper";
let p = await penguins();

Plot.plot({
  marks: [
    Plot.dot(p.toRecords(), {
      x: "culmen_depth_mm",
      y: "culmen_length_mm",
      fill: "species",
    }),
  ],
  document,
});

Tags: deno, javascript, jupyter, typescript, nodejs, npm, observable-plot

Forums are still alive, active, and a treasure trove of information

Forums are still alive, active, and a treasure trove of information

Chris Person:

When I want information, like the real stuff, I go to forums. Over the years, forums did not really get smaller, so much as the rest of the internet just got bigger. Reddit, Discord and Facebook groups have filled a lot of that space, but there is just certain information that requires the dedication of adults who have specifically signed up to be in one kind of community.

This is a very comprehensive directory of active forums.

Via Andy Baio

Tags: forums

Free Threaded Python With Asyncio

Free Threaded Python With Asyncio

Jamie Chang expanded my free-threaded Python experiment from a few months ago to explore the interaction between Python's asyncio and the new GIL-free build of Python 3.13.

The results look really promising. Jamie says:

Generally when it comes to Asyncio, the discussion around it is always about the performance or lack there of. Whilst peroformance is certain important, the ability to reason about concurrency is the biggest benefit. [...]

Depending on your familiarity with AsyncIO, it might actually be the simplest way to start a thread.

This code for running a Python function in a thread really is very pleasant to look at:

result = await asyncio.to_thread(some_function, *args, **kwargs)

Jamie also demonstrates asyncio.TaskGroup, which makes it easy to execute a whole bunch of threads and wait for them all to finish:

async with TaskGroup() as tg:
    for _ in range(args.tasks):
        tg.create_task(to_thread(cpu_bound_task, args.size))

Tags: async, gil, python

The Fair Source Definition

The Fair Source Definition

Fail Source (fair.io) is the new-ish initiative from Chad Whitacre and Sentry aimed at providing an alternative licensing philosophy that provides additional protection for the business models of companies that release their code.

I like that they're establishing a new brand for this and making it clear that it's a separate concept from Open Source. Here's their definition:

Fair Source is an alternative to closed source, allowing you to safely share access to your core products. Fair Source Software (FSS):

  1. is publicly available to read;
  2. allows use, modification, and redistribution with minimal restrictions to protect the producer’s business model; and
  3. undergoes delayed Open Source publication (DOSP).

They link to the Delayed Open Source Publication research paper published by OSI in January. (I was frustrated that this is only available as a PDF, so I converted it to Markdown using Gemini 1.5 Pro so I could read it on my phone.)

The most interesting background I could find on Fair Source was this GitHub issues thread, started in May, where Chad and other contributors fleshed out the initial launch plan over the course of several months.

Via Hacker News

Tags: licenses, sentry, pdf, open-source, chad-whitacre

otterwiki

otterwiki

It's been a while since I've seen a new-ish Wiki implementation, and this one by Ralph Thesen is really nice. It's written in Python (Flask + SQLAlchemy + mistune for Markdown + GitPython) and keeps all of the actual wiki content as Markdown files in a local Git repository.

The installation instructions are a little in-depth as they assume a production installation with Docker or systemd - I figured out this recipe for trying it locally using uv:

git clone https://github.com/redimp/otterwiki.git
cd otterwiki

mkdir -p app-data/repository
git init app-data/repository

echo "REPOSITORY='${PWD}/app-data/repository'" >> settings.cfg
echo "SQLALCHEMY_DATABASE_URI='sqlite:///${PWD}/app-data/db.sqlite'" >> settings.cfg
echo "SECRET_KEY='$(echo $RANDOM | md5sum | head -c 16)'" >> settings.cfg

export OTTERWIKI_SETTINGS=$PWD/settings.cfg
uv run --with gunicorn gunicorn --bind 127.0.0.1:8080 otterwiki.server:app

Via Hacker News

Tags: python, wikis, uv, markdown, git, flask, sqlalchemy, sqlite

openai/openai-realtime-console

openai/openai-realtime-console

I got this OpenAI demo repository working today - it's an extremely easy way to get started playing around with the new Realtime voice API they announced at DevDay last week:

cd /tmp
git clone https://github.com/openai/openai-realtime-console
cd openai-realtime-console
npm i
npm start

That starts a localhost:3000 server running the demo React application. It asks for an API key, you paste one in and you can start talking to the web page.

The demo handles voice input, voice output and basic tool support - it has a tool that can show you the weather anywhere in the world, including panning a map to that location. I tried adding a show_map() tool so I could pan to a location just by saying "Show me a map of the capital of Morocco" - all it took was editing the src/pages/ConsolePage.tsx file and hitting save, then refreshing the page in my browser to pick up the new function.

Be warned, it can be quite expensive to play around with. I was testing the application intermittently for only about 15 minutes and racked up $3.87 in API charges.

Tags: nodejs, javascript, openai, websockets, generative-ai, ai, llms, react

If we had $1,000,000…

If we had $1,000,000…

Jacob Kaplan-Moss gave my favorite talk at DjangoCon this year, imagining what the Django Software Foundation could do if it quadrupled its annual income to $1 million and laying out a realistic path for getting there. Jacob suggests leaning more into large donors than increasing our small donor base:

It’s far easier for me to picture convincing eight or ten or fifteen large companies to make large donations than it is to picture increasing our small donor base tenfold. So I think a major donor strategy is probably the most realistic one for us.

So when I talk about major donors, who am I talking about? I’m talking about four major categories: large corporations, high net worth individuals (very wealthy people), grants from governments (e.g. the Sovereign Tech Fund run out of Germany), and private foundations (e.g. the Chan Zuckerberg Initiative, who’s given grants to the PSF in the past).

Also included: a TIL on Turning a conference talk into an annotated presentation. Jacob used my annotated presentation tool to OCR text from images of keynote slides, extracted a Whisper transcript from the YouTube livestream audio and then cleaned that up a little with LLM and Claude 3.5 Sonnet ("Split the content of this transcript up into paragraphs with logical breaks. Add newlines between each paragraph.") before editing and re-writing it all into the final post.

Tags: jacob-kaplan-moss, django, dsf, claude-3-5-sonnet, llm, whisper

Anthropic: Message Batches (beta)

Anthropic: Message Batches (beta)

Anthropic now have a batch mode, allowing you to send prompts to Claude in batches which will be processed within 24 hours (though probably much faster than that) and come at a 50% price discount.

This matches the batch models offered by OpenAI and by Google Gemini, both of which also provide a 50% discount.

Via @alexalbert__

Tags: gemini, anthropic, claude, generative-ai, openai, ai, llms

Django Commons

Django Commons

Django Commons is a really promising initiative started by Tim Schilling, aimed at the problem of keeping key Django community projects responsibly maintained on a long-term basis.

Django Commons is an organization dedicated to supporting the community's efforts to maintain packages. It seeks to improve the maintenance experience for all contributors; reducing the barrier to entry for new contributors and reducing overhead for existing maintainers.

I’ve stated recently that I’d love to see the Django Software Foundation take on this role - adopting projects and ensuring they are maintained long-term. Django Commons looks like it solves that exact problem, assuring the future of key projects beyond their initial creators.

So far the Commons has taken on responsibility for django-fsm-2, django-tasks-scheduler and, as-of this week, diango-typer.

Here’s Tim introducing the project back in May. Thoughtful governance has been baked in from the start:

Having multiple administrators makes the role more sustainable, lessens the impact of a person stepping away, and shortens response time for administrator requests. It’s important to me that the organization starts with multiple administrators so that collaboration and documentation are at the forefront of all decisions.

Tags: open-source, django

Thoughts on the Treasurer Role at Tech NonProfits

Thoughts on the Treasurer Role at Tech NonProfits

Will Vincent, Django Software Foundation treasurer from 2020-2022, explains what’s involved in the non-profit role with the highest level of responsibility and trust.

Tags: dsf, django

What's New In Python 3.13

What's New In Python 3.13

It's Python 3.13 release day today. The big signature features are a better REPL with improved error messages, an option to run Python without the GIL and the beginnings of the new JIT. Here are some of the smaller highlights I spotted while perusing the release notes.

iOS and Android are both now Tier 3 supported platforms, thanks to the efforts of Russell Keith-Magee and the Beeware project. Tier 3 means "must have a reliable buildbot" but "failures on these platforms do not block a release". This is still a really big deal for Python as a mobile development platform.

There's a whole bunch of smaller stuff relevant to SQLite.

Python's dbm module has long provided a disk-backed key-value store against multiple different backends. 3.13 introduces a new backend based on SQLite, and makes it the default.

>>> import dbm
>>> db = dbm.open("/tmp/hi", "c")
>>> db["hi"] = 1

The "c" option means "Open database for reading and writing, creating it if it doesn’t exist".

After running the above, /tmp/hi was a SQLite database containing the following data:

sqlite3 /tmp/hi .dump
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Dict (
    key BLOB UNIQUE NOT NULL,
    value BLOB NOT NULL
  );
INSERT INTO Dict VALUES(X'6869',X'31');
COMMIT;

The dbm.open() function can detect which type of storage is being referenced. I found the implementation for that in the whichdb(filename) function.

I was hopeful that this change would mean Python 3.13 deployments would be guaranteed to ship with a more recent SQLite... but it turns out 3.15.2 is from November 2016 so still quite old:

SQLite 3.15.2 or newer is required to build the sqlite3 extension module. (Contributed by Erlend Aasland in gh-105875.)

The conn.iterdump() SQLite method now accepts an optional filter= keyword argument taking a LIKE pattern for the tables that you want to dump. I found the implementation for that here.

And one last change which caught my eye because I could imagine having code that might need to be updated to reflect the new behaviour:

pathlib.Path.glob() and rglob() now return both files and directories if a pattern that ends with "**" is given, rather than directories only. Add a trailing slash to keep the previous behavior and only match directories.

With the release of Python 3.13, Python 3.8 is officially end-of-life. Łukasz Langa:

If you're still a user of Python 3.8, I don't blame you, it's a lovely version. But it's time to move on to newer, greater things. Whether it's typing generics in built-in collections, pattern matching, except*, low-impact monitoring, or a new pink REPL, I'm sure you'll find your favorite new feature in one of the versions we still support. So upgrade today!

Tags: beeware, sqlite, python, mobile, ios, android, russell-keith-magee, lukasz-langa

What's New in Ruby on Rails 8

What's New in Ruby on Rails 8

Rails 8 takes SQLite from a lightweight development tool to a reliable choice for production use, thanks to extensive work on the SQLite adapter and Ruby driver.

With the introduction of the solid adapters discussed above, SQLite now has the capability to power Action Cable, Rails.cache, and Active Job effectively, expanding its role beyond just prototyping or testing environments. [...]

  • Transactions default to IMMEDIATE mode to improve concurrency.

Also included in Rails 8: Kamal, a new automated deployment system by 37signals for self-hosting web applications on hardware or virtual servers:

Kamal basically is Capistrano for Containers, without the need to carefully prepare servers in advance. No need to ensure that the servers have just the right version of Ruby or other dependencies you need. That all lives in the Docker image now. You can boot a brand new Ubuntu (or whatever) server, add it to the list of servers in Kamal, and it’ll be auto-provisioned with Docker, and run right away.

More from the official blog post about the release:

At 37signals, we're building a growing suite of apps that use SQLite in production with ONCE. There are now thousands of installations of both Campfire and Writebook running in the wild that all run SQLite. This has meant a lot of real-world pressure on ensuring that Rails (and Ruby) is working that wonderful file-based database as well as it can be. Through proper defaults like WAL and IMMEDIATE mode. Special thanks to Stephen Margheim for a slew of such improvements and Mike Dalessio for solving a last-minute SQLite file corruption issue in the Ruby driver.

Via Hacker News

Tags: docker, ruby, sqlite, 37-signals, rails

An Electromagnetic Force

I've just returned from a fourteen-day trip spent building, running and tearing down EMF, and as I sit on the plane writing this, as well as physical exhaustion, I am experiencing a whole host of emotions - happiness, wonder, determination, and also a strange sense of loss.

It is impossible to describe EMF to anyone who has not attended; while initially you might want to compare it to a normal festival, or something like Burning Man, it is fundamentally unlike almost any other event on Earth. The Dutch and German camps maybe come close, but even those have their own somewhat different vibe.

Over the course of my time heading up the logistics team over the last two weeks, I have done and seen such a wild variety of things that I'm never quite sure what was real. Among others, I watched a man play the US National Anthem on a tesla coil using a theremin; climbed up into a DJ booth in a solarpunk-themed Null Sector and pressed the "!! FIRE !!" button to light up the night sky with pillars of burning alcohol; exited the shower to hear HACK THE PLANET echo out over the field from the stage a quarter of a mile away; saw an inflatable t-rex driving a miniature Jurassic Park jeep, played games on a hillside using lasers, and refilled the duck flume several times (shortly after exclaiming "We have a duck flume?").

...

The Cloud Is Just My Basement's Computers

I've had many different development platforms over the years - from Notepad++ on library computers in my youth, to Gentoo and then Ubuntu installed on a series of carefully-chosen laptops with working drivers, and then for the last five years or so on Surface devices via the rather wonderful Windows Subsystem for Linux (WSL).

Of course, in the WSL era I am still just running Ubuntu, but inside the pseudo-VM that is the WSL subsystem of the Windows kernel. It's honestly pretty great, and I regularly joke that I'm using Windows as the GUI layer to develop on Linux.

Between the Steam Deck and WSL both being ascendant, maybe we finally got the Year Of Linux On The Desktop, just not as we expected.

...

Life-Critical Side Projects

TLDR: I am looking for new developers and maintainers for Takahē who want to help in exchange for my mentorship, or I'll have to sunset the project.

I find it important to have hobbies that aren't the same as what I do for work, which is why an increasing number of them don't involve computers at all - I'm very happy building new things on my camper van, making weird geographic art, or hiking around bits of the Rockies.

However, I still love programming and systems work, and I'll always have at least one project going on the side that involves it - nothing beats the size and complexity of what you can create in just a few hours of coding. That said, I have two basic rules for my programming side projects:

...

I am, approximately, here

There are many questionable things about American car culture, but the road trip is not one of them. In a country as large and geographically varied as the USA, road travel is not just a necessity, but it can also be the attraction itself.

When I first moved to the USA, I had vague plans of doing some driving around and enjoying the sheer alien-ness of tiny towns in the middle of nowhere, or motels where you are somehow the only guest. Nine years in, I've done a decent amount of that, but these days my attention is more focused around the camper van that I spent half a year building.

I like to try and share a bit of the experience with those who want to see it, and as well as posting pictures and videos, I've always liked the idea of having a live map of where I am - even if it's just for friends and relatives who are interested in my progress.

...

A Takahē refactor, as a treat

I had taken two months off from developing Takahē in the run up to PyCon US; both due to pressures at work (and then, more recently, half the company being laid off around me), as well as not quite being sure what I wanted to build, exactly.

When I started the project, my main goal was to show that multi-domain support for a single ActivityPub server was possible; once I had achieved that relatively early on, I sort of fell down the default path of implementing a lightweight clone of Mastodon/Twitter.

While this was good in terms of developing out the features we needed, it always felt a bit like overhead I didn't really want; after all, if you're implementing the Mastodon API like we do, all the dedicated apps for viewing timelines and posting are always going to be better than what you ship with a server.

...

Takahē 0.7

Today is the 0.7 release of Takahē, and things are really humming along now; this release marks the point where we've built enough moderation and community features to make me happy that I can open up takahe.social to registrations, albeit with a user number cap.

We've also launched a Patreon for Takahē, in a quest to make development and operation of Takahē more sustainable - and work towards start paying some people to help out with the less exciting work like triaging tickets, user support, and moderation of takahe.social. If you want to volunteer directly, that's covered in our Contributing docs.

There's some interesting technical topics I want to dig into today, though - it's been a little while since my last blog post and ActivityPub and friends continue to surprise.

...

Understanding A Protocol

Yesterday I pushed out the 0.5.0 release of Takahē, and while there's plenty left to do, this release is somewhat of a milestone in its own right, as it essentially marks the point where I've implemented enough of ActivityPub to shift focus.

With the implementation of image posting in this release, there are now only a few things left at a protocol level that I know I'm missing:

Custom emoji (these are custom per-server and a mapping of name-to-image comes with each post)

...

Takahē 0.3.0

So, after a few weeks of development, I'm happy enough with the state of Takahē to issue its first official release - which I've chosen to number 0.3.0, because version numbers are made up and I can start where I want.

We're only releasing Docker images right now in order to try and keep the support burden down (it removes having to worry about people's OS versions and library environments), so you can find it on Docker Hub.

A screenshot of Takahē

...

Twitter, ActivityPub and The Future

Twitter is - was - such a unique place. Somewhere where you can have the President of the United States coexist with teenagers writing fan fiction; where celebrities give personal insights into their lives while government departments post memes about public safety; the place that gave us @Horse_ebooks and @dril.

The "Fediverse", with Mastodon at its helm, is not this. It doesn't seem to want to be, and I honestly think that's fine - as many thinkpieces have recently said, the age of global social media might just be over. And given the effect it's had on the world, maybe that's alright after all.

But there is still a void to fill, and as someone who enjoyed Twitter most at its "medium" size, I think the ActivityPub ecosystem is well-placed to grow into such a space. But first, I think there's some important things we have to discuss about it.

...

Takahē: A New ActivityPub Server

When I decided to properly start using the Fediverse via my own Mastodon server, I knew it was probably inevitable that I would end up writing my own server - and, well, here we are!

My new server is called Takahē, and it's built in Django and also specifically with Python's async library ecosystem - I'll explain more about why that matters later.

A screenshot of Takahe

...

I Fight For The Users

By Jeff Atwood

If you haven't been able to keep up with my blistering pace of one blog post per year, I don't blame you. There's a lot going on right now. It's a busy time. But let's pause and take a moment

The 2030 Self-Driving Car Bet

By Jeff Atwood

It's my honor to announce that John Carmack and I have initiated a friendly bet of $10,000* to the 501(c)(3) charity of the winner’s choice:

By January 1st, 2030, completely autonomous self-driving cars meeting SAE J3016 level 5 will be commercially available for

Updating The Single Most Influential Book of the BASIC Era

By Jeff Atwood

In a way, these two books are responsible for my entire professional career.

alt

With early computers, you didn't boot up to a fancy schmancy desktop, or a screen full of apps you could easily poke and prod with your finger. No, those computers booted up to the command

Building a PC, Part IX: Downsizing

By Jeff Atwood

Hard to believe that I've had the same PC case since 2011, and my last serious upgrade was in 2015. I guess that's yet another sign that the PC is over, because PC upgrades have gotten really boring. It took 5 years for me to muster

The Rise of the Electric Scooter

By Jeff Atwood

In an electric car, the (enormous) battery is a major part of the price. If electric car prices are decreasing, battery costs must be decreasing, because it's not like the cost of fabricating rubber, aluminum, glass, and steel into car shapes can decline that much, right?

ev-battery-costs

On an

Electric Geek Transportation Systems

By Jeff Atwood

I've never thought of myself as a "car person". The last new car I bought (and in fact, now that I think about it, the first new car I ever bought) was the quirky 1998 Ford Contour SVT. Since then we bought a VW station wagon

An Exercise Program for the Fat Web

By Jeff Atwood

When I wrote about App-pocalypse Now in 2014, I implied the future still belonged to the web. And it does. But it's also true that the web has changed a lot in the last 10 years, much less the last 20 or 30.

fat city

Websites have gotten a lot

The Cloud Is Just Someone Else's Computer

By Jeff Atwood

When we started Discourse in 2013, our server requirements were high:

I'm not talking about a cheapo shared cpanel server, either, I mean a dedicated virtual private server with those specifications.

We were OK

What does Stack Overflow want to be when it grows up?

By Jeff Atwood

I sometimes get asked by regular people in the actual real world what it is that I do for a living, and here's my 15 second answer:

We built a sort of Wikipedia website for computer programmers to post questions and answers. It's called Stack Overflow

There is no longer any such thing as Computer Security

By Jeff Atwood

Remember "cybersecurity"?

its-cybersecurity-yay

Mysterious hooded computer guys doing mysterious hooded computer guy .. things! Who knows what kind of naughty digital mischief they might be up to?

Unfortunately, we now live in a world where this kind of digital mischief is literally rewriting the world's history. For proof

To Serve Man, with Software

By Jeff Atwood

I didn't choose to be a programmer. Somehow, it seemed, the computers chose me. For a long time, that was fine, that was enough; that was all I needed. But along the way I never felt that being a programmer was this unambiguously great-for-everyone career field with zero

The Existential Terror of Battle Royale

By Jeff Atwood

It's been a while since I wrote a blog post, I guess in general, but also a blog post about video games. Video games are probably the single thing most attributable to my career as a programmer, and everything else I've done professionally after that. I

Hacker, Hack Thyself

By Jeff Atwood

We've read so many sad stories about communities that were fatally compromised or destroyed due to security exploits. We took that lesson to heart when we founded the Discourse project; we endeavor to build open source software that is secure and safe for communities by default, even if

Thunderbolting Your Video Card

By Jeff Atwood

When I wrote about The Golden Age of x86 Gaming, I implied that, in the future, it might be an interesting, albeit expensive, idea to upgrade your video card via an external Thunderbolt 3 enclosure.

alt

I'm here to report that the future is now.

Yes, that's

Password Rules Are Bullshit

By Jeff Atwood

Of the many, many, many bad things about passwords, you know what the worst is? Password rules.

Roundup

By [email protected] (Jon North)

Birthday time, and we have celebrated jointly with a  160th party (82+78, I am the baby) with friends locally, a very informal wine tasting from our varied collecton.  A few photos...





It has rained (a rare event) so things are looking a bit greener but this is a dry corner of the Languedoc - only 35 mm on 5 September when the local average all around was nearer 50 - and another 37 yesterday.  I do spend a lot of my time watering, recycling the copious condensation from our wine store cooling system.  I shalll need to get the mower out soon...

After an anxious few days Edmond has rallied and is eating the posher kind of dog food that now tempts him.   His heart is not strong, and the vet (who is kind and thoughtful) is on standby to pay us a visit when needed, but for the moment the dog is in good spirits.

Followign the outstanding success of the Paris Olympics, the Paralympics have come and gone.  We made a determined effort to watch: The simple evidence of determination and overcoming difficulties is inspiring, and sports have been adapted, or invented, to facilitate people with disabilities of every kind to take their chance.  Now we are obliged to watch French tv, but we also have podcasts in English.   There is a splendid podcast - well worth listening to - which conveys the excellence of these athletes.  Mary and I both spent a good part of our working lives with disabled people in the voluntery sector, so this inteterests us a lot.  It seems to us that France has begun to catch up with the UK in social integration of disability


I have long been interested in road safety, and the consistently higher mortality here as compared th the UK.  I have just read that the number of people killed or injured on Welsh roads has dropped significantly since most 30mph speed limits were reduced to 20mph. There were 377 casualties on 20mph and 30mph roads in the first quarter of 2024, down from 510 in the same period last year. The number of deaths dropped from 11 to five.



I have just come across this map of transatlantic cables which shows, along with the huge power-guzzling data centres all over the place, how very un-cloudlike the cloud is  I read this in an article by Gillian Tett in the Guardian -  "When we think of the internet, we tend to picture a disembodied thing out in the air somewhere. In reality, it’s rooted in physical infrastructure: 99% of global internet traffic travels through 1.4 million kilometres of undersea cables, and that includes “the $10trn in daily financial transactions … which drive global markets”. Any damage to these cables thus poses a major threat to Western economies. And the bad news is that the risks of such damage are escalating. The main threat used to be natural disasters or accidents with ship anchors: now, increasingly, it’s acts of sabotage by hostile states, such as Russia. The prime target used to be pipelines – in 2022, the Baltic Nord Stream gas pipeline was sabotaged – today it’s undersea data cables. Sweden reported such an attack last year; Estonia has accused China of cutting two of its cables. Western leaders are reluctant to spend billions on back-up cables, as internet engineers urge them to do, because, apart from the cost, they’ll likely face resistance from companies such as Google, which invest heavily in such cables. But if we fail to ready ourselves for the era of seabed warfare, the West’s financial architecture will be left in jeopardy.

We keep looking for the good news, but some of it has been really awful lately, what with riots in the UK, horrible stories of sexual violence everywhere, fake news,  and political sleaze in the UK which seems not to have diseappeared with the change of government.  The Olympics were dragged in: "Prosecutors are investigating death threats made against the artistic director of the Paris Olympic Games opening ceremony, Thomas Jolly. The ceremony, staged on monuments and boats along the River Seine, was deplored by some religious leaders and conservative politicians for one section in particular – a bacchanalian scene featuring drag artists, which they mistook for a parody of Leonardo’s The Last Supper. Jolly, a well-known theatre director, says he has been sent hate messages, some in the form of death threats, reviling his sexuality (he is openly gay) and his “wrongly assumed Israeli origins”. Several threats sent to Jolly quoted a verse from the Koran and threatened “Allah’s punishment”. 

The Fête des Associations, an annual event in most French towns.  The voluntary sector is central to public affairs at every level.



Those who know me also know I have a particular feeling of sympathy with refugees.  I've written before about the book Bloody foreigners by Robert Winder, which is a classic view of l'étranger in Britain, something I return to read often.  He has just written in the Guardian: 

...there is a pattern stretching back to the 12th century....  Like everyone else, I gaped in dismay as rioting tore across the country... but as the reflexive search for the “root” or “underlying” cause gathered pace, I couldn’t help recalling the parable of the good sociologist.  In this parody of the Bible, when the traveller on the road to Jericho is assaulted, the first sociologist crosses the road and passes by on the other side. The second does the same. But the good sociologist rushes to the scene, cradles the victim’s head and weeps: “Boy, the person who did this needs help.”   The violence was the opposite of a laughing matter, but I groaned to see how swiftly it was taken to be symptomatic of a credible point of view.   Almost everyone was calling the stone-throwers “far-right protesters” or “Islamophobic” – as though name-calling might be enough make them come to their senses.  Surely this was giving them too much credit. It allowed them to style themselves as warriors for a cause instead of thugs. Worse, it walked into the Faragian trap of insisting that though the violence, yes, might be over the top, the grievances were understandable, and the conversation we really needed to have was about … immigration.

It wasn’t. The subject here was violence.This is not to say that immigration is trivial or a simple matter. It is neither. The Channel is being crossed by overcrowded boats. The government is having to spend up to £5bn a year on asylum seekers. That is inspiring enough culture-war friction to keep the thinktanks occupied for years. There are major policy discussions to be had in all these areas.  But it pained me to see what was obviously a criminal uproar so swiftly becoming a “debate”. Surely, if there is one thing we could agree on, it was the fact that it is wrong for someone halfway through a six-pack to be setting fire to someone’s car, in a town (not their own) where children have just been murdered, because someone on the internet has said something angry about someone else whose name they couldn’t remember.

Part of my twinge was selfish, down to the fact that some years ago I wrote a book that presented the age-old saga of migration to Britain (since the ice melted) not as a sociopolitical nightmare but as a natural part of human life – which happened to have enriched Britain greatly. I was mindful of Tolstoy’s observation that in all literature there were really only two stories: someone leaves home, or a stranger arrives in town.  But given that one of my hopes had been to pour oil on troubled waters, it looked as though I now had to admit – as flames lit up the night sky in Southport and Plymouth – that I had written the most unsuccessful book in the history of books.Except, perhaps, in one respect, because one of the main things I learned writing it was that angry summer uprisings against perceived outsiders are nothing new. Far from being a heated response to a modern problem, they are as entrenched a part of the English social scene as Ascot, Henley and the Lord’s Test.

Along with Robert Winder I have been reminded today of another favourite author, Lea Ypi, now a professor at the LSE but born in a dysfunctional Albania.  

One cold, late evening in the winter of 1999, I was waiting for a train at Termini station in Rome when I noticed an old lady struggling with her suitcases and offered to help. “Signorina,” her voice trembled ever so slightly. “Fortunately there are still youngsters like you. I was very worried. This station is full of Albanian muggers. It’s an invasion.”

Back then I had no courage to tell her I was Albanian. One of the lucky ones – a student on a scholarship, unlike my fellow citizens who worked as cleaners, builders, carers and sex workers. ...taken literally, the only invasion in the history of the two nations went the other way round. It happened in 1939, when Mussolini’s troops ...annexed the Albanian kingdom to the kingdom of Italy.

Keir Starmer has reportedly declared that the UK government is interested in a migration pact like the Albanian one. ...all that Britain needs for an equivalent deal is a former colony with a government whose memory is sharp enough to remember the roads and buildings its master constructed in the past century but not the human beings it exploited in the past few decades.... When the argument that we must “be pragmatic” is the first to be put on the table, principles – memory, responsibility, care for vulnerable people, you name it – have already been suspended.

How to oppose it, then? Perhaps by plain logic.  Migration deals such as the one Labour is apparently studying are premised on various assumptions: that migration itself is a problem, that irregular migration is best fought with draconian border restrictions, that extraterritorial detention can act as a deterrent. There is ample research showing each premise to be dubious. But even assuming they are valid, there are three further issues any “pragmatic” politician ought to confront.

Politically, the Albania model is presented as a novelty in the management of migratory flows because it involves cooperation between an EU candidate and an EU member state. ... [but this] leaves to bilateral negotiations what ought to come about as a result of an EU-wide process.... it creates a dangerous precedent in which individual countries pursue their own deals to address their own migration “problem”, heading off chances of a truly coordinated process acrossEurope.

Second, the principle of non-refoulment enshrined in the 1951 UN convention relating to the status of refugees, prohibits the expulsion or return of people to countries deemed unsafe. Meloni insists Albania is safe, citing its EU candidate status. But if that is the case, why are pregnant women, children and other vulnerable categories exempted from the deal?

Third, there is the economic question. To comply with international law, deported migrants must remain Italy’s responsibility. According to the agreement between Italy and Albania, Italy is responsible for all the costs of construction and management of the two centres...An irregular migrant in Albania costs Italy the same or more than they would if they were processed in their own territory. The only benefit is that migrants become invisible – lontano dagli occhi, lontano dal cuore, as the Italian saying goes.

We are told that Starmer’s government is pragmatic and interested in what works. But how can a “solution” that makes no logical sense from a political, legal and economic point of view still be considered “pragmatic”?

Perhaps there is only one plausible answer: propaganda. Labour clearly thinks it can send a message to the most right-leaning voters in its coalition that it too is tough on migrants. In doing this, it takes its liberal and leftwing supporters for granted. They may suspend their principles and forgive the rhetoric for a time. But the political, legal and economic contradictions will remain.




A quiet summer

By [email protected] (Jon North)

 

After the total immersion of the  Tour de France here in our household (bear in mind we were brushing up on our French comprehension as we watched with 100% French commentary for the first time, straining to hear snatches of English behind the interpreters' rapid translations of interview clips).  On reflection one of our highlights was the overall success of small nations  - Slovenia, Ecuador, Eritrea, Belgium on various podiums as well as the endless beauty of thr French (and initially Italian) countryside.  I didn't think the Olympics would have the same fascination for us, but we have enjoyed some amazing moments, and continue to improve our comprehension of spoken French from the tv coverage.  Simone Biles has been a revelation, recovering from disorientation 4 years ago to take triumphant gold medals.  They keep evoking the days of Korbut and Comaneci, but the fitness and tranining have gone along with higher ages - the 27 year old Biles would apparently have been called granny by other gymnasts a generation ago.

The Olympic cycling road races took place at the weekend - Evenepoel was a worthy winner of the men's race, and the women's race past the same splendid Paris lanscape was a really tight affair where once again favourites were a bit too busy looking at one another and the American Kristen Faulkner simply rode away from them to win nicely.  Elsewhere we learn more of the strange arts of hammer throwing and ping pong, and the always disappointing flops of the high jump, but celebrated the excellent win of Novak Djokovic, the last survivor of the old guard against the inevitable rise of the new generation in tennis - a first Thinese women champion and the impressive Alcaraz as the men's runner-up.  In the Olympics we have enjoyed some good moments including a world record pole vault and an uexcpected Botswanan spring victory - the end of the track eveents this weekend will be followed by the Women's cycle Tour - we still have not worked out how to follow the Vuelta on tv.


Meanwhile in the real world I read: 'now should be the 'silly season', that goofy time of year when the news is usually filled with trivial stories because everyone's on vacation and there's not much serious stuff happening.  But this year's silly season is insisting on being taken seriously, with a global market crash and the Middle East on the brink of war. In the UK, it's even grimmer, as racist attacks against asylum-seeker facilities have spread across cities, fuelled by online disinformation. "The worst wave of far-right violence in the UK post-war," wrote anti-extremism organisation HOPE not to hate.'  We find ourselves in a quiet if hot corner of the south of France, but the turmoil is never far away.


This blog began years ago with bulletins on my health, starting with a knee replacement which seems to be holding up.  The random pains I now have include arthritis (a bit in the othe rknee but I'll not have a further operation) tendinitis (which also bugs Mary at times) in one shoulder, muscular aches which the French oddly call courbature, otherwise raideur, and a bit of gout in foot joints, evident to my doctor who spots uric acid in the blood tests and counsels mildly against drinking too much.  All this is more or less tolerable wiht regular paracetamol plus some codeine and occasional ibuprofen which has to be prescribed here but is freely available over pharmacy counters in the UK so brought by visitors when needed.  All in all, with my daily exercise bike I cope well enough.  I am often reminded of the Sackler scandal and the widespread dependence on opoids 

As I write, I have just been to the dermatologist.  A small spot on the top of one ear turned out to  be pre-cancerous and is now being analysed - for the moment I have a dressing and stitches, and much less discomfort - I'll be able to sleep facing either way now.  Dermato appointments here are like hen's teeth, and I had to write a letter in my best French to get an appointment before November, but it is done.  Lab results in September when the holidays are over.  Of course sod's law says that medical difficulties usually happen at weekends or during the summer holidays.

in Marc & Flo's garden in Congénies

Summer heat here.  We keep daily temperature records, and are surprised to find that this year has been hotter than the last 2.  It has also been humid - here we have a seesaw between drier, (slightly) cooler northerly winds - Mistral and Tramontane - and the entrées maritimes, southerly winds usually laden with moisture and sometimes with Sahara sand!  Humidity obviously make it feel even more hotter, and our daytime maxima have been in the mid-30s since the middle of July while recent night temps have not been below 20°  Our house is relatively cool and we stay indoors a lot.  But the fires in the countryside have increased again, and sadly they are often caused by cigarette ends thrown from car windows

We have come to  like the French postal services.  Deliveries to the gate and its post box, not to the door, which avoids the dog bites post people in the UK suffer (not that we have biting dogs...).  But as in the UK (years ago someone found sacks of undelivered letters to Jim'll Fixit in a bin in Hampstead, grim memories of J Savile but lots of disappointed kids hoping for replies to their dreams) a recent story tells of a French postman who took 13,000 letters home at the end of his shifts.  The accused is set to appear in court in Vienne in January 2025, after the ‘mountain’ of undelivered post was discovered in his garage. The man now faces a fine of up to €45,000, and three years in jail.the accused had previously been a delivery driver for the Services-Courrier-Colis (parcel delivery) branch in the town of Bourgoin-Jallieu,  Ironically this crime toook place not far from the Palais Idéal du Facteur Cheval, a 19th century postman who buuilt a fantastic palace from stones he collected on his rounds - it is one of our favourite places to visit, in the north of the Drôme département.





As previously noted, our dear dog Edmond is nearing the end of his long life - 15 now, which is good going for a small dog.  He has been anaesthetised previously for removal of fluid because of  oedoema caused umtimately by a weakening heart, but that makes further interventions unadvisable and we keep him cheerful with titbits fed by hand - we are in constant touch with the escellent vets here.  The hot weather certainly does not help.  But he finds cool spots on the front doorstep and still seems alert when he is not sleeping!  As long as he is in good spirits and will eat something we shall continue to enjoy his company.


The 2 tortoises however are inn good health and eating lots of lettuce!  Mary says the older one senses her arrival by vibrations in the ground and races over to get his latest meal!

just out of hibernation (a year or two ago)






Heat, family and the Tour

By [email protected] (Jon North)



The Tour de France is in its 3rd and final week - this year exceptionally (because of the Olympics) not finishing in Paris.  We have followed the cyclists for years, and although we miss the British commentators we are enjoying the French ones - it is after all a French event.  We are getting used to Tadej Pogacar outpacing his rivals up steep mountains - his current nearest rival, the Dane Jonas Vingegaard, is never far behind, but this year I don't thing he will get in front.

The scenery in these broadcasts is always magnificent - helicopters and now, I guess, drones, provide views of landscape which we'd never have seen in earlier days, and the broadcasters take pride in interspersing shots of countryside and buildings among the pictures of the race.  Tuesday's stage from Gruissan to Nîmes was particularly enjoyable for us, including as it did shots of the Pic Saint Loup north of Montpellier and then the countryside from Montpellier through the Vaunage, all of which we knnow quite well.  This website has many excellent photos of the Pic Saint Loup by Régis Domergue, a local photographer we admire.


Yesterday too the Tour back into the Alps,with magnificent landscapes and a very confused field of breakaway groups.  These grand tour races can be confusing since overall winners are calculated by cumulative time, and those who are already well ahead as the race unfolds can ride in halfway down the day's arrivals but still be in the lead.  Yesterday there were a number of group battles ahead of the leaders, and the day's stage was well won by the Ecuadorean Richard Carapaz, who has had a long career in the peleton and was with Geraint Thomas in his heyday a few years ago.


Today's stage

A good friend wondered recently why we chosse such a hot place to live.  I think, despite sometimes high temperatures, what I really love is the light, and the skies.  Since I'm often awake early I can experience light without too much heat.  This summer, to be fair, is not nearly as hot as the past 2, though they say there will be afternoons in the mid-30s this week.  We are fortunate in any case to have a house that keeps relatively cool even on hot days without the need to air conditioning, and the nights are pleasantly warm, not often stifling.  The only really cool place in the house is the wine store, whose cooling is highly efficient (and produces quantities of mineral-free water excellent for plants and for the ironing!

We have just enjoyed a short visit from our son Ed, his partner Karen, our granddaughter Isla and her boyfriend Ben who coped splendidly with new people (he'd just met Ed and Karen for the first time as they travelled over).  They were all pllunged in at the deep end with a wine tasting meal in Luc's lovely garden near Aigues Mortes, and a good time was had by all I think





Agapanthus in our garden

Voting and things

By [email protected] (Jon North)


This is election time - double whammy for us since we are still in a whirl from Thursday, and this weekend is the tense second round in the French partliamentary elections.

But I must start today by saying that I've just heard that my friend and ex-boss David Lawtey died this month.  With no exaggeration, he was oneof the most important influences in my life, in my work in  the Notts voluntary sector above all.  He was one of the fairly few people in my life who was a confirmed Conservative - goodness knows what he made of the recent chaos in British political life - and he also helped me to understand the positive qualities of a political allegiance I mostly find it hard to sympathise with.  His decency and uprightness were a huge support to me, especially at difficult moments at the end  of my career.

The personal things I take away from the British election results include some astonishing results - Henley-on-Thames which I'd got to know as a teenager switching from Conservative for the first time since 1906! (my old home area of Chesham & Amersham had already caused a big ripple in a by-election);  Rushcliffe (Kenneth Clarke's old constituency) in Notts, where I spent nearly 25 years at work falling to Labour.  The horrible muddle in Ashfield (Lee Anderson changed parties 4 times I think, Labour via tory to the far right) caused Mary and I who had worked there to raise a lot of eyebrows.  Nationally the early reports of ministerial appointments and cabinet strategy are encouraging - Rwanda is instantly abandoned the new PM is well-equipped to understand the crisis in the prison service.  Above all I hope that the changes now will bring principle back into politics, and as an ardent champion of social justice and fairness I have hopes that the new regime will uphold these in redistributing resources to those who need them most.  Early signs are encouraging.

The French situation is much less certain, though tactical withdrawals of candidates in triangular contests reduced the risks.  As I write a heated discussion is happening on the tv following the announcement of the results, no clear majority for anyone but a 3-way split.  Time will tell how this will play out but the right has been edged away from a parliamentary majority.  We have no vote here, and the President will have to work with a parliament which is equally far from his position on left and right.  I feel relief and a sense that the 2-round system and hastily formed alliances seem to have done their job.  The best stimate of the final result is below.




Domestically things are fairly quiet for us.  Edmond the dog is not very well, rather wheezy despite medication against fluid on the lungs and slow to show interest in food this weekend, but at 15 he is often  lively and walks OK, snoozing a lot in between whiles.  The weather is finally getting really warm but still not approaching the heatwaves of the last couple of years.

We have long been avid followers of the Tour de France, which is just entering its second week.  Tadej Pogacar has shown his class in pushing to the top of the  leader board and of the first serious mountain, and Mark Cavendish also shone with his record 35th stage win.  The scenery in Italy (where the Tour began) was wonderful, and since then we have seen part of France we've got to know quite well around the Savoie area and in Burgundy. This Sunday has stretches of gravel along the route, complicating things for the leaders as well as everyone else.  A black Eritrean cyclist, Biniam Girmay, is leading the points (sprint) competition by a distance, excellent for black sport.


Our French language groups continue to be important weekly markers in our lives, enhanced in summer by meeting outside in people's gardens.

Like other cars we have had our current Dacia Lodgy is rather dented from a collision with a long lorry on a roundabout - happily no serious damage.

As I started to write this Kiri te Kanawa, who is 80, was the guest on Tom Service's Saturday morning programme on Radio 3.  Her Countess in Figaro was an all-time classic role - wonderful. To finish a few photos of Marc & Flo's garden and one of some musical fishknoves - they actually work for 4-part harmony!












Midsummer

By [email protected] (Jon North)

   
 Poor Edmond has had a rough time lately, and the other day the vet drained a litre of fluid from his chest - his liver has long been struggling.  We'll  keep going with and for him as long as we can, but he is not always interested in  eating despite Mary's tempting food.  He has had a good run, and at 15 has survived well, but we shall see if the aftermath of this latest operation works out.  It seems possible that he will be our last dog - I would struggle with ayounger, more active animal though we never say never - and we are keen to make his life as comfortable as possible.

The glow of midsummer twilight, looking north from our house
   

These past few weeks have also been eventful in our garden, and in France with the continuing drift to the right across much of Europe and national elections here now imminent.  An anxious wait to see if the French electoral system is shock-proof.

 
          
We have just lost another tree - a dead pine.  Above is the garden a few years ago (Evie, our Norwich terrier, in shot), below M. Beaumann gradually demolishing the tree.

After the event - piles of wood neatly stacked up with more logs to follow when the trunks is split and sawn in a week or two.  Plenty of light but lots of trees and bamboo still around for shade and interest, especially when the bamboo sways in the wind.

 We have also had the pleasure of , a long weekend visit from Jeff and Fi - others of the family will follow over the summer.



 

The two  tortoises seem to be in good shape and get through a lot of lettuce!




Early June

By [email protected] (Jon North)


As summer warmth arrives, we look forward to family visits, and continue to read and listen to podcasts.

My love of reading goes way back - Just William and Arthur Ransome when young, phases of Victorian classics more recently, often linked to television adaptations.  As time passes I often gravitate to stories linked to real events, for example Snow falling on cedars  by David Guterson.  Its background is the exclusion of  Japanese Americans from the US in the fevered atmosphere following Pearl Harbour.  Listening to a fascinating podcast series  History's secret heroes on BBC Radio 4 brought this vividly back - the direct experience of families suffering such devastating treatment - displacement and internment in awful camps - was only partly mitigated by the later compensation and apologies of American administrations (a bit of a contrast, all the same, to the recent frequent and reluctant acknowledgement of maladministration and mistreatment of people in the UK).

On the similar theme, paraoia leading to unjust treatment of racial minorities in wartime, I've recently discovered Eva Ibbotson, whose novels (with admittedly romantic themes) strike chords for me with music, Austrian and Jewish threads.  The last I read, twice now, is A song for summer in which among other things a man, an eminent musician called Marek,  with Czech origins, ends up interned on the Isle of Man as some of my good friends were .  An extraordinary collection of human beings - members of the Amadeus Quartet were among those rumoured to have met there, and the internment camps also featured on a podcast we've just listened to - so I think it's worth quoting at length from this well-written account:

The poor British, waiting for invasion, standing alone against Hitler, succumbed not to panic, for that was not in their nature, but to paranoia. Nazis disguised as parachuting nuns were reported daily; old ladies with a chink in their blackout curtains were taken away for questioning – and now, in an act of madness, they began to round up and imprison just those ‘enemy aliens’ who had the most to fear from Hitler and Mussolini, and who had been engaged in the fight against Fascism while high-ranking British diplomats were still taking tea with the Führer and admiring the fact that the trains ran on time. Austrian and German professors were hauled out of lecture rooms, doctors out of hospitals, students out of libraries, told they could pack one suitcase and taken away by the police. Italian shopkeepers, German bakers who had spent years in Britain, disappeared within an hour, weeping and bewildered. Spy mania was everywhere; even one traitor among the thousands of innocent refugees could not be tolerated. The camps they were taken to were not in fact concentration camps, the Tommies who guarded them were no Storm Troopers, but the bewilderment and anguish, particularly among older refugees, was appalling. Leon [another character in Ibbotson's book] happened to be at home when two policemen came for his father. He lied about his age... and was taken to an internment camp consisting of a large number of seaside boarding houses on the Isle of Man.

The views of the landladies evicted from their villas – from Bay View and Sunnydene and Resthaven – are not recorded. Forced to leave behind their garden gnomes, their monkey puzzles and brass plates offering Bed and Breakfast, they were replaced by rolls of barbed wire, observation towers and iron gates. Facing the sea but unable to reach it, cut off from all news of the outside world, the inmates wandered about, guarded by soldiers with fixed bayonets, trying to understand the nightmare that had enveloped them. Housed in villas stripped of everything except camp beds and a few cooking utensils, the men assembled each morning for roll call and the rations which they had no idea how to cook. And each day more confused ‘enemy aliens’ arrived – Nobel Laureates, old men with diabetes, social democrats who had been tortured in the prisons of the Reich and had come to Britain as to Mecca or Shangri La.

Although it was obvious to even the thickest British Tommy that Hitler, if he had been relying on these men for spies, would have little hope of winning the war, the net which produced such a strange catch did just occasionally dredge up a genuine Nazi. When this happened, the results were unfortunate. Immolated in boarding houses with at least a dozen Jews whose suffering at the hands of the Nazis had been unspeakable, a man polishing his boots and saying that Hitler would soon overrun Britain did not have a happy life. He was refused his rations, ostracised, the blankets stolen from his bed. Most of them capitulated and learnt to hold their tongues, but one of them, a handsome blond young man called Erich Unterhausen, continued each morning to polish his boots, give the Nazi salute and say, ‘Heil Hitler!’ At least he did until a rainy morning in late July when he flew suddenly out of the first-floor window of Mon Repos, bounced off a privet bush, and landed on a flower bed planted with crimson salvias and purple aubretia. He was not hurt, only bruised, which was a pity, but the news, spreading quickly through the camp, was regarded by the inmates as the first glimmer of light since the fall of France. Needless to say, the perpetrator of this brutality was immediately marched off to the camp commandant in his office, where he admitted his guilt and was entirely unrepentant. ‘If you don’t get rid of people like Unterhausen you’ll have a murder on your hands,' he said, confusing the commandant with his flawless English. ‘Rounding up accredited Nazis with these people is madness. You know perfectly well who the real Nazis are in this camp – I’ve only been here a day but I can tell you: Schweger in Sunnydene, Pischinger in that place with the blue pottery cat – and the chap I threw out of the window. He’s the only one who could possibly be a spy, and the sooner he’s in a proper prison the better – anyone worth their salt could signal from here. As for Schweger, he’s in with some hotheads from the Jewish Freedom Movement and they’re starving him to death.’

Thank you for telling me my business,’ said the commandant, and was disconcerted by an entirely friendly smile from the tall, broad-shouldered man with the scar on his forehead. He looked down at the papers that had come with the prisoner. ‘You say you’re a Czech.’ ‘I don’t say I am; I am,’ said the prisoner unruffledly. ‘So what are you doing here? The Czechs are our allies.’ Marek was silent. The Czechs might be allies now, but before, at Munich, they had been betrayed. ‘Your name is German.’ ‘Yes. I came over in a fishing boat; we were strafed and capsized outside Dover. I got concussion. Apparently I spoke German to the dogs.’ ‘The dogs?’ ‘There was a whole compound of stray dogs which the Tommies had smuggled out of France when they were taken off at Dunkirk – you’ve never heard such a racket. They put my stretcher down beside a big black and tan pointer. My father’s hunting dogs were always trained in German and when I came round –’ He shook his head. ‘It doesn’t matter about me; they’ll sort it out. I’m quite glad to be out of the way till the Czechoslovak Air Force reassembles. But Unterhausen must go, and the other Nazis – and old Professor Cohen must go to hospital – the one who stands by the barbed wire and gets his beard caught. He’s very eminent and very ill – if he dies there’ll be questions asked. They’re being asked already in Parliament and elsewhere.’

Is there anything else you’d like to tell us?’ sneered the second in command, a brash young lieutenant, but the commandant frowned him down. A humane man, he knew full well that he was caught up in one of those administrative muddles that happens in war and can claim lives. It was to him that Marek spoke. ‘Most of the people in here understand what has happened – that there was bound to be confusion after the French surrendered, that we’ve got mixed up with the parachuting nuns and that it won’t go on for ever. But not all of them. There have been two suicides in one of the other camps, as you no doubt know. This whole business – interning the people who have most of all to fear from Hitler – is going to be a pretty discreditable episode in retrospect. What’s more, if Hitler does invade, you’ve made it nice and easy for him, corralling all the Jews and the anti-Nazis together so he doesn’t have to go looking.’ ‘... the internees (from whom all news of the outside world was forbidden) ... [saved] the newspapers that came wrapped round their ration of kippers... [to] keep in touch with the stock exchange.

Other familiar faces now appeared in the throng: the erstwhile flautist of the Berlin Philharmonic; a copying clerk from the office of Universal Editions; Marek’s old tailor from the Kärntnerstrasse . . . and all the time more people appeared, overjoyed by the news of Unterhausen’s fate. But Marek did not intend to waste too much time on swapping stories – . ‘There’s a piano locked in the basement of the Palm Court Hotel,’ he said. ‘We can have it. It’ll have to be moved into some kind of hall or shed – anything. We’re going to give a concert.’ ‘Of what?'‘There’s only one answer to that, don’t you think?’ ‘Johann Sebastian Bach,’ said the flautist. Marek nodded. ‘Exactly so.’ For a moment he raised his eyes to heaven, seeking guidance not so much from God (whose musicality was not well documented) as from his erstwhile representative on earth, the Kapellmeister of Leipzig.


I have been musing why my sympathy and emotions are so strongly stirred by such injustice - after all, I have had a comfortable life in entirely British surroundings give or take a splash of Quakerism and some marvellous friends as role models, but that is how it is and I shall continue to be drawn by underdog tales.

This has turned out to be  a single subject blog, but the accompanyjng pictures are the usual mixture from daily life!





A roundup

By [email protected] (Jon North)


 Sometimes there are carpets of poppies everywhere, this year fewer but this field right next to our car servicing garage kept catching my eye and I caught it just in time while Mary booked the car in for its service.  This post will be a bit of a roundup of things I have posted on Facebook.

A while back I wrote about the plight of migrants and someone thought I might have been referring to our situation.  Of course not - we are incrdibly lucky to have landed on our feet after Brexit thanks to a very fair-minded French government and bureaucracy.  But I am ever more angry and concerned about people who have gone through unimaginable hardships to reach France and the UK, and then find in the UK at least that they are vilified and stranded.  I have been reading the various writings of Sathnam  Sanghera whose disssection of Britains imperial past is trenchant.

His autobiographical The boy with the topknot is among other things a powerful reflection on mental illness in his family; our own experienceshave echos here, and among other things his description of the slow realisation that things are wrong, attempting to rationalise the painful, is something we have known.  I have been fascinated also to see a bit from the inside the experiences of Sikh immigrants to Britain and their cultural context, including marriage exepctations and the complex place of women in his stories.  His novel Marriage material is an excellent read.

Before I pass on to lighter topics, the ongoing inhumaanity of the various refugee themes in the news is not the only awful and distressing thing we hear of and read about daily - the plight of British subpost-people wrongly prosecuted by the Post Office because of long-denied computer problems, the infected blood scandal or the plight of carers forced to pay back benefit overpayments (this links closely to my lontime work with carers through Crossroads) and the ongoing inhumanity around post-war immigrants (from the Windrush etc.) are only somr examples of things which should havce been sorted out long ago but have been swept under bureauratic carpets again and again.  I have often said that Dickens and his Circumlocution Office (in Little Dorrit) seem still  alive and well.  Apart from deliberate inhumanity, there are plenty of ways of mistreating people through shoulder-shrugging neglect - Dickens' "nobody knew" is classic now as then.

Our houshold chugs on, looking forward to a family visit here in a fortnight.  We are daily grateful for Edmond's liveliness at the age of 15!  After a thorough overhaulof the roof, more complex than we had expected, our friendly factotum M.Beaumann has continued his care of our premises with a splendid cleanup of yard and terrace and is now starting on a new front fence.  IN the caourse of this he has discovered some very ancient (well, as old as the house, around 50 years) mains electrical wiring which is still all too live.  A better casing and leaving well alone are the answers.  And our lawnmower is finally going to be cordless!

Lots of my Facebook posts are links to photos published daily in the Guardian, plus th odd cartoon that takes my fancy.  Also photos from French places we know well - the area around the Pic Saint Loup, other parts of our local Languedoc, and the Drôme where our old twin town Die is located, for example.

A night shot of the Pic Saint Loup with boar passing by
by an excellent local photographer, Régis Domergue

Although we have limited opportunity to watch sport on tv (Mary andn I are both gravitating more to radio and podcasts these days - for her it makes knitting easier!) we follow football and cycling keenly at least by results and reports, and I am fascinated to see that Liverpool have appointed another monosyllabic manager, Mr Slot (Arne), to replace the excellent Klopp (Jürgen).

Our language groups (reading and speaking in French with some French people trying their English) continue twice a week, with often excellent shared lunches thrown in - as the weather warms up we can start to  eat outside.

             

We read a lot - among authors we both enjoy are Eva Ibbotson, whose romantic novels with strong links to her Austrian background are beautifully written and full of well-observed characters; and an old favourite, Sara Paretsky whose V.I.Warshawski novels set in Chicago and around.  Sara Paretsky is an avid campaigner for women, and her fearless public profile is simply admirable.

To end, a cartoon and another poppy




Sagas all round

By [email protected] (Jon North)


Sagas have been on my mind in several ways since Easter.  But first, exciting times in the tortoise world.  We were given a new (to us) young one a few weeks ago, and he had been living in a cage inside until the weather warmed.  It has now done so and today the larger tortoise emerged from its hibernation in the enclosure in the garden.  I thought its was a lump of mud at first bat, as you can see, it has scrubbed up nicely and the younger one has joined it in the paddock!




The first saga has been of the literary kind, the Forsytes which have occupied our dvd viewing and my re-reading for the first part of the year.  My name, Jon, was chosen by my dad (who was emotionally attached to the books) because of the young man Jon, the youngest Jolyon of the family.  I think my father was rather muddled because he also professed an admiration for the 'man of property' epitomised by Soames who was on the 'other side' of the family.  Never mind, the story was worth reading again, and the two tv productions  are both good in theier different ways.   But the third part of the 9 volumes, going up almost to Galsworthy's death in the early 1930s, were never dramatised as far as I know and I like them even better than the Victorian and Edwardian ones - a much more nuanced examination of love and marriage, with a dramatic view of mental illness thrown in.


Two less welcome 'sagas' lately have been to do with roof and health, both happily resolved.  You'll recall perhaps that the roof was repaired last year by a firm which promised excellence and, as we thought, delivered it.  It turned out that what they did not do was the issue - first neglecting to tell us of very old insulation which we've now had replaced, and secondly failing to fix any but the end tile in a whole ridge.  Of course we could have no idea that there were problems - in the second case the rattling of tiles in the wind (after a long period of fairly calm weather) told us sometehing was amiss; and luckily our regular house and garden person Monsieur Beaumann was able to sort both.  It turns out that he has long been a roof specialist - if only we had known...

Our conversation groups still active, with new arrivals from Chicago




The health saga is not, for once, my various aches and pains but the long-running one of Mary's heart and blood (since a minor stroke in 2010), very well surveyed but needing careful supervision.  Not for the first time we have been glad of the very local A&E hospital, all built since we came here.  In the past week the care has involved feeet up and suppport stockings which are too hot for comfort when the weather warms up.

The warm srping is a lovely time for flowers, so here are a few more from our garden.






And finally a word of praise for one of the few bits of the British administration that actually seems to work.  With luck and a following wind my new passport should arrive soon, and like Mary's it was efficiently and quickly dealt with despite Brexit horror stories elsewhere.






 

Springtime with rain

By [email protected] (Jon North)

I have written before about the dry conditions here.  But when it rains it really does.  Last week we had 60 mm in a few hours, and another 40 at the weekend, but this morning we are back to bright sunshine and blue skies.  The photo above was taken a few days ago, a pink evening sky which we see quite often.


We have been a bit concerned about Edmond, 14 years old and with dodgy kidneys.  But we've just returned from the vet, and all seems to be fairly well after a blood test and with a bit more diuretic - desmite occasional wheezes, he is lively and has put on a bit of weight.  We hope he will be with us for a little whhile yet.

After our trips to the UK we have mostly stayed home and slotted back into our regular activities.  These photos of our regular Tuesday French conversation group were taken by someone elsse for once, so I'm in one or two!

After a good excursion on DVD into the works of Mrs Gaskell we have passed onto John Galsworthy, not just through 2 tv series of the Forsyte Saga but, for me, rereading the books.  I started on the paper versions but have passed over to the Kindle (lighter to hold in bed).  The Forsytes have a particular association for me because I was called after Jon, son of young Jolyon F.  My father pretended to admire the 'Man of Propeerty' characterised by Soames but much about Dad seems to me to have been nearer the softer, more emotional other side of the family, the Jolyons and their ilk.  Rereading for the 4th or 5th time I find much in the detail of the written version which can only be hinted at in a tv adaptation, and in the end it is the characters of Soames and his daughter Fleur which dominate the first 6 of the 9 books in the saga.  Of the final 3, which are far less well-known, I may write more anon.

Since we returned from the UK for the second time this year, we had one very enjoyable outing to see our friend Barry who lives in these rural surroundings in the area called the Laurargais south-east of Toulouse.  Barry is South African in origin but had long re-acclimatised to England where I met him in the Canonbury Chamber Choir in the 1970s.  He and his partner Peter (now sadly no longer alive) moved to France with their interest in antiques, and the house is a living reminder of those interests.  

A few garden pittures to end with.  Spring is with us, and the clocks go forward this weekend.





Home and more or less in good shape

By [email protected] (Jon North)

 

The light greeting our return

It is lovely to be back in the bright, light Languedoc.  Don't get me wrong, we had a very good trip (apart from the first few hours when the motorways here were closed by prefectoral decree, because of farmers' protests - 5 hours to get near Lyon then a speeding fine for going 8 km/hr too fast in our relief at escaping the jams).  We spent excellent days with our family, saw interesting things and ate and drank well.  Our return trip, despite threats of farmers' blockages) was calm and trouble-free.  We have established a simple, untiring driving routine, turn and turn about at the wheel with short breaks for fuel and snacks, and the hotels we used were convenient and reasonably comfortable.  

But on return our  wifi was (literally) on the blink, and we waited 3 days for the engineer to arrive.  The new world of telephones, internet, tv and radio has changed everyting.  Like most people, a few years ago we had a fixed telephone line through which an adequate internet connection could be made.  Then fibre arrived, and everything became much faster.  Above all, the internet require more and more capacity to keeep up with graphics and so on.  Now, everything comes in theory through the fibre-optic cable, much faster - if it works.  If not, there is no longer a fixed phone line, no internet and only the old tv signals via the aerial (if they work at all - I have not checked).  The tv satellite dish no longer works for British tv.  I am a sad old geezer who has not taken on board the brave new world of mobile phones which our children and theirs swear by.  For one thing the screens are too small - I love my iPad and computer whhich my old eyes can read.  And of course, we pay for the service we are not getting.

Goodbye to Jeff and Fi at the end of a marvellous week together

Since I started to write this a very helpful man arrived, fixed up our internet and left before we had a chance to make sure our phone line was working.  It was not and is not.  So now we decide whether to abandon our 'landline' phones and tell everyone to call on our mobiles, or try to get things straight  for the time being it's the mobiles or nowt.  Watch this space, as they say.  Above all,  do not phone 04 67 85 52 12 - you may leave a message which is never heard.

Until we arrived home, the only shock of our return trip was seeing the appalling mess strewn across the roundabout as we left the A9 here  for the main N113 road.  At the risk of being a serial moaner, I was shocked by the piles of rubbish left behind by the protestors.  I think we have always been in favour of fair prices for farmers - we enjoy good food and have the privilege to be able to pay for it.  So I support the agriculteurs in their demands for better conditions, and for proper rewards for local produce rather than cheap imports.  we love our local greengrocer who knows his local growers personally and guarantees freshness.  I just cannot understand why protestors should not clear up their mess.  We saw the final traces being bulldozed and shovelled away as we drove around yeterday, presumably a week or more since the first demos.  A lot of work for people not at all involved in the original  protests.



Anyway, this blog was among other things a way of sharing the odd notes I post on Facebook most days with you who do not use that dodgy medium.  Here are a few recent ones.   Letter to the Guardian: “I am grateful to His Maj for his encouragement to men to have the check (King Charles ‘doing well’ after prostate treatment, 26 January). I visited my GP and was examined, blood-tested and referred to my local NHS hospital in March 2022. I have now waited 22 months for an appointment. And waited etc. Of what exactly is he an example? (John Dinning, Cardiff)”

Another letter to the Guardian: ”Your article on a reproduction of the Bayeux tapestry (29 January) should have mentioned the copy in Reading Museum, sewn by 35 women from Leek in the 19th century. It’s beautifully exhibited in the lovely town hall, with free entry. (Plus older Londoners can travel there on their Freedom Pass on the Elizabeth line.) A great day out. (Rosie Boughton, London)”

And part of yet another letter to the Guardian, which rings strong bells: “…the huge issue for me, and many other drivers according to recent RAC research, is the dangerous dazzling effect of higher, brighter LED lights. I am an older driver, and acknowledge this is likely to impact on my night driving, but my optician has assured me that it’s not me, it’s the cars. I find night-time driving, if there is a lot of oncoming traffic, utterly terrifying, and feel trapped at home on winter evenings. It’s time for a close analysis of accidents attributed to dazzle, and legislation to ensure the safest possible headlight design and position. (Sheila Hutchins,Tregony, Cornwall)”


This on my mind very often: the face of local decline and fall. “Many councils are barely able to carry out their statutory and growing responsibilities in adult and child social care, let alone engage in the kind of “discretionary” spending that enhances the life of their communities. Last week, facing a rebellion by Conservative MPs fearful of further cuts in an election year, Mr Gove made an extra £600m available to local authorities. Useful but nowhere near enough.” The sign of timid, scared central government is to keep ever tighter central control over local spending.

Then, Jurgen Klopp is retiring as Liverpool manager - what a loss, but we all get older - he certainly deserves the rest of his life.  And Nottingham is among many local councils nearing bankruptcy - how can this be alowed to happen?



Photos from our travels

By [email protected] (Jon North)

More from our UK trip this week, at the Yorkshire Sculpture Parrk and in Uttoxeter


















Travellers' tales

By [email protected] (Jon North)

We are in the UK for the second time since Christmas, this time visiting Jeff and Fi in their new home in Uttoxeter. Like the first trip to Sam and Sas in Wirksworth, over new year, we are driving which has all sorts of advantages. However, this time things are complicated by the French farmers' protests. We set out from Lunel at 7.30 a.m. last Wednesday, but what should have been a quick 2-3 hours' journey to Lyon turned into 9 hours, and we eventually arived at our hotel in Cambrai around 9.30 in the evening (original plan, before 5 and in daylight - we are frequently caught driving after dark however much we try to plan to avoid it). 

Most of the motorway closures were officially organised by the Préfectures, so we drove most of the way south of Lyon on routes nationales, interesting but much slower. After that we just trundled on fairly empty motorways, but continuing on Thursday we were held up again by closures even on the short stretch to Calais and the tunnel. But there was no major holdup and we arrived at our friends Elizabeth & Nigel in good time, well tucked away in rural Surrey. 

 Despite the tedium of the Wednesday morning journey we were glad to get a different perspective and view of the northern Rhône vineyards around Crozes Hermitage whhich we have known for many years on occasional visits. Later on the town of Cambrai seemed interesting, with a splendid redbrick railway station just opposite our hotel - we resolved to exlor in the future when less pressed by travel unknowns. And the hotel itself was, as we found out on our earlier visit, very comfortable and friendly, with an excellent and welcome range of bar snacks to make up for the lack of a full meal. 

We have gravitated towards the Logis de France chain over many years because it always welcomes pets, and although we left our current dog Edmond in kennels on these trips the familiar ambience still attracts us. The farmers' protests look likely to continue, and we don't know if we'll be delayed on the way home next weekend. But luckily we have plenty of time. 

Our first day was delayed by official motorway closures, but more often the hold-ups are caused by long slow queues of tractors, one of which we saw heading south as we set out for Calais on Thursday. Shortly after that the authorities closed the A26 motorway for a short stretch, but we had a short journey and good alternative routes to the Tunnel. So after out overnight with friends on Thursday we drove at a leisurely pace to our home for the week in Uttoxeter, where we are very comfortably housed by Jeff and Fi who find a bit of time for us despite their busy working lives. We saw Sam, Sas and Ben for lunch on Sunday and shall see other friends and visit Wirksworth again before we leave for home at the end of the week.

 

Travellers' tales

By Jon North ([email protected])

We are in the UK for the second time since Christmas, this time visiting Jeff and Fi in their new home in Uttoxeter. Like the first trip to Sam and Sas in Wirksworth, over new year, we are driving which has all sorts of advantages. However, this time things are complicated by the French farmers' protests. We set out from Lunel at 7.30 a.m. last Wednesday, but what should have been a quick 2-3 hours' journey to Lyon turned into 9 hours, and we eventually arived at our hotel in Cambrai around 9.30 in the evening (original plan, before 5 and in daylight - we are frequently caught driving after dark however much we try to plan to avoid it). 

Most of the motorway closures were officially organised by the Préfectures, so we drove most of the way south of Lyon on routes nationales, interesting but much slower. After that we just trundled on fairly empty motorways, but continuing on Thursday we were held up again by closures even on the short stretch to Calais and the tunnel. But there was no major holdup and we arrived at our friends Elizabeth & Nigel in good time, well tucked away in rural Surrey. 

 Despite the tedium of the Wednesday morning journey we were glad to get a different perspective and view of the northern Rhône vineyards around Crozes Hermitage whhich we have known for many years on occasional visits. Later on the town of Cambrai seemed interesting, with a splendid redbrick railway station just opposite our hotel - we resolved to exlor in the future when less pressed by travel unknowns. And the hotel itself was, as we found out on our earlier visit, very comfortable and friendly, with an excellent and welcome range of bar snacks to make up for the lack of a full meal. 

We have gravitated towards the Logis de France chain over many years because it always welcomes pets, and although we left our current dog Edmond in kennels on these trips the familiar ambience still attracts us. The farmers' protests look likely to continue, and we don't know if we'll be delayed on the way home next weekend. But luckily we have plenty of time. 

Our first day was delayed by official motorway closures, but more often the hold-ups are caused by long slow queues of tractors, one of which we saw heading south as we set out for Calais on Thursday. Shortly after that the authorities closed the A26 motorway for a short stretch, but we had a short journey and good alternative routes to the Tunnel. So after out overnight with friends on Thursday we drove at a leisurely pace to our home for the week in Uttoxeter, where we are very comfortably housed by Jeff and Fi who find a bit of time for us despite their busy working lives. We saw Sam, Sas and Ben for lunch on Sunday and shall see other friends and visit Wirksworth again before we leave for home at the end of the week.

A new year with wine - a post for everyone, not just wine buffs!

By Jon North ([email protected])

Solutré, near Macon

Some of my friends are not really interested in wine and tend to skip these blog posts.  So before you  do that this time I will just add a note about the fascination for me apart from the stuff in the bottle or glass.  As you  can see from the photos, scenery is one of the many attractions.

 

Châtillon-en-Diois
 

 Wine exploration has shaped our visits to France ever since we started regular trips here 30 years ago.  If you look at the map of France, relatively small physical areas are taken up by vineyards, and you are much more likely to find yourself in logging forests or endless of cereals and grass, like the open horizons and rolling slopes of the northern plain we drove through on our way to England at the end of last year.

Beaujolais
 

But we hunt out the vineyards not just for nice wine but for the interesting people and scenery we discover, get to know and love.  I think of the beautiful villages just near us in Lunel or north of Montpellier around the Pic Saint Loup; or of the vineyards of the Entre Deux Mers area south of Bordeaux - the two 'seas' here are the rivers Garonne and Dordogne as the flow northwards to join together as the Gironde at Bordeaux; or of the cossetted iconic hilly  country of Beaujolais and the Côte d'Or in Burgundy and the breathtaking rocky beauty of the Rhône valley, whether near the great river at Condrieu and Crozes Hermitage just south of Lyon or, one of our favourite places, Beaumes de Venise tucked under the Dentelles de Montmirail, once best known for its fortified sweet muscat wines but now among the best red wine labels.

 

While I always liked wine, it was meeting people who were and are involved in making it that has captured our  attention.  Jean-Michel and Christine Jacob have just retired from their Hauts Côtes de Beaune vineyard and J-M will doubtless now have more time for his beautiful  art/sculpture, two pieces of which adorn our hallway.  Jean-Philippe Servières, our best local winemaker near Lunel, would probably like to retire, having had precious little chance of a holiday over the past 20 years; and Benoit Viot of the wonderfully-named Chemin des Rêves north of Montpellier has gone from small beginnings - we bought our first wines sitting in the kitchen in Grabels - to becoming president of the prestigious appellation Pic Saint Loup.  

 

We have got to know many other landscapes in the Languedoc, Rhône valley, the Diois (where twinning opened our interest in the Rhône Valley and beyond), or the wide variety of landscapes we have explored across the south - the wild hillls of the Corbières, coastal étangs around the Mediterranean where Picpoul de Pinet is produced, or tiny appellations with unusual grapes like Fronton north of Toulouse.  We discovered Seyssel in the far north of the Rhone valley towards Geneva thanks to musician friend and mentor Stéphane Fauth (and his wife Chantal whose cooking helped to 'oil' the many music courses we  shared).  And we have started to discover the Loire Valley, one of the longest river courses in France which always confused me because the river flows north a long way, just a short distance from the south-flowing Saone and Rhône, before turning left and west at Orleans towards the Atlantic; we got to know various bits of the river - Sancerre, the Touraine, a stretch towards Angers, on various drives south from different channel ports and thanks to good friends Sue and Ian who have a house south of Tours.


Fronton


New year's blog

By [email protected] (Jon North)

 


Our all-too-brief stay with Sam and family is over halfway through as I write - lovely and we shall miss them but the weather began - let's say - sub-optimal (grey and wet, though not cold).  But new year's day dawned with blue sky and sunshine.

Before we left home we indulged in Dickens DVDs, 2 sets of Little Dorritt, one excellent, the older dismal  (I once liked this version...), and then a surprisingly good Martin Chuzzlewit (Tom Wilkinson who played an excellent Pecksniff has just died).  The casts of all three are mostly outstanding, but the earlier Little Dorritt despite iconic actors like Alec Guinness and Derek Jacobi seemed wooden and stilted.  Not helped by a weird 2-part presentation which separated Amy's view from Arthur Clennam's.  Claire Foy's heroine is heaps better than Sarah Pickering, who seems to have done nothing else in film - Dickens writes a low-key character but not that low key.


I was encouraged by an Eng Lit friend to read most of Dickens on train journeys commuting to London, and still love the books - Mary came to them after she met me, and I remember buying a job-lot on £1 paperback classics to  round out our library.  Thinking over the whole series, the theme of financial insecurity and ruin, together with the vital importance of inheritance, is a strong common thread.  Dickens' father was in debt and spent months in the Marshalsea, so  CD knew of what he wrote.  Few punches pulled either - the suicide of Merdle with a penknife in Little Dorritt is memorable in book and on film.  But other books like Great Expectations - the title gives the game away -  Bleak House with its fog of law-courts, A Christmas Carol of course (we have just seen a DVD with the splendid Michael Hordern hamming it up), Our mutual friend with its heaps of valuable dust, all have money and greed at their centres.


In between whiles I have caught up with Ken Follett's latest Kingsbridge novel, this one skipping centuries forward to the  Napoleonic era, and yet another fictional rerunning of the battle of Waterloo.  The moments where a character tells another rather artificially the name of such and such a farmhouse or Quatrre Bras crossroads does jar slightly, but Follett like Bernard Cornwell has done his research, and Follett is respected enough to write about cathedral construction in the rebuilding of Notre Dame Paris just as Cornwell has written a decent factual account of Waterloo alongside the romantic version.  In my more idiotic moments I wonder how Sharpe, and a Follett hero, acting as adcs to Wellington might have bumped into one another!

We are having a great, relaxed family time here, and trying to live day by day before we drive back.  Having heard some of the awful horrors and knife-edge adventures of Sam & Sas's family holiday (they did ultimately have a good time with close friends) across the world we feel glad to have chosen more local, staid journeys, and in our own car.  It does of course strike us that the distances and complexities of air travel are inevitable when people fall in love with others from New Zealand or have great friends in the USA.  These things tend to conflict with environmental considerations.  But good plans tend to involve meeting family and friends in France, in spacious well-equipped gîtes as we did with Judi last summer.  Sam and I have been discussing areas of France to meet in, and in any case we plan to visit friends in Normandy in the summer.

This is to wish all our friends and family a hapy and healthy 2024.