Table of Contents

Software must eat the world, there is just no other way.
How can we make it more powerful, intuitive, pleasant to use?


. [[software]]

. [[programming]]

. [[decentralize]]

. [[malleable]]

. [[interop]]

the sad state of personal data and infrastructure [[sadinfra]]

[2019-07-23] SomethingNew/ at master · d-cook/SomethingNew

[2019-07-23] SomethingNew/ at master · d-cook/SomethingNew

[2020-04-18] Ask HN: What are some great posts or articles about history of computing? | Hacker News [[computing]] [[computing]]

Bringing computing to the scale of a room makes it a communal and social experience.

[2020-05-19] Issues · malleable-systems/ [[malleable]]

[2020-05-25] Programmable Systems [[computing]] [[malleable]]

[2019-10-01] Identify & Attack "Schleps" · Issue 12 · d-cook/SomethingNew [[malleable]]

A "Schlep" is a thing that is so tedious or awful to deal with, that most people accept it or work around it without even realizing it. However, when attacked directly, they can open new doors or make things easier by opening paths that are otherwise accepted as just "the way things are".

[2020-08-12] 12 Principles for a Diverging Desktop Future [[computing]]

[2020-10-17] X from making computers better · Adam Wiggins [[computing]] [[sadinfra]]

What do I mean by “better”?
Computing aids and encourages humanity’s noblest pursuits: science, reason, art, philosophy.
Computing directly supports improving the mental health, physical health, prosperity, and happiness of all humans.
Computing help us master (or at least, doesn’t intensify) our problematic tendencies: addiction, status anxiety, socioeconomic divisions, tribalism, fear, hate.
The economic and intellectual horsepower in Silicon Valley and the wider tech world seems to be pointed away from these goals.
For example: algorithms designed to maximize watch time, the social media outrage machine, loot boxes and other psuedo-gambling, and smartphone notifications activating Skinner-box tendencies.

[2020-05-13] Tweet from @flyingcroissant room sized displays [[computing]] [[vr]]


@flyingcroissant: Finally got around to reading this and it's incredible:
Room-sized display walls in your home would open up a lot of new interface opportunities and would be cool for VR, too.

[2020-11-24] I created an alternative to the YouTube algorithm to stop me wasting time [[sadinfra]]

[2020-11-07] Programs are a prison: Rethinking the building blocks of computing interfaces [[sadinfra]]

[2020-05-18] Strava Cuts Off Leaderboard for Free Users, Reduces 3rd Party Apps for All, and More | DC Rainmaker [[sadinfra]]

[2020-10-26] What's crazy to me is how insanely overspec'd mobile devices are for what they d… | Hacker News [[sadinfra]]

What's crazy to me is how insanely overspec'd mobile devices are for what they deliver. If you went back in time and told 1999 me the following:
I'll give you a computer with the following:
* 256GB of solid-state storage
* 6 CPUs @ 3+GHz
* 8GB of RAM
* Weighs only 200 grams
* Battery-powered, lasts 5+ hours
* 1440 x 3168 resolution display
I would have been absolutely gobsmacked. Such a machine absolutely outclasses every desktop up into the early 2010s!

And then you would tell me that it's mostly used to shitpost on reddit and Twitter and would be completely useless as a development machine, and the manufactures would do everything to make it impossible to put what software I want on it...and also it would spy on me everywhere I went in order to sell me garbage...
We took a wrong turn somewhere, didn't we?

[2020-10-25] The Coming Civil War over General Purpose Computing (2012) | Hacker News [[sadinfra]]

[2020-10-26] 25 Years In Speech Technology and I still don’t talk to my computer | Hacker News [[sadinfra]]


Which is exactly why I prefer formal query languages over NLP queries. In both cases (at least with most state of the art NLP techniques), you have to learn certain patterns and ways to phrase a query so that the system will reliably understand it. With formal query languages, these patterns are well-defined, can be looked up and will most likely not change significantly (so there is value in memorizing them). With NLP systems, the patterns are completely opaque, you have to learn them through trial and error, they may change anytime (e.g. because the model is retrained) and they are usually significantly less powerful.
I sometimes feel that the trend to prefer NLP over formal query languages is comparable to the trend to prefer GUIs over consoles in the 80ies and 90ies.

[2020-11-03] This is something Stallman[1] and others have talked about for a while now, with… | Hacker News [[sadinfra]]

I remember in the 90s people all thought Stallman was crazy. And by people I mean developers, Linux users, people on usenet, etc. We all appreciated his contributions but at the end of the day just figured he was wearing a tin foil hat.

[2020-11-22] How can I see hidden app data in Google Drive? - Stack Overflow [[sadinfra]]

fascinating, apparently this is how you access your own data for google drive apps?

[2020-12-15] #m">Mek (@mekarpeles): "What's something about the web that's obviously broken? I'll start: No version control history and all the content is dynamic." | twitter [[sadinfra]]

What's something about the web that's obviously broken?

really good thread

LSP for interlanguage communication? Like an IPC matrix [[malleable]] [[programming]] [[think]]

[2020-10-08] Project Cambria: Translate your data with lenses | Hacker News [[malleable]]

[2019-10-01] Introductions · Issue 20 · d-cook/SomethingNew [[malleable]] [[social]]

open source os [[malleable]]

I think alt open-source smartphone operating systems like PostmarketOS, PureOS, UBPorts would be a great candidate for this.
The need to breach the duopoly in mobile smartphone ecosystem is now greater than ever if we need to protect the future of mobile computing and the data(lifestyle) of individuals using it; considering smartphone is the first computer for ~ > half of world population.

ted nelson interview [[tednelson]] [[tolisten]]

[2019-12-30] video (20m): Roger Gregory: Interview at Ted Nelson Book Launch [[xanadu]]

[2019-10-01] Steve Krouse: "Future of Coding" · Issue 23 · d-cook/SomethingNew [[tolisten]]

I just came across a gold mine called The author (Steve Krouse) already has many times more resources there then we have here, and he has put a TON of work and thought into reinventing programming to be more accessible (mainly to children).

[2020-05-15] ok, it does look like a good podcast – devine, hillel

[2020-10-26] Community | Future of Coding

Our 4 most popular channels are bridged to Matrix rooms. They should be accessible in any Matrix client using the following aliases:
Matrix Bridge

[2019-09-06] Offline First and the Circle of Web [[offline]]

[2019-09-06] Offline First and the Circle of Web, Part II: Breaking the Circle [[offline]]

[2019-06-01] Offline First [[offline]]

[2020-06-03] We Really Don't Know How To Compute! [[towatch]]

[2020-02-21] Files are fraught with peril

[2020-02-07] POSSE - IndieWeb [[silo]]

[2020-05-17] Nonlinear Conversational Medium — gray crawford

Conversations branch out, delineating subtopics spatially. This allows the conversation to be more surveyable, and individual topics can split off into their own subtopics.

[2020-12-03] The web as a GUI toolkit [[web]] [[html]] [[css]]

Some things that work really well that are often hard in native GUI toolkits:
    You can zoom pretty much any content as large or small as you like. Doing this in native UI involves either editing obscure config files, or mucking about with the system’s DPI settings (not easy to zoom per-app or changing zoom levels depending on mood or screen you’re using).
    More cross-platform than pretty much anything else.
    Open anything in a new context (tab or window).
    Copy/paste anything.
    Search any text with e.g. Ctrl+F.
    Back button.
    Modifying anything easily; even if you’re not doing this directly yourself this has huge benefits in the form of e.g. some simple bookmarklets, or your adblocker.
    Unlike desktop applications, everything is sandboxed. If you think persistent tracking and fingerprinting on the web is bad: it’s even easier on the desktop. Something like hash(/etc/passwd) should do the trick to generate a persistent unique device ID.
    Very compatible; the first website: last modified somewhere in the early 90s still works in your Firefox or Chrome today.

[2020-10-08] Generalizing 'jq' and Traversal Systems using optics and standard monads | Hacker News intuition behind lenses

The point is really that lenses are values that represent locations in a data structure. And, as values, they can be combined, transformed, serialized, etc etc. Imagine having a type that represents a chain of method selectors, and that gives you some idea of the purpose.
The fact that method selectors only appear very rarely as first-class values in most languages means that most people aren’t tuned in to scenarios where they could be applied. But I bet you’ve invented special cases of this yourself, when you had a function that needed to dig data out of one of several locations, depending on other inputs.

[2020-10-08] Generalizing 'jq' and Traversal Systems using optics and standard monads | Hacker News

jkachmar 4 hours ago [–]
It definitely can feel a bit strained at times, but the basic metaphor of:
- lenses “focus” on elements of a product type
- prisms “split” a sum type so that optics can work over selected branches
...feels nice when you’ve been working with it for awhile.

[2020-11-09] Why Did Mozilla Remove XUL Add-ons?

[2019-10-01] Multiple tools · Issue 32 · d-cook/SomethingNew

Chris Granger (creator of Eve) presents and interesting point about creating multiple tools instead of one general purpose one:
The take-away for me is to build different tools for different needs, but have a way to easily transport models from one to the other. For example, using something like Bret Victor's dynamic drawing medium for rendering, and then "dragging" the data (or code) into something better suited for editing program flow.

Tweet from @rektide [[smalltalk]]


@rektide: for compare, there's some interesting exploration of "what happened to smalltalk" going on now.
interesting exploration of the challenges to success, of this interesting, rich, technically sophisticated system.

[2020-01-28] Ask HN: What are some interesting projects to reuse your old devices?

[2020-04-15] Plan 9 From The 1990s

[2020-10-05] Show HN: A gallery of interesting Jupyter Notebooks | Hacker News

[2020-08-24] What software do you dream about, but do not have time to do yourself? | Lobsters

[2020-08-24] What software do you dream about, but do not have time to do yourself? | Lobsters [[emacs]] [[browser]]

Two things.
    An Emacs for the web – browser primitives, but with hooks and definitions that allow full user control over the entire experience, integrated with a good extension language, to allow for exploratory development. Bonus points if it can be integrated into Emacs;

[2019-05-30] Chrome to limit full ad blocking extensions to enterprise users - 9to5Google [[motivation]] [[firefox]] [[degoogle]]

[2020-01-22] Tweet from Гришка (@grishka11), at Jan 22, 16:50 ">

@internetofshit There should be a law or something that if you stop updating an IoT device, its last firmware version must be open sourced so that people who actually care could help others keep using it.

[2020-06-22] ">Benedict Evans on Twitter: "🚨 SET DEFAULT EMAIL AND BROWSER APPS 🚨" / Twitter [[malleable]]


so fucking annoyed by people getting excited about such trivial things.
It's should be malleable in the first place

[2020-03-05] The History of the URL

[2020-02-08] [[ui]]

The decline of usability, recognizability and coherence in desktop user interfaces.
I honestly think we reached peak UX some time in the mid-90s. With the advent of touch devices, paradigms are mixing in a way that's directly hostile to productivity.

[2020-01-22] How I Switched to Plan 9 | Hacker News [[sadinfra]]

To me this is part of a need to integrate my digital life. I understand the swimming against the tide here (recovering FreeBSD laptop user) - because an integrated life is a controllable life

I want tools before I want services
I want an agent that has access to my digital life where ever that is. I want that agent to be the expression of my tools - that is my first and possibly only service
I want my mobile device to keep and give me access to my digital footprint - my phone calls, text, gps locations.
I want a message in Whatsapp and in facebook and in email to just be a message. if that breaks someone's business model I do t care.
I want to be able to review my digital actions - what was the name of the video I stupidly watched at 1am last night - let me review that each week so I can improve my behaviour - not have my behaviour controlled
I want this for each member of my family too

[2020-01-22] How I Switched to Plan 9 | Hacker News

It's almost 2020. Forget the flying car, why does my web browser still not provide full text history search if I want it? It's text, and this isn't the 1980s! Why can't it snapshot the textual portion of the DOM for each page I visit if that's what I want? Half terabyte SSDs with 700 MB/s sustained write are $80!

[2020-01-22] How I Switched to Plan 9 | Hacker News

adambyrtek 47 days ago [-]
Maybe the authors don't mind if their ideas get incorporated in other projects? Maybe they are more interested in spreading their ideas than owning them?

[2020-01-22] How I Switched to Plan 9 | Hacker News

deadbunny 47 days ago [-]
Exactly why I used the MIT license, even if it is on my ultimately non important stuff. I'd rather it was out there (potentially) being used by anyone that wants to for whatever purpose

[2020-01-22] How I Switched to Plan 9 | Hacker News

jethro_tell 48 days ago [-]
Every time I always want the article 'WHY I Switched to Plan 9'
yjftsjthsd-h 48 days ago [-]
"Because it’s there" (George Mallory, when asked why climb Mt. Everest).

[2019-03-14] Bret Victor The Future of Programming - YouTube
the point is basically that there are ways of thinking beyond ones you're capable of

[2019-03-24] Bret Victor - Inventing on Principle - YouTube [[bretvictor]]
really awesome talk!
coolest thing in the second part, he talks of his desire to give creators better tools as part of his idenitity. basically, it hurts him when he sees creators struggling, when ideas can't be born. he sees injustice in that (similar to my trip experience!)
he mentions that to find some principle to invent on he just did many different things. Very inspirational!

[2020-02-01] My Second Phone Is in the Cloud [[sadinfra]]

[2020-02-15] ok, interesting idea – basically give everyone a VPS and treat as a phone (containerized apps etc)

[2020-01-25] | Universal todo list [[sadinfra]]

[2020-11-01] The Thirty Million Line Problem - YouTube

seems kinda geared towards games?
I mean ok you can drop 17M LOC from Linux kernel, but what about the rest?

[2020-05-25] I had to jailbreak my iPhone to change the default browser | Lobsters [[security]] [[malleable]]

In my opinion, a security model that cuts this deeply into the ecosystem and customisability deserves only criticism. I don’t want to have such a platform for my personal computing needs.
Security is nice, but my needs on my own machine come first. A device that is secure but doesn’t do what I want is useless to me. I need root access to make my machine do what I want because that is the only purpose the machine has: To do what I and only I want. I don’t need a machine that does what someone else wants - they should buy and maintain that machine if it serves them! The von Neumann architecture contains a memory that stores data and instructions.
I don’t want to go back into computing stone age before von Neumann just because Apple (or anyone else, for that matter) thinks only they know what’s okay to execute.
Without these permissions, modern computing is less exciting than the computers that existed 40 years ago.

[2020-02-15] Jethro Kuan on Twitter: "Org-roam is built by 1 person, but it remains competitive by drawing on the Org ecosystem. You're free to build your own APIs, customize Org-roam as you like. Whereas with @RoamResearch you can only make a feature request and hope… [[malleable]]

[2019-04-13] Bret Victor, beast of burden [[bretvictor]] [[thinking]]!/KillMath

[2020-01-02] Good times create weak men @ [[sadinfra]]

[2019-01-01] talk: what fp can learn from smalltalk [[fp]] [[smalltalk]]

[2020-06-13] Design Principles Behind Smalltalk (1981) | Hacker News

I think it is the most accessible explanation of the marvel of Smalltalk, for those who were not lucky to work with it during the late 80-90s.

[2020-05-13] ZigZag (software) - Wikipedia [[tednelson]] [[pkm]]

ah, it's also Ted Nelson… I suppose explains why I couldn't understand what it was for

[2020-10-02] > where you get nothing for a PR You already got payment up front: software tha… | Hacker News [[opensource]]

> where you get nothing for a PR
You already got payment up front: software that the author(s) have made available to you for free.
You get payment by the author spending time to review your changes.
You also get payment afterward: free maintenance for your pet feature. (Not guaranteed of course but generally the case.)

[2021-01-01] TabFS

[2020-12-29] "software equivalent of environmental pollution"

very good expression (from Element | Malleable Systems Collective)

[2020-11-09] Element | Malleable Systems Collective [[malleable]] [[think]]

I'd love for someone to sketch up what a better state of affairs could look like, because this is a major unsolved problem. There's a clear application to browser add-ons /  extensions and mobile app stores of today, but also future systems as well.

[2021-01-16] Tree Notation [[spreadsheet]] [[hpi]]

[2021-01-05] (1) Computers for Cynics 2 - It All Went Wrong at Xerox PARC - YouTube [[tednelson]]

"in order to seel printers they threw away the universe"

[2020-12-16] SourceHut + Plan 9 = <3 | Lobsters [[plan9]]

I found this paper
to be a wonderful walkthrough. I highly recommend getting a copy of 9front running, and going through some the exercises in the paper.
It’s very long, but definitely a great way to get a feel for how some of the concepts in Plan 9 are applied.
Edit: Since I was reminded how much I like this paper, I decided to submit it as a story.

[2020-06-20] ">(2) 🌊 🇺🇸 on Twitter: "What should a runtime consist of? 1. Triples with matching 2. Backtracking search 3. Dataflow Sadly very few runtimes come close. Lisp and Smalltalk made implementation easy. Prolog makes it very easy, but it's easy to write Prolog in Lisp and Smalltalk, so there you go. ~1969" / Twitter

What should a runtime consist of?
1. Triples with matching
2. Backtracking search
3. Dataflow

Sadly very few runtimes come close.
Lisp and Smalltalk made implementation easy.
Prolog makes it very easy, but it's easy to write Prolog in Lisp and Smalltalk, so there you go.

[2020-09-14] DataTables | Table plug-in for jQuery [[spreadsheet]]

Advanced tables, instantly
DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, built upon the foundations of progressive enhancement, that adds all of these advanced features to any HTML table.

[2020-12-28] Spectrum, a step towards usable secure computing [[security]]

[2019-07-02] Microsoft is about to shut off its ebook DRM servers: "The books will stop working" /r/DataHoarder [[sadinfra]]

[Microsoft is about to shut off its ebook DRM servers: "The books will stop working"](
Yet another sobering reminder that data bought/hoarded with DRM is only data rented. You can – and almost certainly will – lose access to it at any time.

[2019-06-01] End-user programming

missing composability and modularity in software

dark mode
cloud sync

[2019-09-04] mickael-kerjean/filestash: 🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, S3, FTPS, Minio, LDAP, Caldav, Carddav, Mysql, Backblaze, … [[toblog]]
After update I couldn't connect it to Dropbox at all due to some obscure error, and I though setting up sftp for that purpose is a bit too much so I gave up on it.

Basically I think it should be split in two separate bits. One would be editing that can be implemented in javascript as a browser extension/bookmarklet. Another is serving (and displaying?) files which can be agnostic to the editing mechanism

global surfingkeys-like navigation. basically being able to click on 'interesting' elements. e.g. if it looks like a scrollbar, allow interacting (OS knows it anyway?) [[think]] [[vim]] [[toblog]]

[2019-07-07] inspired by being unable to interact with extensions via surfingkeys due to browser security restrictions

[2021-01-30] video (2h): Machine That Changed The World, The; Interview with Ted Nelson, 1990 [[tednelson]] [[computing]]

wow. such a great interview (also has annotations if you want to skim through)
twitter tread with some interesting/fun bits ">

[2021-01-20] mini-series (1.5h total): Ted Nelson's Computers for Cynics - YouTube

great series, kind of an alternative view on the history of computing

[2021-01-27] Machine That Changed The World, The; Interview with Ted Nelson, 1990 [[computing]] [[tednelson]]

"Why are computers so seductive"?

[2021-01-30] GBH Openvault Search Results [[computing]] [[towatch]]

[2021-01-25] The Computer Revolution Hasn't Happened Yet by Alan Kay [[computing]]

[2021-01-04] Dragonbox Pyra begins shipping to customers (open hardware handheld gaming PC) - Liliputing

[2021-01-30] FAQ - IndieWeb

"Q: Why can't someone make something consumer friendly then?"[1]
A: Because they can't even make something self-friendly, that is, something that they themselves will use, daily, and thus continuously improv

computing revolution?

short term: hpi, promnesia, data liberation
medium/long term: degoogle/political campaigning/education?

[2021-02-03] why electron sucks: browser extensions like surfingkeys aren't available [[malleable]]

[2021-01-31] Machine That Changed The World, The; Interview with Bill Gates, 1990

wasn't so engaging, mostly about project management

[2021-02-05] Machine That Changed The World, The; Interview with Marvin Minsky, 1990

[2021-02-16] The fundamental challenge of GUIs is that they have state as a core concern. Unl… | Hacker News [[gui]]

The fundamental challenge of GUIs is that they have state as a core concern. Unlike most systems, state is not an implementation detail that can be refactored away. It is central to the problem domain. The end user sees and cares about having a stateful system.
The hardest part of dealing with state in a complex system is maintaining consistency in different places. Some instances of this this can be avoided by creating single-sources-of-truth, but in other cases you can't unify your state, or you're dealing with an external stateful system (like the DOM), and you have no choice but to find a way to keep separate pieces of state in sync.
I should probably write a blog post on this

[2021-02-25] Taking a Stand in the War on General-Purpose Computing

[2021-02-24] Keeping platforms open - Seirdy

[2021-02-07] FOSDEM 2021 [4] | Open Source, Interoperability and the Digital Markets Act

If you want to support policy action in favour of interoperability, that's what we're working on at EDRi, so donating to EDRi evidently helps :) Alternatively: if you're building software that would benefit from mandatory interoperability of dominant digital services, I'd like to hear from you. Having concrete examples for our advocacy work is hugely beneficial!

[2021-02-07] FOSDEM 2021 [3] | Legal and Policy Issues Devroom [[think]]

Question: Can we expect actions to be taken pro marketing of open standards, versus the propaganda of big corporations?  To keep the public's views open.

[2021-04-07] Computers and Creativity [[computing]] [[readagain]]

[2021-03-06] Element | Malleable Systems Collective

What also frustrates me is when "dark mode" has become a major product/feature announcement. I mean... how low are we going to set the bar?

[2021-03-06] Element | Malleable Systems Collective [[docker]]

Btw, very good point about state. Since containers (and Docker in particular) spread, it's become much easier to try out new software, I know that I can always just delete the container (or even resume setting it up later) and it will be all fine. As in, at least I don't end up with half-broken package manager dependencies, etc. Physical world doesn't quite have this property :) Although the state is much more explicit

[2021-03-29] Computing History Hub [[computing]]

[2021-03-20] Object Browser [[toread]]

[2021-04-14] I ordered a PinePhone the other day and I'm going to do as much as I can to try … | Hacker News [[sadinfra]]

I really can't be arsed with this stuff any more.
Why are the developers at Google acting in such boneheaded ways? Is it literally just "I get paid loads of money, lol"? Do people not grow out of that eventually when they have enough?
Like, you're literally a developer. Why would you make something you wouldn't want to use? Is the company just wholly made up of people who actually don't care about computing?

[2021-03-23] The Machine That Changed The World | Interview With Paul Ceruzzi - Discover News Television - YouTube [[computing]] [[history]]

3:30 nice interview, he really gets computing

[2019-11-23] I Miss the Old Internet | Hacker News

Wikipedia is even pushing further forward on that vision with Wikidata, a general-purpose knowledge base that's perhaps the most successful example of such a thing, succeeding where many other efforts have failed dismally. (Already, Wikidata gets more edits per minute than Wikipedia, albeit much of the activity is performed by bots.) It's also a successful use of Linked-Open-Data and Semantic-Web technologies (the Wikidata site hosts a SPARQL endpoint, for general queries of all sorts), so while it might not be "Old Web" per se, it feels quite retro-futuristic in many ways.