Archive: July, 2021

66

sparkline
                    5th                     10th                     15th                     20th                     25th                     30th     
12am
4am      
8am                        
12pm                              
4pm                    
8pm      

Friday, July 30th, 2021

Reader

I’ve written before about how I don’t have notifications on my phone or computer. But that doesn’t stop computer programmes waving at me, trying to attract my attention.

If I have my email client open on my computer there’s a red circle with a number in it telling me how many unread emails I have. It’s the same with Slack. If Slack is running and somebody writes something to me, or @here, or @everyone, then a red circle blinks into existence.

There’s a category of programmes like this that want my attention—email, Slack, calendars. In each case, emptiness is the desired end goal. Seeing an inbox too full of emails or a calendar too full of appointments makes me feel queasy. In theory these programmes are acting on my behalf, working for me, making my life easier. And in many ways they do. They help me keep things organised. But they also need to me to take steps: read that email, go to that appointment, catch up with that Slack message. Sometimes it can feel like the tail is wagging the dog and I’m the one doing the bidding of these pieces of software.

My RSS reader should, in theory, fall into the same category. It shows me the number of unread items, just like email or Slack. But for some reason, it feels different. When I open my RSS reader to catch up on the feeds I’m subscribed to, it doesn’t feel like opening my email client. It feels more like opening a book. And, yes, books are also things to be completed—a bookmark not only marks my current page, it also acts as a progress bar—but books are for pleasure. The pleasure might come from escapism, or stimulation, or the pursuit of knowledge. That’s a very different category to email, calendars, and Slack.

I’ve managed to wire my neurological pathways to put RSS in the books category instead of the productivity category. I’m very glad about that. I would hate if catching up on RSS feeds felt like catching up on email. Maybe that’s why I’m never entirely comfortable with newsletters—if there’s an option to subscribe by RSS instead of email, I’ll always take it.

I have two folders in my RSS reader: blogs and magazines. Reading blog posts feels like catching up with what my friends are up to (even if I don’t actually know the person). Reading magazine articles feels like spending a lazy Sunday catching up with some long-form journalism.

I should update this list of my subscriptions. It’s a bit out of date.

Matt made a nice website explaining RSS. And Nicky Case recently wrote about reviving RSS.

Oh, and if you want to have my words in your RSS reader, I have plenty of options for you.

Paleolithic Nostalgia

Why do we long for a time when the average life span was 22 and everyone was wracked by tuberculosis?

This was the problem I had with Yuval Noah Harari’s Sapiens (and to a lesser extent with Rutger Bregman’s Humankind):

Paleolithic peoples, so the tale goes, spent most of Tuesday strolling under Baobab trees, running their hands through the long elephant grass, and breathing in the sweet dust of the open Savannah. On Wednesdays they carefully chipped away the edges of Levallois blades, swept dust out of the home cave, and snacked on freshly gathered almonds. On Thursdays they gathered into small bands – a hand-picked selection of the finest endurance runners this side of Nairobi – tracked down an elephant, and sprinted after it barefoot for nine hours until the creature – dehydrated, exhausted, and unable to sweat out the excess heat – crumpled into a violently sad face-plant in the hot, gritty sand. Our strapping, supple ancestors jogged to a halt beside it, barely out of breath, to carve up its flesh and bring home the elephant bacon. Later that evening they would break their 36 hour intermittent fast, retire to the lake, and engage in polyamorous affairs.

For developers, Apple’s Safari is crap and outdated – Perry Sun | Blog

Apple dragged their feet in adding support for PWAs in Safari, and when they finally did, limited the capabilities of a PWA so that native-like app functionality wouldn’t be possible, like notifications or a home screen icon shortcut – to name just a few of the many restrictions imposed by Apple.

But it goes beyond that. On iOS, the only web rendering engine allowed is Apple’s own WebKit, which runs Safari. Third-party iOS browsers such as Chrome can only use WebKit, not their own engines (as would be permitted in Windows, Android, or macOS). And it’s WebKit that governs PWA capabilities.

Safari is very good web browser, delivering fast performance and solid privacy features.

But at the same time, the lack of support for key web technologies and APIs has been both perplexing and annoying at the same time.

The enormous popularity of iOS makes it all the more annoying that Apple continues to hold back developers from being able to create great experiences over the web that work across all platforms.

Notes, links, etc | There’s water in the hedgerows

How do you keep knowledge alive over centuries? Stuff that seems big enough for a group of people to worry about at the time, but not so big it makes world news. Not the information that gets in all the textbooks, but just the stuff that makes the world gently tick over.

Safari isn’t protecting the web, it’s killing it | HTTP Toolkit

I do want to recognize that the Safari/WebKit team are working hard, and I do desperately want them to succeed! Chromium’s domination is bad for everybody, and building a popular browser that’s focused on privacy & security, as they appear to be trying to do, is a fantastic goal. That does not mean their current approach deserves our blind support.

I’m sure the Safari team are working on the issues below already, and I think it’s likely that the problems fundamentally derive from management decisions about company priorities rather than the team themselves.

In the past (the early 2010s) Apple was frequently leading the way on new features, as the very first browser to ship major JavaScript APIs like Web Workers, and the browser driving experimental prefixed features like CSS Canvas backgrounds. It’s exceedingly rare now to see a web feature primarily driven by Apple. Something has changed.

Thursday, July 29th, 2021

The Baked Data architectural pattern

Simon describes the pattern he uses for content sites to get all of the resilience of static site generators while keeping dynamic functionality.

Replying to a tweet from @simonw

I looked into some alternatives back in 2018:

https://adactio.com/journal/13853

Checked in at Baker Street Coffee. Flat white — with Jessica, Tantek map

Checked in at Baker Street Coffee. Flat white — with Jessica, Tantek

Wednesday, July 28th, 2021

Rationality Is Not A Way Out Of Group Action Problems like Climate Change and Covid – Ian Welsh

Rationality does not work for ethical decisions. It can help you determine means, “what’s the best way to do this” but it can’t determine ends.

It isn’t even that great for means.

One-offs and low-expectations with Safari - daverupert.com

If I could ask for anything, it’d be that Apple loosen the purse strings and let Webkit be that warehouse for web innovation that it was a decade ago.

Tuesday, July 27th, 2021

Checked in at Brunswick Square Park. Picnic — with Jessica, Tantek map

Checked in at Brunswick Square Park. Picnic — with Jessica, Tantek

When shaken to the core, we get priorities right. Can we stick to it? – Dr. Carolina Odman

Carolina’s post reminds me of A Paradise Built In Hell by Rebecca Solnit:

In the face of disaster, survivors get together, make time and help one another regardless of their differences. It is beautiful and inspiring.

Safeguarding music | Global Music Vault | Svalbard

This sounds like an interesting long-term storage project, but colour me extremely sceptical of their hand-wavey vagueness around their supposedly flawless technical solution:

This technology will be revealed to the world in the near future.

Also, they keep hyping up the Svalbard location as though it were purpose-built for this project, rather than the global seed bank (which they don’t even mention).

This might be a good way to do marketing, but it’s a shitty way to go about digital preservation.

Monday, July 26th, 2021

Picture 1 Picture 2 Picture 3

Horses, horses, horses.

Walking from Brighton to Lewes with @wordridden and @t.

Walking from Brighton to Lewes with @wordridden and @t.

Just heard the sad news about Steven Weinberg. I’ll never forget the mind-expanding impact his book The First Three Minutes had on me when I was growing up.

Comfy kitty.

Comfy kitty.

Sunday, July 25th, 2021

Checked in at Trading Post Coffee Roasters. Brunch — with Jessica, Tantek map

Checked in at Trading Post Coffee Roasters. Brunch — with Jessica, Tantek

The Non-Innovation of Cryptocurrency

There is zero evidence that crypto is creating any technical innovation connected to the larger economy, and a strong preponderance of evidence it is a net drain on society by circumventing the rule of law, facilitating tax evasion, environmental devastation, enabling widespread extortion through ransomware and incentivizing an increasingly frothy ecosystem of scams to defraud the public. Nothing of value would be lost by a blanket cryptocurrency ban.

Saturday, July 24th, 2021

Reflections as the Internet Archive turns 25

Brewster Kahle:

The World Wide Web at its best is a mechanism for people to share what they know, almost always for free, and to find one’s community no matter where you are in the world.

Back to the Future with RSS

Nicky Case on RSS:

Imagine an open version of Twitter or Facebook News Feed, with no psy-op ads, owned by no oligopoly, manipulated by no algorithm, and all under your full control.

Imagine a version of the newsletter where you don’t have to worry about them selling your email to scammers, labyrinth-like unsubscribe pages, or stuffing your inbox with ever more crap.

Reclining under a canopy of green.

Reclining under a canopy of green.

Reading The City We Became by N. K. Jemisin.

Buy this book

Friday, July 23rd, 2021

Checked in at Burnt Orange. Digestif — with Jessica map

Checked in at Burnt Orange. Digestif — with Jessica

Checked in at Flint House. Birthday celebration — with Jessica map

Checked in at Flint House. Birthday celebration — with Jessica

Thursday, July 22nd, 2021

Why Civilization Is Older Than We Thought – Palladium

When we find remains of beavers, we assume they built beaver dams, even if we don’t immediately find remnants of such dams. The beaver dams are part of what biologists would call the animal’s extended phenotype, an unavoidable necessity of the ecological niche that the beaver occupies. When we find Homo sapiens skeletons, however, we instead imagine the people naked, feasting on berries, without shelter, and without social differentiation.

Wednesday, July 21st, 2021

I can’t see the word Snowpiercer without hearing Shirley Bassey singing it to the tune of Goldfinger.

“Schnoooowpiercah! 🎶 It’s the train, the train with a class divide… And. Snow. Outside!”

Tuesday, July 20th, 2021

Dancing With Systems - The Donella Meadows Project

We can’t control systems or figure them out. But we can dance with them!

  1. Get the beat.
  2. Listen to the wisdom of the system.
  3. Expose your mental models to the open air.
  4. Stay humble. Stay a learner.
  5. Honor and protect information.
  6. Locate responsibility in the system.
  7. Make feedback policies for feedback systems.
  8. Pay attention to what is important, not just what is quantifiable.
  9. Go for the good of the whole.
  10. Expand time horizons.
  11. Expand thought horizons.
  12. Expand the boundary of caring.
  13. Celebrate complexity.
  14. Hold fast to the goal of goodness.

What would have happened if we never fixed the ozone hole?

We may not live in the best of all possible worlds, but we have dodged some bullets:

In the annals of environmental history, humanity’s response to the ozone crisis stands out as a rare success story. During the 1970s and ‘80s, evidence started to mount that certain household chemicals used in refrigerators, air conditioners, and aerosol cans like hairspray were eating a giant hole in Earth’s ozone layer, which prevents harmful ultraviolet radiation from reaching the surface. Facing the terrifying prospect of a future without any atmospheric sunscreen at all, in the late 1980s nations came together to sign the Montreal Protocol, a global treaty to phase out so-called ozone-depleting substances like chlorofluorocarbons.

But if things hadn’t turned out that way—if the scientific evidence linking man-made chemicals to ozone depletion wasn’t strong enough, or if ozone deniers (yes, there were ozone deniers) successfully stymied the Montreal Protocol—the world might look very different.

What is a woman? - Prospect Magazine

An excellent thoughtful piece from Angela Saini (as always):

Popular opinion, “common sense” and the closely related priors of scientific enquiry have never been reliable guides when it comes to decoding human difference. After all, European biologists once thought it was obvious that colour-coded races were different species or breeds that had evolved separately on each continent. It was obvious to taxonomist Carl Linnaeus that monster-like and feral races of humans surely existed somewhere in the world. More recently, neuroscientists were happily insisting that women were innately less intelligent than men because they had smaller brains. A few neuroscientists still do.

History shows that many supposed “facts” about human nature were actually always cultural constructions. Race is one. Gender is another. Now, some researchers believe that sex—generally seen as determined by anatomy, including chromosomes, hormones and genitalia—may to some extent be constructed, too. Binary categories of male and female, they say, certainly don’t fully encompass all the natural variation and complexity that we see in our species.

Hope

My last long-distance trip before we were all grounded by The Situation was to San Francisco at the end of 2019. I attended Indie Web Camp while I was there, which gave me the opportunity to add a little something to my website: an “on this day” page.

I’m glad I did. While it’s probably of little interest to anyone else, I enjoy scrolling back to see how the same date unfolded over the years.

’Sfunny, when I look back at older journal entries they’re often written out of frustration, usually when something in the dev world is bugging me. But when I look back at all the links I’ve bookmarked the vibe is much more enthusiastic, like I’m excitedly pointing at something and saying “Check this out!” I feel like sentiment analyses of those two sections of my site would yield two different results.

But when I scroll down through my “on this day” page, it also feels like descending deeper into the dark waters of linkrot. For each year back in time, the probability of a link still working decreases until there’s nothing but decay.

Sadly this is nothing new. I’ve been lamenting the state of digital preservation for years now. More recently Jonathan Zittrain penned an article in The Atlantic on the topic:

Too much has been lost already. The glue that holds humanity’s knowledge together is coming undone.

In one sense, linkrot is the price we pay for the web’s particular system of hypertext. We don’t have two-way linking, which means there’s no centralised repository of links which would be prohibitively complex to maintain. So when you want to link to something on the web, you just do it. An a element with an href attribute. That’s it. You don’t need to check with the owner of the resource you’re linking to. You don’t need to check with anyone. You have complete freedom to link to any URL you want to.

But it’s that same simple system that makes the act of linking a gamble. If the URL you’ve linked to goes away, you’ll have no way of knowing.

As I scroll down my “on this day” page, I come across more and more dead links that have been snapped off from the fabric of the web.

If I stop and think about it, it can get quite dispiriting. Why bother making hyperlinks at all? It’s only a matter of time until those links break.

And yet I still keep linking. I still keep pointing to things and saying “Check this out!” even though I know that over a long enough timescale, there’s little chance that the link will hold.

In a sense, every hyperlink on the World Wide Web is little act of hope. Even though I know that when I link to something, it probably won’t last, I still harbour that hope.

If hyperlinks are built on hope, and the web is made of hyperlinks, then in a way, the World Wide Web is quite literally made out of hope.

I like that.

Reading Let The Game Do Its Work by J.M. Berger.

Replying to a tweet from @zachleat

Monday, July 19th, 2021

Mariscadora. 🐟 🐙

Mariscadora. 🐟 🐙

Picture 1 Picture 2

Sharing some dappled shade on the deck with not-my-cat.

Solarpunk

My talk on sci-fi and me for Beyond Tellerrand’s Stay Curious event was deliberately designed to be broad and expansive. This was in contrast to Steph’s talk which was deliberately narrow and focused on one topic. Specifically, it was all about solarpunk.

I first heard of solarpunk from Justin Pickard back in 2014 at an event I was hosting. He described it as:

individuals and communities harnessing the power of the photovoltaic solar panel to achieve energy-independence.

The sci-fi subgenre of solarpunk, then, is about these communities. The subgenre sets up to be deliberately positive, even utopian, in contrast to most sci-fi.

Most genres ending with the -punk suffix are about aesthetics. You know the way that cyberpunk is laptops, leather and sunglasses, and steampunk is zeppelins and top hats with goggles. Solarpunk is supposedly free of any such “look.” That said, all the examples I’ve seen seem to converge on the motto of “put a tree on it.” If a depiction of the future looks lush, verdant, fecund and green, chances are it’s solarpunk.

At least, it might be solarpunk. It would have to pass the criteria laid down by the gatekeepers. Solarpunk is manifesto-driven sci-fi. I’m not sure how I feel about that. It’s one thing to apply a category to a piece of writing after it’s been written, but it’s another to start with an agenda-driven category and proceed from there. And as with any kind of classification system, the edges are bound to be fuzzy, leading to endless debates about what’s in and what’s out (see also: UX, UI, service design, content design, product design, front-end development, and most ironically of all, information architecture).

When I met up with Steph to discuss our talk topics and she described the various schools of thought that reside under the umbrella of solarpunk, it reminded me of my college days. You wouldn’t have just one Marxist student group, there’d be multiple Marxist student groups each with their own pillars of identity (Leninist, Trotskyist, anarcho-syndicalist, and so on). From the outside they all looked the same, but woe betide you if you mixed them up. It was exactly the kind of situation that was lampooned in Monty Python’s Life of Brian with its People’s Front of Judea and Judean People’s Front. Steph confirmed that those kind of rifts also exist in solarpunk. It’s just like that bit in Gulliver’s Travels where nations go to war over the correct way to crack an egg.

But there’s general agreement about what broadly constitutes solarpunk. It’s a form of cli-fi (climate fiction) but with an upbeat spin: positive but plausible stories of the future that might feature communities, rewilding, gardening, farming, energy independence, or decentralisation. Centralised authority—in the form of governments and corporations—is not to be trusted.

That’s all well and good but it reminds of another community. Libertarian preppers. Heck, even some of the solarpunk examples feature seasteading (but with more trees).

Politically, preppers and solarpunks couldn’t be further apart. Practically, they seem more similar than either of them would be comfortable with.

Both communities distrust centralisation. For the libertarians, this manifests in a hatred of taxation. For solarpunks, it’s all about getting off the electricity grid. But both want to start their own separate self-sustaining communities.

Independence. Decentralisation. Self-sufficiency.

There’s a fine line between Atlas Shrugged and The Whole Earth Catalog.

Eating jumbleberry jam on toast.

Saturday, July 17th, 2021

Barbecued pork ribs.

Barbecued pork ribs.

Friday, July 16th, 2021

Checked in at Hand in Hand. Craft beer — with Jessica map

Checked in at Hand in Hand. Craft beer — with Jessica

Checked in at Bison Beach Bar. Porterhouse! — with Jessica map

Checked in at Bison Beach Bar. Porterhouse! — with Jessica

Wednesday, July 14th, 2021

Session in the sunshine. 🎶☘️☀️

Session in the sunshine. 🎶☘️☀️

Checked in at Casa Azul Taqueria. Tacos — with Jessica map

Checked in at Casa Azul Taqueria. Tacos — with Jessica

Tuesday, July 13th, 2021

Snoozy like a fox. 🦊 💤

Snoozy like a fox. 🦊 💤

Monday, July 12th, 2021

Reading A Brilliant Void, A Selection of Classic Irish Science Fiction edited and introduced by Jack Fennell.

Buy this book

Friday, July 9th, 2021

Checked in at UnBarred Brewery. Craft beer — with Jessica map

Checked in at UnBarred Brewery. Craft beer — with Jessica

Bruce Lawson’s personal site  : prefers-reduced-motion and browser defaults

I think Bruce is onto something here:

It seems to me that browsers could do more to protect their users. Browsers are, after all, user agents that protect the visitor from pop-ups, malicious sites, autoplaying videos and other denizens of the underworld. They should also protect users against nausea and migraines, regardless of whether the developer thought to (or had the tools available to).

So, I propose that browsers should never respect scroll-behavior: smooth; if a user prefers reduced motion, regardless of whether a developer has set the media query.

Centuries of Sound

An audio mix for every year of recorded sound, 1859 to the present.

Currently up to 1936.

Goomics

These comics by a former Googler give a cumulative insight into the decaying culture there.

Wednesday, July 7th, 2021

Back to the Bad Old Days of the Web – Jorge Arango

We’ve enjoyed a relatively long period when we didn’t have to think about which browser to use. Alas, that period is ending: I must now keep Chrome running all the time, much like I needed that PC in the early 2000s.

Replying to a tweet from @antiquote

That would be the brilliant @dhuntrods talking about workplace topology:

https://clearleft.com/posts/workplace-topology

Tuesday, July 6th, 2021

Replying to a tweet from @drewm

— The next Bill’n’Ted movie is going to be set in Scandinavia.

— Norway?

— Yes, way!

CSS Anchored Positioning

An interesting proposal for defining how one element could be “anchored” to another, and how that positioning could be expressed declaratively instead of having to write a whole load of JavaScript. Melanie’s looking for use cases so share ‘em if you have ‘em.

Personally, I’m not convinced that a new element is needed but I’m open to the suggestion.

Replying to a tweet from @mmatuzo

I have a dedicated /notes section (just like I have a dedicated /links section) but on the homepage everything is in one stream.

(Except for replies—like this one—which don’t appear on the home page, just in /notes.)

Don’t Feed the Thought Leaders - Earthly Blog

A great tool is not a universal tool it’s a tool well suited to a specific problem.

The more universal a solution someone claims to have to whatever software engineering problem exists, and the more confident they are that it is a fully generalized solution, the more you should question them.

Cultivating a sense of the galactic centre (Interconnected)

I love the idea of cultivating a sixth sense for the location of Sagittarius A.

(I bet Matt would get a kick out of Charlotte’s magnet fingers too.)

Tabs in HTML?

I’ve been having some really interesting chats with Brian about tabs, markup, progressive enhancement and accessibility. Here’s a braindump of his current thinking which is well worth perusing.

Monday, July 5th, 2021

petite-vue - npm

An interesting alternative to using the full Vue library, courtesy of Vue’s creator:

petite-vue is an alternative distribution of Vue optimized for progressive enhancement. It provides the same template syntax and reactivity mental model with standard Vue. However, it is specifically optimized for “sprinkling” small amount of interactions on an existing HTML page rendered by a server framework.

Sunday, July 4th, 2021

Good morning. Thank you for coming. I’ll keep this brief.

The proof is not in the pudding. Rather, the proof of the pudding is in the eating.

I won’t be taking any questions at this time. Thank you.

Saturday, July 3rd, 2021

The Internet Is Rotting - The Atlantic

A terrific piece by Jonathan Zittrain on bitrot and online digital preservation:

Too much has been lost already. The glue that holds humanity’s knowledge together is coming undone.

Friday, July 2nd, 2021

Checked in at Pelicano. Flat white — with Jessica map

Checked in at Pelicano. Flat white — with Jessica

Checked in at O'Shio. Sashimi bibimbap — with Jessica map

Checked in at O’Shio. Sashimi bibimbap — with Jessica

Thursday, July 1st, 2021

Diana Ashktorab

This is my new favourite indie web site (super performant and responsive too).

Replying to a tweet from @diana_ashktorab

This is so good, Diana—the responsiveness is great!

And welcome to the indie web—having your own website is so much fun!

Hosting online events

Back in 2014 Vitaly asked me if I’d be the host for Smashing Conference in Freiburg. I jumped at the chance. I thought it would be an easy gig. All of the advantages of speaking at a conference without the troublesome need to actually give a talk.

As it turned out, it was quite a bit of work:

It wasn’t just a matter of introducing each speaker—there was also a little chat with each speaker after their talk, so I had to make sure I was paying close attention to each and every talk, thinking of potential questions and conversation points. After two days of that, I was a bit knackered.

Last month, I hosted an other event, but this time it was online: UX Fest. Doing the post-talk interviews was definitely a little weirder online. It’s not quite the same as literally sitting down with someone. But the online nature of the event did provide one big advantage…

To minimise technical hitches on the day, and to ensure that the talks were properly captioned, all the speakers recorded their talks ahead of time. That meant I had an opportunity to get a sneak peek at the talks and prepare questions accordingly.

UX Fest had a day of talks every Thursday in June. There were four talks per Thursday. I started prepping on the Monday.

First of all, I just watched all the talks and let them wash me over. At this point, I’d often think “I’m not sure if I can come up with any questions for this one!” but I’d let the talks sit there in my subsconscious for a while. This was also a time to let connections between talks bubble up.

Then on the Tuesday and Wednesday, I went through the talks more methodically, pausing the video every time I thought of a possible question. After a few rounds of this, I inevitably ended up with plenty of questions, some better than others. So I then re-ordered them in descending levels of quality. That way if I didn’t get to the questions at the bottom of the list, it was no great loss.

In theory, I might not get to any of my questions. That’s because attendees could also ask questions on the day via a chat window. I prioritised those questions over my own. Because it’s not about me.

On some days there was a good mix of audience questions and my own pre-prepared questions. On other days it was mostly my own questions.

Either way, it was important that I didn’t treat the interview like a laundry list of questions to get through. It was meant to be a conversation. So the answer to one question might touch on something that I had made a note of further down the list, in which case I’d run with that. Or the conversation might go in a really interesting direction completely unrelated to the questions or indeed the talk.

Above all, these segments needed to be engaging and entertaining in a personable way, more like a chat show than a post-game press conference. So even though I had done lots of prep for interviewing each speaker, I didn’t want to show my homework. I wanted each interview to feel like a natural flow.

To quote the old saw, this kind of spontaneity takes years of practice.

There was an added complication when two speakers shared an interview slot for a joint Q&A. Not only did I have to think of questions for each speaker, I also had to think of questions that would work for both speakers. And I had to keep track of how much time each person was speaking so that the chat wasn’t dominated by one person more than the other. This was very much like moderating a panel, something that I enjoy very much.

In the end, all of the prep paid off. The conversations flowed smoothly and I was happy with some of the more thought-provoking questions that I had researched ahead of time. The speakers seemed happy too.

Y’know, there are not many things I’m really good at. I’m a mediocre developer, and an even worse designer. I’m okay at writing. But I’m really good at public speaking. And I think I’m pretty darn good at this hosting lark too.

Niçoise. 🥗

Niçoise. 🥗