Google doesn't want me as user

/media/images/google_reader_to_close.jpg

Google

On May 30, you may lose access to apps that are using less secure sign-in technology

na@gmail.com

To help keep your account secure, Google will no longer support the use of third-party apps or devices which ask you to sign in to your Google Account using only your username and password. Instead, you’ll need to sign in using Sign in with Google or other more secure technologies, like OAuth 2.0. Learn more

I just received an email from google telling me access to their servers using my email client (mutt.) was being deprecated. There are patches I can add to fetchmail but I'm not sure I care enough about google to bother. This news could have been devastating but I moved all my data away from google years ago. When they killed google reader I saw the writing on the wall.

The only google product I still interact with regularly is youtube. I'm still waiting for the day they force inline ads or kill the rss subscriptions. It will be a sad when this happens. Hopefully peertube will have grown into an alternative by then.

I bought a fastmail subscription as my primary email host a few years back and this morning, in response to this news, I upgraded my account to one that would allow me to use a customized domain. Now you can send email to to me at na@trousermonkey.net.

I will still receive mail on my old address but I will soon be encouraging people to update their address books. The reason this is worth an extra $33 a year is it gives me an escape route if fastmail is ever bought by some huge evil company. When that happens I will be able to just point my dns entries to another email service provider and people will still be able to reach me at the same address.

This got me thinking about what would happen if my domain registrar is bought by a huge evil company? I'm not sure. I have technical ownership over the domain but that doesn't help when some capitalist decides all .net addresses need to be squeezed for more money. Hopefully when this happens we'll be living in luxury gay space communism with distributed dns to non-NATed ipv6 addresses and it will no longer be a concern.

In related news, microsoft has decided I need to create a microsoft account to play minecraft. I am sad to see it go. I love that game but joining microsoft as a requirement for offline play is asking too much.

It's my own fault for accepting that deal back when it was owned by a little idie game company. On the same note, I expect valve and gog will eventually succumb to the pressures of capital. One thing I've learned from decades of computing is to never put faith in a for-profit company.

dummy robotic arm from scratch

/media/images/robotic_arm.jpg

This is an awesome project with a lot of polish. It's one of those things every engineer tells themself they could do if they could only find the energy. He mentions the software taking the most work. I can imagine.

Gemini is a gem

/media/images/trousermonkey_gemini.png

In a recent post highlighted by hacker news マリウス decided gemini was really bad because he had to install a new browser to view it. His argument is that everything gemini does could be handled by pre-existing protocols.

What's the point, he argues, if it doesn't advance technology with blockchain, IPFS, or ZeroNet?

Regarding the limited formatting options:

As for the actual content, it is easily possible to configure a modern HTTP server like nginx to respond with nothing but pure Markdown. Users could then install either of the dozens of extensions available for their web browser, to be able to visit the Markdown-only websites more comfortably.

He refutes gemini's stance of taking privacy seriously by claiming he could write his own gemini server and track everyone who visited.

Finally his solution:

If you don’t like how modern websites track their users and flood them with ads, then don’t do that on your website, contribute to projects like uBlock Origin, Privacy Badger and Tor, and stop using websites that do track their users or spam them with ads. If you don’t like JavaScript, don’t use it or use it in a way in which your site will still function even without it, and stop using websites that won’t even load without JavaScript enabled.

I'm sad to say that ship has sailed. I do all these things and constantly tell people to stay off social networks, use firefox over chrome, linux over windows, and open source over proprietary software but nothing changes. People just don't care and it's too much bother to change.

Sure you could wire nginx to serve markdown and ask people to install a plugin to view your content but this will never happen. Apart from the insurmountable effort required from your users, your site would still be a sheep among wolves.

Gemini's greatest feature is once you're on the network, you don't have to worry about wolves. The overly restrictive one-request one-response protocol and the primitive markup makes it difficult to abuse. Sure Zuckerberg could move facebook to gemini and track people as they interact with a billion different pages on his server but apart from being astronomically unlikely, he couldn't abuse the protocol to do any more. It's too primitive for abuse and this is a good thing. I can relax when I follow a link in gemini because I know it won't have advertisements, tracking, or obnoxious media.

/media/images/bright_idea.png

I'm reminded once again of devdocs.io and how they can somehow install persistent documentation to my browser that is viewable offline. This is cool but terrifying. How much other shit is stored on my system without my knowledge? I'm super careful about the sites I visit and I take so many precautions about 10% of the pages I visit won't render in my browser because of my adblocking, dns redirects, disabled javascript, and cookie policies but devdocs.io still works. The modern web is too complex for it's own good.


/media/images/modern_web.jpg

Mozilla recently decided to get into the ongoing scam that is cryptocurrency and were forced to back down after an outcry. This was just another of a long list of problematic decisions made by the company and I and many others would desperately like to move to something else but there are no better alternatives. The consensus among developers is the requirements to produce a new web browser are too high. Rendering the modern web with support for all the protocols we take for granted, like javascript and media decoding is already a prohibitively high bar - not to mention you would still be forced to follow chrome, a browser written by an advertising company with enough market share they get to steer the protocol.

マリウス's complaint raised the usual discussion including the blog post that triggered this one..

Everyone agrees the web is shit. マリウス wants to fight for change but I think it's already a lost cause. Gemini is a kneejerk reaction to the modern web and is designed to thwart the marketers, trolls, and authoritarians in charge of things today. I think there's an opportunity to invent the next Gemini protocol with a few more features but it will have to be designed with the wisdom of Athena because those fuckers are devious.

The steam deck will be unlocked and open

/media/images/steam-deck-4.jpg

The steam deck is a portable gaming console scheduled for delivery in a few weeks that will be able to play most everything in your steam library. It will be like a nintendo switch but for the thousands of games available on your PC. Valve answers questions about the steam deck here. and they confirm this will basically be an unlocked x86 machine running linux.

I hope they can sand off the rough edges of running a modern linux OS. Big companies have claimed they were 'protecting the user' to excuse locked bootloaders, hardware restrictions, DRM, and all sorts of user hostile features. Most people don't care, which makes my life difficult because it matters to me and I have a hard time finding hardware that isn't infested with user-hostile hardware.

Despite their reliance on Proton (basically telling developers to continue developing for windows and letting the linux guys try to blindly figure how how to make it work on their machines) this FAQ is encouraging.

I'm adjacent to the target demographic. I'm not in the market for a hand held gaming device but I'm interested in the way it's developing. If it finds the support they're aiming for, I'll pick on up. I just really hope this doesn't fail like valve's other forays into hardware (the steam controller and the steam link).

I fully expect the worst from the gaming press as pointed out in the 6th entry of this post.. I expect complaints about battery life, poor performance when running demanding games at non-recommended settings, and a concerted effort to make it usable with windows (because an ever rotating handful of new DRM infested EA games will fail to work immediately in proton). If they can capture enough market share it might prompt huge game publishers be more careful about linux compatibility. If I could guarantee this by purchasing a steam deck I would do it today.

/media/images/steam-deck.jpg

Offline documentation

Over the holidays I've been doing more recreational programming on my laptop in places with spotty internet.

I've written a handful of scripts to manually sync source code with my desktop when I'm home but when I'm travelling I often need to do a quick lookup of something like the list of pathlib methods and offline documentation is frustrating.

Python can do introspection but it's annoying and not as readable as the online docs:

In [1]: import pathlib

In [2]: pathlib.__doc__

In [3]: print(pathlib.__doc__)
None

In [4]: from pathlib import Path

In [5]: print(Path.__doc__)
PurePath subclass that can make system calls.

        Path represents a filesystem path but unlike PurePath, also offers
        methods to do system calls on path objects. Depending on your system,
        instantiating a Path will return either a PosixPath or a WindowsPath
        object. You can also instantiate a PosixPath or WindowsPath directly,
        but cannot instantiate a WindowsPath on a POSIX system or vice versa.


In [6]: help(Path)
<finally some useful information>

You can also use pydoc to run an html server on a local port but the results are the same:

pydoc3 -p 1234

Looking online for other sources of offline documentation led me to devdocs. This is a website that lets you 'install' documentation for various programming languages for later reference. I was dubious about their claims that you could visit the URL even when you don't have working DNS but it worked on my laptop. Their FAQ explains how it works:

/media/images/devdocs.png

So basically magic. You know, the black kind that makes me wonder how many advertisers are using this to track everything I do, even when air-gapped. Still, it's a cool hack.

The mozilla developer network has a nice github repository with all their web documentation. If you do a shallow clone it's 271M of markup that compiles to html as you browse. To get this run:

git clone https://github.com/mdn/content mdn_content --depth 1
cd mdn_content
yarn start

I think there's more than enough for me here to look up all the weird markup rules for html but it can be hard to parse.

The gold standard of offline documentation is rust. In addition to thinking very hard about the deployment and reproducible build problem, they also seemed to have applied the same attention to documentation. The same utility that downloads or updates your compiler version will launch a page in your browser with documentation for your current version, using all the markup you find online:

/media/images/rustdocs.png
rustup docs

The first page contains links to 10 free books with just about everything you'd want to know about the rust infrastructure.

Know you want something in the standard library? Just add an argument:

rustup docs --std

Just need to look up something in the book?

rustup docs --book

Every time I return to rust I'm pleasantly surprised.

Guide to indie comics

This rings true.

/media/images/indie_comics1.jpg /media/images/indie_comics2.jpg /media/images/indie_comics3.jpg /media/images/indie_comics4.jpg /media/images/indie_comics5.jpg /media/images/indie_comics6.jpg /media/images/indie_comics7.jpg