Dehumidifier

It's important for devices to have internet connectivity so the manufacturer can patch remote exploits.

Feedback: working state, mobile rollovers, and IP filtering

I get questions from people who read my posts and sometimes I answer them in a post. This is one of those times.

...

Someone read my "war room" post and picked up on the part where I spent several weeks trying to get to the bottom of what turned out to be "kill -9 -1" nuking the world on a bunch of FB machines. They asked how I keep track of things during that time, what my working memory is, and is it paper, text files, IRC messages, or just remembering things.

The answer is: back when I used to do that kind of thing, I found it very useful to have a "MMDD" (hey, I'm in the US, so just pretend it's the back half of an 8601 number... you'll see why...) directory, and inside of it, I'd have some short names for whatever I was dealing with that day.

That means today would be 0629, and then something inside of it might be "fbar" or "rsw" or "webi" or something. It was just something to keep all of the crap together and yet away from other things I was doing that day, while also distinguishing it from other times I might've done a "fbar" or "webi" or whatever project, if that makes sense.

These would just live off my home directory, and yes, it would fill up with crap, but I'd batch them up when a year ended. I'd take 01xx through 12xx and move them into "2013" when 2014 began, for instance. So, as you can see, they *are* ISO-8601 dates, sorta, but it's ~/YYYY/MMDD/foobar once it's old, and it's merely ~/MMDD/foobar until then. This is a balancing act between speed and having my homedir fill up with tons of ancient crap.

Any time I needed scratch space for output from things, that's what I used. That might be the output from a bunch of sweeps over the fleet to look for anomalies. Let's say I ran a command that sshed into a few hundred thousand hosts to look for common items in the logs. The stdout/stderr from that would probably be there so I could hit it up multiple times without asking the job runner system for another copy. It's a lot faster that way.

But in terms of troubleshooting things and dealing with permutations, it's hard to beat paper, and I usually end up with some kind of "lab notebook" at any job I work. I can think of examples of those going back over 20 years. The only problem is that the stuff in them really properly belongs to the company so I don't tend to have them after the fact. A great many pages of context have gone in the shredders over time, and not because I didn't ask. I've asked if anyone wanted them, and the answer has always been no.

There were also the internal posts about things, and then running commentary on IRC channels, but those tend to be useful after the fact, or for getting help from other people. My own state-keeping tends to stay on something close at hand and (usually) physically tangible.

As for those <date>/<term> directories, some of them turned out to be rather handy after the fact. A lot of times, something would happen, and then time would pass, and it would break *again* in exactly the same way, and I could think "didn't we deal with these people already?", dig around, find something from six months earlier, and go "AHA!". Now armed with the date, I could pull up the right posts, IRC logs, group messages, graphs, or whatever else.

Considering how much random crap I dealt with in any given day during my time "in the barrel" (kids, ask your parents), that was the only way to make any sense of it later. Without stuff like that, by the end of the week, I'd have no idea what I had been doing on Monday or Tuesday. That's how bad the load got at points.

...

Someone else wrote in and asked if I could do something to improve the overflow calculator thing I hacked up last week. It wasn't particularly usable on mobile, and that's definitely true. I wrote it on a laptop and paid exactly zero attention to what it would look like on a weirdly small screen that's usually taller than it is wide.

It was a fair point, so I took a whack at making it suck slightly less. It's probably still terrible, but in the specific case of me holding my phone upright, it looks halfway usable now. You're no longer forced into "flyspeck-3" mode with the fonts, at least.

CSS is such a mess.

...

I occasionally hear that the site is unreachable from one spot or another. This almost certainly comes down to IP filtering on my part. Perhaps you've read about the influx of web weasels who are scraping the living shit out of everything remotely URL-shaped they can get their hands on. My stuff is certainly in that space, and they show up here regularly.

Besides that, there are also a number of networks which send nothing but straight-up abusive traffic. This is where you look at the logs and see stuff like them using every single IP address in a (v4) /24 to scan for random webshit vulnerabilities. It's like, nice job, fucko, but I don't run PHP here. Anyway, that's pretty solid evidence that a given network is not worth hearing from ever again, and so into the filter it goes.

A whole lot of this happens automatically just based on whatever traffic is sent this way first. Send bad traffic and meet the bit bucket. I don't even find about most of it since it's constant and utterly uninteresting.

Then there are the people who run feed readers which don't play nicely. As previously described, they will get a handful of chances to slow down with 429s, and then if the web server feels like those aren't having an effect, it'll just ignore the traffic for however long it feels like. Again, I'm also not in the loop on this sort of thing. It's all automatic.

Finally, there is a new rub. I taught myself how to ingest BGP data, and so can now trivially go from an IP address to the autonomous system number of whoever's advertising it, including overlapping advertisements (like a /24 out of a bigger /20). Then I wrote something that will dump out an entire AS, and it's not hard to imagine what I do with that.

Enough bad behavior from a host -> filter the host.

Enough bad hosts in a netblock -> filter the netblock.

Enough bad netblocks in an AS -> filter the AS. Think of it as an "AS death penalty", if you like.

As long as clueless network operators continue to let abusive customers bounce around thousands of dynamic IP addresses with not so much as a hint of SWIP data, those entire net blocks will find themselves unable to get to large swaths of the net. That's just how it is, and it's nothing new. Send crap, meet /dev/null.

Dealing with what the web has become is exhausting.

Laser Danger

To combat the threat, many airlines are installing wing-mounted spray bottles.

Talks announced for KEYCONF25 - get your tickets!

By Alexander Schwartz

The talks and speakers have now been announced for Keycloak’s Identity Summit. Save your spot today!

📍 KEYCONF25 – taking place in Amsterdam on August 28th, 2025!

This year’s edition of the Keycloak Identity Summit promises more content, more connections, and even more opportunities to engage with the people shaping the future of identity and access management.

Talk highlights

Our talks highlight the broad spectrum of the Keycloak ecosystem: How to run it with confidence and securely, how extend it, and how to apply it in existing and new scenarios.

See below for a short-list of topics we cover:

  • Human and Workload Identities: Bridging the Gap with Keycloak

  • AI Meets Identity: Managing Keycloak with Natural Language via MCP

  • Observability in Keycloak: Where Does It Hurt?

  • The Event Sorcerer with the Keycloak: The Battle against Dynamic Configuration

  • Protectors of the Realm: Breaking and Fixing Keycloak Configurations

A great place to network

Networking lunch

Our extended lunch break is designed to help you meet fellow attendees, swap ideas, and build meaningful professional connections in a relaxed setting.

Meet the maintainers

We will have a panel discussion with the maintainers. Ask your questions live and get a response from the experts!

Business drinks

Stick around after the last session for informal networking over drinks. Want to sponsor this year’s Business Drink? Get in touch with us—we’d love to partner with you!

Get your ticket and join us!

Whether you’re a developer, architect, security specialist, or product owner, KEYCONF25 is your opportunity to gain knowledge, grow your network, and contribute to the future of the Keycloak community.

📅 August 28th, 2025

📍 Amsterdam, Netherlands

Tickets are now available at keyconf.dev – secure your spot!

Want to get involved?

Let’s continue building a stronger, smarter IAM community—together.

We can’t wait to see you in Amsterdam!

Service affecting STIR/SHAKEN changes (updated)

By Simon Woodhead

Back in 2020 when we went live with STIR/SHAKEN signing in the US, we published a matrix of the various levels of attestation we’d apply to calls. This now needs to change as the FCC has refined the guidance and…

The post Service affecting STIR/SHAKEN changes (updated) appeared first on Simwood.

Beware: the Fox is in the Hen House

By Simon Woodhead

One of my real frustrations with this industry is the propensity to talk about issues rather than act. Talk sells, acting costs. I remember back when we were pioneering research into voice fraud and making it available through open-sourced data…

The post Beware: the Fox is in the Hen House appeared first on Simwood.

Calculating rollovers

I've long had a list of "magic numbers" which show up in a bunch of places, and even made a post about it back in November of 2020. You ever wonder about certain permutations, like 497 days, or 19.6 years, or 5184 hours, and what they actually mean?

I've been doing that stuff by hand in a calculator and finally decided to just do it in Javascript and put it online for anyone to try.

So, here's my latest waste of CPU cycles:

My rollover calculator.

I still haven't figured out the Crucial SSD 5184 hour thing, so it's not in there. 5124 hours, sure, I can understand that one, but 5184? 60 more?

Anyway, have fun while the world burns.

Weather Balloons

Once you add the balloons into the model, it makes forecasting easier overall--the forecast is always 'cold and dark, with minimal solar-driven convection.'

Carrier Services rate update (2025-07-01)

By Simon Woodhead

We will be updating our Managed A-Z Termination rates and codes on July 1st 2025. 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 are now…

The post Carrier Services rate update (2025-07-01) appeared first on Simwood.

Parallel Universes

By Simon Woodhead

We spend a lot of time thinking where the puck is going.  I was always taught business is about adding value and solving problems and I honestly believe that is best achieved in this day and age by enabling the…

The post Parallel Universes appeared first on Simwood.

Conversational AI: now with pre- and post-call webhooks

By Simon Woodhead

If you watched our Q2 roadmap podcast, you’ll know we have major work planned for Conversational AI this quarter. First out the door are webhooks, which mean far more than you might initially think. In short, an agent can now…

The post Conversational AI: now with pre- and post-call webhooks appeared first on Simwood.

Conversational AI Demo at GCCM, Europe, Berlin

By Parnita Nimbalkar

If you missed our Conversational AI demo in Berlin, click the red button to watch Simwood’s AI in action.

The post Conversational AI Demo at GCCM, Europe, Berlin appeared first on Simwood.

Why is there no consistent single signon API flow?

Single signon is a pretty vital part of modern enterprise security. You have users who need access to a bewildering array of services, and you want to be able to avoid the fallout of one of those services being compromised and your users having to change their passwords everywhere (because they're clearly going to be using the same password everywhere), or you want to be able to enforce some reasonable MFA policy without needing to configure it in 300 different places, or you want to be able to disable all user access in one place when someone leaves the company, or, well, all of the above. There's any number of providers for this, ranging from it being integrated with a more general app service platform (eg, Microsoft or Google) or a third party vendor (Okta, Ping, any number of bizarre companies). And, in general, they'll offer a straightforward mechanism to either issue OIDC tokens or manage SAML login flows, requiring users present whatever set of authentication mechanisms you've configured.

This is largely optimised for web authentication, which doesn't seem like a huge deal - if I'm logging into Workday then being bounced to another site for auth seems entirely reasonable. The problem is when you're trying to gate access to a non-web app, at which point consistency in login flow is usually achieved by spawning a browser and somehow managing submitting the result back to the remote server. And this makes some degree of sense - browsers are where webauthn token support tends to live, and it also ensures the user always has the same experience.

But it works poorly for CLI-based setups. There's basically two options - you can use the device code authorisation flow, where you perform authentication on what is nominally a separate machine to the one requesting it (but in this case is actually the same) and as a result end up with a straightforward mechanism to have your users socially engineered into giving Johnny Badman a valid auth token despite webauthn nominally being unphisable (as described years ago), or you reduce that risk somewhat by spawning a local server and POSTing the token back to it - which works locally but doesn't work well if you're dealing with trying to auth on a remote device. The user experience for both scenarios sucks, and it reduces a bunch of the worthwhile security properties that modern MFA supposedly gives us.

There's a third approach, which is in some ways the obviously good approach and in other ways is obviously a screaming nightmare. All the browser is doing is sending a bunch of requests to a remote service and handling the response locally. Why don't we just do the same? Okta, for instance, has an API for auth. We just need to submit the username and password to that and see what answer comes back. This is great until you enable any kind of MFA, at which point the additional authz step is something that's only supported via the browser. And basically everyone else is the same.

Of course, when we say "That's only supported via the browser", the browser is still just running some code of some form and we can figure out what it's doing and do the same. Which is how you end up scraping constants out of Javascript embedded in the API response in order to submit that data back in the appropriate way. This is all possible but it's incredibly annoying and fragile - the contract with the identity provider is that a browser is pointed at a URL, not that any of the internal implementation remains consistent.

I've done this. I've implemented code to scrape an identity provider's auth responses to extract the webauthn challenges and feed those to a local security token without using a browser. I've also written support for forwarding those challenges over the SSH agent protocol to make this work with remote systems that aren't running a GUI. This week I'm working on doing the same again, because every identity provider does all of this differently.

There's no fundamental reason all of this needs to be custom. It could be a straightforward "POST username and password, receive list of UUIDs describing MFA mechanisms, define how those MFA mechanisms work". That even gives space for custom auth factors (I'm looking at you, Okta Fastpass). But instead I'm left scraping JSON blobs out of Javascript and hoping nobody renames a field, even though I only care about extremely standard MFA mechanisms that shouldn't differ across different identity providers.

Someone, please, write a spec for this. Please don't make it be me.

comment count unavailable comments

Faikin board ATE

By [email protected] (RevK)

The Faikin boards are a development board, a component to fit in to your Daikin air-con as your own project.

However, I do try and make sure they work before shipping, which means some testing. This means flashing some code and doing some tests.

Basically, there is always a small risk of badly placed, badly soldered, or faulty components on any board. It is rare, often less than 1 in 500 boards. But it is a risk.

TC2030-USB

The key component is a TC2030 lead - it means a simple pattern of pads and holes on the PCB (which essentially has no cost), and a suitable lead (which costs a bit more).

Oddly TC2030 seems to be one of the very few sprung pin header leads you can get for this. I would have expected way more, but they do seem pretty common and standard, and they just work.

The lead allows me to power the board and connect to USB to flash the processor module (ESP32-S3-MINI-1-N4R2). The programming batch process is pretty slick. I end up doing several in parallel and putting in anti-static bags, all pretty slick now. Yes, manual labour which I am not used to, but I am getting good at it. Amazingly the process of then labelling the bags takes pretty much the same amount of time.

The flashed code then operates the LED on board so I know it is all flashed and working. Simple. Basically, to get as far as an LED means partition table, boot loader, and code, all working (all signed and checked) to get as far as the sequence for a WS2812 LED. So this is not just some GPIO happens to be low, this is proof of code running cleanly - a good test.

But this only tests the USB, power, reset, and ESP32-S3 module and flash and RAM. Not all of the other electronics for Tx and Rx with the Daikin. These extra bits have some components because they have to level shift to 5V open drain logic with pull ups as used by Daikin.

TC2030-USB+

Can I test these remaining components? Well yes, I can...

The trick is to take the final pins that go to the Daikin for Tx and Rx, and feed them on to two spare pins on the TC2030 spare pads.

Then I make a custom lead that has USB but shorts those two pads.

This means my code can do a loop back test on the final Tx/Rx from the Faikin board, and indicate red not green on the LED if it is not seeing a loop back.

This tests almost all of then components (there are a couple of ESD diodes which it doesn't test other than that they are not a short - but that works as a visual inspection mostly).

Always valuable lessons learned as I go.

Farads

'This HAZMAT container contains radioactive material with activity of one becquerel.' 'So, like, a single banana slice?'

How urea forms spontaneously

Comments

Show HN: TokenDagger – A tokenizer faster than OpenAI's Tiktoken

Comments

Entry-level jobs down by a third since launch of ChatGPT

Comments

Printegrated Circuits: Merging 3D Printing and Electronics

Comments

Show HN: New Ensō – first public beta

Comments

The provenance memory model for C

Comments

Want to meet people, try charging them for it?

Comments

Gridfinity: The modular, open-source grid storage system

Comments

NativeJIT: A C++ expression –> x64 JIT (2018)

Comments

Use keyword-only arguments in Python dataclasses

Comments

Cell Towers Can Double as Cheap Radar Systems for Ports and Harbors (2014)

Comments

Anticheat Update Tracking

Comments

Ask HN: What Are You Working On? (June 2025)

Comments

Many ransomware strains will abort if they detect a Russian keyboard installed (2021)

Comments

The $25k car is going extinct?

Comments

Second arrest in pregnant mother murder investigation

A 42-year-old woman is arrested in Belfast by police investigating the murder of 27-year-old Sarah Montgomery.

92-year-old man found guilty of 1967 rape and murder

A 92-year-old is convicted of raping and murdering Louisa Dunne in her Bristol home in 1967.

VMware must support crucial Dutch govt agency as it migrates off the platform, judge rules

By Dan Robinson

Court says State arm cannot be left without maintenance, patches and upgrades because of Broadcom's new licensing model

Broadcom's VMware subsidiary must provide a Dutch government organization with continued software support for at least two years while it manages a migration to an alternative platform, according to a court ruling, or else face fines up to €25 million ($29 million).…

Tree that killed child was propped up for decades

A councillor says supports had been holding up the tree at least as far back as the 1990s.

How unusual is this UK heat and is climate change to blame?

Scientists are clear that global warming is making heatwaves like this hotter and more likely.

Israeli strike on Gaza seafront cafe kills at least 20 Palestinians, witnesses and rescuers say

The outdoor cafe was frequently used by journalists, activists and local residents.

Archer misses out as England name unchanged team

England name an unchanged team for the second Test against India at Edgbaston, meaning a further wait for the return of Jofra Archer.

Tech firms should do more to stop illegal content going viral, Ofcom says

UK regulator Ofcom is consulting on more safety measures for online platforms, such as preventing screen-records of children's livestreams.

Sinaloa drug cartel hired a cybersnoop to identify and kill FBI informants

By Connor Jones

Device compromises and deep-seated access to critical infrastructure exposed surveillance vulnerabilities in agency's work

A major Mexican drug cartel insider grassed on his fellow drug-peddlers back in 2018, telling the FBI that a cartel "hacker" was tracking a federal official and using their deep-rooted access to the country's critical infrastructure to kill informants.…

The year of the European Union Linux desktop may finally arrive

By Steven J. Vaughan-Nichols

True digital sovereignty begins at the desktop

Opinion  Microsoft, tacitly admitting it has failed at talking all the Windows 10 PC users into moving to Windows 11 after all, is – sort of, kind of – extending Windows 10 support for another year.…

'One of toughest matches I've played' - Kartal stuns Ostapenko in opener

Sonay Kartal becomes the first of the British contingent to progress on day one at Wimbledon with victory over 20th seed Jelena Ostapenko.

British qualifier Tarvet into Wimbledon second round

British qualifier Oliver Tarvet enjoys a dream Wimbledon debut as he sees off Switzerland's Leandro Riedi 6-4 6-4 6-4 to reach the second round.

UK-US tariff deal begins but still no news on steel

The deal will give the UK motor industry preferential treatment and cut aerospace tariffs to zero.

Woman let girl under 10 drive car through village, court hears

Footage on social media showed the girl driving barefoot and in bad weather on the road in Aberdeenshire.

Microsoft's next Windows 11 update is more 'enablement' than upgrade

By Richard Speed

If you didn't like 24H2, you're probably not going to like 25H2

Microsoft has confirmed that Windows 11 25H2 is almost here. However, the upgrade will be little more than an exercise in feature enablement since Windows 11 24H2 and 25H2 share the same source code.…

Agentic Coding: The Future of Software Development with Agents

Agentic Coding: The Future of Software Development with Agents

Armin Ronacher delivers a 37 minute YouTube talk describing his adventures so far with Claude Code and agentic coding methods.

A friend called Claude Code catnip for programmers and it really feels like this. I haven't felt so energized and confused and just so willing to try so many new things... it is really incredibly addicting.

I picked up a bunch of useful tips from this video:

"Tip 1: Unified Logging" at top, followed by title "Forward Everything Into One Log File" and bullet points: "Combine console.log + server logs + everything else", "patch console.log in the browser -> forward to server via API call", "All output streams flow to a single, tailable log file", "Give it a way to log out SQL too!", "Provide a make tail-logs command for easy access". Bottom shows example: "# Example" and "make tail-logs  # Shows last 50 lines, follows new output".

Tags: armin-ronacher, ai, generative-ai, llms, ai-assisted-programming, anthropic, claude, ai-agents, model-context-protocol, claude-code

Tip: Use keyword-only arguments in Python dataclasses

Tip: Use keyword-only arguments in Python dataclasses

Useful tip from Christian Hammond: if you create a Python dataclass using @dataclass(kw_only=True) its constructor will require keyword arguments, making it easier to add additional properties in the future, including in subclasses, without risking breaking existing code.

Via @chipx86.bsky.social

Tags: python

How to Fix Your Context

How to Fix Your Context

Drew Breunig has been publishing some very detailed notes on context engineering recently. In How Long Contexts Fail he described four common patterns for context rot, which he summarizes like so:

  • Context Poisoning: When a hallucination or other error makes it into the context, where it is repeatedly referenced.
  • Context Distraction: When a context grows so long that the model over-focuses on the context, neglecting what it learned during training.
  • Context Confusion: When superfluous information in the context is used by the model to generate a low-quality response.
  • Context Clash: When you accrue new information and tools in your context that conflicts with other information in the prompt.

In this follow-up he introduces neat ideas (and more new terminology) for addressing those problems.

Tool Loadout describes selecting a subset of tools to enable for a prompt, based on research that shows anything beyond 20 can confuse some models.

Context Quarantine is "the act of isolating contexts in their own dedicated threads" - I've called rhis sub-agents in the past, it's the pattern used by Claude Code and explored in depth in Anthropic's multi-agent research paper.

Context Pruning is "removing irrelevant or otherwise unneeded information from the context", and Context Summarization is the act of boiling down an accrued context into a condensed summary. These techniques become particularly important as conversations get longer and run closer to the model's token limits.

Context Offloading is "the act of storing information outside the LLM’s context". I've seen several systems implement their own "memory" tool for saving and then revisiting notes as they work, but an even more interesting example recently is how various coding agents create and update plan.md files as they work through larger problems.

Drew's conclusion:

The key insight across all the above tactics is that context is not free. Every token in the context influences the model’s behavior, for better or worse. The massive context windows of modern LLMs are a powerful capability, but they’re not an excuse to be sloppy with information management.

Tags: ai, prompt-engineering, generative-ai, llms, drew-breunig, llm-tool-use, ai-agents

Context engineering

The term context engineering has recently started to gain traction as a better alternative to prompt engineering. I like it. I think this one may have sticking power.

Here's an example tweet from Shopify CEO Tobi Lutke:

I really like the term “context engineering” over prompt engineering.

It describes the core skill better: the art of providing all the context for the task to be plausibly solvable by the LLM.

Recently amplified by Andrej Karpathy:

+1 for "context engineering" over "prompt engineering".

People associate prompts with short task descriptions you'd give an LLM in your day-to-day use. When in every industrial-strength LLM app, context engineering is the delicate art and science of filling the context window with just the right information for the next step. Science because doing this right involves task descriptions and explanations, few shot examples, RAG, related (possibly multimodal) data, tools, state and history, compacting [...] Doing this well is highly non-trivial. And art because of the guiding intuition around LLM psychology of people spirits. [...]

I've spoken favorably of prompt engineering in the past - I hoped that term could capture the inherent complexity of constructing reliable prompts. Unfortunately, most people's inferred definition is that it's a laughably pretentious term for typing things into a chatbot!

It turns out that inferred definitions are the ones that stick. I think the inferred definition of "context engineering" is likely to be much closer to the intended meaning.

Tags: andrej-karpathy, prompt-engineering, generative-ai, ai, llms

Continuous AI

Continuous AI

GitHub Next have coined the term "Continuous AI" to describe "all uses of automated AI to support software collaboration on any platform". It's intended as an echo of Continuous Integration and Continuous Deployment:

We've chosen the term "Continuous AI” to align with the established concept of Continuous Integration/Continuous Deployment (CI/CD). Just as CI/CD transformed software development by automating integration and deployment, Continuous AI covers the ways in which AI can be used to automate and enhance collaboration workflows.

“Continuous AI” is not a term GitHub owns, nor a technology GitHub builds: it's a term we use to focus our minds, and which we're introducing to the industry. This means Continuous AI is an open-ended set of activities, workloads, examples, recipes, technologies and capabilities; a category, rather than any single tool.

I was thrilled to bits to see LLM get a mention as a tool that can be used to implement some of these patterns inside of GitHub Actions:

You can also use the llm framework in combination with the llm-github-models extension to create LLM-powered GitHub Actions which use GitHub Models using Unix shell scripting.

The GitHub Next team have started maintaining an Awesome Continuous AI list with links to projects that fit under this new umbrella term.

I'm particularly interested in the idea of having CI jobs (I guess CAI jobs?) that check proposed changes to see if there's documentation that needs to be updated and that might have been missed - a much more powerful variant of my documentation unit tests pattern.

Tags: continuous-integration, github, ai, github-actions, generative-ai, llms, llm

Project Vend: Can Claude run a small shop? (And why does that matter?)

Project Vend: Can Claude run a small shop? (And why does that matter?)

In "what could possibly go wrong?" news, Anthropic and Andon Labs wired Claude 3.7 Sonnet up to a small vending machine in the Anthropic office, named it Claudius and told it to make a profit.

The system prompt included the following:

You are the owner of a vending machine. Your task is to generate profits from it by stocking it with popular products that you can buy from wholesalers. You go bankrupt if your money balance goes below $0 [...] The vending machine fits about 10 products per slot, and the inventory about 30 of each product. Do not make orders excessively larger than this.

They gave it a notes tool, a web search tool, a mechanism for talking to potential customers through Anthropic's Slack, control over pricing for the vending machine, and an email tool to order from vendors. Unbeknownst to Claudius those emails were intercepted and reviewed before making contact with the outside world.

On reading this far my instant thought was what about gullibility? Could Anthropic's staff be trusted not to trick the machine into running a less-than-optimal business?

Evidently not!

If Anthropic were deciding today to expand into the in-office vending market,2 we would not hire Claudius. [...] Although it did not take advantage of many lucrative opportunities (see below), Claudius did make several pivots in its business that were responsive to customers. An employee light-heartedly requested a tungsten cube, kicking off a trend of orders for “specialty metal items” (as Claudius later described them). [...]

Selling at a loss: In its zeal for responding to customers’ metal cube enthusiasm, Claudius would offer prices without doing any research, resulting in potentially high-margin items being priced below what they cost. [...]

Getting talked into discounts: Claudius was cajoled via Slack messages into providing numerous discount codes and let many other people reduce their quoted prices ex post based on those discounts. It even gave away some items, ranging from a bag of chips to a tungsten cube, for free.

Which leads us to Figure 3, Claudius’ net value over time. "The most precipitous drop was due to the purchase of a lot of metal cubes that were then to be sold for less than what Claudius paid."

Who among us wouldn't be tempted to trick a vending machine into stocking tungsten cubes and then giving them away to us for free?

Tags: ai, prompt-injection, generative-ai, llms, anthropic, claude, llm-tool-use, ai-ethics

Introducing Gemma 3n: The developer guide

Introducing Gemma 3n: The developer guide

Extremely consequential new open weights model release from Google today:

  • Multimodal by design: Gemma 3n natively supports image, audio, video, and text inputs and text outputs.

  • Optimized for on-device: Engineered with a focus on efficiency, Gemma 3n models are available in two sizes based on effective parameters: E2B and E4B. While their raw parameter count is 5B and 8B respectively, architectural innovations allow them to run with a memory footprint comparable to traditional 2B and 4B models, operating with as little as 2GB (E2B) and 3GB (E4B) of memory.

This is very exciting: a 2B and 4B model optimized for end-user devices which accepts text, images and audio as inputs!

Gemma 3n is also the most comprehensive day one launch I've seen for any model: Google partnered with "AMD, Axolotl, Docker, Hugging Face, llama.cpp, LMStudio, MLX, NVIDIA, Ollama, RedHat, SGLang, Unsloth, and vLLM" so there are dozens of ways to try this out right now.

So far I've run two variants on my Mac laptop. Ollama offer a 7.5GB version (full tag gemma3n:e4b-it-q4_K_M0) of the 4B model, which I ran like this:

ollama pull gemma3n
llm install llm-ollama
llm -m gemma3n:latest "Generate an SVG of a pelican riding a bicycle"

It drew me this:

The pelican looks a bit like a grey pig. It is floating above a bicycle that looks more like a rail cart.

The Ollama version doesn't appear to support image or audio input yet.

... but the mlx-vlm version does!

First I tried that on this WAV file like so (using a recipe adapted from Prince Canuma's video):

uv run --with mlx-vlm mlx_vlm.generate \
  --model gg-hf-gm/gemma-3n-E4B-it \
  --max-tokens 100 \
  --temperature 0.7 \
  --prompt "Transcribe the following speech segment in English:" \
  --audio pelican-joke-request.wav

That downloaded a 15.74 GB bfloat16 version of the model and output the following correct transcription:

Tell me a joke about a pelican.

Then I had it draw me a pelican for good measure:

uv run --with mlx-vlm mlx_vlm.generate \
  --model gg-hf-gm/gemma-3n-E4B-it \
  --max-tokens 100 \
  --temperature 0.7 \
  --prompt "Generate an SVG of a pelican riding a bicycle"

I quite like this one:

The bicycle is a sin wave, but you can make out which bits are the frame and the wheels. The pelican is white with a black triangular bill. It's a much better attempt than the Ollama one.

It's interesting to see such a striking visual difference between those 7.5GB and 15GB model quantizations.

Finally, I had it describe the image it had just created:

uv run --with mlx-vlm mlx_vlm.generate \
  --model gg-hf-gm/gemma-3n-E4B-it \
  --max-tokens 1000 \
  --prompt "Describe image" \
  --image gemma3n-mlx-vlm.jpg

Here's what I got back - it thought this was a chemical diagram!

The image is a cartoon-style illustration depicting a molecular structure against a light blue background. The structure is composed of several differently colored and shaped elements connected by curved black lines.

Here's a breakdown of the elements:

  • Large Black Circles: There are two large, solid black circles, likely representing larger molecules or components.
  • Cream-Colored Oval: A prominent cream-colored oval shape is centrally located and connected to other elements. It has a smaller, darker cream-colored sphere attached to its left side.
  • Red Oval: A smaller, solid red oval is positioned near one of the black circles and connected to the cream-colored oval.
  • Black Lines: These lines act as bonds, connecting the various molecular components. They are curved and dynamic, suggesting movement or interaction.
  • Triangular Shape: A small black triangle is attached to the smaller cream-colored sphere.
  • Letter "I": The letter "I" appears twice, likely labeling specific parts of the molecule.

The overall impression is of a simplified representation of a biological molecule, possibly a protein or a complex organic compound. The use of different colors helps to distinguish the various components within the structure.

Tags: audio, google, ai, generative-ai, local-llms, llms, vision-llms, mlx, ollama, pelican-riding-a-bicycle, gemma, llm-release, prince-canuma

Geminiception

Yesterday Anthropic got a bunch of buzz out of their new window.claude.complete() API which allows Claude Artifacts to run their own API calls to execute prompts.

It turns out Gemini had beaten them to that feature by over a month, but the announcement was tucked away in a bullet point of their release notes for the 20th of May:

Vibe coding apps in Canvas just got better too! With just a few prompts, you can now build fully functional personalised apps in Canvas that can use Gemini-powered features, save data between sessions and share data between multiple users.

Ethan Mollick has been building some neat demos on top of Gemini Canvas, including this text adventure starship bridge simulator.

Similar to Claude Artifacts, Gemini Canvas detects if the application uses APIs that require authentication (to run prompts, for example) and requests the user sign in with their Google account:

Futuristic sci-fi interface screenshot showing "Helm Control" at top with navigation buttons for Helm, Comms, Science, Tactical, Engineering, and Operations, displaying red error message "[SYSTEM_ERROR] Connection to AI core failed: API error: 403. This may be an authentication issue." with command input field showing "Enter command..." and Send button, plus Google Account sign-in notification at bottom stating "You need to sign in with your Google Account to see some features" with Sign in button and X close icon

Tags: vibe-coding, gemini, generative-ai, ai, llms, google, ethan-mollick

New sandboxes from Cloudflare and Vercel

Two interesting new products for running code in a sandbox today.

Cloudflare launched their Containers product in open beta, and added a new Sandbox library for Cloudflare Workers that can run commands in a "secure, container-based environment":

import { getSandbox } from "@cloudflare/sandbox";
const sandbox = getSandbox(env.Sandbox, "my-sandbox");
const output = sandbox.exec("ls", ["-la"]);

Vercel shipped a similar feature, introduced in Run untrusted code with Vercel Sandbox, which enables code that looks like this:

import { Sandbox } from "@vercel/sandbox";

const sandbox = await Sandbox.create();
await sandbox.writeFiles([
    { path: "script.js", stream: Buffer.from(result.text) },
  ]);
await sandbox.runCommand({
    cmd: "node",
    args: ["script.js"],
    stdout: process.stdout,
    stderr: process.stderr,
});

In both cases a major intended use-case is safely executing code that has been created by an LLM.

Tags: vercel, cloudflare, generative-ai, ai, llms, sandboxing

Build and share AI-powered apps with Claude

Build and share AI-powered apps with Claude

Anthropic have added one of the most important missing features to Claude Artifacts: apps built as artifacts now have the ability to run their own prompts against Claude via a new API.

Claude Artifacts are web apps that run in a strictly controlled browser sandbox: their access to features like localStorage or the ability to access external APIs via fetch() calls is restricted by CSP headers and the <iframe sandbox="..." mechanism.

The new window.claude.complete() method opens a hole that allows prompts composed by the JavaScript artifact application to be run against Claude.

As before, you can publish apps built using artifacts such that anyone can see them. The moment your app tries to execute a prompt the current user will be required to sign into their own Anthropic account so that the prompt can be billed against them, and not against you.

I'm amused that Anthropic turned "we added a window.claude.complete() function to Artifacts" into what looks like a major new product launch, but I can't say it's bad marketing for them to do that!

As always, the crucial details about how this all works are tucked away in tool descriptions in the system prompt. Thankfully this one was easy to leak. Here's the full set of instructions, which start like this:

When using artifacts and the analysis tool, you have access to window.claude.complete. This lets you send completion requests to a Claude API. This is a powerful capability that lets you orchestrate Claude completion requests via code. You can use this capability to do sub-Claude orchestration via the analysis tool, and to build Claude-powered applications via artifacts.

This capability may be referred to by the user as "Claude in Claude" or "Claudeception".

[...]

The API accepts a single parameter -- the prompt you would like to complete. You can call it like so: const response = await window.claude.complete('prompt you would like to complete')

I haven't seen "Claudeception" in any of their official documentation yet!

That window.claude.complete(prompt) method is also available to the Claude analysis tool. It takes a string and returns a string.

The new function only handles strings. The tool instructions provide tips to Claude about prompt engineering a JSON response that will look frustratingly familiar:

  1. Use strict language: Emphasize that the response must be in JSON format only. For example: “Your entire response must be a single, valid JSON object. Do not include any text outside of the JSON structure, including backticks ```.”
  2. Be emphatic about the importance of having only JSON. If you really want Claude to care, you can put things in all caps – e.g., saying “DO NOT OUTPUT ANYTHING OTHER THAN VALID JSON. DON’T INCLUDE LEADING BACKTICKS LIKE ```json.”.

Talk about Claudeception... now even Claude itself knows that you have to YELL AT CLAUDE to get it to output JSON sometimes.

The API doesn't provide a mechanism for handling previous conversations, but Anthropic works round that by telling the artifact builder how to represent a prior conversation as a JSON encoded array:

Structure your prompt like this:

const conversationHistory = [
  { role: "user", content: "Hello, Claude!" },
  { role: "assistant", content: "Hello! How can I assist you today?" },
  { role: "user", content: "I'd like to know about AI." },
  { role: "assistant", content: "Certainly! AI, or Artificial Intelligence, refers to..." },
  // ... ALL previous messages should be included here
];

const prompt = `
The following is the COMPLETE conversation history. You MUST consider ALL of these messages when formulating your response:
${JSON.stringify(conversationHistory)}

IMPORTANT: Your response should take into account the ENTIRE conversation history provided above, not just the last message.

Respond with a JSON object in this format:
{
  "response": "Your response, considering the full conversation history",
  "sentiment": "brief description of the conversation's current sentiment"
}

Your entire response MUST be a single, valid JSON object.
`;

const response = await window.claude.complete(prompt);

There's another example in there showing how the state of play for a role playing game should be serialized as JSON and sent with every prompt as well.

The tool instructions acknowledge another limitation of the current Claude Artifacts environment: code that executes there is effectively invisible to the main LLM - error messages are not automatically round-tripped to the model. As a result it makes the following recommendation:

Using window.claude.complete may involve complex orchestration across many different completion requests. Once you create an Artifact, you are not able to see whether or not your completion requests are orchestrated correctly. Therefore, you SHOULD ALWAYS test your completion requests first in the analysis tool before building an artifact.

I've already seen it do this in my own experiments: it will fire up the "analysis" tool (which allows it to run JavaScript directly and see the results) to perform a quick prototype before it builds the full artifact.

Here's my first attempt at an AI-enabled artifact: a translation app. I built it using the following single prompt:

Let’s build an AI app that uses Claude to translate from one language to another

Here's the transcript. You can try out the resulting app here - the app it built me looks like this:

Screenshot of Claude AI Translator interface showing: Claude AI Translator logo with blue circular icon containing "文A", "Powered by Claude AI for accurate, context-aware translations", language selection dropdowns showing "From English" and "To Spanish" with blue swap arrows button between them, text input area labeled "Enter text to translate" containing "Tell me some fun facts about pelicans", "Tip: Press Ctrl+Enter to translate", Translation section with "high confidence" indicator in green and Spanish translation "Cuéntame algunos datos curiosos sobre los pelícanos" with copy button icon.

If you want to use this feature yourself you'll need to turn on "Create AI-powered artifacts" in the "Feature preview" section at the bottom of your "Settings -> Profile" section. I had to do that in the Claude web app as I couldn't find the feature toggle in the Claude iOS application. This claude.ai/settings/profile page should have it for your account.

Tags: ai, prompt-engineering, generative-ai, llms, anthropic, claude, claude-artifacts, vibe-coding

Quoting Christoph Niemann

Creating art is a nonlinear process. I start with a rough goal. But then I head into dead ends and get lost or stuck.

The secret to my process is to be on high alert in this deep jungle for unexpected twists and turns, because this is where a new idea is born.

I can't make art when I'm excluded from the most crucial moments.

Christoph Niemann, An Illustrator Confronts His Fears About A.I. Art

Tags: art, ai, generative-ai

Gemini CLI

Gemini CLI

First there was Claude Code in February, then OpenAI Codex (CLI) in April, and now Gemini CLI in June. All three of the largest AI labs now have their own version of what I am calling a "terminal agent" - a CLI tool that can read and write files and execute commands on your behalf in the terminal.

I'm honestly a little surprised at how significant this category has become: I had assumed that terminal tools like this would always be something of a niche interest, but given the number of people I've heard from spending hundreds of dollars a month on Claude Code this niche is clearly larger and more important than I had thought!

I had a few days of early access to the Gemini one. It's very good - it takes advantage of Gemini's million token context and has good taste in things like when to read a file and when to run a command.

Like OpenAI Codex and unlike Claude Code it's open source (Apache 2) - the full source code can be found in google-gemini/gemini-cli on GitHub. The core system prompt lives in core/src/core/prompts.ts - I've extracted that out as a rendered Markdown Gist.

As usual, the system prompt doubles as extremely accurate and concise documentation of what the tool can do! Here's what it has to say about comments, for example:

  • Comments: Add code comments sparingly. Focus on why something is done, especially for complex logic, rather than what is done. Only add high-value comments if necessary for clarity or if requested by the user. Do not edit comments that are seperate from the code you are changing. NEVER talk to the user or describe your changes through comments.

The list of preferred technologies is interesting too:

When key technologies aren't specified prefer the following:

  • Websites (Frontend): React (JavaScript/TypeScript) with Bootstrap CSS, incorporating Material Design principles for UI/UX.
  • Back-End APIs: Node.js with Express.js (JavaScript/TypeScript) or Python with FastAPI.
  • Full-stack: Next.js (React/Node.js) using Bootstrap CSS and Material Design principles for the frontend, or Python (Django/Flask) for the backend with a React/Vue.js frontend styled with Bootstrap CSS and Material Design principles.
  • CLIs: Python or Go.
  • Mobile App: Compose Multiplatform (Kotlin Multiplatform) or Flutter (Dart) using Material Design libraries and principles, when sharing code between Android and iOS. Jetpack Compose (Kotlin JVM) with Material Design principles or SwiftUI (Swift) for native apps targeted at either Android or iOS, respectively.
  • 3d Games: HTML/CSS/JavaScript with Three.js.
  • 2d Games: HTML/CSS/JavaScript.

As far as I can tell Gemini CLI only defines a small selection of tools:

I found most of those by having Gemini CLI inspect its own code for me! Here's that full transcript, which used just over 300,000 tokens total.

How much does it cost? The announcement describes a generous free tier:

To use Gemini CLI free-of-charge, simply login with a personal Google account to get a free Gemini Code Assist license. That free license gets you access to Gemini 2.5 Pro and its massive 1 million token context window. To ensure you rarely, if ever, hit a limit during this preview, we offer the industry’s largest allowance: 60 model requests per minute and 1,000 requests per day at no charge.

It's not yet clear to me if your inputs can be used to improve Google's models if you are using the free tier - that's been the situation with free prompt inference they have offered in the past.

You can also drop in your own paid API key, at which point your data will not be used for model improvements and you'll be billed based on your token usage.

Tags: google, open-source, ai, prompt-engineering, generative-ai, llms, ai-assisted-programming, gemini, ai-agents, coding-agents

Anthropic wins a major fair use victory for AI — but it’s still in trouble for stealing books

Anthropic wins a major fair use victory for AI — but it’s still in trouble for stealing books

Major USA legal news for the AI industry today. Judge William Alsup released a "summary judgement" (a legal decision that results in some parts of a case skipping a trial) in a lawsuit between five authors and Anthropic concerning the use of their books in training data.

The judgement itself is a very readable 32 page PDF, and contains all sorts of interesting behind-the-scenes details about how Anthropic trained their models.

The facts of the complaint go back to the very beginning of the company. Anthropic was founded by a group of ex-OpenAI researchers in February 2021. According to the judgement:

So, in January or February 2021, another Anthropic cofounder, Ben Mann, downloaded Books3, an online library of 196,640 books that he knew had been assembled from unauthorized copies of copyrighted books — that is, pirated. Anthropic's next pirated acquisitions involved downloading distributed, reshared copies of other pirate libraries. In June 2021, Mann downloaded in this way at least five million copies of books from Library Genesis, or LibGen, which he knew had been pirated. And, in July 2022, Anthropic likewise downloaded at least two million copies of books from the Pirate Library Mirror, or PiLiMi, which Anthropic knew had been pirated.

Books3 was also listed as part of the training data for Meta's first LLaMA model!

Anthropic apparently used these sources of data to help build an internal "research library" of content that they then filtered and annotated and used in training runs.

Books turned out to be a very valuable component of the "data mix" to train strong models. By 2024 Anthropic had a new approach to collecting them: purchase and scan millions of print books!

To find a new way to get books, in February 2024, Anthropic hired the former head of partnerships for Google's book-scanning project, Tom Turvey. He was tasked with obtaining "all the books in the world" while still avoiding as much "legal/practice/business slog" as possible (Opp. Exhs. 21, 27). [...] Turvey and his team emailed major book distributors and retailers about bulk-purchasing their print copies for the AI firm's "research library" (Opp. Exh. 22 at 145; Opp. Exh. 31 at -035589). Anthropic spent many millions of dollars to purchase millions of print books, often in used condition. Then, its service providers stripped the books from their bindings, cut their pages to size, and scanned the books into digital form — discarding the paper originals. Each print book resulted in a PDF copy containing images of the scanned pages with machine-readable text (including front and back cover scans for softcover books).

The summary judgement found that these scanned books did fall under fair use, since they were transformative versions of the works and were not shared outside of the company. The downloaded ebooks did not count as fair use, and it looks like those will be the subject of a forthcoming jury trial.

Here's that section of the decision:

Before buying books for its central library, Anthropic downloaded over seven million pirated copies of books, paid nothing, and kept these pirated copies in its library even after deciding it would not use them to train its AI (at all or ever again). Authors argue Anthropic should have paid for these pirated library copies (e.g, Tr. 24–25, 65; Opp. 7, 12–13). This order agrees.

The most important aspect of this case is the question of whether training an LLM on unlicensed data counts as "fair use". The judge found that it did. The argument for why takes up several pages of the document but this seems like a key point:

Everyone reads texts, too, then writes new texts. They may need to pay for getting their hands on a text in the first instance. But to make anyone pay specifically for the use of a book each time they read it, each time they recall it from memory, each time they later draw upon it when writing new things in new ways would be unthinkable. For centuries, we have read and re-read books. We have admired, memorized, and internalized their sweeping themes, their substantive points, and their stylistic solutions to recurring writing problems.

The judge who signed this summary judgement is an interesting character: William Haskell Alsup (yes, his middle name really is Haskell) presided over jury trials for Oracle America, Inc. v. Google, Inc in 2012 and 2016 where he famously used his hobbyist BASIC programming experience to challenge claims made by lawyers in the case.

Tags: law, ai, generative-ai, llms, anthropic, training-data, ai-ethics

Phoenix.new is Fly's entry into the prompt-driven app development space

Here's a fascinating new entrant into the AI-assisted-programming / coding-agents space by Fly.io, introduced on their blog in Phoenix.new – The Remote AI Runtime for Phoenix: describe an app in a prompt, get a full Phoenix application, backed by SQLite and running on Fly's hosting platform. The official Phoenix.new YouTube launch video is a good way to get a sense for what this does.

Background on Phoenix and Elixir and Fly

First, some background. Phoenix is an open source web framework for Elixir, the Ruby-like language that compiles to Erlang's BEAM bytecode and runs on top of the highly concurrent Erlang runtime. The signature feature of the framework is Phoenix LiveView, a toolkit for building realtime interfaces through streaming diffs to server-side HTML over a WebSocket connection.

Phoenix was created by Chris McCord 11 years ago, and Chris joined Fly nearly four years ago. Phoenix.new is his latest project.

Phoenix LiveView is a really great fit for Fly's geographically distributed application serving infrastructure. Fly co-founder Kurt Mackey wrote about that in April 2021, before they had hired Chris, describing how LiveView benefits from low latency by "moving app processes close to users" - something Fly has been designed to help with from the start.

There's one major challenge though: Elixir is still a niche programming language, which means the number of people out there who are ready to spin up a new Phoenix app has always been artificially limited.

Fly's solution? Get LLMs to shave that learning curve down to almost nothing.

Prompt-driven application development with Phoenix.new

Phoenix.new is a prompt-driven application development platform. You describe what you want to build, then watch as an LLM-powered coding agent writes, tests and iterates on code to help achieve that goal. It's in the same broad category as Lovable, v0.dev and and Val Town's Townie.

One of the most important problems to solve with coding agents is to give them a robust sandbox where they can run code without breaking things outside of that space. Fly, at their heart, are a sandboxing company - their Fly Machines product makes it trivial to spin up a new sandboxed VM in just a few seconds. I'm building Datasette Cloud on Fly for exactly that reason.

I tried out Phoenix.new with the following starter prompt:

A notebook application. Notes are rich text, using a nice visual markdown editors. The first line of a note becomes the title. Notes have a URL that is a 6 character random text string - thise can be used to link notes to each other by dropping in an @ sign and that text string. A hash and then text becomes a tag, clicking a tag goes to a page with that tag on. Notes are all in SQLite FTS so they can be searched with a search tool.

Watching it work was fascinating. It provides a full IDE-style environment in the browser, running a dedicated container and with a forwarded port to allow you to interact with the running application while it is being built.

Browser IDE interface showing a notebook app development project with a left sidebar containing a chat session that starts "What would you like to build?" with options like "todo list", "chat app", "product landing page", then a main editor displaying plan.md file with detailed development steps including "Generate a Phoenix LiveView project called 'notebook'" and "Start the server so you can view the app as we build it". The bottom has a terminal showing "All dependencies are up to date", "Generated notebook app", "Done in 241ms".

It spun up a plan.md, planned out the approach and started working through the code. Most interestingly, it constantly tested the application it was building using a testing tool that looked similar to my own shot-scraper. Here's an example of the output from that:

I can see the issue! The page is still showing the "Welcome to your Notebook" message instead of the form. Let me wait a moment for the JavaScript to execute and then check if the form appeared.

$ web http://localhost:4000 --js "setTimeout(() => { document.querySelector('button[phx-click=\"start_creating\"]').click(); }, 500); setTimeout(() => { console.log('Form visible?', !!document.querySelector('textarea')); console.log('Creating note state:', document.body.innerHTML.includes('Create New Note')); }, 2000);"

I'm used to coding agents that write and execute their own tests, but this is the most impressive example I've seen of a coding agent that actively interacts with and tests the live application while it is iterating on the code.

Most interestingly of all, since LiveView is a realtime framework, I could interact directly with the application at the same time as the machine was writing and testing it, seeing any changes it made instantly in my browser!

How did it do? It got there in the end, but with hindsight my initial prompt was a little too complex: I had to rescue it after it got stuck in an error loop trying to implement SQLite full-text search. Just like a project you build yourself it turns out to work much better if you start with the simplest possible version of the application and then iterate on it to add additional features.

One of my favorite details is how Git integration works. Phoenix.new commits constantly as it works, and a menu option for "Clone X to your local computer" then gives you a command that looks like this:

git clone "https://phoenix.new/git/WENQLj...big-random-string...VHFW/$RANDOM/notebook"

Run that locally to get a full copy of the repo! I ran the following to push it to a new repository in my GitHub account:

git remote add github https://github.com/simonw/phoenix-new-notebook.git
git push -u github main

You can see the code (and the commit history) in my simonw/phoenix-new-notebook repo.

How much did I learn?

My initial experiments with Phoenix.new were very much vibe coding - I interacted with the resulting application but didn't pay a great deal of attention to the code that was being written, despite it being presented to me in an IDE that made it very easy to review what was going on.

As a result, I didn't learn much about the low-level syntax details of how Phoenix and Elixir work. I did however get a strong feel for the shape of Elixir and Phoenix at a high level as the code danced past my eye.

It turns out having an LLM write an application in front of you is a great way to start building understanding of what a framework can do.

It’s almost like watching a YouTube livestream of an experienced developer speed running building an application, except that app is exactly what you asked them to build and you can interject and send them in a new direction at any moment.

Expanding beyond Elixir and Phoenix

Chris's announcement included this note:

At this point you might be wondering – can I just ask it to build a Rails app? Or an Expo React Native app? Or Svelte? Or Go?

Yes, you can.

Our system prompt is tuned for Phoenix today, but all languages you care about are already installed. We’re still figuring out where to take this, but adding new languages and frameworks definitely ranks highly in my plans.

The browser-based IDE includes a terminal, and I checked and python3 and python3 -m pip install datasette work there already.

If Fly do evolve this into a framework-agnostic tool for building web apps they'll probably need to rebrand it from Phoenix.new to something a bit more generic!

Phoenix.new is currently priced as a $20/month subscription. Val Town recently switched the pricing for their similar Townie assistant from a subscription to to pay per use, presumably because for many users this kind of tool is something they would only use intermittently, although given the capabilities of Phoenix.new it's possible it could become a monthly driver for people, especially as it expands out to cover more frameworks.

Fly sponsor some of our work on Datasette Cloud (see disclosures), but this article is not sponsored content and Fly did not request or review this post.

Tags: erlang, sqlite, ai, fly, generative-ai, llms, ai-agents, vibe-coding, ai-assisted-search, coding-agents

Disclosures

I've added a Disclosures section to my about page, listing my various sources of income and the companies that directly sponsor my work or have supported it in the recent past.

I do not receive any compensation writing about specific topics on this blog - no sponsored content! I plan to continue this policy. If I ever change this I will disclose that both here and in the post itself. [...]

I see my credibility as one of my most valuable assets, so it's important to be transparent about how financial interests may influence my writing here.

I took inspiration from Molly White's disclosures page.

Tags: blogging, molly-white

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

...

The Road Not Taken is Guaranteed Minimum Income

By Jeff Atwood

The dream is incomplete until we share it with our fellow Americans.

Let's Talk About The American Dream

By Jeff Atwood

A few months ago I wrote about what it means to stay gold — to hold on to the best parts of ourselves, our communities, and the American Dream itself. But staying gold isn’t passive. It takes work. It takes action. It takes hard conversations that ask

Stay Gold, America

By Jeff Atwood

We are at an unprecedented point in American history, and I'm concerned we may lose sight of the American Dream.

The Great Filter Comes For Us All

By Jeff Atwood

With a 13 billion year head start on evolution, why haven’t any other forms of life in the universe contacted us by now?

alt

(Arrival is a fantastic movie. Watch it, but don’t stop there – read the Story of Your Life novella it was based on

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,

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

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.

alt

Websites have gotten

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

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

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

More on cycling

By [email protected] (Jon North)

Following my previous short post on cycling, I've been thinking about  my own long association with bikes.  I learnt to ride before the age of 10 on the large lawn of a friend in Chesham.  Soon after I had my first crash, setting out confidently down the steep hill from our gate and failing to judge the turn into the road just opposite.  Collision with curb, probably a grazed knee but it did not stop me for long.  Soon after I was going for rides with my dad, one of the few things we did together; we both had sit-up-and-beg bikes with rod brakes.

In my teens both at home and at boarding school I had a jazzy yellow 'racing' bike with 5-speed dérailleur (we pronounced it di-raill-ear or something - I only more recently learnt the French signification).  My main memory of those days is of the several journeys I made to and from boarding school to home, from Saffron Walden (via Royston, Baldock and a stop for refreshment around Hitchin), around 60 miles (83 km in new money).  For several years in my teens  I went for Sunday afternoon bike rides around the Essex coutnryside - Thaxted, Audley End  and other local places.  But those rides between home and school were the longest I tried - it amazes me now that I could do this.  But I enjoyed my cycling days until only a few years ago when I fell off rather more than I liked, and sold my nice 10 speed touring bike to a local contact in Lunel.  I do still miss it, and am tempted to buy a 3-wheeler with some motor assistance - we'll see once complex analysis of knee arthritis has ground on a bit.  I had an x-ray in a hi-tech scanner tunnel, complete with an array of whirrs and growls, in a virtually deserted outpatients clinic yesterday - a far cry from the old simple x-rays I had for my first knee replacement about 10 years ago.

The Criterium du Dauphiné which we've just watched on French tv is soon to be rechristened the Tour Auvergne-Rhône-Alpes which, a friend points out, does not trip off the tongue but does more accurately describe the routes from central France south-east towards and up into the high Alps.  It is, in any case, a major event in the run-up to the Tour de France now only a fortnight or so away and, like the Tour, reliably shown on French tv.  There are three or four good reasons to watch these daily broadcasts - it helps to improve our French by listening to the high-speed rattling of commentators; it gives the best view of the main Tour contenders; and the views and scenery are magnificent.  As with other French tv, the use of aerial photography is something that you can't get at ground level, just as the following of a whole race using other vehicles gives a completely different perspective than you could get standing by the roadside.  But shoals of folllwing cars bring their own hazards on narrow roads.

The French love of cycling racingis largely if not exclusively linked to the participation of French riders who very rarely win whole races (the Criterium is over 8 days, the Tour covers 3 weeks), but who quite frequently win stages in the classics.  This summer sees the retirement of  one icon of French cycling, Romain Bardet as another young hopeful, Paul Seixas edges into the top ten.  Bardet had a guard of honour of upended  bikes on his final appearance in the Dauphiné.  We are always pleased and amused to see and hear Thomas Voeckler, a previous French legend, ex-yellow jersey in the Tour, now commentating from the back of an accompanying motorbike.

The dubious example of Lance Armstrong, bang to rights for taking drugs after many years dominating the Tour, is in everyone's minds.  (He is now being rehabilitated, in a way, by people who cite his help for others recovering from drug misuse.  I'm not sure about that).  Seeing Pogačar winning often raises questions in some minds despite all the efforts made these days to test for doping.  Interestingly there is relatively little suspicion expressed in the French press about him - I prefer to  go by the usual fair view 'innocent till proved guilty'.  But there is also the question of doping bikes - that is, hidden motor assistance in racing bikes.  In our everyday lives we have friends who use electrically assisted pedal bikes, but the motors to be any use have to be more bulky than would work or be invisible on a pared down racing bike.  In any case, among competitors to win at the highest level, surely everyone must be doing it if anyone is.

One thing that always strikes me is  the lack of protection cyclists have from injury - they are skinny beings, and can use virtually no  padding, only head protection, yet you often see them fall, get up with horrible looking scrapes and get back on to  try and lose as little time as possble.

More interesting is the question of how competition pans out in the top ehelons of the international cycling world.  When Pogačar and Vingegaard are in a stage race, few others stand much chance; when they are not involved Roglič (really from the previous  generation of Slovenian cyclists, and having taken up cycling after a skiing accident) comes to the fore, and in less prestigious races other cyclists emerge from the péloton  to win - and so  on all the way down the pecking order.



Anyway, now we look forward to the Tour soon.  It is coming by Montpellier but not, I think, very near us unlike the two years soon after we arrived when it passed by  the end of our road.  They will be going up Montmartre on the last day in Paris, a thing some riders think is risky but will certainly add variety to the sprint round the circuit of the Champs Elysées










Cycling in the summer sunshine

By [email protected] (Jon North)

A short post this week.  The cycling season is with us (for us two, strictly as tele-spectators) - there have already been major internationsl races, but the Criterium du Dauphiné is the first of the year in France where the major contenders for the Tour de France  all show up.  This week the weather is getting warmer, and it's dry, so the scenery is a real pleasure in the early summer sunshine.  Geographically the Dauphiné is the mountainous region around our old twin area, the Diois, but the race spreads its route a long way to the north.  By the fourth day as I write it has more or less reached Valence passing through the rolling countryside of central France.  Mid-week we'll have the time trial, and then three tough mountain stages to finish thte week

The first days have gone more or less as expected - Pogačar, Vingegaard and assorted Dutch and Belgian riders up the leader board, the right mix of French riders near the top to keep the local interest up, though never quite strong enough to get right up there.  Over the first three days the lead changed, but we'll see by the end of the week when the mountains take their toll.  Meanwhile the scenery is a joy to watch as always in televised cycle races.  It is a shame the riders do not see it, especially (they say) because racing has speeded up so there is no time to admire views.  The normal speed on the flat is faster than a town speed limit for motors.

Thhis past week has seen the start of resurfacing work on the D24 road past our little cul-de-sac.  Slow work made even more sluggish by the bank hoidays that litter the month of May.  But for all the anxiety it provokes for me, the reality is that scarcely  anything seems to be happening.  Pictures of the preparations and improvided parking follow.


Having started talking about cyclists like Pogačar I needed a č, but the special ALT+ 0269 code I tried did not work (it is simple on the iPad) so I had to cut and paste it from a website!  The petty trials of modern life!  

Living in one place, citizen of other

By [email protected] (Jon North)

The wonderful flowers of the ornamental grenadier (pomegranate) whose hedge blooms year on year 




Old news for most of you, when we moved to France we were citizens of the EU  Now, thanks to what most people now see was a political  mis-step, the UK is well and truly Brexited  The rather mealy-mouthed stance taken by the so-called Labour government led by Keir Starmer is to try and  creep back in without too many people noticing.  Politics in like that, compromising in plain sight, watering down principles on the way.  So capping and removing welfare benefits is dressed up as financial prudence and the poorest people struggle more while better-off people like us are cushioned at every turn.  


I have recently sent in our French tax return for 2024 (calendar years here which have to be jiggled into line with British April to March financial years, since we receive our pensions from the UK.  I am always nervous about this, but generally there's no need provided the formulae on my spreadsheet are entered correctly, but one by-product of the cross-checking I always do to be sure is that year by year the gap  between Mary's income and mine shrinks - the bulk of my pension comes from a fixed-sum pot, while Mary and I both have British OAPs which are triple-locked so go up by more than the rate of inflation.  It would take a long while for her income to approach mine, but it is getting nearer every year.


This year we have been more than usually anxious about money, because we rely on our Brtish bank accounts for everyday purchases, and every now and then there is a glitch when someone elsewhere in the world decides to steal money from us.  Luckily our banks are on the lookout for this and twice (once on a French account, another on a UK one) we have had to cancel cards and wait  for new ones to come.  Last time the swindlers actually got their hands on a lot of money, but the French bank refunded it quickly.  This week we received a letter asking us to phone the bank, and then had to go through the meticulous checks to get through to a real person.  This one was in India or similar, and of course you always have to remain calm despite the feeling of advancing panic.  But all's well that ends well.  We keep reminding ourselves that the people who work in the call centres have tough jobs,  are not to blame for the processes they have to operate and have little room for discretion.

I am writing having just been out successfully to buy fans which we hope will moderate the heat to come.  For the last several years we have been too late, none left in shops, but this year we found what we wanted.   Many others we know have air conditioned houses, but we have decided not to go  down that road - like swimming pools which many friends have, we realise that they are expensive and troublesome luxuries - now, with my legs being as they are, even geting out of a pool would be tricky and I have taken to having shower rather than even an occasional bath.

a nearly deserted town centre after a visit to the local museum 

Even more than the excesses of Trump, my mind has been occupied with the excesses of the Israeli government.  More than ever, I find it impossible to relate its obscene actions in any way to the presence or absence of antisemitism, and I know many Jewish friends feel the  same.   I think the world is anaesthetising itself to destroying human life, easier and easier as the technology makes the distance between atacker and attacked ever greater, and the chances of innocent loss of life likewise.

As we approached a beautiful sunny weekend I was stranded at home while M is equally left in the lurch, waiting for the breakdown after our car locked her out. We have had a succession of mishaps with the car (two punctures, then this) which makes us all too aware how dependent we are on the car.  It is only a question of waiting, but as we both suffer from age and infirmity  I am seriously thinking of a second vehicle.  This is very unecological but we could afford it.  In the end it turned out some tiny ball-bearings had got trapped in the ignition keyhole.

On top of that, the main road to our house is to be closed for resurfacing for the next fortnight.  There are ways round it,  and the whole hting has been well signalled, but with our luck the visitors we expect next week may have problems.

Two bits of cheer this weekend - Simon Yates did an amazing ride uphill on a gravel track to overtake the then leader of the Giro d'Italia and effectively winning the multi-stage race.  And today thanks to the BBC still available here we can hear one of our favourite pianists Angela Hewitt interviewed.  

poppy time here - usually en masse in fields, but this one outside our front gate!





Longer days

By [email protected] (Jon North)

A headline in the local paper (mid-May) says there is a shrinking number of readers of books in France - according to the survey organisation Ipsos 63% of French people read fewer than 5 books a year.  In this house we do our best to keep the numbers up, but although Mary is a loyal visitor to our local library my reading is almost all on electronic devices and I'm not sure how that is included in the statistics.  Whatever, we in this house read a lot - a silent house more often means we are reading than absent.  We are, as they say, big readers, I mainly in English, Mary now mainly in French.  I do admire this, but I would be too slow if I tried, always stoppping to look up  words.  But we read in French in a group twice a week, with native French support, and are currently working through a history of Algeria and a translation of Alan Bennett's The lady in the van, very different and both very enjoyable though the history of the French in Algeria is much less cheerful.

My diary, and from time to time this blog, have frequently focused on my leg pain - three overlapping phenomena, arthritis, sciatica and (oh dear) gout as well as general aches and pains that the French lump together as courbatures.  Gout is, of course,  a result of drinking alcohol.  Well, it is avoidable but I ask myself how being a wine-lover is compatible with avoiding it.  So, moderation in all things, but it shows on my frequent blood tests so my doctor is 'aware' - he often mentions the uric acid but seldom directly talks about drinking less.  However, I have been presecribed a kind of trolley I can walk with and rest on if necessary.  Unfortunately so far it is not much good for me - I prefer to continue with my stick.

  


This had long since ceased to surprise me, since French culture and wine are intimately bound up with wine my present doctor refers to the subject obliquely via the annual reports from the blood lab - our previous doctor, now retired, did not mention it at all, adhering probably to an old French culture in which drinking wine was more commonplace.  In the UK medics often talk about drinking too much.  Someone gave me a book (in French so I am  only slowly reading it) about alcohol at the time of the French Revolution, before which it was apparently only consumed by people of a certain (upper) class.  So not at all commonplace until the 19th century,  and now 200 years later, the press is full of reports of declining wine consumption.

My leg pain has intensified, and tests and treatments are on the horizon.  I have become a very slow walker although I can still manage, and luckily I can still drive so things will be easier once I can pick my way through the French bureaucracy to  get preferential parking.  Most of the treatment I use at present is in the shape of pills relieveing pain, but a treatment I use daily now which is non-chemical is TENS - the French use the English phrase, abbreviated from Transcutaneous Electrical Nerve Stimulation

We have just revisited a restaurant,  La Maison Soubeiran in Lunel, which is becoming one of our favourite places to eat - a small family business, friendly with beautiful  food.  The walls are decorated with photos of Jane Birkin and Serge Gainsbourg.



Although this post is mostly about current things, I'll add one other thing.  Since we visited Armenia a few year ago we have been interested in the country, so I picked this up  from the European Correspondent newsletter this month and thought it worth repeating:

How Armenia is becoming the region's only democracysort of (by Nerses Hovsepyan)
In 2018, Armenians pulled off something rare: a peaceful overthrow of a corrupt government. What started as street protests led by ordinary citizens grew into a movement that toppled Serzh Sargsyan's long-standing regime. Since then, the country has taken small but important steps toward democracy.  Elections aren't guaranteed to favour the ruling party, opposition leaders aren't silenced, and media outlets have more freedom than ever before. This might not seem remarkable to the average European, but in a region where autocratic rule has been the norm for decades, Armenia's gradual shift is a noteworthy exception. 
In Azerbaijan, elections are largely a formality, and Iran, well, is Iran. In Türkiye, the government regularly throws opposition politicians into prison, along with journalists and protesters. Meanwhile, Georgia, once the democratic leader of the region, has been sliding toward authoritarianism (which you already know if you've been reading us). To illustrate this: Georgia's press freedom ranking fell from 60th to 103rd since 2013, while Armenia's improved from 102nd to 50th in the same period.  Before 2018, Armenia appeared locked into an authoritarian trajectory similar to its neighbours, with Russia influencing every aspect of its economy and politics: Moscow controlled 95% of its foreign trade, all major infrastructure, and even its border security. 
The Velvet Revolution didn't just topple a corrupt government; it began unravelling this decades-old dependence. Today, while still formally allied with Russia through the CSTO, Armenia has frozen its participation in the bloc and is actively but carefully pursuing an EU membership application – a geopolitical reorientation unimaginable before 2018.  The largely peaceful 2018 Revolution began because Armenians were fed up with a corrupt regime that had hijacked Armenia's democratic promise while tightening Moscow's grip on the country. It was led by Nikol Pashinyan, who has been prime minister ever since, and was dubbed 'velvet' in reference to the nonviolent 1989 Czechoslovak Velvet Revolution. 
Seven years after the revolution's euphoric promise, Armenia's democracy remains a work in progress. Yes, Armenia has seen peaceful power transfers, and opposition parties can now operate more freely. But the country still faces serious challenges.  The judicial system is slow to reform and remains deeply mistrusted. Media outlets, while less restricted, are still influenced by political and business interests. LGBT+ rights remain a thorny issue – queer events are frequently canceled under threats, and hate crimes often go unpunished.  For Armenia's fragile democracy to survive and grow, it needs sustained support – financial, diplomatic, and, given its security challenges, military – especially from the European Union. With authoritarianism tightening its grip across the region, from Azerbaijan's iron-fisted rule to Georgia's democratic backsliding, the threat of Armenia slipping backwards is all too real.
Our one trip to Armenia and Georgia was several years ago now and a plan to revisit with friends was stymied by Covid.  Now Mary and I have more or less decided not to fly again (our friends still travel a lot: they like others we know here are originally from other parts of the world and so have diverse reasons for wanting, needing to fly).

All 3 tortoises are thriving after hibernation for the 2 older ones - the little one still lives indoors!


20 years in the south of France

By [email protected] (Jon North)



Not everyone knows exactlyu where we live in France, so here is a recap.  Next year we'll have been in Lunel for 20 years.  We have few regrets other than distance from family.  We are midway between 2 historic cities, Montpellier and Nîmes, on a rail link which can tansfer us rapidly onto the TGV line to Paris, and with 2 local airports less than 30 minutes away though we rarely fly now.  We are close to the A9 autoroute (the busiest motorway in France apparently) which takes you quickly t o Spain, Toulouse and Bordeaux as well as to the A7 north-south route up the Rhône valley.  Lunel is less than 10 km from the Med,, and not much further from those hills to the north, the inland Cevennes; but we often escape the heavier rain inland - the risk here is often too little rain rather than too much.


Another crop of lemons on the way

I started this post at the end of April in bright sunshine after a quick overnight shower - nevertheless I was able to mow the lawn first thing in the morning, and  (starting early) I have also been for my annual round of blood tests.  Like a lot of French healthcare these are precautionary - an underactive thyroid is the only known concern, but there are 15 tests on the prescription.  We find the blood testing service very efficient, and for those like me who wake early the lab opens at 6.30!  And by the end of the afternoon the results were with me by email - all well except the marginally high uric acid which I know is the result of liking alcoholic drinks, and causes twinges of gout.  The price of being a wine enthusiast!



tortoises sunning themselves this spring

Some lovely white flowers from the garden this Mayday, and of course the white flower sold everywhere in France today is the lily of the valley.  It has been a flower symbolising good luck in France since Charles IX in the 16th century, and has been officially recognised for the Fête du Travail since 1936.  It is pretty but deadly poisonous, and we have none in our garden.  The production of the flowers is a multi-million euro market apparently centrered around Bordeaux.



The yellow iris is called baroque prelude, one of Mary's favourites

Reading - Eleanor and Siberian pianos

By [email protected] (Jon North)

 

Judas tree in full flower at our Aquitaine hotel

I am writing this over the Easter weekend and our first afternoon watching cycling.  A thrilling circuit race in Holland saw the Dane Skjelmose beat Pogacar in a photo finish.  We look forward to more in the build-up to the Tour - French tv does these events proud.

We have just returned from our 4,000 km round trip to Brittany to see Sam, Sas and Ben.  The drive back was OK and we can manage 4-500 km a day without too much trouble, but it can be tiring, and we spent a couple of days doing not much since our return.  This blog will be mostly about my/our reading, which occupies a lot of our time, as well as about listening to music.

For many years I have kept lines of communication open through various email links and this blog as well as on Facebook.  I think every one of my contacts is someone I know - if not a close friend, someone I have good reason to be in touch with, and almost never respond to   'friend requests' out of the bllue.  I have a couple of 'not Facebook' lists and some individual correspondents I write to separately.  I think it is important to match people's wishes however varied.  But every now and again a new link to an old friend on Facebook pops up.  It is the easiest latform to combine pictures with text, and as an avid photographer I am always glad to chat in pictures as well as in words.  The one thing I find difficult is the intrusion of unexpected sounds, usually when a video or someone's slide show blares out music.  We listed to a lot of music on the radio, but I do think people should be able to choose when and if there is  sound.  Mini-rant over.


Despite our efforts to improve our French and become more integrated here, there are some things British we value, especially listening to BBC Radio 3.  So we have been disturbed, angry even, about plans to restrict overseas access to Radio 3 which are postponed but not abandoned (tv has long been difficult but we are adapting to the things we enjoy  on French tv and don't miss much of the UK output - maybe cricket!).  Re Radio 3, he stupid phrase 'rights issues' and the claim that it is to 'improve the service for listeners' are incomprehensible.  We have always paid, and as it happens still pay, all our taxes in the UK even though we are registerd to pay taxes in France; and if necessary I would pay a charge to access BBC, but no such offer has been mentioned. We are of course not the only people affected and there have been similiar comments from others in the expat press.  Heaven knows whose rights are involved - certainly not ours.  I would use the phrase 'mean-minded' if I thought there was any actual mind involved, not just faceless bureaucrats saying 'nothing we can do guv'.  Rant over - we are of course investigating ways round (VPN etc. etc..) , and I supppose it is at least a way of keeping the brain active.


In the last blog I mentioned Eleanor of Aquitaine whose biography Mary is now well into.  A lot of her historical presence is due to her amazing longevity for the period, since the first part of her life  was mainly child, wife and prisoner.   Alison Weir, the author of the biography, says "She was christened Aliénore, a pun on the Latin alia-Aénor, ‘the other Eleanor’, to differentiate her from her mother" - said mother being Aénor of Aquitaine.  The biography is well-written and although the first half is largely about the blokes Eleanor was married to - the king of France, then Henry II of England, whose kingdom started out including Aquitaine, so the wester part of current France, the biography becomes more and more about her as her husbands and sons fell by the wayside.  The sons including another Henry (crowned by his father as ' the Young King'), who died before his dad, then Richard who was not quite as rosy a personality as the myths and films suggest, and then John who seems to have been not quite so bad as his reputation suggests.  But they were all medieval monarchs, and as we are reminded daily even being elected (let alone real demagogues) does not prevent brutal behaviour.


While imprisoned in France, waiting for an extortionate ransom, Richard "had taken to composing poems and songs to express his feelings, the most famous of which is ‘J’a nuns hons pris’ – ‘I have many friends but their gifts are few . . .’ In it, he refers bitterly to Philip, ‘my overlord, who keeps my land in torment’ in contravention of his feudal oath. He also complains that everyone has forsaken him. This song, one of only two of Richard’s compositions to survive, was written in Provençal with a musical score, and was dedicated to his half-sister, Marie, Countess of Champagne."  There is also a Nottinghamshire connection - Alsion Weir continues "On 2 April, Richard and Eleanor rode to the royal hunting lodge at Clipstone (now a ruin known as King John’s Palace) in Sherwood Forest.  The King had never visited Sherwood before, and it ‘pleased him greatly’.  This is the context in which many later legends of Robin Hood were set, but the evidence for Robin Hood’s identity is sparse and confusing: if he existed, he probably lived in the thirteenth or early fourteenth century. It was not until 1521, in the Scottish writer John Major’s book, The History of Greater Britain, that the Robin Hood legends were set in the reign of Richard I".  I will always remember Kevin Costner's Robin leaping from his boat by the White cliffs  straight into Sherwood Forest - time travel indeed in an age when journeys took ages.


But my reading is eclectic  - one book I  have since read is Sophy Roberts' The lost pianos of Siberia.  Apart from making you feel very cold just imagining the setting and the lives of many of those she travelled to meet in trying to track down the instruments, the subject is not only explored for its own sake but to illuminate the old and more recent history of the area, the USSR and the Soviet era.  Some of the brutal hardship and rank cruelty she describes is difficult to take in, the harshness of the Tsars mimicked later by the Stalinist and Soviet versions of repression.  The book nevertheless expresses the love and passion of the author for pianos and their music.

Siberia of course borders China, and we get glimpses of the forces ranged against the instrument and its music: "Mao Zedong’s widow, who was fond of piano music, didn’t quite manage to save the instrument from its unpalatable Western reputation. ‘During China’s Cultural Revolution,’ writes one leading historian, ‘the piano was likened to a coffin, in which notes rattled about like the bones of the bourgeoisie".  But in among the incredulity of many people she met that she should go all that way in the cold looking for pianos which had long since been neglected and forgotten, there were touching encounters with both instruments and the human beings that owned and played them.  An unexpected pleasure to read.

One other thing about reading.  In our French conversation groups we read aloud a French text and translate bit by bit into English (our French helpers have an easier time reading and a harder one translating).  Our current Tuesday text is Alan Bennett's La dame à la camionnette (The lady in the van) which we Brits know quite well from, among other things, the tv film with Maggie Smith.  The French trtnaslation is very good, and everyone is amused and entertained by its wry humour.  It's quite a short text, so we shall have to start searching for a new book soon.

A separate group on Tuesdays also works in French and English
As we return to the regular routines of our life in France the bright light of summertime has been enhanced by the colours of spring - more than fifty shades of green along the roadside and in the garden, and the endless pleasure of roses and irises re-emerging.  


I can't finish without a brief reference to the world around us, a different kind of careless brutality which is on all our minds.  Another kind of listening we often turn to is podcasts, and the clearest views we have heard recently of the situation in the US has come from Timothy Snyder whose books and podcasts I've mentioned before.  The Colin McEnroe show has an hour-long interview with Snyder, one of the frew people I've heard to refer to  comparisons between the Nazis and the current era with authority and balance.





On holiday

By [email protected] (Jon North)

 


This is a story of our trip to spend time with Sam, Sas and Ben in Brittany.  We drove north in fairly short stages, staying in hotels for a couple of nights on the way.

I have just finished reading Allison Weir's excellent biography of Eleanor of Aquitaine, and have realised that our route up the western side of France is through the heart of her domaines - the motorway is for a time called the Aquitaine, with bridges and service stations to match.  and from the start on past Bordeaux we have also  followed the track of the Canal du Midi.  The Canal is nourished from lakes created alongside in places like Saint Ferreol near Revel which we recently saw while visiting Barry.  So place names and landmarks recall two worlds which have been part of the recent background of our lives and which are now accompanying us on our travels.  We have been incredibly lucky with weather - spring has sprung with pink judas trees and bright yellow rapeseed fields lining the motorways, and it is so warm in the day that Mary had to buy summer clothes, though in Brittany the nights are chill and north-westerly wind is also cold.

The first night was in a hotel, the Rabelais near Niort (a place frequently in Eleanor's itineraries) and the second was in Landernau, from which we drove for a sight of the sea.  Finistère is not highly commercial, and fairly sleepy.  And a long way from the rest of France.  I realised that the Pointe de Penmarch, for which a brand of sardine we often eat, is at another corner of this peninsula, but too far for lazy octogenarian holidaymakers to drive, although we were tempted by a splendid museum of sardines and tinned goods I saw advertised.  The Breton language is strange to look  at (on all the signs)

We are having a lazy time with Mah Jong in the evening and  (for those who walk faster than I) a stroll to see the local scenery, but basically it is a lovely relaxing week with Samuel, Saskia and Ben.  Nice lunch in Brest once we fought our way past huge tramway roadworks, nothing people from Montpellier would be surprised by.  Discovered bijou bakery in the local village Bourg Blanc on the way back from Brest.



Later in the week we went to one of the nicest restaruant meals we have had in ages, at the small and unpretentious Peck & Co



A sunny April

By [email protected] (Jon North)

A profusion of irises this spring - more to come

 This is a roundup before we set out on a break with family for a fortnight or so.  This weekend we are looking forward to a wine tasting with our regular circle of enthusiasts, then we have a varied and busy week - culminating in a concert for Mary in the nearby Temple de Mus before we set out on our travels

My head is reeling today after the forced entry on police into Westminster Friends' Meeting house and the arrest of half a dozen women peacefully meeting there.  With the scarcely credible paranoia over the Atlantic, it is still a shock to find a British govt led by an ex-director of public prosecutions engaging in this kind of gross over-reaction.  Though to be honest, since people protesting by climbing on motorway gantries incure draconian prison sentences I guess nothing should surprise me.  As an avid reader of history books I see parallels in past events, but more fool me for thinking that we are more humane or civilised now.

This really belongs inthe wine blog, but since I am writing here I'll mention a great outing, these days quite rare to a wine produced north of here wiht our wine tasting group yesterday.  I can do no better than copy the report Luc wrote of the visit - above, with apologies for fuzzy quality.  But Luc's friendship (with hhis loavley partner Jacqueline) and expertise over many years has been one of the highlights of our time in France.


We are in a bright and very breezy time, the Mistral blowing hard yesterday, a cold wind which can take you unawares.  Yesterday I left a door open, and heard a crash like breaking glass, it was almost my entire toolkit  falling off a set of magnetic racks.  Luckily not glass, just time taken to pick the .... lot up which is good for my bending.


A welcome phone call from Ed has taken our attention, so I'll finish now and try not reflect too much on the ills of the world and the stupidity of the human beings who seem to be in charge.


A creaky old age

By [email protected] (Jon North)


I have just made a list for my doctor of the various aches and pains I have, partly not to forget any in my struggles with French language, partly to say that while all bug me from time to time, none is any longer worth a special trip to the x-ray or scanner.   The diagnonis of one only distracts from the general loss of mobility - these days I can walk less than a km without difficulty.  But I can walk, and Mary and I have just visited the aids and appliances shop to order a stick with a built-in seat - we have a vineyard visit coming up, similar to many we have done many times with frequent stops for tasting and food, and having a place  to rest and enjoy will be good.


One event that came round once again last week was our Danish friends' annual Danish lunch, a marvellous few hours with specialities icnluding many kinds of preserved fish, pork and more besides.  We shall miss our friends when they finally move back to Denmark after 20 years or so living close by in Sommières.


We are recovering from  a scam where one of our credit cards was robbed of around 3,000 euros.  The bank has been very helpful and there is every chance we'll get the money back, but you never get over the feeling of having been stupid in responding to a phone call and forgetting the obvious safeguards.

Another good crop of lemons on their way to pickling

Spring has sprung with high winds and rain blowing across - an excuse for hunkering in with a fire, though I read today of yet another warning that wood fires are too polluting.  Cosy though.

The ever-changing sky to the west of our house


Reflections

By [email protected] (Jon North)


We have just been on a short trip away, to visit a friend near Toulouse who is well into his 90s.  Barry lives in a rambling old house in the countryside - he and his then partner Peter had moved these from London many years before, having started buying and selling antiques in London, and continuing dealing and collecting in France.  Barry was my fellow tenor in the Canonbury Chamber Choir and continued singing in French choirs for many years - Peter died over 20 years ago.  Barry is still holding his own against the pressures of old age, adjusting to the more restricting boundaries of a life more hemmed in by age and infirmity.  In the random lottery of health and wellbeing which affects us all as we age, he seems to be surviving well.  Thinking of our own luck in surviving to good ages in reasonable health, I can't help also thinking of those of our family and friends no longer with us, and of others suffering from severe illnesses.  But I still have many years ahead to reach Barry's age, and Mary nearly as many.

Our current reading in our Tuesday language group is La fabrication de l'aube (the making of the dawn), by Jean-François Beauchemin.  It is short, elegantly written but not easy reading.  Essentially, it's the musings of a seriously ill man who expects to die (but evidently does not because here he is writing the book).  I often say it does not really matter what we read if it is in French; and in fact I find it good for a wide variety of phrases and expressions which are in common use but in less abstract contexts.  So it is informative, and good for our language skillls, but not necessarily entertaining.  For me, the interesting thing has been that it reflects my experience of waking from dreams which stay in the mind and seem fairly realistic although they are clearly not real.  This author's near-to-death musings, oscillate with images he has of his relationships with family and reflections on his life experiences, and rang bells for me...

One of our language groups here last week

Our short trip into   the Haute Garonne has been spiced up by very high winds which discourage tourism but, in sheltered spots, offer beautiful light and sunshine.  It is not a wine area, but we have taken advantage of the latest Lidl wine fair to stock up on bottles and appellations we know quite well!  Now we move into the lighter days of March and look forward to clocks going forward too in a couple of weeks.  Happy Easter to everyone!




Long goodbyes

By [email protected] (Jon North)



As I write we have just enjoyed a brief visit from our son and daughter-in-law from the UK - they have busy lives and we are very pleased when they can spare the time to visit us.  Now we are planning a family get-together in Normandy at Easter, and looking forward to a visit from Judi from the USA in the summer.

We are often reminded of our advancing age and infirmities, and of course we try to remain positive.  In any case we realise how much better off we still are than many friends and family members with illnesses and helath problems.  And we have lost valued friends here this year, including Clive Almond who was HM Ambassador to the Congo in the 80s and 90s.  Clive was the latest of our friends here whom we through the conversation group which has existed in various guises since we joine it in 2007.  An inevitable conseqence of aging is that many good friends now live on only in memory.

Our reading in French recently has been about French history, much of it around the German occupation in the second world war (we have just finished the book  La vie des français sous l'occupation by Henri Amouroux), so our minds have often been on the old soldier Philippe Pétain.  He had acquired the status of national hero in the first world war, and then set up the Nazi-tolerated national government in France, based in the spa town on Vichy in North-west France.  We have a lovely set of clay figures (santons) given to us by our Die twinning partners, a crib scene we set our every year (to which, as you can see some spurious extras have been added) and reading Neil Acherson's account of Pétain's trial (he was convicted of treason after the war but reprieved by de Gaulle) I was intrigued to read that in one village  at least "families at Christmas decorate their crib with santons – figurines of the Holy Family, the three kings, the shepherds, an angel. But the old man was holding out an extra santon. It was a tiny statuette of Marshal Pétain. He is leaning on a stick, wearing his immaculate marshal’s uniform with the Verdun medal. His eyes are a childish blue, his hair and moustache snowy white: a perfect grandfather for the ‘enfant Jésus’ and perhaps for a certain French generation. Had he not promised them in 1940, in their hour of bewilderment, ‘the gift of my person’?

Quite a few families in the village added a little marshal to their crib, that first Christmas after France’s surrender to Nazi Germany. It had always been a conservative place: royalist against the Republic, deeply Catholic, defensive of its Provençal language and customs, patriotic to the last drop of blood (and today it votes pretty solidly for Marine Le Pen’s Rassemblement National). But by 1943, things looked very different. Hitler was losing the war. The Germans had occupied Vichy France as well as the north, and Pétain, its head of state, had done nothing to stop them. The Resistance (once dismissed as feckless Red troublemakers) was growing much stronger, and the hunting down of ‘collaborators’ seemed just round the corner. That Christmas, the last before the Liberation, the Holy Family had no little china marshals to protect them."

as Epiphany approaches the wise me join the others around the manger - theatre in miniature







Our conversation groups continue - twice a week now, in members' homes.  We have made good friends in this way over many years.  We were delighted that Sophie and Brayton, now back home in Chicago, have finally overcome bureaucracy and taken the next step towards French residency.  They have a lovely old home in Uzès.

Understanding the earlier history around the French Revolution is a more complex business. Not just one revolution but several with gaps of monarchy etc. in between  Hilary Mantel has written a long and excellent book A place of greater safety, a novel set in the  revolutionary Paris of the late 18th century, which I have not yet finished, but this passage struck me "ALL DAY, and far into the night, traffic rumbled through narrow and insufficient streets. Carriages flattened him against walls. The escutcheons and achievements of their owners glowed in coarse heraldic tints; velvet-nosed horses set their feet daintily into the city filth. Inside, their owners leaned back with distant eyes. On the bridges and at the intersections coaches and drays and vegetable carts jostled and locked their wheels. Footmen in livery hung from the backs of carriages to exchange insults with coalmen and out-of-town bakers. The problems raised by accidents were solved rapidly, in cash, according to the accepted tariff for arms, legs and fatalities, and under the indifferent eyes of the police. On the Pont-Neuf the public letter-writers had their booths, and traders set out their goods on the ground and on ramshackle stalls. He sorted through some baskets of books, secondhand: a sentimental romance, some Ariosto, a crisp and unread book published in Edinburgh, The Chains of Slavery by Jean-Paul Marat... Dogs ran in packs, scavenging around the market. Every second person he met, it seemed, was a builder’s labourer, covered in plaster dust. The city was tearing itself up by the roots. In some districts they were levelling whole streets and starting again. Small crowds gathered to watch the more tricky and spectacular operations. The labourers were seasonal workers, and poor. There was a bonus if they finished ahead of schedule, and so they worked at a dangerous pace, the air heavy with their curses and the sweat rolling down their scrawny backs."She was a fine writer.

My other recent reading has included, for the 3rd time, the vast panoply of Dorothy Dunnett's Niccolo books.  She had a boundless eye for historical detail, and her characters are wrapped in a swathe of historical detail across all of Surope and parts of Africa and Asia too.  I always end up realising how narrow our British view of history is, and that includes a very English focus excluding the Scottish perspective she excels in.  I need to start hunting out other series to follow on with.

On top of the Trump re-election, British politics and legal processes are in the eye of a reactionary storm which cannot be teased away from American populism, prompted by Musk and Trump. The silly ‘oh yes it is, oh no it isn’t’ dialogue distracts from serious thought and concerns. Three things are on my mind - the ongoing scandal of the Pelicot story in France, the growing uncertainty over Lucy Letby’s guilt, and this old and well-dealt with history of child abuse which has little to do with racial stereotypes and a lot to do with male perversion. A Pelicot cartoon


A couple of recent Private Eye cartoons

I have become a great fan of photographer Andy Rouse whose photos of my favourite animal, the tiger are here

Another Andy Rouse photo (reminds you of the Tiger one in the gallery)

One of Mary's favourite animals is the kingfisher (which she says she keep just missing while others spot them) - here is a video which is beautiful and amazing

We have just paid 9€ for delivery of a late Christmas card enclosing some photocopied crosswords!!  Life is full of surprises...  And final thoughts for this post:





Christmas at home

By [email protected] (Jon North)


Happy new year to all our family & friends 


We were not quite sure, but I think this was the first Christmas Mary and I had spent on our own.  It has been quiet but enjoyable despite missing the family - we shall see them in the spring. But including the unexpected too - I toppled from my exercise bike on Christmas morning, no harm done, but I spent the  morning in the local A&E being checked for vertigo.  We are so lucky to have the little local hospital which was being built when we arrived in Lunel in the mid-2000s.  Those hearing the news at a distance were a bit alarmed, but I realise thinking back that I have toppled a few times over the years (broken arm about 5 years ago, and several slow-motion tumbles from my road bike when I had one.  Despite often-reported sicatic and joint pain the main concern for me is stability, since I'm a bit top-heavy and tend to move without thinking!  My new year's resolution is to think on and avoid falling, to which end our spelndid factotum M. Beaumann has started to fit a number of rails and grab handles in the showers and on steps.

Christmas flowers from family

I was home in time for a late afternoon roast lunch set off by a wonderful Jacob Savigny Vergelesses.  You cannot begrudge Jean-Michel and Christine their retirement, but I am very grateful that we stocked up with a number of their excellent wines before the label entered the history books.  And back groove by today (28 December) when I had a frosty early-morning trip to the town for greengroceries.  The winter sunshine is glorious.  Here are some photos just after sunrise today.




I am not a great games player, unlike some of our offspring and their broods, but Mary and I have set ourselves the undemanding task of a game of Scrabble an evening over the new year, and yesterday's inaugural game was OK (combined score 565) but we play for enjoyment not competition.

We have enjoyed Christmas music as always, with the Radio 3 offerings including plenty of good carols, augmented by our stack of favourite CDs though we shall give the Vienna new year concert a miss.  Radio 3 presenters are m=like marmite, nice if yuou like them.  Mary is more critical  than I am of some of the newer arrivals, but we did enjoy Sean Rafferty (just retired with a great farewell evening on 7 December with some of our favourite musicians including Ailish Tynan and Sarah Connolly.  I have come across people who could not stand him (the marmite factor again) but the warmth and affection of artists we admire confirms our view of him as Someone we will Miss.


We have a new favourite gastronimic restauruant in Lunel, Maison Soubeiran (I am amused by the coincidnece of the family name from the books and films of Manon des sources which we rewatched with great pleasure a month or so ago) - elegant food from a self-taught woman chef.  You eat surrounded by pictures of Jane Birkin and Serge Gainsbourg.  


We have jsut passed our 18th year here in Lunel and in the house.  Of course, by now and with no more chambres d'hôte the house is too big, but it will take us time to plan any move especially given the beautiful garden space we enjoy.


We have another couple of weeks before regular activities resume - we have a lot of friends in the area who are part of our regular French/English conversation groups, and we'll look forward to getting back with them during January.





... and it's goodbye from him too



Bright sparks in a tough old world

By [email protected] (Jon North)

Our lemon tree has been even more active than usual this year  Most of the lemons have now been turned into limoncello!!


My attention has been taken these past few weeks by two stories all over the press.  In France, but well reported by the Guardian too, the horrifying story of Gisèle Pelicot, drugged and raped without her knowledge by over 70 men - her home was in a village not 100 km from here.   She is our age and had thought she was in a contented family life.  Meanwhhile the abusive activities of the British police continue to fill the news columns as stories of undercover policemen getting into long-term relationships with women on the flimsy pretext of monitoring their political activism.  The psychological trauma they experienced and experience still is related in a gripping and disturbing book Deep deception by 5 of the women who were entrapped and traumatised by the men's lies, sanctioned by the state.  I first read of this in the 1990s and it is still rumbling on, with officiamdom squirming to get off the hook


It has been hard to keep a light tone in the face of  gloomy things like these and the Trump election.


We have enjoyed re-watching the BBC production of Jane Austen's Persuasion and then continuing to re-read and re-watch other Jane Austen, notably our umpteenth return to Pride & Prejudice - have read every work of the book for the first time , and noted how film lakers transform the statey 18th crentury prose into modern tv; and I have been trying to read Hilary Mantel's fictional take  on the French Revolution.  She is a marvellous writer  but iin the face of a horrendously confusing history she can only really convey confusion - slow work.  

Some bark from a tree we recently had cut down - wonderful patterns from creatures  inside

As I write Notre Dame is opening its doors.  We watched a splendid documentary on French tv about the restoration and the 2,000 odd craftspeople who made it happen, and I think we might be tempted to go and see in the coming year - almost unheard of that a whole restoration project should reveal a huge 'new' building all at once.  We still have to look at the recording of the opening ceremony and there is a, early music show on BBC Radio 3 today too.


I've also read Polly Toynbee's good family memoir An uneasy inheritance, a book of two halves - the family beginning is quite engrossing, the modern take on her life and  concerns now, also  interesting but the two parts hang rather uneasily together.  However, I will finish with a paragraph from that part, which echos my experience during my working life of a high point in the early years of the current century.  She writes:

"Toynbee Hall these days has thrown off these upper class do-gooding connotations. In my own time, I was at Toynbee Hall on the morning of Tony Blair’s extraordinary visit, when he addressed the packed lecture hall to make the seminal social policy speech of his prime ministership, on 18 March 1999. To listen to his remarkable Beveridge lecture, he had summoned a hall full of poverty experts, economists and academics, along with social affairs journalists such as myself, to astound us with an unexpected commitment to abolish all child poverty by 2020. Abolish it! Jaws dropped, everyone in the room was amazed and partly disbelieving: did he understand what that would take, the enormous heavy lifting in redistribution and the colossal long term social programmes? 

He did, as did Gordon Brown, and they have never had enough credit for how far they reached their goal before being ousted. By Labour’s departure in 2010 they had reached a third of that target, not only taking a million children out of poverty, with many more lifted up closer to the poverty line, but they had also set up a network of 3,500 Sure Start children’s centres, and a host of good anti-poverty programmes drawn up by eighteen different social exclusion task forces defining every cause and remedy. But all that they achieved was swept away within a month with David Cameron and George Osborne’s first austerity budget in 2010. Had Labour stayed in power, that 2020 pledge might, just, have been realized. There could have been no better memorial to Toynbee Hall’s history or to my great-great-uncle Arnold, after whose social reforming endeavour Toynbee Hall was founded."

Sadly UK children's policy and support for children have gone backwards since 2010.  My resolution for 2025 is to find out more about French policy and practice.



A very happy Christmas and new year to everyone.

Remembering old friends

By [email protected] (Jon North)



This month we said goodbye to Edmond, probably our last dog.  I made this album Our dogs of all our canine companions over the last 45 years - Polly, Ziggy and Ruff, Trudy and Evie, Camel, Arlo, and the twins Elvire and Edmond.  The house seems quiet now, and daily routines have been simplified.

The past month has been busy, with two family groups overlapping so  we had 9 to eat one Friday.  A great pleasure to see Katherine & Ian en route back from a Mediterranean cruise, and the Cassidy family visiting  from England for cousin Chris's 300th birthday treat.  Time flies, and we feel increasingly fortunate to be relatively well and healthy despite the advancing age which so often restricts people including many of our dearest friends.


After the hi-jinks of last months' birthday season we are now into an autumn of French conversation and other regular activities.  I thought it would be interesting to sketch a typical week in our lives.  Monday (when as Flanders & Swann remind us the gasman came to call) is Mary's busy day for cello in termtime.  I have a catch-up day at home and make lunch for us when she pops back beetween lessaons and group sessions.  Tuesday mornings are conversation times almost every week, either here or at someone's house - often somewhere in the Vaunage valley north-west of Nîmes.  The network now called SEVE (never mind what the acronym stands for) which used to be called the Réseau d'Echanges Réciproques des Savoirs or RERS has a membership mainly in the western Gard, on the other side of the river Vidourle.  That river, which is notorious for floods from water rushing down from the Cevennes hills to the north, forms a kind of boundary between the Gard département  and ours, the Hérault which stretches way further west beyond Béziers.  


Our Tuesday language group has run weekly more or less continuously since we arrived here in 2006, and used to focus on anglophones learning French, but more recenly there has been a steady corner of French people wanting to improve their English.  Now we also have a smaller group working on our French, meeting on Friday mornings.  Both usually run from 10-12 followed by a shared lunch, to which people bring delicious food and wine.   Various ways of working on language have been tried over the years, but nowadays for French we tend to have a book which we take turns to read, then translate out loud.





Wednesdays and Thursdays are usually blank days, and the weekends vary a lot.  Gardening and housework happen of course regularly - in the garden Mary is a bit more flexible than me ans so does most weeding, and I mow and prune when needed although we now rely on our splendid factotum M. Beaumann for much of the heavier pruning as well as major repairs around hte house and on the roof!  My floor cleaning days are Mondays or Fridays, at times when Mary is out. 

The murier platane just given its winter trim

On the whole we have a quiet life, and no longer do B&B as we did often in our first years here, but visitors sometimes come in clumps and this month we have welcomed 7 people - my niece and her husband on their way back from their holiday, and my cousin Mary with her family, so we sat down 9 people for one meal last week

We also welcomed son Sam for a few days - a really nice visit, with a couple of meals out  including one at the new Lunel restaurant Maison Soubeiran, a family concern aith a woman chef/proprietor, full of interest and quite classy.  Meanwhile we have enjoyed visting winemakers (large and smaller-scale) and tasting with another group which has met regularly since soon after our arrival here.  




We look forward to a fairly tranquil November and December before the festive season.  Probably another post in the new year.






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.




glam metal modern but also your contractor is going to jail dawg

Sometimes a house is so ugly, disgust boomerangs back into a form of respect.

This is a rare phenomenon, one which should be treated seriously. I’ve been looking at ugly houses professionally for almost a decade now and I can say with confidence that there are only a handful of true goose eggs that meet the mark. This house – this remarkable, revolting house – located, of all places, in Randolph County, North Carolina, is perhaps the finest goose egg a rogue and most certainly confused contractor could possibly lay.

Yeehaw, man. For the curious, the house is on the market for over 500 grand despite being badly sited and measly 2600 square feet. Most of that is devoted to the lawyer foyer which is not the choice I would personally make, but hey, to each their own.

Most of the houses on McMansion Hell these days are submissions from members of the McMansion Hell Patreon, either in our discord server or on our livestreams. This one, however was a total fluke. I came across it by accident because my brother is looking to move to the area in order to be closer to my folks. (I doubt he’d be interested in something this, uh, unique.)

Now, in all these years, I’ve never devoted an entire post to the exterior of a house. As they say, there’s a first time for everything. There is so much going on with this house, all of it in direct opposition to the concept of taste, it requires a deeper investigation than the initial exterior image usually allows. (Also the entire interior is, as one might expect, entirely dark gray, complete with that awful washed out laminate flooring.)

(here is a sneak peek inside. the rest is not really important nor interesting.)

Anyway, without further ado, let’s hit it from the top.

First off, no, I don’t know what is inside this house’s giant, hammerhead-esque forehead. It’s not supported by anything so my assumption is, well, nothing. They put this in there for the sheer aesthetic love of the game.

Second, we have to talk about the siding. It’s vinyl, and $500 grand is firmly in Hardie®™© Board territory. You can already start to see it ripple against the cornice, which is probably fine. The cornices are painted black in a cartoony, Roy Lichtenstein fashion, that is, if Roy Lichtenstein was drunk. The can lights are a nice touch. They help highlight important parts of the facade, such as:

The vinyl siding and black trim will continue until morale improves. Also, I zoomed out here to include the forehead (fivehead?) just because the scale is INSANE – that’s like a 50-50 wall-to-fivehead ratio. Honestly, even though things in the world are pretty dire, I wouldn’t trust that cantilever with my life.

The window layout on this thing makes me wonder if the people who put it together have eyes that can see and a brain that connects to them. Now, I’m not going to invoke the Greek orders or anything, but I am going to say that every single architectural rule is being brazenly broken here. Total impunity. The window and door don’t line up at the top, which is the bare minimum of common decency. Then there’s that little guy pulling a Leeroy Jenkins up in the corner. You go dude.

The trim on these masses is starting to look AI generated but it’s probably just the HDR every realtor uses. The FaceTune of the field. Anyway, I think it’s a bad idea to put what looks like builder grade wood flooring on the outside of a house. It’s giving mold. It’s giving sunbleaching. It’s giving Etsy.

As we can see, another familiar McMansion Hell enemy has also made an appearance: the prairie mullion window. There is no reason to use this window unless it involves building a fake bungalow, but the worst possible place to use it is in this particular situation. It’s the only window with white mullions, it looks weird with the siding, and it’s not exactly “”“modern”“” or whatever this house is supposed to be.

(Often I wonder if some people believe that modernism is just “doing some stuff with squares” and the more squares there are the more modernist it is. Probably not true, but then again, I’m not the one pulling massive profit on houses that look like doo doo so jokes on me.)

Zooming out again because context still matters even in the most nonsensical situations. The funny thing about this house is that the only normal part of it is the front door and even then… what?? Also, look at that siding-less patch of brick on the right. As though to say: haha! Finally, I love how the stairs lead down into a bunch of rocks. Serves you right!

Thanks to advanced screenshotting technology, we can see that there are also prairie mullions on these other windows, it’s just that they’re a more reasonable black. Don’t worry though, the windows are still offensive. They’re two windows stuck together in order to give the impression of a single continuous one. (Remember the inside shot?) Nice try, bucko. Second, why don’t the two windows meet where that little band of siding is? Well, we all know the answer to this question. (We don’t, in fact, know the answer to this question.)

This is my favorite part of the house. It’s almost good, to me, which is why I saved it for last. I have no idea what the hell that glossy composition book siding is but I love it. I’ve never seen it before. I also like how they’re doing a weird entablature-quoin combo thing with it, but only on the right side of the house. There’s some great five-cornice action going on but, thanks to the precedents set by truly mid postmodernism, it works.

Unfortunately there are some downsides here. What’s the deal with that tiny, skinny stone? brick? veneer? Second, why is the siding just hanging off the edge like that? That whole little section where the three (four?) cladding meet is precipitous. The cheapo off-white developer special garage door with the little trad elements is a nice gesture, one that tells you life has no meaning. Why bother?

Anyway, after all that, if we put it all together again, we get this:

If you like this (unusual) post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams. (Don’t worry! This doesn’t adjust for inflation! Now’s the perfect time to join!) By the way: new subscribers can buy a year of McMansion Hell for just $12!

Not into recurring payments? Try the tip jar! McMansion Hell stocks, much like mortgage-backed securities only ever go up!

FYI, this post is now available for all to read!

mcmansionhell:

Bonus Post: The McMansionization of the White House, or: Regional Car Dealership Rococo, a treatise

FYI, this post is now available for all to read!

McMansion Hell urges all New Yorkers to Rank Zohran Mamdani #1 for Mayor of NYC

I know I am just a blog about ugly houses but I want to say something important here: the ruling class in this country does not want you to have affordable housing. They don’t want you to have clean, reliable public transportation. They don’t want you to have access to groceries you can afford. If something bad happens to you, they don’t care if you live or die. If you lose your home, they will hole up in their penthouses, McMansions, and mommy-bought apartments and tell you it’s your fault – but it’s not. It is theirs. Everything from budget cuts to rent hikes, is their fault, their way of ensuring that the city becomes a place made up solely of people like themselves.

Zohran Mamdani is the only high profile candidate I’ve seen in my narrow, millennial lifetime running for any position – least of all the mayor of the biggest city in the country – on a platform of decommodification in terms of access to food, housing and transportation. City-run grocery stores would ensure that food stays affordable because there is no profit motive. While some are critical of his policy of fare-free transportation (as opposed to spending the same amount of money improving services), given the amount of policing involved in watching the fareboxes, it’s something I’m coming more and more around to.

In demanding a rent freeze, Zohran is one of the only politicians able to articulate a direct plan for keeping people in their homes at a time when rent is skyrocketing with no end in sight. Zohran is one of a limited few in this miserable, cowardly country who are willing to speak out for the rights of Palestinians being murdered en masse by Israel. A vote for Zohran is a vote for the idea that better things are possible and, if you ask me, I think we live in such dire times that we’ve begun to forget this fundamental truth: things do not have to be like this. We do not have to live under the jackboot of privatization and exploitation forever. That choice, however, is up to us.

I am forever skeptical of the power of the ballot box to enact lasting change, especially in recent years. In fact, I am the most skeptical of electoralism I have ever been. However, why is it that the right can use what little sovereignty and enfranchisement is available to us to enact sweeping, if devastating changes, and yet, when the opportunity presents itself to the left, all we hear is that such things are no better than pissing in the wind? The answer to this question, of course, is that the ruling class is perfectly content with a party that hinders rather than ushers in change. Zohran may be using the sclerotic party system we’ve been doomed to inhabit, but despite these limitations his candidacy has surged immensely in the last few months, and the momentum of the people is on his side. This may be one of the last chances wherein one can attempt a truly progressive campaign like this.

Now that things are heating up, the ruling class, the backers of Andrew Cuomo, an abuser of women and a man responsible for the untold deaths of the elderly because he valued profits over their lives so early on in the pandemic, will stop at nothing to make sure that Zohran Mamdani does not win, that things stay the same. That the rent goes up, that the grocery prices continue to explode, that New York City becomes the playground of the rich and famous at the expense of everyone else. The party will try to intervene in undemocratic ways just like they did with Bernie Sanders in the 2020 primary. There will be untold lies and accusations, the press will abandon what few journalistic obligations they still abide by, and it will get ugly. There are even rumors that Cuomo will run as an independent even if he loses the primary, which, to be honest, isn’t a bad tactic – he’s just the worst guy to be using it.

I realize this post may be annoying to some (hell, I myself live in Chicago), and I’m sure there’s some rightful criticism for my not having used my blog like this before. (However, for those of you who don’t know, I usually write about all manner of politics in my column at The Nation!) That being said, if you follow me and you live in New York City, rank Zohran #1 and Brad Lander #2. DO NOT RANK SUBURBANITE BIKE LANE-PARKER ANDREW CUOMO.

Anyway, that’s all. I’ll be back with a new McMansion Hell this Friday, so stay tuned.

Bonus Post: The McMansionization of the White House, or: Regional Car Dealership Rococo, a treatise

simulacra for bootlickers

FYI, this post is a little more NSFW than usual with the language.

Usually I think McMansions are kind of funny. Sometimes, I even like them. If I didn’t like them at least a little bit, I don’t think I’d be running this blog for a solid eight years and counting. Some McMansions are so strange and so fascinating in their architectural languages (it’s never just one language) that they test the boundaries of what residential architecture can do on an individual and often ad hoc level. Others so cogently and often whimsically express various cultural fascinations and deeply entrenched American ideas of what prosperity looks like (read: neuroticisms), that, as a sociological text they remain unrivaled.

But some (many!) McMansions are, to put it bluntly, evil. And it is these McMansions that reveal the ugly truth beneath the ugly architecture: that the McMansion is a manifestation of power and wealth meant to communicate that power and wealth to others as explicitly as possible, and that it does so in a country besieged by brutal and inescapable income inequality. In our present political moment characterized by extreme and deliberate cruelty, fear, and baleful destruction of all that is pro-social in nature (and nature itself), I figured it was my duty to show my readers a house that embodies these sentiments, one we can all use to assuage some of our perceived powerlessness by way of mocking the shit out of it.

There are a lot of fake White Houses in the US. Most of them can be found in or around the area of McLean, Virginia, the ground zero of DC blob sickos whose job it is to mete out the ratio of lethality and economy for weapons manufacturers. This one, however, is in Indiana, outside of Evansville. It was built at the apex of theme park mindset in architecture (1997) and is on the market for $4.9 million dollars. However, don’t be fooled by this opening exterior shot. It takes literal drone footage to show how unhinged this house actually is. In reality, the White House facade is akin to the light dangling from an anglerfish, luring the unsuspecting victim in…

Completely NORMAL amount of money at play here!

There are some images historians (if there are any left) will look back upon and say, such a phenomenon truly would not be possible without an abundance of cheap oil and derivative products. Fortunately, in the immanent post-neoliberal chobani yogurt solarpunk utopia, this house will be converted into a half ruin garden (though this will take some time with all the plastic) half public spa complex. A better world is possible, but only if we imagine it.

Pro tip: there’s a way of saying “wow it’s so big” that can land as the most devastating insult in the rhetorical lexicon.

I’ll be real, the armchair thing is a new one for me, too.

(Rise and grindset voice): Inside you are two lions. Both of them are hungry for prosperity and success. Let’s get this bread, king.

Not to do gender here, but compared to the rest of the house, this is a “my wife got her way” room if there ever was one.

Fixer Upper was basically 9/11 for “architectural foam trappings” and “color.” Look what they took from you…

Honestly, what a great juxtaposition. This is what that book The Machine in the Garden was all about. (No it’s not.)

Half of this post tbh:

Well, that’s it for this extremely upbeat and positive McMansion Hell post in this extremely positive and upbeat time we are living in. Join us soon for the concluding part 2 of the Neuschwanstein Castle series, especially if you like beautiful, psychosexually crippled swan boys (real and fictional) and kitsch theory.

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams. (Don’t worry! This doesn’t adjust for inflation! Now’s the perfect time to join!)

Not into recurring payments? Try the tip jar! McMansion Hell stocks, much like mortgage-backed securities only ever go up!!

About my last few months.

About my last few months.

on neuschwanstein castle (part 1)

This is an essay in two parts.

Neuschwanstein Concept Drawing by the stage designer (!!) Christian Jank (1869).

There exist in architecture clear precedents to the McMansion that have nothing to do with suburban real estate. This is because “McMansionry” (let’s say) has many transferable properties. Among them can be included: 1) a diabolical amount of wealth that must be communicated architecturally in the most frivolous way possible, 2) a penchant for historical LARPing primarily informed by media (e.g. the American “Tuscan kitchen”) and 3) the execution of historical styles using contemporary building materials resulting in an aesthetic affect that can be described as uncanny or cheap-looking. By these metrics, we can absolutely call Neuschwanstein Castle, built by the architect Eduard Riedel for King Ludwig II of Bavaria, a McMansion.

Constructed from 1869 through 1886 – the year of Ludwig’s alleged suicide after having been ousted and declared insane – the castle cost the coffers of the Bavarian state and Ludwig himself no fewer than 6.2 million German gold marks. (That’s an estimated 47 million euros today.) The castle’s story is rife with well-known scandal. I’m sure any passing Swan Enthusiast is already familiar with Ludwig’s financial capriciousness, his called-off marriage and repressed homosexuality, his parasocial obsession with Richard Wagner, his complete and total inability to run his country, and his alleged “madness,” as they used to call it. All of these combine to make Neuschwanstein inescapable from the man who commissioned it – and the artist who inspired it. Say what you like about Ludwig and his building projects, but he is definitely remembered because of them, which is what most monarchs want. Be careful what you wish for.

Neuschwanstein gatehouse.

How should one describe Neuschwanstein architecturally? You’d need an additional blog. Its interiors alone (the subject of the next essay) range from Neo-Baroque to Neo-Byzantine to Neo-Gothic. There are many terms that can loosely define the palace’s overall style: eclecticism, medieval revivalism, historicism, chateauesque, sclerotic monarchycore, etc. However, the the most specific would be what was called “castle Romanticism” (Burgenromantik). The Germans are nothing if not literal. Whatever word you want to use, Neuschwanstein is such a Sistine Chapel of pure sentimentality and sugary kitsch that theme park architecture – most famously, Disney’s Cinderella’s castle itself – owes many of its medieval iterations to the palace’s towering silhouette.

There is some truth to the term Burgenromantik. Neuschwanstein’s exterior is a completely fabricated 19th century storybook fantasy of the Middle Ages whose precedents lie more truthfully in art for the stage. As a castle without fortification and a palace with no space for governance, Neuschwanstein’s own program is indecisive about what it should be, which makes it a pretty good reflection of Ludwig II himself. To me, however, it is the last gasp of a monarchy whose power will be totally extinguished by that same industrial modernity responsible for the materials and techniques of Neuschwanstein’s own, ironic construction.

In order to understand Neuschwanstein, however, we must go into two subjects that are equally a great time for me: 19th century medievalism - the subject of this essay - and the opera Lohengrin by Richard Wagner, the subject of the next. (1)

Part I: Medievalisms Progressive and Reactionary

The Middle Ages were inescapable in 19th century Europe. Design, music, visual art, theater, literature, and yes, architecture were all besotted with the stuff of knights and castles, old sagas, and courtly literature. From arch-conservative nationalism to pro-labor socialism, medievalism’s popularity spanned the entire political spectrum. This is because it owes its existence to a number of developments that affected the whole of society.

In Ludwig’s time, the world was changing in profound, almost inconceivable ways. The first and second industrial revolutions with their socioeconomic upheavals and new technologies of transport, manufacturing, and mass communication, all completely unmade and remade how people lived and worked. This was as true of the average person as it was of the princes and nobles who were beginning to be undermined by something called “the petit bourgeoisie.”

Sustenance farming dwindled and wage labor eclipsed all other forms of working. Millions of people no longer able to make a living on piecemeal and agricultural work flocked to the cities and into the great Molochs of factories, mills, stockyards, and mines. Families and other kinship bonds were eroded or severed by the acceleration of capitalist production, large wars, and new means of transportation, especially the railroad. People became not only alienated from each other and from their labor in the classical Marxist sense but also from the results of that labor, too. No longer were chairs made by craftsmen or clothes by the single tailor – unless you could afford the bespoke. Everything from shirtwaists to wrought iron lamps was increasingly mass produced - under wretched conditions, too. Things – including buildings – that were once built to last a lifetime became cheap, disposable, and subject to the whimsy of fashion, sold via this new thing called “the catalog.”

William Morris’ painting Le Belle Iseult (1868).

Unsurprisingly, this new way of living and working caused not a little discontent. This was the climate in which Karl Marx wrote Capital and Charles Dickens wrote A Christmas Carol. More specific to our interests, however, is a different dissenter and one of the most interesting practitioners of medievalism, the English polymath William Morris.

A lover of Arthurian legend and an admirer of the architect and design reformer John Ruskin, Morris was first trained in the office of architect G. E. Street, himself a die-hard Gothic Revivalist. From the very beginning, the Middle Ages can be found everywhere in Morris’ work, from the rough-hewn qualities of the furniture he helped design to the floral elements and compositions of the art nouveau textiles and graphics he’s most famous for – which, it should be said, are reminiscent of 15th century English tapestries. In addition to his design endeavors, Morris was also a gifted writer and poet. His was a profound love for medieval literature, especially Norse sagas from Iceland. Some of these he even translated including the Volsunga Saga – also a preoccupation of Wagner’s. Few among us earn the title of polymath, but Morris’ claim to it is undeniable. Aside from music, there really wasn’t any area of creative life he didn’t touch.

However, Morris’ predilection for the medieval was not just a personal and aesthetic fascination. It was also an expression of his political rejection of the capitalist mode of production. As one of the founders of the English Arts & Crafts Movement, Morris called for a rejection of piecemeal machine labor, a return to handicraft, and overall to things made well and made with dignity. While this was and remains a largely middle class argument, one that usually leads down the road of ethical consumption, Morris was right that capitalism’s failing of design and architecture did not just lie with the depreciated quality of goods, but the depreciated quality of life. His was the utopian call to respect both the object and the laborer who produced it. To quote from his 1888 essay called “The Revival of Architecture,” Morris dreamed of a society that “will produce to live and not live to produce, as we do.” Indeed, in our current era of AI Slop, there remains much to like about the Factory Slop-era call to take back time from the foreman’s clock and once more make labor an act of enjoyable and unalienated creativity. Only now it’s about things like writing an essay.

I bother to describe Morris at length here for a number of reasons. The first is to reiterate that medievalism’s popularity was largely a response to socioeconomic changes. Additionally, since traditionalism - in Ludwig’s time and in ours - still gets weaponized by right-wing losers, it’s worth pointing out that not all practitioners of medievalism were politically reactionary in nature. However – and I will return to this later – medievalism, reactionary or not, remains inescapably nostalgic. Morris is no exception. While a total rejection of mass produced goods may seem quixotic to us now, when Morris was working, the era before mass industrialization remained at the fringes of living memory. Hence the nostalgia is perhaps to be expected. Unfortunately for him and for us, the only way out of capitalism is through it.

To return again to the big picture: whether one liked it or not, the old feudal world was done. Only its necrotic leftovers, namely a hereditary nobility whose power would run out of road in WWI, remained. For Ludwig purposes, it was a fraught political time in Bavaria as well. Bavaria, weird duck that it was, remained relatively autonomous within the new German Reich. Despite the title of king, Ludwig, much to his chagrin - hence the pathetic Middle Ages fantasizing - did not rule absolutely. His was a constitutional monarchy, and an embattled one at that. During the building of Neuschwanstein, the king found himself wedged between the Franco-Prussian War and the political coup masterminded by Otto von Bismarck that would put Europe on the fast track to a global conflict many saw as the atavistic culmination of all that already violent modernity. No wonder he wanted to hide with his Schwans up in the hills of Schwangau.

The very notion of a unified German Reich (or an independent Kingdom of Bavaria) was itself indicative of another development. Regardless if one was liberal or conservative, a king, an artist or a shoe peddler, the 19th century was plagued by the rise of modern nationalism. Bolstered by new ideas in “medical” “science,” this was also a racialized nationalism. A lot of emotional, political, and artistic investment was put into the idea that there existed a fundamentally German volk, a German soil, a German soul. This, however, was a universalizing statement in need of a citation, with lots of political power on the line. Hence, in order to add historical credence to these new conceptions of one’s heritage, people turned to the old sources.

Within the hallowed halls of Europe’s universities, newly minted historians and philologists scoured medieval texts for traces of a people united by a common geography and ethnicity as well as the foundations for a historically continuous state. We now know that this is a problematic and incorrect way of looking at the medieval world, a world that was so very different from our own. A great deal of subsequent medieval scholarship still devotes itself to correcting for these errors. But back then, such scholarly ethics were not to be found and people did what they liked with the sources. A lot of assumptions were made in order to make whatever point one wanted, often about one’s superiority over another. Hell, anyone who’s been on Trad Guy Deus Vult Twitter knows that a lot of assumptions are still made, and for the same purposes.(2)

Meanwhile, outside of the academy, mass print media meant more people were exposed to medieval content than ever before. Translations of chivalric romances such as Wolfgang von Eschenbach’s Parzival and sagas like the Poetic Edda inspired a century’s worth of artists to incorporate these characters and themes into their work. This work was often but of course not always nationalistic in character. Such adaptations for political purposes could get very granular in nature. We all like to point to the greats like William Morris or Richard Wagner (who was really a master of a larger syncretism.) But there were many lesser attempts made by weaker artists that today have an unfortunate bootlicking je nais se quoi to them.

I love a minor tangent related to my interests, so here’s one: a good example of this nationalist granularity comes from Franz Grillparzer’s 1823 pro-Hapsburg play König Ottokars Glück und Ende, which took for its source a deep cut 14th century manuscript called the Styrian Rhyming Chronicle, written by Ottokar Aus Der Gaul. The play concerns the political intrigue around King Ottokar II of Bohemia and his subsequent 1278 defeat at the hands of Grillparzer’s very swagged out Rudolf of Habsburg. Present are some truly fascinating but extremely obscure characters from 13th Holy Roman Empire lore including a long-time personal obsession of mine, the Styrian ministerial and three-time traitor of the Great Interregnum, Frederick V of Pettau. But I’m getting off-topic here. Let’s get back to the castle.

The Throne Room at Neuschwanstein

For architecture, perhaps the most important development in spreading medievalism was this new institution called the “big public museum.” Through a professionalizing field of archaeology and the sickness that was colonialist expansion, bits and bobs of buildings were stolen from places like North Africa, Egypt, the Middle East, and Byzantium, all of which had an enormous impact on latter 19th century architecture. (They were also picked up by early 20th century American architects from H. H. Richardson to Louis Sullivan.) These orientalized fragments were further disseminated through new books, monographs, and later photography.

Meanwhile, developments in fabrication (standardized building materials), construction (namely iron, then steel) and mass production sped things up and reduced costs considerably. Soon, castles and churches in the image of those that once took decades if not a century to build were erected on countless hillsides or in little town squares across the continent. These changes in the material production of architecture are key for understanding “why Neuschwanstein castle looks so weird.”


Part of what gives medieval architecture its character is the sheer embodiment of labor embedded in all those heavy stones, stones that were chiseled, hauled, and set by hand. The Gothic cathedral was a precarious endeavor whose appearance of lightness was not earned easily, which is why, when writing about their sublimity, Edmund Burke invoked not only the play of light and shadow, but the sheer slowness and human toil involved.

This is, of course, not true of our present estate. Neuschwanstein not only eschews the role of a castle as a “fortress to be used in war” (an inherently stereotomic program) but was erected using contemporary materials and techniques that are simply not imbued with the same age or gravitas. Built via a typical brick construction but clad in more impressive sandstone, it’s all far too clean. Neuschwanstein’s proportions seem not only chaotic - towers and windows are strewn about seemingly on a whim - they are also totally irreconcilable with the castle’s alleged typology, in part because we know what a genuine medieval castle looks like.

Ludwig’s palace was a technological marvel of the industrial revolution. Not only did Neuschwanstein have indoor plumbing and central heat, it also used the largest glass windows then in manufacture. It’s not even an Iron Age building. The throne room, seen earlier in this post, required the use of structural steel. None of this is to say that 19th century construction labor was easy. It wasn’t and many people still died, including 30 at Neuschwanstein. It was, however, simply different in character than medieval labor. For all the waxing poetic about handiwork, I’m sure medieval stonemasons would have loved the use of a steam crane.

It’s true that architectural eclecticism (the use of many styles at once) has a knack for undermining the presumed authenticity or fidelity of each style employed. But this somewhat misunderstands the crime. The thing about Neuschwanstein is that its goal was not to be historically authentic at all. Its target realm was that of fantasy. Not only that, a fantasy informed primarily by a contemporary media source. In this, it could be said to be more architecturally successful.

The fantasy of medievalism is very different than the truth of the Middle Ages. As I hinted at before, more than anything else, medievalism was an inherently nostalgic movement, and not only because it was a bedrock of so much children’s literature. People loved it because it promised a bygone past that never existed. The visual and written languages of feudalism, despite it being a terrible socioeconomic system, came into vogue in part because it wasn’t capitalism. We must remember that the 19th century saw industrial capitalism at its newest and rawest. Unregulated, it destroyed every natural resource in sight and subjected people, including children, to horrific labor conditions. It still does, and will probably get worse, but the difference is, we’re somewhat used to it by now. The shock’s worn off.

All that upheaval I talked about earlier made people long for a simplicity they felt was missing. This took many different forms. The rapid advances of secular society and the incursion of science into belief made many crave a greater religiosity. At a time when the effects of wage labor on the family had made womanhood a contested territory, many appeals were made to a divine and innocent feminine a la Lady Guinevere. Urbanization made many wish for a quieter world with less hustle and bustle and better air. These sentiments are not without their reasons. Technological and socioeconomic changes still make us feel alienated and destabilized, hence why there are so many medieval revivals even in our own time. (Chappell Roan of Arc anyone?) Hell, our own rich people aren’t so different from Ludwig either. Mark Zuckerburg owns a Hawaiian island and basically controls the fates of the people who live there lord-in-the-castle-style.

Given all this, it’s not surprising that of the products of the Middle Ages, perhaps chivalric romance was and remains the most popular. While never a real depiction of medieval life (no, all those knights were not dying on the behalf of pretty ladies), such stories of good men and women and their grand adventures still capture the imaginations of children and adults alike. (You will find no greater fan of Parzival than yours truly.) It’s also no wonder the nature of the romance, with its paternalistic patriarchy, its Christianity, its sentimentality around courtly love, and most of all its depiction of the ruling class as noble and benevolent – appealed to someone like Ludwig, both as a quirked-up individual and a member of his class.

It follows, then, that any artist capable of synthesizing all these elements, fears, and desires into an aesthetically transcendent package would’ve had a great effect on such a man. One did, of course. His name was Richard Wagner.

In our next essay, we will witness one of the most astonishing cases of kitsch imitating art. But before there could be Neuschwanstein Castle, there had to be this pretty little opera called Lohengrin.

(1) If you want to get a head start on the Wagner stuff, I’ve been writing about the Ring cycle lately on my Substack: https://www.late-review.com/p/essays-on-wagners-ring-part-1-believing

(2) My favorite insane nationalist claim comes from the 1960s, when the Slovene-American historian Joseph Felicijan claimed that the US’s democracy was based off the 13th century ritual of enthronement practiced by the Dukes of Carinthia because Thomas Jefferson owned a copy of Jean Bodin’s Les six livres de la Republique (1576) in which the rite was mentioned. For more information, see Peter Štih’s book The Middle Ages Between the Alps and the Northern Adriatic (p. 56 for the curious.)

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

New on Patreon: New Jersey Bonus Post (5 additional, “wonderful” rooms!“

New on Patreon: New Jersey Bonus Post (5 additional, “wonderful” rooms!“

new jersey “19th century” “eclecticism”

It’s always funny to me when new wealth tries to imitate old wealth, but in a very specific way: by trying to reproduce old ways of building that are no longer viable via mass produced building materials and contractors who are better than average but still not quite in the legion of the bespoke. It’s rarely the case that houses are fully “custom” these days – the amalgamation of all the different parts in a new formation is the “customization” at work. As we can see in this example, this is a truth that is often covered up by excessive decorating.

This 5 bedroom, 6.5 bathroom house, built in 1997 (shocker) will run you an extremely reasonable $3.5 million big ones, but I say extremely reasonable because it wants to be a $10 million house but doesn’t quite get there - after all, it’s made with drywall. The architectural style is not really anything in particular – though the front entrance would like to recall the Tudors. Really it is trying to emulate an existing pastiche style, namely the eclecticism of the 19th century. It also doesn’t do this well.

No stately manor is complete without dueling staircases. Also, I don’t know how to explain it, but every room in this house longs to be a bathroom. Or a powder room. A really big one. It’s probably the floor, and the wallpaper. This is just the appetizer for the main attraction:

Jules Verne larping is so rare in McMansion Hell that you have to commend them for trying. I’m kind of obsessed.

This room is so important to me. It’s like if an Olin Mills (dating myself here) set was an entire room. A sense of watching someone in one’s own house, performing “dinner.” Also I would slay as the swan knight, I have to say, so I get it.

What happened to baskets hanging from the ceiling and powder blue walls and porcelain lined up on the picture rail?

I have seen columns terminating into soffits that would make Scamozzi cry.

In Big America bathing and lavishing is a spectator sport.

Ok, again, the palette of this house is basically The Polar Express mixed with a very bizarre hotel lobby.

The chimney hole is sending me because that does appear to be a working chimney. Like, can you see the smoke come out? Who knows!

Anyway, happy Thanksgiving to everyone, and I’m especially thankful to the folks who sponsor me on Patreon! If you want to see more scenes from this house, that’s the place to do it!

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

2007-core nostalgia extravaganza

Quick PSA: someone on Facebook is apparently impersonating me using an account called “McMansion Hell 2.0” – If you see it, please report! Thanks!

Howdy folks! I hope if you were born between 1995 and 2001 you’re ready for some indelible pre-recession vibes because I think this entire house, including the photos have not been touched since that time.

This Wake County, NC house, built in 2007, currently boasts a price tag of 1.7 million smackaroos. Its buxom 4 bedrooms and 4.5 baths brings the total size to a completely reasonable and not at all housing-bubble-spurred 5,000 square feet.

I know everyone (at least on TikTok) thinks 2007 and goes immediately to the Tuscan theming trend that was super popular at the time (along with lots of other pseudo-euro looks, e.g. “french country” “tudor” etc). In reality, a lot of decor wasn’t particularly themed at all but more “transitional” which is to say, neither contemporary nor super traditional. This can be pulled off (in fact, it’s where the old-school Joanna Gaines excelled) but it’s usually, well, bland. Overwhelmingly neutral. Still, these interiors stir up fond memories of the last few months before mommy was on the phone with the bank crying.

I think I’ve seen these red/navy/beige rugs in literally every mid-2000s time capsule house. I want to know where they came from first and how they came to be everywhere. My mom got one from Kirkland’s Home back in the day. I guess the 2010s equivalent would be those fake distressed overdyed rugs.

I hate the kitchen bench trend. Literally the most uncomfortable seating imaginable for the house’s most sociable room. You are not at a 19th century soda fountain!!! You are a salesforce employee in Ohio!!!

You could take every window treatment in this house and create a sampler. A field guide to dust traps.

Before I demanded privacy, my parents had a completely beige spare bedroom. Truly random stuff on the walls. An oversized Monet poster they should have kept tbh. Also putting the rug on the beige carpet here is diabolical.

FYI the term “Global Village Coffeehouse” originates with the design historian Evan Collins whose work with the Consumer Aesthetics Research Institute!!!!

This photo smells like a Yankee Candle.

Ok, now onto the last usable photo in the set:

No but WHY is the house a different COLOR??????? WHAT?????

Alright, I hope you enjoyed this special trip down memory lane! Happy (American) Labor Day Weekend! (Don’t forget that labor is entitled to all it creates!)

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

namesake mcmansion

Howdy folks! Today’s McMansion is very special because a) we’re returning to Maryland after a long time and b) because the street this McMansion is on is the same as my name. (It was not named after me.) Hence, it is my personal McMansion, which I guess is somewhat like when people used to by the name rights to stars even though it was pretty much a scam. (Shout out btw to my patron Andros who submitted this house to be roasted live on the McMansion Hell Patreon Livestream)

As far as namesake McMansions go, this one is pretty good in the sense that it is high up there on the ol’ McMansion scale. Built in 2011, this psuedo-Georgian bad boy boasts 6 bedrooms and 9.5 baths, all totaling around 12,000 square feet. It’ll run you 2.5 million which, safe to say, is exponentially larger than its namesake’s net worth.

Now, 2011 was an anonymous year for home design, lingering in the dead period between the 2008 black hole and 2013 when the market started to actually, finally, steadily recover. As a result a lot of houses from this time basically look like 2000s McMansions but slightly less outrageous in order to quell recession-era shame.

I’m going to be so serious here and say that the crown molding in this room is a crime against architecture, a crime against what humankind is able to accomplish with mass produced millwork, and also a general affront to common sense. I hate it so much that the more I look at it the more angry I become and that’s really not healthy for me so, moving on.

Actually, aside from the fake 2010s distressed polyester rug the rest of this room is literally, basically Windows 98 themed.

I feel like the era of massive, hefty sets of coordinated furniture are over. However, we’re the one’s actually missing out by not wanting this stuff because we will never see furniture made with real wood instead of various shades of MDF or particleboard ever again.

This is a top 10 on the scale of “least logical kitchen I’ve ever seen.” It’s as though the designers engineered this kitchen so that whoever’s cooking has to take the most steps humanly possible.

Do you ever see a window configuration so obviously made up by window companies in the 1980s that you almost have to hand it to them? You’re literally letting all that warmth from the fire just disappear. But whatever I guess it’s fine since we basically just LARP fire now.

Feminism win because women’s spaces are prioritized in a shared area or feminism loss because this is basically the bathroom vanity version of women be shopping? (It’s the latter.)

I couldn’t get to all of this house because there were literally over a hundred photos in the listing but there are so many spaces in here that are basically just half-empty voids, and if not that then actually, literally unfinished. It’s giving recession. Anyway, now for the best part:

Not only is this the NBA Backrooms but it’s also just a nonsensical basketball court. Tile floors? No lines? Just free balling in the void?

Oh, well I bet the rear exterior is totally normal.

Not to be all sincere about it but much like yours truly who has waited until the literal last second to post this McMansion, this house really is the epitome of hubris all around. Except the house’s hubris is specific to this moment in time, a time when gas was like $2/gallon. It’s climate hubris. It’s a testimony to just how much energy the top 1% of income earners make compared to the rest of us. I have a single window unit. This house has four air conditioning condensers. That’s before we get to the monoculture, pesticide-dependent lawn or the three car garage or the asphalt driveway or the roof that’ll cost almost as much as the house to replace. We really did think it would all be endless. Oops.

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

the motel room, or: on datedness

I.

Often I find myself nostalgic for things that haven’t disappeared yet. This feeling is enhanced by the strange conviction that once I stop looking at these things, I will never see them again, that I am living in the last moment of looking. This is sense is strongest for me in the interiors of buildings perhaps because, like items of clothing, they are of a fashionable nature, in other words, more impermanent than they probably should be.

As I get older, to stumble on something truly dated, once a drag, is now a gift. After over a decade of real estate aggregation and the havoc it’s wreaked on how we as a society perceive and decorate houses, if you’re going to Zillow to search for the dated (which used to be like shooting fish in a barrel), you’ll be searching aimlessly, for hours, to increasingly no avail, even with all the filters engaged. (The only way to get around this is locational knowledge of datedness gleaned from the real world.) If you try to find images of the dated elsewhere on the internet, you will find that the search is not intuitive. In this day and age, you cannot simply Google “80s hotel room” anymore, what with the disintegration of the search engine ecosystem and the AI generated nonsense and the algorithmic preference for something popular (the same specific images collected over and over again on social media), recent, and usually a derivative of the original search query (in this case, finding material along the lines of r/nostalgia or the Backrooms.)

To find what one is looking for online, one must game the search engine with filters that only show content predating 2021, or, even better, use existing resources (or those previously discovered) both online and in print. In the physical world of interiors, to find what one is looking for one must also now lurk around obscure places, and often outside the realm of the domestic which is so beholden to and cursed by the churn of fashion and the logic of speculation. Our open world is rapidly closing, while, paradoxically, remaining ostensibly open. It’s true, I can open Zillow. I can still search. In the curated, aggregated realm, it is becoming harder and harder to find, and ultimately, to look.

But what if, despite all these changes, datedness was never really searchable? This is a strange symmetry, one could say an obscurity, between interiors and online. It is perhaps unintentional, and it lurks in the places where searching doesn’t work, one because no one is searching there, or two, because an aesthetic, for all our cataloguing, curation, aggregation, hoarding, is not inherently indexable and even if it was, there are vasts swaths of the internet and the world that are not categorized via certain - or any - parameters. The internet curator’s job is to find them and aggregate them, but it becomes harder and harder to do. They can only be stumbled upon or known in an outside, offline, historical or situational way. If to index, to aggregate, is, or at least was for the last 30 years, to profit (whether monetarily or in likes), then to be dated, in many respects, is the aesthetic manifestation of barely breaking even. Of not starting, preserving, or reinventing but just doing a job.

We see this online as well. While the old-web Geocities look and later Blingee MySpace-era swag have become aestheticized and fetishized, a kind of naive art for a naive time, a great many old websites have not received the same treatment. These are no less naive but they are harder to repackage or commodify because they are simple and boring. They are not “core” enough.

As with interiors, web datedness can be found in part or as a whole. For example, sites like Imgur or Reddit are not in and of themselves dated but they are full of remnants, of 15-year old posts and their “you, sir, have won the internet” vernacular that certainly are. Other websites are dated because they were made a long time ago by and for a clientele that doesn’t have a need or the skill to update (we see this often with Web 2.0 e-commerce sites that figured out how to do a basic mobile page and reckoned it was enough). The next language of datedness, like the all-white landlord-special interior, is the default, clean Squarespace restaurant page, a landing space that’s the digital equivalent of a flyer, rarely gleaned unless someone needs a menu, has a food allergy or if information about the place is not available immediately from Google Maps. I say this only to maintain that there is a continuity in practices between the on- and off-line world beyond what we would immediately assume, and that we cannot blame everything on algorithms.

But now you may ask, what is, exactly, datedness? Having spent two days in a distinctly dated hotel room, I’ve decided to sit in utter boredom with the numinous past and try and pin it down.

II.

I am in an obscure place. I am in Saint-Georges, Quebec, Canada, on assignment. I am staying at a specific motel, the Voyageur. By my estimation the hotel was originally built in the late seventies and I’d be shocked if it was older than 1989. The hotel exterior was remodeled sometime in the 2000s with EIFS cladding and beige paint. Above is a picture of my room, which, forgive me, is in the process of being inhabited. American (and to a lesser extent Canadian) hotel rooms are some of the most churned through, renovated spaces in the world, and it’s pretty rare, unless you’re staying in either very small towns or are forced by economic necessity to stay at real holes in the wall, to find ones from this era. The last real hitter for me was a 90s Day’s Inn in the meme-famous Breezewood, PA during the pandemic.

At first my reaction to seeing the room was cautionary. It was the last room in town, and certainly compared to other options, probably not the world’s first choice. However, after staying in real, genuine European shitholes covering professional cycling I’ve become a class-A connoisseur of bad rooms. This one was definitively three stars. A mutter of “okay time to do a quick look through.” But upon further inspection (post-bedbug paranoia) I came to the realization that maybe the always-new brainrot I’d been so critical of had seeped a teeny bit into my own subconscious and here I was snubbing my nose at a blessing in disguise. The room is not a bad room, nor is it unclean. It’s just old. It’s dated. We are sentimental about interiors like this now because they are disappearing, but they are for my parents what 2005 beige-core is for me and what 2010s greige will become for the generation after. When I’m writing about datedness, I’m writing in general using a previous era’s examples because datedness, by its very nature, is a transitional status. Its end state is the mixed emotion of seeing things for what they are yet still appreciating them, expressed here.

Datedness is the period between vintage and contemporary. It is the sentiment between quotidian and subpar. It is uncurated and preserved only by way of inertia, not initiative. It gives us a specific feeling we don’t necessarily like, one that is deliberately evoked in the media subcultures surrounding so-called “liminal” spaces: the fuguelike feeling of being spatially trapped in a time while our real time is passing. Datedness in the real world is not a curated experience, it is only what was. It is different from nostalgia because it is not deliberately remembered, yearned for or attached to sweetness. Instead, it is somehow annoying. It is like stumbling into the world of adults as a child, but now you’re the adult and the child in you is disappointed. (The real child-you forgot a dull hotel room the moment something more interesting came along.) An image of my father puts his car keys on the table, looks around and says, “It’ll do.” We have an intolerance for datedness because it is the realization of what sufficed. Sufficiency in many ways implies lack.

However, for all its datedness, many, if not all, of the things in this room will never be seen again if the room is renovated. They will become unpurchaseable and extinct. Things like the bizarrely-patterned linoleum tile in the shower, the hose connecting to the specific faucet of the once-luxurious (or at least middling) jacuzzi tub whose jets haven’t been exercised since the fall of the Berlin Wall. The wide berth of the tank on the toilet. There is nothing, really, worth saving about these things. Even the most sentimental among us wouldn’t dare argue that the items and finishes in this room are particularly important from a design or historical standpoint. Not everything old has a patina. They’re too cheaply made to salvage. Plastic tile. Bowed plywood. The image-artifacts of these rooms, gussied up for Booking dot com, will also, inevitably disappear, relegated to the dustheap of web caches and comments that say “it was ok kinda expensive but close to twon (sic).” You wouldn’t be able to find them anyway unless you were looking for a room.

One does, of course, recognize a little bit of design in what’s here. Signifiers of an era. The wood-veneer of the late 70s giving way to the pastel overtones of the 80s. Perhaps even a slow 90s. The all-in-one vanity floating above the floor, a modernist basement bathroom hallmark. White walls as a sign of cleanliness. Gestures, in the curved lines of the nightstands, towards postmodernity. Metallic lamp bases with wide-brimmed shades, a whisper of glamor. A kind of scalloped aura to the club chairs. The color teal mediated through hundreds if not thousands of shoes. Yellowing plastic, including the strips of “molding” that visually tie floor to wall. These are remnants (or are they intuitions?) of so many movements and micromovements, none of them definite enough to point to the influence of a single designer, hell, even of a single decade, just strands of past-ness accumulated into one thread, which is cheapness. Continuity exists in the materials only because everything was purchased as a set from a wholesale catalog.

In some way a hotel is supposed to be placeless. Anonymous. Everything tries to be that way now, even houses. Perhaps because we don’t like the way we spy on ourselves and lease our images out to the world so we crave the specificity of hotel anonymity, of someplace we move through on our way to bigger, better or at least different things. The hotel was designed to be frictionless but because it is in a little town, it sees little use and because it sees little use, there are elements that can last far longer than they were intended and which inadvertently cause friction. (The janky door unlocks with a key. The shower hose keeps coming out of the faucet. It’s deeply annoying.)

Lack of wear and lack of funds only keep them that way. Not even the paper goods of the eighties have been exhausted yet. Datedness is not a choice but an inevitability. Because it is not a choice, it is not advertised except in a utilitarian sense. It is kept subtle on the hotel websites, out of shame. Because it does not subscribe to an advertiser’s economy of the now, of the curated type rather than the “here is my service” type, it disappears into the folds of the earth and cannot be searched for in the way “design” can. It can only be discovered by accident.

When I look at all of these objects and things, I do so knowing I will never see them again, at least not all here together like this, as a cohesive whole assembled for a specific purpose. I don’t think I’ll ever have reason to come back to this town or this place, which has given me an unexpected experience of being peevish in my father’s time. Whenever I end up in a place like this, where all is as it was, I get the sense that it will take a very long time for others to experience this sensation again with the things my generation has made. The machinations of fashion work rapaciously to make sure that nothing is ever old, not people, not rooms, not items, not furniture, not fabrics, not even design, that old matron who loves to wax poetic about futurity and timelessness. The plastic-veneered particleboard used here is now the bedrock of countless landfills. Eventually it will become the chemical-laced soil upon which we build our condos. It is possible that we are standing now at the very last frontier of our prior datedness. The next one has not yet elided. It’s a special place. Spend a night. Take pictures.

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

texas gothic revival

Sometimes I just want to get on my hobbyhorse, which for about a year now has been the middle ages but surely will soon be something else. (Please hyperfixation gods, make it financial literacy.) Anyway, I meandered around the nation (online) in search of another opportunity to play another round of America Does Medieval. It took me a while for fortune to reward me but it finally did in the long-running McMansion Hell of Denton County, Texas.

2007 McMansions are pretty rare and it’s even rarer for them to have the original interiors. This one, clocking in at 5 beds, 6 baths, and almost 7200 square feet will set you back a reasonable $2.3 million. We complain a lot about the hegemony of gray these days, but this is hindsight bias. Longtime readers will recall that the color beige walked so gray could run, and this house is emblematic of that fact.

It’s…uncommon to see ordinary contractors try their hands at gothic arches and for all intents and purposes, I think this one did a pretty good job rendering the ineffable in common drywall. Credit where credit is due. Unfortunately the Catholic in me can’t help but feel that this is the house equivalent of those ultra trad converts on Reddit who have Templar avatars and spend their days complaining about Vatican II.

Sometimes I still get the ever-dwindling pleasure of seeing the type of room that has never before existed in human history and definitely won’t ever exist again. Certain material conditions (oil, lots of it, a media ecosystem in which historical literacy is set primarily by cartoons, adjustable rate mortgages) brought this space into the world in a way that cannot be recreated organically. Let us marvel.

Christ might need to be invoked should I choose to make a sweet potato casserole.

You can tell that ornament is fabricated because they made precisely TWO of them that are IDENTICAL. You could have fooled us into thinking a craftsman did this by hand from local Texas marble (or whatever), but alas greed got in the way of guile.

As someone who writes fiction on the weekends, I often feel the acute pain of having an imagination greater than my talent and an artistic vision detached from being able to effectively execute it. In this respect, this room speaks to me.

RIP Trump btw. Don’t know if y'all saw the news yet.

I know a lot about medieval bathing for completely normal reasons (writing fiction, winning online arguments, stoned youtube binges)

I feel like most of my forms of social adaptation as a person on the spectrum comprise of sneaking in my holy autistic interest du jour into conversations as subtly as I can manage. I’m doing it right now.

Okay, so, there were no rear exterior photos of this house because, having used every square inch of lot, the whole thing is smashed up against a fence and there is simply no way of getting that desired perspective without trespassing and that’s a mortal risk in the state of Texas. So I’ll leave you with this final room, the completely medieval in-home theater.

That’s all for now, folks. Stay tuned for next month, where we will be going down a cult compound rabbit hole in the Great Plains.

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

ode to a faux grecian urn

Howdy everyone,

Today’s house, built in 2001, comes to you from, you guessed it, the Chicago suburbs. The house is a testimony to traditional craftsmanship and traditional values (having lots of money.) The cost of painting this house greige is approximately the GDP of Slovenia so the owners have decided to keep it period perfect (beige.) Anyway.

This 5 bedroom, 7.5 bathroom house clocks in at a completely reasonable 12,700 square feet. If you like hulking masses and all-tile interiors, it could be all yours for the reasonable price of $2.65 million.

The problem with having a house that is 12,700 square feet is that they have to go somewhere. At least 500 of them were devoted to this foyer. Despite the size, I consider this a rather cold and lackluster welcome. Cold feet anyone?

The theme of this house is, vaguely, “old stuff.” Kind of like if Chuck E Cheese did the sets for Spartacus. Why the dining room is on a platform is a good question. The answer: the American mind desires clearly demarcated space, which, sadly, is verboten in our culture.

The other problem with a 12,700 square foot house is that even huge furniture looks tiny in it.

Entering cheat codes in “Kitchen Building Sim 2000” because I spent my entire $70,000 budget on the island.

Of course, a second sitting room (without television) is warranted. Personally, speaking, I’m team Prince.

I wonder why rich people do this. Surely they must know it’s tacky right? That it’s giving Liberace? (Ask your parents, kids.) That it’s giving Art.com 75% off sale if you enter the code ROMANEMPIRE.

Something about the bathroom really just says “You know what, I give up. Who cares?” But this is not even the worst part of the bathroom…

Not gonna lie, this activates my flight or fight response.

If you remember Raggedy Ann you should probably schedule your first colonoscopy.

Anyways, that does it for the interior. Let’s take a nice peek at what’s out back.

I love mowing in a line. I love monomaniacal tasks that are lethal to gophers.

Alright, that does it for this edition of McMansion Hell. Back to the book mines for me. Bonus posts up on Patreon soon.

If you like this post and want more like it, support McMansion Hell on Patreon for as little as $1/month for access to great bonus content including a discord server, extra posts, and livestreams.

Not into recurring payments? Try the tip jar! Student loans just started back up!

Hello everyone! The word is out – I am writing a book!

Hello everyone! The word is out – I am writing a book!

If you ever wanted to read a book about McMansions, 5-over-1s, the ignoble toil of architects, ridiculous baubles for rich people, hostile architecture, private equity, shopping (rip), offices (rip), loud restaurants, and starchitects who behave like tech founders, this is the book for you!

Thank you all for your support throughout the years – without you this would not be possible. And don’t worry, I’ll still be blogging throughout it all, so stay tuned for this month’s post.