esoteric.codes
Languages, platforms, and systems that break from the norms of computing.
5th | 10th | 15th | 20th | 25th | 30th | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
12am | |||||||||||||||||||||||||||||||
4am | |||||||||||||||||||||||||||||||
8am | |||||||||||||||||||||||||||||||
12pm | |||||||||||||||||||||||||||||||
4pm | |||||||||||||||||||||||||||||||
8pm |
Languages, platforms, and systems that break from the norms of computing.
Most work is pretty mundane. Even work on meaningful things. The most profound stuff is built one mostly boring brick at a time. Even the most creative ideas, the best art, the breakthroughs have to be assembled, and assembly isn’t typically what fires people up.
You don’t get to the exhilarating end without going through the mundane middle. And the beginning and end are the shortest parts — the middle is most of it.
Many, if not all, of our world’s most wicked problems are rooted in the excessive hiding of complexity behind illusions of simplicity—the relentless shielding of messy details in favor of easy-to-use interfaces.
But there’s always a tradeoff between complexity, truth, and control. The more details are hidden, the harder it is to understand how the system actually works. (And the harder it is to control). The map becomes less and less representative of the territory. We often trade completeness and control for simplicity. We’d rather have a map that’s easy to navigate than a map that shows us every single detail about the territory. We’d rather have a simple user interface than an infinitely flexible one that exposes a bunch of switches and settings. We don’t want to have to think too hard. We just want to get where we’re going.
Seamful and seamless design are reframed here as ethical and deceptive design:
Ethical design is like a glove. It obscures the underlying structure (i.e. your hand) but preserves some truth about its shape and how it works. Deceptive design is like a mitten. It obscures the underlying structure and also hides a lot about its shape and how it works.
Six years old. Still very astute. Still very true.
I don’t think I agree with Don Knuth’s argument here from a 2014 lecture, but I do like how he sets out his table:
Why do I, as a scientist, get so much out of reading the history of science? Let me count the ways:
- To understand the process of discovery—not so much what was discovered, but how it was discovered.
- To understand the process of failure.
- To celebrate the contributions of many cultures.
- Telling historical stories is the best way to teach.
- To learn how to cope with life.
- To become more familiar with the world, and to know how science fits into the overall history of mankind.
Ainissa Ramirez recounts the story of the transatlantic telegraph cable, the Apollo project of its day.
Good to see Google, Mozilla, and Apple collaborating on fixing cross-browser CSS compatability issues:
You can track progress here.
Just over a year ago, I pondered some default browser behaviours and how they might be updated.
The first one is happening: Chrome is going to assume https
before checking for http
.
Now what about the other default behaviour that’s almost 15 years old now? When might a viewport width value of device-width
become the default?
Oh, this is smart! You can’t target pseudo-elements in JavaScript, but you can use custom properties as a proxy instead.
This is a great series of short videos all about content design. The one on writing for humans is particularly good.
The introduction to this critique of Keller Easterling’s Medium Design is all about seams:
Imagine the tech utopia of mainstream science fiction. The bustle of self-driving cars, helpful robot assistants, and holograms throughout the sparkling city square immediately marks this world apart from ours, but something else is different, something that can only be described in terms of ambiance. Everything is frictionless here: The streets are filled with commuters, as is the sky, but the vehicles attune their choreography to one another so precisely that there is never any traffic, only an endless smooth procession through space. The people radiate a sense of purpose; they are all on their way somewhere, or else, they have already arrived. There’s an overwhelming amount of activity on display at every corner, but it does not feel chaotic, because there is no visible strife or deprivation. We might appreciate its otherworldly beauty, but we need not question the underlying mechanics of this utopia — everything works because it was designed to work, and in this world, design governs the space we inhabit as surely and exactly as the laws of physics.
Black Mirror meets Henrietta Lacks in this short story by Erik Hoel who I had not heard of until today, when I came across his name here and also in a completely unrelated blog post by Peter Watts about the nature of dreams.
I’ll say again: deprioritizing AMP in favor of Core Web Vitals is a very good thing. But it’s worth noting that Google’s taken its proprietary document format, and swapped it out for a proprietary set of performance statistics that has even less external oversight.
Richard MacManus has started a blog all about the history of web development—this is going straight to my RSS reader!
Most internet history books, websites, podcasts, etc, are from a business perspective. What’s missing, I believe, is an internet history with a technical point of view: which products were developed, the technologies used, how the web has changed over time, developmental trends, and so on.
Simply put, I want to describe how the web actually works and how that has evolved over the past 25-30 years.
Google provided a distinct advantage to sites using AMP – priority placement on the world’s largest traffic source – Google search. I’ve had the pleasure of working with more than twenty thousand publishers in the five years since AMP’s launch, and I don’t believe I’ve ever heard a single reason that a publisher uses AMP other than to obtain this priority placement. Let me package that up for you – Google, the most dominant search engine globally – used that dominant market position to encourage publishers to adopt technology so that Google could store and serve publisher’s content on Google’s domain. How is that legal? Well, I’m not a lawyer, but it possibly isn’t.
The death of AMP can’t come soon enough.
If you’re currently using AMP, you’ll be able to get rid of that monstrosity in May, and if you aren’t, you’ll now be competing for search positions previously unavailable to you. For publishers, it is a win-win.
Given the widespread browser support for prefers-reduced-motion
now, this approach makes a lot of sense.
A good tutorial on making password fields accessible when you’ve got the option to show and hide the input.
Visualising the growth of the internet.
I love, love, love this experiment from Matt—messin’ around in websites!
Vitaly has rounded up a whole load of accessibility posts. I think I’ve linked to most of them at some point, but it’s great to have them all gathered together in one place.
This is very handy indeed! Quick one-line JavaScript helpers categorised by type.
And, no, you don’t need to npm install
any of these. Try “vendoring” them instead (that’s copying and pasting to you and me).
This is a balm!
Choose a city, choose a radio station, choose a mode of transport (I like walking) and enjoy exploring.
A slot machine for speculation. Enter a topic and get a near-future scenario on that topic generated automatically.
A profile of Brewster Kahle and the Internet Archive:
Tech’s walled gardens might make it harder to get a perfect picture, but the small team of librarians, digital archivists and software engineers at the Internet Archive plan to keep bringing the world the Wayback Machine, the Open Library, the Software Archive, etc., until the end of time. Literally.
Any time or effort spent getting your JavaScript working in IE11 is wasted time that could be better spent making a better experience for users without JavaScript.
I agree with this approach.
With a few minor omissions and links, you can create a site that works great in modern browsers with ES6+ and acceptably in browsers without JavaScript. This approach is more sustainable for teams without the resources for extensive QA, and more beneficial to users of nonstandard browsers. Trying to recreate functionality that already works in modern browsers in IE11 is thankless work that is doomed to neglect.
My current score is one minute and 18 seconds. Can you beat it?
What’s important is that you test it with real users… and stop using hover menus.
Strong agree!
I had this vision of the great bonfire at the end of time, and how there’s this conveyor belt moving towards it, filled with everything we’ve ever made: every word, every image, every artifact of culture and society, getting closer to the fire all the time.
And the job of places like the Library, of most institutions, and of a significant part of culture, is to keep shoving everything back, away from the fire, to find ways to restore and revive and convert it so that it stays accessible and meaningful and useful and beautiful.
And the job of the rest of the culture is to come up with new things to put on the conveyor belt, making that work so much harder. Sorry.
This is terrific! Jeremy shows how you can implement a fairly straightforward service worker for performance gains, but then really kicks it up a notch with a recipe for turning a regular website into a speedy single page app without framework bloat.
Type and space are linked, so if you’re going to have a fluid type calculator, it makes sense to have a fluid space calculator too. More great work from Trys and James!
Brian and Joschi are considering an interesting approach for their Material conference:
Maybe we should think about a “crop rotation” method for our event? One year in Iceland to help benefit the local community, then the following year move to Germany so it is easier for people to attend, then a third year of rest and change the format to a virtual or remote event. Then repeat on that three year cycle.
Robin makes a good point here about using dark mode thinking as a way to uncover any assumptions you might have unwittingly baked into your design:
Given its recent popularity, you might believe dark mode is a fad. But from a design perspective, dark mode is exceptionally useful. That’s because a big part of design is about building relationships between colors. And so implementing dark mode essentially forced everyone on the team to think long, hard, and consistently about our front-end design components. In short, dark mode helped our design system not only look good, but make sense.
So even if you don’t actually implement dark mode, acting as though it’s there will give you a solid base to build in.
I did something similar with the back end of Huffduffer and The Session—from day one, I built them as though the interface would be available in multiple languages. I never implemented multi-language support, but just the awareness of it saved me from baking in any shortcuts or assumptions, and enforced a good model/view/controller separation.
For most front-end codebases, the design of your color system shows you where your radioactive styles are. It shows you how things are tied together, and what depends on what.
I really like the approach that Carie takes here. Instead of pointing to specific patterns to use, she provides a framework for evaluating technology. Solutions come and go but this kind of critical thinking is a long-lasting skill.
I really enjoyed this 20 minute chat with Eric and Rachel all about web standards, browsers, HTML and CSS.
Based on the problems with accessiBe and its ilk, I have signed my name to this:
- We will never advocate, recommend, or integrate an overlay which deceptively markets itself as providing automated compliance with laws or standards.
- We will always advocate for the remediation of accessibility issues at the source of the original error.
- We will refuse to stay silent when overlay vendors use deception to market their products.
- More specifically, we hereby advocate for the removal of accessiBe, AudioEye, UserWay, User1st, MK-Sense, and all similar products and encourage the site owners who’ve implemented these products to use more robust, independent, and permanent strategies to making their sites more accessible.
A fascinating look at artificial life …for some definition of “life”.
This website is hosted across a network of solar powered servers and is sent to you from wherever there is the most sunshine.
I never knew that the way I add other people’s code to my projects is called “vendoring.” I thought it was just copying and pasting.
Developers, particularly in Silicon Valley firms, are definitionally wealthy and enfranchised by world-historical standards. Like upper classes of yore, comfort (“DX”) comes with courtiers happy to declare how important comfort must surely be. It’s bunk, or at least most of it is.
As frontenders, our task is to make services that work well for all, not just the wealthy. If improvements in our tools or our comfort actually deliver improvements in that direction, so much the better. But we must never forget that measurable improvement for users is the yardstick.
It’s official. The extremely niche browser behaviour I documented is a bug.
A wonderful look at the kind of links we didn’t get on the World Wide Web.
From the memex and Xanadu right up to web mentions, this ticks all my boxes!
(And can I just say, it’s so much fun to explore all of Maggie Appleton’s site …or should I say web garden.)
Useful FAQs.
Your grandmother is not just a starship, she’s a highly individual starship with her own goals and needs!
I need to seek out this documentary, Top Secret Rosies: The Female Computers of World War II.
It would pair nicely with another film, The Eniac Programmers Project
This could give a big boost to web performance!
This is a really interesting take on the intersection between accessibility and progressive enhancement (which I always felt was there, but this expresses it well):
Accessibility aims to optimize an experience across a spectrum of user capabilities. Progressive enhancement aims to optimize an experience across a spectrum of user agent capabilities.
Indeed, if you broaden the definition of “user agent” to include a user’s physiology, I think the concepts become nearly identical.
You don’t have to use web fonts—there are some pretty nice options if you stick to system fonts (like Georgia, Charter, and Palatino).
The Right Number is a gentle, noncommercial space where your only job is to be yourself. Upon dialing you’ll be connected to a voicemail box and given a brief prompt. You have three minutes to answer however you’d like.
Vasilis offers some research that counters this proposal.
It makes much more sense to start each page with the content people expect on that page. Right? And if you really need navigation (which is terribly overrated if you ask me) you can add it in the footer. Which is the correct place for metadata anyway.
That’s what I’ve done on The Session.
I like this proposal, and I like that it’s polyfillable (which is a perfectly cromulent word).
This is easily my favourite use of a machine learning algorithm.
I’m very taken with Github’s tab-container element—this is exactly how I think web components should be designed!
Expect more poignant one-year anniversary memories this March.
We reached our disembarkation stop and stepped off. I put my mask away. We hugged and said our goodbyes. Didn’t think it would be the last time I’d ride MUNI light rail. Or hug a friend without a second thought.
Privacy-invasive user tracking is to Google and Facebook what carbon emissions are to fossil fuel companies — a form of highly profitable pollution that for a very long time few people in the mainstream cared about, but now, seemingly suddenly, very many care about quite a bit.
Having only the content I want to see only be shown when I want to see it with the freedom to jump between readers as I please, all with no ads? For me, no other service comes close to the flexibility, robustness, and overall ease-of-use that RSS offers.
Today’s young tech policy professionals are are, quite rightfully, responding to the only internet in the only world they have ever known. The awful one. The one where the internet was and is a handful of billion-pound companies. The one where the internet has only ever been petrol on a fire. The one where the internet has been essential infrastructure like water and heat, not a thing you had to request and master. The closed internet made for them. Not the open internet I got to make.
So if you think that the biggest threat to encryption is elderly politicians who still need their secretaries to print out emails for them, it’s time you found yourself in a meeting with someone under the age of 30 who is going to war against encryption because he has never needed encryption in his life.
A very affecting short story by Ben. I look forward to reading more of these.
Violence is never the answer, unless you’re dealing with nazis or your inner critic.
The excuses—or, I’m sorry, reasons—I hear folks say they can’t write include: I’m not very good at writing (you can’t improve if you don’t write often), my website isn’t finished (classic, and also guilty so shut up), and I don’t know what to write about, there’s nothing new for me to add (oh boy).
Oh, nice! A version of the classic Proxima Nova that’s a variable font that allows you to vary weight, width, and slant.
This is handy—an up-to-date list of tests run on form fields with different combinations of screen readers and browsers.