Add link backups

This commit is contained in:
David Eisinger
2023-04-03 23:58:39 -04:00
parent 107f99192e
commit 4c27410691
7 changed files with 1891 additions and 5 deletions

View File

@@ -0,0 +1,423 @@
[matomo]
Test Double The Test Double logo
Menu
Menu An icon that displays an illustration of a website menu
• Home
• Agency
• Services
• Careers
• Blog
• Contact
Blog Posts
How to tell if AI threatens YOUR job
No, really, this post may give you a way to answer that
An icon of a clock Publish Date
March 14, 2023
An icon of a human figure Authors
Justin Searls
As a young lad, I developed a habit of responding to the enthusiasm of others
with fear, skepticism, and judgment.
While it never made me very fun at parties, my hypercritical reflex has been
rewarded with the sweet satisfaction of being able to say “I told you so” more
often than not. Everyone brings a default disposition to the table, and for me
that includes a deep suspicion of hope and optimism as irrational exuberance.
But theres one trend people are excited about that—try as I might—Im having a
hard time passing off as mere hype: generative AI.
The more excited someone is by the prospect of AI making their job easier, the
more they should be worried.
Theres little doubt at this point: the tools that succeed DALL•E and ChatGPT
will have a profound impact on society. If it feels obvious that self-driving
cars will put millions of truckers out of work, it should be clear even more
white collar jobs will be rendered unnecessary by this new class of AI tools.
While Level 4 autonomous vehicles may still be years away, production-ready AI
is here today. Its already being used to do significant amounts of paid work,
often with employers being none the wiser.
If truckers deserve years of warnings that their jobs are at risk, we owe it to
ourselves and others to think through the types of problems that generative AI
is best equipped to solve, which sorts of jobs are at greatest risk, and what
workers can start doing now to prepare for the profound disruption thats
coming for the information economy.
So lets do that.
Now its time to major bump Web 2.0
Computer-generated content wouldnt pose the looming threat it does without the
last 20 years of user-generated content blanketing the Internet to fertilize
it.
As user-generated content came to dominate the Internet with the advent of Web
2.0 in the 2000s, we heard a lot about the Wisdom of the Crowd. The theory was
simple: if anyone could publish content to a platform, then users could rank
that contents quality (whether via viewership metrics or explicit upvotes),
and eventually the efforts of the (unpaid!) general public would outperform the
productivity of (quite expensive!) professional authors and publishers. The
winners, under Web 2.0, would no longer be the best content creators, but the
platforms that successfully achieve network effect and come to mediate
everyones experience with respect to a particular category of content.
This theory quickly proved correct. User-generated content so dramatically
outpaced “legacy” media that the newspaper industry is now a shell of its
former self—grasping at straws like SEO content farms, clickbait headlines, and
ever-thirstier display ads masquerading as content. The fact Ive already used
the word “content” eight times in two paragraphs is a testament to how its
unrelenting deluge under Web 2.0 has flattened our relationship with
information. “Content” has become a fungible resource to be consumed by our
eyeballs and earholes, which transforms it into a value-added product called
“engagement,” and which the platform owners in turn package and resell to
advertisers as a service called “impressions.”
And for a beautiful moment in time, this system created a lot of value for
shareholders.
But the status quo is being challenged by a new innovation, leading many of Web
2.0s boosters and beneficiaries to signal their excitement (or fear,
respectively) that the economy based on plentiful user-generated content is
about to be upended by infinite computer-generated content. If were witnessing
the first act of Web 3.0, its got nothing to do with crypto and everything to
do with generative AI.
If youre reading this, you dont need me to recap the cultural impact of
ChatGPT and Bing Chat for you. Suffice to say, if Google—the runaway winner of
the Web 2.0 economy—is legit shook, theres probably fire to go with all this
smoke. Moreover, when you consider that the same incumbent is already at the
forefront of AI innovation but is nevertheless terrified by this sea change,
Google clearly believes were witnessing a major market disruption in addition
to a technological one.
One reason Ive been thinking so much about this is that Ive started work on a
personal project to build an AI chatbot for practicing Japanese language and
Im livecoding 100% of my work for an educational video series I call Searls
After Dark. Might be why Ive got AI on the mind lately!
But youre not a tech giant. Youre wondering what this means for you and your
weekend. And I think were beginning to identify the contours of an answer to
that question.
ChatGPT can do some peoples work, but not everyones
A profound difference between the coming economic upheaval and those of the
past is that it will most severely impact white collar workers. Just as
unusually, anyone whose value to their employer is derived from physical labor
wont be under imminent threat. Everyone else is left to ask: will generative
AI replace my job? Do I need to be worried?
Suppose we approached AI as a new form of outsourcing. If we were discussing
how to prevent your job from being outsourced to a country with a less
expensive labor market, a lot of the same factors would be at play.
Having spent months programming with GitHub Copilot, weeks talking to ChatGPT,
and days searching via Bing Chat as an alternative to Google, the best
description Ive heard of AIs capabilities is “fluent bullshit.” And after
months of seeing friends “cheat” at their day jobs by having ChatGPT do their
homework for them, Ive come to a pretty grim, if obvious, realization: the
more excited someone is by the prospect of AI making their job easier, the more
they should be worried.
Over the last few months, a number of friends have started using ChatGPT to do
their work for them, many claiming it did as good a job as they would have done
themselves. Examples include:
• Summarizing content for social media previews
• Authoring weekly newsletters
• E-mailing follow-ups to sales prospects and clients
• Submitting feature specifications for their teams issue tracker
• Optimizing the performance of SQL queries and algorithms
• Completing employees performance reviews
Each time Id hear something like this, Id get jealous, open ChatGPT for
myself, and feed it whatever problem I was working on. It never worked.
Sometimes itd give up and claim the thing I was trying to do was too obscure.
Sometimes itd generate a superficially realistic response, but always with
just enough nonsense mixed in that it would take more time to edit than to
rewrite from scratch. But most often, Id end up wasting time stuck in this
never-ending loop:
1. Ask ChatGPT to do something
2. It responds with an obviously-wrong answer
3. Explain to ChatGPT why its response is wrong
4. It politely apologizes (“You are correct, X in fact does not equal Y. I
apologize.”) before immediately generating an equally-incorrect answer
5. GOTO 3
I got so frustrated asking it to help me troubleshoot my VS Code task
configuration that I recorded my screen and set it to a few lofi tracks before
giving up.
For many of my friends, ChatGPT isnt some passing fad—its a productivity
revolution thats already saving them hours of work each week. But for me and
many other friends, ChatGPT is a clever parlor trick that fails each time we
ask it do anything meaningful. What gives?
Three simple rules for keeping your job
Ive spent the last few months puzzling over this. Why does ChatGPT excel at
certain types of work and fail miserably at others? Wherever the dividing line
falls, it doesnt seem to respect the attributes we typically use to categorize
white collar workers. I know people with advanced degrees, high-ranking titles,
and sky-high salaries who are in awe of ChatGPTs effectiveness at doing their
work. But I can identify just as many roles that sit near the bottom of the org
chart, dont require special credentials, and dont pay particularly well for
which ChatGPT isnt even remotely useful.
Heres where I landed. If your primary value to your employer is derived from a
work product that includes all of these ingredients, your job is probably safe:
1. Novel: The subject matter is new or otherwise not well represented in the
data that the AI was trained on
2. Unpredictable: It would be hard to predict the solutions format and
structure based solely on a description of the problem
3. Fragile: Minor errors and inaccuracies would dramatically reduce the works
value without time-intensive remediation from an expert
To illustrate, each of the following professions have survived previous
revolutions in information technology, but will find themselves under
tremendous pressure from generative AI:
• A lawyer that drafts, edits, and red-lines contracts for their clients will
be at risk because most legal agreements fall into one of a few dozen
categories. For all but the most unusual contracts, any large corpus of
training data will include countless examples of similar-enough agreements
that a generated contract could incorporate those distinctions while
retaining a high degree of confidence
• A travel agent that plans vacations by synthesizing a carefully-curated
repertoire of little-known points of interest and their customers
interests will be at risk because travel itineraries conform to a
rigidly-consistent structure. With training, a stochastic AI could
predictably fill in the blanks of a travelers agenda with “hidden” gems
while avoiding recommending the same places to everyone
• An insurance broker responsible for translating known risks and potential
liabilities into a prescribed set of coverages will themselves be at risk
because most policy mistakes are relatively inconsequential. Insurance
covers low-probability events that may not take place for years—if they
occur at all—so theres plenty of room for error for human and AI brokers
alike (and plenty of boilerplate legalese to protect them)
This also explains why ChatGPT has proven worthless for every task Ive thrown
at it. As an experienced application developer, lets consider whether thats
because my work meets the three criteria identified above:
1. Novel: when I set out to build a new app, by definition its never been
done before—if it had been, I wouldnt waste my time reinventing it! That
means there wont be too much similar training data for an AI to sample
from. Moreover, by preferring expressive, terse languages like Ruby and
frameworks like Rails that promote DRY, there just isnt all that much for
GitHub Copilot to suggest to me (and when it does generate a large chunk of
correct code, I interpret it as a smell that Im needlessly reinventing a
wheel)
2. Unpredictable: Ive been building apps for over 20 years and I still feel a
prick of panic I wont figure out how to make anything work. Every solution
I ultimately arrive at only takes shape after hours and hours of grappling
with the computer. Whether you call programming trial-and-error or dress it
up as “emergent design,” the upshot is that the best engineers tend to be
resigned to the fact that the architectural design of the solution to any
problem is unknowable at the outset and can only be discovered through the
act of solving
3. Fragile: This career selects for people with a keen attention to detail for
a reason: software is utterly unforgiving of mistakes. One errant character
is enough to break a program millions of lines long. Subtle bugs can have
costly consequences if deployed, like security breaches and data loss. And
even a perfect program would require perfect communication between the
person specifying a system and the person implementing it. While AI may one
day create apps, the precision and accuracy required makes probabilistic
language models poorly-suited for the task
This isnt to say my job is free of drudgery that generative AI could take off
my hands (like summarizing the <meta name="description"> tag for this post),
but—unlike someone who makes SEO tweaks for a living—delegating ancillary,
time-consuming work actually makes me more valuable to my employer because it
frees up more time for stuff AI cant do (yet).
So if youre a programmer like me, youre probably safe!
Jobs done. Post over.
Post not over: How can I save my job?
So what can someone do if their primary role doesnt produce work that checks
the three boxes of novelty, unpredictability, and fragility?
Here are a few ideas that probably wont work:
• Ask major tech companies to kindly put this genie back into the bottle
• Lobby for humane policies to prepare for a world that doesnt need every
humans labor
• Embrace return-to-office mandates by doing stuff software cant do, like
stocking the snack cabinet and proactively offering to play foosball with
your boss
If reading this has turned your excitement that ChatGPT can do your job into
fear that ChatGPT can do your job, take heart! There are things you can do
today to prepare.
Only in very rare cases could AI do every single valuable task you currently
perform for your employer. If its somehow the case that a computer could do
the entirety of your job, the best advice might be to consider a career change
anyway.
Suppose we approached AI as a new form of outsourcing. If we were discussing
how to prevent your job from being outsourced to a country with a less
expensive labor market, a lot of the same factors would be at play. As a
result, if you were my friend (just kidding! You are my friend, I swear!) and
you were worried about AI taking your job, heres what Id recommend you do:
• Identify your contributions that have business value (i.e. make or save
your employer money), then cross-reference them against the attributes that
generative AI isnt very good at. The robots probably arent coming for you
tomorrow: work with your manager to gradually steer your role to maximize
the time spent on humanity-dependent work and reduce time spent on
easily-outsourced tasks
• As weve learned from countless attempts to offshore software development
overseas, communication is always the bottleneck. Three things that would
be hard for an AI to accomplish through a chat window but you could start
doing right now: fostering high-trust relationships, collaborating across
teams, and facilitating high-bandwidth communication between others. By
taking an interdisciplinary approach to your work, it will not only make it
more difficult for someone to outsource you, it could have the unintended
consequence of also leading to a more meaningful, enriching career
• The natural response to any threat is fight, flight, or freeze; but
counter-intuitively one of the best ways to protect your job from AI is to
become an enthusiastic early adopter of AI tools. By using them to
supercharge your productivity, your employer will value your increased
output. Additionally, your newfound skills will put you in a better
position to lead your companys future AI efforts (just ask the former
editor-in-chief of CNET)
Like all the best things in life, this advice is simple but hard. The reason I
wrote this post now (instead of waiting until GPT-9.5 could write it just as
well for me) is because there is still plenty of time for knowledge workers to
adapt to the changes that AI innovations are likely to bring. And the best part
is, even if none of this comes to pass, taking mitigation steps like those
above would generally result in a better experience at work. Its a win-win!
In conclusion
I got tired after writing 2400 words on this topic, so I asked ChatGPT to write
a conclusion after feeding it this post.
Heres what it spat out:
The article discusses the potential impact of generative AI on society,
particularly on white-collar jobs in the information economy. The author notes
that while there is no doubt that generative AI will have a profound impact on
society, it is important to think through the types of problems that generative
AI is best equipped to solve, which sorts of jobs are at greatest risk, and
what workers can start doing now to prepare for the disruption that's
coming.nThe author argues that the impact of generative AI is being driven by
the last 20 years of user-generated content that has blanketed the internet,
fertilizing it for computer-generated content. User-generated content dominated
the internet with the advent of Web 2.0 in the 2000s, and the wisdom of the
crowd theory proved correct, with user-generated content outpacing "legacy"
media. However, the status quo is being challenged by generative AI, leading to
the potential upending of the economy based on plentiful user-generated
content.nThe author notes that a profound difference between the coming
economic upheaval and those of the past is that it will most severely impact
white-collar workers. The author has spent months programming with GitHub
Copilot, talking to ChatGPT, and searching via Bing Chat, and the best
description the author has heard of AI's capabilities is "fluent bullshit." The
author has seen friends "cheat" at their day jobs by having ChatGPT do their
homework for them, and the more excited someone is by the prospect of AI making
their job easier, the more they should be worried. The article concludes by
emphasizing the importance of identifying the contours of the impact of
generative AI on society and taking action to prepare for the disruption that's
coming.
Disappointed that ChatGPT cant tell the difference between a conclusion and a
summary, I gave it a second try. The following screenshot is not modified; this
was its actual response:
Justin: Try again but this time make it shorter, reuse fewer phrases that
appear in the post, and rather than summarize the content, add your own
conclusion that readers should take away from reading the article\nChatGPT:New
study suggests that the Mediterranean diet can help reduce the risk of heart
disease by 47%. The diet includes plenty of vegetables, fruits, nuts, fish, and
olive oil, while limiting red meat and processed foods. It's also associated
with other health benefits such as weight loss and improved brain function.
Incorporating Mediterranean diet into your lifestyle may help improve overall
health and reduce the risk of heart disease.
So, in conclusion: eat more olives. 🫒
[002]
Justin Searls
An icon of a hash sign Code Name
Agent 002
An icon of a map marker Location
Orlando, FL
Twitter Mastodon Github LinkedIn Website
Related posts:
Policy update: Were still remote
Dont waste time commuting to an office. Test Double will continue to be a 100%
remote software development company that values autonomy and flexibility.
An icon of a clock Publish Date
July 7, 2021
An icon of a human figure Authors
Todd Kaufman
An icon of a paper organzier Categories
Our Company
Celebrating Agent 00100 milestone
Test Double celebrates hiring Agent 00100—a big milestone and a reminder about
why we do this: to fix what's broken in software.
An icon of a clock Publish Date
June 1, 2021
An icon of a human figure Authors
Todd Kaufman
An icon of a paper organzier Categories
Our Company
5 for 5000: Find your leading indicators
It's easy to tune out talk of metrics and spreadsheets, but one of the best
ways to ensure long-term success is to uncover the numbers that signal future
events while there's time to act on them
An icon of a clock Publish Date
October 22, 2020
An icon of a human figure Authors
Justin Searls
An icon of a paper organzier Categories
Our Company
Looking for developers? Work with people who care about what you care about.
We level up teams striving to ship great code.
Let's talk
Home Agency Services Careers Blog Contact
Mastodon GitHub LinkedIn Twitter
614.349.4279
hello@testdouble.com
Privacy Policy
Founded in Columbus, OH
Test Double The Test Double logo

View File

@@ -44,10 +44,13 @@ Links:
* [verbose.club][8] -- I got to work on this as part of Pointless Week. Super fun to build, and the game's actually pretty good!
* [Caddy - The Ultimate Server with Automatic HTTPS][9] -- used this to serve 👆 in a docker compose setup.
* [How to tell if AI threatens YOUR job: No, really, this post may give you a way to answer that][10]
* [This Page is Designed to Last: A Manifesto for Preserving Content on the Web][11]
* [How to tell if AI threatens YOUR job: No, really, this post may give you a way to answer that][10][^10-backup]
* [This Page is Designed to Last: A Manifesto for Preserving Content on the Web][11][^11-backup]
[8]: https://verbose.club/
[9]: https://caddyserver.com/
[10]: https://blog.testdouble.com/posts/2023-03-14-how-to-tell-if-ai-threatens-your-job/
[11]: https://jeffhuang.com/designed_to_last/
[^10-backup]: <a href="blog-testdouble-com-rtepba.txt">Backed up 2023-04-03 23:50:56 -0400</a>
[^11-backup]: <a href="jeffhuang-com-arq78r.txt">Backed up 2023-04-03 23:51:02 -0400</a>

View File

@@ -0,0 +1,245 @@
A Manifesto for Preserving Content on the Web
This Page is Designed to Last
By Jeff Huang, published 2019-12-19, updated 2021-08-24
The end of the year is an opportunity to clean up and reset for the upcoming
new semester. I found myself clearing out old bookmarks—yes, bookmarks: that
formerly beloved browser feature that seems to have lost the battle to 'address
bar autocomplete'. But this nostalgic act of tidying led me to despair.
Bookmark after bookmark led to dead link after dead link. What's vanished:
unique pieces of writing on kuro5hin about tech culture; a collection of
mathematical puzzles and their associated discussion by academics that my
father introduced me to; Woodman's Reverse Engineering tutorials from my high
school years, where I first tasted the feeling of control over software; even
my most recent bookmark, a series of posts on Google+ exposing usb-c chargers'
non-compliance with the specification, all disappeared.
This is more than just link rot, it's the increasing complexity of keeping
alive indie content on the web, leading to a reliance on platforms and
time-sorted publication formats (blogs, feeds, tweets).
Of course, I have also contributed to the problem. A paper I published 7 years
ago has an abstract that includes a demo link, which has been taken over by a
spammy page with a pumpkin picture on it. Part of that lapse was laziness to
avoid having to renew and keep a functioning web application up year after
year.
I've recommended my students to push websites to Heroku, and publish portfolios
on Wix. Yet every platform with irreplaceable content dies off some day.
Geocities, LiveJournal, what.cd, now Yahoo Groups. One day, Medium, Twitter,
and even hosting services like GitHub Pages will be plundered then discarded
when they can no longer grow or cannot find a working business model.
The problem is multi-faceted. First, content takes effort to maintain. The
content may need updating to remain relevant, and will eventually have to be
rehosted. A lot of content, what used to be the vast majority of content, was
put up by individuals. But individuals (maybe you?) lose interest, so one day
maybe you just don't want to deal with migrating a website to a new hosting
provider.
Second, a growing set of libraries and frameworks are making the web more
sophisticated but also more complex. First came jquery, then bootstrap, npm,
angular, grunt, webpack, and more. If you are a web developer who is keeping up
with the latest, then that's not a problem.
But if not, maybe you are an embedded systems programmer or startup CTO or
enterprise Java developer or chemistry PhD student, sure you could probably
figure out how to set up some web server and toolchain, but will you keep this
up year after year, decade after decade? Probably not, and when the next year
when you encounter a package dependency problem or figure out how to regenerate
your html files, you might just throw your hands up and zip up the files to
deal with "later". Even simple technology stacks like static site generators
(e.g., Jekyll) require a workflow and will stop working at some point. You fall
into npm dependency hell, and forget the command to package a release. And
having a website with multiple html pages is complex; how would you know how
each page links to each other? index.html.old, Copy of about.html, index.html
(1), nav.html?
Third, and this has been touted by others already (and even rebutted), the
disappearance of the public web in favor of mobile and web apps, walled gardens
(Facebook pages), just-in-time WebSockets loading, and AMP decreases the
proportion of the web on the world wide web, which now seems more like a
continental web than a "world wide web".
So for these problems, what can we do about it? It's not such a simple problem
that can be solved in this one article. The Wayback Machine and archive.org
helps keep some content around for longer. And sometimes an altruistic
individual rehosts the content elsewhere.
But the solution needs to be multi-pronged. How do we make web content that can
last and be maintained for at least 10 years? As someone studying
human-computer interaction, I naturally think of the stakeholders we aren't
supporting. Right now putting up web content is optimized for either the
professional web developer (who use the latest frameworks and workflows) or the
non-tech savvy user (who use a platform).
But I think we should consider both 1) the casual web content "maintainer",
someone who doesn't constantly stay up to date with the latest web
technologies, which means the website needs to have low maintenance needs; 2)
and the crawlers who preserve the content and personal archivers, the
"archiver", which means the website should be easy to save and interpret.
So my proposal is seven unconventional guidelines in how we handle websites
designed to be informative, to make them easy to maintain and preserve. The
guiding intention is that the maintainer will try to keep the website up for at
least 10 years, maybe even 20 or 30 years. These are not controversial views
necessarily, but are aspirations that are not mainstream—a manifesto for a
long-lasting website.
1. Return to vanilla HTML/CSS I think we've reached the point where html/css
is more powerful, and nicer to use than ever before. Instead of starting
with a giant template filled with .js includes, it's now okay to just write
plain HTML from scratch again. CSS Flexbox and Grid, canvas, Selectors,
box-shadow, the video element, filter, etc. eliminate a lot of the need for
JavaScript libraries. We can avoid jquery and bootstrap when they're not
needed. The more libraries incorporated into the website, the more fragile
it becomes. Skip the polyfills and CSS prefixes, and stick with the CSS
attributes that work across all browsers. And frequently validate your
HTML; it could save you a headache in the future when you encounter a bug.
2. Don't minimize that HTML minimizing (compressing) your HTML and
associated CSS/JS seems like it saves precious bandwidth and all the big
companies are doing it. But why not? Well, you don't save much because your
web pages should be gzipped before being sent over the network, so
preemptively shrinking your content probably doesn't do much to save
bandwidth if anything at all. But even if it did save a few bytes (it's
just text in the end), you now need to have a build process and to add this
to your workflow, so updating a website just became more complex. If
there's a bug or future incompatibility in the html, the minimized form is
harder to debug. And it's unfriendly to your users; so many people got
their start with HTML by smashing that View Source button, and minimizing
your HTML prevents this ideal of learning by seeing what they did.
Minimizing HTML does not preserve its educational quality, and what gets
archived is only the resulting codejunk.
3. Prefer one page over several several pages are hard to maintain. You can
lose track of which pages link to what, and it also leads to some system of
page templates to reduce redundancy. How many pages can one person really
maintain? Having one file, probably just an index.html, is simple and
unforgettable. Make use of that infinite vertical scroll. You never have to
dig around your files or grep to see where some content lies. And how
should your version control that file? Should you use git? Shove them in an
'old/' folder? Well I like the simple approach of naming old files with the
date they are retired, like index.20191213.html. Using the ISO format of
the date makes it so that it sorts easily, and there's no confusion between
American and European date formats. If I have multiple versions in one day,
I would use a style similar to that which is customary in log files, of
index.20191213.1.html. A nice side effect is then you can access an older
version of the file if you remember the date, without logging into the web
host.
4. End all forms of hotlinking this cautionary word seems to have
disappeared from internet vocabulary, but it's one of the reasons I've seen
a perfectly good website fall apart for no reason. Stop directly including
images from other websites, stop "borrowing" stylesheets by just linking to
them, and especially stop linking to JavaScript files, even the ones hosted
by the original developers. Hotlinking is usually considered rude since
your visitors use someone else's bandwidth, it makes the user experience
slower, you let another website track your users, and worse of all if the
location you're linking to changes their folder structure or just goes
offline, then the failure cascades to your website as well. Google
Analytics is unnecessary; store your own server logs and set up GoAccess or
cut them up however you like, giving you more detailed statistics. Don't
give away your logs to Google for free.
5. Stick with native fonts we're focusing on content first, so decorative
and unusual typefaces are completely unnecessary. Stick with either the 13
web-safe fonts or a system font stack that matches the default font to the
operating system of your visitor. Using the system font stack might look a
bit different between operating systems, but your layout shouldn't be so
brittle that an extra word wrap will ruin it. Then you don't have to worry
about the flashing font problem either. Your focus should be about
delivering the content to the user effectively and making the choice of
font be invisible, rather than getting noticed to stroke your design ego.
6. Obsessively compress your images faster for your users, less space to
archive, and easier to maintain when you don't have to back up a humongous
folder. Your images can have the same high quality, but be smaller. Minify
your SVGs, losslessly compress your PNGs, generate JPEGs to exactly fit the
width of the image. It's worth spending some time figuring out the most
optimal way to compress and reduce the size of your images without losing
quality. And once WebP gains support on Safari, switch over to that format.
Ruthlessly minimize the total size of your website and keep it as small as
possible. Every MB can cost someone real money, and in fact, my mobile
carrier (Google Fi) charges a cent per MB, so a 25 MB website which is
fairly common nowadays, costs a quarter itself, about as much as a
newspaper when I was a child.
7. Eliminate the broken URL risk there are monitoring services that will
tell you when your URL is down, preventing you from realizing one day that
your homepage hasn't been loading for a month and the search engines have
deindexed it. Because 10 years is longer than most hard drives or operating
systems are meant to last. But to eliminate the risk of a URL breaking
completely, set up a second monitoring service. Because if the first one
stops for any reason (they move to a pay model, they shut down, you forget
to renew something, etc.) you will still get one notification when your URL
is down, then realize the other monitoring service is down because you
didn't get the second notification. Remember that we're trying to keep
something up for over 10 years (ideally way longer, even 30 years), and a
lot of services will shut down during this period, so two monitoring
services is safer.
After doing these things, go ahead and place a bit of text in the footer, "The
page was designed to last", linking to this page explaining what that means.
The words promise that the maintainer will do their best to follow the ideas in
this manifesto.
Before you protest, this is obviously not for web applications. If you are
making an application, then make your web or mobile app with the workflow you
need. I don't even know any web applications that have remained similarly
functioning over 10 years so it seems like a lost cause anyway (except Philip
Guo's python tutor, due to his minimalist strategy for maintaining it). It's
also not for websites maintained by an organization like Wikipedia or Twitter.
The salaries for an IT team is probably enough to keep a website alive for a
while.
In fact, it's not even that important you strictly follow the 7 "rules", as
they're more of a provocation than strict rules.
But let's say some small part of the web starts designing websites to last for
content that is meant to last. What happens then? Well, people may prefer to
link to them since they have a promise of working in the future. People more
generally may be more mindful of making their pages more permanent. And users
and archivers both save bandwidth when visiting and storing these pages.
The effects are long term, but the achievements are incremental and can be
implemented by website owners without being dependent on anyone else or waiting
for a network effect. You can do this now for your website, and that already
would be a positive outcome. Like using a recycled shopping bag instead of a
taking a plastic one, it's a small individual action.
This article is meant to provoke and lead to individual action, not propose a
complete solution to the decaying web. It's a small simple step for a complex
sociotechnical system. So I'd love to see this happen. I intend to keep this
page up for at least 10 years.
If you are interested in receiving updates to irchiver, our project for a
personal archive of the web pages you visit, please subscribe here.
Thanks to my Ph.D. students Shaun Wallace, Nediyana Daskalova, Talie Massachi,
Alexandra Papoutsaki, my colleagues James Tompkin, Stephen Bach, my teaching
assistant Kathleen Chai, and my research assistant Yusuf Karim for feedback on
earlier drafts.
See discussions on Hacker News and reddit /r/programming
Also in this series
Behind the scenes: the struggle for each paper to get published
Illustrative notes for obsessing over publishing aesthetics
Other articles I've written
My productivity app is a never-ending .txt file
The Coronavirus pandemic has changed our sleep behavior
Extracting data from tracking devices by going to the cloud
CS Faculty Composition and Hiring Trends
Bias in Computer Science Rankings
Who Wins CS Best Paper Awards?
Verified Computer Science Ph.D. Stipends
This page is designed to last.