I’ve returned from the depths of The Fediverse
with a
I’ll play around with this stolen idea for a bit. Audio reactions
might also be another idea worth exploring.
Another wandering soul whispering into the void. If you are looking for my blog you are in the wrong place. The profile and header pictures are brought to you by cdd20.
I’ve returned from the depths of The Fediverse
with a
I’ll play around with this stolen idea for a bit. Audio reactions
might also be another idea worth exploring.
WordPress has
an affinity for back–doored radioactivity.
If I can get my way (which is hard), a WordPress install has only 1
theme and
0
plugins.
wordpress/
|-- public
`-- wp-config.php
/* Disable installing plugins and themes */
define('DISALLOW_FILE_MODS', true);
There’s an old article from the developer of NetNewsWire ( reader) that questions the idea of the unread count. You can’t read all the unread — so why entertain a time consuming mythos around that number?
It applies everywhere — What narratives might people create around the
programming language %
numbers on GitHub? Do they waste
time thinking/fretting about their mythos? Fun to think about.
No more need for npm in my personal stack! The native
browser’s path comes from which
.
import puppeteer from "https://deno.land/x/puppeteer@16.2.0/mod.ts";
const chrome = "chromium"; // Browser Chrome: "firefox" | "chromium" | "google-chrome" | ...
const product = "chrome"; // Product Base: "firefox" | "chrome"
const command = new Deno.Command("which", { args: [chrome] });
const { status, stdout, stderr } = command.outputSync();
const executablePath = new TextDecoder().decode(stdout).trim();
const browser = await puppeteer.launch({
headless: false,
executablePath: executablePath,
product: product,
});
const site = "example.com";
const page = await browser.newPage();
await page.setViewport({ width: 1024, height: 768 });
await page.goto("https://" + site);
await page.screenshot({ path: site + ".png" });
await page.waitForSelector('a');
const url = await page.evaluate(() => {
return document.querySelector('a').href;
});
console.log(url);
await browser.close();
deno run --allow-all main.ts
The best articles on are from about
15
years ago. In hindsight, RSS was probably thrown away by influential
companies and technologists because it was too hard to monetize. The great thing
about RSS though is that the spec can be explained to a non–programmer in about
an hour — that’s probably why it’s hard to kill.
Meta Platform’s Metaverse (Internet ≈ Facebook in my country) might just succeed. Well… not because they deliver on the “metaverse” (whatever that means) but because it sets up a hardware distribution chain for software/browsers (the only thing that actually matters).
The problem of global discoverability (in this case ) is partly technical and human. Habbo Hotel might just make a return :-)
Squint hard enough and it sure looks like a command line interface.
Surely typing/saying the below Alpine command to install Firefox is way easier than who knows what multi–stage process other operating systems require.
apk add firefox
Google’s search box (rather tongue in cheek) is the most popular command line
interface in use today. With ,
installing and running firefox
would just be a phrase equivalent that compiles
to:
firefox
On NixOS, we can already do stuff like that. Of course, NixOS lacks a translation/encapsulation layer for imperative to declarative specification — so user friendliness suffers dramatically.
Larnyx/Rhasspy is an excellent/fast offline text to speech program. There’s approximately 50 voice samples.
It would be trivial to turn this into an that reads articles/posts, but it’s on Python so packaging it “directly” (there’s a docker container) is way harder than actually using it.
Apparently we were supposed to be entering
the era of web4
right about now. “Intelligent personal agents” does sound like a nice marketing
jingle. Also… I just learned that
web5
is a thing?