og_image: str | og_image: str | ||||
description: str | description: str | ||||
favicon: str | favicon: str | ||||
language: str | |||||
@staticmethod | @staticmethod | ||||
def all(source_dir=CACHE_PATH): | def all(source_dir=CACHE_PATH): | ||||
og_image = metadata.get("og_image", [""])[0] | og_image = metadata.get("og_image", [""])[0] | ||||
description = metadata.get("description", [""])[0] | description = metadata.get("description", [""])[0] | ||||
favicon = metadata.get("favicon", [""])[0] | favicon = metadata.get("favicon", [""])[0] | ||||
language = metadata.get("language", [""])[0] | |||||
yield Cache( | yield Cache( | ||||
title, | title, | ||||
content, | content, | ||||
og_image, | og_image, | ||||
description, | description, | ||||
favicon, | favicon, | ||||
language, | |||||
) | ) | ||||
@staticmethod | @staticmethod | ||||
og_image, | og_image, | ||||
description, | description, | ||||
favicon, | favicon, | ||||
language, | |||||
): | ): | ||||
template = environment.get_template("cache_article.md") | template = environment.get_template("cache_article.md") | ||||
page = template.render( | page = template.render( | ||||
og_image=og_image, | og_image=og_image, | ||||
description=description, | description=description, | ||||
favicon=favicon, | favicon=favicon, | ||||
language=language, | |||||
) | ) | ||||
result_path = os.path.join(cache_path, "index.md") | result_path = os.path.join(cache_path, "index.md") | ||||
open(result_path, "w").write(page) | open(result_path, "w").write(page) | ||||
print(f"Done: {LOCAL_DOMAIN}/david/cache/{YEAR}/") | print(f"Done: {LOCAL_DOMAIN}/david/cache/{YEAR}/") | ||||
def fetch_metadata(title, url, description): | |||||
def fetch_metadata(title, url, description, language): | |||||
"""Fetch additional metadata.""" | """Fetch additional metadata.""" | ||||
parsed_url = urlparse(url) | parsed_url = urlparse(url) | ||||
root_url = f"{parsed_url.scheme}://{parsed_url.netloc}/" | root_url = f"{parsed_url.scheme}://{parsed_url.netloc}/" | ||||
if data.get("title") != title: | if data.get("title") != title: | ||||
print(data.get("title"), "vs.", title, url) | print(data.get("title"), "vs.", title, url) | ||||
description = description or data.get("description", "") | description = description or data.get("description", "") | ||||
return og_image, description, favicon | |||||
language = language or data.get("locale", "") | |||||
return og_image, description, favicon, language | |||||
@cli | @cli | ||||
if cache.url.startswith("https://tw5.immateriel.fr"): | if cache.url.startswith("https://tw5.immateriel.fr"): | ||||
print("Skipping (too long)", cache.url) | print("Skipping (too long)", cache.url) | ||||
continue | continue | ||||
if cache.og_image and cache.description and cache.favicon: | |||||
if cache.og_image and cache.description and cache.favicon and cache.language: | |||||
print("Skipping (all good)", cache.url) | print("Skipping (all good)", cache.url) | ||||
continue | continue | ||||
if cache.url.startswith( | if cache.url.startswith( | ||||
"https://www.danmcquillan.org", | "https://www.danmcquillan.org", | ||||
"https://public-inbox.org", | "https://public-inbox.org", | ||||
) | ) | ||||
) and (cache.og_image or cache.description or cache.favicon): | |||||
) and (cache.og_image or cache.description or cache.favicon or cache.language): | |||||
print("Skipping (known missing infos)", cache.url) | print("Skipping (known missing infos)", cache.url) | ||||
continue | continue | ||||
print("Fetching metadata for", cache.url, cache.title) | print("Fetching metadata for", cache.url, cache.title) | ||||
og_image, description, favicon = fetch_metadata( | |||||
cache.title, cache.url, cache.description | |||||
og_image, description, favicon, language = fetch_metadata( | |||||
cache.title, cache.url, cache.description, cache.language | |||||
) | ) | ||||
save( | save( | ||||
cache.title, | cache.title, | ||||
og_image, | og_image, | ||||
description, | description, | ||||
favicon, | favicon, | ||||
language, | |||||
) | ) | ||||
os.makedirs(cache_path) | os.makedirs(cache_path) | ||||
archive_date = date.today() | archive_date = date.today() | ||||
# Caching a markdown file. | # Caching a markdown file. | ||||
og_image, description, favicon = fetch_metadata(title, url, "") | |||||
og_image, description, favicon, language = fetch_metadata(title, url, "", "") | |||||
result_path = save( | result_path = save( | ||||
title, | title, | ||||
content, | content, | ||||
og_image, | og_image, | ||||
description, | description, | ||||
favicon, | favicon, | ||||
language, | |||||
) | ) | ||||
# Generating the HTML file. | # Generating the HTML file. | ||||
create(hash_url) | create(hash_url) |
og_image: https://infrequently.org/2024/01/performance-inequality-gap-2024/single_core_scores.png | og_image: https://infrequently.org/2024/01/performance-inequality-gap-2024/single_core_scores.png | ||||
description: How much HTML, CSS, and JavaScript can we afford? More than in years past, but much less than frontend developers are burdening users with. | description: How much HTML, CSS, and JavaScript can we afford? More than in years past, but much less than frontend developers are burdening users with. | ||||
favicon: https://infrequently.org/assets/images/favicons/ino-dark-opt-192x192.png | favicon: https://infrequently.org/assets/images/favicons/ino-dark-opt-192x192.png | ||||
language: en_US | |||||
<p>It's time once again to update our priors regarding the global device and network situation. What's changed since last year? And how much more HTML, CSS, and (particularly) JavaScript can a new project afford?</p> | <p>It's time once again to update our priors regarding the global device and network situation. What's changed since last year? And how much more HTML, CSS, and (particularly) JavaScript can a new project afford?</p> | ||||
<p></p> | <p></p> |
og_image: https://blog.professeurjoachim.com/media/pages/billet/ma-page-now-ou-plutot-en-ce-moment/4217ba82c9-1705597826/ogimage.png | og_image: https://blog.professeurjoachim.com/media/pages/billet/ma-page-now-ou-plutot-en-ce-moment/4217ba82c9-1705597826/ogimage.png | ||||
description: La page /now a été proposée par Derek Sivers pour spécifier de manière très flexible un format de page web sur laquelle on peut en apprendre plus sur … | description: La page /now a été proposée par Derek Sivers pour spécifier de manière très flexible un format de page web sur laquelle on peut en apprendre plus sur … | ||||
favicon: data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22 filter=%22hue-rotate(82deg)%22>🌿</text></svg> | favicon: data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22 filter=%22hue-rotate(82deg)%22>🌿</text></svg> | ||||
language: fr_FR | |||||
<div class="big"><p>Si tu suis mon blog via RSS, déjà le flux est réparé (youpi), mais surtout tu as dû voir arriver une nouvelle page : “En ce moment”. Quès aco ?</p></div> | <div class="big"><p>Si tu suis mon blog via RSS, déjà le flux est réparé (youpi), mais surtout tu as dû voir arriver une nouvelle page : “En ce moment”. Quès aco ?</p></div> | ||||
og_image: https://thom4.net/images/thomas-parisot.jpg | og_image: https://thom4.net/images/thomas-parisot.jpg | ||||
description: J’aurais pu m’en rendre compte il y a vingt ans, mais il me manquait le recul de deux décennies. | description: J’aurais pu m’en rendre compte il y a vingt ans, mais il me manquait le recul de deux décennies. | ||||
favicon: https://thom4.net/assets/favicon-32x32.png | favicon: https://thom4.net/assets/favicon-32x32.png | ||||
language: fr_FR | |||||
<p>J’aurais pu m’en rendre compte il y a vingt ans,<br> | <p>J’aurais pu m’en rendre compte il y a vingt ans,<br> | ||||
mais il me manquait le recul de deux décennies.</p> | mais il me manquait le recul de deux décennies.</p> |
og_image: | og_image: | ||||
description: Quand vous serez bien vieille, au soir, à la chandelle, Assise auprès du feu, dévidant et filant, Pierre de Ronsard | description: Quand vous serez bien vieille, au soir, à la chandelle, Assise auprès du feu, dévidant et filant, Pierre de Ronsard | ||||
favicon: | favicon: | ||||
language: fr_FR | |||||
<blockquote class="wp-block-quote"><p>Quand vous serez bien vieille, au soir, à la chandelle,<br>Assise auprès du feu, dévidant et filant,</p><cite>Pierre de Ronsard</cite></blockquote> | <blockquote class="wp-block-quote"><p>Quand vous serez bien vieille, au soir, à la chandelle,<br>Assise auprès du feu, dévidant et filant,</p><cite>Pierre de Ronsard</cite></blockquote> | ||||
og_image: https://iapop.com/wp-content/uploads/2018/03/iapop_world_icon-blue-150px-tiny.png | og_image: https://iapop.com/wp-content/uploads/2018/03/iapop_world_icon-blue-150px-tiny.png | ||||
description: Definition of Deep Democracy The concept of Deep Democracy was developed by Arnold Mindell. It is defined as an attitude and a principle. Attitude: Deep Democracy is an attitude that […] | description: Definition of Deep Democracy The concept of Deep Democracy was developed by Arnold Mindell. It is defined as an attitude and a principle. Attitude: Deep Democracy is an attitude that […] | ||||
favicon: https://iapop.com/wp-content/uploads/2018/03/iapop_world_icon-blue-150px-tiny.png | favicon: https://iapop.com/wp-content/uploads/2018/03/iapop_world_icon-blue-150px-tiny.png | ||||
language: en_US | |||||
<h3>Definition of Deep Democracy</h3> | <h3>Definition of Deep Democracy</h3> | ||||
<p>The concept of Deep Democracy was developed by Arnold Mindell. It is defined as an attitude and a principle.</p> | <p>The concept of Deep Democracy was developed by Arnold Mindell. It is defined as an attitude and a principle.</p> |
og_image: https://blog.jim-nielsen.com/assets/img/twitter-card.png | og_image: https://blog.jim-nielsen.com/assets/img/twitter-card.png | ||||
description: Writing about the big beautiful mess that is making things for the world wide web. | description: Writing about the big beautiful mess that is making things for the world wide web. | ||||
favicon: https://blog.jim-nielsen.com/favicon.ico | favicon: https://blog.jim-nielsen.com/favicon.ico | ||||
language: en_US | |||||
<p class="image-container"><img src="https://cdn.jim-nielsen.com/blog/2023/mcdonalds-tech.jpg" alt="Patent-application-like drawing with a person on a sofa looking at a TV with a hamburger on it and a caption bubble that says, “Say 'McDonalds' to end commercial”"> | <p class="image-container"><img src="https://cdn.jim-nielsen.com/blog/2023/mcdonalds-tech.jpg" alt="Patent-application-like drawing with a person on a sofa looking at a TV with a hamburger on it and a caption bubble that says, “Say 'McDonalds' to end commercial”"> | ||||
og_image: https://www.la-grange.net/2024/01/23/3152-ciel.jpg | og_image: https://www.la-grange.net/2024/01/23/3152-ciel.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2024/01/23/3152-ciel.jpg" alt="Ciel nuageux au dessus de maisons. On ne voit que le premier étage des maisons."> | <img src="https://www.la-grange.net/2024/01/23/3152-ciel.jpg" alt="Ciel nuageux au dessus de maisons. On ne voit que le premier étage des maisons."> |
og_image: https://brr.fyi/media/redeployment-part-two/redeployment-part-two-icon.jpg | og_image: https://brr.fyi/media/redeployment-part-two/redeployment-part-two-icon.jpg | ||||
description: First flight to the South Pole after a long, isolated winter. Winterover staff handing over their work and preparing to depart. | description: First flight to the South Pole after a long, isolated winter. Winterover staff handing over their work and preparing to depart. | ||||
favicon: https://brr.fyi/favicon-32x32.png | favicon: https://brr.fyi/favicon-32x32.png | ||||
language: en_US | |||||
<p><em>This is part two of a multi-part series. Check out | <p><em>This is part two of a multi-part series. Check out | ||||
<a href="https://brr.fyi/posts/redeployment-part-one">part one</a> if you haven’t already, then check out | <a href="https://brr.fyi/posts/redeployment-part-one">part one</a> if you haven’t already, then check out |
og_image: https://ia.net/wp-content/uploads/2023/11/keep-it-real-writing-with-AI-1024x475.png | og_image: https://ia.net/wp-content/uploads/2023/11/keep-it-real-writing-with-AI-1024x475.png | ||||
description: When ChatGPT came out one year ago, we wanted to know whether and how it could be used for writing. We put it to the test. | description: When ChatGPT came out one year ago, we wanted to know whether and how it could be used for writing. We put it to the test. | ||||
favicon: https://ia.net/wp-content/themes/iA-library/assets/hotlink-ok/favicon-192x192.png | favicon: https://ia.net/wp-content/themes/iA-library/assets/hotlink-ok/favicon-192x192.png | ||||
language: en_US | |||||
<p>When ChatGPT came out one year ago, we wanted to know whether and how it could be used for writing. We put it to the test and came up with a careful answer.</p> | <p>When ChatGPT came out one year ago, we wanted to know whether and how it could be used for writing. We put it to the test and came up with a careful answer.</p> | ||||
<p>This article is part two of a series about the <a href="https://ia.net/topics/no-feature">history</a>, reason, and the <a href="https://ia.net/topics/ia-writer-7">design</a> of iA Writer 7, our cautious response to AI. In this article, we answer the following five questions:</p> | <p>This article is part two of a series about the <a href="https://ia.net/topics/no-feature">history</a>, reason, and the <a href="https://ia.net/topics/ia-writer-7">design</a> of iA Writer 7, our cautious response to AI. In this article, we answer the following five questions:</p> |
hash_url: 30b40ff8034212e070dc7daf2b9406e9 | hash_url: 30b40ff8034212e070dc7daf2b9406e9 | ||||
archive_date: 2024-01-19 | archive_date: 2024-01-19 | ||||
og_image: | og_image: | ||||
description: | |||||
description: public-inbox implements the sharing of an email inbox via git to complement or replace traditional mailing lists. Readers may read via NNTP, IMAP, POP3, Atom feeds or HTML archives. | |||||
favicon: https://public-inbox.org/favicon.ico | favicon: https://public-inbox.org/favicon.ico | ||||
language: en_US | |||||
<pre>public-inbox - an "archives first" approach to mailing lists | <pre>public-inbox - an "archives first" approach to mailing lists | ||||
------------------------------------------------------------ | ------------------------------------------------------------ | ||||
Corresponding Source for a non-source form of such a combination | Corresponding Source for a non-source form of such a combination | ||||
shall include the source code for the parts of OpenSSL used as well | shall include the source code for the parts of OpenSSL used as well | ||||
as that of the covered work. | as that of the covered work. | ||||
</pre> | |||||
</pre> |
og_image: | og_image: | ||||
description: Je découvre (très) tardivement ce _mantra_, ou plutôt ce positionnement récursif et infini : les pratiques modèlent les outils qui modèlent les pratiques etc. | description: Je découvre (très) tardivement ce _mantra_, ou plutôt ce positionnement récursif et infini : les pratiques modèlent les outils qui modèlent les pratiques etc. | ||||
favicon: | favicon: | ||||
language: fr_FR | |||||
<blockquote> | <blockquote> | ||||
<p>When i first saw it, i felt it so nicely expressed something that had been deep in my heart. I continue to unfold its many meanings: both broader and more specific than F/LOSS culture.<br> | <p>When i first saw it, i felt it so nicely expressed something that had been deep in my heart. I continue to unfold its many meanings: both broader and more specific than F/LOSS culture.<br> |
og_image: https://cdn.vox-cdn.com/thumbor/rI0hi-8y0YsMgQMRiktUVnB_dqY=/204x320:2796x1681/fit-in/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/25205711/236934_The_Perfect_Webpage_Google_SEO.jpg | og_image: https://cdn.vox-cdn.com/thumbor/rI0hi-8y0YsMgQMRiktUVnB_dqY=/204x320:2796x1681/fit-in/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/25205711/236934_The_Perfect_Webpage_Google_SEO.jpg | ||||
description: How the internet reshaped itself around Google’s search algorithms — and into a world where websites look the same. | description: How the internet reshaped itself around Google’s search algorithms — and into a world where websites look the same. | ||||
favicon: https://cdn.vox-cdn.com/uploads/chorus_asset/file/23989695/favicon_32x32.png | favicon: https://cdn.vox-cdn.com/uploads/chorus_asset/file/23989695/favicon_32x32.png | ||||
language: en_US | |||||
<div class="text-block "> | <div class="text-block "> | ||||
<p>As the 14th season of Bravo’s <em>Real Housewives of New York City </em>came to a close this fall, I found myself on Reddit, reading rumors about the marriage and divorce timeline of one of the show’s stars. Redditors wanted more clues about a fishy relationship history to see if they could uncover a cheating scandal.</p> | <p>As the 14th season of Bravo’s <em>Real Housewives of New York City </em>came to a close this fall, I found myself on Reddit, reading rumors about the marriage and divorce timeline of one of the show’s stars. Redditors wanted more clues about a fishy relationship history to see if they could uncover a cheating scandal.</p> | ||||
<p>It’s all but certain that a new era of content relentlessly optimized for AI search engines is bound to result in the same kinds of problems we have today. And with that realization, there is a chance at another way forward, without the almost religious dependence on Google; searching and creating for a vacillating overlord feels increasingly futile. And when the creators and searchers leave the web for good, Google will have nobody to blame but itself.</p> | <p>It’s all but certain that a new era of content relentlessly optimized for AI search engines is bound to result in the same kinds of problems we have today. And with that realization, there is a chance at another way forward, without the almost religious dependence on Google; searching and creating for a vacillating overlord feels increasingly futile. And when the creators and searchers leave the web for good, Google will have nobody to blame but itself.</p> | ||||
</div> | |||||
</div> |
og_image: | og_image: | ||||
description: Update 9th January 2024: This post was clumsily written and failed to make the point I wanted it to make. I’ve published a follow-up, What I should have said about … | description: Update 9th January 2024: This post was clumsily written and failed to make the point I wanted it to make. I’ve published a follow-up, What I should have said about … | ||||
favicon: https://simonwillison.net/favicon.ico | favicon: https://simonwillison.net/favicon.ico | ||||
language: en_GB | |||||
<p><em><strong>Update 9th January 2024</strong>: This post was clumsily written and failed to make the point I wanted it to make. I’ve published a follow-up, <a href="https://simonwillison.net/2024/Jan/9/what-i-should-have-said-about-ai/">What I should have said about the term Artificial Intelligence</a> which you should read instead.</em></p> | <p><em><strong>Update 9th January 2024</strong>: This post was clumsily written and failed to make the point I wanted it to make. I’ve published a follow-up, <a href="https://simonwillison.net/2024/Jan/9/what-i-should-have-said-about-ai/">What I should have said about the term Artificial Intelligence</a> which you should read instead.</em></p> | ||||
<p><em>My original post follows.</em></p> | <p><em>My original post follows.</em></p> |
og_image: https://gericci.me/img/touch-icon-iphone-retina.png | og_image: https://gericci.me/img/touch-icon-iphone-retina.png | ||||
description: Clues to Fix the Front Web | description: Clues to Fix the Front Web | ||||
favicon: https://gericci.me/img/favicon.png | favicon: https://gericci.me/img/favicon.png | ||||
language: en_US | |||||
<p>In the previous articles of this series, we have seen | <p>In the previous articles of this series, we have seen | ||||
<a href="we-need-to-talk-about-the-front-web-2.html"> | <a href="we-need-to-talk-about-the-front-web-2.html"> |
og_image: https://cdn.sanity.io/images/cgdhsj6q/production/558608ba2958fabcc2578bbceb58f5061460fb32-1024x1024.png?w=1000&fit=max&auto=format | og_image: https://cdn.sanity.io/images/cgdhsj6q/production/558608ba2958fabcc2578bbceb58f5061460fb32-1024x1024.png?w=1000&fit=max&auto=format | ||||
description: An NPM user named PatrickJS launched a troll campaign with a package called "everything," which depends on all public npm packages. | description: An NPM user named PatrickJS launched a troll campaign with a package called "everything," which depends on all public npm packages. | ||||
favicon: https://socket.dev/favicon-32x32.png | favicon: https://socket.dev/favicon-32x32.png | ||||
language: en_US | |||||
<p>Happy 2024, folks! Just when we thought we'd seen it all, an npm user named PatrickJS, aka <a class="chakra-link css-pmuo56" href="https://socket.dev/npm/user/gdi2290">gdi2290</a>, threw us a curveball. He (<a target="_blank" rel="noopener noreferrer" class="chakra-link css-pmuo56" href="https://uncenter.dev/posts/npm-install-everything/">along with a group of contributors</a>) kicked off the year with a bang, launching a troll campaign that uploaded an npm package aptly named <a class="chakra-link css-pmuo56" href="https://socket.dev/npm/package/everything"><code>everything</code></a>. This package, true to its name, depends on every other public npm package, creating millions of transitive dependencies.</p> | <p>Happy 2024, folks! Just when we thought we'd seen it all, an npm user named PatrickJS, aka <a class="chakra-link css-pmuo56" href="https://socket.dev/npm/user/gdi2290">gdi2290</a>, threw us a curveball. He (<a target="_blank" rel="noopener noreferrer" class="chakra-link css-pmuo56" href="https://uncenter.dev/posts/npm-install-everything/">along with a group of contributors</a>) kicked off the year with a bang, launching a troll campaign that uploaded an npm package aptly named <a class="chakra-link css-pmuo56" href="https://socket.dev/npm/package/everything"><code>everything</code></a>. This package, true to its name, depends on every other public npm package, creating millions of transitive dependencies.</p> | ||||
<h3>The Chaos Unleashed</h3> | <h3>The Chaos Unleashed</h3> |
og_image: https://blog.jim-nielsen.com/assets/img/twitter-card.png | og_image: https://blog.jim-nielsen.com/assets/img/twitter-card.png | ||||
description: Writing about the big beautiful mess that is making things for the world wide web. | description: Writing about the big beautiful mess that is making things for the world wide web. | ||||
favicon: https://blog.jim-nielsen.com/favicon.ico | favicon: https://blog.jim-nielsen.com/favicon.ico | ||||
language: en_US | |||||
<p>Here’s a thought: blogging is like composting.</p> | <p>Here’s a thought: blogging is like composting.</p> | ||||
<p>The banana is what you’re after.</p> | <p>The banana is what you’re after.</p> |
og_image: | og_image: | ||||
description: Le terme fabrique définit une approche spécifique dans la création et dans la production d’artefact, y compris dans le domaine de l’édition. | description: Le terme fabrique définit une approche spécifique dans la création et dans la production d’artefact, y compris dans le domaine de l’édition. | ||||
favicon: | favicon: | ||||
language: fr_FR | |||||
<p>Le terme <em>fabrique</em> définit une approche spécifique dans la création et dans la production d’artefact, y compris dans le domaine de l’édition. | <p>Le terme <em>fabrique</em> définit une approche spécifique dans la création et dans la production d’artefact, y compris dans le domaine de l’édition. | ||||
Pour débuter un échange <em>épistolaire</em>, par carnets <a href="https://blank.blue/fabrique/la-fabrique-a-faire/">interposés</a>, je me lance enfin dans la définition de ce concept. | Pour débuter un échange <em>épistolaire</em>, par carnets <a href="https://blank.blue/fabrique/la-fabrique-a-faire/">interposés</a>, je me lance enfin dans la définition de ce concept. |
og_image: | og_image: | ||||
description: We realize then that it is just the patterns of events in space which are repeating in the building or the town: and nothing else. | description: We realize then that it is just the patterns of events in space which are repeating in the building or the town: and nothing else. | ||||
favicon: | favicon: | ||||
language: en_US | |||||
<blockquote> | <blockquote> | ||||
<p> | <p> |
og_image: https://cdn.vox-cdn.com/thumbor/hq4l4HE5pl-5pmUyCbTfyveLxZs=/0x0:2050x1274/1200x628/filters:focal(1025x637:1026x638)/cdn.vox-cdn.com/uploads/chorus_asset/file/25127879/Coates_bridal_pic.png | og_image: https://cdn.vox-cdn.com/thumbor/hq4l4HE5pl-5pmUyCbTfyveLxZs=/0x0:2050x1274/1200x628/filters:focal(1025x637:1026x638)/cdn.vox-cdn.com/uploads/chorus_asset/file/25127879/Coates_bridal_pic.png | ||||
description: Tessa Coates’ picture of one moment showing her in three different poses isn’t an iPhone Live Photo glitch or Photoshop; it’s multiple pictures stitched in “pano” mode. | description: Tessa Coates’ picture of one moment showing her in three different poses isn’t an iPhone Live Photo glitch or Photoshop; it’s multiple pictures stitched in “pano” mode. | ||||
favicon: https://www.theverge.com/icons/favicon_32x32.png | favicon: https://www.theverge.com/icons/favicon_32x32.png | ||||
language: en_US | |||||
<div class="duet--article--article-body-component"><p class="duet--article--dangerously-set-cms-markup duet--article--standard-paragraph mb-20 font-fkroman text-18 leading-160 -tracking-1 selection:bg-franklin-20 dark:text-white dark:selection:bg-blurple [&_a:hover]:shadow-highlight-franklin dark:[&_a:hover]:shadow-highlight-blurple [&_a]:shadow-underline-black dark:[&_a]:shadow-underline-white">Depending on how “online” you are, you may have seen a picture floating around socials with a strange quirk: a woman — comedian Tessa Coates — is standing in front of two mirrors in a bridal gown and, somehow, <a href="https://www.instagram.com/p/CzPGNmJIebC/">holding three poses at once</a>. Coates insisted in her Instagram post that the picture wasn’t altered; it just came out that way.</p></div> | <div class="duet--article--article-body-component"><p class="duet--article--dangerously-set-cms-markup duet--article--standard-paragraph mb-20 font-fkroman text-18 leading-160 -tracking-1 selection:bg-franklin-20 dark:text-white dark:selection:bg-blurple [&_a:hover]:shadow-highlight-franklin dark:[&_a:hover]:shadow-highlight-blurple [&_a]:shadow-underline-black dark:[&_a]:shadow-underline-white">Depending on how “online” you are, you may have seen a picture floating around socials with a strange quirk: a woman — comedian Tessa Coates — is standing in front of two mirrors in a bridal gown and, somehow, <a href="https://www.instagram.com/p/CzPGNmJIebC/">holding three poses at once</a>. Coates insisted in her Instagram post that the picture wasn’t altered; it just came out that way.</p></div> | ||||
<div class="duet--article--article-body-component"><p class="duet--article--dangerously-set-cms-markup duet--article--standard-paragraph mb-20 font-fkroman text-18 leading-160 -tracking-1 selection:bg-franklin-20 dark:text-white dark:selection:bg-blurple [&_a:hover]:shadow-highlight-franklin dark:[&_a:hover]:shadow-highlight-blurple [&_a]:shadow-underline-black dark:[&_a]:shadow-underline-white">So what happened? Was it a glitched iOS Live Photo (the iOS feature that takes short videos and picks out the best one)? A faked image manipulated with Photoshop? A brief glimpse into three different, parallel realities? </p></div> | <div class="duet--article--article-body-component"><p class="duet--article--dangerously-set-cms-markup duet--article--standard-paragraph mb-20 font-fkroman text-18 leading-160 -tracking-1 selection:bg-franklin-20 dark:text-white dark:selection:bg-blurple [&_a:hover]:shadow-highlight-franklin dark:[&_a:hover]:shadow-highlight-blurple [&_a]:shadow-underline-black dark:[&_a]:shadow-underline-white">So what happened? Was it a glitched iOS Live Photo (the iOS feature that takes short videos and picks out the best one)? A faked image manipulated with Photoshop? A brief glimpse into three different, parallel realities? </p></div> |
og_image: https://xn--dtour-bsa.studio/weeknotes/images/2023/12/vercors-pre-peret.jpg | og_image: https://xn--dtour-bsa.studio/weeknotes/images/2023/12/vercors-pre-peret.jpg | ||||
description: Quatre années se sont écoulées depuis la première note hebdomadaire. 2024 est une année de dépassement : celle de ma plus longue activité professionnelle depuis que j’ai commencé à travailler en 2004. 20 ans. Bientôt la moitié de ma vie. | description: Quatre années se sont écoulées depuis la première note hebdomadaire. 2024 est une année de dépassement : celle de ma plus longue activité professionnelle depuis que j’ai commencé à travailler en 2004. 20 ans. Bientôt la moitié de ma vie. | ||||
favicon: https://thom4.net/assets/favicon-32x32.png | favicon: https://thom4.net/assets/favicon-32x32.png | ||||
language: fr_FR | |||||
<p>Quatre années se sont écoulées depuis <a href="https://détour.studio/weeknotes/1/">la première note hebdomadaire</a>. 2024 est une année de <em>dépassement</em> : celle de ma plus longue activité professionnelle depuis que j’ai commencé à travailler en 2004. 20 ans. Bientôt la moitié de ma vie.</p> | <p>Quatre années se sont écoulées depuis <a href="https://détour.studio/weeknotes/1/">la première note hebdomadaire</a>. 2024 est une année de <em>dépassement</em> : celle de ma plus longue activité professionnelle depuis que j’ai commencé à travailler en 2004. 20 ans. Bientôt la moitié de ma vie.</p> | ||||
<p>J’ai demandé à <a href="https://fr.linkedin.com/in/marie-michel-b7758520">Marie Michel</a> ce qu’elle aurait aimé apprendre de mon activité en 2023. Un regard posé à la fois en rétrospective et en perspectives.</p> | <p>J’ai demandé à <a href="https://fr.linkedin.com/in/marie-michel-b7758520">Marie Michel</a> ce qu’elle aurait aimé apprendre de mon activité en 2023. Un regard posé à la fois en rétrospective et en perspectives.</p> |
og_image: | og_image: | ||||
description: A post from Jason Velazquez called “Where have all the websites gone?” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos. | description: A post from Jason Velazquez called “Where have all the websites gone?” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos. | ||||
favicon: https://daverupert.com/favicon.ico | favicon: https://daverupert.com/favicon.ico | ||||
language: en_US | |||||
<p>A post from Jason Velazquez called “<a href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/">Where have all the websites gone?</a>” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos.</p> | <p>A post from Jason Velazquez called “<a href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/">Where have all the websites gone?</a>” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos.</p> | ||||
<p>The question reminded me of a song by Pete Seeger called “<em>Where have all the flowers gone?</em>” In the song Pete wonders aloud about the flowers now missing from the field…</p> | <p>The question reminded me of a song by Pete Seeger called “<em>Where have all the flowers gone?</em>” In the song Pete wonders aloud about the flowers now missing from the field…</p> |
og_image: https://www.la-grange.net/2024/01/20/3134-carnets.jpg | og_image: https://www.la-grange.net/2024/01/20/3134-carnets.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2024/01/20/3134-carnets.jpg" alt="Carnets de notes en archéologie écrit en japonais avec des dessins."> | <img src="https://www.la-grange.net/2024/01/20/3134-carnets.jpg" alt="Carnets de notes en archéologie écrit en japonais avec des dessins."> |
og_image: https://frantic.im/figma/og_opening_mail.png | og_image: https://frantic.im/figma/og_opening_mail.png | ||||
description: First make the change easy, then make the easy change. | description: First make the change easy, then make the easy change. | ||||
favicon: https://frantic.im/favicon.png | favicon: https://frantic.im/favicon.png | ||||
language: en_US | |||||
<p>I never liked opening envelopes; they’re tricky and ripping them open is annoying. My letters would get stuck or tear with the envelope.</p> | <p>I never liked opening envelopes; they’re tricky and ripping them open is annoying. My letters would get stuck or tear with the envelope.</p> | ||||
<p>The mail just used to stack up, and I’d miss important stuff because of it.</p> | <p>The mail just used to stack up, and I’d miss important stuff because of it.</p> |
og_image: https://www.baldurbjarnason.com/favicon-96x96.png | og_image: https://www.baldurbjarnason.com/favicon-96x96.png | ||||
description: This is a part of a series where I review the work I’ve done over the past couple of years. | description: This is a part of a series where I review the work I’ve done over the past couple of years. | ||||
favicon: https://www.baldurbjarnason.com/dark-bird.svg | favicon: https://www.baldurbjarnason.com/dark-bird.svg | ||||
language: en_US | |||||
<p>It’s inevitable that once you decide to review your own business and media strategy, you start to rethink and review other decisions you’ve made in the past.</p> | <p>It’s inevitable that once you decide to review your own business and media strategy, you start to rethink and review other decisions you’ve made in the past.</p> | ||||
<p>One of those decisions is <a href="https://deno.com/">Deno</a>, which I’ve used to most of my personal projects and experiments over the past couple of years. Most of these projects have been on the simpler side – command-line scripts or small websites. I made the <a href="https://softwarecrisis.dev/">softwarecrisis.dev</a> newsletter landing page using <a href="https://lume.land/">Lume and Deno</a>, for example. I used Deno to make most of the prototypes for the research project that followed <a href="https://www.colophon.cards/">Colophon Cards</a>. It’s very useful.</p> | <p>One of those decisions is <a href="https://deno.com/">Deno</a>, which I’ve used to most of my personal projects and experiments over the past couple of years. Most of these projects have been on the simpler side – command-line scripts or small websites. I made the <a href="https://softwarecrisis.dev/">softwarecrisis.dev</a> newsletter landing page using <a href="https://lume.land/">Lume and Deno</a>, for example. I used Deno to make most of the prototypes for the research project that followed <a href="https://www.colophon.cards/">Colophon Cards</a>. It’s very useful.</p> |
og_image: https://lobsoco.com/wp-content/uploads/2022/03/Utopies-Vague-3.jpg | og_image: https://lobsoco.com/wp-content/uploads/2022/03/Utopies-Vague-3.jpg | ||||
description: Avec le soutien de nos partenaires Accédez ci-dessous aux principaux enseignements (classés par thématiques) de l’Observatoire. | description: Avec le soutien de nos partenaires Accédez ci-dessous aux principaux enseignements (classés par thématiques) de l’Observatoire. | ||||
favicon: https://lobsoco.com/wp-content/uploads/2020/09/cropped-FAVICON-01-32x32.png | favicon: https://lobsoco.com/wp-content/uploads/2020/09/cropped-FAVICON-01-32x32.png | ||||
language: fr_FR | |||||
<h2>Explorer 3 modèles de société</h2> | <h2>Explorer 3 modèles de société</h2> | ||||
<p>La première vague de l’Observatoire des perspectives utopiques a été réalisée en 2019. Notre désir d’explorer comment les Français se représentent une société idéale était né du sentiment que, le projet « moderne » ayant en quelque sorte rempli son contrat et révélant désormais surtout sa face sombre, les sociétés occidentales souffraient d’un manque d’idéaux, d’un déficit d’objectifs collectifs à atteindre, d’une panne du désir d’avenir.</p> | <p>La première vague de l’Observatoire des perspectives utopiques a été réalisée en 2019. Notre désir d’explorer comment les Français se représentent une société idéale était né du sentiment que, le projet « moderne » ayant en quelque sorte rempli son contrat et révélant désormais surtout sa face sombre, les sociétés occidentales souffraient d’un manque d’idéaux, d’un déficit d’objectifs collectifs à atteindre, d’une panne du désir d’avenir.</p> |
og_image: https://cdn-blog.testdouble.com/img/social/plea-for-lean.3bebefc81990d30cfac86b0fb4b51b954caa42a793911c74b6cf339ab364b095.png | og_image: https://cdn-blog.testdouble.com/img/social/plea-for-lean.3bebefc81990d30cfac86b0fb4b51b954caa42a793911c74b6cf339ab364b095.png | ||||
description: Niklaus Wirth's plea for lean software is even more valid today. | description: Niklaus Wirth's plea for lean software is even more valid today. | ||||
favicon: https://cdn-blog.testdouble.com/img/favicon-dark.619c13e6bf2653dacd018c2ab016f32247574e7396f1bfe3ae0798f55f7ea079.png | favicon: https://cdn-blog.testdouble.com/img/favicon-dark.619c13e6bf2653dacd018c2ab016f32247574e7396f1bfe3ae0798f55f7ea079.png | ||||
language: en-us | |||||
<p>Our industry lost one of its great minds on New Year’s Day as Niklaus Wirth passed at the age of 89. My first real computer programming class in high school used Pascal, which he designed in 1970, and the majority of my college courses used Modula-2, which he also designed in 1975. Both of these languages advanced the field of programming with innovations like modules, one-pass compilation, and concurrent programming. The type safety, clarity, and compiler support made these languages very approachable and easy to learn, likely keeping me on the path of a career in our industry. One of his greatest contributions to our field, that seems eerily prescient now, is his article “A Plea for Lean Software” published in Computer magazine in 1995.</p> | <p>Our industry lost one of its great minds on New Year’s Day as Niklaus Wirth passed at the age of 89. My first real computer programming class in high school used Pascal, which he designed in 1970, and the majority of my college courses used Modula-2, which he also designed in 1975. Both of these languages advanced the field of programming with innovations like modules, one-pass compilation, and concurrent programming. The type safety, clarity, and compiler support made these languages very approachable and easy to learn, likely keeping me on the path of a career in our industry. One of his greatest contributions to our field, that seems eerily prescient now, is his article “A Plea for Lean Software” published in Computer magazine in 1995.</p> | ||||
<p>The article laments the fact that we have been conditioned with significant advances in hardware, leading to software that is unnecessarily bloated. Humorously, the article begins by addressing how memory requirements jump “from several to many megabytes." I am writing this blog post in a browser window that is consuming 700MB while reviewing his article in Preview, clocking in at just shy of 1GB of memory consumption, almost proving his point 29 years later.</p> | <p>The article laments the fact that we have been conditioned with significant advances in hardware, leading to software that is unnecessarily bloated. Humorously, the article begins by addressing how memory requirements jump “from several to many megabytes." I am writing this blog post in a browser window that is consuming 700MB while reviewing his article in Preview, clocking in at just shy of 1GB of memory consumption, almost proving his point 29 years later.</p> |
url: https://lukew.com/ff/entry.asp?2036 | url: https://lukew.com/ff/entry.asp?2036 | ||||
hash_url: 84f8caf3e7f7b3de9e18281749c3687f | hash_url: 84f8caf3e7f7b3de9e18281749c3687f | ||||
archive_date: 2024-01-13 | archive_date: 2024-01-13 | ||||
og_image: https://static.lukew.com/lukew_og_img8.png | |||||
og_image: https://static.lukew.com/lukew_og_img4.png | |||||
description: Too often, the process of design is cut short. When faced with user needs or product requirements, many designers draft a mockup or wireframe informed by what they've seen or experienced before | description: Too often, the process of design is cut short. When faced with user needs or product requirements, many designers draft a mockup or wireframe informed by what they've seen or experienced before | ||||
favicon: https://static.lukew.com/lukew.ico | favicon: https://static.lukew.com/lukew.ico | ||||
language: en_US | |||||
<p class="feature">Too often, the process of design is cut short. When faced with user needs or product requirements, many designers draft a mockup or wireframe informed by what they've seen or <a href="https://www.lukew.com/ff/entry.asp?2027">experienced before</a>. But that's actually when the design process starts, not ends.</p> | <p class="feature">Too often, the process of design is cut short. When faced with user needs or product requirements, many designers draft a mockup or wireframe informed by what they've seen or <a href="https://www.lukew.com/ff/entry.asp?2027">experienced before</a>. But that's actually when the design process starts, not ends.</p> | ||||
og_image: https://craigmod.com/ridgeline/images/176/176.jpg | og_image: https://craigmod.com/ridgeline/images/176/176.jpg | ||||
description: Kevin Kelly and my notes detailing everything we've learned walking and talking these past six years | description: Kevin Kelly and my notes detailing everything we've learned walking and talking these past six years | ||||
favicon: https://craigmod.com/images/favicons/favicon-196x196.png | favicon: https://craigmod.com/images/favicons/favicon-196x196.png | ||||
language: en_US | |||||
<p>Happy holidays, walkers!</p> | <p>Happy holidays, walkers!</p> | ||||
<p><a href="https://kk.org">Kevin Kelly</a> and I began talking while walking together some twelve years ago, near his home in Pacifica. Eventually, we branched out, and for these past six years have been running more “formalized” walk-and-talks across five countries with some 40+ people. We’ve walked-and-talked in China, Spain, England, Japan, and Thailand. These experiences are some of the best weeks of our lives.</p> | <p><a href="https://kk.org">Kevin Kelly</a> and I began talking while walking together some twelve years ago, near his home in Pacifica. Eventually, we branched out, and for these past six years have been running more “formalized” walk-and-talks across five countries with some 40+ people. We’ve walked-and-talked in China, Spain, England, Japan, and Thailand. These experiences are some of the best weeks of our lives.</p> |
og_image: https://hoho.com/images/building-ducts_hu595c7437e16b1c00c1f5d55887980baf_1496628_800x400_fill_q75_box_smart1.jpg | og_image: https://hoho.com/images/building-ducts_hu595c7437e16b1c00c1f5d55887980baf_1496628_800x400_fill_q75_box_smart1.jpg | ||||
description: Early stage technology decisions must be, uncomfortably, a means to an end. | description: Early stage technology decisions must be, uncomfortably, a means to an end. | ||||
favicon: https://hoho.com/favicon-16x16.png | favicon: https://hoho.com/favicon-16x16.png | ||||
language: en_US | |||||
<p>If you are the technical co-founder or early engineering lead at a startup, and you want to talk about your microservices, hand-rolled CI/CD, in-house monitoring stack, or any other unique part of your stack, I will say: Cool. Let’s riff. Take me deep, I’m ready.</p> | <p>If you are the technical co-founder or early engineering lead at a startup, and you want to talk about your microservices, hand-rolled CI/CD, in-house monitoring stack, or any other unique part of your stack, I will say: Cool. Let’s riff. Take me deep, I’m ready.</p> | ||||
<p>But there’s something I’m likely to tell you in return, something I’ll probably insist you’re overlooking and need to internalize as soon as possible: <em>Your technology stack is not the product.</em></p> | <p>But there’s something I’m likely to tell you in return, something I’ll probably insist you’re overlooking and need to internalize as soon as possible: <em>Your technology stack is not the product.</em></p> |
og_image: https://www.la-grange.net/2024/01/09/3045-glace.jpg | og_image: https://www.la-grange.net/2024/01/09/3045-glace.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2024/01/09/3045-glace.jpg" alt="Cubes de glace étalés sur la chaussée à côté de boîte en plastique et d'un poteau rouge. La glace a un peu fondu."> | <img src="https://www.la-grange.net/2024/01/09/3045-glace.jpg" alt="Cubes de glace étalés sur la chaussée à côté de boîte en plastique et d'un poteau rouge. La glace a un peu fondu."> |
hash_url: 89dbef9daef24f311b6401cef62f5855 | hash_url: 89dbef9daef24f311b6401cef62f5855 | ||||
archive_date: 2024-01-11 | archive_date: 2024-01-11 | ||||
og_image: | og_image: | ||||
description: | |||||
description: Une chaise, un lit, un canapé, une baignoire, une place de métro, un banc dans un parc, un muret. Un fauteuil à roulettes, une file d’attente, une branche, une buche, un abri de tramway, une marche d’escalier. Une plage, un kiosque, un socle de statue, un recoin de cafétéria. | |||||
favicon: https://tw5.immateriel.fr/wiki/immateriel/b/favicon.ico | |||||
language: fr_FR | |||||
<p>Une chaise, un lit, un canapé, une baignoire, une place de métro, un banc dans un parc, un muret. Un fauteuil à roulettes, une file d’attente, une branche, une buche, un abri de tramway, une marche d’escalier. Une plage, un kiosque, un socle de statue, un recoin de cafétéria. Un bar sans BFM, une borne kilométrique, une alcôve, une serre, un divan de musée. Un pont. Un toit. Un rocher au soleil. Un compartiment vide, un rebord de fenêtre, un parpaing de parking, un tapis enroulé. Un pouf. Une malle. Un siège de WC. Un tas de feuilles sous un arbre, la pelouse des piscines renommée solarium, la salle des pas perdus quand elle n’est pas devenue une galerie marchande. Un cube dans une galerie. Le bas des toboggans. Une cabine d’essayage au fond d’un magasin. Un tabouret de cuisine, un rempart, un trépied, une dune, une clairière, un opéra fermé. Un squat. Une salle de sport en grève. Un coussin, une chauffeuse. Une butte, une balançoire. Un corps nu qu’on aime (ou habillé) (s’y appuyer). Un édredon. Une méridienne.</p> | <p>Une chaise, un lit, un canapé, une baignoire, une place de métro, un banc dans un parc, un muret. Un fauteuil à roulettes, une file d’attente, une branche, une buche, un abri de tramway, une marche d’escalier. Une plage, un kiosque, un socle de statue, un recoin de cafétéria. Un bar sans BFM, une borne kilométrique, une alcôve, une serre, un divan de musée. Un pont. Un toit. Un rocher au soleil. Un compartiment vide, un rebord de fenêtre, un parpaing de parking, un tapis enroulé. Un pouf. Une malle. Un siège de WC. Un tas de feuilles sous un arbre, la pelouse des piscines renommée solarium, la salle des pas perdus quand elle n’est pas devenue une galerie marchande. Un cube dans une galerie. Le bas des toboggans. Une cabine d’essayage au fond d’un magasin. Un tabouret de cuisine, un rempart, un trépied, une dune, une clairière, un opéra fermé. Un squat. Une salle de sport en grève. Un coussin, une chauffeuse. Une butte, une balançoire. Un corps nu qu’on aime (ou habillé) (s’y appuyer). Un édredon. Une méridienne.</p> | ||||
<p>Un oloé.</p> | <p>Un oloé.</p> | ||||
<p>Proposition d’écriture</p> | <p>Proposition d’écriture</p> | ||||
<p>S’installer dans le lieu le plus propice, le plus paradisiaque qui soit pour écrire. Examiner ce qui parasite, les pensées gênantes, paralysantes, jugements sur soi ou son travail de personnes faisant autorité, etc. Ne pas les décrire. Ne pas écrire pour se venger ni les analyser. Noter au contraire ce qui les suit, bifurque, leur permet de glisser. Les utiliser pour décrire le lieu.</p> | <p>S’installer dans le lieu le plus propice, le plus paradisiaque qui soit pour écrire. Examiner ce qui parasite, les pensées gênantes, paralysantes, jugements sur soi ou son travail de personnes faisant autorité, etc. Ne pas les décrire. Ne pas écrire pour se venger ni les analyser. Noter au contraire ce qui les suit, bifurque, leur permet de glisser. Les utiliser pour décrire le lieu.</p> | ||||
<p>Si rien ne se produit, si aucun malaise préalable n’empêche d’écrire, examiner en quoi la perfection du lieu et du moment présent permet, ou non, de le faire.</p> | <p>Si rien ne se produit, si aucun malaise préalable n’empêche d’écrire, examiner en quoi la perfection du lieu et du moment présent permet, ou non, de le faire.</p> | ||||
<p>Et si rien ne vient, rester là et lire.</p> | |||||
<p>Et si rien ne vient, rester là et lire.</p> |
og_image: https://www.la-grange.net/2024/01/24/3154-herbe.jpg | og_image: https://www.la-grange.net/2024/01/24/3154-herbe.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2024/01/24/3154-herbe.jpg" alt="Couverte du livre la fraîcheur de l'herbe avec une illustration de graminées."> | <img src="https://www.la-grange.net/2024/01/24/3154-herbe.jpg" alt="Couverte du livre la fraîcheur de l'herbe avec une illustration de graminées."> |
og_image: https://res.cloudinary.com/bendmyers/image/upload/v1656961915/benmyers.dev/semantic-selectors.png | og_image: https://res.cloudinary.com/bendmyers/image/upload/v1656961915/benmyers.dev/semantic-selectors.png | ||||
description: See how building with accessible semantics from the get-go can give you expressive, meaningful style hooks for free. | description: See how building with accessible semantics from the get-go can give you expressive, meaningful style hooks for free. | ||||
favicon: https://benmyers.dev/favicon-32x32.png | favicon: https://benmyers.dev/favicon-32x32.png | ||||
language: en_US | |||||
<hgroup class="heading-wrapper"> | <hgroup class="heading-wrapper"> | ||||
<h2 id="introduction" tabindex="-1">Introduction</h2> | <h2 id="introduction" tabindex="-1">Introduction</h2> |
og_image: https://www.strategy-business.com/media/image/44400500b_thumb5_690x400.jpg | og_image: https://www.strategy-business.com/media/image/44400500b_thumb5_690x400.jpg | ||||
description: Hybrid and remote work are complicating many of the collaborative challenges that were present long before the pandemic arrived. | description: Hybrid and remote work are complicating many of the collaborative challenges that were present long before the pandemic arrived. | ||||
favicon: https://www.strategy-business.com/media/image/favicon22-16x16.png | favicon: https://www.strategy-business.com/media/image/favicon22-16x16.png | ||||
language: en_US | |||||
<p>We’ve been thinking a lot about teams lately. As more companies release formal policies around hybrid and remote work, leaders are telling us that remote work has made working together, or teaming, difficult and has frayed the culture of their organizations. Of course, many companies, including our own, PwC, have long embraced remote work, with great success. And if we listen carefully to the types of problems leaders and workers say they’re encountering with teaming, the reality is that most of these issues existed prior to the pandemic.</p> | <p>We’ve been thinking a lot about teams lately. As more companies release formal policies around hybrid and remote work, leaders are telling us that remote work has made working together, or teaming, difficult and has frayed the culture of their organizations. Of course, many companies, including our own, PwC, have long embraced remote work, with great success. And if we listen carefully to the types of problems leaders and workers say they’re encountering with teaming, the reality is that most of these issues existed prior to the pandemic.</p> | ||||
og_image: https://www.la-grange.net/2023/07/10/0797-batiment-visage.jpg | og_image: https://www.la-grange.net/2023/07/10/0797-batiment-visage.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2023/07/10/0797-batiment-visage.jpg" alt="bâtiments avec deux signes blancs. L'ensemble donne un peu l'impression d'un visage."> | <img src="https://www.la-grange.net/2023/07/10/0797-batiment-visage.jpg" alt="bâtiments avec deux signes blancs. L'ensemble donne un peu l'impression d'un visage."> |
og_image: https://daverupert.com/images/opengraph/demoloop.png?reset=1 | og_image: https://daverupert.com/images/opengraph/demoloop.png?reset=1 | ||||
description: The personal blog of Dave Rupert, web developer and podcaster from Austin, TX. | description: The personal blog of Dave Rupert, web developer and podcaster from Austin, TX. | ||||
favicon: https://daverupert.com/favicon.ico | favicon: https://daverupert.com/favicon.ico | ||||
language: en_US | |||||
<p><picture> | <p><picture> | ||||
<source media="(prefers-color-scheme: dark)" srcset="https://daverupert.com/images/posts/2022/squiggle-dark.png"></source> | <source media="(prefers-color-scheme: dark)" srcset="https://daverupert.com/images/posts/2022/squiggle-dark.png"></source> |
og_image: https://www.nubero.ch/transfer/permanent/nubero_socialmedia_icon.png | og_image: https://www.nubero.ch/transfer/permanent/nubero_socialmedia_icon.png | ||||
description: Nuberodesign: Agentur für Grafikdesign, Animation, Videoproduktion und Usability in Winterthur | description: Nuberodesign: Agentur für Grafikdesign, Animation, Videoproduktion und Usability in Winterthur | ||||
favicon: https://www.nubero.ch/favicon.svg | favicon: https://www.nubero.ch/favicon.svg | ||||
language: de_DE.utf-8 | |||||
<p>Form is Function in Graphical User Interfaces</p> | <p>Form is Function in Graphical User Interfaces</p> | ||||
<p class="paragraph"> | <p class="paragraph"> |
og_image: https://www.danmcquillan.org/images/burnmill.jpg | og_image: https://www.danmcquillan.org/images/burnmill.jpg | ||||
description: | description: | ||||
favicon: | favicon: | ||||
language: en_US | |||||
<p><img src="https://www.danmcquillan.org/images/burnmill.jpg"></p> | <p><img src="https://www.danmcquillan.org/images/burnmill.jpg"></p> | ||||
<p>I propose Data Luddism as a radical response to the productive power of big data and predictive algorithms. My starting point is not the Romantic neo-Luddism of Kirkpatrick Sale but the historical Luddism of 1811-1816, and the Luddites' own rhetoric regarding their resistance to 'obnoxious machines' [1].</p> | <p>I propose Data Luddism as a radical response to the productive power of big data and predictive algorithms. My starting point is not the Romantic neo-Luddism of Kirkpatrick Sale but the historical Luddism of 1811-1816, and the Luddites' own rhetoric regarding their resistance to 'obnoxious machines' [1].</p> |
og_image: https://blog.stephaniestimac.comundefined | og_image: https://blog.stephaniestimac.comundefined | ||||
description: A ruthless look at when to use these two CSS text-wrap values. | description: A ruthless look at when to use these two CSS text-wrap values. | ||||
favicon: https://stephaniestimac.com/imgs/favicon.ico | favicon: https://stephaniestimac.com/imgs/favicon.ico | ||||
language: en_US | |||||
<p>At the start of the year I had written about how I wanted to spend this year writing about new CSS features landing in browsers. Life happened and it was in my best interest to do things off the web and away from my computer. But I'm picking this back up again because I'm genuinely back in a space to be exploring and creating things again. I wanted to start this little post off like this for anyone else who is struggling with burnout. It's okay to take a break. It's beneficial for your brain and the rest of you. Side projects will always be there to work on.</p> | <p>At the start of the year I had written about how I wanted to spend this year writing about new CSS features landing in browsers. Life happened and it was in my best interest to do things off the web and away from my computer. But I'm picking this back up again because I'm genuinely back in a space to be exploring and creating things again. I wanted to start this little post off like this for anyone else who is struggling with burnout. It's okay to take a break. It's beneficial for your brain and the rest of you. Side projects will always be there to work on.</p> | ||||
<p>Now onto good ol' text-wrap.</p> | <p>Now onto good ol' text-wrap.</p> |
og_image: https://alvaromontoro.com/images/blog/safari-toggle-0.webp | og_image: https://alvaromontoro.com/images/blog/safari-toggle-0.webp | ||||
description: Toggle switches are a common request by Designers and Developers. Safari proposed a native way to create switches in HTML without the hassle of dealing with CSS or unnecessary control states. | description: Toggle switches are a common request by Designers and Developers. Safari proposed a native way to create switches in HTML without the hassle of dealing with CSS or unnecessary control states. | ||||
favicon: https://alvaromontoro.com/fav.ico | favicon: https://alvaromontoro.com/fav.ico | ||||
language: en_US | |||||
<p>Native toggle switches landed in one browser. Safari introduced this new HTML control as part of the <a href="https://webkit.org/blog/14885/release-notes-for-safari-technology-preview-185/">Safari Technology Preview 185 release</a> and then <a href="https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-186#New-Features">expanded it in the 186 release</a>.</p> | <p>Native toggle switches landed in one browser. Safari introduced this new HTML control as part of the <a href="https://webkit.org/blog/14885/release-notes-for-safari-technology-preview-185/">Safari Technology Preview 185 release</a> and then <a href="https://developer.apple.com/documentation/safari-technology-preview-release-notes/stp-release-186#New-Features">expanded it in the 186 release</a>.</p> | ||||
og_image: https://www.la-grange.net/2024/01/26/3159-chauffage.jpg | og_image: https://www.la-grange.net/2024/01/26/3159-chauffage.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2024/01/26/3159-chauffage.jpg" alt="Détail de la lampe à chauffer."> | <img src="https://www.la-grange.net/2024/01/26/3159-chauffage.jpg" alt="Détail de la lampe à chauffer."> |
og_image: https://cdn.vox-cdn.com/thumbor/rOafi3kl1gaQXZiQjWeOdSYa44g=/0x0:2040x1360/1200x628/filters:focal(1020x680:1021x681)/cdn.vox-cdn.com/uploads/chorus_asset/file/22474342/acastro_210427_4564_basecamp_0001.jpg | og_image: https://cdn.vox-cdn.com/thumbor/rOafi3kl1gaQXZiQjWeOdSYa44g=/0x0:2040x1360/1200x628/filters:focal(1020x680:1021x681)/cdn.vox-cdn.com/uploads/chorus_asset/file/22474342/acastro_210427_4564_basecamp_0001.jpg | ||||
description: Basecamp announced it would ban “societal and political discussions” at work. But the hardest conversations at work were about the company itself. Platformer’s Casey Newton spoke with half a dozen employees about the controversy. | description: Basecamp announced it would ban “societal and political discussions” at work. But the hardest conversations at work were about the company itself. Platformer’s Casey Newton spoke with half a dozen employees about the controversy. | ||||
favicon: https://www.theverge.com/icons/favicon_32x32.png | favicon: https://www.theverge.com/icons/favicon_32x32.png | ||||
language: en_US | |||||
<p class="duet--article--article-body-component"> | <p class="duet--article--article-body-component"> | ||||
<h3 class="duet--article--dangerously-set-cms-markup duet--article--standard-heading mb-20 mt-40 font-polysans text-26 font-medium leading-110 selection:bg-franklin-20 dark:text-white dark:selection:bg-blurple md:text-30 [&>a:hover]:shadow-highlight-franklin dark:[&>a:hover]:shadow-highlight-franklin [&>a]:shadow-underline-black dark:[&>a]:shadow-underline-white"><strong>I.</strong></h3></p> | <h3 class="duet--article--dangerously-set-cms-markup duet--article--standard-heading mb-20 mt-40 font-polysans text-26 font-medium leading-110 selection:bg-franklin-20 dark:text-white dark:selection:bg-blurple md:text-30 [&>a:hover]:shadow-highlight-franklin dark:[&>a:hover]:shadow-highlight-franklin [&>a]:shadow-underline-black dark:[&>a]:shadow-underline-white"><strong>I.</strong></h3></p> |
og_image: https://world.hey.com/jorge/d448bdec/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCQlJ3eHpnPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--f579b9de96167f6689c8040e1984a393e4a86b84/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9UY21WemFYcGxYM1J2WDJacGJHeGJCMmtDc0FScEFuWUNPZ3h4ZFdGc2FYUjVhUzA2Q25OMGNtbHdWQT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--5f3b12054ee1575e23e552561c36229a846c13ea/oziel-gomez-x7gz40Z9ObM-unsplash-2.jpg | og_image: https://world.hey.com/jorge/d448bdec/representations/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCQlJ3eHpnPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--f579b9de96167f6689c8040e1984a393e4a86b84/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDRG9UY21WemFYcGxYM1J2WDJacGJHeGJCMmtDc0FScEFuWUNPZ3h4ZFdGc2FYUjVhUzA2Q25OMGNtbHdWQT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--5f3b12054ee1575e23e552561c36229a846c13ea/oziel-gomez-x7gz40Z9ObM-unsplash-2.jpg | ||||
description: Back in college, they told me that I would start my career writing code, but eventually, I would move to a position where I would ask others to code my designs. To celebrate that this turned out to be completely false, here are some assorted reflections as a 40-year-old programmer that looks back | description: Back in college, they told me that I would start my career writing code, but eventually, I would move to a position where I would ask others to code my designs. To celebrate that this turned out to be completely false, here are some assorted reflections as a 40-year-old programmer that looks back | ||||
favicon: https://world.hey.com/jorge/avatar-d08cb3ee63ecbd49736f76ee2caffa4c99a1c0fd | favicon: https://world.hey.com/jorge/avatar-d08cb3ee63ecbd49736f76ee2caffa4c99a1c0fd | ||||
language: en_US | |||||
<div> | <div> | ||||
<figure class="attachment attachment--preview attachment--lightboxable attachment--jpg"> | <figure class="attachment attachment--preview attachment--lightboxable attachment--jpg"> |
og_image: https://fromjason.xyz/img/opengraph-60.png | og_image: https://fromjason.xyz/img/opengraph-60.png | ||||
description: It feels like all the cool websites from the late 2000s are gone. But maybe we are looking at this the wrong way. Maybe it is us who vanished. | description: It feels like all the cool websites from the late 2000s are gone. But maybe we are looking at this the wrong way. Maybe it is us who vanished. | ||||
favicon: https://www.fromjason.xyz/img/favicon.png | favicon: https://www.fromjason.xyz/img/favicon.png | ||||
language: en_US | |||||
<p>It’s Tuesday morning. The year is 2009. You’re just waking up after a long and boozy New Year’s Eve with friends. Your head rings, and your mouth is the type of dry that makes you question your adulthood. You feel something scratch against your arm. Did you take a lover last night? Sort of. It’s a pizza box. Meat lovers.</p> | <p>It’s Tuesday morning. The year is 2009. You’re just waking up after a long and boozy New Year’s Eve with friends. Your head rings, and your mouth is the type of dry that makes you question your adulthood. You feel something scratch against your arm. Did you take a lover last night? Sort of. It’s a pizza box. Meat lovers.</p> | ||||
<p>You reach for your phone. There’s no TikTok or Snapchat yet. Facebook and Instagram are a thing, but they exist as a type of social syndicator— a place to see what your friends were up to last night. You already know as much. The occasional whiff of rank vodka keeps your memory jogged. You tap the browser icon and start typing a webaddress, perhaps appending <code>www</code> as a precautionary relic. <em>Who got drunker than me</em>, you wonder. After a brief page load, you arrive at textsfromlastnight.com. “<em>I cant get the smell of ass out of my nose</em>,” reads the top post.</p> | <p>You reach for your phone. There’s no TikTok or Snapchat yet. Facebook and Instagram are a thing, but they exist as a type of social syndicator— a place to see what your friends were up to last night. You already know as much. The occasional whiff of rank vodka keeps your memory jogged. You tap the browser icon and start typing a webaddress, perhaps appending <code>www</code> as a precautionary relic. <em>Who got drunker than me</em>, you wonder. After a brief page load, you arrive at textsfromlastnight.com. “<em>I cant get the smell of ass out of my nose</em>,” reads the top post.</p> |
og_image: https://www.duchess-france.fr/assets/bandeau.jpeg | og_image: https://www.duchess-france.fr/assets/bandeau.jpeg | ||||
description: Je vois de plus en plus de femmes rejoindre l’informatique, et c’est une très bonne chose. Je vois aussi trop de femmes patir de sexisme ordinaire, se remettre en question encore et encore… et quitter le milieu au bout de quelques années. J’ai mis du temps à apprendre certaines choses. | description: Je vois de plus en plus de femmes rejoindre l’informatique, et c’est une très bonne chose. Je vois aussi trop de femmes patir de sexisme ordinaire, se remettre en question encore et encore… et quitter le milieu au bout de quelques années. J’ai mis du temps à apprendre certaines choses. | ||||
favicon: https://www.duchess-france.fr/favicon.ico | favicon: https://www.duchess-france.fr/favicon.ico | ||||
language: en_US | |||||
<p>Je vois de plus en plus de femmes rejoindre l’informatique, et c’est une très bonne chose. Je vois aussi trop de femmes patir de sexisme ordinaire, se remettre en question encore et encore… et quitter le milieu au bout de quelques années. J’ai mis du temps à apprendre certaines choses. Je voudrais vous faire gagner ces dix ans, pour qu’on arrive à une parité réelle dans le secteur numérique. Je m’adresse également à toutes les personnes qui souhaitent voir plus de femmes et personnes non binaires dans leurs équipes. Les femmes sont fortement incitées à faire un choix entre l’ambition (business and successful woman) et l’altruisme (femme qui colle aux codes et fait correctement son travail, loin de l’argent). Ce choix injuste et superflu résulte des stéréotypes que nous allons parcourir à travers cet article.</p> | <p>Je vois de plus en plus de femmes rejoindre l’informatique, et c’est une très bonne chose. Je vois aussi trop de femmes patir de sexisme ordinaire, se remettre en question encore et encore… et quitter le milieu au bout de quelques années. J’ai mis du temps à apprendre certaines choses. Je voudrais vous faire gagner ces dix ans, pour qu’on arrive à une parité réelle dans le secteur numérique. Je m’adresse également à toutes les personnes qui souhaitent voir plus de femmes et personnes non binaires dans leurs équipes. Les femmes sont fortement incitées à faire un choix entre l’ambition (business and successful woman) et l’altruisme (femme qui colle aux codes et fait correctement son travail, loin de l’argent). Ce choix injuste et superflu résulte des stéréotypes que nous allons parcourir à travers cet article.</p> | ||||
og_image: https://ishadeed.com/assets/target-size/twitter-card.jpg | og_image: https://ishadeed.com/assets/target-size/twitter-card.jpg | ||||
description: An interactive guide on designing better target sizes on the web. | description: An interactive guide on designing better target sizes on the web. | ||||
favicon: https://ishadeed.com/assets/favicon-32x32.png | favicon: https://ishadeed.com/assets/favicon-32x32.png | ||||
language: en_US | |||||
<h2 id="intro">Intro</h2> | <h2 id="intro">Intro</h2> | ||||
<p>As a user, you need to interact with clickable UI elements like buttons, links, cards, and more.</p> | <p>As a user, you need to interact with clickable UI elements like buttons, links, cards, and more.</p> |
og_image: http://static1.squarespace.com/static/51e8148de4b01c1eb79c1977/5682f162b204d5635670f310/65544de372845e682bf5a326/1700503191865/11.20_world_not_audience.jpg?format=1500w | og_image: http://static1.squarespace.com/static/51e8148de4b01c1eb79c1977/5682f162b204d5635670f310/65544de372845e682bf5a326/1700503191865/11.20_world_not_audience.jpg?format=1500w | ||||
description: don’t chase your audience, let them find your world. | description: don’t chase your audience, let them find your world. | ||||
favicon: https://images.squarespace-cdn.com/content/v1/51e8148de4b01c1eb79c1977/1547586234044-PLNK9XVHXBYWZ5A1673H/favicon.ico?format=100w | favicon: https://images.squarespace-cdn.com/content/v1/51e8148de4b01c1eb79c1977/1547586234044-PLNK9XVHXBYWZ5A1673H/favicon.ico?format=100w | ||||
language: en_US | |||||
<h2>build a world, not a marketing funnel </h2> | <h2>build a world, not a marketing funnel </h2> | ||||
<p class="">in this digital age where everyone wants to “monetize” something, you constantly find yourself inside a marketing funnels — filled with shiny things, and quick-fix promises, and slippery slopes. </p> | <p class="">in this digital age where everyone wants to “monetize” something, you constantly find yourself inside a marketing funnels — filled with shiny things, and quick-fix promises, and slippery slopes. </p> |
og_image: https://daringfireball.net/graphics/df-wide-card.png | og_image: https://daringfireball.net/graphics/df-wide-card.png | ||||
description: A headset, a spatial productivity platform, and a personal entertainment device. | description: A headset, a spatial productivity platform, and a personal entertainment device. | ||||
favicon: https://daringfireball.net/graphics/favicon.ico?v=005 | favicon: https://daringfireball.net/graphics/favicon.ico?v=005 | ||||
language: en_US | |||||
<p>For the last six days, I’ve been simultaneously testing three entirely new products from Apple. The first is a VR/AR headset with eye-tracking controls. The second is a revolutionary spatial computing productivity platform. The third is a breakthrough personal entertainment device.</p> | <p>For the last six days, I’ve been simultaneously testing three entirely new products from Apple. The first is a VR/AR headset with eye-tracking controls. The second is a revolutionary spatial computing productivity platform. The third is a breakthrough personal entertainment device.</p> | ||||
og_image: https://blog.glyph.im/images/back9.png | og_image: https://blog.glyph.im/images/back9.png | ||||
description: Deciphering Glyph, the blog of Glyph Lefkowitz. | description: Deciphering Glyph, the blog of Glyph Lefkowitz. | ||||
favicon: https://blog.glyph.im/images/favicon.ico | favicon: https://blog.glyph.im/images/favicon.ico | ||||
language: en_US | |||||
<p>I am going to tell you why I don’t think you should sign your Git commits, even | <p>I am going to tell you why I don’t think you should sign your Git commits, even | ||||
though doing so with SSH keys is now easier than ever. But first, to | though doing so with SSH keys is now easier than ever. But first, to |
url: https://kagifeedback.org/d/2808-reconsider-your-partnership-with-brave/6 | url: https://kagifeedback.org/d/2808-reconsider-your-partnership-with-brave/6 | ||||
hash_url: d236f33cf82727313d17cb23bf36a395 | hash_url: d236f33cf82727313d17cb23bf36a395 | ||||
archive_date: 2024-01-07 | archive_date: 2024-01-07 | ||||
og_image: https://kagifeedback.org/assets/favicon-bmwk4ltf.png | |||||
og_image: https://kagifeedback.org/assets/logo-pdze6ga3.png | |||||
description: Brave, as you know, is led by Brendan Eich. s homophobia is so disgusting that he was forced to resign as the leader... | description: Brave, as you know, is led by Brendan Eich. s homophobia is so disgusting that he was forced to resign as the leader... | ||||
favicon: https://kagifeedback.org/assets/favicon-bmwk4ltf.png | favicon: https://kagifeedback.org/assets/favicon-bmwk4ltf.png | ||||
language: en_US | |||||
<p>Our goal is to provide best web results in the world. That means including as many sources of search results we can get (even if may not like them personally) and this increases our resilience and lowers dependence on any single one.</p> | <p>Our goal is to provide best web results in the world. That means including as many sources of search results we can get (even if may not like them personally) and this increases our resilience and lowers dependence on any single one.</p> | ||||
<p>We believe that Kagi users deserve to have the best search results in the world, from a wide range of diverse sources. This ensures that if you can not find something on Kagi, you can not find it anywhere else.</p> | <p>We believe that Kagi users deserve to have the best search results in the world, from a wide range of diverse sources. This ensures that if you can not find something on Kagi, you can not find it anywhere else.</p> |
og_image: https://www.la-grange.net/2024/01/06/3008-furikake.jpg | og_image: https://www.la-grange.net/2024/01/06/3008-furikake.jpg | ||||
description: | description: | ||||
favicon: https://www.la-grange.net/favicon.ico | favicon: https://www.la-grange.net/favicon.ico | ||||
language: fr_FR | |||||
<figure> | <figure> | ||||
<img src="https://www.la-grange.net/2024/01/06/3008-furikake.jpg" alt="Feuilles de céleri et de persil, finement hâchées avec du zeste de citron."> | <img src="https://www.la-grange.net/2024/01/06/3008-furikake.jpg" alt="Feuilles de céleri et de persil, finement hâchées avec du zeste de citron."> |
og_image: https://brr.fyi/media/redeployment-part-one/redeployment-part-one-icon.jpg | og_image: https://brr.fyi/media/redeployment-part-one/redeployment-part-one-icon.jpg | ||||
description: Sunrise at the bottom of the world. Preparing South Pole Station to welcome its first new arrivals in almost nine months. | description: Sunrise at the bottom of the world. Preparing South Pole Station to welcome its first new arrivals in almost nine months. | ||||
favicon: https://brr.fyi/favicon-32x32.png | favicon: https://brr.fyi/favicon-32x32.png | ||||
language: en_US | |||||
<p><em>This is part one of a multi-part series. Check out | <p><em>This is part one of a multi-part series. Check out | ||||
<a href="https://brr.fyi/posts/redeployment-part-two">part two</a> and | <a href="https://brr.fyi/posts/redeployment-part-two">part two</a> and |
og_image: | og_image: | ||||
description: | description: | ||||
favicon: https://vasilis.nl/favicon.ico | favicon: https://vasilis.nl/favicon.ico | ||||
language: en_US | |||||
<p>Recently when I gave a coding assignment — an art directed web page about a font — a student asked: does it have to be <em>semantic and shit?</em> The whole class looked up, curious about the answer — <em>please let it be no!</em> I answered that no, it doesn’t have to be semantic and shit, but it does have to be well designed and the user experience should be well considered. Relieved, all of my students agreed. They do care about a good user experience.</p> | <p>Recently when I gave a coding assignment — an art directed web page about a font — a student asked: does it have to be <em>semantic and shit?</em> The whole class looked up, curious about the answer — <em>please let it be no!</em> I answered that no, it doesn’t have to be semantic and shit, but it does have to be well designed and the user experience should be well considered. Relieved, all of my students agreed. They do care about a good user experience.</p> | ||||
<p><span id="more-2095"></span></p> | <p><span id="more-2095"></span></p> |
og_image: | og_image: | ||||
description: With his “ I am a poem I am not software” post Robin touched on an interesting problem related to personal websites. I’m not going to summarise … | description: With his “ I am a poem I am not software” post Robin touched on an interesting problem related to personal websites. I’m not going to summarise … | ||||
favicon: https://manuelmoreale.com/favicon.ico | favicon: https://manuelmoreale.com/favicon.ico | ||||
language: en_US | |||||
<p>With his “<a href="https://robinrendle.com/notes/i-am-a-poem-i-am-not-software/" rel="noreferrer" target="_blank">I am a poem I am not software</a>” post <a href="https://manuelmoreale.com/thoughts/pb-robin-rendle">Robin</a> touched on an interesting problem related to personal websites. I’m not going to summarise Robin’s post because his writing is great and you should read his words on his blog. </p> | <p>With his “<a href="https://robinrendle.com/notes/i-am-a-poem-i-am-not-software/" rel="noreferrer" target="_blank">I am a poem I am not software</a>” post <a href="https://manuelmoreale.com/thoughts/pb-robin-rendle">Robin</a> touched on an interesting problem related to personal websites. I’m not going to summarise Robin’s post because his writing is great and you should read his words on his blog. </p> | ||||
<blockquote> | <blockquote> |
og_image: https://brr.fyi/media/redeployment-part-three/redeployment-part-three-icon.jpg | og_image: https://brr.fyi/media/redeployment-part-three/redeployment-part-three-icon.jpg | ||||
description: Departing Antarctica after 446 days on-ice. Relaxing in Christchurch, then heading home. What an adventure! | description: Departing Antarctica after 446 days on-ice. Relaxing in Christchurch, then heading home. What an adventure! | ||||
favicon: https://brr.fyi/favicon-32x32.png | favicon: https://brr.fyi/favicon-32x32.png | ||||
language: en_US | |||||
<p><em>This is the third and final part of a three-part series. Check out | <p><em>This is the third and final part of a three-part series. Check out | ||||
<a href="https://brr.fyi/posts/redeployment-part-one">part one</a> and <a href="https://brr.fyi/posts/redeployment-part-two">part two</a> if you haven’t already!</em></p> | <a href="https://brr.fyi/posts/redeployment-part-one">part one</a> and <a href="https://brr.fyi/posts/redeployment-part-two">part two</a> if you haven’t already!</em></p> |
og_image: https://static.lukew.com/ask_lukew_data.png | og_image: https://static.lukew.com/ask_lukew_data.png | ||||
description: Large language (AI) models allow us to rethink how to build software and design user interfaces. To that end, we made use of these new capabilities to create a different way of interacting with this site | description: Large language (AI) models allow us to rethink how to build software and design user interfaces. To that end, we made use of these new capabilities to create a different way of interacting with this site | ||||
favicon: https://static.lukew.com/lukew.ico | favicon: https://static.lukew.com/lukew.ico | ||||
language: en_US | |||||
<p class="feature">Large language (AI) models allow us to rethink how to build software and design user interfaces. To that end, we made use of these new capabilities to create a different way of interacting with this site at: <a href="https://ask.lukew.com">ask.lukew.com</a></p> | <p class="feature">Large language (AI) models allow us to rethink how to build software and design user interfaces. To that end, we made use of these new capabilities to create a different way of interacting with this site at: <a href="https://ask.lukew.com">ask.lukew.com</a></p> | ||||
og_image: https://jakelazaroff.com/og/the-web-component-success-story.png | og_image: https://jakelazaroff.com/og/the-web-component-success-story.png | ||||
description: Web components won't take web development by storm, or show us the One True Way to build websites. What they will do is let us collectively build a rich ecosystem of dynamic components that work with any web stack. | description: Web components won't take web development by storm, or show us the One True Way to build websites. What they will do is let us collectively build a rich ecosystem of dynamic components that work with any web stack. | ||||
favicon: https://jakelazaroff.com/favicon.ico | favicon: https://jakelazaroff.com/favicon.ico | ||||
language: en_US | |||||
<p>Tom MacWright wrote a short post wondering <a class="link" href="https://macwright.com/2024/01/24/on-web-components" data-astro-cid-bi7aps5f>why we don’t see prominent applications using web components</a><a class="tooltip" data-tooltip href="https://macwright.com/2024/01/24/on-web-components" data-astro-cid-bi7aps5f> <span class="title" data-astro-cid-bi7aps5f>On Web Components</span> <span class="href" data-astro-cid-bi7aps5f> <img class="favicon" src="https://macwright.com/css/favicon.png" alt="" data-astro-cid-bi7aps5f> <span class="url" data-astro-cid-bi7aps5f>macwright.com/2024/01/24/on-web-components</span> <svg xmlns="http://www.w3.org/2000/svg" class="arrow"> <use href="/icons.svg#share"></use> </svg> </span> </a>.</p> | <p>Tom MacWright wrote a short post wondering <a class="link" href="https://macwright.com/2024/01/24/on-web-components" data-astro-cid-bi7aps5f>why we don’t see prominent applications using web components</a><a class="tooltip" data-tooltip href="https://macwright.com/2024/01/24/on-web-components" data-astro-cid-bi7aps5f> <span class="title" data-astro-cid-bi7aps5f>On Web Components</span> <span class="href" data-astro-cid-bi7aps5f> <img class="favicon" src="https://macwright.com/css/favicon.png" alt="" data-astro-cid-bi7aps5f> <span class="url" data-astro-cid-bi7aps5f>macwright.com/2024/01/24/on-web-components</span> <svg xmlns="http://www.w3.org/2000/svg" class="arrow"> <use href="/icons.svg#share"></use> </svg> </span> </a>.</p> | ||||
<p>That’s a fair question! | <p>That’s a fair question! |
og_image: https://gilest.org/2024/dangerously-muddy.jpg | og_image: https://gilest.org/2024/dangerously-muddy.jpg | ||||
description: | description: | ||||
favicon: https://gilest.org/favicon.ico | favicon: https://gilest.org/favicon.ico | ||||
language: en_US | |||||
<p><img src="https://gilest.org/2024/dangerously-muddy.jpg" alt="A sign in a forest: DANGER, TRACK DANGEROUSLY MUDDY, DO NOT ENTER"></p> | <p><img src="https://gilest.org/2024/dangerously-muddy.jpg" alt="A sign in a forest: DANGER, TRACK DANGEROUSLY MUDDY, DO NOT ENTER"></p> | ||||
<p>This is not easy.</p> | <p>This is not easy.</p> | ||||
<p>If we <em>truly</em> want to open up the web for everyone to publish on, we have to make it easier. Let’s give people choices. Let’s give people options for tools they can set up and use, with no more knowledge than the knowledge they already have.</p> | |||||
<p>If we <em>truly</em> want to open up the web for everyone to publish on, we have to make it easier. Let’s give people choices. Let’s give people options for tools they can set up and use, with no more knowledge than the knowledge they already have.</p> |
og_image: https://jacobtomlinson.dev/f5AJKsQ_5492213727072396532_huc4b23cc59301979e6c26bd5595602176_0_babdb9b3327c14bb629a3288d379177b.png | og_image: https://jacobtomlinson.dev/f5AJKsQ_5492213727072396532_huc4b23cc59301979e6c26bd5595602176_0_babdb9b3327c14bb629a3288d379177b.png | ||||
description: Version numbers are hard to get right. Semantic Versioning (SemVer) communicates backward compatibility via version numbers which often lead to a false sense of security and broken promises. | description: Version numbers are hard to get right. Semantic Versioning (SemVer) communicates backward compatibility via version numbers which often lead to a false sense of security and broken promises. | ||||
favicon: | favicon: | ||||
language: en_US | |||||
<p>Version numbers are hard to get right. Semantic Versioning <a href="https://semver.org/">(SemVer)</a> communicates backward compatibility via version numbers which often lead to a <a href="https://hynek.me/articles/semver-will-not-save-you/">false sense of security and broken promises</a>. Calendar Versioning <a href="https://calver.org/">(CalVer)</a> sits at the other extreme of communicating almost <a href="https://jacobtomlinson.dev/posts/2023/sometimes-i-regret-using-calver/">no useful information at all</a>.</p> | <p>Version numbers are hard to get right. Semantic Versioning <a href="https://semver.org/">(SemVer)</a> communicates backward compatibility via version numbers which often lead to a <a href="https://hynek.me/articles/semver-will-not-save-you/">false sense of security and broken promises</a>. Calendar Versioning <a href="https://calver.org/">(CalVer)</a> sits at the other extreme of communicating almost <a href="https://jacobtomlinson.dev/posts/2023/sometimes-i-regret-using-calver/">no useful information at all</a>.</p> | ||||
<p>Going forward I plan to version the projects I work on in a way that communicates <em>how much effort I expect a user will need to spend to adopt the new version</em>. I’m going to refer to that scheme as <strong>Intended Effort Versioning (<span>EffVer</span> for short)</strong>.</p> | <p>Going forward I plan to version the projects I work on in a way that communicates <em>how much effort I expect a user will need to spend to adopt the new version</em>. I’m going to refer to that scheme as <strong>Intended Effort Versioning (<span>EffVer</span> for short)</strong>.</p> | ||||
<h3 id="momentum">Momentum</h3> | <h3 id="momentum">Momentum</h3> | ||||
<p>The biggest challenge for switching version scheme is the momentum of other schemes in the ecosystem. SemVer is well established, and CalVer is also very common. Because of that <span>EffVer</span> is intentionally identical in structure to SemVer. This means that any tooling or process assumptions built around SemVer will work for <span>EffVer</span>.</p> | <p>The biggest challenge for switching version scheme is the momentum of other schemes in the ecosystem. SemVer is well established, and CalVer is also very common. Because of that <span>EffVer</span> is intentionally identical in structure to SemVer. This means that any tooling or process assumptions built around SemVer will work for <span>EffVer</span>.</p> | ||||
<p>Any SemVer project can switch to <span>EffVer</span> by just changing how they decide the version number of the next release. If you try <span>EffVer</span> out and would prefer to go back to traditional semantics then switching back is also just the same process change.</p> | <p>Any SemVer project can switch to <span>EffVer</span> by just changing how they decide the version number of the next release. If you try <span>EffVer</span> out and would prefer to go back to traditional semantics then switching back is also just the same process change.</p> | ||||
<p>Switching to CalVer is more of a one way street, and although some languages have a <a href="https://packaging.python.org/en/latest/specifications/version-specifiers/#version-epochs">process for switching back</a> it’s not guaranteed to be a smooth ride. So if you ever do switch to CalVer can I suggest you use <code>YY.MM.DD</code> instead of <code>YYYY.MM.DD</code>, that way you could switch back to <span>EffVer</span>/SemVer and keep your <em>major</em> version number below 100.</p> | |||||
<p>Switching to CalVer is more of a one way street, and although some languages have a <a href="https://packaging.python.org/en/latest/specifications/version-specifiers/#version-epochs">process for switching back</a> it’s not guaranteed to be a smooth ride. So if you ever do switch to CalVer can I suggest you use <code>YY.MM.DD</code> instead of <code>YYYY.MM.DD</code>, that way you could switch back to <span>EffVer</span>/SemVer and keep your <em>major</em> version number below 100.</p> |
og_image: https://tonsky.me/blog/checkbox/checkbox@2x.png?t=1706539628 | og_image: https://tonsky.me/blog/checkbox/checkbox@2x.png?t=1706539628 | ||||
description: History of checkboxes and radio buttons in user interfaces | description: History of checkboxes and radio buttons in user interfaces | ||||
favicon: https://tonsky.me/i/favicon.png | favicon: https://tonsky.me/i/favicon.png | ||||
language: en_US | |||||
<p>This is a checkbox:</p> | <p>This is a checkbox:</p> | ||||
<figure> | <figure> |
og_image: | og_image: | ||||
description: A proposal for the next generation of portable documents. | description: A proposal for the next generation of portable documents. | ||||
favicon: | favicon: | ||||
language: en_US | |||||
<p>Despite decades of advances in document rendering technology, most of the world's documents are stuck in the 1990s due to the limitations of PDF. Yet, modern document formats like HTML have yet to provide a competitive alternative to PDF. This post explores why this is the case, and proposes a way forward based on the EPUB format.</p> | <p>Despite decades of advances in document rendering technology, most of the world's documents are stuck in the 1990s due to the limitations of PDF. Yet, modern document formats like HTML have yet to provide a competitive alternative to PDF. This post explores why this is the case, and proposes a way forward based on the EPUB format.</p> | ||||
<h2>The Good and Bad of PDF</h2> | <h2>The Good and Bad of PDF</h2> |
og_image: {{ og_image }} | og_image: {{ og_image }} | ||||
description: {{ description }} | description: {{ description }} | ||||
favicon: {{ favicon }} | favicon: {{ favicon }} | ||||
language: {{ language }} | |||||
{{ content }} | {{ content }} |