The McMansion Hell Yearbook: 1975

Howdy, folks! We’re halfway through the 70s, and I thought I’d celebrate with a time capsule house stuck weirdly enough, in the 80s. Our house this time comes to us from Fairfield County, Connecticut, and while it may not be an obvious contender on the exterior, I promise you won’t be disappointed once we head through that door. 

This house, despite its modest exterior, boasts 4 bedrooms, 4.5 bathrooms, and just over 5300 square feet. It can be yours for just over $2.2 million USD.  I know you’re dying to see what’s inside, so I won’t keep you any longer.

Lawyer Foyer

As you can see, painting the walls white did not take the 70s out of this house. The disappointing part is that this is the room with the most vestiges of its 70s past - that wrought iron railing, pink linoleum, and pseudo-gothic chandelier definitely affirm that originally this house was much, much groovier before its 80s redux. 

Great Room

The realtor described this house as “transitional” which in some cases is a polite way of saying “trapped between stylistic movements and terrified to death of choosing one.” 

Sitting Room

Alright, alright, here’s one for the 80s aesthetic blogs. You’re welcome. 

Dining Room

As a form of economic stimulus, I am willing to accept giant cabinets and twee bird knickknacks. Speaking of giant cabinets, that one is, like, hearse-sized. How many candelabras and cloth napkins could one family possibly possess? 

Also, for some reason, the listing did not include any pictures of the kitchen, so we’ll have to go right into the master bedroom. 

Master Bedroom

Even in the 80s, was there ever a time where this aesthetic didn’t look, well, grandmotherly?

Bedroom 2

I’m moving in a few weeks and my back hurts just thinking about trying to lift that furniture!!!!

Bonus Room

I have to give credit where credit is due: this room is cool, and I would absolutely chill in it. Which goes to prove how deeply uncool these rich people are for not using it for chilling or any other activities. 

Rec Room

The drop-ceiling/can light combo is somewhat rare in terms of McMansion bonus rooms, as is that diagonal wood paneling which I unironically stan. Forget shiplap!!!

Alright, that’s it for our interior. Now to check out the rear exterior which proves once and for all that this house is, in fact, a McMansion. 

Rear Exterior

Honestly, I don’t know what kind of house this is - my guess is that it’s, like, a post-split-level, whatever that means. Either way, it’s super tacky and I’m glad I found it so I could share it with all of you. Check back here soon for another 70s house, as well as a much-needed update to the Brutalism Post. 

I know that these are economically uncertain times, but many creators including myself depend on Patreon for most of their income, so if you have a minimum of $12/year to spare and are into bonus content, then do I have some good news for you:

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, weekly drawings, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations but still want to show support? Consider the tip jar! (Tips are much appreciated since I am making a cross country move in two weeks!!!)

Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

#HousingLIVE Join The New Republic’s Kate Wagner for a special after-hours live action version of her satirical McMansion Hell blog. July 14, 2020 at 5.30pm EDT.

#HousingLIVE Join The New Republic’s Kate Wagner for a special after-hours live action version of her satirical McMansion Hell blog. July 14, 2020 at 5.30pm EDT.:

Howdy! Join me at the NewCities New Housing Solutions conference (along with much more important people like Ilhan Omar) where I’ll be roasting buildings and raising money for Moms4Housing! Link to submission and registration above. 

Design in Dialogue - Exhibitions - Friedman Benda

Design in Dialogue - Exhibitions - Friedman Benda:

Howdy folks! Join me on Design in Dialogue tomorrow (Monday, June 15th) at 11AM EDT for a (Zoom) talk on the best and worst impulses in contemporary architecture. More info and RSVP in link. 

How Normie Minimalism and Farmhouse Chic Took Over Contemporary Design

How Normie Minimalism and Farmhouse Chic Took Over Contemporary Design:

Hello! I wrote for Hyperallergic about how minimalism went from high design to normie chic. 

Coronagrifting: A Design Phenomenon

We now interrupt our regularly scheduled content to bring you a critical essay on the design world. I promise you that this will also be funny. 

This morning, the design website Dezeen tweeted a link to one of its articles, depicting a plexiglass coronavirus shield that could be suspended above dining areas, with the caption “Reader comment: ‘Dezeen, please stop promoting this stupidity.’”


This, of course, filled many design people, including myself, with a kind of malicious glee. The tweet seemed to show that the website’s editorial (or at least social media) staff retained within themselves a scintilla of self-awareness regarding the spread a new kind of virus in its own right: cheap mockups of COVID-related design “solutions” filling the endlessly scrollable feeds of PR-beholden design websites such as Dezeen, ArchDaily, and designboom. I call this phenomenon: Coronagrifting. 

I’ll go into detail about what I mean by this, but first, I would like to presenet some (highly condensed) history. 

From Paper Architecture to PR-chitecture

Back in the headier days of architecture in the 1960s and 70s, a number of architectural avant gardes (such as Superstudio and Archizoom in Italy and Archigram in the UK) ceased producing, well, buildings, in favor of what critics came to regard as “paper architecture. This “paper architecture” included everything from sprawling diagrams of megastructures, including cities that “walked” or “never stopped” - to playfully erotic collages involving Chicago’s Marina City. Occasionally, these theoretical and aesthetic explorations were accompanied by real-world productions of “anti-design” furniture that may or may not have involved foam fingers


Archigram’s Walking City (1964). Source.

Paper architecture, of course, still exists, but its original radical, critical, playful, (and, yes, even erotic) elements were shed when the last of the ultra-modernists were swallowed up by the emerging aesthetic hegemony of Postmodernism (which was much less invested in theoretical and aesthetic futurism) in the early 1980s. What remained were merely images, the production and consumption of which has only increased as the design world shifted away from print and towards the rapidly produced, easily digestible content of the internet and social media. 


Architect Bjarke Ingels’s “Oceanix” - a mockup of an ecomodernist, luxury city designed in response to rising sea levels from climate change. The city will never be built, and its critical interrogation amounts only to “city with solar panels that floats bc climate change is Serious”  - but it did get Ingels and his firm, BIG, a TED talk and circulation on all of the hottest blogs and websites. Meanwhile, Ingels has been in business talks with the right-wing climate change denialist president of Brazil, Jair Bolsonaro. (Image via designboom

Design websites are increasingly dominated by text and mockups from the desks of a firm’s public relations departments, facilitating a transition from the paper-architecture-imaginary to what I have begun calling “PR-chitecture.” In short, PR-chitecture is architecture and design content that has been dreamed up from scratch to look good on instagram feeds or, more simply, for clicks.  It is only within this substance-less, critically lapsed media landscape that Coronagrifting can prosper.

Coronagrifting: An Evolution

As of this writing, the two greatest offenders of Coronagrifting are Dezeen, which has devoted an entire section of its website to the virus (itself offering twelve pages of content since February alone) and designboom, whose coronavirus tag contains no fewer than 159 articles. 

Certainly, a small handful of these stories demonstrate useful solutions to COVID-related problems (such as this one from designboom about a student who created a mask prototype that would allow D/deaf and hard of hearing people to read lips) most of the prototypes and the articles about them are, for a lack of a better word, insipid. 

But where, you may ask, did it all start?

One of the easiest (and, therefore, one of the earliest) Coronagrifts involves “new innovative, health-centric designs tackling problems at the intersection of wearables and personal mobility,” which is PR-chitecture speak for “body shields and masks.” 

Wearables and Post-ables

The first example came from Chinese architect Sun Dayong, back at the end of February 2020, when the virus was still isolated in China. Dayong submitted to Dezeen a prototype of a full mask and body-shield that “would protect a wearer during a coronavirus outbreak by using UV light to sterilise itself.” The project was titled “Be a Bat Man.” No, I am not making this up. 


Screenshot of Dayong’s “Be a Batman” as seen on the Dezeen website. 

Soon after, every artist, architect, designer, and sharp-eyed PR rep at firms and companies only tangentially related to design realized that, with the small investment of a Photoshop mockup and some B-minus marketing text, they too could end up on the front page of these websites boasting a large social media following and an air of legitimacy in the field

By April, companies like Apple and Nike were promising the use of existing facilities for producing or supplying an arms race’s worth of slick-tech face coverings. Starchitecture’s perennial PR-churners like Foster + Partners and Bjarke Ingels were repping “3D-printed face shields”, while other, lesser firms promised wearable vaporware like “grapheme filters,” branded “skincare LED masks for encouraging self-development” and “solar powered bubble shields.” 

While the mask Coronagrift continues to this day, the Coronagrifting phenomenon had, by early March, moved to other domains of design. 

Consider the barrage of asinine PR fluff that is the “Public Service Announcement” and by Public Service Announcement, I mean “A Designer Has Done Something Cute to Capitalize on Information Meant to Save Lives.” 

Some of the earliest offenders include cutesy posters featuring flags in the shape of houses, ostensibly encouraging people to “stay home;” a designer building a pyramid out of pillows ostensibly encouraging people to “stay home”; and Banksy making “lockdown artwork” that involved covering his bathroom in images of rats ostensibly encouraging people to “stay home.” 


Lol. Screenshot from Dezeen. 

You may be asking, “What’s the harm in all this, really, if it projects a good message?” And the answer is that people are plenty well encouraged to stay home due to the rampant spread of a deadly virus at the urging of the world’s health authorities, and that these tone-deaf art world creeps are using such a crisis for shameless self promotion and the generation of clicks and income, while providing little to no material benefit to those at risk and on the frontlines.

Of course, like the mask coronagrift, the Public Service Announcement coronagrift continues to this very day

The final iteration of Post-able and Wearable Coronagrifting genres are what I call “Passive Aggressive Social Distancing Initiatives” or PASDIs. Many of the first PASDIs were themselves PSAs and art grifts, my favorite of which being the designboom post titled “social distancing applied to iconic album covers like the beatle’s abbey road.” As you can see, we’re dealing with extremely deep stuff here. 

However, an even earlier and, in many ways more prescient and lucrative grift involves “social distancing wearables.” This can easily be summarized by the first example of this phenomenon, published March 19th, 2020 on designboom


Never wasting a single moment to capitalize on collective despair, all manner of brands have seized on the social distancing wearable trend, which, again, can best be seen in the last example of the phenomenon, published May 22nd, 2020 on designboom:


We truly, truly live in Hell. 

Which brings us, of course, to living. 

“Architectural Interventions” for a “Post-COVID World”

As soon as it became clear around late March and early April that the coronavirus (and its implications) would be sticking around longer than a few months, the architectural solutions to the problem came pouring in. These, like the virus itself, started at the scale of the individual and have since grown to the scale of the city. (Whether or not they will soon encompass the entire world remains to be seen.) 

The architectural Coronagrift began with accessories (like the designboom article about 3D-printed door-openers that enable one to open a door with one’s elbow, and the Dezeen article about a different 3D-printed door-opener that enables one to open a door with one’s elbow) which, in turn, evolved into “work from home” furniture (”Stykka designs cardboard #StayTheF***Home Desk for people working from home during self-isolation”) which, in turn, evolved into pop-up vaporware architecture for first responders (”opposite office proposes to turn berlin’s brandenburg airport into COVID-19 ‘superhospital'”), which, in turn evolved into proposals for entire buildings (”studio prototype designs prefabricated 'vital house’ to combat COVID-19″); which, finally, in turn evolved into “urban solutions” aimed at changing the city itself (a great article summarizing and criticizing said urban solutions was recently written by Curbed’s Alissa Walker).


There is something truly chilling about an architecture firm, in order to profit from attention seized by a global pandemic, logging on to their computers, opening photoshop, and drafting up some lazy, ineffectual, unsanitary mockup featuring figures in hazmat suits carrying a dying patient (macabrely set in an unfinished airport construction site) as a real, tangible solution to the problem of overcrowded hospitals; submitting it to their PR desk for copy, and sending it out to blogs and websites for clicks, knowing full well that the sole purpose of doing so consists of the hope that maybe someone with lots of money looking to commission health-related interiors will remember that one time there was a glossy airport hospital rendering on designboom and hire them. 

Enough, already. 

Frankly, after an endless barrage of cyberpunk mask designs, social distancing burger king crowns, foot-triggered crosswalk beg buttons that completely ignore accessibility concerns such as those of wheelchair users, cutesy “stay home uwu” projects from well-to-do art celebrities (who are certainly not suffering too greatly from the economic ramifications of this pandemic), I, like the reader featured in the Dezeen Tweet at the beginning of this post, have simply had enough of this bullshit

What’s most astounding to me about all of this (but especially about #brand crap like the burger king crowns) is that it is taken completely seriously by design establishments that, despite being under the purview of PR firms, should frankly know better. I’m sure that Bjarke Ingels and Burger King aren’t nearly as affected by the pandemic as those who have lost money, jobs, stability, homes, and even their lives at the hands of COVID-19 and the criminally inept national and international response to it. On the other hand, I’m sure that architects and designers are hard up for cash at a time when nobody is building and buying anything, and, as a result, many see resulting to PR-chitecture as one of the only solutions to financial problems. 

However, I’m also extremely sure that there are interventions that can be made at the social, political, and organizational level, such as campaigning for paid sick leave, organizing against layoffs and for decent severance or an expansion of public assistance, or generally fighting the rapidly accelerating encroachment of work into all aspects of everyday life – that would bring much more good and, dare I say, progress into the world than a cardboard desk captioned with the hashtag #StaytheF***Home. 

Hence, I’ve spent most of my Saturday penning this article on my blog, McMansion Hell. I’ve chosen to run this here because I myself have lost work as a freelance writer, and the gutting of publications down to a handful of editors means that, were I to publish this story on another platform, it would have resulted in at least a few more weeks worth of inflatable, wearable, plexiglass-laden Coronagrifting, something my sanity simply can no longer withstand. 

So please, Dezeen, designboom, others – I love that you keep daily tabs on what architects and designers are up to, a resource myself and other critics and design writers find invaluable – however, I am begging, begging you to start having some discretion with regards to the proposals submitted to you as “news” or “solutions” by brands and firms, and the cynical, ulterior motives behind them. If you’re looking for a guide on how to screen such content, please scroll up to the beginning of this page. 


If you enjoyed this article, please consider subscribing to my Patreon, as I didn’t get paid to write it.  

i drew another thing!

i drew another thing!

The McMansion Hell Yearbook: 1974

Howdy, folks! It’s starting to heat up outside, though because this house is absolutely uncool, I doubt you’ll find it particularly refreshing. We return once again to the great state of New Jersey, where our 1974 house comes to us from Morris County: 

This uninspiring Colonial Revival boasts 5 bedrooms and 5.5 baths totaling just under 4,000 square feet. It can be yours for $1.2 million USD. (Recession? What recession?)

While you might not think this house is particularly bad or ugly, it does show some interesting signs of houses to come, especially a decade later. There is a clear break with the Colonial Revival aesthetics seen in earlier Bicentennial-era houses like our first yearbook house from 1970. This house consolidates its core features into one much larger, and proportionally awkward center mass which has been supplied with two wings. The saving grace is that the wings are not included in the same roofline as the center mass. If you look at the house as a single unit rather than as three separate units, you can begin to see how un-elegant (despite its symmetry) this long, squat, massing really is. This is something that will only become more pronounced as masses are further integrated into a single roofline in so-called Colonial Revival houses of the McMansion-era. 

Anyways, onto the house. 

Proto-Lawyer Foyer

I hate to disappoint you, but this house was redecorated sometime in the late 90s and is not a time capsule house. However, there are still elements that give away its true age. This foyer is still very much the squat, one-story foyer found in most proto-McMansions from the 1970s, despite being neutral-colored to death. 

Dining Room

Curating the most sterile dining experience imaginable in the age of Coronavirus is truly an accomplishment. Also what exactly do you call wall painting that is not a mural and is vaguely attempting to augment reality? Wall effects?? Also it’s not a fresco??? Fauxcore???


Theoretically, a kitchen ceiling fan doesn’t sound like a bad idea, but they’re not exactly common fixtures. Also my mom had those exact same barstools when we were growing up (in the 90s). 


I’m absolutely a conspiracy guy for furniture. The white kitchen is insider trading between HGTV, Home Depot and Clorox. Why else would the messiest room in the house be made entirely white if not for selling cleaning supplies? Wake up sheeple. 

Office (?)

Also I want to take the time to point out: 
> million dollar house
> baseboard heating
> wyd

Master Bedroom

Every decade since the 70s thinks they’ve reinvented shabby chic. You have not. 

Master Bathroom

I don’t know why I find the toilet position here to be so awkward. The toilet is like “don’t mind me i’m just chillin” 

Bedroom 2

I’m absolutely losing my mind at this curtain/blind/bottom curtain (?) combo!!! In what world!!!! 

Alright, that’s enough fun for today, it’s time to head back outside into the pre-summer heat. 

Rear Exterior

This is the rare McMansion where the rear exterior is less logical than the front exterior. This house is absolutely stacked in the back. Despite this, I cannot help but feel like every party thrown here has been extremely lame. 

Anyways, that does it for 1974! Check back later this month for the next installment of the Brutalism Post! Stay safe everyone!

I know that these are economically uncertain times, but many creators including myself depend on Patreon for most of their income, so if you have a minimum of $12/year to spare and are into bonus content, then do I have some good news for you:

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, weekly drawings, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations but still want to show support? Consider the tip jar!

Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

please enjoy this picture i drew

please enjoy this picture i drew 

The McMansion Hell Yearbook: 1973

Howdy, folks! I come to you with a special salve to soothe the ache of social isolation and general societal turmoil: a particularly cursed house. Our 1973 house comes to us from Jackson County, Michigan, and, frankly, if you put the term “1973″ into an ugly house generator, this is most certainly what would come out: 

What we have here is a classic “Mansard” style house, named for exaggerated form of the type of roof (the mansard), a variation of hipped roof characterized by a steep slope punctured by dormer windows extending into or forming another story. This subgenre of house was popular in the 1960s and 70s, especially so in the Pacific Northwest and in vacation towns around the country.  This lovely estate is currently on the market for around $800,000, and boasts a remarkable 6 bedrooms and 5.5 baths. 

Lawyer Foyer

This house is what is colloquially referred to as a “time capsule” house in that it literally has not been touched since 1973, the year it was built. There are several interesting 70s motifs here, including the wallpaper and carpeting. We have an early example of a fully-formed “lawyer foyer” - a full two-story entryway featuring a curved or otherwise showy staircase and a chandelier that can be seen from the outside via a transom window larger than the door above which it sits. The furnishings are original; note the intricate, heavy front door featuring Orientalist motifs that were particularly popular in the 1970s. That being said, it’s ugly. 

Dining Room?

During the 1970s, Colonial Revival furnishings and architectural motifs were especially popular due to the influence of the American Bicentennial, which was apparently a huge deal. In general, there was a lot of brown furniture that was very heavy because people wanted to buy one piece of furniture that would last until they died. This was because Ikea was not yet a thing. (In all seriousness, there is a great Collector’s Weekly article about this.


Honestly, this is probably one of the better kitchens on this website, and it’s interesting to see such a modern-styled decor in a house that, despite its contemporary exterior is otherwise rife with traditionalist decor. 

Wet Bar

As far as McMansion wine bars go, at least this one somewhat approaches a weird architectural metaphor for, like, deconstructivist philosophy or something else people in graduate school study. 

Master Bedroom

One has to applaud the photographer for their artistic decision to make every room in this house look as cursed as possible. Also: apparently the sunroom later on in this post is what’s behind the bed, which is very, very strange. 

Master Bathroom

My question is: how is this room simultaneously grey, brown, and beige all at the same time. Scholars around the world are baffled. 

Sunroom (behind bed for some reason)

I don’t know what one does in a space like this? It’s behind the wall of the master bedroom, so it’s not a public-facing space. There are no plants or books or other activities. There is just brown furniture, weighing heavy on my isolation-addled brain. 

Basement Bar

Ok, so these folks really enjoyed drinking. We all used to laugh at people who had bars in their house but now that all the bars are closed, who is laughing now?? (It’s me, I’m still laughing.) 

That does it for the interior - now, our favorite part:

Rear Exterior

Personally, as ugly as elements of this house are, I definitely see it as one of the most fascinating to ever end up on this blog. I kind of have a soft spot for houses like this, simply because they are so strange. Anyways, speaking of strange architecture, stay tuned for another installment of the Brutalism Post coming soon! Stay safe and be well! 

I know that these are economically uncertain times, but many creators including myself depend on Patreon for most of their income, so if you have a minimum of $12/year to spare and are into bonus content, then do I have some good news for you:

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations but still want to show support? Consider the tip jar!

Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

The McMansion Hell Yearbook: 1972

Howdy folks, and by howdy I mean howdy, because this time our McMansion Hell yearbook house is in the 9th circle of McMansion Hell itself, Denton County, Texas! Sitting at a cozy 4900 square feet, this 4 bedroom/4 bath abode could be all yours for a cool $1.13 million!

In case you’re wondering what’s going on architecturally here (i.e. everyone reading this), this house is a combination of a two-story Spanish Colonial Revival (right) with a 1970s shed-style house (left) all converging in a fully formed lawyer foyer (center). The result is, well, weird. Let’s continue. 

Lawya Fawya

Unlike our earlier 1970s houses, you can see that this one has had quite a bit of renovation, likely in the early 2000s. However, some classic things still come to mind, namely the spackled stucco walls and staircase, which are likely original to the 70s. My guess would be that a lot of that center wall has been taken out in the 2000s-2020s drive to Take Every Possible Interior Wall Out. 

Living Room

As you can see, this house is very large and mostly empty - this room probably had more of a den feel originally and was probably divided up in some way. The ceilings are their original 1970s height (low). 

Unidentified Gathering Space

My favorite part of this room is the fact that they couldn’t quite round out the window corners. Curves are hard. 


Frankly, even with the weird pot storage, this is probably the most sane kitchen in McMansion Hell history (a rare success; a glimmer of hope in a time of great darkness.)

Master Bedroom

That TV is an entire football field away from the bed which is a great metaphor for my attitude towards being on social media during the, you know, whole global pandemic and economic collapse thing that’s going on. 

Master Bathroom

Ok OK I’m done with the social distancing jokes!!!!!!

Bedroom 2

That bed in that room is how it feels living a tiny studio apartment with my husband and my dog during a time of great uncertainty!!

Rec Room

I would love to see some statistics on what percentage of home gym equipment ends up on craigslist. My guess is at least half - working out at home is awkward and hard (source: I don’t do it.) 

Ok Ok we’re now ready to enter the best (read: worst) room in this house, which I have duly saved for last. 

“Theatre Room”

Alternatively this is how a pizza feels when they put it in one of those brick ovens at those overpriced restaurants. 

That’s all for inside, let’s head back out. 

Rear Exterior

Yeah I don’t actually know how something like this happens, architecturally speaking. It’s like the house version of mismatched socks and also both the socks have a hole in the toe and smell bad. 

Anyways that does it for 1972 - join us soon for 1973, which is truly a doozy - thanks to the folks on the McMansion Hell Patreon stream who submitted it!

I know that these are economically uncertain times, but many creators including myself depend on Patreon for most of their income, so if you have a minimum of $12/year to spare and are into bonus content, then do I have some good news for you: 

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations but still want to show support? Consider the tip jar! 

Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

The Brutalism Post Part 3: What is Brutalism? Act 1, Scene 1: The Young Smithsons

What is Brutalism? To put it concisely, Brutalism was a substyle of modernist architecture that originated in Europe during the 1950s and declined by the 1970s, known for its extensive use of reinforced concrete. Because this, of course, is an unsatisfying answer, I am going to instead tell you a story about two young people, sandwiched between two soon-to-be warring generations in architecture, who were simultaneously deeply precocious and unlucky. 

It seems that in 20th century architecture there was always a power couple. American mid-century modernism had Charles and Ray Eames. Postmodernism had Robert Venturi and Denise Scott Brown. Brutalism had Alison and Peter Smithson, henceforth referred to simply as the Smithsons. 

If you read any of the accounts of the Smithsons’ contemporaries (such as The New Brutalism by critic-historian Reyner Banham) one characteristic of the pair is constantly reiterated: at the time of their rise to fame in British and international architecture circles, the Smithsons were young. In fact, in the early 1950s, both had only recently completed architecture school at Durham University. Alison, who was five years younger, was graduating around the same time as Peter, whose studies were interrupted by the Second World War, during which he served as an engineer in India. 

Alison and Peter Smithson. Image via

At the time of the Smithsons graduation, they were leaving architecture school at a time when the upheaval the war caused in British society could still be deeply felt. Air raids had destroyed hundreds of thousands of units of housing, cultural sites and had traumatized a generation of Britons. Faced with an end to wartime international trade pacts, Britain’s financial situation was dire, and austerity prevailed in the 1940s despite the expansion of the social safety net. It was an uncertain time to be coming up in the arts, pinned at the same time between a war-torn Europe and the prosperous horizon of the 1950s.   

Alison and Peter married in 1949, shortly after graduation, and, like many newly trained architects of the time, went to work for the British government, in the Smithsons’ case, the London City Council. The LCC was, in the wake of the social democratic reforms (such as the National Health Service) and Keynesian economic policies of a strong Labour government, enjoying an expanded range in power. Of particular interest to the Smithsons were the areas of city planning and council housing, two subjects that would become central to their careers.

Alison and Peter Smithson, elevations for their Soho House (described as “a house for a society that had nothing”, 1953). Image via socks-studio.

The State of British Architecture

 The Smithsons, architecturally, ideologically, and aesthetically, were at the mercy of a rift in modernist architecture, the development of which was significantly disrupted by the war. The war had displaced many of its great masters, including luminaries such as the founders of the Bauhaus: Walter Gropius, Ludwig Mies van der Rohe, and Marcel Breuer. Britain, which was one of the slowest to adopt modernism, did not benefit as much from this diaspora as the US. 

At the time of the Smithsons entry into the architectural bureaucracy, the country owed more of its architectural underpinnings to the British architects of the nineteenth century (notably the utopian socialist William Morris), precedent studies of the influences of classical architecture (especially Palladio) under the auspices of historians like Nikolaus Pevsner, as well as a preoccupation with both British and Scandinavian vernacular architecture, in a populist bent underpinned by a turn towards social democracy. This style of architecture was known as the New Humanism

Alton East Houses by the London County Council Department of Architecture (1953-6), an example of New Humanist architecture. Image taken from The New Brutalism by Reyner Banham. 

This was somewhat of a sticky situation, for the young Smithsons who, through their more recent schooling, were, unlike their elders, awed by the buildings and writing of the European modernists. The dramatic ideas for the transformation of cities as laid out by the manifestos of the CIAM (International Congresses for Modern Architecture) organized by Le Corbusier (whose book Towards a New Architecture was hugely influential at the time) and the historian-theorist Sigfried Giedion, offered visions of social transformation that allured many British architects, but especially the impassioned and idealistic Smithsons.

Of particular contribution to the legacy of the development of Brutalism was Le Corbusier, who, by the 1950s was entering the late period of his career which characterized by his use of raw concrete (in his words, béton brut), and sculptural architectural forms. The building du jour for young architects (such as Peter and Alison) was the Unité d’Habitation (1948-54), the sprawling massive housing project in Marseilles, France, that united Le Corbusier’s urban theories of dense, centralized living, his architectural dogma as laid out in Towards a New Architecture, and the embrace of the rawness and coarseness of concrete as a material, accentuated by the impression of the wooden board used to shape it into Corb’s looming, sweeping forms.

The Unité d’habitation by Le Corbusier. Image via Iantomferry (CC BY-SA 4.0)

Little did the Smithsons know that they, mere post-graduates, would have an immensely disruptive impact on the institutions they at this time so deeply admired. For now, the couple was on the eve of their first big break, their ticket out of the nation’s bureaucracy and into the limelight.

 The Hunstanton School

An important post-war program, the one that gave the Smithsons their international debut, was the expansion of the British school system in 1944, particularly the establishment of the tripartite school system, which split students older than 11 into grammar schools (high schools) and secondary modern schools (technical schools). This, inevitably, stimulated a swath of school building throughout the country. There were several national competitions for architects wanting to design the new schools, and the Smithsons, eager to get their hands on a first project, gleefully applied.

For their inspiration, the Smithsons turned to Mies van der Rohe, who had recently emigrated to the United States and release to the architectural press, details of his now-famous Crown Hall of the Illinois Institute of Technology (1950). Mies’ use of steel, once relegated to being hidden as an internal structural material, could, thanks to laxness in the fire code in the state of Illinois, be exposed, transforming into an articulated, external structural material. 

Crown Hall, Illinois Institute of Technology by Mies van der Rohe. Image via Arturo Duarte Jr. (CC BY-SA 3.0)

Of particular importance was the famous “Mies Corner, consisting of two joined exposed I-beams that elegantly elided inherent problems in how to join together the raw, skeletal framing of steel and the revealing translucence of curtain-wall glass. This building, seen only through photographs by our young architects, opened up within them the possibility of both the modernist expression of a structure’s inherent function, but also as testimony to the aesthetic power of raw building materials as surfaces as well as structure.

The Smithsons, in a rather bold move for such young architects, decided to enter into a particularly contested competition for a new secondary school in Norfolk. They designed a school based on a Miesian steel-framed design of which the structural elements would all be visible. Its plan was crafted to the utmost standards of rationalist economy; its form, unlike the horizontal endlessness of Mies’ IIT, is neatly packaged into separate volumes arranged in a symmetrical way. But what was most important was the use of materials, the rawness of which is captured in the words of Reyner Banham: 

“Wherever one stands within the school one sees its actual structural materials exposed, without plaster and frequently without paint. The electrical conduits, pipe-runs, and other services are exposed with equal frankness. This, indeed, is an attempt to make architecture out of the relationships of brute materials, but it is done with the very greatest self-denying restraint.”

 Much to the upset and shock of the more conservative and romanticist British architectural establishment, the Smithsons’ design won.

Hunstanton School by Alison and Peter Smithson (1949-54). Photos by Anna Armstrong. (CC BY NC-SA 3.0)

The Hunstanton School, had, as much was possible in those days, gone viral in the architectural press, and very quickly catapulted the Smithsons to international fame as the precocious children of post-war Britain. Soon after, the term the Smithsons would claim as their own, Brutalism, too entered the general architectural consciousness. (By the early 1950s, the term was already escaping from its national borders and being applied to similar projects and work that emphasized raw materials and structural expression.)

 The New Brutalism

So what was this New Brutalism? 

The Smithsons had, even before the construction of the Hunstanton School had been finished, begun to draft amongst themselves a concept called the New Brutalism. Like many terms in art, “Brutalism” began as a joke that soon became very serious.  The term New Brutalism, according to Banham, came from an in-joke amongst the Swedish architects Hans Asplund, Bengt Edman and Lennart Holm in 1950s, about drawings the latter two had drawn for a house. This had spread to England through the Swedes’ English friends, the architects Oliver Cox and Graeme Shankland, who leaked it to the Architectural Association and the Architect’s Department of the London County Council, at which Alison and Peter Smithson were still employed. According to Banham, the term had already acquired a colloquial meaning:

“Whatever Asplund meant by it, the Cox-Shankland connection seem to have used it almost exclusively to mean Modern Architecture of the more pure forms then current, especially the work of Mies van der Rohe. The most obstinate protagonists of that type of architecture at the time in London were Alison and Peter Smithson, designers of the Miesian school at Hunstanton, which is generally taken to be the first Brutalist building.”

 (This is supplicated by an anecdote of how the term stuck partially because Peter was called Brutus by his peers because he bore resemblance to Roman busts of the hero, and Brutalism was a joining of “Brutus plus Alison,” which is deeply cute.)

The Smithsons began to explore the art world for corollaries to their raw, material-driven architecture. They found kindred souls in the photographer Nigel Henderson and the sculptor Edouardo Paolozzi, with whom the couple curated an exhibition called “Parallel of Life and Art.” The Smithsons were beginning to find in their work a sort of populism, regarding the untamed, almost anthropological rough textures and assemblies of materials, which the historian Kenneth Frampton jokingly called ‘the peoples’ detailing.’ Frampton described the exhibit, of which few photographs remain, as thus:

“Drawn from news photos and arcane archaeological, anthropological, and zoological sources, many of these images [quoting Banham] ‘offered scenes of violence and distorted or anti-aesthetic views of the human figure, and all had a coarse grainy texture which was clearly regarded by the collaborators as one of their main virtues’. There was something decidedly existential about an exhibition that insisted on viewing the world as a landscape laid waste by war, decay, and disease – beneath whose ashen layers one could still find traces of life, albeing microscopic, pulsating within the ruins…the distant past and the immediate future fused into one. Thus the pavilion patio was furnished not only with an old wheel and a toy aeroplane but also with a television set. In brief, within a decayed and ravaged (i.e. bombed out) urban fabric, the ‘affluence’ of a mobile consumerism was already being envisaged, and moreover welcomed, as the life substance of a new industrial vernacular.”

Alison and Peter Smithson, Nigel Henderson, Eduoardo Paolozzi, Parallels in Life and Art. Image via the Tate Modern, 2011.

A Clash on the Horizon 

The Smithsons, it is important to remember, were part of a generation both haunted by war and tantalized by the car and consumer culture of the emerging 1950s. Ideologically they were sandwiched between the twilight years of British socialism and the allure of a consumerist populism informed by fast cars and good living, and this made their work and their ideology rife with contradiction and tension. 

The tension between proletarian, primitivist, anthropological elements as expressed in coarse, raw, materials and the allure of the technological utopia dreamed up by modernists a generation earlier, combined with the changing political climate of post-war Britain, resulted in a mix of idealism and post-socialist thought. This hybridized an new school appeal to a better life -  made possible by technology, the emerging financial accessibility of consumer culture, the promises of easily replicable, luxurious living promised by modernist architecture - with the old-school, quintessentially British populist consideration for the anthropological complexity of urban, working class life. This is what the Smithsons alluded to when they insisted early on that Brutalism was an “ethic, not an aesthetic.”

Model of the Plan Voisin for Paris by Le Corbusier displayed at the Nouveau Esprit Pavilion (1925) via Wikipedia (CC BY-SA 4.0)

By the time the Smithsons entered the international architectural scene, their modernist forefathers were already beginning to age, becoming more stylistically flexible, nuanced, and less reliant upon the strictness and ideology of their previous dogmas. The younger generation, including the Smithsons, were, in their rose-tinted idealism, beginning to feel like the old masters were abandoning their original ethos, or, in the case of other youngsters such as the Dutch architect Aldo van Eyck, were beginning to question the validity of such concepts as the Plan Voisin, Le Corbusier’s urbanist doctrine of dense housing development surrounded by green space and accessible by the alluring future of car culture. 

These youngsters were beginning to get to know each other, meeting amongst themselves at the CIAM – the International Congresses of Modern Architecture – the most important gathering of modernist architects in the world. Modern architecture as a movement was on a generational crash course that would cause an immense rift in architectural thought, practice, and history. But this is a tale for our next installment.

Like many works and ideas of young people, the nascent New Brutalism was ill-formed; still feeling for its niche beyond a mere aesthetic dominated by the honesty of building materials and a populism trying to reconcile consumerist technology and proletarian anthropology. This is where we leave our young Smithsons: riding the wave of success of their first project as a new firm, completely unaware of what is to come: the rift their New Brutalism would tear through the architectural discourse both then and now.

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations or bonus content? Consider the tip jar! Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

The McMansion Hell Yearbook: 1971

Howdy Folks! 1971′s house comes to us from Morris County, New Jersey. Sitting at 5000 square feet, despite its age it’s still for sale for $1.2 million USD. As you can see, it is a surprisingly developed McMansion compared to the house from last month: 

This house showcases many different McMansion elements - clearly demonstrating an early iteration of the decorated split level emerging into a new architectural form. However, this house still has many split level elements, including a clear demarcation of first and second stories via attached masses - the garage in particular is reminiscent of many split level garages. This house also borrows elements from the 70s Mansard-style house, specifically in its use of embedded half-dormers, which recall many mansard-style houses but replacing the mansard roof with a low-pitched hipped roof. 

Paralegal Foyer (proto-Lawyer Foyer):

It was relatively common in early iterations of the McMansion to have a partial formation of the Lawyer Foyer, a two story entryway but lacking the transom window above the door that enables the entryway to be seen from the street. Sadly, this house was redecorated from its original 70s finishes, most likely in the late 1990s. 

Dining Room:

My personal opinion is that parquet floors Were Good Actually and we should bring them back. 


What’s enjoyable about looking at houses from the perspective of date is that there are some elements that are dated but also expensive to get rid of - the floating wetbar-island combo is very 70s, however I actually think these kinds of islands with cabinetry are useful and it would be nice to see them make a comeback. 


1) I remember going to some kid’s house in middle school and they had a huge kitchen like this and all the cabinets were literally filled with hamburger helper, easy mac, uncle ben’s rice, etc - the parents had this huge chef’s kitchen but apparently never cooked. 

2) that table would not last one encounter involving me, a beer, and a particularly animated political conversation. 

Master Bedroom:

It weirds me out when rich people don’t have headboards!!! I don’t know why!!! 

Bedroom 2:

I had a bedspread similar to this but it was in blue, brown, and green and I vote!

Bedroom 3:

The 3D furniture staging thing is fascinating to me because sometimes it’s virtually undistinguishable from real estate photos where the furniture is real but the photos themselves are photoshopped to the point of unreality. Personally I’d love to have a copy of the software that lets you 3D decorate random real estate listings - it’s like the Sims but for realtors. 

That’s the last of our interior rooms, which brings us to our concluding picture:

Rear Exterior

I have no idea how you mess up lining up six identical windows in a rational way and yet…and yet… 

Well folks, that does it for 1971! Stay tuned this week for another iteration of the Brutalism Post! 

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations or bonus content? Consider the tip jar! Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

The McMansion Hell Yearbook: 1970

(FYI - this is going to be a longer post than usual, so you might want to open it in a new tab if you’re reading it on Tumblr feed. There will be a read more break about halfway through.)

Howdy, folks! Welcome to the first edition of the McMansion Hell Yearbook - a year by year account of how the McMansion came to be. We begin our tour of time in the year 1970.

Why 1970: A Brief History Lesson

Whether or not the McMansion belongs to canonical or vernacular (everyday) architecture is a topic of some dispute - for example, Thomas Hubka, in his book Houses Without Names claims that the McMansion is simply the latest iteration of highly-customized architecture designed by and for rich people, which is why it doesn’t belong in studies of vernacular architecture. However, Hubka himself includes in his evolutionary study of floorplans, a type called “Large Suburban” which features a central foyer flanked by formal rooms leading into a vast living/entertaining space and kitchen. The question of where “Large Suburban” ends and “McMansion” begins is perhaps less of an architectural question than it is a cultural one, but that’s something we’ll discuss in more detail later on in this series.

A Styled Split-Level from a 1960 trade publication. Public Domain. 

Meanwhile, Virginia McAlester includes McMansions, called “Millennium Mansions” in the second edition of the Field Guide to American Houses, a phenomenon she places as starting around 1985. However, like most architectural phenomenons, the McMansion didn’t just appear out of nowhere. Its predecessor is what McAlester called the Styled Ranch (and Styled Split Level) - an elaboration of the ranches and split-levels of midcentury featuring the costuming of the simple ranch form in a variety of different architectural styles or themes including Colonial Revival, Neoclassical, Mediterranean, and Tudor. How these styled ranches and split levels escalated into the sprawling McMansions we know today is something this new series hopes to tackle.

Enough history (for now)! Here’s our 1970 house found in none other than Bergen County, New Jersey.

This 5,600 square-foot house features 6 bedrooms and 6 bathrooms and can be all yours for ~$1.8 million USD. You’ll notice a lot of things about this house that are not McMansion-like: its symmetry, its lack of a complex roofline, its unified exterior claddings and window styles. However, this is why the house is interesting - it is not as much a McMansion as it is a proto-McMansion. Many McMansion features are apparent in their nascent form, for example, the competing architectural styles of Tudor (windows) and Neoclassical (portico, front door, quoins), the tacked-on mass containing the three car garage, an ostentatious pediment with elaborate columns, and extruded double bay windows.

The most interesting of these proto-features is the front entryway, an early development of what will be known on this blog as the Lawyer Foyer. We see a large central window above the door (architectural historian Charles Jencks traces this to LA in his book Daydream Houses of Los Angeles, appropriately calling it the “LA Door”), with an outdoor decorative light dangling in front of it, a motif borrowed from certain, usually later iterations of the split level (seen in this example [top left] from a 1963 trade catalog). Let’s step inside:

Proto-Lawyer Foyer (Law School Foyer???)

What’s interesting about this example is that it is very McMansion like in its use of a large curved staircase and over-indulgent chandelier. However, the above-door window has yet to merge with the front door into a transom-window, and the chandelier, though large and ornate, has yet to replace the lantern outside as the lighting feature that can be seen from the street.

Sitting Room

Though this house tends to feature more Louis XV-style furniture (my suspicion is that this might be evidence of an 80s or 90s era redecorating), the emphasis on bulky, ornate 18th century reproduction furniture, moldings, and wallpaper is indicative of the fascination in the 1970s towards the (American) Colonial era in anticipation of the 1976 American Bicentennial. You can read more about this in this fantastic and captivating Collector’s Weekly article.

Dining Room

As we can see, the stuffy formal dining room has always existed in McMansions, simply because it has always existed in rich people houses in general since the dawn of time.

Living Room

While ugly and too big, this living room definitely is more reminiscent of a ranch-style living room than it is a McMansion great room. It even has doors (heresy!) Personally I stan those 70s brick veneer fireplaces because they are groovy and increasingly hard to find.

Oh. I should mention that you’re really, really not prepared for what you’re about to see in the next room.

Horse Shrine


For some reason having a racehorse shrine seems, like, peak New Jersey.

Ahoy, Chef!

If your nana or great aunt didn’t have these wyd

Master Bedroom

I should add that the listing for this house shows none of the six bathrooms, and, after viewing this room, I have to believe there’s a reason for that.

Spare Bedroom

Is there a tacky wallpaper museum?? If so, how do I get on the board of directors???

Anyways, this concludes our interior tour. Let’s go back outside.

Rear Exterior:

Well, on that (thankfully more subdued than usual) note, this concludes our 1970 entry in the McMansion Hell Yearbook. See you soon with an update on Brutalism, and stay tuned for next month’s 1971 McMansion.

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive Discord server, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations or bonus content? Consider the tip jar! Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

Announcing the Winners of the 2019 McGingerbread Hell Competition

Wow! It was another great year for the McGingerbread Hell Gingerbread House Competition! The judges had their work cut out for them selecting between so many fine selections. Congratulations and great job to everyone who submitted an entry in this year’s contest. However, only six houses could make the cut.

Let’s start out with announcing the winners for Honorable Mention.

Honorable Mention: Priced to Sell! by Tina B.

The judges were wowed by the impressive nub, the tumorous turret, and the fantastically mismatched windows.

Quote from the Project Description: A true GEM of a house! 6,738 SF beautifully set on .23 parklike acres. Mediterranian villa in front, stately Federal in the back; it’s the mullet of houses!…Entertain in your beautiful backyard featuring a real StoneTek™ patio! The heavily pruned weeping cherry tree will be a real showstopper in 30-40 years! The largest roof in the neighborhood has Chex shingle roof in molasses brown. 4 BR / 5.5 BA / $899,000 / Days on market - 923

Honorable Mention: Festive Roofline Soup by Jessica C.

The judges LOVED the complexity of the roofline, the absurd gabling, and the 3 car garage.

Quote from the Project Description: Features include: • Flaked almond shingles covering a roofline so complex that it required trigonometrical expertise from my math teacher father to work out measurements…[and] A low maintenance yard as the house takes up almost the entire block! Now accepting offers; the sellers are motivated as the couple are in the middle of divorce proceedings.

Honorable Mention: Vinyl Vanity by Joseph & Kayla S.

The judges were impressed by the impressive garage to roof ratio, the roof detailings, the candy-cane columns, and excellent lawyer foyer.

Quote from the Project Description: This 2 square foot, two and a half story Craftsmen Tudor Post Classical Revival estate is the luxurious home that your friends and neighbors never wanted…The car is truly the heart of Tudor England, so we put the garage proudly up front, where the yawning chasm of the door greets the outside world with disdain…Be sure to schedule your private tour soon, this edifice is sure to not last long. On the market. If you’re curious about the price, you’re probably too economically responsible for this property.

And now, our top 3:

Third Place: A Jersey Thing by Nùria O.

Judges were impressed by the size, shape, and meticulous detailing of the project, which is reminiscent of a truly terrible McModern. Anjulie, seeing the size of the huge roof said “this is some sustainable sh*t.” This project captures the true McMansion ethos in truly making us say “what the hell is going on here?”

Project Description: Inspired by a beatiful RealLife™ McMansion™ in Beach Haven, NJ, this year’s featured McGingerbread mansion is a modern 5-bedroom, 16-bathroom home made entirely in construction-grade gingerbread and held together with royal icing made from free-range egg whites. The nonpareil- and sugar-crystal-covered walls provide both isolation from stormy weather and give a vintage air to counterbalance the futuristic lines of the design…On the back of the house, you can walk out to a large deck (perfect for entertainment) boasting a valuable one-piece handrail. From there you can access the beautiful mediterranean garden, set in candy charcoal and stones, environmentally friendly as it’s practically maintenance free. Don’t miss your chance to visit this unique home—feel the sugar rush!

Second Place: Victorian Opulence by Beth & Tina C.

Reigning McGingerbread champs Beth & Tina C. returned to the scene this year with yet another gorgeous gingerbread. Judges were wowed by the complexity and scale of the project. Sarah was impressed by the intricate piping and lots of frilly details, and the homage to the traditional Victorian gingerbread form. Anjulie described it as “unbearably neat” - she loved the uncantilevered bay window, the detached garage that makes entryway irrelevant, and the hilarious-front balcoiny with half-wall (not code compliant). Kate was impressed by the detailing and the extensive cantilevers which too serious structural engineering to pull off.

Project description: New from the creators that brought you a true monstrosity last year: The Victorian Opulence! Featuring a lovely wrap around porch, adorable detached garage, and a truly magnificent waterfall in the backyard, this monolith of a house features thee decks overlooking somewhat patchy but still rescueable landscaping. Other features include an outdoor patio, a tower for all your princess capturing needs, and a truly cursed facade featuring a curved roof of all things! With several nubbins featuring windows, there is no angle on this house you can’t see out of! Standing at nearly 2 feet tall and with an approximate total floor area of 550 square inches-excluding outdoor seating area-this Victorian style home will surely be the envy of all the gingerbread men in your country club. (Snow removal not included as part of HOA membership fees.)

And finally…

First Prize: Simply Having a Wonderful Building Crime by Erin E.

The judges all agreed: this house was outrageous - its execution was fantastic, and its design was full of so many delightful, humorous details. Sarah remarked: “This one is perfectly McMasion-scaled, with weirdly placed windows and gratuitous features to boot.” Anjulie couldn’t sing the praises enough: “I was particularly taken with the garage that is so far detached it makes the front door totally irrelevant…it’s a castle of grand sadness. The Pete Buttigieg sign is the literal icing on top.” Kate loved the details: the Pete sign, the ridiculously diverse selection of windows, the piped on invasive plants and basketball hoop, and the glass and siding effects. Part of the competition lies in its absurdity and humor, and in that particular category, this house took the cake.

Project description: This home Defies the Ordinary. Located on a 2.3 acre lot, you’ll be the envy of all your neighbors–and can watch from the top of the turret to be sure they’re suitably jealous! Enjoy sitting al fresco under the portico above the garage, or on the hand-laid M&M stone patio! The two-story entryway accounts for just a few of the more than 60 sugar glass windows! All of the walls join up exactly where the architect expected them to, and no windows were covered up on accident!!!

Constructed over two weeks, out of ten pounds of flour, four pounds of powdered sugar, and more than half a gallon of corn syrup, this modest four-story house will surely stand the test of time. It’s been meticulously decorated with royal icing vines, wreaths, and Christmas lights, and landscaped with gingerbread boulders, definitely-naturally-this-green icing grass, and coconut macaroon topiary. The roof stands at 17 inches high, and is crafted from waffle cookie shingles over gingerbread rafters. For sale for just $1,895,000, this house is just perfect for new families or young professionals just starting out!

Special thanks to everyone who entered this year and to our judges Sarah Archer and Anjulie Rao for their contributions in pulling off yet another successful entry our search for the Gingerbread McMansion Hall of Fame!

See you next week with this month’s 1970 McMansion.

If you like this post, and want to see more like it, consider supporting me on Patreon!

There is a whole new slate of Patreon rewards, including: good house of the month, an exclusive discord server, monthly livestreams, a reading group, free merch at certain tiers and more!

Not into recurring donations or bonus content? Consider the tip jar! Or, Check out the McMansion Hell Store! Proceeds from the store help protect great buildings from the wrecking ball.

Staring at Hell | Kate Wagner

Staring at Hell | Kate Wagner:

Howdy folks! My new long form piece for The Baffler is now available online. It features all kinds of goodies:

- Enlightenment slap fights

- Industrial Ruins

- The Sublime (not the band)

- Superfund sites

- How we as a culture react to the aesthetics of a modernity that have destroyed our environment (you know, lighthearted stuff)

You like it? It's very generous.

By /u/Biffburk

You like it? It's very generous. submitted by /u/Biffburk to r/IASIP
[link] [comments]

Georgia second grader tests positive for coronavirus after attending the first day of school

By /u/61539

Georgia second grader tests positive for coronavirus after attending the first day of school submitted by /u/61539 to r/Coronavirus
[link] [comments]

In Rise of the Guardians (2012), the tooth fairy identifies a mouse as a member of the “European division” of the tooth fairies. This mouse is “Ratoncito Perez”, a character from a Spanish children's book. In the Spanish dub of the movie, it is even called "Pérez".

By /u/Tokyono

In Rise of the Guardians (2012), the tooth fairy identifies a mouse as a member of the “European division” of the tooth fairies. This mouse is “Ratoncito Perez”, a character from a Spanish children's book. In the Spanish dub of the movie, it is even called "Pérez". submitted by /u/Tokyono to r/MovieDetails
[link] [comments]

I'll never get over this edit

By /u/hrithikbadass

I'll never get over this edit submitted by /u/hrithikbadass to r/insanepeoplefacebook
[link] [comments]

After 30 years, two brothers return to Chernobyl to find an old freind waiting for them.

By /u/Currynrice9728

After 30 years, two brothers return to Chernobyl to find an old freind waiting for them. submitted by /u/Currynrice9728 to r/pics
[link] [comments]

A golden evening above the clouds, Snowline, India [OC] [1500x2250]

By /u/theomulator

A golden evening above the clouds, Snowline, India [OC] [1500x2250] submitted by /u/theomulator to r/EarthPorn
[link] [comments]

‘We have to get rid of Trump’: Pro-Bernie group launches effort to boost Biden

By /u/eaglemaxie

‘We have to get rid of Trump’: Pro-Bernie group launches effort to boost Biden submitted by /u/eaglemaxie to r/politics
[link] [comments]

After 400-or-so hours of work, my new Cyberpunk Samurai jacket is complete. More pics and details in the comments

By /u/AndyValentine

After 400-or-so hours of work, my new Cyberpunk Samurai jacket is complete. More pics and details in the comments submitted by /u/AndyValentine to r/gaming
[link] [comments]

Colorado Cops ‘Mistake’ Black Family of Five in SUV for One Stolen Motorcycle

By /u/Nicobade

Colorado Cops ‘Mistake’ Black Family of Five in SUV for One Stolen Motorcycle submitted by /u/Nicobade to r/nottheonion
[link] [comments]

They’re gonna search the survivors

By /u/Scrute-

They’re gonna search the survivors submitted by /u/Scrute- to r/BlackPeopleTwitter
[link] [comments]

I'm always angry(1000 page flipbook)

By /u/__Dawn__Amber__

I'm always angry(1000 page flipbook) submitted by /u/__Dawn__Amber__ to r/interestingasfuck
[link] [comments]

Lolita’s first night at home!

By /u/jela_03

Lolita’s first night at home! submitted by /u/jela_03 to r/aww
[link] [comments]

8.4.2020 Beirut - storage before the blast

By /u/chillsnotskills90

8.4.2020 Beirut - storage before the blast submitted by /u/chillsnotskills90 to r/CatastrophicFailure
[link] [comments]

The Oklahoma City bombing (top picture) was about 2.5 tons of Ammonium Nitrate. The Beirut Port (bottom) was an estimated 2,750 tons.

By /u/Mw4810

The Oklahoma City bombing (top picture) was about 2.5 tons of Ammonium Nitrate. The Beirut Port (bottom) was an estimated 2,750 tons. submitted by /u/Mw4810 to r/interestingasfuck
[link] [comments]

NYC party boat owners arrested after their cruise was busted with more than 170 guests on board

By /u/AC1DF0X

submitted by /u/AC1DF0X to r/news
[link] [comments]

CodeSOD: A Private Code Review

By Remy Porter

Jessica has worked with some cunning developers in the past. To help cope with some of that “cunning”, they’ve recently gone out searching for new developers.

Now, there were some problems with their job description and salary offer, specifically, they were asking for developers who do too much and get paid too little. Which is how Jessica started working with Blair. Jessica was hoping to staff up her team with some mid-level or junior developers with a background in web development. Instead, she got Blair, a 13+ year veteran who had just started doing web development in the past six months.

Now, veteran or not, there is a code review process, so everything Blair does goes through code review. And that catches some… annoying habits, but every once in awhile, something might sneak through. For example, he thinks static is a code smell, and thus removes the keyword any time he sees it. He’ll rewrite most of the code to work around it, except once the method was called from a cshtml template file, so no one discovered that it didn’t work until someone reported the error.

Blair also laments that with all the JavaScript and loosely typed languages, kids these days don’t understand the importance of separation of concerns and putting a barrier between interface and implementation. To prove his point, he submitted his MessageBL class. BL, of course, is to remind you that this class is “business logic”, which is easy to forget because it’s in an assembly called theappname.businesslogic.

Within that class, he implemented a bunch of data access methods, and this pair of methods lays out the pattern he followed.

public async Task<LinkContentUpdateTrackingModel> GetLinkAndContentTrackingModelAndUpdate(int id, Msg msg)
    return await GetLinkAndContentTrackingAndUpdate(id, msg);

/// <summary>
/// LinkTrackingUpdateLinks
/// returns: HasAnalyticsConfig, LinkTracks, ContentTracks
/// </summary>
/// <param name="id"></param>
/// <param name="msg"></param>
private async Task<LinkContentUpdateTrackingModel> GetLinkAndContentTrackingAndUpdate(int id, Msg msg)

Here, we have one public method, and one private method. Their names, as you can see, are very similar. The public method does nothing but invoke the private method. This public method is, in fact, the only place the private method is invoked. The public method, in turn, is called only twice, from one controller.

This method also doesn’t ever need to be called, because the same block of code which constructs this object also fetches the relevant model objects. So instead of going back to the database with this thing, we could just use the already fetched objects.

But the real magic here is that Blair was veteran enough to know that he should put some “thorough” documentation using Visual Studio’s XML comment features. But he put the comments on the private method.

Jessica was not the one who reviewed this code, but adds:

I won’t blame the code reviewer for letting this through. There’s only so many times you can reject a peer review before you start questioning yourself. And sometimes, because Blair has been here so long, he checks code in without peer review as it’s a purely manual process.

[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

A Massive Leak

By Remy Porter

"Memory leaks are impossible in a garbage collected language!" is one of my favorite lies. It feels true, but it isn't. Sure, it's much harder to make them, and they're usually much easier to track down, but you can still create a memory leak. Most times, it's when you create objects, dump them into a data structure, and never empty that data structure. Usually, it's just a matter of finding out what object references are still being held. Usually.

A few months ago, I discovered a new variation on that theme. I was working on a C# application that was leaking memory faster than bad waterway engineering in the Imperial Valley.

A large, glowing, computer-controlled chandelier

I don't exactly work in the "enterprise" space anymore, though I still interact with corporate IT departments and get to see some serious internal WTFs. This is a chandelier we built for the Allegheny Health Network's Cancer Institute which recently opened in Pittsburgh. It's 15 meters tall, weighs about 450kg, and is broken up into 30 segments, each with hundreds of addressable LEDs in a grid. The software we were writing was built to make them blink pretty.

Each of those 30 segments is home to a single-board computer with their GPIO pins wired up to addressable LEDs. Each computer runs a UDP listener, and we blast them with packets containing RGB data, which they dump to the LEDs using a heavily tweaked version of LEDScape.

This is our standard approach to most of our lighting installations. We drop a Beaglebone onto a custom circuit board and let it drive the LEDs, then we have a render-box someplace which generates frame data and chops it up into UDP packets. Depending on the environment, we can drive anything from 30-120 frames per second this way (and probably faster, but that's rarely useful).

Apologies to the networking folks, but this works very well. Yes, we're blasting many megabytes of raw bitmap data across the network, but we're usually on our own dedicated network segment. We use UDP because, well, we don't care about the data that much. A dropped packet or an out of order packet isn't going to make too large a difference in most cases. We don't care if our destination Beaglebone is up or down, we just blast the packets out onto the network, and they get there reliably enough that the system works.

Now, normally, we do this from Python programs on Linux. For this particular installation, though, we have an interactive kiosk which provides details about cancer treatments and patient success stories, and lets the users interact with the chandelier in real time. We wanted to show them a 3D model of the chandelier on the screen, and show them an animation on the UI that was mirrored in the physical object. After considering our options, we decided this was a good case for Unity and C#. After a quick test of doing multitouch interactions, we also decided that we shouldn't deploy to Linux (Unity didn't really have good Linux multitouch support), so we would deploy a Windows kiosk. This meant we were doing most of our development on MacOS, but our final build would be for Windows.

Months go by. We worked on the software while building the physical pieces, which meant the actual testbed hardware wasn't available for most of the development cycle. Custom electronics were being refined and physical designs were changing as we iterated to the best possible outcome. This is normal for us, but it meant that we didn't start getting real end-to-end testing until very late in the process.

Once we started test-hanging chandelier pieces, we started basic developer testing. You know how it is: you push the run button, you test a feature, you push the stop button. Tweak the code, rinse, repeat. Eventually, though, we had about 2/3rds of the chandelier pieces plugged in, and started deploying to the kiosk computer, running Windows.

We left it running, and the next time someone walked by and decided to give the screen a tap… nothing happened. It was hung. Well, that could be anything. We rebooted and checked again, and everything seems fine, until a few minutes later, when it's hung… again. We checked the task manager- which hey, everything is really slow, and sure enough, RAM is full and the computer is so slow because it's constantly thrashing to disk.

We're only a few weeks before we actually have to ship this thing, and we've discovered a massive memory leak, and it's such a sudden discovery that it feels like the draining of Lake Agassiz. No problem, though, we go back to our dev machines, fire it up in the profiler, and start looking for the memory leak.

Which wasn't there. The memory leak only appeared in the Windows build, and never happened in the Mac or Linux builds. Clearly, there must be some different behavior, and it must be around object lifecycles. When you see a memory leak in a GCed language, you assume you're creating objects that the GC ends up thinking are in use. In the case of Unity, your assumption is that you're handing objects off to the game engine, and not telling it you're done with them. So that's what we checked, but we just couldn't find anything that fit the bill.

Well, we needed to create some relatively large arrays to use as framebuffers. Maybe that's where the problem lay? We keep digging through the traces, we added a bunch of profiling code, we spent days trying to dig into this memory leak…

… and then it just went away. Our memory leak just became a Heisenbug, our shipping deadline was even closer, and we officially knew less about what was going wrong than when we started. For bonus points, once this kiosk ships, it's not going to be connected to the Internet, so if we need to patch the software, someone is going to have to go onsite. And we aren't going to have a suitable test environment, because we're not exactly going to build two gigantic chandeliers.

The folks doing assembly had the whole chandelier built up, hanging in three sections (we don't have any 14m tall ceiling spaces), and all connected to the network for a smoke test. There wasn't any smoke, but they needed to do more work. Someone unplugged a third of the chandelier pieces from the network.

And the memory leak came back.

We use UDP because we don't care if our packet sends succeed or not. Frame-by-frame, we just want to dump the data on the network and hope for the best. On MacOS and Linux, our software usually uses a sender thread that just, at the end of the day, wraps around calls to the send system call. It's simple, it's dumb, and it works. We ignore errors.

In C#, though, we didn't do things exactly the same way. Instead, we used the .NET UdpClient object and it's SendAsync method. We assumed that it would do roughly the same thing.

We were wrong.

await client.SendAsync(packet, packet.Length, hostip, port);

Async operations in C# use Tasks, which are like promises or futures in other environments. It lets .NET manage background threads without the developer worrying about the details. The await keyword is syntactic sugar which lets .NET know that it can hand off control to another thread while we wait. While we await here, we don't actually await the results of the await, because again: we don't care about the results of the operation. Just send the packet, hope for the best.

We don't care- but Windows does. After a load of investigation, what we discovered is that Windows would first try and resolve the IP address. Which, if a host was down, obviously it couldn't. But Windows was friendly, Windows was smart, and Windows wasn't going to let us down: it kept the Task open and kept trying to resolve the address. It held the task open for 3 seconds before finally deciding that it couldn't reach the host and errored out.

An error which, as I stated before, we were ignoring, because we didn't care.

Still, if you can count and have a vague sense of the linear passage of time, you can see where this is going. We had 30 hosts. We sent each of the 30 packets every second. When one or more of those hosts were down, Windows would keep each of those packets "alive" for 3 seconds. By the time that one expired, 90 more had queued up behind it.

That was the source of our memory leak, and our Heisenbug. If every Beaglebone was up, we didn't have a memory leak. If only one of them was down, the leak was pretty slow. If ten or twenty were out, the leak was a waterfall.

I spent a lot of time reading up on Windows networking after this. Despite digging through the socket APIs, I honestly couldn't figure out how to defeat this behavior. I tried various timeout settings. I tried tracking each task myself and explicitly timing them out if they took longer than a few frames to send. I was never able to tell Windows, "just toss the packet and hope for the best".

Well, my co-worker was building health monitoring on the Beaglebones anyway. While the kiosk wasn't going to be on the Internet via a "real" Internet connection, we did have a cellular modem attached, which we could use to send health info, so getting pings that say "hey, one of the Beaglebones failed" is useful. So my co-worker hooked that into our network sending layer: don't send frames to Beaglebones which are down. Recheck the down Beaglebones every five minutes or so. Continue to hope for the best.

This solution worked. We shipped. The device looks stunning, and as patients and guests come to use it, I hope they find some useful information, a little joy, and maybe some hope while playing with it. And while there may or may not be some ugly little hacks still lurking in that code, this was the one thing which made me say: WTF.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

CodeSOD: A Unique Choice

By Remy Porter

There are many ways to mess up doing unique identifiers. It's a hard problem, and that's why we've sorta agreed on a few distinct ways to do it. First, we can just autonumber. Easy, but it doesn't always scale that well, especially in distributed systems. Second, we can use something like UUIDs: mix a few bits of real data in with a big pile of random data, and you can create a unique ID. Finally, there are some hashing-related options, where the data itself generates its ID.

Tiffanie was digging into some weird crashes in a database application, and discovered that their MODULES table couldn't decide which was correct, and opted for two: MODULE_ID, an autonumbered field, and MODULE_UUID, which one would assume, held a UUID. There were also the requsite MODULE_NAME and similar fields. A quick scan of the table looked like:

0 Defects 8461aa9b-ba38-4201-a717-cee257b73af0 Defects
1 Test Plan 06fd18eb-8214-4431-aa66-e11ae2a6c9b3 Test Plan

Now, using both UUIDs and autonumbers is a bit suspicious, but there might be a good reason for that (the UUIDs might be used for tracking versions of installed modules, while the ID is the local database-reference for that, so the ID shouldn't change ever, but the UUID might). Still, given that MODULE_NAME and MODULE_DESC both contain exactly the same information in every case, I suspect that this table was designed by the Department of Redunancy Department.

Still, that's hardly the worst sin you could commit. What would be really bad would be using the wrong datatype for a column. This is a SQL Server database, and so we can safely expect that the MODULE_ID is numeric, the MODULE_NAME and MODULE_DESC must be text, and clearly the MODULE_UUID field should be the UNIQUEIDENTIFIER type, right?

Well, let's look at one more row from this table:

11 Releases Releases does not have a UUID Releases

Oh, well. I think I have a hunch what was causing the problems. Sure enough, the program was expecting the UUID field to contain UUIDs, and was failing when a field contained something that couldn't be converted into a UUID.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

Error'd: Please Reboot Faster, I Can't Wait Any Longer

By Mark Bowytz

"Saw this at a German gas station along the highway. The reboot screen at the pedestal just kept animating the hourglass," writes Robin G.


"Somewhere, I imagine there's a large number of children asking why their new bean bag is making them feel hot and numb," Will N. wrote.


Joel B. writes, "I came across these 'deals' on the Microsoft Canada store. Normally I'd question it, but based on my experiences with Windows, I bet, to them, the math checks out."


Kyle H. wrote, "Truly, nothing but the best quality strip_zeroes will be accepted."


"My Nan is going to be thrilled at the special discount on these masks!" Paul R. wrote.


Paul G. writes, "I know it seemed like the hours were passing more slowly, and thanks to Apple, I now know why."


[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

CodeSOD: A Variation on Nulls

By Remy Porter

Submitter “NotAThingThatHappens” stumbled across a “unique” way to check for nulls in C#.

Now, there are already a few perfectly good ways to check for nulls. variable is null, for example, or use nullable types specifically. But “NotAThingThatHappens” found approach:

if(((object)someObjThatMayBeNull) is var _)
    //object is null, react somehow

What I hate most about this is how cleverly it exploits the C# syntax to work.

Normally, the _ is a discard. It’s meant to be used for things like tuple unpacking, or in cases where you have an out parameter but don’t actually care about the output- foo(out _) just discards the output data.

But _ is also a perfectly valid identifier. So var _ creates a variable _, and the type of that variable is inferred from context- in this case, whatever type it’s being compared against in someObjThatMayBeNull. This variable is scoped to the if block, so we don’t have to worry about it leaking into our namespace, but since it’s never initialized, it’s going to choose the appropriate default value for its type- and for reference types, that default is null. By casting explicitly to object, we guarantee that our type is a reference type, so this makes sure that we don’t get weird behavior on value types, like integers.

So really, this is just an awkward way of saying objectCouldBeNull is null.

NotAThingThatHappens adds:

The code never made it to production… but I was surprised that the compiler allowed this.
It’s stupid, but it WORKS!

It’s definitely stupid, it definitely works, I’m definitely glad it’s not in your codebase.

[Advertisement] Otter - Provision your servers automatically without ever needing to log-in to a command prompt. Get started today!

CodeSOD: True if Documented

By Remy Porter

“Comments are important,” is one of those good rules that often gets misapplied. No one wants to see a method called addOneToSet and a comment that tells us Adds one item to the set.

Still, a lot of our IDEs and other tooling encourage these kinds of comments. You drop a /// or /* before a method or member, and you get an autostubbed out comment that gives you a passable, if useless, comment.

Scott Curtis thinks that is where this particular comment originated, but over time it decayed into incoherent nonsense:

///<summary> True to use quote value </summary>
///<value> True if false, false if not </value>
private readonly bool _mUseQuoteValue

True if false, false if not. Or, worded a little differently, documentation makes code less clear, clearer if not.

[Advertisement] Otter - Provision your servers automatically without ever needing to log-in to a command prompt. Get started today!

CodeSOD: Underscoring the Comma

By Remy Porter

Andrea writes to confess some sins, though I'm not sure who the real sinner is. To understand the sins, we have to talk a little bit about C/C++ macros.

Andrea was working on some software to control a dot-matrix display from an embedded device. Send an array of bytes to it, and the correct bits on the display light up. Now, if you're building something like this, you want an easy way to "remember" the proper sequences. So you might want to do something like:

uint8_t glyph0[] = {'0', 0x0E, 0x11, 0x0E, 0};
uint8_t glyph1[] = {'1', 0x09, 0x1F, 0x01, 0};

And so on. And heck, you might want to go so far as to have a lookup array, so you might have a const uint8_t *const glyphs[] = {glyph0, glyph1…}. Now, you could just hardcode those definitions, but wouldn't it be cool to use macros to automate that a bit, as your definitions might change?

Andrea went with a style known as X macros, which let you specify one pattern of data which can be re-used by redefining X. So, for example, I could do something like:

#define MY_ITEMS \
  X(a, 5) \
  X(b, 6) \
  X(c, 7)
#define X(name, value) int name = value;
#undef X

This would generate:

int a = 5;
int b = 6;
int c = 7;

But I could re-use this, later:

#define X(name, data) name, 
int items[] = { MY_ITEMS nullptr};
#undef X

This would generate, in theory, something like: int items[] = {a,b,c,nullptr};

We are recycling the MY_ITEMS macro, and we're changing its behavior by altering the X macro that it invokes. This can, in practice, result in much more readable and maintainable code, especially code where you need to have parallel lists of items. It's also one of those things that the first time you see it, it's… surprising.

Now, this is all great, and it means that Andrea could potentially have a nice little macro system for defining arrays of bytes and a lookup array pointing to those arrays. There's just one problem.

Specifically, if you tried to write a macro like this:

#define GLYPH_DEFS \
  X(glyph0, {'0', 0x0E, 0x11, 0x0E, 0})

It wouldn't work. It doesn't matter what you actually define X to do, the preprocessor isn't aware of the C/C++ syntax. So it doesn't say "oh, that second comma is inside of an array initalizer, I'll ignore it", it says, "Oh, they're trying to pass more than two parameters to the macro X."

So, you need some way to define an array initializer that doesn't use commas. If macros got you into this situation, macros can get you right back out. Here is Andrea's solution:

#define _ ,  // Sorry.
#define GLYPH_DEFS \
	X(glyph0, { '0' _ 0x0E _ 0x11 _ 0x0E _ 0 } ) \
	X(glyph1, { '1' _ 0x09 _ 0x1F _ 0x01 _ 0 }) \
	X(glyph2, { '2' _ 0x13 _ 0x15 _ 0x09 _ 0 }) \
	X(glyph3, { '3' _ 0x15 _ 0x15 _ 0x0A _ 0 }) \
	X(glyph4, { '4' _ 0x18 _ 0x04 _ 0x1F _ 0 }) \
	X(glyph5, { '5' _ 0x1D _ 0x15 _ 0x12 _ 0 }) \
	X(glyph6, { '6' _ 0x0E _ 0x15 _ 0x03 _ 0 }) \
	X(glyph7, { '7' _ 0x10 _ 0x13 _ 0x0C _ 0 }) \
	X(glyph8, { '8' _ 0x0A _ 0x15 _ 0x0A _ 0 }) \
	X(glyph9, { '9' _ 0x08 _ 0x14 _ 0x0F _ 0 }) \
	X(glyphA, { 'A' _ 0x0F _ 0x14 _ 0x0F _ 0 }) \
	X(glyphB, { 'B' _ 0x1F _ 0x15 _ 0x0A _ 0 }) \
	X(glyphC, { 'C' _ 0x0E _ 0x11 _ 0x11 _ 0 }) \
	X(glyphD, { 'D' _ 0x1F _ 0x11 _ 0x0E _ 0 }) \
	X(glyphE, { 'E' _ 0x1F _ 0x15 _ 0x15 _ 0 }) \
	X(glyphF, { 'F' _ 0x1F _ 0x14 _ 0x14 _ 0 }) \

#define X(name, data) const uint8_t name [] = data ;
#undef X

#define X(name, data) name _
const uint8_t *const glyphs[] = { GLYPH_DEFS nullptr };
#undef X
#undef _

So, when processing the X macro, we pass it a pile of _s, which aren't commas, so it doesn't complain. Then we expand the _ macro and voila: we have syntactically valid array initalizers. If Andrea ever changes the list of glyphs, adding or removing any, the macro will automatically sync the declaration of the individual arrays and their pointers over in the glyphs array.

Andrea adds:

The scope of this definition is limited to this data structure, in which the X macros are used, and it is #undef'd just after that. However, with all the stories of #define abuse on this site, I feel I still need to atone.
The testing sketch works perfectly.

Honestly, all sins are forgiven. There isn't a true WTF here, beyond "the C preprocessor is TRWTF". It's a weird, clever hack, and it's interesting to see this technique in use.

That said, as you might note: this was a testing sketch, just to prove a concept. Instead of getting clever with macros, your disposable testing code should probably just get to proving your concept as quickly as possible. You can worry about code maintainability later. So, if there are any sins by Andrea, it's the sin of overengineering a disposable test program.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!


By Remy Porter

After a few transfers across departments at IniTech, Lydia found herself as a senior developer on an internal web team. They built intranet applications which covered everything from home-grown HR tools to home-grown supply chain tools, to home-grown CMSes, to home-grown "we really should have purchased something but the approval process is so onerous and the budgeting is so constrained that it looks cheaper to carry an IT team despite actually being much more expensive".

A new feature request came in, and it seemed extremely easy. There was a stored procedure that was normally invoked by a scheduled job. The admin users in one of the applications wanted to be able to invoke it on demand. Now, Lydia might be "senior", but she was new to the team, so she popped over to Desmond's cube to see what he thought.

"Oh, sure, we can do that, but it'll take about a week."

"A week?" Lydia asked. "A week? To add a button that invokes a stored procedure. It doesn't even take any parameters or return any results you'd need to display."

"Well, roughly 40 hours of effort, yeah. I can't promise it'd be a calendar week."

"I guess, with testing, and approvals, I could see it taking that long," Lydia said.

"Oh, no, that's just development time," Desmond said. "You're new to the team, so it's time you learned about Ultrabase."

Wyatt was the team lead. Lydia had met him briefly during her onboarding with the team, but had mostly been interacting with the other developers on the team. Wyatt, as it turned out, was a Certified Super Genius™, and was so smart that he recognized that most of their applications were, functionally, quite the same. CRUD apps, mostly. So Wyatt had "automated" the process, with his Ultrabase solution.

First, there was a configuration database. Every table, every stored procedure, every view or query, needed to be entered into the configuration database. Now, Wyatt, Certified Super Genius™, knew that he couldn't define a simple schema which would cover all the possible cases, so he didn't. He defined a fiendishly complicated schema with opaque and inconsistent validity rules. Once you had entered the data for all of your database objects, hopefully correctly, you could then execute the Data program.

The Data program would read through the configuration database, and through the glories of string concatenation generate a C# solution containing the definitions of your data model objects. The Data program itself was very fault tolerant, so fault tolerant that if anything went wrong, it still just output C# code, just not syntactically correct C# code. If the C# code couldn't compile, you needed to go back to the configuration database and figure out what was wrong.

Eventually, once you had a theoretically working data model library, you pushed the solution to the build server. That would build and sign the library with a corporate key, and publish it to their official internal software repository. This could take days or weeks to snake its way through all the various approval steps.

Once you had the official release of the datamodel, you could fire up the Data Access Layer tool, which would then pull down the signed version in the repository, and using reflection and the config database, the Data Access Layer program would generate a DAL. Assuming everything worked, you would push that to the build server, and then wait for that to wind its way through the plumbing of approvals.

Then the Business Logic Layer. Then the "Core" layer. The "UI Adapter Layer". The "Front End" layer.

Each layer required the previous layer to be in the corporate repository before you could generate it. Each layer also needed to check the config database. It was trivial to make an error that wouldn't be discovered until you tried to generate the front end layer, and if that happened, you needed to go all the way back to the beginning.

"Wyatt is working on a 'config validation tool' which he says will avoid some of these errors," Desmond said. "So we've got that to look forward to. Anyway, that's our process. Glad to have you on the team!"

Lydia was significantly less glad to be on the team, now that Desmond had given her a clearer picture of how it actually worked.

[Advertisement] Keep the plebs out of prod. Restrict NuGet feed privileges with ProGet. Learn more.

Error'd: Free Coff...Wait!

By Mark Bowytz

"Hey! I like free coffee! Let me just go ahead on a second..." writes Adam R.


"I know I have a lot of online meetings these days but I don't remember signing up for this one," Ged M. wrote.


Peter G. writes, "The $60 off this $1M nylon bag?! What a deal! I should buy three of them!"


"So, because it's free, it's null, so I guess that's how Starbucks' app logic works?" James wrote.


Graham K. wrote, "How very 'zen' of National Savings to give me this particular error when I went to change my address."


"I'm not sure I trust "" with their marketing services, if they send out unsolicited template messages. (Muster is German for template, Max Muster is our equivalent of John Doe.)" Lukas G. wrote.


[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

CodeSOD: A Step too Var

By Remy Porter

Astor works for a company that provides software for research surveys. Someone needed a method to return a single control object from a list of control objects, so they wrote this C# code:

private ResearchControl GetResearchControlFromListOfResearchControls(int theIndex, 
    List<ResearchControl> researchControls)
    var result = new ResearchControl();
    result = researchControls[theIndex];
    return result;

Astor has a theory: “I can only guess the author was planning to return some default value in some case…”

I’m sorry, Astor, but you are mistaken. Honestly, if that were the case, I wouldn’t consider this much of a WTF at all, but here we have a subtle hint about deeper levels of ignorance, and it’s all encoded in that little var.

C# is strongly typed, but declaring the type for every variable is a pain, and in many cases, it’s redundant information. So C# lets you declare a variable with var, which does type interpolation. A var variable has a type, just instead of saying what it is, we just ask the compiler to figure it out from context.

But you have to give it that context, which means you have to declare and assign to the variable in a single step.

So, imagine you’re a developer who doesn’t know C# very well. Maybe you know some JavaScript, and you’re just trying to muddle through.

“Okay, I need a variable to hold the result. I’ll type var result. Hmm. Syntax error. Why?”

The developer skims through the code, looking for similar statements, and sees a var / new construct, and thinks, “Ah, that must be what I need to do!” So var result = new ResearchControl() appears, and the syntax error goes away.

Now, that doesn’t explain all of this code. There are still more questions, like: why not just return researchControls[index] or realize that, wait, you’re just indexing an array, so why not just not write a function at all? Maybe someone had some thoughts about adding exception handling, or returning a default value in cases where there wasn’t a valid entry in the array, but none of that ever happened. Instead, we just get this little artifact of someone who didn’t know better, and who wasn’t given any direction on how to do better.

[Advertisement] Continuously monitor your servers for configuration changes, and report when there's configuration drift. Get started with Otter today!

Science Is Science

By Ellis Morning

Oil well

Bruce worked for a small engineering consultant firm providing custom software solutions for companies in the industrial sector. His project for CompanyX involved data consolidation for a new oil well monitoring system. It was a two-phased approach: Phase 1 was to get the raw instrument data into the cloud, and Phase 2 was to aggregate that data into a useful format.

Phase 1 was completed successfully. When it came time to write the business logic for aggregating the data, CompanyX politely informed Bruce's team that their new in-house software team would take over from here.

Bruce and his team smelled trouble. They did everything they could think of to persuade CompanyX not to go it alone when all the expertise rested on their side. However, CompanyX was confident they could handle the job, parting ways with handshakes and smiles.

Although Phase 2 was officially no longer on his plate, Bruce had a suspicion borne from experience that this wasn't the last he'd hear from CompanyX. Sure enough, a month later he received an urgent support request via email from Rick, an electrical engineer.

We're having issues with our aggregated data not making it into the database. Please help!!

Rick Smith

"Lead Software Engineer!" Bruce couldn't help repeating out loud. Sadly, he'd seen this scenario before with other clients. In a bid to save money, their management would find the most sciency people on their payroll and would put them in charge of IT or, worse, programming.

Stifling a cringe, Bruce dug deeper into the email. Rick had written a Python script to read the raw instrument data, aggregate it in memory, and re-insert it into a table he'd added to the database. Said script was loaded with un-parameterized queries, filters on non-indexed fields, and SELECT * FROM queries. The aggregation logic was nothing to write home about, either. It was messy, slow, and a slight breeze could take it out. Bruce fired up the SQL profiler and found a bigger issue: a certain query was failing every time, throwing the error Cannot insert the value NULL into column 'requests', table 'hEvents'; column does not allow nulls. INSERT fails.

Well, that seemed straightforward enough. Bruce replied to Rick's email, asking if he knew about the error.

Rick's reply came quickly, and included someone new on the email chain. Yes, but we couldn't figure it out, so we were hoping you could help us. Aaron is our SQL expert and even he's stumped.

Product support was part of Bruce's job responsibilities. He helpfully pointed out the specific query that was failing and described how to use the SQL profiler to pinpoint future issues.

Unfortunately, CompanyX's crack new in-house software team took this opportunity to unload every single problem they were having on Bruce, most of them just as basic or even more basic than the first. The back-and-forth email chain grew to epic proportions, and had less to do with product support than with programming education. When Bruce's patience finally gave out, he sent Rick and Aaron a link to the W3 schools SQL tutorial page. Then he talked to his manager. Agreeing that things had gotten out of hand, Bruce's manager arranged for a BA to contact CompanyX to offer more formal assistance. A teleconference was scheduled for the next week, which Bruce and his manager would also be attending.

When the day of the meeting came, Bruce and his associates dialed in—but no one from CompanyX did. After some digging, they learned that the majority of CompanyX's software team had been fired or reassigned. Apparently, the CompanyX project manager had been BCC'd on Bruce's entire email chain with Rick and Aaron. Said PM had decided a new new software team was in order. The last Bruce heard, the team was still "getting organized." The fate of Phase 2 remains unknown.

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

CodeSOD: A Dropped Pass

By Remy Porter

A charitable description of Java is that it’s a strict language, at least in terms of how it expects you to interact with types and definitions. That strictness can create conflict when you’re interacting with less strict systems, like JSON data.

Tessie produces data as a JSON API that wraps around sensing devices which report a numerical value. These sensors, as far as we care for this example, come in two flavors: ones that report a maximum recorded value, and ones which don’t. Something like:

    dataNoMax: [
      {name: "sensor1", value: 20, max: 0} 
    dataWithMax: [
      {name: "sensor2", value: 25, max: 50 }

By convention, the API would report max: 0 for all the devices which didn’t have a max.

With that in mind, they designed their POJOs like this:

  class Data {
    String name;
    int value;
    int max;

  class Readings {
    List<Data> dataNoMax;
    List<Data> dataWithMax;

These POJOs would be used both on the side producing the data, and in the client libraries for consuming the data.

Of course, by JSON convention, including a field that doesn’t actually hold a meaningful value is a bad idea- max: 0 should either be max: null, or better yet, just excluded from the output entirely.

So one of Tessie’s co-workers hacked some code into the JSON serializer to conditionally include the max field in the output.

QA needed to validate that this change was correct, so they needed to implement some automated tests. And this is where the problems started to crop up. The developer hadn’t changed the implementation of the POJOs, and they were using int.

For all that Java has a reputation as “everything’s an object”, a few things explicitly aren’t: primitive types. int is a primitive integer, while Integer is an object integer. Integers are references. ints are not. An Integer could be null, but an int cannot ever be null.

This meant if QA tried to write a test assertion that looked like this:


it wouldn’t work. max could never be null.

There are a few different ways to solve this. One could make the POJO support nullable types, which is probably a better way to represent an object which may not have a value for certain fields. An int in Java that isn’t initialized to a value will default to zero, so they probably could have left their last unit test unchanged and it still would have passed. But this was a code change, and a code change needs to have a test change to prove the code change was correct.

Let’s compare versions. Here was their original test:

/** Should display max */
assertEquals("sensor2", readings.dataWithMax[0].getName())
assertEquals(50, readings.dataWithMax[0].getMax());
assertEquals(25, readings.dataWithMax[0].getValue());

/** Should not display max */
assertEquals("sensor1", readings.dataNoMax[0].getName())
assertEquals(0, readings.dataNoMax[0].getMax());
assertEquals(20, readings.dataNoMax[0].getValue());

And, since the code changed, and they needed to verify that change, this is their new test:

/** Should display max */
assertEquals("sensor2", readings.dataWithMax[0].getName())
assertEquals(25, readings.dataWithMax[0].getValue());

/** Should not display max */
assertEquals("sensor1", readings.dataNoMax[0].getName())
assertEquals(20, readings.dataNoMax[0].getValue());

So, their original test compared strictly against values. When they needed to test if values were present, they switched to using an isNotNull comparison. On the side with a max, this test will always pass- it can’t possibly fail, because an int can’t possibly be null. When they tried to do an isNull check, on the other value, that always failed, because again- it can’t possibly be null.

So they commented it out.

Test is green. Clearly, this code is ready to ship.

Tessie adds:

[This] is starting to explain why our git history is filled with commits that “fix failing test” by removing all the asserts.

[Advertisement] Otter - Provision your servers automatically without ever needing to log-in to a command prompt. Get started today!


By Remy Porter

A long time ago, way back in 2009, Bruce W worked for the Mega-Bureaucracy. It was a slog of endless forms, endless meetings, endless projects that just never hit a final ship date. The Mega-Bureaucracy felt that the organization which manages best manages the most, and ensured that there were six tons of management overhead attached to the smallest project.

After eight years in that position, Bruce finally left for another division in the same company.

But during those eight years, Bruce learned a few things about dealing with the Mega-Bureaucracy. His division was a small division, and while Bruce needed to interface with the Mega-Bureaucracy, he could shield the other developers on his team from it, as much as possible. This let them get embedded into the business unit, working closely with the end users, revising requirements on the fly based on rapid feedback and a quick release cycle. It was, in a word, "Agile", in the most realistic version of the term: focus on delivering value to your users, and build processes which support that. They were a small team, and there were many layers of management above them, which served to blunt and filter some of the mandates of the Mega-Bureaucracy, and that let them stay Agile.

Nothing, however, protects against management excess than a track record of success. While they had a reputation for being dangerous heretics: they released to test continuously and releasing to production once a month, they changed requirements as needs changed, meaning what they delivered was almost never what they specced, but it was what their users needed, and worst of all, their software defeated all the key Mega-Bureaucracy metrics. It performed better, it had fewer reported defects, it return-on-investment metrics their software saved the division millions of dollars in operating costs.

The Mega-Bureaucracy seethed at these heretics, but the C-level of the company just saw a high functioning team. There was nothing that the Bureaucracy could do to bring them in line-

-at least until someone opened up a trade magazine, skimmed the buzzwords, and said, "Maybe our processes are too cumbersome. We should do Agile. Company wide, let's lay out an Agile Process."

There's a huge difference between the "agile" created by a self-organizing team, that grows based on learning what works best for the team and their users, and the kind of "agile" that's imposed from the corporate overlords.

First, you couldn't do Agile without adopting the Agile Process, which in Mega-Bureaucracy-speak meant "we're doing a very specific flavor of scrum". This meant morning standups were mandated. You needed a scrum-master on the team, which would be a resource drawn from the project management office, and well, they'd also pull double duty as the project manager. The word "requirements" was forbidden, you had to write User Stories, and then estimate those User Stories as taking a certain number of hours. Then you could hold your Sprint Planning meeting, where you gathered a bucket of stories that would fit within your next sprint, which would be a 4-week cadence, but that was just the sprint planning cadence. Releases to production would happen only quarterly. Once user stories were written, they were never to be changed, just potentially replaced with a new story, but once a story was added to a sprint, you were expected to implement it, as written. No changes based on user feedback. At the end of the sprint, you'd have a whopping big sprint retrospective, and since this was a new process, instead of letting the team self-evaluate in private and make adjustments, management from all levels of the company would sit in on the retrospectives to be "informed" about the "challenges" in adopting the new process.

The resulting changes pleased nearly no one. The developers hated it, the users, especially in Bruce's division, hated it, management hated it. But the Mega-Bureaucracy had won; the dangerous heretics who didn't follow the process now were following the process. They were Agile.

That is what motivated Bruce to transfer to a new position.

Two years later, he attended an all-IT webcast. The CIO announced that they'd spun up a new pilot development team. This new team would get embedded into the business unit, work closely with the end user, revise requirements on the fly based on rapid feedback and a continuous release cycle. "This is something brand new for our company, and we're excited to see where it goes!"

[Advertisement] Otter - Provision your servers automatically without ever needing to log-in to a command prompt. Get started today!

Error'd: Not Applicable

By Mark Bowytz

"Why yes, I have always pictured myself as not applicable," Olivia T. wrote.


"Hey Amazon, now I'm no doctor, but you may need to reconsider your 'Choice' of Acetaminophen as a 'stool softener'," writes Peter.


Ivan K. wrote, "Initially, I balked at the price of my new broadband plan, but the speed is just so good that sometimes it's so fast that the reply packets arrive before I even send a request!"


"I wanted to check if a site was being slow and, well, I figured it was good time to go read a book," Tero P. writes.


Robin L. writes, "I just can't wait to try Edge!"


"Yeah, one car stays in the garage, the other is out there tailgating Starman," Keith wrote.


[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!

CodeSOD: Because of the Implication

By Remy Porter

Even when you’re using TypeScript, you’re still bound by JavaScript’s type system. You’re also stuck with its object system, which means that each object is really just a dict, and there’s no guarantee that any object has any given key at runtime.

Madison sends us some TypeScript code that is, perhaps not strictly bad, in and of itself, though it certainly contains some badness. It is more of a symptom. It implies a WTF.

    private _filterEmptyValues(value: any): any {
        const filteredValue = {};
            .filter(key => {
                const v = value[key];

                if (v === null) {
                    return false;
                if (v.von !== undefined || v.bis !== undefined) {
                    return (v.von !== null && v.von !== 'undefined' && v.von !== '') ||
                        (v.bis !== null && v.bis !== 'undefined' && v.bis !== '');
                return (v !== 'undefined' && v !== '');

            }).forEach(key => {
            filteredValue[key] = value[key];
        return filteredValue;

At a guess, this code is meant to be used as part of prepping objects for being part of a request: clean out unused keys before sending or storing them. And as a core methodology, it’s not wrong, and it’s pretty similar to your standard StackOverflow solution to the problem. It’s just… forcing me to ask some questions.

Let’s trace through it. We start by doing an Object.keys to get all the fields on the object. We then filter to remove the “empty” ones.

First, if the value is null, that’s empty. That makes sense.

Then, if the value is an object which contains a von or bis property, we’ll do some more checks. This is a weird definition of “empty”, but fine. We’ll check that they’re both non-null, not an empty string, and not… 'undefined'.

Uh oh.

We then do a similar check on the value itself, to ensure it’s not an empty string, and not 'undefined'.

What this is telling me is that somewhere in processing, sometimes, the actual string “undefined” can be stored, and it’s meant to be treated as JavaScript’s type undefined. That probably shouldn’t be happening, and implies a WTF somewhere else.

Similarly, the von and bis check has to raise a few eyebrows. If an object contains these fields, these fields must contain a value to pass this check. Why? I have no idea.

In the end, this code isn’t the WTF itself, it’s all the questions that it raises that tell me the shape of the WTF. It’s like looking at a black hole: I can’t see the object itself, I can only see the effect it has on the space around it.

[Advertisement] Otter - Provision your servers automatically without ever needing to log-in to a command prompt. Get started today!

Into August

By [email protected] (Jon North)

Françoise's cat

Highlights from this morning.  I just saw this post on Facebook: "The first Gatwick flight to Montpellier since March has just landed. 15 minutes early too." Not sure if we shall be flying any time soon... In solidarity with Mary, I'm feeling pleased with Arsenal's FA Cup win! And as we await our guests for the week, we are hoping for slightly cooler days after the hottest weekend of the year and classified

My besty news of the week is that the pain clinic treatment I am trying seems to be working.  TENS stands for transcutaneous electrical nerve stimulation (the French use this rather clunky phrase, hoping we won't notice behind the acronym...) which consists of pairs of electrodes stuck to the skin with gooey gel, and through which electrical pulses are sent - tingly and not unpleasant if you don't overdo it.  I used to get fed up with physiotherapists who used it without noticeable effect and routinely in order to attend to several patients at once - you were hitched up then left for a quarter of an hour while they went away, had coffee, chats or whatever.  So I needed convincing.

The consultant at St Eloi hospital who sorted out my appointment, Dr Giniès, turned out when I met him to be an archetypal senior medical man, a bit remote and without much to add, was luckily not the one to give me the attention.  He was running 2 hours late.  But his nurse colleague who provided clear, detailed guidance and demonstration, plus a prescription to hire the machine through my local pharmacy, was on time and thorough in every way.  The principle of pain relief, according to them, is to apply electrical stimulation along the path of the nerve (in my case the sciatic nerve to the right leg, around but no over the area where pain is felt.  Unlike the physio applications, which were never more than 20 minutes once a week, mine are an hour at a time and several sessions every day.  I've been using the machine for 3 days now, and to my surprise there has been a pretty instant response in reduced pain, sometimes removing it altogether, sometimes reducing it to a dull ache.  Painkillers not yet abandoned, but I need fewer pills and altogether I feel more optimistic.

The nurse went through all the physical and psychological aspects of chronic pain, and provided me with some very useful ideas and pointers in my long-accustomed sceptical state!  No miracles, but a very hopeful start and change.  In this hot weather the gel is very slippery, so you have to be careful the electrodes don't start to fall off - if one does you can get a sharp jab of pain like a bee sting!

We've not gone out a lot, though it is the season for outdoor cinema and so on even with continuing restrictions, but we did enjoy a lovely meal with friends Marie and Nick in a shady little restaurant in nearby St Dionisy.

So the summer sun continues

Some recent bits and pieces

By [email protected] (Jon North)

Evening looking north from our house

This week I want to give you a tiny flavour of the things that occupy my waking hours, jotted over the last few days on Facebook, so FB people may have seen all of this before, but there are one or two new angles.  This all comes from reading and viewing pictures online, but also from my own photos taken locally - there are links to articles and photo galleries, plus some other transcriptions and translations.  My aim was always to make this blog a resource for my friends who don't use Facebook, but it's all freely available.  I put things here because they are important to me, or make me smile, sometimes both...  Sadly, many important things are more likely to make me cry than to smile.

I checked the rain gauge this morning - 2 mm, the first this month, but enough to soak Mary falling as it did just when she took the dogs for their walk.  The photographer Régis Domergue publishes among many other things, a stream of wonderful photos (click link) of the area where he lives, near the Pic Saint Loup - once you start delving into his site it is hard to stop.  Only a few Km from us here, and the origin of much wonderful wine of the same appellation too!

 Much of what I am posting this time has something to do with viruses, which are constantly on our minds and in the news.  It's tempting to think that the current epidemic is unique or unheard of, but there have been past emergencies, as the polio one described in The man in the iron lung  reminds us.  Rumours abounded then as they have this year with e.g. 5G - then  “some people refused to talk on the phone out of concern that the virus could be transmitted down the line.”  That gives a new meaning to ‘fake news’.  I read this astonishing story in The Week.

Some things are worse than viruses - another clip from Facebook

On another subject, it seems mad that laughing gas is on sale openly.  We’ve seen abandoned cartridges around here, let alone in bigger cities.  Here is a headline from a press report of this recent dangerous craze.  apparently the gas is sold to make chantilly cream - it would be good if it were less easily available to young people

As the football season in the UK comes to a breathless close without spectators, I have shared the pleasure of several friends at Liverpool's triumph in the Premiership.  I read that Liverpool have a throw-in coach; they certainly seem to be coaching crosses and scoring from free kicks in their own box pretty well.  A fitting climax to a wonderful season

We live in a crazy world - António Guterres, the UN secretary general, says. “When two diplomats meet, there are at least six perceptions to manage: how the two perceive themselves, how they perceive each other – and how they think the other perceives them”.  So what hope is there when some of the parties trying to get agreement are megalomaniacs, fantasists or liars?

Back to epidemics and disease.  I read this article on using antibodies to treat coronavirus and it sounds like good news.  When this emergency recedes a bit we may find some useful new scientific tools in disease control.  But we, and researchers even more, need time to do the work thoroughly.  The understandable cries for results and solutions may drown out calls for caution.

Some lighter relief in the Covid world 

This girl is a keeper!!!! It happened at a New York Airport. This is hilarious. I wish I had the guts of this girl. An award should go to the United Airlines gate agent in New York for being smart and funny, while making her point, when confronted with a passenger who probably deserved to fly as cargo. For all of you out there who have had to deal with an irate customer, this one is for you.

A crowded United Airlines flight was canceled. A single agent was re-booking a long line of inconvenienced travelers.

Suddenly, an angry passenger pushed his way to the desk. He slapped his ticket on the counter and said, "I HAVE to be on this flight and it has to be FIRST CLASS."

The agent replied, "I'm sorry, sir. I'll be happy to try to help you, but I've got to help these folks first; and then I'm sure we'll be able to work something out."

The passenger was unimpressed. He asked loudly, so that the passengers behind him could hear, "DO YOU HAVE ANY IDEA WHO I AM?"

Without hesitating, the agent smiled and grabbed her public address microphone. "May I have your attention, please?", she began, her voice heard clearly throughout the terminal. "We have a passenger here at Gate 14 WHO DOES NOT KNOW WHO HE IS. If anyone can help him with his identity, please come to Gate 14".

With the folks behind him in line laughing hysterically, the man glared at the United Airlines agent, gritted his teeth, and said, "F*** You!"

Without flinching, she smiled and said, "I'm sorry sir, you'll have to get in line for that, too."

Life isn't about how to survive the storm, but how to dance in the rain...

Most of my music posts end up in the music blog, but this is partly about unappealing world leaders, so I put it here...  Just listening to the final duet of l’Incoronazione di Poppea - why has this poppe(a)d up in our consciousness more frequently on Radio 3 in this strange year? - and as always I cannot help reflecting that two of the most horrible and ruthless characters in opera should engender some of the most sublime music.



Another music-related post, showing that people are trying to assess the risk of singing together in confined spaces, an article in the Guardian.  Let’s hope this kind of research sheds light on an apparently risky actvity - at the moment I feel pessimistic about rejoining my choir.

Life, illness and ill health all go on despite as well as because of the pandemic.  There are some people who seem almost indestructible, as if they'd live for ever, but not so of course.  My life had been entwined with that of Ted Milligan, Edward H Milligan who was Librarian of the Society of Friends at Friends' House in London from 1957 until 1985 and my 'boss' there for several years from 1973; but as significantly at that time, my friend and mentor when we worked together on the Constitution Review Committee, and a little later played a key part in my wedding to Mary.  He died today, an irrreparable loss and  a wonderful life model for me and many others.  RIP Ted.

I began this blog listening to the gripping climax to the second Test - M revising as Aggers and Tuffers strut their commentator stuff.  This is definitely not the brittle WI side we became used to at the turn of the century.  I am finishing as the series nears its climax, either side can win, Broad and Anderson the undisputed best pair of fast bowlers in world cricket now or probably ever.  We all need to revise our field positions!

A long, hot summer

By [email protected] (Jon North)

Whatever we imagined about this strange health crisis, it is not getting clearer as time goes on. Not only do more and more extra manifestations of the virus bob up, but people have had time to write veritable essays on their view of the hazards, the future, the world.

Since this is a personal blog I guess I’m allowed a bit of selfish reflection. Well, really more of an honest admission of hypochondria. You may share my frequent fear that the latest symptom in the news is one you have had all along, that the slight ache or pain is a symptom of something dire. My own body is, has long been home to a staggering array of itches. They can drive me to distraction. On top of that, for well over a year (thankfully well before Covid reared its spiky head) I have lost a lot of my sense of smell and taste. Not really great for someone who enjoys wine... One would hesitate now to mention such a thing in the wrong official circles for fear of being whisked into restraint with probes deep up every orifice. On the other hand, who (the heck) knows? Paranoia can easily rule.

To escape introspection it’s good to have something to do, so I am really glad this weekend to return to my occasional voluntary job as duty person in the Anglophone Library in Montpellier. It is a small, pleasant airy ground floor space in a bac’ street near the Corum and Beaux Arts. A thousand or so books, space to browse, a children’s section, and a small membership so it is not busy or onerous.

It takes me right back to my early library days, pre-qualification, when I was often sole staff-member in one or other of the branch libraries attached to Chelsea College in London. My luck held with small, interesting workplaces, first at Wye College in Kent then at Friends House (Quaker) Library, before work and life moved in other directions. I am still a librarian at heart I think, and am pleased to have (ex-) librarian cousins (the last of them, Mary Cassidy, has just retired). Shelves full of books are just part of it - to me, it was and is the helping people to find information of all sorts that is so satisfying.

Back in the real world of hot dry weather, dogs and nice meals, we are getting to know the similarities and contrasting in personalities of our two dogs.  Elvire barks a lot but Edmond pulls ahead more on the lead, and he likes to settle proprietorially on my pillow if I forget to shut the bedroom door.  But they have proved excellent companions and perfect for our semi-sedentary lives.  Both full of energy so they can probably do with longer walks when it is cool enough to go further than the minimum!

Reading matter - and reflecting on reading in confinement

By [email protected] (Jon North)

One of the points of this blog is to share things with friends and family who do not have My friend Caroline in Notts challenged me to nominate my top 10 books - she suggested the past couple of years, but I have stretched this a bit and stretched the number too!   Most of these I’ve read more than once and simply getting them out to photograph them has prompted me to go back to some soon.  I should ass that, although I've photographed all the books for this post, they are not in the order in which I've written about them.  That would have been too difficult, sorry!  

Starting with Dickens, Little Dorrit has a grand and complex plot which starts near us, in Marseille.  Like many of these books it has spawned good tv films, in this case two very different ones  Then  one of a huge series of Bernard Cornwell's Sharpe novels covering the Napoleonic war period and the rise of the Duke of Wellington. Not high art but a great read, and Cornwell is an enthusiast who does his research well.   My second Dickens and probably my favourite, a wonderful romantic tale, David Copperfield.  It’s maybe a bit autobiographical. Then I chose one of Dorothy Dunnett’s series of 9 superb Niccolo books, 15th century fiction across the world and again based on amazingly thorough historical research.  Niccolo started as a dyer's apprentice, but he married the boss and became a grand merchant.

My next group includes 2 non-fiction books: Robert Winder’s study of immigration in Britain, Bloody Foreigners.  This is brilliant, and so current in its theme I just come back to it time and again.  Alongside that, Jan Morris’s classic Pax Britannica, part of a trilogy of the same title, which is cut from the same cloth as the Winder, and just good history, pulling no punches in describing our chequered imperial past, again something to return to often. Trollope’s septet of Barsetshire novels takes us back to the 19th century - the first two made one of our all-time favourite tv series with Nigel Hawthorne as the Archdeacon, and the slithery Alan Rickman as Mr Slope. And one of another series of books, Paul Scott’s Raj Quartet which blends fiction into the imperial theme. Such riches.

The next 2 include one of Camilleri’s splendid Montalbano series, equally excellently translated from the Italian, and another indication of our love of detective stories (this also often on tv with Luca Zingaretti, subtitled but we never mind hearing the Italian language!) ; and as a gesture to one of my other enthusiasms, Patricia Atkinson’s autobiography about becoming a winemaker. We visited her near Bergerac and bought some of her delicious (if expensive) Saussignac wine, but the admirable thing about this book is the honest description of the hard work involved in wine making. Mind you, having met her we realised she’d have advantages as an attractive woman in getting the help she needed from her traditionally minded male neighbours!

The final two books I posted on Facebook in response to Caroline’s challenge again represent many more volumes since, like most of the others, each is part of a series - Swallows and Amazons takes me back to my childhood and the simpler world of children, Arthur Ransome’s series of tales of derring do on boats: most set in the Lake District though later we find ourselves in East Anglia, the Norfolk Broads I think. Then another much more grown-up series, Sara Paretsky’s stories of the Chicago private eye V.I.Warshawski. A lot of deep themes around social justice and race equality here tangled with crime and privilege. Sara Paretsky is still alive and a regular Facebook presence, a deeply interesting person in her own right with Jewish and other backgrounds and experiences that inform her writing.

As I was finishing these posts, seeing press stories of cramped unhealthy conditions and restrictions on farm workers supplying supermarkets I was struck by the contrasting images of small-scale self-sufficiency, sometimes romantic, sometimes as with our friend Luc and his garden near Aigues Mortes a practical passion tied to an old family plot on the one hand; and the tough reality and slog of growing things on farms at prices big organisations are willing to pay. Work that only poorly-paid workers from Eastern Europe used to do, but now who knows? Anyway, just now with challenges to name favourite books, and since the best I find often chime with current themes, here’s another one, Marina Lewycka’s Two caravans which  we much enjoyed a few years back.  Her better-known A brief history of tractors in Ukranian is equally entertaining.

Holiday time

By [email protected] (Jon North)

This year has seen one long string of cancellations.  Some of our family who had planned to come and see us have had to call it off - things are just too uncertain.  Best to think of all these setbacks as pleasures postponed - after all we had been able to travel around France even if our big foreign trip has been cancelled, or rather postponed till next year.  Some friends have made it back from the UK to their French home after several months, and we still hope others will get over to see us later this summer.  But there is still a rather frantic air to the 'normality' everyone wants back.  And with vaccines and cures still a way off, there is always the anxiety that the pandemic may return. We are getting used to stuffy masks in hot weather, even if some idiots say 'they don't believe in them' as if it were some kind of optional religion.

One effect of the lockdown seems to have been to intensify many experiences.  Some of this is the result of less pollution, or fewer crowds of people.  Maybe we have more time to stop and look.  There seem to be more flowers, brighter colours.  A lot is of course psychological, but I've never enjoyed my photography more, and also sharing others' - here for example is the website of Régis Domergue, a gifted photographer who lives near the Pic Saint Loup.  But listening, watching and reading seem to have taken on a greater intensity too.  We have started to watch the series of Talking Heads, monologues written by Alan Bennett.  The latest series of 12 contains several new scripts, and older ones re-produced with different actors.  He is a superb and often unexpected observer of human situations, and each of these is a masterpiece.  The newer plots are perhaps more shocking, the later ones more gentle, but the acting in these new versions is very good throughout.

We have had an oriental flavour in our films recently - a marvellous Japanese one found on the recommendation of someone we met during our summer music trip who, knowing Mary played the cello, suggested Deprtures directed by Yasuhhiro Mase.  It deals with the taboos over death and dying, and the protagonist is a young man who loses his work as an orchestral cellist and becomes an 'encoffiner'.  We have also started to explore a little more the films of Ang Lee.  We'd known his marvellous  Sense & Sensibility among others for a long time, then having recently rewatched Eat, drink, man, woman (must rewatch it - quite complex) we looked for the others in his 'Father knows best' trilogy and watched his first film Pushing hands this week.  The trilogy all star Sihung Lung as the father.  

And before those, a Danish slant on French cooking in Babette's feast, an old favourite of ours in which a celebrated woman, Parisian chef ends up in a tiny and very primitive almost puritan community in Jutland and, having won the lottery, cooks her hosts an extraordinary meal in which great food and wine lead to healing of long-simmering feuds and discords between neighbours.

Back to normal - but what is normal?

By [email protected] (Jon North)

The main street in Lunel, still quiet as we sat in the restaurant a week or so after it opened

We've been looking forward to easing restrictions for a while, and realising that 'getting back to normal' raises as many questions as it answers.  First, do we know what 'normal' is?  When this virus arrived, we none of us knew what 'it' was.  Most of us had been gaily demanding antibiotics for flu or a cold for years, even though people who knew kept telling us that antibiotics worked on bacteria, not on viruses.  We've all learnt a bit more about viruses lately, for instance that they are spread by contact either on the skin or through the air, and lots of evidence has been flying about almost as freely as the droplets spread by coughs and sneezes - how far do they travel, how long are they active, what activities are most effective in spraying them about and on and on.  And still I reckon you could find a variety of answers in reputable studies, no hard and fast rules.  'Following the science' is if nothing else an exercise in realising that complexity is the name of the game.  All the same, simple rules like 'keep your distance', 'wash your hands', forbidding bises and so on are commonsense ones.  I smile to think that our very young son who tried desperately to avoid embarrassment all those years ago by saying loudly 'NO kissing' might actually have stumbled on a sensible health precaution!

Vine on our terrace in Lunel

Among all the blizzard of words and quasi-science, the thing that sticks with me is that this is scary because it is unlike anything we've known before - if only because it can kill even if only if relatively small numbers, and there is no cure currently. Today's newspaper called it a global disease without a cure, and while many diseases kill more people most have cures developed with a lot of trial and error over a long period.  In the end perhaps the science will have delivered the necessary vaccines or palliative treatments, but meanwhile it’s tempting to grope about trying to find people to blame.  Politicians are readily to hand.  The easiest target is that things were done too late, and with hindsight we could all have done things better and sooner.  However it may be, governments and politicians are obliged to come up with rules - how far apart must we be, when and where should we wear masks? - which then take on a kind of holy character when they are never more at best than arbitrary markers. 

Our music this week is in the Ain, at the Val du Séran

This week we are tourists - not in the mass, but individuals visiting a friend's music centre we've known for over 10 years.  It feels strange to be away and to travel, and the roads were busy enough, but we are still in the early stages of profound changes in many industries, not least tourism.  I read in the Guardian today that "Tourism is an unusual industry in that the assets it monetises – a view, a reef, a cathedral – do not belong to it. The world’s dominant cruise companies – Carnival, Royal Caribbean and Norwegian – pay little towards the upkeep of the public goods they live off. By incorporating themselves in overseas tax havens with benign environmental and labour laws – respectively Panama, Liberia and Bermuda – cruising’s big three, which account for three-quarters of the industry, get to enjoy low taxes and avoid much irksome regulation, while polluting the air and sea, eroding coastlines and pouring tens of millions of people into picturesque ports of call that often cannot cope with them."  So things there as elsewhere may never be the same.  For the moment we are out and about, and our friends are beginning to find ways to visit us.  But life will be profoundly changed in every corner, and we don't yet really know how.

 On top of all that the fear and uncertainty everyone feels in different ways mean that everyone make their own choices in reaction to the rules.  On the one hand there are myriads who say 'what the hell?' and flout every sensible restriction with, we must assume, a risk to the health of innocent bystanders who happen to be in the way.  In fact, the rules themselves are near impossible to apply - if a cheap supermarket is built with narrow aisles nobody can stay far enough away from other shoppers however hard they try, and these days shopping adds to my sense of slightly dizzy unreality with a mask round my face and breath steaming up my glasses, so that the simple task of not bumping into others becomes even more difficult.  At the other end of the scale, people become very cautious, are frightened to go out even to shop for necessities, and would rather avoid risking any kind of social contact even now when, in France for instance, rules about numbers are relaxing.  As for singing in choirs - well, that is another matter again.  To be continued...

The story so far

By [email protected] (Jon North)

Derbyshire stone sculptures in our garden

The canvas of our daily life is changing slowly, but the basic rhythm does not vary much.  I'm up at 6 to feed and walk the dogs round the bock - these days in the light, and although cool in the early morning not really coat and hat weather!  Then some time on the exercise bike, and reading the papers before a bit of breakfast.  Mary is usually up around 8, and the morning drifts on with shopping every 2-3 days, checking emails (and writing this blog!) and, for Mary, often some cello practice or maybe a bit of garden tidying - things are growing fast now.  Apéros at around midday then our main meal, lunch, which we more or less take turns to cook.  

Edmond and Elvire have settled in well, now here for 6 weeks

After lunch I often and Mary sometimes take a nap, and then one or both of us take the dogs out for a slightly longer walk, sometimes by the Canal, sometimes in the little wooded 'parcours de santé' north of the town.  Once we are back things drift towards cups of tea, some tv, videos or reading, and if we have a Zoom call scheduled it's usually early evening.  The dogs get their final walk of the day around 10 and are settled on the settee,  and then we're reading in bed for a while.  Things changed a bit recently with occasional visits to friends for lunch or music, and we have bigger changes on the horizon with our first wine tasting group on Saturday in the garden of friends in Saint Christol, while in a fortnight we are very much looking forward to our musical and wine trip to the Savoie, Jura and Burgundy, of which more anon. 

Walks along the canal - flowers, birds and sometimes we get as far as the donkeys


June arrives

By [email protected] (Jon North)

The artichoke rampaging skywards

So lockdown in France is almost over though it’s more complicated in the U.K. and internationally. This week we have just had our second wine trip, our second invitation to a friend’s house (today for lunch), and our wine tasting circle resumes in 10 days. Then we have a trip north for music and/or wine, which is really exciting. For others, things will take longer to get back to ‘normal’ - we were delighted to hear that one friend marooned in England has now been reunited with her husband in France.

Sunday evening as I began to write, we were just just back from the afternoon walk, that day along a little country road near our house that leads unromantically to the déchèterie. I’ve started to call it nightingale alley - just now there are half a dozen along the 2 km circuit. These birds have a fine poetic reputation but some of our friends commented recently (after I included a recording I made in our garden) that they are very loud - indeed they are, especially outside your bedroom window at night. But the Nachtigallen flöten in various songs probably refers more to the long, upward reaching piping notes which are part of the oh so varied song.

Mary and I often muse that our lives really didn’t change under lockdown - we spend a lot of time at home reading listening to music, watching tv or videos; but what did change suddenly and completely were the regular round of weekly rendez-vous - Tuesday French conversation, monthly ‘réseau’ meetings, Monday music in Vauvert for M, monthly choir In Montpellier for me, monthly wine tastings, any of them often accompanied you bring and share food and drink. So our days have fallen into a much less varied pattern, with shopping trips (still of course allowed), medical appointments (though several of these we have decided to postpone) and so on, but now most frequently walks with the dogs 3 times a day, which are a godsend. 

Of course, you get a chance to catch up on jobs - here, Mary replacing 30-year-old blue chair coverings with smart new grey-green ones.

Now warmer days are here things are growing like mad, and somehow (as others have noticed) everything seems a bit brighter and more luxurious in the absence of so much bustle. We have had over 150 mm of rain since the beginning of April, but that fell mainly in 4 short bursts and we’ve had a lot of sunshine and dry days, which help with dog walking!

Music-wise, Mary is still assidous in practising the cello, I never was a keen practiser on my own, but for us music is usually best when done in groups: we are quite awed by those, mainly keyboard players, who enjoy playing alone. But now she has a possible chamber group to look forward to in the Ain as already mentioned, so she is practising hard for that in case it happens.

The latest upheaval in our lives was the delivery of next winter’s firewood. Not earth-shattering, but it took a bit of stacking! 

Health and medicine - an update

By [email protected] (Jon North)

I like pictures in my blog, but health posts don't have any natural photo associations, so I'm choosing plants today!

From time to time I have written about our experience with illness, pain, operations and all things medical.  Here is an update.  It is primarily mine - Mary has her own collection of aches, pains and health problems, but all that needs to be said to start with is that we are both reasonably healthy and, thankfully, so far free of The Virus.

From our arrival here until a couple of years ago we were both registered with the same doctor, Dr Cayla, a man of insight and experience whose ability to diagnose and prescribe was recommended by others and confirmed many times by our experience.  He is about my age and retired last year, so we both had to find new GPs, and we both went to the very efficient group practice in the nearby village of Saint Just.  In theory at least you now have to register a médecin traitant with the social security/health system ((the CPAM (Caisse primaire d'assurance maladie linked to the national health insurance system Assurance Maladie and its online presence ameli)  Happily despite all the muddles over Brexit (will it ever end?) the basic exit agreement allows us British longterm residents in France continued access to the health service.

By chance, Mary ended up with one of the longer-standing practice partners in St Just, and I after a series of temporary doctors have found myself with a young man, Dr Vert, who is very nice, thoughtful but efficient.  So we are sorted for now, and as far as I can make out they have never stopped receiving people for appointments at the surgery.  For my dealings with the Montpellier pain clinic I have so far been restricted to phone and email, but my phone consultation with a very pleasant and informative doc, Patrick Geniès, led to prescriptions for my sciatic pain which have much improved things.  The key to this has been increased use of codeine, and while I know about the addictive effects and the side-effect of feeling spaced out, the relief from leg pain has been really welcome now further surgical intervention seems unlikely.  I'm waiting to see if some supervised electrotherapy treatment or TENS may also help - I have had bad experiences when physiotherapists have hitched me to machines and gone to chat to their mates, but Dr Giniès says properly organised use at home may be much more effective.  We'll see now lock-down is lifting.

Exercise is also important, and after years trailing off to the gym I now have machines at home which are easier to combine with nice music and reading, and a heck of a lot cheaper into the bargain!  Of course we walk a bit too, especially now we have the dogs, but exercise at home is often simpler - Mary as you can see prefers the discipline of Qi Gong to machines!

Wines we've drunk in May

By Jon North ([email protected])

Nearly another month has slipped by so here is an update on wines we've enjoyed over the past few weeks

The wines this past month have included
I think it is fair to say that there was not a dud among them.  Almost all were bought from the makers themselves, mostly in person though we had some delivered recently because they originate more than 100 km from where we live.  But we are very much looking forward to revisiting winemakers in the Jura, Burgundy, Beaujolais and the Minervois.

Meanwhile our next trip will be to the Domaine de la Fadèze, overlooking the Étang de Thau near Mèze and well within our range.  And who knows, if French distance restrictions ease more may be possible.  Looking forward to wine trips helps us to ease the blues of cancelled holidays.

Ce moys de May

By [email protected] (Jon North)

Just before I left school I was finally allowed to stop shaving, the headmaster having bowed to my dislike of a painful process.  So I have not been without a beard since I was 18 - nearly 55 years. Last weekend a friend, one of our first lunch guests since lockdown, arrived without his - it is always a slight surprise when someone changes appearance, but of course we enjoyed his company no less.

He and I share another experience, as choir treasurers. I thankfully passed on mine many years ago, and would be lost in the new world of French accounting rules and practices, but he is hoping to pass on his function to someone else, being no younger than I am! I was always glad to do my bit for our choir in London, but I recall clearly the sinking feeling I had standing in a concert and realising that the size of audience I could see was not large enough to pay our musicians. Difficult to give your best musically with those thoughts in your mind.  Ideally, we'd have a small team of people beavering away on the admin while singers sang, but that is a rarely achieved aim.

Now distance restrictions are less severe we have been able to walk further along the canal and visit our favourite donkey in a nearby field

The concept of news is strange. First it depends on things happening, and not much new is happening just now. Second it needs people there to report it, and that’s always hit and miss. Third, once other stories crop up elsewhere journalists have to pack their bags and move on. Fewer journalists, fewer reports; conversely, if lots of journalists are gathered somewhere for a story, lots of other things happening there are suddenly reported. Just now many journalists are confined to home ‘barracks’ and in their absence exciting stuff is provided by Joe/Josephine public via their iPhones. Not always a reliable source, though some say journalists are biased too.

Confusion has been reigning in the U.K. about health and lockdown restrictions. People seem to want good guidance from the govt, but at the same time many would not trust the current PM as far as they could throw him in any case, so it seems a bit weird to complain that he is giving poor advice. Here, the French have been clearer from the outset about regulations backed by legal sanctions. Now, French beaches are mostly open but hedged around with restrictions. You can’t apparently put a towel down on most of them - not that le bronzage would be a nice thing to try in this grey, damp period. But wherever you are, common sense says that mingling with people risks spreading infections, whether colds or more deadly ones. Decisions on restricting movement are bound to be political even if informed by science; and they are also bound to be based on probability and risk.

Pain is still a preoccupation for me because of sciatica.  We hear that A&E visits are down, in case people may be staying away for fear of catching something else while attending. I am just hoping to get back in touch with the Montpellier Pain Clinic now lockdown is over, but meanwhile just keep up regular exercise.

Last time I started to list films we'd watched - that includes music and opera, and next time there will be more on the opera side.  for now, two more DVDs and one film recorded from the tv recently.
Our first visit since lockdown to the Parcours de Santé North of the town this afternoon

The holiday that never was

By [email protected] (Jon North)

As our friends Al and Linda will also be well aware, this weekend we'd have been arriving back home from our holiday in Armenia and Georgia.  Instead, Mary and I have enjoyed quiet time at home, (as we hope they have too) and have just to look forward wistfully to a trip replanned next year.  One advantage for us has been to enjoy the jasmine arch in our garden in full bloom.  Mary always said this helped sell her the house, though now I enjoy it less because my sense of smell has deserted me and she because going outside in these dry time with high pollen gives her sneezing fits.  But you can only be glad to see such a glorious display!

Chez nous
Another advantage has been the re-equipping of our home with dogs.  Elvire (red collar) and Edmond arrived here 3 weeks ago and have rapidly become part of our lives

For those who may not have seen these photos  3½ years ago here are the links to the photo albums I made then for our last trip to Armenia and Georgia

Distancing by accident or design!

By [email protected] (Jon North)

I have a perpetual art calendar on my desk - as far as I know the pictures are not linked to their date except by chance.  Today's is Seurat's Sunday afternoon at la Grande Jatte, an island on the Seine near Paris .  As far as I can see these people are doing social distancing quite nicely!  Larger version of this pic is via the link - the original is in Chicago!  We feel a little closer to you all via various electronic means, but still too isolated.

Today is apparently World Bee day.  I have to say there always seems be some 'day' or other, but having tried to keep them, with little success, and recognising their importance to everything that grows I'm only too glad to acknowledge them and to quote the Dowland song (not for the first time!):

It was a time when silly bees could speak,
And in that time I was a silly bee,
Who fed on time until my heart 'gan break,
Yet never found the time would favour me.
Of all the swarm I only did not thrive,
Yet brought I wax and honey to the hive.

Then thus I buzzed when time no sap would give:
Why should this blessed time to me be dry,
Sith by this time the lazy drone doth live,
The wasp, the worm, the gnat, the butterfly?
Mated with grief I kneeled on my knees,
And thus complained unto the king of bees:

My liege, gods grant thy time may never end,
And yet vouchsafe to hear my plaint of time,
Which fruitless flies have found to have a friend,
And I cast down when atomies do climb.
The king replied but thus: Peace, peevish bee,
Thou'rt bound to serve the time, the time not thee.

These words are attributed to the Earl of Essex trying to keep in the good books of Queen Elizabeth (he failed in the end of course and lost his head!)

The virus has led to much less pollution, and whether by coincidence or some weird side effect things seem to be growing better, flowers more abundant; or perhaps we have more time to observe what is going on.  In any case, after a year or two in which things seemed really difficult for bees (ors died or fled, and even friends who were much more gifted in beekeeping found things tough) this year we have heard of swarms appearing and thriving for friends both in France and in England.

Our listening and watching these past few days have led us to one old favourite film, Quartet, about musicians in a retirement home, a good old fashioned romantic story involving people of our kind of age (!) with some fine performances, notably by Tom Courtenay; and - a first viewing this - Purcell's Dido & Aeneas directed by William Christie and Deborah Warner.  Such a brief work, and one I've known since a student performance I was involved in, with many interesting things but notably very fine musical performances under Christie's baton.

On a more mundane note, I found the right moment to take all the gardening waste and more besides to the tip.  It is very conveniently placed for us, but the queues have been too long until yesterday morning when I nipped in at opening time.  By the time I emerged there was again a queue of 8 cars - they are only letting one or two in at- a time of course.

Finally, I'm grateful for the feedback to these blog posts.  For those who commented, with some shock, on the loudness and persistence of the nightingale, I have to agree it certainly can keep you awake!  The bird seems sto have abandoned us for now anyway!


By [email protected] (Jon North)

Early morning sunshine in our garden as the nightingale sings.  The strong vertical shadow on our neighbours' tree is of the tall, thin pine by our own terrace - amazing effect!
As I finish this post I want to include a 5-minute clip of the nightingale that serenaded us all last night.

I started this at the weekend, looking forward to our first low-key meetings with friends now small gatherings are once again allowed.  Thanks to rain outdoor meetings will be difficult, so luckily this will slow down any mad rush to the beaches.

Throughout this period we have seen and heard people railing against loss of liberty.  I think most politicians make what they can of the uncertainties science serves up - science gets a bad name every time it is blamed for not having clear answers, but 'it depends' is probably the most honest reaction to every bit of scientific information you can find, and politics was invented to decide what course to follow when the answer is as usual not clearcut.  On the whole I think the level of uncertainty we have in France is rather better than what our UK friends and family are going through just now - there is a difference between a proper degree of caution and bumbling uncertainty.  Just to illustrate how difficult it is to decide things, here are two sets of charts published 5 days a part in Le Monde.  The basics - wash hands, don't hug, kiss or shake hands, stay a decent distance apart - are simple, but certainties are hard to come by.

So rather than dwelling on this, I'm starting a run-down of things we have read, listened to or watched in the past lockdown weeks.

Some films we have watched (in no particular order) mostly for the second or more time(s):
More to follow

Early May - a few photos

By [email protected] (Jon North)

As we near the end of lockdown in this part of France, a few pictures of our life here - peace and colour, although no holiday as we had hoped.  Dogs settling in well, and soon our walks will take us a bit further than the 1 km radius we have stayed in until this weekend.  

This comes with love and good wishes, especially whose lives are still more restricted and difficult than ours are. We'll hold our breath to see if the relaxation of restrictions is OK, or too soon.  We do miss our music, though Mary and I have tried a little baroque music à deux.  Meanwhile, Mary keeps up regular Qi Gong and I regular sessions on the exercise bike!

On my radar: Victoria Coren Mitchell’s cultural highlights

By Victoria Coren Mitchell

The writer and broadcaster on a brilliant children’s museum, Downton and a poem about a skunk

Victoria Coren Mitchell is an author, broadcaster and former professional poker player and is married to the comedian David Mitchell. She started writing a weekly column for the Daily Telegraph aged 14, and has since published a number of books including For Richer, for Poorer: Confessions of a Poker Player (2009). Seasonal specials of the quiz show Only Connect, which she has presented since 2008, will be running on 30 Dec and 1-3 Jan at 8pm on BBC Two. Only Connect: The Difficult Second Quiz Book is out now.

Continue reading...

Why is the NHS listening to the siren voices of the vape manufacturers? | Victoria Coren Mitchell

By Victoria Coren Mitchell

The calls to make e-cigarettes free on prescription are outrageous when an actual cure for smoking is available

Public Health England has called for e-cigarettes to be made available on the NHS. This makes me so angry that I want to have a fag, although the last one I had was on 27 September 2014.

Ah well. I’ll settle for eating another packet of Minstrels and typing furiously.

Continue reading...

The checkout free shop is a wonderful idea, a machine will never judge you | Victoria Coren Mitchell

By Victoria Coren Mitchell

When we no longer have to impress the cashier – or fellow shoppers – we can buy what we like

Are you frightened of the rising machines? I try not to be. Machines are the future and being horrified by the future is so terribly ageing. Banging on about the misery of automated switchboards, the insecurity of online banking or the impersonality of email puts 20 years on you immediately, like racism or natural light. I try to avoid such things.

So, for me, it’s all “Good news, my local post office has shut down!”, “Ooh, you need a ‘registered account’ to buy cinema tickets, I couldn’t be happier!” and “Hurray! A leaked NHS England report says 111 calls will soon be diverted to a ‘diagnosis app’ instead of a person!”

Continue reading...

I did lose a pair of trousers once but they weren’t worth £1m, Boris | Victoria Coren Mitchell

By Victoria Coren Mitchell

The bankrupt tennis star’s admission that he has mislaid his trophies resonates with all of us who know we put that thing somewhere…

A s I sat with Boris Becker in the Riviera sunshine, each of us clutching a cigarette in one hand and a doughnut in the other, I thought: “This is my kind of sportsman.”

I didn’t know Boris Becker very well but I liked him enormously. Clearly, we both enjoyed the taste of a sugary butt on a spring afternoon. Also, we both loved a hand of cards; we were in Monte Carlo for a €10,000 poker tournament. I always found him approachable, friendly, unpretentious and nice to be around.

Continue reading...

Comparing unlike with unlike – it’s Whitehall’s secret new parlour game | Victoria Coren Mitchell

By Victoria Coren Mitchell

If the culture minister says that ambassadors should be paid more than BBC editors, we should next ask him how to choose between Victoria Beckham and a leopard

Well done Peston On Sunday, last week, for having three interview guests and triggering major news stories with each of them. That’s an amazing hit rate.

First guest Jeremy Corbyn hit the headlines for suggesting that the UK doesn’t really have a special relationship with America. Third guest Miriam Margolyes said “fuck” live on air. And the middle guest, shiny new culture secretary Matt Hancock, said that editors at the BBC should not be paid more than ambassadors.

Continue reading...

Molly tries to shuffle the pack | Victoria Coren Mitchell

By Victoria Coren Mitchell

The more things change the more they stay the same – even in a film about a strong woman

Can Hollywood fix itself? Is that already happening? Let’s go to the cinema together and find out.

It’ll have to be my local Everyman – a genteel chain where they transmit a lot of productions live from the National Theatre and sell yoghurt-coated nuts instead of Minstrels. Might not be your cup of tea. On the plus side, you can also get a cup of tea. It has to be that venue, because the trip has already happened.

Continue reading...

My Christmas present to you

By Victoria Coren Mitchell

Hate gift guides? Here’s an alternative to all those that insult you with dull ideas

The gift guides are out again! Regular readers will know how infuriated I am by those Christmas gift guides. Pages and pages of newsprint, all given over to the advice that we should consider buying our relatives a pair of socks or a bottle of wine.

Adding insult to insult, they invariably divide these “ideas” into relatives (“A lipstick for your wife! A book for your mum! A bottle of wine for Grandpa!”) just to make sure that nobody shops beyond the boundaries of age and gender stereotype. Not only must we buy the same old stuff every year, we must make the same old assumptions. Women love clothes. Kids love sweets. Men love golf calendars.

Continue reading...

Ed Sheeran versus the super-idiots | Victoria Coren Mitchell

By Victoria Coren Mitchell

Attacking the singer’s charity efforts takes a rare type of stupidity. But guess what...

According to a Dropbox survey published last week, most people believe that “only 68% of their work colleagues” are capable of the job.

This is a staggering figure. Why so high? Nobody’s capable of the job. Nobody’s capable of anything.

Related: Ed Sheeran Comic Relief film branded 'poverty porn' by aid watchdog

Continue reading...

Michael Gove, where did our love go? | Victoria Coren Mitchell

By Victoria Coren Mitchell

The environment secretary has shown a flash of his old character but I can’t forgive his betrayal

Did you wake up on Thursday morning expecting to feel a wave of affection for Michael Gove? I didn’t. I’m not sure anyone did. Possibly not even Mrs Gove, who wrote a very interesting joke in her Daily Mail column the day before.

“Kevin Spacey and Harvey Weinstein are reportedly languishing in rehab at an upmarket sex addiction clinic in Arizona,” it began. “No sex for eight weeks, apparently – although quite why they needed to fly to the desert for that is beyond me. Most of us find getting married does the trick.”

Continue reading...

Why are the police copping flak? | Victoria Coren Mitchell

By Victoria Coren Mitchell

Don’t damn officers for a Halloween prank – law and order should show it has bit of heart

It is possible that I have many things in common with Fenland police. You can’t do Only Connect for as long as I have without knowing that one thing can always be linked to another. Four things can be a challenge, but a simple pair, such as Fenland police and me… off the top of my head: we both like to wear blue, we’ve both dealt with a lot of drunks and neither of us has managed to stamp out hare-coursing in the county of Cambridgeshire.

And here’s another: we both tweeted pictures of ourselves dressed up for Halloween.

Continue reading...

Casinos gamble on their credibility | Victoria Coren Mitchell

By Victoria Coren Mitchell

If you’re too smart for gaming houses they’ll find a way to stop you - but more fool them

It is rare to see Phil Ivey, the greatest poker player of our time, losing seriously. This man is a genius. He can get inside other people’s heads.

The first time I played poker against him, I think he found me a little unsettling. People do, the first time. In Phil’s case, I don’t think it’s just that I was female – which is what throws most people – but that I was female and making jokes.

Continue reading...

Faster, higher, twerkier? | Victoria Coren Mitchell

By Victoria Coren Mitchell

Why stop at pole dancing at the Olympics? Let’s have groping and mud wrestling as well

The news that pole dancing has been formally recognised as a sport – and will now be considered for possible inclusion in the Olympics – fills me with delight.

Regular readers may be surprised. You might imagine I would feel weary and suspicious at this development. You might imagine I’d roll my eyes and ask: “What next? A simultaneous men’s event – how many bills can you shove in her bra as she writhes?”

Continue reading...

I’m really not a petrolhead... | Victoria Coren Mitchell

By Victoria Coren Mitchell

... but the thought of driverless cars and the surrender of freedom fill me with gloom

God bless the women of Saudi Arabia and their excitement about a royal decree allowing them to hold driving licences at last.

As we sit in traffic jams, fuming about inexplicable delays and unending roadworks, terrible radio playlists, the utter monotony and hell of it all, we should think of our sisters in the desert who see only the freedom, power and joy.

Continue reading...

Putting Granny online? No thanks| Victoria Coren Mitchell

By Victoria Coren Mitchell

I’m all for doing something for old people. But don’t ask me to put family snaps on the web

Today is National Grandparents’ Day. AgeUK is asking people to tweet, Instagram, hashtag (and other words your granny would not have understood) a photograph of their beloved ancestors, marked #grandpics, with a suggested donation of £5 with every photograph.

They asked me directly to do this. I said no. F*** em, I said.

Continue reading...

Oh, do let’s be beastly to the Nazis | Victoria Coren Mitchell

By Victoria Coren Mitchell

Nobody thinks Paul Hollywood is an actual Nazi; we should let him dress how he likes

A Nazi goes into a pub.

Hang on… that’s not a Nazi! It’s the well-known baker and TV personality Paul Hollywood!

Continue reading...

NHF publishes final consultation on new code of governance

By Nathaniel Barker

The National Housing Federation has published a draft version of its updated sector code of governance, which includes a new requirement for boards to be accountable to residents

Competence ‘still a huge challenge’ post-Grenfell, says Hackitt-led group

By Lucie Heath

Competence in the housing and construction sector is “still a huge challenge” and there is “a lack of widespread, proactive leadership” on building safety, a government-commissioned report scrutinising progress towards change post-Grenfell has said.

Zonal planning is undemocratic planning

By Hugh Ellis

Proposals trailed in the Sunday papers to change England’s planning system risk undermining democracy and trust, argues Dr Hugh Ellis

Leaseholders launch judicial review against ‘irrational, unfair’ cladding funding rules

By Peter Apps

The exclusion of buildings where work to replace dangerous has already begun from government funding has been branded “arbitrary, irrational and conspicuously unfair” in a judicial review brought by residents facing bills of up to £27,000 each to make their homes safe.

What does it mean if the English Housing Survey says private tenants are more satisfied than social tenants?

By Vinny Roche

The latest English Housing Survey has stirred up more controversy about the social housing sector’s role and reputation, as well as how its tenants perceive their landlords. Vinny Roche looks at what lessons can be learned

L&Q’s surplus rises but pandemic causes completions to plummet

By Lucie Heath

L&Q’s operating surplus rose 45% for the first quarter of the financial year, but development fell dramatically due to the impact of COVID-19.

Sector warns government against axing Section 106 in planning overhaul

By Dominic Brady

Removing or replacing Section 106 requirements as part of the government’s forthcoming planning overhaul will be difficult and could slow the supply of new affordable homes, housing and planning figures have warned.

MTVH’s operating margin squeezed as COVID-19 impact takes hold

By Dominic Brady

Metropolitan Thames Valley Housing (MTVH) has seen its operating margin fall below target in 2019/20, owing in part to the impact of the coronavirus pandemic.

G15 landlord publishes ‘ESG Report for Investors’

By Lucie Heath

Optivo has published an ‘ESG Report for Investors’ which brings together data on its environmental impact, social impact and governance for potential funders.

Sunderland-based housing association credit outlook ‘negative’ due to Brexit fears

By Peter Apps

A North East housing association has had its credit outlook switched to negative due to the potential impact of Brexit on its Sunderland base.

Double Dutch: how a housing association went completely digital

By Rhiannon Curry

A Dutch housing association was struggling with the slow process of ‘digitising’ itself. Then staff had the idea of creating a start-up sister association, run entirely through an app. Rhiannon Curry reports

Black lives do matter – and social landlords can do something about it

By Chan Kataria

Chan Kataria spells out four steps for social landlords to take in light of the Black Lives Matter movement

London housing association increases fire-safety spend by a fifth

By Dominic Brady

Hyde Group’s financial results show its fire safety costs increased by a fifth last year.

Housing association partners with Vistry Partnerships on large regeneration scheme

By Lucie Heath

Notting Hill Genesis (NHG) has formed a joint venture with Vistry Partnerships to deliver 241 homes as part of a 1,800-home regeneration scheme in London’s Royal Docks.

Councils to allocate £500m of Green Homes Grant with social landlords eligible

By Lucie Heath

Councils and their partners will be responsible for allocating £500m of the government’s £2bn Green Homes Grant scheme to improve the energy-efficiency of low-income households, including those living in social housing.

Boris Johnson: Spitting Image puppet unveiled ahead of relaunch

The TV programme, famous for its mockery of politicians, is set to be relaunched this autumn.

Intel and VMware get down and virty to collaborate on virtualized RAN platform

By Matthew Hughes

Helpful as Huawei is increasingly swept aside for 5G infrastructure

Intel has announced a new partnership with virtualization giant VMWare to collaborate on building a new software platform for 5G vRAN (virtualized radio access network) infrastructure.…

Boy struck by 'several cars' on M5 between Oldbury and Quinton

Police say it is unclear how the boy, who was on foot, ended up on the M5 motorway.

Pubs to be shut in Aberdeen as lockdown renewed

First Minister Nicola Sturgeon says travel restrictions will come into force and bars and restaurants have to close.

McDonald's: 'Face mask' found inside Aldershot store's chicken nugget

A six-year-old girl "nearly chokes" on Happy Meal from the Aldershot branch of the fast food giant.

Keeley Bunker: Man guilty of murdering childhood friend

Keeley Bunker's body was found hidden under branches in a brook in September 2019.

Clue's in the name: Samsung's next Galaxy Note line captures scrawls with responsive stylus then punts them over to a PC

By Simon Sharwood

It's good at taking notes. Plus: Tablet-sized foldable, ear beans, and more

Samsung has unveiled two new models of its Galaxy Note smartphone and made sure they're really good at helping you to take notes.…

England v Pakistan: Jos Buttler drops Shan Masood on 45

Shan Masood's impressive partnership with Babar Azam continues as Masood is dropped on 45 by England wicketkeeper Jos Buttler in the first Test at Old Trafford.

WH Smith may cut 1,500 jobs after sales plummet

High Street chain is the latest retailer to make drastic job cuts after lockdown hit business.

Six Nations confirms rescheduled dates as championships resume in October

The Six Nations confirms the dates for the outstanding fixtures from the 2020 men's and women's championships.

What is the 'sovereign citizen' movement?

Anti-government activists who believe they are immune from the law are a worldwide threat, experts say.

Network sniffers find COVID-19 did not break the internet, but it was behind a massive jump in outages

By Lindsay Clark

Disruptions leapt 63% as lockdowns came into force after February

Global internet disruptions went up 63 per cent after February and remained elevated throughout the first half of 2020 compared to pre-pandemic levels, according to net and cloud researcher ThousandEyes.…

Beirut explosion: What is ammonium nitrate and how dangerous is it?

Ammonium nitrate has been blamed for a deadly explosion in Beirut, but what exactly is the chemical?

Rackspace IPO bags $704m, proceeds used to pay down debts to private equity backer

By Paul Kunert

'Not the most glorious of returns to public market' says analyst

Twelve years after first going public, Rackspace Technology has returned to the NASDAQ with more of a whimper than a bang. It has raised $704m, the vast majority of which will be used to pay down debts owed to its private equity backer.…

Caroline Flack wanted to 'find harmony' with boyfriend

The ex-Love Island host was found dead while facing trial accused of assaulting Lewis Burton.

Zero Downtime Release: Disruption-free Load Balancing of a Multi-Billion User Website

Zero Downtime Release: Disruption-free Load Balancing of a Multi-Billion User Website

I remain fascinated by techniques for zero downtime deployment - once you have it working it makes shipping changes to your software so much less stressful, which means you can iterate faster and generally be much more confident in shipping code. Facebook have invested vast amounts of effort into getting this right, and their new paper for the ACM SIGCOMM conference goes into detail about how it all works.

Via Cindy Sridharan

Quoting Ruby Tandoh

When you talk with cheese aficionados, it doesn’t usually take long for the conversation to veer this way: away from curds, whey, and mold, and toward matters of life and death. With the zeal of nineteenth-century naturalists, they discuss great lineages and endangered species, painstakingly cataloguing those cheeses that are thriving and those that are lost to history.

Ruby Tandoh

How a Cheese Goes Extinct

How a Cheese Goes Extinct

Ruby Tandoh writes for the New Yorker about the culture, history and anthropology of cheesemaking through the lens of the British cheese industry. I learned that two of my favourite British cheeses - Tymsboro and Innes Log, have sadly ceased production. Beautifully written.

Via @rubytandoh

sqlite-utils 2.14

sqlite-utils 2.14

I finally figured out porter stemming with SQLite full-text search today - it turns out it's as easy as adding tokenize='porter' to the CREATE VIRTUAL TABLE statement. So I just shipped sqlite-utils 2.14 with a tokenize= option (plus the ability to insert binary file data from stdin).

Via @simonw

Quoting Crab mentality on Wikipedia

The impact of crab mentality on performance was quantified by a New Zealand study in 2015 which demonstrated up to an 18% average exam result improvement for students when their grades were reported in a way that prevented others from knowing their position in published rankings.

Crab mentality on Wikipedia

James Bennett on why Django should not support JWT in core

James Bennett on why Django should not support JWT in core

The topic of adding JWT support to Django core comes up occasionally - here's James Bennett's detailed argument for not doing that. The short version is that the JWT specification isn't just difficult to implement securely: it's fundamentally flawed, which results in things like five implementations in three different languages all manifesting the same vulnerability. Third party modules exist that add JWT support to Django, but baking it into core would act as a form of endorsement and Django's philosophy has always been to encourage people towards best practices.

Via @m_holtermann

Free software activities in July 2020

Here is my monthly update covering what I have been doing in the free and open source software world during July 2020 (previous month):

For Lintian, the static analysis tool for Debian packages:


Reproducible Builds

One of the original promises of open source software is that distributed peer review and transparency of process results in enhanced end-user security. However, whilst anyone may inspect the source code of free and open source software for malicious flaws, almost all software today is distributed as pre-compiled binaries. This allows nefarious third-parties to compromise systems by injecting malicious code into ostensibly secure software during the various compilation and distribution processes.

The motivation behind the Reproducible Builds effort is to ensure no flaws have been introduced during this compilation process by promising identical results are always generated from a given source, thus allowing multiple third-parties to come to a consensus on whether a build was compromised.

The project is proud to be a member project of the Software Freedom Conservancy. Conservancy acts as a corporate umbrella allowing projects to operate as non-profit initiatives without managing their own corporate structure. If you like the work of the Conservancy or the Reproducible Builds project, please consider becoming an official supporter.

This month, I:



Elsewhere in our tooling, I made the following changes to diffoscope, including preparing and uploading versions 150, 151, 152, 153 & 154 to Debian:



In Debian, I made the following uploads this month:


Debian LTS

This month I have worked 18 hours on Debian Long Term Support (LTS) and 12 for the Extended LTS project. This included:

You can find out more about the project via the following video:

Why Your Christian Friends and Family Members Are So Easily Fooled by Conspiracy Theories

Why Your Christian Friends and Family Members Are So Easily Fooled by Conspiracy Theories

I think the title undersells this: this is a really great piece of writing on conspiracy theories, why people fall for them and why it's so hard to dig people back out again - regardless of any particular religion, despite being written for a Christian audience.

Via Ben Collins

Fun with binary data and SQLite

This week I've been mainly experimenting with binary data storage in SQLite. sqlite-utils can now insert data from binary files, and datasette-media can serve content over HTTP that originated as binary BLOBs in a database file.

Paul Ford piqued my interest in this when he tweeted about loading thousands of PDF documents into a SQLite database:

The SQLite documentation claims that serving smaller binary files from BLOB columns can be 35% faster than the filesystem. I've done a little bit of work with binary files in SQLite - the datasette-render-binary and datasette-render-images both help display BLOB data - but I'd never really dug into it in much detail.

sqlite-utils insert-files

The first step was to make it easier to build database files that include binary data.

sqlite-utils is my combination Python library and CLI tool for building SQLite databases. I've been steadily evolving it for a couple of years now, and it's the engine behind my Dogsheep collection of tools for personal analytics.

The new insert-files command can be used to insert content from binary files into a SQLite database, along with file metadata.

The most basic usage looks like this:

sqlite-utils insert-files gifs.db images *.gif

By default, this creates a database table like so:

CREATE TABLE [images] (
    [path] TEXT PRIMARY KEY,
    [content] BLOB,
    [size] INTEGER

You can customize this table to include other file metadata using the -c (short for --column) option:

sqlite-utils insert-files gifs.db images *.gif \
    -c path -c md5 -c last_modified:mtime -c size --pk=path

This creates a table with the following schema:

CREATE TABLE [images] (
    [path] TEXT PRIMARY KEY,
    [md5] TEXT,
    [last_modified] FLOAT,
    [size] INTEGER

If you pass a directory instead of a file name the command will recursively add every file in that directory.

I also improved sqlite-utils with respect to outputting binary data. The new --raw option dumps the binary contents of a column directly to standard out, so you can read an image back out of one of the above tables like so:

sqlite-utils photos.db \
    "select content from images where path=:path" \
    -p path 'myphoto.jpg' \
    --raw > myphoto.jpg

This example also demonstrates the new support for :parameters passed using the new -p option, see #124.

sqlite-utils usually communicate in JSON, but JSON doesn't have the ability to represent binary values. Datasette outputs binary values like so:

"data": {
  "$base64": true,

I added support for the same format to sqlite-utils - so you can now query binary columns and get out that nested object, or pipe JSON with that nested structure in to sqlite-utils insert and have it stored as a binary BLOB in the database.


datasette-media is a plugin for serving binary content directly from Datasette on a special URL. I originally built it while working on Dogsheep Photos - given a SQLite file full of Apple Photos metadata I wanted to be able to serve thumbnails of the actual images via my Datasette web server.

Those photos were still stored on disk - the plugin lets you configure a SQL query like this which will cause hits to /-/media/photos/$UUID to serve that file from disk:

    "plugins": {
        "datasette-media": {
            "photo": {
                "sql": "select filepath from apple_photos where uuid=:key"

Issue #14 added support for BLOB columns as well. You can now configure the plugin like this to serve binary content that was stored in the database:

    "plugins": {
        "datasette-media": {
            "thumb": {
                "sql": "select content from thumbnails where uuid=:key"

This would serve content from a BLOB column in a thumbnails table from the URL /-/media/thumb/$UUID.

I really like this pattern of configuring plugins using SQL queries, where the returned column names have special meaning that is interpreted by the plugin. datasette-atom and datasette-ics use a similar trick.

I expanded datasette-media with a few other related features:

See the README or release notes for more details.

Also this week

I renamed datasette-insert-api to just datasette-insert, reflecting my plans to add non-API features to that plugin in the future.

In doing so I had to figure out how to rename a PyPI package such that dependent projects would continue to work. I ended up building a pypi-rename cookiecutter template encoding what I learned.

I enabled PostgreSQL full-text search for my blog's Django Admin interface, and wrote a TIL on how I did it.

I added compound primary key support to db-to-sqlite, so now it can convert PostgreSQL or MySQL databases to SQLite if they use compound primary keys.

TIL this week

Releases this week

Sandboxing and Workload Isolation

Sandboxing and Workload Isolation run other people's code in containers, so workload isolation is a Big Deal for them. This blog post goes deep into the history of isolation and the various different approaches you can take, and fills me with confidence that the team at know their stuff. I got to the bottom and found it had been written by Thomas Ptacek, which didn't surprise me in the slightest.

Via Hacker News

How GPT3 Works - Visualizations and Animations

How GPT3 Works - Visualizations and Animations

Nice essay full of custom animations illustrating how GPT-3 actually works.

Some SQL Tricks of an Application DBA

Some SQL Tricks of an Application DBA

This post taught me so many PostgreSQL tricks that I hadn't seen before. Did you know you can start a transaction, drop an index, run explain and then rollback the transaction (cancelling the index drop) to see what explain would look like without that index? Among other things I also learned what the "correlation" database statistic does: it's a measure of how close-to-sorted the values in a specific column are, which helps PostgreSQL decide if it should do an index scan or a bitmap scan when making use of an index.

Via Hacker News

Pop culture matters

Many people labour under the assumption that pop culture is trivial and useless while only 'high' art can grant us genuine and eternal knowledge about the world. Given that we have a finite time on this planet, we are all permitted to enjoy pop culture up to a certain point, but we should always minimise our interaction with it, and consume more moral and intellectual instruction wherever possible.

Or so the theory goes. What these people do not realise is that pop and mass culture can often provide more information about the world, humanity in general and — what is even more important — ourselves.

This is not quite the debate around whether high art is artistically better, simply that pop culture can be equally informative. Jeremy Bentham argued in the 1820s that "prejudice apart, the game of push-pin is of equal value with the arts and sciences of music and poetry", that it didn't matter where our pleasures come from. (John Stuart Mill, Bentham's intellectual rival, disagreed.) This fundamental question of philosophical utilitarianism will not be resolved here.

However, what might begin to be resolved is our instinctive push-back against pop culture. We all share an automatic impulse to disregard things we do not like and to pretend they do not exist, but this wishful thinking does not mean that these cultural products do not continue to exist when we aren't thinking about them and, more to our point, continue to influence others and even ourselves.

Take, for example, the recent trend for 'millennial pink'. With its empty consumerism, faux nostalgia, reductive stereotyping of age cohorts, objectively ugly æsthetics and tedious misogyny (photographed with Rose Gold iPhones), the very combination appears to have been deliberately designed to annoy me, curiously providing circumstantial evidence in favour of intelligent design. But if I were to immediately dismiss millennial pink and any of the other countless cultural trends I dislike simply because I find them disagreeable, I would be willingly keeping myself blind to their underlying ideology, their significance and their effect on society at large. If I had any ethical or political reservations I might choose not to engage with them economically or to avoid advertising them to others, but that is a different question altogether.

Even if we can't notice this pattern within ourselves we can first observe it in others. We can all recall moments where someone has brushed off a casual reference to pop culture, be it Tiger King, TikTok, team sports or Taylor Swift; if you can't, simply look for the abrupt change of tone and the slightly-too-quick dismissal. I am not suggesting you attempt to dissuade others or even to point out this mental tic, but merely seeing it in action can be highly illustrative in its own way.

In summary, we can simultaneously say that pop culture is not worthy of our time relative to other pursuits while consuming however much of it we want, but deliberately dismissing pop culture doesn't mean that a lot of other people are not interacting with it and is therefore undeserving of any inquiry. And if that doesn't convince you, just like the once-unavoidable millennial pink, simply sticking our collective heads in the sand will not mean that wider societal-level ugliness is going to disappear anytime soon.

Anyway, that's a very long way of justifying why I plan to re-watch TNG.

datasette-media 0.4

datasette-media 0.4

datasette-media is my Datasette plugin for serving media (e.g. images) directly from Datasette. The first version used file paths saved in a column and served the data from disk - this new version adds the ability to serve content from BLOB columns, such as those created by the new "sqlite-utils insert-files" command. It also adds configurable support for resizing images based on querystring parameters like ?w=100.

sqlite-utils 2.12

sqlite-utils 2.12

I've been experimenting with ways of improving BLOB support in Datasette and sqlite-utils. This new version of sqlite-utils includes a "sqlite-utils insert-files" command, which can recursively crawl directories for files and add their contents to SQLite with configurable columns containing their metadata. I was inspired by Paul Ford who has been creating multi-GB SQLite databases of images and PDFs. It turns out that when disk space is cheap this is a pretty effective way of working with interesting corpuses of documents and images.

Via @simonw

Westinghouse Files for Bankruptcy, in Blow to Nuclear Power


Latest Firefox rolls out Enhanced Tracking Protection 2.0


Taplytics (YC W14) Is Hiring a Senior Back End Engineer in Toronto


Announcing the new TypeScript Website


Launch HN: Speedscale (YC S20) – Automatically create tests from actual traffic


USGS Data on the Lebanon Blast


Leveraging Machine Learning to Fuel New Discoveries with the ArXiv Dataset


Pavel Durov on the TikTok Sale to U.S. company


Facebook launches its TikTok rival, Instagram Reels


Ex-NSA Hacker Finds a Way to Hack Mac Users via Microsoft Office


Tesla touchscreen wiper controls land driver with fine after crash


Google’s Search Monopoly Complicates a Mental Health Crisis


Fluid Simulator for Touch Screens


A Plea for Lean Software (1995) [pdf]


Some Fundamental Theorems in Mathematics [pdf]


Montgomery Brewster's 'None of the Above' would walk this election.

By Jackart ([email protected])

It's actually quite liberating to follow politics without a team to shout for. I remain a Conservative by inclination. I like free markets, economic liberalism and so forth even if the Conservative manifesto doesn't seem to all that much, Tories, if not their leadership, are mainly for these things. I am also a social liberal, I remain committed to an open and tolerant society. However the Liberal Democrats risk becoming the Church of England does Politics, being stuffed with the kind of dry, shabby inadequate who can't quite get over his (self) loathing of homosexuality. I dislike May. I think she's a narrow-minded provincial bigot who's been promoted way, way above her level of competence. She is however the best of the two candidates for Prime Minister. 

Let's not pretend Corbyn was doing other than palling around with the IRA in the 1980s because the glamour of "anti-imperialist" terrorists excited him. He has always supported whoever was fighting the UK at the time, and doesn't deserve to be an MP, let alone to reverse those letters. Labour's clown-car economics is only marginally less risible than the Tories offer, this time round. The difference is Labour actually believe their silliness, and they're led by a traitor. 

If you live in Scotland, this election is about independence. If you live in NI, then this election is about the tribal headcount. If you live elsewhere this election is whether you want an incompetent nanny-state provincial Tory or an antediluvian Socialist to deliver Brexit. It's a shabby, and dispiriting affair. If you can't work out how to vote, you can always vote for Montgomery Brewster. None of the above is appealing. But if you feel you MUST vote, then I have prepared a handy flow-chart to help you.

If you despise politicians, you get despicable politicians.
This shabby parade of also-rans from which we have to choose on today (without any actual choice on the main, nay only, issue of the day) is the logic of calling decent, capable people like Blair, Cameron and Major "war criminals" and "Traitors", for decades. It pollutes the language for when you actually get some of these things on the offer.
No worthwhile people will put up with the scrutiny and abuse heaped daily on politicians. So you get the kind of bore for whom the scrutiny isn't an issue. They've never done anything interesting in the their lives. At least David Cameron dropped some E and went to a rave or two as a youth. What does Theresa May, who spent her twenties complaining about the promotion of lesbianism in schools, know of fun? As for Corbyn, he looks like the kind of man for whom a perfect saturday night is treatise on Marx (so long as it contains nothing he doesn't already know and agree with) with some lovely mineral water. He is the Labour man Orwell warned you about.

I'll be voting Tory. Why? My local headbanging Leadsomite hard-brexiter has stood down after his colossal act of vandalism, to be replaced by a man with whom I seem to agree.
My expectations are of a  Tory majority around 75, on a low turnout, and they will have half a dozen seats in Scotland.  The Liberal Democrats will take Vauxhall and Twickenham, losing in Sheffield Hallam (the "were you up for...?" moment as Clegg loses his seat), but holding Orkney and Shetland against the SNP, remaining about where they are now overall. Or that's where my betting is at the moment.
What do I want to see happen? I'd like to see May remain PM but in a hung parliament, reliant on Northern Irish politicians for her majority because let's face it, she deserves nothing better.
A rubbish show all round but at least I can enjoy it, whoever loses.

Whales are more Important to Climate change than Donald Trump.

By Jackart ([email protected])

Donald Trump has pulled the USA out of the Paris Climate accord. And I don't think this matters all that much. For a start, the USA's emissions are falling. Mostly this is because coal is being replaced by Natural Gas, but also because people are driving less, in smaller vehicles with ever more efficient engines. The motors driving the west's steady fall in carbon emissions are economic and technological, not political.

Next to the steady decline in carbon emissions from the west, is set the Vast increase in emissions in recent decades from Asia. But this represents billions of people using no net carbon energy, tending crops using animal muscle and burning biomass (and occasionally starving to death) Just a few decades ago, to my meeting an indian chap on Holiday in Stockholm with his family and chatting about cricket while we tried to decipher the train times. The rise of the middle class in India and China is a huge flowering of human potential, even if it comes with soluble environmental problems.

Anyway, the level of Co2 in the atmosphere is rising, and this is changing the climate. Reducing emissions is a noble aim, but it must not get in the way of developing economies' economic growth. Fortunately, the solution is already with us. Renewable technology is improving. Cars are getting more efficient, and perhaps moving away from fossil fuel (at least directly). And this process will happen in india and China more quickly than in the west beacaue adopting what will be soon proven and cheap technology will enable them to miss whole generations of poluting technologies.

Which brings us to the great cetaceans. The southern ocean is the world's biggest habitat, with the world's shortest food chain, at the top of which sits the largest animal that has ever existed on earth. Phytoplancton bloom, and are eaten by zooplankton, which are eaten by fish larvae and Krill, which are eaten buy just about everything else. The biggest eaters of Krill are the baleen whales which turn five tons of Krill into Iron-rich shit every day. Sperm whales meanwhile are diving to the abysal deep turning several tons of squid into Iron-rich scat, moving nutrients from the deep to the surface. The limiting nutrient at the bottom of the food-chain is iron, so whale faeces fertilise the ocean, and enable more phytoplanckton to grow which absorb Co2 from  the air, much of which falls to the bottom of the ocean as marine snow, and eventually become rock.

But we killed the whales, and when we stopped doing so, they didn't recover as quickly as we hoped. We didn't just kill the Apex predators, in doing so, humanity reduced the Southern ocean's ecosystem's capacity to create life, and absorb Carbon. The southerm ocean may have settled at a lower equilibrium of Iron circulation. The Atlantic on the other hand, which gets tons of Iron from the african deserts every time the wind blows, has seen whale stocks recover better.

Which is why I want to see more research into Iron seeding the ocean, which may give a leg up to Balaenoptera musculus, as well as possibly solving climate change. Climate change is a problem. But while Trump's petulent gesture doesn't help us solve it, nor does it make the problem any harder. Politicians simply matter less than a whale taking a dump.

Why the Blue Passport Matters.

By Jackart ([email protected])

People have spent the day on Twitter saying "why does the colour of a passport matter"? While the Daily Express is cheering the return of the Blue Passport to the rafters. For most people capable of abstract thought, this is a mystifying detail, the importance of which to their opponents is utterly baffling. Of course, I am a remain "ultra". But I did swim in the same intellectual Milieu as the Brexity-Trumpkins for decades and know many serious Brexiters personally. Having spend decades rationalising the EU-obsessed madness of the Tory right as a harmless eccentricity that they don't really mean, I do have, with hindsight, some understanding what these creatures think.

Why does the passport matter?

For the Tory Brexiter, the underlying issue is Sovereignty. They object violently, strenuously and on principle to ANYTHING that comes "above" the Crown in Parliament. The jurisdiction of the ECJ is for them, an insult to the courts and other institutions of the UK. The idea is offensive that any law-making organisation, especially one that Jacques Delors told the trades unions is basically for stopping the Tories Torying, could be "supreme" over parliament.

Of course the ECJ mainly deals in trade disputes and represents an international court to settle international issues and ensure consistent interpretation of EU law. It isn't "making the law of the land" and nor is it a "supreme" court in a meaningful way as far as the average citizen is concerned because it doesn't deal with those issues. If you're up in front of the Magistrate for punching a rotter, you're not going to be able to appeal all the way to the ECJ. Criminal law stops with the nation. Appeals of bad people going up to the European court of Human Rights on seemingly spurious grounds get funnelled into this narrative (shhh, I know), so the impression is obtained that "Crazy Euro-Judges" are "over-ruling parliament", and demanding prisoners can vote or should be allowed hacksaws to avoid trampling on "Human Rights" or whatever the tabloid outrage du jour may be. This then reinforces the narrative that the EU is "anti-democratic" and "makes all our laws". And once you have this narrative, flawed as it is, it's jolly easy to amass an awful lot of corroborating "evidence" because the Tabloids spent 30 years deliberately feeding it.

Sovereignty vs Influence; there is a trade-off. The UK, broadly, wrote the Financial services legislation for the entire continent. In return, the Continent got access to the only truly global city in Europe. The French did this for farming and got the CAP, while the Germans got the Eurozone's interest rates and got to destroy Southern Europe. The EU which contains (rather like the UK and trade negotiators) no-one who CAN write decent financial services legislation legislation, because most of those people are British. Thanks to Brexit, the quality of the legislation on financial services will go down, both in the UK which will be compelled to have regulatory equivalence to keep banks' access to the single market and the EU. The UK will have become a rule-taker rather than a rule maker. I fail to see how this reclaims "Sovereignty". The organisational source of the legislation will remain unchanged, but we loose any ability to influence, let alone write it. Multiply this catastrophe across an economy and you see why the "sovereignty" argument against EU law is, on any rational basis, stupid.

The parliament, the very existence of which takes on the aspect of a supranational government in waiting, rather than a simple means to have democratic oversight of an organisation which employs fewer people than Manchester city council, distributes about 1% of GDP and writes trade law. This unwarranted grandiosity once again suits both the Brussels apparatchiks, and the simian oiks of UKIP whom the British public sent to Brussels as a mark of the National contempt for the institution. The parliament is, to my mind is a risible little potempkin affair, barely worth considering,

So there's the error. Back to the passport.

The International Civil Aviation Organisation sets the dimensions, so the writing was on the wall for the old British hardback passport, fabulous though it was, it didn't really fit in the back pocket of your trousers.  However once you believe that the EU tentacles are slowly creeping into institutions to turn you into a province of the "EUSSR", then you start to see this everywhere. The EU is foolish to seek the trappings of a national Government before they had built a demos, and absent any desire for it from the people. Symbols matter. The UK doesn't have an ID card. So when Brits talk about nationality they might say "Australian passport-holder" rather than "Australian citizen". I am not sure if any other nationalities use this formulation. The passport is slightly more than a document. No? Try losing one abroad.

The EU resolution on Passports is here. For anyone who thinks the EU "made" the UK have a Maroon passport, here's EU Croatia's. .

The EU suggested the Colour be harmonised and the words "European Union" be put First. At the top. Above the crown, First. Symbolising, perhaps inadvertently that the EU was more important than the nations. And there you have it. And no-one working on it thought to object. Changing the colour of the passport was a key symbolic gesture that irritated many people, and reinforced an utterly false narrative, to no end or benefit to anyone. There is simply no need for European Union passports to be uniformly coloured. It merely satisfies the bureaucrats' desire for order. And it is my belief that it is this symbolic bureaucratic exercise in territory marking by the EU that revealed, and still reveals, a fundamental disconnect between the Brussels Panjandrums, the people of the EU and the British in particular. The Eurocrats want a Federal Europe with the EU as a Government. The Nations, broadly supported by their governments don't, and have resisted any attempt.

The EU hasn't made Britain less "sovereign". All EU law, necessary to trade with as little friction as possible, is of the type that by whom it is written doesn't matter. With trading standards does it really matter WHAT they are, just that they're as universal and consistently applied? I don't need to tell you that it was never illegal to display prices of potatoes in Lbs and Oz, just that you HAD to display the price in KG and g too, in case any Frenchmen walking through the market didn't know how many Lbs are in a KG. I don't care who writes the regulations for the import of Duck eggs, just that it's done.

But there it is. The Brexiters shooting with the accuracy of a semi-trained recruit who's just dropped LSD at every figment of their fevered imagination, egged on by equally deluded fantasists who still think they're creating a Federal United States of Europe. These two groups of lunatics needed each other. And so, the passport, with 'European Union' at the top was barely noticed on the continent, but seemed to some Brits as evidence the EU was after their democracy, their identity and their Freedom. However stupid this belief is, a Blue passport could've been delivered cheaply as a quick Tabloid-Friendly win for Cameron and such was the narrow margin, it would have probably been enough.

Rosencrantz and Guildenstern are Dead.

By Jackart ([email protected])

Wednesday saw my 40th Birthday, and to celebrate I went to see Tom Stoppard's brilliant Rosencrantz and Guildenstern are Dead at the Old Vic with a Chum. While Daniel Radcliffe & Joshua Maguire lead, the show is stolen by a magisterial performance by David Haig as The Player, a sort of luvvie-pimp-cum-impresario who holds the whole play, in its absurdity, together.

The play is Hamlet, seen from the point of view of two minor characters, Rosencrantz and Guildenstern, old friends of Hamlet's. The hapless pair spend the play wondering what they're doing and why, having been recalled to Elsinore by Claudius to find out why Hamlet's being such a dick, moping about and talking gibberish to himself ("to be, or not to be..." etc). They are eventually betrayed by their friend, who suspects them of working for his uncle which they are, sort of.

The play is therefore a meditation on the futility of existence, and the limitations of people's personal agency. Most people get on with their lives, as bit parts in a greater drama, not really sure as to the direction of events, or even of the past. After all, what have Rosencrantz and Guildenstern got to go on, but what can be gleaned from a few words of Shakespeare's, as metaphor for everyone's flawed and self-serving memory. Any interrogator or detective will tell you about the reliability of eye-witnesses and the difficulty of establishing the truth.

From everyone's point of view then, even when we're at the centre of events, most of the action is happening offstage. There will have been some point at which you could have said "no", but you missed it. Then you die.

If you can get tickets, do so.

Minimum Wages, Immigration, Culture and Education.

By Jackart ([email protected])

Net migration to the UK has run at hundreds of thousands a year for decades, of which about a quarter since 2004 has been "A8 countries", Poland, the Baltic states, Czech Republic, Slovakia, Slovenia and Hungary, another quarter from 'Core EU' and the rest from non-EU countries, mainly India, Pakistan and West Africa. 13% of the population of the UK was born overseas, of whom over 2/3rds are non-EU migrants. This is an unprecedented migration to the rich world from the poor, and It's not clear from this EU migration is the underlying problem. The Poles will integrate fast, and leave imprints on the culture like a higher incidence of catholicism, bigos (a stew of meat and Sauerkraut) and some hard-to-spell surnames. They're often better educated than the natives, and work harder.

In general the view I've taken over the years is that minimum wages are a bad thing, arguing that they are mainly paid for by the people who otherwise wouldn't get a job at all. Only a job can lead to a better job, and if people are unemployed for a long time, they often become unemployable. So by this logic, keeping unemployment down should in the long-run be better for the poorest.

But, there is a trade off. When I grew up, late '80s and '90s, I cannot recall seeing cars washed by hand. When my father wasn't exploiting child labour by getting me and my brother to do a rubbish, half-arsed job for which we expected to be paid handsomely, we went to see the "blue Dougals" at the petrol station. The UK as a wealthy country, had substituted Capital for Labour, and cars were washed by big machines at every petrol station. But a team of a dozen hard-working and cheerful eastern Europeans can set up a car-wash, do inside and out for very little capital outlay - a jet washer, and some sponges, so when the EU accession countries citizens moved to seek work, this is what many did. The car wash machines were gradually removed and replaced by people. This is the opposite of progress.

Let's take a step back and look at the big picture.

Europe's wealth, it's vitality, its progress didn't spring from European individual or cultural superiority. It started when half the population was wiped out by Yersinia pestis in the 14th Century. There was a certain amount of luck - the same event increased the power of the landowner in Rice states and in pre-feudal societies farther East, but in Northwestern Europe, this created a shortage of Labour, and the peasants rose up a generation afterwards to demand higher wages from their lords. When this happened in Italy, the energy was put into sculpture of the nude male form, and was called "the Renaissance". When wages rise, it makes sense to build machines rather than employ labour, which has a virtuous feedback loop: skilled people running the machines drive up production, and become richer, which creates an incentive for further innovation. More widespread desire for, and access to education is grease in the wheels of this, the motor of progress that led to the industrial revolution.

The opening up of America, a nation with a perpetual and long-lasting shortage of labour not only added another motor to that European culture of innovation which grew up after the Black Death, but also absorbed the excess labour of Europe. While there is a labour shortage, immigration can be managed, though immigrants in large numbers have nowhere, ever been welcomed by the people they move to. Even when the people are kith and kin, the 'Scots Irish' (in reality, families originally from Northern England and the Scottish Borders) were moved on by the Germans and English who'd already settled the East coast. They ended up in Appalachia.

It's clear, then in the short run and in aggregate, wages aren't "driven down" by migration in a market economy. Part of that, in modern times may be due to the minimum wage, which protects some of the people most vulnerable to substitution, but also the 'lump of Labour fallacy'. Immigrants, especially young workers with families bring demand as well as supply and these things more-or-less balance. They aren't "taking our jobs" but they are changing the nature of jobs available. And the vast supply of excess labour from the subcontinent, africa and the poorer bits of Europe is not exactly an incentive to invest in productivity-enhancing machines, as the car-wash example shows. The mass immigration from the poor world has the potential to stall the western motor of innovation and may contribute to wages not rising as far as they might, especially for the lowest skilled workers.

The UK has a problem with productivity. UK employers have got good at employing the excess Labour of a serious chunk of the world, UK wages have been flat for a decade, and these things are linked. So the Chancellor is hiking the minimum wage in the hope of good headlines, and to incentivise investment to drive productivity. So. What effect will this have on immigration. Will it draw more migrants to the UK hoping for higher wages, like European immigration to the USA, or will it price low-skilled immigration out of the Labour market and allow the motor of progress to continue?

Splits that used to be geographic - some countries were rich, and others poor and the movement between the two was rare, is moving to one where there are still two countries, it's just the divide is social, educational, and cultural. You have a global, liberal, free market culture, which values education and novelty. And you have national, 'c' conservatives who just want their own culture, don't care about education all that much, won't move to find a job, and expect to be looked after who stay put and resent incomers. And the latter are disproportionately annoyed about foreigners moving into "Their" neighbourhoods while it's the former who have more to fear in the short term from highly skilled competition, minimum wages see to that. And if minimum wages rise far enough, low skilled workers will not be able to get jobs and they will stop coming to the UK. The problem is, the lowest skilled people are often native. The cost of a raised minimum wage will be borne by those least able to cope.

If we are to avoid society fracturing permanently into Morlocks and Eloi we do need to manage migration, to keep that motor humming. We cannot let the world come at will. But there was no need to pull up the drawbridge against EU migrants who always looked like collateral damage to me.

It's not all about economic self-interest, nor is it wholly naked in-group preference (what educated, open minded people call "bigotry"). It is the interplay between the two. Ultimately the stagnation of UK wages over the last 10 years isn't due to migration, but the recovery from a balance-sheet recession of 2007-9. It's the feeling of ennui caused by a decade of stagnation which has caused the anti-immigration nonsense, the rather blameless Poles have just become a Piñata and for a population that was persuaded to lash out at the EU when they really wanted to lash out at "the Muslims". The tragedy is all this happened just as we were getting back to normal.

Nicola and Theresa. Phwooar.

By Jackart ([email protected])

The Daily Mail's headline "Legs-it" about Scottish First Minister and British Prime Minister Theresa May's shapely legs was pathetic. But remember, the Mail is written by women, for women, and women judge each other, all the time, harshly and vindictively. Judged especially harshly are women more accomplished or better looking than the average Daily Mail reader.

To call this "sexism" is to miss the point. This isn't about women being held down by sexist male tittle tattle. Clearly, two of the most powerful people in the country haven't been held down in any meaningful way. Any executive head of Government is fair game for any and all criticism. What these women have done is rise above the level at which society normally seeks to protect women from abuse.

Male politicians are made fun of for their appearance and clothing all the time. It's the sea men swim in. Whether it's Donald Trump's expensive, but ill-fitting suits and too-long ties like he's stepped out of a 1980s pop video caricature of a businessman, or Cameron's forehead, or the fact that middle-aged men are always assumed to be repulsive, this abuse is normal.  The ridicule a male politician faces when he's seen in public wearing anything other than a blue suit is extraordinary. From Tony Blair wearing a clean barbour, to William Hague's baseball cap or Cameron's beachwear, there's a reason male politicians dress identically. When women's clothing (far more interesting by the way, than the sober suits of most male politicians) is commented on, it enables a personal brand to be created that much easier. Theresa May's shoes are like Margaret Thatcher's handbag. True, women do have to think harder about their clothing - too much leg, cleavage etc... and you immediately invite scorn (of other women, mainly), but the fact the female wardrobe stands out against the endless blue/grey suits and red or blue ties of the male is as much an opportunity as it is a minefield.

Any comment about May's shoes, for example is part of her deliberately curated brand, and shoe-designers are falling over themselves to get their products onto her feet. This isn't sexist. Women like shoes, and there's no reason why Theresa May shouldn't have fun with them.

Lower down the pecking order there's a taboo against men commenting negatively on a woman's appearance, lest you hurt the poor dear's feelings. Yes male 'locker room' banter will discuss who's attractive, but it's rude to do so in front of women and by and large, gentlemen don't. Women don't typically have these conversations about men in earshot of men either, but describing men as "revolting" or "creepy" is so normal as to be unworthy of comment, and completely unnoticed. May and Sturgeon have risen above this social protection, and are subject to the same rules of engagement as men are. i.e that if we have feelings, tough.

These women are grown-ups doing important jobs. If you think the Mail's light-hearted front page is an insult to them, you're an idiot. Of course Sarah Vine who wrote the thing, knows exactly the response it would get, howls of idiot outrage from the usual suspects on Twitter, and from Sturgeon herself. This allows the paper to swat the complaints aside with contempt. This signals to their readership that the Mail is on their side against the bien-pensant left with their idiotic & totalitarian outrage about human trivialities. May by rising above it, does the same. The Mail is one of the Best-selling papers in the UK, and one of the world's most visited "news" (ish) websites. Who won that exchange?

The po-mo left, obsessed with identity politics, used to being able to bully dissenting opinion down STILL hasn't got the new rules of the game. Someone's pointed out the Emperor's naked, but he's still acting like he's in charge and hasn't noticed the mood's changed. Yet.

Completely unrelated, but thank you to the Anonymous commenter who wrote this. It cheered me up.

On Class, Culture and the New Politics

By Jackart ([email protected])

The two tribes of politics, broadly the Tory and Labour parties divided over the 20th Century principally on the matter of economics. Simplifying: Tories preferred market solutions to state planning, and preferred lower taxes and less generous state spending.
The Labour party, which when it abandoned clause IV, surrendered on the economic question, not coincidentally a few years after the Berlin wall came down.
As a result, the great battles since then have been essentially cultural. Gay rights, racial integration etc. The confusion stems from there being no consensus within the Tory or Labour tribes on these issues. Plenty of Tories are happily socially liberal, many of the Labour tribe are socially conservative, especially when you look at voters rather than representatives.
Which brings us to the tribal division of Britain: class. The middle class: liberal, internationalist, universalists; vs a working class: authoritarian, insular and particular world view. The former is comfortable with diversity and immigration. The latter isn't. The former's kids live a long way from home, and move for work, the latters kids live in the same town and expect the work to come to them. The former don't speak to their neighbours, the latter care what their neighbours do and think. These labels are correlated roughly with, but independent of, economic status. It's possible to be middle class, in a local-authority home living on benefits, and working class, earning seven figures and living in a manor house. (Though it's likely these people's kids will change tribes)
There are elements of these cultures in all major parties in the UK, but the rest of us rarely communicate with people from the other tribe. The people you have round for dinner will most probably be from your tribe. Half the country holds its knife like a pen, yet none have sat round my table. When the two tribes meet, it's awkward. Those difficult bottom-sniffing conversations seeking common ground are easy to conclude when two members of the same tribe meet, and difficult when you meet the other half.
There have always been working class Tories, because much of the working class is as comfortable with the certainties of heirarchy as a shire Tory, and doesn't much care for this freedom and opportunity nonsense, preferring a better boss instead. And it's interesting to watch the Tories dangle the protectionism and insularity the working class has long demanded. Middle class labour fabians and the working class methodists have always sat uncomfortably together. Brexit has shattered that coalition, the labour party has been handed to the idiot socialists and will die, unless somehow moderates can oust corbyn before 2020.
Which brings us to the Tory coalition. The high-Tory have promised the old certainties back to the white working class. Meanwhile, middle-class liberals who make up most of the parliamentary party are distinctly uncomfortable with much of what is being done in Brexit's name, but will stick with the Tories, because they offer the promise of power, and however dreadful Brexit is, Jeremy Corbyn is worse. A new coalition is being forged between the Tory squirearchy, and the Working class based on nationalism, social conservatism and heirarchy, directly taking Labour's core vote. This is why UKIP, a working class movement that thinks it *is* the conservative party, apes the style of a country gent. The working class have always got on well with the Gentry, sharing sociailly conservative values. Both despise the middle class.
Brexit split the country down a line more on class values, split the country and handed it to the socially authoritarian party. Whether this is the new politics, with the Tories moving from being the middle-class party to the working class party, as the Republicans did after the war in the USA, or whether the middle-class will wrest back control over both parties in time waits to be seen.
I suspect unless May softens her tone, and thows some bones to the liberals, her coalition will only survive until there's a credible opposition. A more appropriate division of politics would be a ConservaKIP'ish alliance of WWC and high-tory squires, vs LibLabCon middle-class liberals. Therea May seems to be actively seeking it.
Over the Channel, Emmanuel Macron and Marine Le Pen exemplify this split. The candidates of the parties of left, Socialists; and right, RPR are likely to be eliminated in the first round. Macron is likely to win comfortably. His movement 'En Marche!' was only formed a year ago. There's a lesson for British liberals there.

Tories have profoundly damaged the UK. You Should Join the Tories.

By Jackart ([email protected])

2016 happened because decent people don't join political parties, leaving the business of Government to socially inadequate, physically repellent gits with an axe to grind*. In normal circumstances, this makes politics easier for genuinely impressive people to progress through the flotsam of monomaniacs. To be a Grown-up in the Tory Party 1997-2010 was to be able to consider an issue beyond the EU. For Labour it's all about not dreaming of Strike Action by "the workers". Thus the Liberal Centre consolidated a hold on the country, but became complacent to the poison seeping into parties even as the Smug centrist consensus made everyone fat and rich.
There has been a steady, and persistent hollowing out of the political parties. Labour used to be allied to a Trades Union movement that delivered services - health insurance, education and so forth to its members. The Trades Unions of Pre-War Britain where an overwhelming force for good. Atlee's welfare state nationalised all the good the Trades Unions used to do, and so corrupted both the principle of welfare (now far, far from Beveridge's original vision of low, universal payments like Child benefit, topped up with contributory elements) and the Trades unions which became a mere tub-thumper for more state spending. This left the Labour party with the sole purpose of defending a welfare settlement that is not under threat, and a Trades Union movement whose purpose had been nationalised so simply became resistant to all and any reform which might make the system as is function better; unions a mere vested interest of public-sector workers. This isn't a place where people capable of holding more than one idea at a time feel comfortable, and so the Labour party was colonised by people who think not shaving is a political act.
This malodorous and poorly groomed cancer has destroyed the Labour party. It's over, there's no point being in Labour unless you're a Identity politics obsessed Corbynite who laments the end of the Soviet Union. 
Labour, 2010-Present
The Tories at least had the sense to try to vomit the most toxic of their nutters into a bucket marked UKIP, a bucket the dog is unfortunately returning to. The Conservative party my Grandfather joined (from CPGB, as it happens, Labour even back then were cliquey dick-heads) used to be a forum for the upper middle class (and anyone who aspired to join them) to meet, mate and do business. But the horrible young Tories of the '80s, and the Euro-nutters of the '90s meant that by 1997, the Tories were only really suitable for people who were prepared to discuss "Europe" endlessly in ever-more foaming tones, persuading themselves that the EU is a historic enemy like Napoleon, the Kaisar, Hitler or the USSR. To their credit, the Tory Leadership has long known what to do. All David Cameron ever asked of his party was to "stop banging on about Europe". They couldn't stop picking at the scab, and the result is a catastrophe that has already crashed the Pound, weakened the UK (perhaps fatally) and may yet cause a political crisis in Europe and embolden Putin to start rebuilding the USSR.
Tories, 1997-2010
The more say over policy and leadership given to the membership, the more the membership has dwindled (unless, like Labour, the membership criteria are designed to invite entryism for the purposes of choosing a leader - by people who've been quietly loyal to the Bennite project for decades). Giving members a say in who leads the party is absurd. Who the prime minister is, should be a matter for MPs, and MPs alone. It is they who must give the Prime Minister a majority and internal party democracy risks, well, exactly what has happened to Labour. 
However, that Rubicon has been crossed. Party members now expect a vote on the Leader. The question is what to do about this, and the answer is to choose to be a member of a party at all times, hold your nose if necessary. Do NOT identify with the party, but consider which is best placed to advance your objectives. At the moment, the foul bigots, monomaniacs and morons of UKIP are being re-absorbed from a position where they can do little harm beyond foaming at the mouth and masturbating to Daily Express editorials, to one where they can choose the next prime minister, and Mrs May isn't a healthy specimen. The ex-'KIPpers chance may come to choose their PM sooner than expected.
I'm often asked "How come you're still a Tory?"  
Were the Liberal Democrats stronger, I'd be considering them, but I don't trust them on electoral reform (about which they're as silly as Tories are about Europe). But as the Lib-Dems are so far from power, I don't see the tactical benefit of leaving the Tories in a huff, and I broadly agree with the Tories on everything except Brexit. What I'm worried about is the 'KIPpers who're returning to the fold. Unless you want a foul, divisive and ignorant Brexit headbanger to replace May in 2023 or so (Gove for example), Join the Tories, because thanks to Labour's meltdown, Tories and Tories alone will choose the next PM. All not joining a party does is strengthen those (*we) weirdos who still do. Labour moderates, disgusted by Corbyn should cross the floor to the Tories or Liberal democrats, instead of flouncing off to the V&A and opening the way for UKIPish Brexit-o-twats to fight and win a by-elections under Tory colours. Were Tristram hunt now a Tory, not only we could soften this brexit idiocy but also signal just how broad a church the Tories are. 40% of Tory members voted Remain. The tribe that needs to understand the value of a bit of entryism is the liberal centre, who need to abandon any loyalty to their Parties and go to where the power is. The Liberal Centre is complacent because they have for so long occupied the ground sought by all parties, they've not really had to compromise. 
At the moment the business of Government is, and will be for the foreseeable future, a Tory-only affair. That need not look like Nigel Farage, but it will, if Remainers abandon the Tories entirely.

The End of A 'Belle Époque'. 1991-2016.

By Jackart ([email protected])

The interlocking webs of policy which 'politics' seeks to knit are complicated. Whole books can be written on how two individual policies interact. PhDs in Economics are awarded for small snapshots of the whole cloth. Most people don't have the time to keep abreast of developments or read sufficient history to understand why some policies are bad. Thus, people use heuristics - rules of thumb - to make decisions  about that which they aren't expert. "Is this person trustworthy" is a key issue, and we tend to overweight the opinion of those near us. "He is my brother, and I say he's ok" says a friend, you are more likely to believe a mutual friend, than the opinion of a stranger on the same issue.

In the evolutionary past, such a question was a matter of life and death. People only really had to trust those with whom they shared a close genetic relationship. Since the development of agriculture, we've been steadily widening that circle of trust. The wider you spread that circle of trust, the richer your society will be. Even before it had a name, Free market economics allowed people to become blacksmiths, knowing others have water, food, shelter and so forth covered in return. More specialisation, greater productivity, means greater wealth.

Eventually, this requires trust in people we've not met. Towns' food supplies require that farmers unknown and distant supply the basics of existence. Nowadays, It's unlikely the west could quickly supply all available plenty currently manufactured in China. Nor could China supply quickly the complex components and tools shipped from Japan, Europe and USA. Both China, and "the west" are richer from the exchange. And yet, we still don't trust "globalisation".

Most persistent fallacies in political economics are the result of simple policies that appeal to some base heuristics, but which when applied to the larger and wider society, fail catastrophically. Thus egalitarianism in one form or another pops up every 3 generations or so and succeeds in making everyone equal, but some more equal than others, and even more, dead. Then nationalism comes along, and says it's all [another, arbitrarily defined group of humans with slightly different modes of speech] fault, leading to more waste and piles of corpses. And even when the results aren't catastrophic, we seek out the views of those who agree with us on say, Nationalism to inform our opinion on, say, whether or not people are responsible for climate change.

Which political tribes stumble into being right or wrong on any given issue appears arbitrary, because no-one's asking for the evidence before they decide on the policy. Instead of asking "what's right", we're asking what's popular (amongst the coalition of tribes that voted for me) right now. That an opponent comes out with an identical policy, for different reasons is reason enough to oppose something, forgetting completely prior support for it. After all, whatever [another political tribe] thinks must be wrong, right.

The Labour party opposes ID cards. The Labour party has always opposed ID cards. The Tory party is for the Free market and was never in favour of the Corn Laws. We have always been at war with Eastasia. Perhaps if we could think for ourselves rather than just accepting tribal dogma, we'd get better governance. But none of us have the time. So "Democracy" is merely a means to give temporary permission to one coalition of tribes to push through dogmas over many issues, until either the population notices, or the coalition of tribes breaks up, and the electorate takes a punt on the other tribe's prejudices for a bit, and then gets on with whatever they were doing before.

Society ultimately advances by eliminating prejudices it's acceptable to hold thus widening the circle of trust, and increasing riches. By falling back on ancient heuristics to answer the wrong question ("who's fault?" is the wrong question) 2016 democracy has delivered the worst political outcomes on a broad front, as a result of which, we are poorer, and more likely to start fighting as a result of the collapse in political trust we have seen over this year. The post Cold-War 'Belle Époque', which saw half of humanity, 3 billion people, lifted out of poverty, is over.

Idiots cheer.

Boston Dynamics and The Late Sir Terry Pratchett

By Jackart ([email protected])

Everyone knows how driverless cars will work: they will be like ordinary cars, except you read a book rather than acting as pilot. And so, people's understanding of what a technology can do is clouded by what the old technology it replaces does. Which means people without imagination, Head of IBM Thomas Watson, for example, say things like
"There may be a world market for maybe five computers"
and get it wrong. In 1943, computers were used for cryptography, and that's it. (At least he knew what a "computer" was, which few did back then). Predictions are hard, especially about the future. But it's probably worth noting here that the famous World Wide What? front page of The Sun, was in fact rather a good a spoof, by The Sun.

Boston Dynamics makes robots.


Who needs Robots? Well, like computers or the internet or driverless cars, the technology is coming. And it will change people's behaviour in many, unpredictable ways. For example, mobile phones were conceived as portable analogues for the phone on your desk or in your hall. SMS text messaging was added as an afterthought, but became THE dominant means of communication. Calling someone is now rude, often you text first to see if a call would be convenient. Who (apart from mums) leaves voicemail messages any more? Few predicted that change in our behaviour. The smartphone is now ubiquitous, and is more about accessing the internet than calling friends, but wasn't imagined before the internet, Except by Douglas Adams (and John Brunner of whom I'd not heard until I discussed the issue on Twitter). Driverless cars will be as close to the car, as the car is to a buggy and four. And robots, when they become ubiquitous, will be unlike anything we've considered.

I look at Boston Dynamics Robots, the big dog is conceived as a load carrying mule for soldiers on rough terrain, and I think of The Luggage, Rincewind's inscrutable companion on the discworld. I suspect everyone will one day have a robot the size of a dog to carry daily necessaries, following them round. You could send your luggage to someone else, by smartphone app to pick something up. Your luggage could take your shopping home and collect it from the store for you. Large luggages could be sent on ahead with bags. Small luggages could replace handbags and briefcases. The labour and time saving would be vast, spawning whole new areas of employment, servicing and modifying your faithful electronic companion and providing for the opportunities they create to effectively be in two places at once. Freed from the ownership of motor vehicles by the fact we'll be taking taxis everywhere, our Robot luggage will perhaps become the next status symbol around which society is built, replacing the car.

Like cars, I suspect the battery technology will be the limiting step, and like cars, I suspect the fuel cell will be the answer. Small fuel cells will one day power your smart phone too.

But think about the opportunities for people from smart phone. There are tens of thousands of app designers round the world now, a job that had barely been considered as recently as 2007, when the first iPhone was released, and that is similar to how the jobs which will be taken by the robots, will be replaced. That is why people who fear of a "post-jobs" future were wrong in 1816 and are still wrong 200 years later. The world's only limitless resource is human ingenuity.

Anway. I for one welcome our new robot overlords, and this guy should totally be locked up.


Fidel Castro is Dead. (Some of) his Legacy will Live on

By Jackart ([email protected])

Let's be clear, Castro was a murderous bastard who impoverished his country, and whose views on homosexuality and on the importance of brevity in speeches were nothing short of horrifying. It's true, Cubans do have access to better healthcare than many countries of equivalent GDP per capita, and if I had to choose a Communist hell-hole to live in, it'd probably be Castro's Cuba. But the Cuban healthcare system is not the fantasy of western dewey-eyed left-wingers, and Cubans often are excluded from what excellence there is, as it's one of the few means the country has of generating hard currency earnings. Rich foreigners get the best doctors, and more are exported to other successful "progressive" regimes like Venezuela.

"But he was an anti-imperialist". So why were cuban troops in Africa in support of the USSR, which was by any measure or definition an Empire? Anti-Imperialsim is just the justification leftists give for knee-jerk anti-Americanism. And the flood of people risking death to reach the USA should tell you all you need to know about the relative merits of America's and Cuba's system.

Contrasting the attitudes of the USA to Castro, to their attitude to equally murderous bastards like Pinochet misses the point. The US embargo on Cuba is one of the legacies of the Cold war, kept bubbling by the politics of Florida, home to so many Cuban-Americans. There is no Doubt that the US blocade has impoverished Cubans, and that with the fall in the Berlin wall and the collapse of the USSR, such an embargo was no longer justified. However politics are what they are. Fidel Castro's death provides an opportunity for further thawing in relations.

The USA supported "our son of a bitch" all over the world, turning a blind-eye to horrific human rights abuses, though often (albeit less often than we should) working behind the scenes to try and mitigate the worst behaviour. Thatcher is rarely credited with preventing the execution of Nelson Mandela, but she consistently urged Mandela's release, even as she argued against sanctions and branding the ANC "Terrorists". This is one reason why the cold-war piles of dead of Nasty fascist bastards are usually lower than those of nasty communist bastards. I also think the point made by CS Lewis holds. Right wing dictators rarely pretend to be GOOD, making their appeal more on effectiveness.
"The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for our own good will torment us without end for they do so with the approval of their own conscience."
And one by one, following the collapse of Communism, the support from the USA and its allies for these disgusting regimes was withdrawn. Apartheid South Africa, much of South and Central America saw right authoritarian regimes fall. Genuine democracies were often created in the rubble. The USA didn't support dictators because the USA is an imperialist power, but because it IS a power, and with that comes responsibility. They judged at the time the alternative, Communism, was worse, and represented a genuine existential threat to the USA and its core allies.

This is why for example the USA and its allies mostly support the Regime in the Kingdom of Saudi Arabia. The Saudi regime is repellent, but given the probable alternatives wouldn't be nice, liberal, democratic-minded progressives, they'd be salafist nutcases who'd have access to billions of dollars of oil revenues and the legitimacy of being the Guardians of the Two Mosques. The House of Saud is all that stands between the West and a plausible salafist caliphate with sufficient legitimacy and money to one day threaten the west. We'd rather do business with nice, stable democracies under the rule of law. But seeing as we cannot do to every country on earth what we did to Germany in the late 40s and 50s, we make the best of the options given.

Castro appeared to be a true beleiver in Socialism, so he refused to recognise his philosophy had failed, and his island limped on, a socialist throwback in the age of globalisation. The current poverty of Cuba is partly America's doing, but mostly due to decisions made by Castro himself, policies which set him and the Cuban people at odds with the regional hegemon, in persuit of an evil idealogy. Fidel Castro was on the wrong side of history, and his people suffered because of his stubborness. Now he's dead, it's Cubans turn to make the most of the positive legacy - Cubans are the best-educated poor people on earth, and the mighty economy of the USA is right on their doorstep. There is going to be a lot of money to be made there, and this time, for the first time, Cubans will share in it.

Hail, Trump! God-Emperor of the Alt.Right

By Jackart ([email protected])

And Let's be honest, he's ghastly and despite brown-nosing by Nigel Farage, he's no friend of the UK's, because he doesn't value anything the UK brings to the table. Rumour has it, he asked Farage to intervene in an offshore windfarm decision affecting his Scottish interests, which suggests he doesn't understand the concept of 'conflicts of interests' when in elected office.

This further suggests Trump will attempt to use the office of President to enrich himself, rather than doing so after leaving office, as is accepted. All this is rather feudal; the office holder as gold-giver, distributing patronage and receiving tribute. He's an entertainer and showman, which hails to an even older tradition of politics: that of Imperial Rome, where emperors used state coffers to enrich themselves and their clients,while keeping the mob quiet with bread and circuses.

Donald J. Trump is psychologically unsuited to office in a mature democracy. He is thin-skinned, autocratic, insecure, ignorant, and completely without any understanding of the levers of power he now wields. Much like (later caricatures of?) Nero, Commodus or Caligula.

Despite (or perhaps because of) this, the adolescent losers of Alt.Right see Trump as a God-Emperor (no, really they do. Video surfaced today of people making Roman Salutes, saying "Hail Trump", and distribute Memes based on Games Workshop's futuristic figure-based tabletop wargame, Warhammer 40,000 where humanity is defended from Chaos by a psychic God Emperor). If Trump is Imperator, then the Secret Service is a Praetorian Guard. And how did the Praetorian serve Commodus, to pick one example?

Trump might, were he capable of reading a book, muse on the fact he's surrounded by armed men sworn to uphold the Constitution of the United States of America, and defend it from Enemies DOMESTIC and foreign. Thankfully, the USA is a mature democracy. Where once armed men acted as kingmaker, courts now do. For the simple reason Ignorance is no defence, and the fact that Trump's loathing of 'Washington' is fully reciprocated, I find it unlikely that Trump will survive his term alive and unimpeached. Unfortunately I cannot find odds on a Trump impeachment before 2020. Perhaps it's a racing certainty.

Sexism and the Loss Aversion Heuristic

By Jackart ([email protected])

Men are physically stronger than women, respond quicker to physical training, and suffer less injury under physical stress. Men are more robust, suffer less morbidity than women in almost all phases of life. Obviously these things exist in a normal distribution, but men's distributions are typically platykurtic - there are more men in the tails of the distribution than women. Thus, even where the means are near identical, such as intelligence, you'd expect to see more male geniuses, and imbeciles among men than women, who're more concentrated around the mean. Feel like taking issue with any of these statements? Then you might as well be a creationist.

Men are more accepting of risk, and will prioritise pay over flexibility. So you'd expect men to make up the majority of soldiers and miners and race car drivers. It also means you'd expect to see more men make up corporate boards, everything being equal. More men are more drawn to the cut and thrust of business, and are more likely to prioritise work over other commitments. Women value stability and flexibility more highly than men. This means women, on average don't choose to make the effort necessary to climb the greasy pole. Women (sensibly, in my view as I have done the same) are more likely to think other things more important.

Thus, the brute fanny-counting of media analysis of sexism and the "gender pay gap" ignores female choices and attributes, thus denigrating both women and men for the choices they make. Women for their part see their contribution to society in caring professions such as medicine (more doctors are now women, as well as nurses) and teaching denigrated because these women aren't seeking to be at the top of BAE systems, or whatever. Likewise men, when they see women are going to hired so they form 50% of the workforce of a mining company feel devalued for their skills and attributes because the only way BHP Billiton could make 50% of its employees women is by discriminating against the larger number of men who will apply to drive a bloody great truck miles from nowhere in a bloody great hole in the ground in the middle of a bloody great desert surrounded by nothingness, and live in towns whose bars serve tinnies through wire grilles, and where kicking each others' heads in represents the primary saturday night entertainment.

But worse, by forcing women into traditionally working class men's jobs, you further alienate and disorientate a bit of society which already feels put upon, neglected, belittled and scorned. This is why they voted for Brexit in the UK, and in the USA, will vote for Trump. Working class men are lashing out, because their raison d'etre, to provide for their offspring, has been nationalised, and no other opportunity for them has been provided and they as individuals have too often been thrown on the scrap heap, derided as workshy deadbeats. The working class used to have pride in providing for their family and often doing dangerous, dirty jobs to do so. Opportunity isn't "equal access to university", for which working class men is a middle-class rite of passage, but decent jobs that will allow them to support their family, but which is blocked by the petty credentialism that values paper qualifications over experience and dumb diligence over inspiration.

That loss of pride is agonising. And people mourn loss far more than they celebrate gain. The aim of this post-modern obsession with equality of outcome therefore might as well be to make men despise themselves and women feel inadequate for the inclinations their biology and society has fitted them. Men become 2nd rate women, and women become 2nd rate men. By all means allow everyone to seek their own path, but to imagine men and women will sort 50/50 everywhere is totalitarian in its foolishness and cruelty.

The EU Deserves what's coming.

By Jackart ([email protected])

One of the main reasons to oppose brexit is that the UK doesn't benefit from being "out" should the EU collapse. A disorderly break-up of the EU would damage the UK, independently of our status in or out. (any comment saying "it's better to bail early" will be deleted as a failure of comprehension read the post, please, it's that argument I'm dealing with). Indeed preventing a disorderly collapse should be the UK's priority. And when we were in, a disorderly collapse was unlikely. The UK kept the lid on Brussels insanity. Not only has Brexit given free rein to some of the very worst people in the UK, it also removes a brake on the insane Federasts  of Brussels.

Far from Remainers "talking the UK down", Brexiters have been doing so for decades - talking down the UK's influence in the EU to the extent we're actually thinking of walking out of the UK's proudest creation: the single market. It is now a shibboleth that the UK has "no influence in the EU", whereas the UK drove the single market, kept half the continent out of the poisonous grip of the Euro and pioneered enlargement to the east following the end of the cold war. The UK drove Russian sanctions to this day. The UK was one of the Big three and on many issues, more influential than France. The UK largely writes EU financial regulation for example (as is meet and proper).

But the EU over-reached. Voters, especially in the UK resented the EU's usurpation of the trappings of National sovereignty far more than the reality of "the laws made in Brussels" which was really just code for an underlying vision they (and I) don't like. And what is true of the UK is true of France and the Netherlands and everywhere else. Remainers like to mock the Be.Leaver's joy over the anticipated return of the blue passport. I however have long resented the words "European Union" above (ABOVE!) the crown on the front. It's like the bureaucrats are trying to rub the British People's nose in it. It's a symbol of something burning in the EU's core, which the average voter neither desires, nor trusts.

The ridiculous and unnecessary potemkin parliament with its farcical shuttle from Brussels to Strasbourg focusses the voters minds on the EU, without giving them any outlet to do anything about it. The EU looms much larger than it ought as a result of the charade of Euro elections. Democracy without a demos is pointless - what commonality do Socialist members from spain and the UK have?:

The EU was flawed, Thanks to the UK some of its worst excesses - the Euro for example were limited to countries that really wanted it. And now without a powerful country holding the reins and steering away from "ever closer union" the Brake that was put on at Maastrict and beyond will be removed. The EU will integrate itself to death, there will be chaos when the voters of Europe can take the tin-eared arrogance of Brussels no more. There was no need for all those millions of lives to be attenuated during that process. While leave voters will say "I told you so", a better analogy would be jumping out of a moving car suffering broken bones and extensive skin abrasions, but saying "it would have been worse" because the lunatic who grabbed the wheel when you bailed steered it directly into a tree.

Spending 1% of GDP to write trade and some business law could much more easily be done intragovernmentally, with a humble and small central bureaucracy. There is no need for "Presidents" and parliaments which lead to grandiose visions; visions which slam painfully, like the Euro, into the unyielding wall of reality. Unobtrusively aligning business regulation and deepening economic integration is necessary. A parliament, a flag, an anthem and a head of "state" are not. The EU has paid the price for this arrogant and pompous grandiosity.

Both the EU and UK are and will be significantly worse off as a result of Brexit. And now, just as Brexit is a bad idea that will be tested, so too will European integration. Both Brussels panjandrums and the brexiters fed off each others' fantasies. Both needed to believe integration was happening, even if it wasn't. Ultimately, the costs will become apparent to the UK pretty rapidly. The EU will suffer much more slowly. It's almost like co-operation is a non-zero-sum game, or something.

On Populism: What do we do? vs Who do we blame?

By Jackart (n[email protected])

If you ask the wrong question, the answers will not work.

"Populism" is, like pornography, hard to define, but you know it when you see it. Wikipedia defines it thus
"a political ideology that holds that virtuous citizens are mistreated by a small circle of elites, who can be overthrown if the people recognize the danger and work together. Populism depicts elites as trampling on the rights, values, and voice of the legitimate people"
It's clear Farage's lauding of a victory for "mediocre ordinary, decent scum people" he was speaking in this vein. But I don't think this captures the essence of populism. Mainstream politicians "Managerialists" in the Populists' vernacular ask "how do we solve this problem". You can be a capitalist, or a socialist, believing in different answers, but at least you agree on the question. Populists aren't asking this question, but instead "who do we blame?". The answer given by Momentum and UKIP may differ: Bosses vs Immigrants, Capitalists vs the EU but the question is the same.

There's also the populists view that MPs rather than being representatives paid to exercise judgement, are delegates paid to vote on someone else's behalf. In this, Paul Mason and Douglas Carswell are in agreement. But this is simply mob rule and behind it is a fear that legislators may Go Native, if they're allowed thanks to the corrosive influence of "[insert boogeyman]" in their long-running campaign to keep the "real" people down. But perhaps legislators know best; they have exposure and access to what passes for facts in this field, and are paid to study it, maybe there's something in the idea of representative democracy after all.

It's always easier to imagine you're the victim of an elite conspiracy, subject to "discrimination" on the grounds of class or race, or at risk from being "flooded" by immigrants, than it is to answer the question "what to I do?". Whether you're running your own life, or that of a nation, what to do is hard, and one of the stresses of modern life is the extent to which people are free, which means they have to make choices. No longer can you just follow dad into the Factory. Because many suffer from crippling loss aversion, these choices are scary, which is why stupid people yearn to be led. They look for leaders who offer answers which fit their prior prejudices and make sense of a complicated world. Corbyn and Farage have made careers finding and stroking a tribe's prejudices, soothing their people's indignation against a world they feel is against them.

The reason populism is so toxic to political discourse is that in apportioning blame, they create a slipway for the launching of vastly damaging ideas. "It's all the EU's fault" leads to Brexit*. "It's all the Fat Cats' fault" and you have a country that looks like Venezuela. If you start blaming immigrants or minorities, well we saw where that went in the last century. It's also why the Brexiteers ran from office at the moment of victory. Delivery isn't in the populists' skillset. The permanent masturbatory pleasures of opposition are what they crave, always losing so they can keep telling their people the game's rigged against them. If they win, then all those inadequate people will have to start making choices and they feel completely lost again. Much easier to simmer in resentment against an immovable object which allows you to blame it, rather than yourself for your failings.

*This isn't a place for a debate on the merits or otherwise of Brexit. Any comments on that subject will be deleted.

One of the reasons for the Populist's success (please note the "one of" at the start of this sentence) is Russia on the internet. The internet allows people to form much denser ideological defences against reality. And into the internet, there is a wounded superpower, pouring poison, poison which people use as ammunition in the defence of their ideological redoubt. Putin's toxic little propaganda swamps like RT and Sputnik are manufacturing and promoting stories which appeal to the populist mindset. Notice how Racists will share RT stories about Immigrants raping white women while members of the Green party will share horror stories about fracking from the same source. Some of these stories will be true. But many are manufactured, exaggerated and twisted specifically to support any party or idea that causes problems to the democratic governments of the west. This is not a random process. It is directed and controlled by the intelligence agency which has captured Russia. Maskirovka raised to a governing principle.

One of the reasons for the UK's relative success as a nation is that up until now, we have been mostly immune from the allure of the populist demagogue. We simply don't have it in us to put too much belief in one man, whether as protagonist or antagonist. Let's hope Brexit is a flash in the pan, and not part of a widespread descent of mature democracies into populist demagoguery. We'll know in 12 months whether democracy can survive or whether, thanks to Trump, Farage and Le Pen, we're going back to pogroms and a summer "campaigning season".

Please let's stop listening to Putin' useful idiots pedalling fallacious simplicity, and start listening to fallible and all-too-human experts again. At least the experts are asking the right question.

A simple flat tyre - but this is 2020, so no...

By [email protected] (RevK)

Really boring post for your today...

On cycling out of Bracknell town on one of the cycle paths (see, I do use them when they go where I want), I hit a pot hole. I have been back and looked since and it looks really innocuous, but it was very jarring and my first thought is that it will have killed my tyres.

Unsurprisingly, within half a mile, or so, I had a flat back tyre. Crap!

I got a lift back from Tescos, and later walked in (3 miles) with my cycle repair kit and pump. The puncture was obvious, and not that small, so I used the sandpaper thing on the rubber and applied a self adhesive (skabs) patch, pumped up and cycled home. Perfect, job done.

Next morning, tyre flat! I investigated and it was the patch, it had popped allowing air out the side. WTF? I patched again and it immediately popped when pumping up.

I figured that maybe the glue goes off, this repair kit was a few years old, so ordered more. When that arrived, patched, and the same!

So I ordered a different make of self adhesive patch this time.

Again, popped as soon as inflated. This is mental.

I figured it was on a seam in the tyre, so I carefully trimmed that flat with a scalpel blade and tried again, no joy.

OK, time to go old school. I ordered good old fashioned repair kit with the rubber patches and the rubber glue.

I have probably done hundreds of puncture repairs in my life, and never had this trouble.

To my surprise, that did not work either, WTF?

Just to be clear, and thanks for all of the helpful advice, I did apply glue and wait for it to dry before applying the patch. I also, on some attempts, applied glue to the patch, which I don't normally have to do.

I tried the large patch sideways to cover where it popped, no joy.

I even applied a patch on top of the patch where it popped, no joy.

As an almost last resort I even used some Loctite 480 which is especially for bonding rubber. Close, but still popped.

This really is getting beyond a joke. I have never had this much trouble with a simple patch to an inner tube in my life.

I think I now have six puncture repair kits.

I have ordered a new inner tube, and some would say that should have been step 1, or at most step 2. Well, yes, except this is the back wheel with hub brakes, hub gears, and enclosed chain guard, all of which need removing, and at least one cable needs unhooking (and hence re-fitting and adjusting) and to be honest that seemed like a lot of hassle. Hence trying the simple puncture repair.

I then had a brain wave... This puncture is not a usual puncture. Well, apart from now being a tear around 5mm long because of the number of patches I had removed, it was on the inside of the inner tube, i.e. facing the wheel. This fits with it being pinched when I went over a pot hole - after all the tyres I have are meant to be puncture resistant. So not the usual place to get a puncture, which would typically be from a spiky thing through the tyre and hence on the outside. In fact, it was almost certainly exactly on the part where the inner tube is not going to be smooth when inflated, but actually a step where the inside of the tyre is in the wheel. This may be the clue, and why it only popped when inflated ing the tyre (I could inflate quite a bit outside the tyre with no issue).

My fix! Well, for a start I used the Loctite to weld the tear shut anyway, and applied a rubber patch over that. The trick, though, was a plastic card (credit card sized) bent round on the inside of the tyre between the wheel and in inner tube. A real hack, but magically the tyre inflated, and I have managed to cycle round the block and no sign of it deflating yet.

Yay, sorted, and, bollocks, the front tyre is now flat. That seems to be a much smaller slow puncture which was actually simple to fix with a patch as normal (well, so far).

So yay. I do have a spare inner tube coming tomorrow, and I hope I don't need it.

I would stress that this has taken (I think) 4 days now, and so given my run of luck I fully expect to find both tries flat tomorrow, probably pecked by a crow or eaten by a squirrel or something...

Update: Using a card was certainly a clue, as it lasted a lot longer than anything else, but today (the next day) the back tyre is flat again - so fun with dismantling stuff when the inner tube arrives. FML.

... And someone has "borrowed" my Allen keys, arrrg!

Update: I have two inner tubes and new Allen keys. Yay. I figured I would change front one first. It literally exploded in the tyre at around 50psi. WTF?! So now waiting until tomorrow for another new inner tube. I did not have this on my 2020 bingo card.

Looks like it is a full moon at just before 5pm today - is that a bad sign I wonder?

Update: Finally, new inner tube fitted to the back. All working. Pain in the arse to take it all apart though.

Scientist Tech Help

I vaguely and irrationally resent how useful WebPlotDigitizer is.

Porting Letters of Authorisation (delayed)

By Grahame Davies

By Bruce Clark, Porting Supervisor We have been informed that the Letter of Authorisation (LOA) changes are no longer taking place from Monday 3rd August and instead this has been pushed back to Monday 7th September 2020.  The reason this has been pushed back is because Offta would like to make a few last-minute adjustments […]

Weekly Update 202

By Troy Hunt

Presently sponsored by: Tines: Breaches are inevitable and early detection is crucial. Assure yourself what's next with security automation part 1.

Unfortunately, our run of good luck here down in Aus has taken a bit of a turn COVID wise. Not so much in my home state, but the southern states have been copping it so this week, I pulled the pin on snowboarding. For folks overseas, that might sound like

Cosmologist Genres

Inflationary cosmologists call all music from after the first 10^-30 seconds "post-"

Low Traffic Neighbourhoods

By danny

Note: a version of this appeared in the Oxford Mail on 21 July 2020. There is nothing at all complicated about low traffic neighbourhoods, even if urban planners turn them into acronyms ("LTNs") and introduce jargon such as "modal filter". A low traffic neighbourhood is simply an area of residential streets in which motor traffic […]

How will your voice service fare with the Internet turned off?

By Simwood

By Simon Woodhead What would you do if all your voice providers were unreachable over the public Internet? Are you prepared and know it’ll make no difference, or are you relying on it never happening? If you’re in the latter camp, you may have ignored our previous pleas such as “Surviving Somebody Else’s DDoS” back […]

Wholesale rate update (2020-08-01)

By Simwood

We will be updating our Managed A-Z Termination rates and codes on August 1st 2020. As usual, these changes are colour coded in our full rate files available through the portal as below. Following our work to make calls 97% cheaper, which significantly affected our Startup service level, we have been looking further at Virtual […]

Pods vs Bubbles

Canada's travel restrictions on the US are 99% about keeping out COVID and 1% about keeping out people who say 'pod.'

Porting Letters of Authorisation

By Grahame Davies

By Bruce Clark, Porting Supervisor Over the past few months, Offta (and the NPP&CG (Number Port Process & Commercial Group)) have been talking about making a few changes to the current porting processes, with a large focus around Letters of Authorisation (LOAs). From Monday 3rd August Monday 7th September (pushed back due to Offta’s decision […]

Filesystem deduplication is a sidechannel

First off - nothing I'm going to talk about in this post is novel or overly surprising, I just haven't found a clear writeup of it before. I'm not criticising any design decisions or claiming this is an important issue, just raising something that people might otherwise be unaware of.

With that out of the way: Automatic deduplication of data is a feature of modern filesystems like zfs and btrfs. It takes two forms - inline, where the filesystem detects that data being written to disk is identical to data that already exists on disk and simply references the existing copy rather than, and offline, where tooling retroactively identifies duplicated data and removes the duplicate copies (zfs supports inline deduplication, btrfs only currently supports offline). In a world where disks end up with multiple copies of cloud or container images, deduplication can free up significant amounts of disk space.

What's the security implication? The problem is that deduplication doesn't recognise ownership - if two users have copies of the same file, only one copy of the file will be stored[1]. So, if user a stores a file, the amount of free space will decrease. If user b stores another copy of the same file, the amount of free space will remain the same. If user b is able to check how much free space is available, user b can determine whether the file already exists.

This doesn't seem like a huge deal in most cases, but it is a violation of expected behaviour (if user b doesn't have permission to read user a's files, user b shouldn't be able to determine whether user a has a specific file). But we can come up with some convoluted cases where it becomes more relevant, such as law enforcement gaining unprivileged access to a system and then being able to demonstrate that a specific file already exists on that system. Perhaps more interestingly, it's been demonstrated that free space isn't the only sidechannel exposed by deduplication - deduplication has an impact on access timing, and can be used to infer the existence of data across virtual machine boundaries.

As I said, this is almost certainly not something that matters in most real world scenarios. But with so much discussion of CPU sidechannels over the past couple of years, it's interesting to think about what other features also end up leaking information in ways that may not be obvious.

(Edit to add: deduplication isn't enabled on zfs by default and is explicitly triggered on btrfs, so unless it's something you've enabled then this isn't something that affects you)

[1] Deduplication is usually done at the block level rather than the file level, but given zfs's support for variable sized blocks, identical files should be deduplicated even if they're smaller than the maximum record size

comment count unavailable comments

Faraday Tour

I asked them if it was safe to be running tours during the pandemic. They said, "During the what?"

Weekly Update 201

By Troy Hunt

Presently sponsored by: Tines: Breaches are inevitable and early detection is crucial. Assure yourself what's next with security automation part 1.

I love this setup! A huge amount of research went into this but the PC, screens, cameras lights and all the other bits are working really well together. I did my first interview with this setup today and I think I'm actually going to be sticking with the mood lighting

Building the Ultimate Home Office (Again)

By Troy Hunt

Presently sponsored by: Tines: Breaches are inevitable and early detection is crucial. Assure yourself what's next with security automation part 1.

I was searching around for a quote along the lines of you only being as good as the tools you use and somehow, I ended up down this rabbit hole of painters quotes and carpenters quotes and stuff about artists and their brushes. Then I started thinking it sounds a

Keycloak 11.0.0 released

To download the release go to Keycloak downloads.


LDAPv3 password modify operation

Support for LDAPv3 password modify operation was added. Also the ability in the admin console to request metadata from the configured LDAP server to see if it supports LDAPv3 password modify operation.

Thanks to cachescrubber

Namespace support for LDAP group mapper

Namespace support for LDAP group mapper allows you to map groups from LDAP under specified branch (namespace) of the Keycloak groups tree. Previously groups from LDAP were always added as the top level groups in Keycloak.

Thanks to Torsten Juergeleit

Upgrade to WildFly 20

Keycloak server was upgraded to use WildFly 20.0.1.Final under the covers. For more details, please take a look at Upgrading Guide.

Other improvements

  • Support for client offline session lifespan. Thanks to Yoshiyuki Tabata

  • Czech translation. Thanks to Jakub Knejzlík

  • Possibility to fetch additional fields from the Facebook identity provider. Thanks to Bartosz Siemieńczuk

  • Support for AES 192 and AES 256 algorithms used for signed and encrypted ID tokens. Thanks to Takashi Norimatsu

  • Ability to specify signature algorithm in Signed JWT Client Authentication. Thanks to Takashi Norimatsu

All resolved issues

The full list of resolved issues are available in JIRA


Before you upgrade remember to backup your database and check the upgrade guide for anything that may have changed.

Aviation Weather Map

Sure, you could look outside for the current weather, but isn't it a lot more fun to build a live-updating map instead?

E-Paper Weather Display

What happens when you combine two-colour e-paper with bad Python? Weather! Well, weather displays.

The RFID Checklist

What do you do when you want to massively over-engineer a solution to forgetting your phone charger?

The Long Drive

Over a thousand miles over some of the loneliest areas of the USA. What's not to love?

Travel Equipment: 2019 Edition

Taking a look at some of the key travelling equipment I've grown to like in the last year of travel.

ASGI 3.0

Upgrading the ASGI spec to simplify it, while keeping backwards compatibility.

A Django Async Roadmap

Taking a look at what it would take to make Django async-native, what it enables, and if we should even do it at all.

Python & Async Simplified

Event loops, coroutines and awaits, oh my!

Channels 2.0

Finally, the promised land is here and Channels 2.0 is released. But how much has changed? And why?

The Sheets Of San Francisco

Finally, my 3D city maps return, and this time they're mapping the streets and hills of San Francisco.