2,977 Matching Annotations
  1. Nov 2021
    1. Librari Networks: Should TheyDear With Containersor Contents of Knowledge

      "Library Networks: Should They Deal With Containers or Contents of Knowledge?"

      Searching around, it doesn't seem like the outside world (e.g. Google Scholar, bibliographers) are aware that this piece Licklider wrote even exists, despite it being digitized and sitting here in the open.

      This piece presages the Internet Archive and, given the juxtaposition of its lofty goals with the piece's own obscurity, there's a perverse irony here.

      Licklider writes in section 2:

      It is high time that librarians reach out into computer networks to create order and functionality out of what is now chaos. (The author would- estimate that 90 per cent of the computerized information in EDUCOM universities "trickles down" to back-up or dead storage tapes within two years and that less than one per cent ever "perks up" again.)

      "Perking up" is more than what I'm talking about here—again, I can't find evidence that this piece is even catalogued anywhere.

    1. Is that failure or is that a bad zip file? The APPNOTE.TXT does not say. I think it should be explicit here and I think it's one of those unstated assumptions.

      Pretty sure it's because the ZIP files were expected to be written to multiple disks (floppies), and as alluded to earlier, if you wanted to delete a file, you could just insert the last disk containing the directory and "delete" it, therefore not requiring you to insert the disk(s) containing the actual file record to null it out (or overwrite with some other file record, potentially requiring 3 disk swaps). Thus, the ZIP format constitutes something like a filesystem implemented in userspace. 30 years ago, this was "obvious" and that's why you were expected to know this. There was no assumption that tradition and path dependencies would lead to ZIP still being widespread for cross-platform data interchange among machines capable of fast writes to local disks that have terabytes (although sometimes "merely" gigabytes) available.

    1. Lots of weird reactions to this post.

      In How to Stop Endless Discussion https://candost.blog/how-to-stop-endless-discussions/, the author explains the NABC model—"The model starts with defining the Need, followed by Approach, Benefits, and lastly, Competitors. Separating the Need from the Approach is very smart."

      Commenting in support, Simon Willison writes:

      We implemented a RFC-style process at a previous employer. [...] One thing that was particularly valuable was ensuring every proposal came with a "alternatives" section (called "competitors" in the NABC model). We also made sure that every proposal included "do nothing" as one of the alternatives

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

      I scarcely think that the majority of people who are behaving as if React and/or the NPM-heavy workflow are things that simply must be dealt with have ever done on honest NABC and evaluated the foregone conclusions biased towards their preferred workflow against the do-nothing alternative of just not bringing all the heavyweight NodeJS-centric tooling into the picture.

    1. Until last week, I found this completely mystifying – I had no idea what import was doing and I didn’t understand how to use libraries in that way.

      The build tools are irrelevant (or rather, a red herring).

      JS has import statements. The build tools are (or at least should be) approximating what you get without the build tools interposing themselves into the development process, but doing it in a way that reinforces The Iron Law of Bureaucracy.

    1. The difference between tryingto imagine it working and having it do so is roughly like the difference between abearskin rug and a bear.

      See also: Knuth on Dijkstra in "Coders at Work".

    2. "You have tosubmit out of technical necessity"
    3. The computer, its accessories, and terminology, can givethe semblance of validity to all sorts of procedures or statistics
    4. This is the cybercrud problem: advice and creation of systems, supposedlybased on technical requirements, whose categories and rigidities are unnecessary.In the worst cases they are not only unnecessary but wrong.

      Still a problem.

    5. After the conference dinner, Theodor Nelson of The Nelson Organization, Inc.,described a vision of what the computer's use in instruction might become, if onlywe could see beyond the "trivial horizons" of most computer peop:.e

      Still a problem.

    1. Missing:

      • "An On-Line Information Network" (1965) [from the Project Intrex report]
    1. Missing:

      • "We Are In Danger Of Building A Tower Of Babel" (1953)
    2. Missing:

      • Science Is Not Enough (1967)
    1. Once we learn how to create abstractions, it is tempting to get high on that ability, and pull abstractions out of thin air whenever we see repetitive code.

      DRY (Don't Repeat Yourself) < TRY (Try Repeating Yourself)

    2. I was aghast. The old code was a mess, and mine was clean!
    1. Engelbart has said he did not actually thinkabout Bush’s article before he started writing in1959 about the augmentation system.
    2. it is important to noteEngelbart’s further statement that, after read-ing theLifearticle in the Philippines, thearticle’s impact gradually receded in Engelbart’smemory
    3. ; http://www.e-papyrus.com/hypertext_review/chapter1.html

      This is a porn site today...

    4. As a matter of fact,Bush had written a preliminary version of anarticle describing the system as early as 1939;moreover, he had a sketch of it as early as1933.

    Tags

    Annotators

    1. missing: BURKE, COLIN B. 1994. Information and Secrecy: Vannevar Bush, Ultra, and the Other Memex. Metuchen, NJ: Scarecrow Press; 1994. 466p. ISBN: 0-8108-2783-2.

    1. "Over the past few years I've come to appreciate that freedom of [mental] movement is the key," he said, highlighting the nature of liquidity in putting thoughts to the page. "When you look about the freedom of your own hands moving, you have such incredible freedom of movement."'
    1. It was the introduction of the “like” button

      I think the early 2000s transition to actor-based indexing from topic-based indexing should be examined in depth. I think stronger identitarianism is at the root of polarization, and actor-based indexing laid the foundation for it. Likes were the fuel.

    2. FIRE

      Foundation for Individual Rights in Education http://www.thefire.org/

    1. A lot less nice, that example, isn't it?

      No idea what point Troy thinks he's making here, but he certainly sounds very satisfied with it.

    1. Stuff that’s already in standard Markdown works the way it should.

      Except, notably, for GitHub Flavored Markdown's terrible handling of ASCII CR and LF.

    2. GitHub’s implementation for code blocks, for example, looks like something a group of programmers would want to have; it looks more like code than text.
    1. Readability, however, is emphasized above all else. A Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions.

      Most Markdown that gets published to GitHub is clearly written by people who have no problem grinding their muddy shoes all over this design principle.

      (Vanilla Markdown's syntax for inline links doesn't do a particularly good job upholding this principle itself.)

    1. the meta information is at the same level in the document as the content itself so that even if the document is printed and scanned back (with OCR), reader software will still be able to use it
    2. my word processor Author could already see extra metainformation on the macOS Clipboard when text copied from the Apple Safari web browser, that the text came from a specific web address etc
    3. the use
    1. When I was about 10 there was nothing I wanted more than to have a program that took minutes to build into an .EXE. In my mind that implied complexity and 'real' programming.
    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