3,016 Matching Annotations
  1. Mar 2022
    1. Open source is the ideology that all software should be free.

      It's weird that in 2021 this canard associated with conflating libre and gratis is still showing up.

    1. she became wise for a world that's no longer here

      This might just be true for Tim's grandma, but something people neglect generally is that you can find just as much bad advice elsewhere—where wisdom from another time is not the reason. Some people just have no idea what they're talking about—and they're never going to be subjected to a fitness function that culls the nonsense they dispense.

    1. Many of the items in the docuverse are not static, run-of-the-mill materials, i.e. unformatted text, graphics, database files, or whatever. They are, in fact, executable programs, materials that from a docuverse perspective can be viewed as Executable Documents (EDs). Such programs run the gamut from the simplest COBOL or C program to massive expert systems and FORTRAN programs. Since the docuverse address scheme allows us to link documents at will, we can link together compiled code, source code, and descriptive material in hypertext fashion. Now, if, in addition, we can prepare and link to an executable document an Input-Output Document (IOD), a document specifying a program's input and output requirements and behavior, and an RWI describing the IOD, we can entertain the notion of integrating data and programs that were not originally designed to work together.
    2. Real-world Interpretation (RWI)
    1. If you happen to annotate page three, and then weeks or years later visit the single page view wouldn’t you want to see the annotation you made? If the tool you are using queries for annotations using only the URL of the document you are viewing you won’t see it.
    2. A primary challenge is that documents, especially online ones, change frequently.

      But they don't. They get re-issued (https://hypothes.is/a/FWEDwInLEeyhtVeF1gArUw) and their associated identifier (URI) gets re-used for the new version, and the original issues get routinely "disappeared". This is a failure to carry out TBL's original vision for the Web in practice–where every article is given a name that can be systematically (mechanically) resolved, or if not that, then at least used as a handle to unambiguously refer to the thing.

    3. anarchic and populist
    4. this page
    5. On-Demand Web Archiving Project

      Perversely, this link is a 404.

    6. With Hypothesis, you can add suggestions and additions as an overlay on current content easily and quickly.  For example, you can provide proper citations or additional information on a topic, note grammatical errors or factual inaccuracies. Experienced Wikipedia editors can then follow up and work with you to add your recommendations to the article.

      The problem with this, generally, but esp. affecting wikis in particular, is that you end up with orphaned and irrelevant/out-of-date annotations.

      Hypothes.is should select an appropriate link relation (in the vein of what it now does with canonical) and scope the annotation appropriately—even if the user does not actually have his or her browser pointed at the exact revision that is "current".

    7. go to

      This tool should be a "codebook"—a downloadable document meant to be stored in an offline copy e.g. on the user's local disk, a la PDF (except still actually HTML, as here). I shouldn't need to "go to" anywhere to use it; that should only be necessary to get it the first time.

    1. I wish education was based around this principle.

      This is a recurring grievance of mine with the way most people approach writing documentation. Closely related: code comments should explain the why, not the what (or worse the how—which just ends up rehashing the code itself).

      Too many people try to launch right in and explain what they're doing—their solution to a problem—without ever adequately outlining the problem itself. This might seem like too much of a hassle for your readers, but often when the problem is explained well enough, people don't actually need to read your explanation of the solution.

    1. wabac.js 1.0 also included a built-in UI component. This version is still available at https://wab.ac/

      Nah.

    1. What is a document in this world? A list of block addresses.If I read it right, this is more or less how Roam’s block-based hypertext works.

      This is also, more or less, how Git works, albeit it at a different granularity. In Git, you want your working directory to include a series* of files. The Git "database" knows about a bunch of different file contents (blobs) which could be in your working directory, then the Git command-line tool puts such a collection together from a tree of those parts. With the Nelson-inspired "thought legos" described here, the files themselves comprise a list of more granular objects further still, arranged in a specific order* to form a document.

      * This might be considered another difference: we generally don't think of a directory of files as being ordered—we do make use of various machine-sorted views, e.g. inside a file explorer, but that ordering is not inherent to the model itself, just how a given client chooses to display it.

    1. While these two annotations dependupon one another in order to make sense and point to differentparts of the documentation, Hypothesis does not allow for theseannotations to reference one another, suggesting a need for bettertooling support for multiple anchors for annotations
    1. Native Cocoa interface for macOS Qt based interface for Linux.

      Let's just all agree that Cocoa should be the cross-platform interface toolkit. The time is better than ever, given the Oracle v. Google decision, and considering that SwiftUi has materialized, Apple is less likely to regard it as "theirs", anyway.

    1. Streaming services made long days and nights of confinement more bearable, delivering content to our devices with video streaming services reaching 1.1 billion global subscribers in 2020. Netflix alone added 36 million subscribers.

      Netflix is not particularly "Webby", though...

  2. citeseerx.ist.psu.edu citeseerx.ist.psu.edu
    1. The complete overlapping of readers’ and authors’ roles are important evolution steps towards a fully writable web, as is the ability of deriving personal versions of other authors’ pages.
    2. Writing for the web is still a complex and technically sophisticated activity. Too many tools, languages, protocols, expectations and requirements have to be considered together for the creation of web pages and sites.
    1. I chose HTML not to be a programming language

      This sort of thing comes up a lot and results in really stupid discussions—almost as stupid as the late '90s/early '00s tendency to distinguish between "programming languages" and "scripting languages". Say hello to category error. (Worse, i once ran across someone insisting that inert sequences written in e.g. declarative languages cannot be referred to as "code".)

      The distinction people want to make in the case of HTML versus other languages tends to be *markup languages" as distinct from languages that are regularly used for doing von Neumann-style computation. Sometimes, then, people will offer up up a reference to the term "Turing-complete", but this is off, because often things are accidentally Turing-complete.

      I think this can be tamped down by using a more descriptive and more accurate term, and by avoiding "programming language" altogether when trying to make categorical distinctions. We could call them "algorithmic languages", for example, which would be shorthand for "languages whose primary intent is to be used to encode stored programs featuring algorithmic control".

    1. Forexample, Figure 1 shows a screenshot of a news site. If we look at the visual rendering ofthe page, the segments are clearly differentiated. For example, on can easily look at the vi-sual rendering and can differentiate the header which has red background colour, top menuwhich has black and grey background colour, headline news which has a bigger image anda larger text for the header, etc. However, when we look at the source code we cannotsee such kind of clear segmentation

      Something to consider regarding TBL's comments in the Axioms of Web Architecture:

      If, for example, a web page with weather data has RDF describing that data, a user can retrieve it as a table, perhaps average it, plot it, deduce things from it in combination with other information. At the other end of the scale is the weather information portrayed by the cunning Java applet. While this might allow a very cool user interface, it cannot be analyzed at all. The search engine finding the page will have no idea of what the data is or what it is about. This the only way to find out what a Java applet means is to set it running in front of a person.

      https://www.w3.org/DesignIssues/Principles.html#PLP

    1. This paper is from the Proceedings of the Eighteenth Conference on Hypertext and Hypermedia (HT '07) https://doi.org/10.1145/1286240.1286303.

    2. One document is assumed to be one file-- a strange requirement, but it reinforces the one-way linkage restriction currently in place on the World Wide Web.

      See "From PDF to PWP: A vision for compound web documents" https://blog.jonudell.net/2016/10/15/from-pdf-to-pwp-a-vision-for-compound-web-documents/

      I'd argue that the property described is not a property of the Web, to its discredit. Udell's piece gives a good overview of why it would be desirable if it were, contra Nelson et al.

    3. (Since the HTML file contains the links, they can only point outward.)

      Huh?

    4. The standard paradigm of files, unquestioned almost everywhere, drastically affects how everything works.

      See more of Ted on files in "The Tyranny of the File", Datamation, 1986 December 15.

    1. Why Is HCI Deprioritized?

      The author omitted cognitive errors and stupid macho bullshit.

    2. the complexity is not intellectually rich. Substantial coordination between tools is required to perform simple operations. This busywork draws from a finite pool of cognitive resources
    1. if you can grant semi-permanent access to a folder - then web applications can also be local-first applications: you can own your data, in spite of the cloud

      I've looked a lot into the file-saving problem over the years. Tom describes the problem in a succinct enough way:

      Let’s say you’re building a graphics editor and someone can save their work as file.svg. If this were a desktop application, they could press ⌘s to save again. Or you might even auto-save to the file. You can’t do this on the web: every time you save a file, it’ll go through the same “Save as…” workflow, which asks you to choose a location and confirms if you overwrite an existing file.

      The reality is that this is cumbersome, but it's not a showstopper. Any application author caring to let you run local-first applications where you own the data can do so.

      The effect that the new file system API is likely to have is to see it abused to the point that lots of people lose even more control of their data and (because of that) others are wary of granting permissions at all, due to overbroad privilege requests. The status quo, even cumbersome as it is, is actually more of an enabler for user-controlled, local-first applications and strong data ownership "rights".

      The API designers should step back from the current kitchen sink design for file access and narrowly address the specific ergonomics issues described in the quoted bit relating to ⌘s and file overwrites.

      (One workaround that I've come up with to the file overwrite problem is to pack up opaque "checkpoint" files and educate the user that the correct way to work is to save them all to a common directory. You generate a unique name each time, so while even though the user must explicitly do a little bit of a dance with the system filepicker dialog, they are never prompted with the "[Are you sure you want to overwrite...?]" warning. The dance with the filepicker is also minimal, since the browser remembers the last location, so it more or less amounts to an explicit notification that the app is saving new data with an optional way for the user to seize control and write it elsewhere if they choose. When it comes time to open up a previous project, rather than picking a single file, they point at the directory containing all the checkpoint files. The app reads these in and reconstructs the state. [Side note: the ZIP format's internal data structures work passably for this. The concatenation of the content of all the checkpoint files files comprises the ZIP bytestream.] It sounds janky, but on reflection this is really only true because it violates some expectations about how things should work based on familiarity with other workflows. Doing things this way means also that you can get version history almost for free—something that otherwise takes a lot of intentional and clever design and generally only shows up in mature apps with lots of engineering resources. But, to repeat, using this "ZIP-chunks" approach, you get it as a byproduct of having to work within the constraints of the browser sandbox. Sometimes constraints are useful for creation.)

    1. front-end dumpster fires, where nothing that is over 18 months old, can build, compile or get support anymore. In my day job, I inherit "fun" tasks as 'get this thing someone glued together with webpack4 and frontend-du-jour to work with webpack5 in 2022
    1. Literate programs allow you to answer these questions naturally.

      And in environments without tangle and weave, you can get pretty far by just making sure to write code top-down.

    1. An element in XML (in particular XUL and HTML elements) can point to a specific binding in an XBL file. The location of this file is specifiable using CSS.

      Very unfortunate design choice.. This was always a rough spot dealing with XBL.

    1. A third quality that we think is necessary for end-user programming is an in-place toolchain. The user should be able to edit their programs without installing additional tools or programs.
    1. it's usually due to the misapplication of healthy open source principles

      The effect of handling open source the way it's popularly practiced on GitHub does not get nearly enough scrutiny for its role in e.g. maintainer burnout. Pretty much every project I see on GitHub does things that are obviously bad—or at least it should be obvious*—and neither are they sustainable, nor even a particularly good way to try to get work done, assuming that that's your imperative. It is probably the case, however, that that assumption is a bad one.

      * I've slowly come to realize and accept that this stuff is not obvious to lots of people, because it's all they know—whether that means that that should affect whether its negative consequences are obvious is something that I'm inclined heavily to argue that "no, it shouldn't affect it; it should still be obvious that it's bad even then", but empirically, it seems that my instinct is wrong.

  3. srconstantin.wordpress.com srconstantin.wordpress.com
    1. Obscurantism belongs to Ra.

    2. commonly claimed drivers of institutional decay, like “knowledge problems” or “coordination problems”
    1. I tried building Firefox once but I wasn't able to, it's slightly outside of my competences at the moment
    1. Need better evidence for cosmic unfairness and against the just-world fallacy?

      's a shame that such a high earner can't/doesn't spot their error in associating $33,000 of "annual post-tax household income" with "$33,000 USD/month" (even after encountering surprising results that one would expect would cause them question themselves).

      I wonder how many people who could benefit from the suggested $39,600 donation wouldn't have made the same mistake (and could go on to create that much value many times over to humanity—maybe even greater than that amount to the donor themselves, indirectly).

    1. Don’t read the code before learning to build the project. Too often, I see people get bogged down trying to understand the source code of a project before they’ve learned how to build it. For me, part of that learning process is experimenting and breaking things, and its hard to experiment and break a software project without being able to build it.
    1. why would step 1 be "become a user"? I ask because I don't fully grok why I would want to contribute to a project I don't use

      Then it sounds like you're in full agreement that step 1 should be "become a user". So why is this comment written as if it dissents? (The question should be worded "Under what circumstances would step 1 be anything other than 'become a user'?", to avoid sounding like criticism of what is actually a shared belief.)

    1. YAGNI (You Ain’t Gonna Need It) trumps DRY (Don’t Repeat Yourself)

      When people err on the side of advising for things to be overly DRY, I prefer to counter it by advocating for TRY (Try Repeating Yourself). Only after you've actually tried the copy-and-paste approach and have run into actual (vs imagined) issues should you refactor more for the DRY side.

      See also: "A little copying is better than a little dependency." * https://go-proverbs.github.io/ * https://www.youtube.com/watch?v=PAAkCSZUG1c&t=9m28s

  4. people.csail.mit.edu people.csail.mit.edu
    1. Lesson: avoid use of this; work around by defining that

      No. Actual lesson: don't do crazy shit; if you're trying to code defensively against this, then your code is too hard to understand, anyway, and you've got bigger problems. (See also: overuse of triple equals and treating it like an amulet to ward off unwanted spirits.)

    2. Lesson: design constructors that don't use new

      wat

    3. Lesson: use === and !==

      No. Actual lesson: know your types.

    1. this study found that only 25% of Jupyter notebooks could be executed, and of those, only 4% actually reproduced the same results

    Tags

    Annotators

    1. but they would have to find it for it to be of any use to them, and this is something I only have so much energy to advertise.

      This is where widespread awareness of annotations would be useful. A service like Hypothes.is inherently functions as a sort of hub for relaying gossip about a given resource.

    2. That’s a time savings of several orders of magnitude, but what would it take to also relieve me (or whoever) of this burden? Probably not much more than the initial effort, if it was done in the right place.

      the need for an ombudsman or viable "fanclub economy"

    3. Indeed, it almost certainly took longer to write this code than it would have taken to just transcribe the information by hand directly into iCal.
    4. the department knew it was happening and almost certainly has a master calendar somewhere that features months worth of programming for every facility under its control. So a couple questions:Why so stingy with that data?Why not publish it in a format that people will actually use?This information is not very useful on some random, deep-linked webpage
    5. Linked data makes it possible to completely decouple computable information from the system that ordinarily houses it.
    1. Isn't this piece a longwinded way of saying that the adage "If you want something done right you have to do it yourself" is accurate?

    2. you'll often see people claiming "that's just how the world is" and going further and saying that there is no other way the world could be
    3. for the most part, people bought the party line and pushed for a migration regardless of the specifics

      Tailorism requires Taylorism. If you fail at the latter, you'll never be able to reason accurately about the former.

    4. he assumed that someone whose job it is to work on air conditioners would give him non-terrible advice about air conditioners

      He made the mistake of not realizing that ninety percent of everything is crap. ("Everything" includes jobs filled by people who may or may not have any competence in spite of their insider status.)

    5. there also isn't a mechanism that allows actors in the system to exploit the inefficiency in a way that directly converts money into more money
    6. It's a truism that published results about market inefficiencies stop being true the moment they're published because people exploit the inefficiency until it disappears.

      I learned from Scott Alexander that these systems are "anti-inductive".

    7. markets enforce efficiency, so it's not possible that a company can have some major inefficiency and survive

      A memo to myself last week on this topic: people—even smart ones—still have trouble wrangling the implications of natural selection.

      Natural selection does not mean survival of the fittest. It means survival of the good enough.

      There was more to it than that, but funnily enough, there's this part:

      Dan Luu writes of Twitter and companies generally that they should continue to hire so long as it makes financial sense, and what makes financial sense is defined by an equation where savings at the margin is one component

      Understanding this is important, not just for the reasons that Dan mentions in the linked ("I could do that in a weekend!") piece, but because it gives companies a budget for inefficiency.

      Companies can make non-optimal decisions. (Deleterious ones, even.a^1 a^2)

      Instant death is not really a thing, although most misunderstandings demand that it is (as in the case of the parable of the "non-existent" 20-dollar bill). This is the timeless fallacy.

      When i was working this into a starter for a potential standalone piece, i drafted the following passage, hoping to use it as an intro:

      This is not a piece about biology. It is not even a piece about humans' understanding of biology. It is a piece about humans and humans' inability to grapple with particularly counterintuitive concepts (like natural selection).

      i also jotted down the phrase "cognitive fluency".

    1. if you're dominating such a market, you can make a massive number of bad decisions

      Market domination is not even a precondition. Of course, non-market-dominance plus bad decisions won't beget dominance, but so-so organizations can continue to be so-so for a really long time.

    1. should the CSS WG even care that a third-party code base’s syntax gets trampled on

      No.

    1. A stupid person is a person who causes losses to another person or to a group of persons while himself deriving no gain and even possibly incurring losses.

      This is a great piece of writing with an extremely unfortunate title. On review, it's shown to describe a model with fairly rigorous definitions.

    1. The truth of the matter is that people do most of their computing on phones.People conduct serious business on phones. Mobile apps and sites are more important to products that we would all assume are “sit down at a desktop computer” type of products.Any effort you put into a desktop-only app is basically leaving most of the money on the table
    1. There was at one time a leaderboard.

      Key word "was". Perversely, now it's a 404.

    1. RSS definitely lends itself very well to server side processing

      Huh?

    1. I would be peeved at the typos in the slide.

      There are serious problems with the linked article.

      It appears that the slide pictured in this post (incl. typos) is an inaccurate (fake) copy of what was actually presented in 2003. Either the author or someone else seems to have fabricated it for some reason, perhaps to sweeten the circumstances to better support the author's original contributions to this topic. (Quoted; see below.) Or maybe not, but it's beside the point—which is that the slide as pictured is not an accurate facsimile of the original, but is misleadingly presented as if it might be lifted straight from the source material.

      The choice to use this fabricated material for this article and the false claims in it—claims not actually confirmed by the sources that it cites—amounts to what would be considered serious misconduct elsewhere.

      Here's the original contribution from the author of this post:

      Imagine if the engineers had put up a slide with just: “foam strike more than 600 times bigger than test data.” Maybe NASA would have listened. Maybe they wouldn’t have attempted re-entry. Next time you’re asked to give a talk remember Columbia. Don’t just jump to your laptop and write out slides of text. Think about your message. Don’t let that message be lost amongst text.

      This is the main conclusion of the post, and it's a recapitulation of some earlier statements:

      Thirdly, there is a huge amount of text, more than 100 words[...] the single most important fact, that the foam strike had occurred at forces massively out of test conditions, is hidden at the very bottom. Twelve little words which the audience would have had to wade through more than 100 to get to. If they even managed to keep reading to that point.

      These statements are misleadingly presented in the article as if is they are representative of Tufte's findings. Trying to confirm this reveals that it is not. Worse, unfortunately, is that it can be disconfirmed; the position laid out in the sources cited runs counter to what is purported here to be be a summary of those sources' findings.

      The author of this piece would have us believe that Tufte and the investigation board wants us to create better, terser slideshows for these high-risk/high-impact situations—a position that could be described as lean in even more: PowerPoint harder. That cannot be further from the truth.

      The position Tufte lays out is that the choice to rely on a series of slides these circumstances represents a serious cognitive lapse. The report of the investigation board itself is critical of the organizational culture where misuse of PowerPoint is "endemic". (Bizarrely, the article actually uses this salient quote—and proceeds to bulldoze past it to present its counterconclusion.) Tufte's notes quote a followup report by a subsequent group that had harsh things to say about an organization that continues in a manner where "instead of concise engineering reports, decisions and their associated rationale are often contained solely within Microsoft PowerPoint charts or emails." The cited sources go on this fashion at length. What they don't do is support the claims or original advice presented in Thomas's "Death by PowerPoint: the slide that killed seven people" article that prescribes the opposite.

    1. "The oversight [of scientific data] is now vastly diminished. Even within the laboratory environment, many students and post-docs and scientists are not showing raw data anymore. They're showing PowerPoint presentations. That gives the individual, if they're so inclined, the ability to manipulate data right up-front. Unless a mentor is vigilant, there's a real breakdown."

      i've seen the same thing happen with slides created for wafers entering the Abnormal Lot Processing System at Samsung. The point is to err on the side of containment to prevent defects from shipping, but what happens is that engineers end throwing together inscrutable data with no narrative throughline. It's a fair bet that for any given lot that enters the system, the person submitting the associated documentation themselves doesn't actually understand what's going on—either the thing at issue that led to ALPS in the first place, or an understanding that ALPS is just a series of checks and balances to make sure that the scientific process is being adhered to.

    2. They emphasize using visual models to express ideas rather than a lot of text, and value the ability to have all of the pertinent information within a single field of vision.

      This sounds like exactly what motivates most authors of crummy PowerPoint slide decks to do the things that they do—and exactly why the results are most frequently chaotic, not clear.

    3. From Nature, 13 July 2006, still more on PP, this from Martin Kemp, an Oxford art historian:
    4. The report is 33 slides long; yet about 10 slide-equivalents are essentially content-free (compulsive repetitive branding, twiddly hierarchical organization, empty space, assorted title pages, and so on). This PP fluffed-up material here and quite a bit more could easily be placed in a technical report on 4 pages of an 11" by 17" piece of paper (folded in half)
    5. One does not read a printout of someone's two-month old PowerPoint slides, one guesses, decodes, and attempts to glean meaning from the series of low-resolution titles, bullets, charts, and clipart. At least they do that for a while...until they give up. With a written document, however, there is no reason for shallowness or ambiguity (assuming one writes well).
    6. The distinctive cognitive style of PowerPoint

    1. Typically,each slide is succeeded by the next in sucha way that vital logical continuities fallbetween the gaps.
    1. there is a huge amount of text, more than 100 words

      That is definitely not the fucking problem. If anything, the judgment that this is "a huge amount of text" is the problem. Why was PowerPoint chosen in the first place? A: because government-adjacent engineering organizations, it seems, abhor having to read and write, so they create PowerPoint slides instead, as if this sidesteps some problem. What it ends up doing is creating them.

      The fucked up thing is that the author of this blog post seems to have taken it upon themselves to insert this personal synthesis into the piece. I cannot find support for the implied claim that this ("thirdly") point is among the conclusions that Tufte arrived at after checking the material that Tufte himself has provided on the page dedicated to this topic on his website https://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001yB (linked by the author of this piece). And of course, this is unsurprising, since this opinion (the one original to the author of this piece—that there being "a huge amount of text" is a problem) runs counter to the the conclusions that Tufte actually presents...

      What's more, it looks like the author of this piece (or someone else) didn't even extract these slides from the originals, but instead chose to recreate them! I find this perplexing and an indication of extremely bad judgment, given that entire basis of this critique are the particulars of the organization and presentation of the material in question...

      What the fuck.

    2. The Board views the endemic use of PowerPoint briefing slides instead of technical papers as an illustration of the problematic methods of technical communication at NASA.
    1. What if people lack the sense of self-confidence, the sense of self-worth[...] that enables a person to be curious in the first place?

      Because I think a lack of curiosity comes from--or a lack of the capacity to be curious--comes from an incredible amount of insecurity. The desire to have power or be power hungry in the first place, it seems to me, is stemming from this profound fear of not being secure, of not having a secure sense of being. And that is affected by this undermining of the institutions and things that you spoke about, Kmele. So how do you deal with that? As a person if you don't have the sense of self-worth internally, how are you going to be curious about the world? How are you going to be allow yourself to feel safe enough to be vulnerable with others and therefore to be intemate with others?

    1. I am struggling to think of any open source project of any size beyond small NPM packages that I've experienced that do not have an arcane build system. At least all of the ones I've encountered have been incredibly obtuse, to the point that I've mostly just given up.
    1. I can enjoy my hobby in open-source without Github issues becoming a shouting match that spans 200 comments from people who aren't even invested in the codebase
    1. There are way too many dipshits who are way too happy to come out of the woodwork when this topic is brought up to try to drop an FYI wisdom nugget on you about how github.com will let you skip a few of these steps and do the edit/commit thing directly in your browser. Great job on almost entirely missing the point, morons. Let's be excruciatingly clear:

      If, at any point, "submit a PR" comes up during an explanation of how to do a run-of-the-mill edit on your project's wiki, then your project does not have a wiki.

    1. From the homepage:

      Repla is a macOS app that can[...]

      That's like the complete opposite of "just give me a document that I can double click to open from disk and view in my browser"...

    1. having to install 12gb xcode so i can convert my chrome extension to safari. or my local env/build system stop working because i update from catalina to big sur

    Tags

    Annotators

    1. I just dislike how non-native it feels and looks.

      I suspect VS Code's non-native look has actually contributed to the uptake from a subset of its users. A fullscreen terminal-based editor like Vim is also non-native as far as widget sets are concerned, but pleasantly so in at least one respect. When Chrome was released, when you asked people what they liked about it, sure they'd say it was fast and whatnot, but for a non-trivial segment of the world, they just liked how visually slim it was. They appreciated how little chrome was actually in Chrome. VS Code managed to reap dividends on its imports of the same approach to its "shell", even while not being particularly fast. (People point to VS Code as an example of a snappy Electron app, and they're not wrong insofar as the comparison goes to other typical Electron apps; on an absolute, non-weight-class-adjusted scale, though, VS Code is still pretty clunky—people just ignore it because of how slim it appears in comparison to IDEs like MonoDevelop[1].)

      1. https://upload.wikimedia.org/wikipedia/commons/0/01/Monodevelop-main-window.png
    1. This complaint reflects an obsession that also explains a continual interest in today's news. It's not quite FOMO. Rather, it's an agitation that no one is producing anything which you can miss out on!

      This is not something that should be lamented. Technological progress should be cumulative (along witth non-technological progress, for that matter).

    1. Grids like these are user-hostile—a clear choice to prioritize aesthetics over experience. In order to see what any given app does, I have to either:

      1. Figure it out by the name alone
      2. Click each one to fetch the relevant info (and wait for it to load)
      3. Mouse over each item to read the title text
    1. immediately purchased

      People are so quick to point out the lack of interest for people (and programmers, esp.) to pay for software. If this were distributed as HTML, maybe a way to hack around this unfortunate cognitive hangup would be to frame it as If you're buying an ebook: the manual for the software. It just so happens that this manual can be interpreted by a machine.

    2. I’m considering updating my Mac to Big Sur just to run this.

      Meanwhile, not only does the scope of this tool not merit the Big Sur requirement, it doesn't even require a Mac. It interaction style is so free of intracies that it could be developed (and distributed) as a single HTML file with a text input and some script blocks.

    1. Around @11:16:

      "What made HyperCard the ubiquitous product it was in the early 90s... was the fact that it was included free with every Macintosh sold. So anybody could use it to create somethnig, then share their creation with somebody else with the confidence that the other person would be able to run it."

      So that was in that day. What is the box today?

      Let me ask it another way: What is available on every computing device[...]?"


      I would encourage us all to find ways to make the system immediately available to users.

    1. To realize this potential, we must provide a medium that can be mastered by a single individual. Any barrier that exists between the user and some part of the system will eventually be a barrier to creative expression. Any part of the system that cannot be changed or that is not sufficiently general is a likely source of impediment.
    1. Paste commands triggered through a scripting API will only fire paste events and give access to clipboard contents if the implementation is configured to allow this. How implementations can be configured to allow read or write access to the clipboard is outside the scope of this specification.

      #restofthefuckingowl

    1. it doesn't mean that we actually want all the instances in the heap to be reinitialized

      It's conceivable that people would find it overly cumbersome having to deal with this when prototyping from a REPL—enough to consider it a bad experience to keep them from trying.

      A live IDE could recognize that the user probably doesn't want that to happen for a given object, since it only just appeared a little while ago, so it should offer some fixup to save time for the user.

    1. I you want to get really pedantic with the use of "literally": you're misquoting him.

      Not the first time I've seen this sort of thing, but certainly the most egregious instance I know of. (What the hell was going on when 'hhjinks' typed that out and hit "reply"?)

    1. We've gone from "copyright infringement" to words like stealing and theft. They're fundamentally different concepts which were intentionally mixed up. If I steal from you, you no longer have what I've stolen. If I copy your software, you still have it

      I know people are really fond of this talking point, but it doesn't hold up.

      if you come to work at my sandwich shop, and you show up every day to make sandwiches, and then payday comes and I stiff you, then I have definitely stolen from you.

      The strongest retort to this is that this would be an instance of fraud, since in the sandwich shop we probably came to an agreement beforehand that I would pay you e.g. $15 per hour, but in the case of IP, this is incomparable because we never agreed to anything. This is pretty straightforwardly addressed by the observation that we live in a society where IP laws are in effect, so regardless of how any one person feels about IP in the abstract, we're all bound by the rules that are known at the outset. Because your decision as the creator to move forward and create the thing was predicated on an understanding that the rules are such as they are, then I actually do have an obligation to observe them just the same as my obligation not to stiff you for making my sandwiches. I don't get to start a game of Parcheesi with you under the pretense that we're going to play fair and then reveal midway through that I won't be governed by all the rules on basis that I don't believe that they're entirely justified. Fairness cannot follow from false pretense.

      The one way that it would be fair would be if I made my position known from the beginning and then everyone agreed to play anyway under my augmented ruleset, but it's important to observe that the obligation lies with me. What this doesn't mean, in a society with IP laws, is that it would be sufficient for me to declare (e.g. in a manifesto posted to my blog, or in an Internet message board comment, or whispered into the night) that I don't agree with IP and then proceed to fill up on all the stuff that I'd like. What proceeding with my augmented Parcheesi ruleset looks like is disengaging from the society where IP law is in effect and moving to Russia or Shenzhen or the habitat I've set up on the edge of Schiaparelli crater.

    1. some language I wrote went straight into their court filings in a lawsuit with multibillion-dollar stakes

      Morrissettesque irony

    1. You will need a JVM installed with appropriate enviornment settings (JAVA_HOME, etc) along with Maven 2.x+. You will also need Babel as well as SIMILE Butterfly. Butterfly should be installed in a peer directory to Backstage, like
    1. I have deleted /index.html. Right now, if I visit https://crussell.ichi.city, then the server returns a 404 (but it successfully(?) gives a directory listing). This is not a problem for e.g. https://crussell.ichi.city/bookmarklets/, which similarly lacks an index.html

    1. Response #1

      It would be nice to be able to have good subject lines. I'm thinking that if you register your form, then you should also be able to register a template string that can be used to build a good subject line (like "Riku key request for riku@x.colbyrussel.com"—built from Riku key request for ${email}).

    2. 1 hour ago

      It would be nice to have actual timestamps on these. The general approach is to include this as title text at least. ("At least", because I'm sure there's some semantic way to represent it, but I'm not sure what it is.)

    3. user_id=2

      probably don't want enumerable IDs

    4. POST to https://riku.miso.town/submit?user_id=2

      Maybe for new accounts, inline the manual here.

    5. logout

      This should be a button. (GET should be idempotent and free of side effects.)

    6. https://riku.miso.town/submit?user_id=2

      it would be nice to make this a link for easy copy and paste from the context menu. (You can use an event handler in JS to admonish the user not to click it and then cancel the event—or just copy it to the clipboard.)

    1. Neat hack. Could be combined with something like a local (or statically hosted) yub to prevent leaking private information.

    1. The PA group has given the name cliche to commonly used programming constructs.

      Later the industry began to call them "patterns" (cf Gabriel).

    1. Another unanchored thought I've had on these matters is coming around to viewing namespace collision as a feature, not a bug. If a programming system is designed to allow you to link against a given module and more or less ignore any and every transitive dependency that this will bring in—because the programming environment makes it excessively easy to do so—then that's a pretty strong reason to consider whether or not that approach to information hiding is actually an anti-feature.

      On the other hand, if during your work on a program you have to reconcile the names used within the system (i.e., such that no two module names collide), then it subtly encourages you to make sure you are able to account for every module that your program depends on.

      People reflexively assume that this would make it cumbersome (or even intractable) to work on a program any larger than a toy, but empiraclly we can observe that a single, shared namespace can, by and large, scale way better than these protests would lead us to believe. It's not out of the question that a project might reach, say, 100kloc with very little friction arising as a consequence of this sort of forced reckoning. (And it's worth considering of the friction that it does impose: is it any worse than the costs we've observed over the last ~10 years from the systems that set out to solve this problem?)

    2. Understanding a strange codebase is hard.

      John Nagle is fond of making the observation that there are three fundamental and recurring questions that dominate one's concerns when programming in C.

      More broadly (speaking of software development generally), one of the two big frustrations I have when dealing with a foreign codebase is the simple question, "Where the hell does this type/function come from?" (esp. in C and, unfortunately, in Go, too, since the team didn't take the opportunity to fix it there when they could have...). There's something to be said for Intellisense-like smarts in IDEs, but I think the criticism of IDEs is justified. I shouldn't need an IDE just to be able to make sense of what I'm reading.

      The other big frustration I often have is "Where does the program really start?" Gilad Bracha seems to really get this, from what I've understood of his descriptions about how module definitions work in Newspeak. Even though it's reviled, I think Java was really shrewd about its decisions here (and on the previous problem, too, for that matter—don't know exactly where FooBar comes from? welp, at least you can be reasonably sure that it's in a file called FooBar.java somewhere, so you can do a simple (and cheap) search across file names instead of a (slow, more expensive) full-text search). Except for static initializers, Java classes are just definitions. You don't get to have live code in the top-level scope the way you can with JS or Python or Go. As cumbersome as Java's design decision might feel like it's getting in your way when you're working on your own projects and no matter how much you hate it for making you pay the boilerplate tax, when it comes to diving in to a foreign codebase, it's great when modules are "inert". They don't get to do anything, save for changing the visibility of some symbol (e.g. the FooBar of FooBar.java). If you want to know how a program works, then you can trace the whole thing, in theory, starting from main. That's really convenient when it means you don't have to think about how something might be dependent on a loop in an arbitrary file that immediately executes on import, or any other top-level diddling (i.e. critical functionality obscured by some esoteric global mutable state).

    3. Software supply chains today are easy to subvert to smuggle malicious code into people's computers.

      Something happened that caused people to get mixed up about the idea–expression distinction. The single function as a module model is fine, but that doesn't justify the concrete technical decisions behind (e.g.) node_modules. The original development practice of just pasting the relevant code into your project should not have been sacrificed to satisfy the format/conventions of deficient tools. If function X is lifted from some other quasi-authoritative source, then the tools themselves should be improved to deal with that—not force humans to carve each of these modules up into their own repo, etc.

      The design of the lix package manager for Haxe rests upon the right idea—taking the code into your repo mitigates "software erosion".

    4. build easy from source code

      That's the explicit goal of triplescripts.org in its early stage—eliminating "implicit step 0" from software development.

    5. come with source code

      Alan Kay at OOPSLA 1997: "It should travel with all the things that it needs".

      See also: - Open Source is not enough - Actually portable executables - Package distribution is source distribution

    1. I have been personally and my whole professional life on Linux for 15y. And I have the exact same feeling when I have to compile something.The waste of time to compile anything is staggering. And more often than not I give up on failure after 2h.
    1. My sense is that existing codebases don't actually contain all the information needed to truly comprehend them. The context the system runs in, and all the precise issues it guards against.
    1. That would put these great conversations as starting points into our private notes, and put selected private thoughts (and better incentives) into our conversations

      Worth considering why these private notes are not first-class Hypothes.is annotations already (even if not marked public)!

    1. tlrobinson interpreted right that codebase size should be measured in number of tokens

      Bob Nystrom is fond of avoiding LOC measurements in favor of number of semicolons.

    1. Good use of XSLT to style an otherwise boring—and unfriendly—XML document (even though I dislike some of the specifics, like the font-size override).

      The template is here: https://feeds.buzzsprout.com/styles.xsl

      Why did we decide that every static site generator should invent their own ad hoc templating system again, instead just using XSLT, which is already standardized (and browser-native)?

    1. A few comments: - I had no idea that Mac OS Server once upon a time supported wikis and that it was so featureful (includes blogs, too!). For everyone on HN and alike who are prone to saying that it needs to be easier to run a server for normal people, someone would do well to just outright copy the apparent experience showcased here. - The edit-mode transition (you can see it around @9:20) is simple and subtle and nice.

    1. writing instead of formatting

      A substantial subset of the personal homepage contingency associated with blogging advocacy "movement" doesn't understand this.

    1. Except it sucks for everybody who's left out.

      Just like GitHub makes things a non-starter today, unless you've bought in to it the way non-technical people bought in to walled gardens like Facebook and excluded everyone else.

    2. So what's not to like about Trello

      The Ui, for one.

    3. While it's true that GitHub has become more accessible to non-programmers than it once was, these folks won't be comfortable making pull requests anytime soon.

      GitHub's accessibility even wrt programmers leaves much to be desired for anyone who was familiar with highly productive workflow before GitHub came along and apparently handicapped everyone's ability to conceive how things could be any better.

    1. Tools augment our hands and our bodies. They are deeply personal. When you're invited to a barn-raising you bring your own tools. I hope we'll be able to do the same when we come together to work online.
    2. Whether to inject behavior into a Web page is my choice. How I do so is nobody's business. If a need that can be met with a bookmarklet instead requires a set of browser-specific extensions, that's a tax on developers.
    1. Despite its warts, we continue to rely on e-mail with attachments as the standard enabler of these collaborations because it is a universal solvent. Our HR folks, for example, work for a different organizational unit than I do. Implementing a common collaboration system would require effort. Exploiting the e-mail common denominator requires none.
  5. Feb 2022
    1. Rather than describing where to go on the Marriott site and what information to plug into the form when I got there, Brian composed a URL that encapsulated that data and transported me into Marriott's app in the right context.
    1. Web services and web sites are merely public facades to your internal databases

      "... unfortunately"

    1. let zeta = getProcessControl.bind(this); Object.setPrototypeOf(zeta, Object.getPrototypeOf(this)); return zeta;

      useful pattern

    2. no reference implementation of any such bookmarklet is described here

      The web app accessible from the subscriptions page maintains persistent state (browser features are reimplemented in code-on-demand payloads), so it will suffice to invoke the bookmarklet once, and then it stays resident, even across "page" "loads". So one approach would be to have the user navigate to the subscriptions page, select the subscriptions, invoke the bookmarklet, automatically navigate to the first show, have them invoke the bookmarklet again, automatically navigate to the previous page and then to the next show, have them invoke the bookmarklet again, and repeat until we've gathered everything. This would make for on the order of N clicks, where N is the number of subscriptions.

      Alternatively, it looks like the show pages are sufficiently RESTful (in the true sense), so we could just fire off a bunch of XHRs and parse the responses...

    1. This URL is referenced by Ted himself in his upload (to the Internet Archive) of the seminar "Hard and Fast Thoughts for a Softcopy World":

      <https://archive.org/details/HardAndFastThoughts1966>

      Meanwhile, a copy has already been available through IA, too:

      <https://archive.org/details/nelson-file-structure>

      (...albeit uploaded independently by Erica Fischer and not Ted.)

    1. The tool uses nodejs and once nodejs is installed, you can install the tool using:
    1. Also, this would be a good trick to use to realize "README.html":

      If folks were really committed to improving the developer experience, [...] development would work like this: ¶1. Download the project source tree ¶2. Open README.html ¶3. Drag and drop the project source onto README.html

      This is also a ripe place for the toolbench pattern to manifest.

      The README can both appear to take care of the ABCs and also act as the entry point to any other shell stowed away in the project. For example, in atticus.js, the README contains a line that says to run the tests "use tests/harness.app.htm on the project repo". We could kick off the build process, open up Contribute.app.htm, squirt the contents of README.txt.htm over there, and then display that to the user, making that region "live" (so actually getting to the test runner and running the tests is even easier).

    2. document

      Unused.

    3. this section

      Should have probably written "this entire section (including the preceding code block and the one that follows)".

    4. speak

      "to speak"

    5. code blocks

      "blocks containing our flavored pseudocode"

    6. Good opportunity here for the command-posting (postMessage-based) CLI paradigm.

    1. It's not just job postings. There are a related set of problems that should be solved here.

      The best thing that could happen for jobseekers in technical roles would probably be a guerilla effort to eliminate HR and internal recruiters from the job posting →interviewing → hiring pipeline as much as possible.

      What should this look like? A company that actively canvases for "leads" by talking directly to the prospective applicants' would-be coworkers and that compensates them for (a) high-quality, realistic, no-BS job postings that "route around" the fluff that comes out of the other parts of the org (b) information and involvement that leads to actual hires. By the time an application actually gets to the traditional handlers, it should be more or less a done-deal ready for being rubber-stamped.

      What's the source of the money faucet here? Start with existing referral programs. Maybe ask the hiree themselves to pledge a percentage of their first X paychecks (and then help them during salary negotiation to get more from the company—e.g. sign-on bonuses—than they otherwise would have gotten themselves, so it's covered).

    1. 12. 2017. What is the maximum length of a URL in differentbrowsers?http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers. (2017).
    2. 1. 2013. A History of Live Programming.http://liveprogramming.github.io/liveblog/2013/01/a-history-of-live-programming/. (Jan. 2013).
    3. 20. Andrew Cantino. 2017. SelectorGadget: point and clickCSS selectors.http://selectorgadget.com/. (2017).
    4. 32. Donald E. Knuth. 1984. Literate Programming.Comput.J.27, 2 (May 1984), 97–111.DOI:http://dx.doi.org/10.1093/comjnl/27.2.97
    5. Unlike an extension, a book-marklet works across all modern browsers and requires no in-stallation or privileged permissions, which helps eliminate theextrinsic complexities of software setup (Design Goal D1)

    Tags

    Annotators

    1. "outsider writing" and "out-insider writing" (e.g. Exporting Google Podcasts subscriptions)

    1. the guide shall be written in such a way that all we have to do is produce the guide itself and then a computer can do the heavy lifting—where we might otherwise expect a separate, possibly GUI-driven, "app" to be created for the end user to interact with, we accomplish the same effect by making the guide very detailed—in part also an attempt to evoke the style and quality of old equipment operation and repair manuals that used to be available, when such manuals could be expected to include e.g. full schematics. If done correctly, this should be sufficient for the guide itself to be interpretable by a machine.

      "comprehensive codebook"?

    Tags

    Annotators

    1. Currently you need to have Node and npm installed on your machine once this is done you can use it with the following command

      There's no real reason why Node/NPM should be required for this. You could dump the logic into a bookworms.html file and run it in the JS runtime that's already on someone's machine (their Web browser)...

    1. only jquery

      It would be nice if people would stop saying this—and saying it like this—as if it's a badge of honor. jQuery is a fuckin' beast. 10 years ago, the reason that the browser was being brought to a crawl on any given pages often came down to the fact that it was using jQuery. jQuery is the reason that bloated frameworks became normalized and brought us to where we are today. So, enough already with this just-a-little-jQuery stuff.

    1. Wordle's spread on social media was enabled in part by its low-tech approach for e.g. sharing scores.

      One low-tech approach that could've been used here for data persistence would be to generate and prompt the user to save their latest scorecard in PDF or Word format—only it's not a PDF or Word format, but instead "wordlescore.html" file, albeit one that they are able to save to disk and double click to open all the same. When they need to update their scorecard with today's data, you use window.open to show a page that prompts the user to open their most recent scorecard (using either Ctrl+/Cmd+O, or by navigating to the place where they saved it on disk via bookmark). What's not apparent on sight alone is that their wordlescore.html also contains a JS payload as an inline script. When wordlescore.html is opened, it's able to communicate with the Wordle tab via postMessage to window.opener, request the newest data from the app, and then update wordlescore.html itself as appropriate.

    1. Hammer cited a conflict between web and enterprise cultures as his reason for leaving, noting that IETF is a community that is "all about enterprise use cases" and "not capable of simple". "What is now offered is a blueprint for an authorization protocol", he noted, "that is the enterprise way", providing a "whole new frontier to sell consulting services and integration solutions"
    1. Good example of developer tunnel vision and something akin to the consultant effect or Pournelle's Iron Law—the opposite of disintermediation.

    1. I get the sense while reading this that the mentions of communities and commenters are HN and its users, just without explicitly naming either.

      Sure enough, the positive examples given link to HN, which makes me think that the negative examples where links are (probably deliberately) omitted are pulled from the HN comment section, too.

    2. I suspect we still haven’t come close to realizing the potential of even the internet technology of the 1990s

      No shit.

      There's been so much productivity regression, esp. driven by GitHub community norms, that it's exasperating to watch.

    1. The simple fact is that most users and most markets need only light-weight word processing
    1. I think PG is equivocating on "writing" here.

    2. But really I'm writing when I do this. I'm doing the mental part of writing; my fingers just aren't moving as I do it.

      So the thesis is tautologically true—and a lot less insightful. We're talking about thinking here.

    3. At best the plan is vague and incomplete. Very likely there's some undiscovered flaw that invalidates it completely. At best it's a plan for a plan.

      Simple disagree, but maybe we're not watching the same movies.

      The disconnect between the efficiency of explaining versus doing is real.

    4. Everyone watching the movie knows what that means.

      I don't understand what this means right now.

    5. Once you publish something, the convention is that whatever you wrote was what you thought before you wrote it. These were your ideas, and now you've expressed them. But you know this isn't true.

      I agree that we should not regard the conventional understanding as true—in the sense of treating it as always true. But I disagree with the suggestion of this piece, which is that it is never true.

      We shouldn't conclude too much from the existence of "broken" versions that were discarded. Much of the manufacture of clarity that comes out of writing is really just a consequence of putting it down in a way that is accessible to other people (probably, as PG says here, as a result of multiple revisions), but it's not necessary for firsthand understanding. Suppose I write some code, and it is correct. Later, I revise it to be clearer to a wandering party. This takes work, but have I accomplished anything with respect to what PG is saying here? Did I, when originally setting out to put it into a fixed form, find that my understanding was lacking and have to confront this and then only after reconciling the issue truly understand it—whereas I didn't before? No. It was correct before, and it's not more correct now; it's possible that I understood it perfectly well, I just didn't understand how to better explain it to others.

    1. > And someone who never writes has no fully formed ideas about anything nontrivial.This would imply that Socrates only had trivial ideas. Socrates would disagree with this statement, and so would a large number of people. This belief seems like a cognitive bias to me. If you prefer written ideas, unwritten ideas may seem trivial to you.

      Additionally, on the topic of fully formedness, when I write, a possible outcome is that the result is an incomplete snapshot (a less fully formed version) of the full version in my head. Writing is almost always IO-bound.

      cf Carl Sagan as Mr. X, and Ted Nelson on nonlinear structure.

    1. writing simply keeps you honest

      No. Counterexample: "it turns out". And I've run into my share of pithy HN comments conveying some choice heavy-lifting thought terminator. The simple writing in these instances is usually employed to cover up dishonesty—for the same reason that Mencken's quip about non-solutions that are "neat, plausible, and wrong" is often transformed to additionally characterize the offending offer as "simple"—because people know how effective a helper simplicity is to duplicity.

    1. Others because they want privacy

      AIUI, your account's contribution graph and feed are still public, not private, without a way to opt out—just like on GitHub.

    2. since then I hate the Node JS ecosystem

      So Gitea—or Codeberg, at least—should be amenable to the suggestion of un-messing the process of self-hosting where it brings the aspiring self-hoster into contact with NodeJS/NPM silliness. Make that part optional.

    1. Computer keyboards have been around since the 1950s

      But, notably, you can't assume their availability, due to touch-based devices.

    2. the only way to be completely protected from code rot is to target a platform that never changes

      More specifically, never changes anything in a way that causes breakage. (Platforms that change in a way that is merely cumulative are not a problem.)

    3. pick libraries that have a long history of being stable, well-maintained, backwards compatible and easy to install

      Counterintuitively, this is probably not the correct course of action. Related: https://hypothes.is/a/cd4J-uM1EeuKF1NB5CRzbQ

    4. How much time do we collectively waste, every year, fixing bugs due to broken dependencies?
    5. Researchers are encouraged to publish their code for the sake of replicability, but there’s not much point if nobody else is able to run said code a few months down the line.

      The role of Python and how hard it's pushed on researchers is something people need to get realistic about.

    6. Editing a list of dependencies or wrangling with package managers doesn’t sound too bad

      Disagree. Sounds plenty bad.

    1. I need a code exploration tool to "find my way" in big unfamiliar codebases

      Do you need an exploration tool to find your way through unfamiliar stories (e.g. books, films)?

    1. and keep your site consistent

      But maybe you don't need to do that. Maybe it would be instructive to take lessons from the traditional (pre-digital) publishing industry and consider how things like "print runs" and "reissues" factored in.

      If you write a blog post in 2017 and the page is acceptable*, and then five years later you're publishing a new post today in 2022 under new design norms and trying to retrofit that design onto your content from 2017, then that sounds a lot like a reprint. If that makes sense and you want to go ahead and do that, then fair enough, but perhaps first consider whether it does make sense. Again, that's what you're doing—every time you go for a visual refresh, it's akin to doing a new run for your entire corpus. In the print industry (even the glossy ones where striking a chord visually was and is something considered to merit a lot of attention), publishers didn't run around snapping up old copies and replacing them with new ones. "The Web is different", you might say, but is it? Perhaps the friction experienced here—involved with the purported need to pick up a static site generator and set your content consistently with templates—is actually the result of fighting against the natural state of even the digital medium?

      * ... and if you wrote a blog post in 2017 and the page is not acceptable now in 2022, maybe it's worth considering whether it was ever really acceptable—and whether the design decisions you're making in 2022 will prove to be similarly unacceptable in time (and whether you should just figure out the thing where that wouldn't be the case, and instead start doing that immediately).

    1. antimodern

      Useful term. Consider: "antimodern computing" in general or more specifically: "antimodern software engineering", "antimodern Web design", "antimodern deployment strategy", etc.

    1. Or Google Maps?

      If you can't imagine how stuff like this would be possible, "then", as Roy Fielding quipped, "most likely you just haven’t defined enough resources".

    1. We want a way to export Google Podcasts subscriptions that's easier than starting from scratch—i.e., with an empty podcast library that must be manually re-built gain (by cross-referencing your existing subscriptions, independently finding the feed URLs, etc.).

      In principle, this data is the sort of thing I'd expect to be available from Google Takeout. It's not. All right, fine. But then, it's the sort of thing I'd expect to have its API documented so sufficiently motivated people can bodge together their own "client"—something similar to the availability of the Google Books APIs. This, too, is missing. I don't expect the appearance of either, at least not any time soon.

    Annotators