3,132 Matching Annotations
  1. Nov 2021
    1. On finding a potential improvement, they are not slowed by the speed bump of switching from a document viewer to a document editor because they work from the editor at the start.

      Alternatively: wikis. (The document editor is trivially reachable from the document viewer.)

    1. connection

      Unused. Caller can/should be passing this in so we can handle the quota check internally.

    Tags

    Annotators

    1. The various designs such a WebDav's propfind which use HTTP methods apart from GET to retreive information suffer from this same problem. the information does not have a URI: it is not on the web.

      Should the content of an HTTP "transcript" itself be addressable?

      Consider https://hypothes.is/a/WCrtIjv9EeyPLa-hEwFgRg.

    2. anything should be able to have a URI
    1. runbook

      See https://en.wikipedia.org/wiki/Runbook:

      In a computer system or network, a runbook is a compilation of routine procedures and operations that the system administrator or operator carries out. System administrators in IT departments and NOCs use runbooks as a reference.

      (Great sounding word, by the way.)

  2. Oct 2021
    1. Unfortunately, if the location to which you wish to move the text is off-screen, you may have to use some other mechanism to find the target location
    1. almost all tutorials assume that you already know the writer’s previous programming language, and new concepts are explained in terms of that language

      I've noticed that Python programmers are particularly bad about this, believing their language to be some sort of lingua franca, unable to see the dark corners, and unaware that the times that the program meanders into those corners can't be understood on first sight.

    2. None of this is necessary. It is merely customary.

      Excellent turn of phrase.

    3. In my method, program segments are embedded in the midst of a word processor document--like raisins in cake--so that the emphasis is on the explanation rather than the code.
    1. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up.

      We have a word for this: "sophomoric".

    1. Any language or system that does not allow full flowing and arbitrarily long comments is seriously behind the times. That we use escape characters to “escape” from code to comment is backwards. Ideally, comment should be the default, with a way to signal the occasional lines of code.

      Sounds like literate programming.

    1. if you don’t write about an idea, you’ll never have a three-dimensional perspective on it

      One of several recurring claims that make me feel like an alien. Do so many people really think this? It sure does end up getting said a lot.

      I'm comfortable using text to communicate, but I hardly ever write in the sense people mean when they speak of it.

    1. At Stanford University - Doug's lab notebooks, correspondence, reports, memos, papers - available at the MouseSite Archive page, Stanford Libraries Special Collections, with links to their Annotated Table of Contents

      broken links

    1. I re-discovered your article about three years ago, and was rather startled to realize how much I had aligned my sights along the vector you had described. I wouldn't be surprised at all if the reading of this article sixteen and a half years ago hadn't had a real influence upon the course of my thoughts and actions.

      This passage and blurbs earlier in the letter goes against the common narrative that Engelbart's happening upon the article was life-altering as a result of being made into an instant convert to Bush's vision.

    1. Doug's got a story and he told the story many times and you know when he tells story many times it becomes realer and realer to you

      I don't know if Howard is trying to give us a nudge and wink here, but if so then the subsequent retelling that Doug was "by his own story very influenced by Vannevar Bush's As We May Think article" is certainly relevant to what Howard is suggesting, given that in Doug's own letter to Bush in 1962, he claims not to have even had Bush's ideas on his radar (no pun intended) until having rediscovered the Atlantic article after already having his own serious pursuits underway at SRI (and getting on at SRI was no small feat according to Howard's telling in Tools For Thought).

      See https://web.stanford.edu/dept/HPS/sloanconference/papers/lenoir/STIMPresentations/Presentation/LetterToVBush.html

    2. the accusation of Taylorism

      Taylorism gets a bum rap. Taylor's fans know it and seem to be at work on Wikipedia. See scientific management.

    3. the institutions for the production of knowledge rewards specialization
    1. DTIC’s public technical reports have migrated to a new cloud environment. The link you used is outdated.

      Fuck off.

    1. Almost any time you interpret the past as "the present, but cruder", you end up missing the point. But in the case of Engelbart, you miss the point in spectacular fashion.

      See also Ted Nelson's opening line from Xanalogical Structures, Needed Now More Than Ever:

      Project Xanadu, the original hypertext project, is often misunderstood as an attempt to create the World Wide Web.

    1. you couldn't get an undergraduate degree in computing back then it was so good you had to learn something
    1. a way to transparently discover related blogs that avoids hidden algorithms

      Bristly pop cultural misuse of the term "algorithm" notwithstanding, a better solution that I haven't come across anyone else mention: make them explicit, not hidden.

      When it look like Dat might've had enough steam to take off (ca. 2017–2018), I wrote a draft straw proposal for how to solve the "discovery problem" with e.g. Fritter—i.e. the problem that because you only "receive" replies and other messages by checking the feeds of the people you're following, you'll be unable to reply engage with strangers who appear (or have a stranger engage with you in their thread) unless something happens like a mutual acquaintance alerting you out of band ("hey, did you see @foo's reply dat://foo.example.net/posts/ukifxdgbh.json?").

      The idea is that there is a special kind of feed operated by some service provider that specializes in doing exactly that. If you find Facebook valuable, for example, then you are free to opt in and subscribe to the Facebook analog that pays attention to all feeds and works to surface interesting content for you. Under this model, unlike the Facebook regime, "leaving" is as simple as unsubscribing to that feed (and going with a different provider if you want).

    1. Around @0:25:52

      Krouse: Another subset of "shit just works" would be—

      Leung:"No installation required"?

      Krouse: Yeah. "No installation required". [...] as I was just telling you, I spent the last, like... I spent 5 hours over the last two days installing... trying to install software to get something to run. And it's just ridiculous to have to spend hours and hours. If you want to get Xcode to run, it takes— first of all you need a Mac, which is crazy, and then second of all it takes, depending on your internet connection, it could take you a whole day just to get up and running. Why isn't it xcode.com/create?

    1. overly-educated

      Is "overly-educated" the right thing here? As a substitute for the traditional euphemism "well-heeled", I think something like "highly credentialed" fits better.

    1. When logged in, the page in question requests (using XHR) the URL https://www.pbs.org/watchlist/page/1/, which returns something with a shape that looks like this:

      {"currentPage": 1, "videos": [{"slug": "american-experience-abolitionists-promo", "title": "The Abolitionists", "title_sortable": "The Abolitionists", "url": "/video/american-experience-abolitionists-promo/", "duration": "30s", "description_short": "Premiering January 8 2013. Turning a fringe movement into a force that changed the nation.", "description_long": "The story of how abolitionist allies William Lloyd Garrison, Frederick Douglass, Harriet Beecher Stowe, John Brown and Angelina Grimke turned a despised fringe movement against chattel slavery into a force that literally changed the nation.", "video_type": "Preview", "encore_date": "2013-01-08T00:00:00-05:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/pbs/american-experience/42958/images/Mezzanine_222.jpg"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": false, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "american-experience", "title": "American Experience", "season": 25, "episode": 12, "seasons_count": 31, "display_episode_number": true, "url": "/show/american-experience/"}, "summary": "Preview: S25 Ep12 | 30s", "ancestor_title": "American Experience", "ancestor_slug": "american-experience", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/pbs/american-experience/42958/images/Mezzanine_222.jpg", "legacy_tp_media_id": 2274405136, "cid": "2af4a426-df86-4e2e-ae84-858b737fbd5c", "air_date": "2013-01-08T00:00:00-05:00", "percent_complete": 0, "description": "Premiering January 8 2013. Turning a fringe movement into a force that changed the nation.", "timecode": ""}, {"slug": "american-experience-rise-and-fall-penn-station-preview", "title": "The Rise and Fall of Penn Station Preview", "title_sortable": "Rise and Fall of Penn Station Preview", "url": "/video/american-experience-rise-and-fall-penn-station-preview/", "duration": "30s", "description_short": "The engineering feat would last, the architectural masterpiece did not. Premiering Feb 18.", "description_long": "The Pennsylvania Railroad built tunnels under New York City's Hudson and East Rivers, connecting New York with New England, and terminating in one of the greatest architectural achievements of its time, Pennsylvania Station. It covered nearly eight acres, extended two city blocks, and housed one of the largest public spaces in the world. But 53 years later, the monumental building was destroyed.", "video_type": "Preview", "encore_date": "2014-02-18T00:00:00-05:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/pbs/american-experience/113257/images/mezzanine_388.jpeg"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": false, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "american-experience", "title": "American Experience", "season": 26, "episode": 5, "seasons_count": 31, "display_episode_number": true, "url": "/show/american-experience/"}, "summary": "Preview: S26 Ep5 | 30s", "ancestor_title": "American Experience", "ancestor_slug": "american-experience", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/pbs/american-experience/113257/images/mezzanine_388.jpeg", "legacy_tp_media_id": 2365164811, "cid": "5052e26b-2fbd-4b63-af12-711a1b8d28ea", "air_date": "2014-02-18T00:00:00-05:00", "percent_complete": 0, "description": "The engineering feat would last, the architectural masterpiece did not. Premiering Feb 18.", "timecode": ""}, {"slug": "american-experience-forgotten-plague-preview", "title": "The Forgotten Plague Preview ", "title_sortable": "The Forgotten Plague Preview ", "url": "/video/american-experience-forgotten-plague-preview/", "duration": "30s", "description_short": "The battle against TB had a lasting impact on America. Premieres February 10 on PBS. ", "description_long": "By the dawn of the 19th century tuberculosis had killed one in seven of all the people who had ever lived. The battle against the deadly bacteria had a profound and lasting impact on the US, shaping medical and scientific pursuits, social habits, economic development, western expansion, and government policy. Premieres February 10 on PBS American Experience.", "video_type": "Preview", "encore_date": "2015-02-10T00:00:00-05:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/pbs/american-experience/158684/images/mezzanine_700.jpg"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": false, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "american-experience", "title": "American Experience", "season": 27, "episode": 5, "seasons_count": 31, "display_episode_number": true, "url": "/show/american-experience/"}, "summary": "Preview: S27 Ep5 | 30s", "ancestor_title": "American Experience", "ancestor_slug": "american-experience", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/pbs/american-experience/158684/images/mezzanine_700.jpg", "legacy_tp_media_id": 2365409222, "cid": "452b093e-8d4e-48be-8a6e-211f837e2160", "air_date": "2015-02-10T00:00:00-05:00", "percent_complete": 0, "description": "The battle against TB had a lasting impact on America. Premieres February 10 on PBS. ", "timecode": ""}, {"slug": "american-experience-blackout-preview", "title": "Blackout Preview", "title_sortable": "Blackout Preview", "url": "/video/american-experience-blackout-preview/", "duration": "30s", "description_short": "What happened when the lights went out in New York in 1977? Premieres 7/14 at 9/8c on PBS.", "description_long": "On the night of July 13, 1977, lightning strikes took out several critical power lines, causing a catastrophic power failure and plunging some 8 million people into darkness in the New York City area. First responders, journalists, shop owners, Con Edison employees, and other New Yorkers tell about what happened when the lights went out. Premieres 7/14 at 9/8c on PBS American Experience.", "video_type": "Preview", "encore_date": "2015-07-14T00:00:00-04:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/pbs/american-experience/177488/images/mezzanine_254.jpg"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": false, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "american-experience", "title": "American Experience", "season": 27, "episode": 7, "seasons_count": 31, "display_episode_number": true, "url": "/show/american-experience/"}, "summary": "Preview: S27 Ep7 | 30s", "ancestor_title": "American Experience", "ancestor_slug": "american-experience", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/pbs/american-experience/177488/images/mezzanine_254.jpg", "legacy_tp_media_id": 2365511610, "cid": "669efdf1-55bf-47b2-96f8-c21b05627a9a", "air_date": "2015-07-14T00:00:00-04:00", "percent_complete": 0, "description": "What happened when the lights went out in New York in 1977? Premieres 7/14 at 9/8c on PBS.", "timecode": ""}, {"slug": "american-experience-edison-preview", "title": "Edison Preview", "title_sortable": "Edison Preview", "url": "/video/american-experience-edison-preview/", "duration": "30s", "description_short": "The story of the Father of Invention. Premieres January 27, 2015 on PBS. ", "description_long": "Premiering January 27, 2015 on PBS American Experience. Thomas Edison achieved glory as the genius behind such revolutionary inventions as sound recording, motion pictures, and electric light. The holder of more patents than any other inventor in history, \"The Wizard of Menlo Park\" was also intensely competitive and was often neglectful in his private life.", "video_type": "Preview", "encore_date": "2015-01-27T00:00:00-05:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/pbs/american-experience/149280/images/mezzanine_664.jpg"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": false, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "american-experience", "title": "American Experience", "season": 27, "episode": 3, "seasons_count": 31, "display_episode_number": true, "url": "/show/american-experience/"}, "summary": "Preview: S27 Ep3 | 30s", "ancestor_title": "American Experience", "ancestor_slug": "american-experience", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/pbs/american-experience/149280/images/mezzanine_664.jpg", "legacy_tp_media_id": 2365357999, "cid": "4a4ebbfd-ca64-4217-97c9-3c7f33b8f075", "air_date": "2015-01-27T00:00:00-05:00", "percent_complete": 0, "description": "The story of the Father of Invention. Premieres January 27, 2015 on PBS. ", "timecode": ""}, {"slug": "american-experience-mine-wars-20jkwo", "title": "American Experience: The Mine Wars", "title_sortable": "American Experience: The Mine Wars", "url": "/video/american-experience-mine-wars-20jkwo/", "duration": "30s", "description_short": "Monday, September 9 at 8PM", "description_long": "This show tells the overlooked story of the miners in the mountains of southern West Virginia \u2013 native mountaineers, African American migrants, and European immigrants \u2013 who came together in a protracted struggle for their rights.", "video_type": "Preview", "encore_date": "2019-09-09T00:00:00-04:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/DY9f0vQ-asset-mezzanine-16x9-2fR2YaZ.png"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": false, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "special", "show": {"slug": "wxel-presents", "title": "WXEL Presents", "season": null, "episode": "", "seasons_count": 0, "display_episode_number": true, "url": "/show/wxel-presents/"}, "summary": "Preview: Special | 30s", "ancestor_title": "WXEL Presents", "ancestor_slug": "wxel-presents", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/DY9f0vQ-asset-mezzanine-16x9-2fR2YaZ.png", "legacy_tp_media_id": 3032488536, "cid": "588ffe4d-b626-43c1-8cae-61555fa89b4a", "air_date": "2019-09-09T00:00:00-04:00", "percent_complete": 0, "description": "Monday, September 9 at 8PM", "timecode": ""}, {"slug": "part-1-our-game-c6e5nn", "title": "Our Game", "title_sortable": "Our Game", "url": "/video/part-1-our-game-c6e5nn/", "duration": "1h 54m 53s", "description_short": "Inning One: Our Game looks at the origins of baseball in the 1840s and up to 1900.", "description_long": "In New York City, in the 1840s, people need a diversion from the \"railroad pace\" at which they work and live. They find it in a game of questionable origins. Inning One, Our Game, looks at the origins of baseball in the 1840s and takes the story up to 1900. Burns refutes the myth that Abner Doubleday invented baseball in Cooperstown and traces its roots instead to the earliest days of the nation.", "video_type": "Episode", "encore_date": "2020-03-13T00:00:00-04:00", "expire_date": "12/31/23", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/ymkNEJ4-asset-mezzanine-16x9-IgUM0b6.jpg"}, "flags": {"is_new": false, "is_mvod": true, "has_captions": true, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "baseball", "title": "Baseball", "season": 1, "episode": 1, "seasons_count": 1, "display_episode_number": true, "url": "/show/baseball/"}, "summary": "Ep1 | 1h 54m 53s", "franchise": {"title": "Ken Burns", "slug": "ken-burns", "logo": null, "logo_cropped": null, "logo_cropped_white": null, "image": null}, "ancestor_title": "Baseball", "ancestor_slug": "baseball", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/ymkNEJ4-asset-mezzanine-16x9-IgUM0b6.jpg", "legacy_tp_media_id": 3040088774, "cid": "0f1a8715-8b7f-4f07-9093-6eca06a57cfd", "air_date": "2020-03-13T00:00:00-04:00", "percent_complete": 0, "description": "Inning One: Our Game looks at the origins of baseball in the 1840s and up to 1900.", "timecode": ""}, {"slug": "growing-up-poor-in-america-z4g8k5", "title": "Growing Up Poor in America", "title_sortable": "Growing Up Poor in America", "url": "/video/growing-up-poor-in-america-z4g8k5/", "duration": "54m 22s", "description_short": "The experience of childhood poverty against the backdrop of the pandemic.", "description_long": "The experience of childhood poverty against the backdrop of a pandemic and a national reckoning with racism. Set in Ohio, the film follows children and their families navigating issues of poverty, homelessness, race and new challenges due to COVID-19.", "video_type": "Episode", "encore_date": "2020-09-08T00:00:00-04:00", "expire_date": "", "availability": "available", "images": {"asset-mezzanine-16x9": "https://image.pbs.org/video-assets/CvLWNfw-asset-mezzanine-16x9-nxEEDak.jpg"}, "flags": {"is_new": false, "is_mvod": false, "has_captions": true, "is_expiring_soon": false, "is_fully_watched": false}, "item_type": "video", "parent_type": "episode", "show": {"slug": "frontline", "title": "FRONTLINE", "season": 2020, "episode": 18, "seasons_count": 29, "display_episode_number": true, "url": "/show/frontline/"}, "summary": "S2020 Ep18 | 54m 22s", "ancestor_title": "FRONTLINE", "ancestor_slug": "frontline", "ancestor_type": "show", "image": "https://image.pbs.org/video-assets/CvLWNfw-asset-mezzanine-16x9-nxEEDak.jpg", "legacy_tp_media_id": 3046413469, "cid": "b8a389ef-97bb-412a-879c-0b4efbfd5380", "air_date": "2020-09-08T00:00:00-04:00", "percent_complete": 0, "description": "The experience of childhood poverty against the backdrop of the pandemic.", "timecode": ""}]}

      There are four JS resources referenced:

      The watchlist script is minified, but production has a sourceMappingURL pointing to the watchlist.js.map. I have taken extra steps to make sure that the Wayback Machine has archived this as well. The Firefox devtools are able to use the map to reproduce the original (pre-bundled, unminified) sources for inspection.

    1. First Archive

      Lots of stuff to dig through here. (35 items that the Wayback Machine is describing with class iconochive-First.)

    1. How OpenVSCode Server turns VS Code into a web IDE

      This news item was submitted only 17 days ago, and yet it's already returning a 404. This is a casualty of the "our code host's presentation of our repo is our website".

      As of this writing (i.e. commit fb662ab0), the working link is https://github.com/gitpod-io/openvscode-server/blob/docs/sourcedive.snb.md.

    1. Ungar, around @1:00:00:

      I try to explain to people that the notion of compiler is broken. Of course I learned this from Smalltalk, but what we want to build is experiences--artificial realities that convince you that your source code is real. It's directly executed. There's no lag between editing and running[...] The environment stresses things in your program, not tools--which is another rant I have. It's this whole idea that we want to put you in an artificial reality--I got that from Randy [Smith]--in which it's easy and natural and low-cognitive-burden to get the computer to do what you want it to do, rather than running language translators that turn weird strings of text into bits the machine can run

    1. I no longer know how it works. I don't care to maintain it. It needs big changes to handle something like embedding a Jupyter notebook. And it depends on Python 2.6(!).With hundreds of pages, and its own custom URL layout that I don't want to break, I dread migrating
    1. Make your projects' metatooling accessible

      This should be full black.

    1. it's a rare project which carries those notifications within the source files themselves

      That doesn't affect whether there is merit to the claim.

    1. More directly about this gilded path through the tool. So, in an initial version of Sketch-n-Sketch and the version that we demoed at Strange Loop, there were many requirements about the syntactic structure of the program that if they weren’t satisfied certain interactions in the output would no longer be available. So a simple example is in that initial milestone, the main expression, the main definition of the program essentially had to be a list literal of shapes. And each of those shapes had to be a top level definition in your program and only then could certain interactions be available to users.
    1. I, as your employer, don't actually know what you will or won't do

      This can be totally true and still be a problem completely with you.

    2. I suspect dealing with this type of person would become a huge issue. This work request hints at overblown entitlement.

      Working for $5 an hour with the only condition being that you demonstrate some diligence by making sure that the work you're asking for is actually meaningful? This is "entitlement"? Yeah, okay. Look into a reality check, shithead, and in the meantime, go fuck yourself.

    1. Private links One must be able to add one's own private links to and from public information. One must also be able to annotate links, as well as nodes, privately.
    1. The reason is CORS.

      A user on HN asks

      So does this automatically fetch every feed URL at intervals in the background as long as you have the browser open?

      Two things to observe: people are willing to keep tabs open (esp. for dashboards), and the unreliability of Twitter's website tells us that users will put up with a lot of brokenness.

      Here's a thought: use this polling strategy combined with a dashboard combined with a "FCSCORS" (forced client-side CORS). The idea is to embed an iframe from an origin associated with the site to poll, and then use S4/postMessage to communicate with it.

      From a neutral, bookmarklet-controlled page (e.g. with about:blank's origin), embed an iframe pointing to some page with the same origin. Force the iframe to open a secondary window (tab) with window.open. A window.opener link now exists between the iframe and the secondayr tab. Set the iframe's location to a page from the desired origin, and then do the same with the secondary tab. A second invocation of the bookmarklet in the secondary tab should be able to use window.opener to get unrestricted access the iframe-loaded document. Use this to install a message handler. The secondary tab can now be destroyed, and the embedding document (dashboard) can merrily communicate with desired origin, with no cooperation necessary (e.g. to enable CORS) by the site operator, and no need for the user to install an add-on.

      The question now is, "How common is it for a website operator to set x-frame-options: deny?"

    1. Hover over your username at the top left

      Discoverability/accessibility issue, as noted in https://discuss.write.as/t/how-do-i-back-up-my-site/3296/5

    2. Would be cool if you could export it as a static site

      Dump out a ZIP with a viewer similar to the Google Takeout archive browser.

    1. You have 3 posts that aren't synced to your account yet. Sync them now.

      What does this mean?

    1. I’ll put that on our roadmap.

      Where?

    2. The JSON / “prettified” JSON is mostly meant for people who need their posts in a format that’s more easily read by computers. If you’re just creating a backup, the normal “JSON” format should be fine for this.

      Polish the UI on this to eliminate the confusion. Communicate that the JSON option is for people who know what JSON is. If you don't know what JSON is, it's not the option you want.

    1. Something related to this would actually work as a good springboard for the convolutions involved with the New Post Emails Not Being Sent to Email Subscribers problem.

      Direct manipulation via manual overrides and explicit feedback, etc.

    1. I know I would love the ability to add plausible analytics. They’re a great ethical choice for site analytics.

      Looks like it's AGPL, so it would not be possible to use on write.as...

    1. I’ll open a bug report for this

      Where?

    2. this is an issue with our Markdown parser

      Let's rev it. Let's port Bob Nystrom's Dart package.

    3. pasting in the Markdown directly won’t work – instead, you’ll want to use the “Insert Image” feature

      This is an opportunity to delight the user by intercepting their "bad" behavior and steering them in the right direction.

    1. Good user support case study.

      Topics:

      • premium versus gratis support
      • rude, abusive, or demanding users
      • Discourse as a medium for handling support requests
      • asking bad questions versus how to ask good questions
  3. Sep 2021
    1. Fix the URLs with this snippet (you can enter this directly into the JS console):

      [ ...document.querySelectorAll("link") ].forEach((x) => {
        const good = "http://jonudell.net";
        const bad = "http://weblog.infoworld.com";
        if (x.textContent.startsWith(bad)) {
          if (x.parentNode.nodeName == "item") {
            let enclosure = x.parentNode.querySelector("enclosure");
            let url = enclosure.getAttribute("url");
            let fixed = fix(url);
            enclosure.setAttribute("url", fixed);
            let details = x.parentNode.querySelector("description");
            details.textContent = details.textContent.replace(url, fixed);
      
            let slugEnd = x.parentNode.querySelector("title").textContent.
              toLowerCase().
              replace(/[ /]/g, "-").
              replace(/[^a-z0-9-]/g, "");
            x.textContent = fix(x.textContent).
              replace(/\.html$/, "-" + slugEnd + ".html");
          } else {
            x.textContent = fix(x.textContent);
          }
      
          function fix(url) {
            return url.replace(bad, good);
          }
        }
      })
      

      In Firefox you can copy the result to your clipboard by following these steps:

      1. From the page context menu, Select All
      2. From the selection context menu, View Selection Source
      3. In the source viewer, deselect the partial selection
      4. Use Select All again to select the entire output
      5. Copy the new selection

      You should be able to dump this into a text file, copy it to a web server somewhere, and point your podcast app at its URL.

      (The snippet itself should also work in Chrome but figuring out how to get the result into a file is an exercise left up to the reader.)

    1. all his javascript is unminified so you can see how he implemented the dynamic examples in his essays

      As it should be. (This should be the default. The NodeJS/NPM's Webpack addiction needs to be curbed—or confronted with a reality check.)

    1. ViperCard, a modern re-implementation of HyperCard for the web

      Vipercard as I understand it is more like a loose clone of HyperCard than a re-implementation. I think this page confuses Vipercard with HyperCard in multiple places.

      The Internet Archive has done a lot of good work preserving HyperCard stacks, so you can experience them in your browser.

    1. Need to add Newspeak and Hopscotch (Bracha, Bykov) to the catalog.

    2. Need to add browser devtools (including sepsis and the original DOM Inspector) to the catalog.

    3. Snapsnots

      should be "Snapshots"

    1. this.ontokencontent = this.ontokencontent.call(this, result)

      The implicitness that this "protocol" pushes into the implementing methods (seemingly odd return values) is undesirable. Make it explicit. The implementing methods should be able to do something like Validator.changeExpectation(this, this.onresource) (which in turn changes the target's ontokencontent handler).

    2. Expected Host header

      No

    Tags

    Annotators

    1. Around 1:45:50

      "Code is open source, but who cares? Nobody can understand it."


      Yeah, and it's useful. Like: people do stuff with it, but as soon as you run into problems with a library, it's just like... looking into the code is a mess... There's just a huge number of problems with it.

    2. Alan Kay Wiki

      "Not a valid community"

    3. Near the end (@1:50:32):

      My website is glench.com, and that's kind of my repository of everything I've ever made

    4. Around 1:48:00

      What if every library that you use had, like, some interactive documentation or interactive representation? [...] The author could maybe add annotations.

    1. Use node.js v10.2.1 (there are specific bugs in each of v8.x, v9.x, v10.0, and v10.3 that each cause telebit to crash)
    1. the ghcjs compiler. But it was a real pain, I Haskell but it's just getting it to install and run and compile, it's just kind of a nightmare
    1. My latest thinking, in fact, is just I've come full circle back to thinking, "You know what? I'm just going to go with naïve side effects." What I realized is that, basically, the programming experience just is much more natural, it seems. It just works much simpler in simple cases if you just let there be naïve side effects, right? There's a state and you're mutating it, because that's what you're doing
    1. the “Modern” Web

      A casualty of the "consultant effect": under the guise of solving (existing) problems, generating even more complexity to justify the consultant–client relationship.

    2. Well-meaning engineers have adopted best practices and methodologies which benefit large corporations and applied them to small teams

      Compare this to algorithmic complexity; if a fancy algorithm is great for really large input sizes but comes at a cost of being somewhat worse for small input sizes, then it is a good idea to use the fancy algorithm when you might be dealing with large inputs. But if you are not dealing with large inputs, then using the fancy algorithm is a positively bad idea. It's a bad idea in the sense that it's not just a matter of YAGNI, but the fact that its characteristics for small inputs means that it actually makes the situation worse.

    1. Some legacy JavaScript component libraries such as React have struggled to fully embrace and encorporate web components. That’s on them, not a knock against the web components spec.

      Same thing with NodeJS modules vs TC-39's native modules.

      It bears repeating: NodeJS is a "vendor" for an incompatible fork of JS.

    1. I don’t even minify page assets

      Good. Don't. The number of people who think this is a virtue is frightening. The rationale is usually not well-reasoned and whatever values they pretend to hold can almost always be shown to be hollow.

    1. playing house

      This is how I feel about most people's personal websites. Few people have homepages these days, but even for people who do, even fewer of those homes have anyone really living there. All their interesting stuff is going on on Twitter, GitHub, comments on message boards...

      Really weird when this manifests as a bunch of people having really strong opinions about static site tech stacks and justifications for frontend tech that in practice they never use, because the content from any one of their profiles on the mainstream social networks outstrips their "home" page 100x to 1.

    1. when I'm doing interesting work, the boilerplate is a rounding error and I don't mind using a boring language like Java

      See also Lawrence Kesteloot's Java for Everything.

    1. Here's what RG Arns, Crawford's advisor had to say about this topic wrt to Crawford's work in Arns's later article "The other transistor: early history of the metal-oxide-semiconductor field-effect transistor" for Engineering Science & Education Journal in 1998:

      In 1991 Bret Crawford, in his physics MS thesis reported an experimental reconstruction of Lilienfeld's US Patent No. 1,900,018 using technology that was available in 1928, when the patent application was filed, and known to Lilienfeld. The basic idea of the device is shown in Fig. 3. Following the prescriptions in the patent, he produced working devices, but they were unstable and the results were difficult to reproduce. That was not surprising since the semiconductor, cuprous sulphide, is no match for modern single-crystal silicon. Crawford also found signs that Lilienfeld had actually built the devices he patented—and not merely thought about them—in the form of close agreement between phenomena described in the patent and his own observations.

      Arns goes on to say:

      In 1995 Joel Ross replicated the prescriptions of the same Lilienfeld patent. He was able to produce devices that remained stable for months. Although these devices showed the field effect, the transconductance was poor, apparently due to surface states. The power gains, however, were significant.

      https://doi.org/10.1049/ESEJ%3A19980509

    1. If there were more low hanging fruit to do more on this land they would be doing these opportunities by now

      This commenter is committing what I call "the timeless fallacy". It's not that far off from people who don't "get" evolution by natural selection—which is odd, because most of the people who commit the timeless fallacy in venues like this almost certainly do understand it.

    1. End Users now are different from the End Users in 1980 or even in 1990

      This comment in 2010 highlights a difference between the world at large at that time (what I've called "the Shirky era") versus the behavior of users today

    1. An interesting, dated, broken, promising archive of “Tools for Thought”

      Why "broken"? (And why "dated" or "promising"? Tools for Thought is the name of a book. This is an online copy.)

    1. Hypothesis should highlight this as one of its killer features: private "replies". More permanent than a draft.

      (Unfortunately, a bug in the Hypothesis server means that this page is a 404 even for me—the person who wrote the reply, trying to view it while logged in...)

    1. use similar words but lead to very different priorities and actions

      From Barack Obama's Dreams From My Father:

      With our eyes closed, we muttered the same words, but in our hearts we each prayed to our own masters

    1. while (Tokenizer.isLetter(glider.tip))

      Both module names and procedures are allowed to have non-leading digits.

    2. bites

      bites? bytes

    3. value

      This should also be a null check, instead of falsy, else we can't read a hex-encoded NUL byte.

    4. readHex

      Tokenizer.readHex expects a 32-bit hex literal padded to 8 chars.

    5. 0xFFFF000

      Should be 0xFFFF0000.

    6. || minted == hinted

      Unnecessary check.

    7. this._scanner = null;

      Unused; this should be _glider.

    8. "Hello"

      From https://hypothes.is/a/Drc_4AtsEey4b3PQ82E8hQ:

      The indentation here is supposed to be a tab, to match the output of ORTool. Same for the strings section.

    9. Texts 0B9E9984

      The indentation here is supposed to be a tab, to match the output of ORTool. Same for the strings section.

    1. Note: This paper is based on a keynote paper delivered by the authors at the WILUconference held in Guelph, Canada, in May 2005 (http://dis.shef.ac.uk/literacy/adelaide-webber-johnston.pdf)

    Tags

    Annotators

    1. people have failed to appreciate the promise of literate programming because the early examples are just not that good
  4. Aug 2021
    1. (here’s how to declare a nested class)

      Nope.

    2. Let’s change the header so that it imports these two classes

      Opportunity here to make things more "literate"; the transformation (with the representation of the result shown immediately following the place where this annotation is anchored) should be describable in language.

    1. making it impossiblewhile editing a method to glance at a related onewithout using a separate browser.

      See also: the decision by every Web browser vendor's devtools team to make their viewers modal (in the 21st century!) and then add injury to injury making the monolithic implementation a "UI singleton"—so you don't even have the choice to open another instance!

    1. Github Pages' Jekyll

      Jekyll is an independent project from GitHub. GitHub by default supports Jekyll static sites because Jekyll was a popular static site generator in the Ruby community, and the GitHub people were Rubyists.

    2. I looked at workflows that were similar to GitHub Pages. I realized that what I was craving was very simple: Write text. Put on internet. Repeat.
    1. Agreed, but you can do even better by first making it available from your org's website. If there's any kind of fanbase at all, you can alert them to this development, so they can take make copies for safekeeping, taking a page from the LOCKSS strategy.

      The Archive is great and doing a great service, but one should be wary of any assumption that they are an unlimited resource that will be around forever merely due to their best efforts, not to mention concentrating so much dependency on a single point of failure.

    1. It's possible that the URI gives it away, but this is a local copy of the resource at https://colbyrussell.com/meta/pages.app.htm.

      (~/projects/colbyrussell.com/main is the Git repository of all the Markdown sources and whatnot. It turns out that this file, though, is already in its file, publishable form and gets passed through much the same way e.g. a PNG or JPEG would be.)

    2. the main text of document

      "[...]of the document"

    Tags

    Annotators

    1. building software visualization tools as web ap-plications can help in making them available to a larger audi-ence
    1. pp 17–18:

      M. Van Swinden is the only person who has placed on record the observation of the dark lines, or threads, which connect the borders of the sun and moon, at the formation and dissolution of the annulus. His account is inserted in the first volume of the Memoirs of this Society (page 146), accompanied with drawings, which coincide almost exactly with those given by Mr. Baily.

      It's tricky enough† to get a hold of Memoirs volume 1, but even after finding a copy, the only thing I can see in the vicinity of page 146 is Van Swinden's account, not the drawings.

      † I couldn't find a full copy last time I tried in 2017, even though I spent a few hours reasoning at the time that surely I'd be able to turn something up...

    1. �Yes, but how will we ever keep track of such a large project?�

      Unsure of the text encoding here. I'm forcing them to be interpreted as Unicode here, hence the appearance of the replacement character. My browser's default is to treat this document as "Central European (Windows)", but in that case, they appear as majuscule and miniscule S-cedilla characters (e.g. Şhypertextş).

      By a reasonable guess, these are supposed to be open and close quotes. I've seen these appear in other TBL-authored documents from the same era.

    1. (See Hiltzik’s Dealers of Lightning for more.)

      Of "Dealers of Lightning", Alan Kay says:

      Its flaws are too much "Heroes' Journey" and a very complex and confused jumping around timeline (I had trouble myself orienting in some of the spots). But it also has a lot of good stories, of which a reasonable number are "true enough".

      He recommends Waldrop's "The Dream Machine".

      https://news.ycombinator.com/item?id=22379275

    1. RemoteStorage requires the server to support a subset of OAuth, and that's the only kind of authentication supported. It also requires WebFinger support
  5. citeseerx.ist.psu.edu citeseerx.ist.psu.edu
    1. MOMspider does not need toobtain the owner information from non-HTML documents,

      Huh?

    1. (1) that such a new copy or adaptation is created as an essential step in the utilization of the computer program in conjunction with a machine and that it is used in no other manner, or

      Not only is this terribly drafted because it doesn't address the root issue of what was wrong with the MAI v. Peak decision, but it inadvertently ends up legalizing much of what would have otherwise been infringement for a class of traditional software piracy.

      It doesn't specify for whom or limit the number of copies or relevant machines. So whereas before, you might be required to buy N copies of Microsoft Foobar, you are now permitted, legally, to purchase one copy, and then make another copy "as an essential step in the utilization of the computer program in conjunction with a machine", and then another, and then another...

      In other words, if you needed 200 licenses before, for every CPU in your business, you can now get by spending 0.5% of your previous costs.

    1. There's a lot of cruft here. Consider that while a project might have a prominently named file like "README" that is meant to be the first thing a wanderer encounters, the true first encounter is the file listing in the project source tree:

      • build/
      • config/
      • src/
      • .babelrc
      • .dockerignore
      • .editorconfig
      • .gitignore
      • .stylelintrc
      • .travis.yml
      • Dockerfile
      • Gruntfile.js
      • LICENSE
      • Procfile
      • README.md
      • aldine.sublime-project
      • aldine.sublime-workspace
      • circle.yml
      • package.json
      • tsconfig.json
      • tslint.json
      • yarn.lock

      Imagine a commit (or a pull request) with the summary "Remove cruft". Why might it be rejected? Let's get more specific.

      There's a Dockerfile here. There's also a package.json. We can ask of each of these, "Why is this here?" The answer is, "Because someone found them useful." Consider, then, that here's a strong case for a contrib/ directory† for this project and where these things should be kept, ill-conceived tooling conventions notwithstanding.

      † This link points to a particular blog post that explains the purpose of a contrib/ directory, but this is not an endorsement of Mr DeVault's other positions or demeanor. Ignore any stridence, arrogance, or other obnoxiousness that you might encounter in your pursuit to pull at any threads from that corner of the Web.

    1. While nature doesn't, human systems have intentionality.

      Ditch the perspective about the world that leads to thinking that everything is redstone.

      See also: What colour are your bits?.

    1. Librarians have a well-founded confidence in their ability to provide their readers with access to material published on paper, even if it is centuries old. Preservation is a by-product of the need to scatter copies around to provide access. Librarians have an equally well-founded skepticism about their ability to do the same for material published in electronic form. Preservation is totally at the whim of the publisher. A subscription to a paper journal provides the library with an archival copy of the content. Subscribing to a Web journal rents access to the publisher's copy. The publisher may promise "perpetual access", but there is no business model to support the promise. Recent events have demonstrated that major journals may vanish from the Web at a few months notice.

      Referenced in DSHR blog post responding to Zittrain on Internet Rot

    2. A subscription to a paper journal provides the library with an archival copy of the content. Subscribing to a Web journal rents access to the publisher's copy.
    1. Copy and pastethe module’s code into your system and make whatever changes you find nec-essary.This is usually the right thing to do for a small component
    2. the skills of IT staff
    3. Their first step was to spend several weeks watching their customers
    4. there’s no spec for a search engine, since youcan’t write code for “deliver links to the 10 web pages that best match the customer’s intent”
    1. Grötschel, an expert in optimization, observes that a benchmark production planning model solved using linear programming would have taken 82 years to solve in 1988, using the computers and the linear programming algorithms of the day. Fifteen years later – in 2003 – this same model could be solved in roughly 1 minute, an improvement by a factor of roughly 43 million. Of this, a factor of roughly 1,000 was due to increased processor speed, whereas a factor of roughly 43,000 was due to improvements in algo-rithms
    1. The three most powerful words for building credibility are "I don't know"
    1. Data which is accessible through the web relies on upkeep of paying for domain names and server costs. Data which is contained in a widely shareable, open format, such as PDF, on the same level as the ‘contents’ and which connects using the citation method of specifying the bibliographic details of a source so that it can be located and used from any location (like a traditional printed journal) rather than only from a web addressed repository, makes for a robust, long term solution

      Really, this is an argument for self-containedness and not an argument against HTML and HTTP.

      Granted, the Web doesn't handle compound documents very well (embedded graphics, unless they're SVG—and even then...). See https://blog.jonudell.net/2016/10/15/from-pdf-to-pwp-a-vision-for-compound-web-documents/.

    2. Shouldn't the attribution info on this page ("admin", "July 26, 2021"...) be presented instead as Visual-Meta? Is Visual-Meta on the Web not important?

    3. as the content of the document is available, the metadata will also be available, even to the point of printing the document, then scanning it and performing OCR on it
    1. on the topic of interoperability one idea that I'm excited about is thinking about better ways to synchronize across existing cloud applications. I think there's a way in which if you're using one app and I'm using a different app and if we can establish a bridge between them, where let's say I'm editing a doc in google docs and your using Dropbox Paper or your preferred editor[...] that starts to create this more flexible feeling where the data's not locked in any individual app and it more kind of lives between the apps. And so one new project that I'm sort of embarking on now is trying to create tools that mediate that kind of synchronization across tools.

      What if we used... files?

    1. Abstraction and Reuse Increases Code Productivity

      There is a such thing as inappropriate use of abstraction.

      For more on this https://news.ycombinator.com/item?id=27662074, and refer, for example, to NPM.

    2. In software development itself, if you unleash a bunch of programmers on a problem and allow them to pursue their whims, you will observe that code tends toward bloat. This is not necessarily widely recognized. More broadly understood is the corollary to this that goes by the name Wirth's law, which states that software gets slower faster than hardware gets faster.

      Outside of computer programming, there is a general awareness that organizations become less efficient with size. For the same reason that this happens, procedural bloat afflicts SOP just like code bloat happens with programmers.

      There's a widespread belief that capitalism seeks out efficiency. With most organizations being capitalist enterprises, so the belief continues, they are an extension of this. You can see this show up in arguments about the gender pay gap. If we could cut costs just by hiring women to do the same job, they say, then we would. The veracity of the claims about the size of the pay gap notwithstanding, the claim that corporations would seize the opportunity to cut costs like this doesn't jibe with reality. Corporations are not observed to be a perfect extension of the law of capitalist efficiency. A corporation as an entity is not a perfectly rational actor operating in its own self interest, following both from the irrationality of the people who make it up and from instances of where they do behave rationally operating in their own individual self interests, counter to the organization's.

      There is hardly ever a Taylor-like figure assigned to the problem of wrangling inefficiency.

    1. when you're reading some fresh code in your browser, do you really want to stop to configure that test harness

      Running the tests should be as easy as opening something in the browser.

    1. It is passed as the second parameter to the 'request' event.

      How do we keep people from falling into the kind of rut that results in documentation like this?

      I think it comes from an imposed milestone to document everything, so people end up phoning it in like this. In Graham Nelson's Narrascope talk (the one that was a followup to his broken promise that Inform 7 would be open sourced), you can see in his screenshots various passages filled with similar kinds of (frankly unhelpful) "prose".

    1. everybody knew this. Everybody saw this formula and yet nobody thought to do with it the thing that Newton did

      See also, McCarthy's "ho, ho..." moment. https://hypothes.is/a/A_hmqoHZEeuEaEfF5uimPw

    1. The reason we keep using email is that for that set of tasks requiring more than plaintext but less than an app we have nothing. MS Word maybe.
    2. chances are it’s a worthless piece of junk to you compared to the email method
  6. astralcodexten.substack.com astralcodexten.substack.com
    1. The institutions through which Americans build have become biased against action rather than toward it. They’ve become, in political scientist Francis Fukuyama’s term, “vetocracies,” in which too many actors have veto rights over what gets built. That’s true in the federal government. It’s true in state and local governments. It’s even true in the private sector.

      Antidotes:

      • Carefully entrusting veto power to those who know the distinction between thoughtful caution as in the case of Chesterton's fence versus the kneejerk antidisestablishment response—similar to the case of the case of Rhesus ladders
      • teaching the value of yes-anding over no-don'ting.
    1. However, "scientific management" came to national attention in 1910 when crusading attorney Louis Brandeis (then not yet Supreme Court justice) popularized the term.[3] Brandeis had sought a consensus term for the approach with the help of practitioners like Henry L. Gantt and Frank B. Gilbreth.
    1. preserved the sequence of elements with the same primary key

      Is smoothsort stable? This quote seems to be saying it is, but elsewhere people say otherwise.

    1. I have to say that now I regret that the syntax is so clumsy. I would like http://www.example.com/foo/bar/baz to be just written http:com/example/foo/bar/baz

      Agree with the sentiment, disagree with the "remedy". (I realize it's not actually being proposed as such.)

      colon-slash-slash was great in hindsight because there's sufficient entropy that if you want to do URL sniffing, you can get by with writing a really naive implementation that just looks for that sequence—you don't even have to worry about the "http" or "https" parts. In fact, I think it would be great if user agents came to grips with the dominance of HTTP and allowed links of the form starting with "://"—where the scheme name can be omitted entirely, and it is just presumed to be HTTP/HTTPS. (Use the same discovery method that browser address bars already use for working out whether "http" or "https" is the correct to go with.)

    1. This is really just making a strong case for the Web's notion of content negotiation, which receives pitifully little attention. The idea is that there should be some nugget comprising a cruft-free version of the resource's content itself, and it should be possible for you to specify, e.g., "No really, just elide all the JS and other accoutrements of the modern Web from the representation that you send me; basically, just give me the meat of it."

    1. A thought by way of the Nelsonian school of hypertext:

      Tim is quoted several times in this piece, which is to say that there is a larger body of content (say a recording of the interview, whether audio or a full transcript) from which this piece is borrowing snippets. Within the WWW worldview, that full record comprises a resource. Within the Nelsonian worldview of visible connections, at every place in the document where Tim is quoted, there should be an edge which the reader can traverse to reveal the unabridged record.

    1. If believing that people shouldn't live in fear of their tech betraying them is ideological, I'll take it.

      Not exactly an if-by-whisky, but (unrelated to the content of this article) worth serving as the launch pad for a series of examinations about why people feel compelled to couch their messages in this way—usually because the other "side" is using an appeal to emotion or appeal to reflex.

    1. One thing I'd like forward-looking hypertext toolmakers to keep in mind is the ability for the tools to help people answer questions like "What led to legalanthology.ch hosting a copy of this document? Given a URL from one organization, is it possible to look at the graph of internal backlinks (let me focus narrowly on incoming edges originating from the same host)?"

    1. If we find ourselves needing this pattern in more than one places in our codebase, we could abstract it into a helper

      This is where people with a tendency to participate in JS development frequently start to go off the rails. Exercise some restraint and tell that voice in your head that has been influenced by years in the community "no".

      (PS: typeof checks need not and should not be written to use triple equals. Again, this is an example of where the dominant culture of modern JS development is a bad influence—pushing people towards doing things poorly. It's like radio and TV announcers who go out of their way to say "backslash" in URLs—"stop! you're going through extra effort just to get it wrong.")

    1. The World Wide Web is the most powerful medium for information sharing and distribution in the history of humankind

    Annotators

    1. Pluggable view system

      See also the sepsis inspector project.

    2. Storage: HTML form like server POST, or annotation server protocol maybe.

      or BYFOB.

    3. The web should be a two-way thing
    4. Establish a local gateway on the user's machine. This would not be easy to do portably

      With S4, we can do better.

    5. the problem that the script is only allowed to access content on the same server
    1. Firefox security won't in general let a script from a given DNS domain (like www.w3.org) read web data from a different domain. To change this,

      How not to futureproof your work.