HNHacker News
TopNewBestAskShowJobs

toastal

3,706 karma · joined November 24, 2017

https://toast.al

Stop using Microsoft products; say _NO_ to neo-EEE including Windows, WSL, GitHub, Sponsors, Teams, Copilot, VS Code, Codespaces, Azure, npm

[ my public key: https://keybase.io/toastal; my proof: https://keybase.io/toastal/sigs/mvLwnRWnyTbp4SpA8E67tgXwYWzOhOxogVwypDY7RC0 ]

submissionscomments
toastal··on Os.js – open-source JavaScript web desktop platform with a window manager
Utility classes are meant for utility purposes, not to replace CSS, but you see so many projects out in the wild now terrified to have a classname that’s relevant to the topic which makes it harder to organize, but also harder to select for userStyles, filter lists, etc. (i.e. if you make a FooWidget, add the .FooWidget class so real folks can read/parse thru the code easier for their needs …or just for their knowledge of what others are doing, and maybe actually put some styles on that bad boy instead of every property being behind a util). I have spoken with some engineers that only know how to speak Bootstrap or Tailwind, & not a lick of CSS. This isn’t just 2000s thinking to consider pumping the brakes a little as utilities at this point have definitely blown out into ‘overuse’ & ‘overreliance’, but these things come in cycles with a new idea taken to an extreme before we swing back to only semantic markup & selectors on element names again before the next pendulum swing. Even still, utilities aren’t a new idea, but just part of how reusable classes in CSS can just work ­– and rolling out with massive block of utility CSS that are mapped one-to-one with a single property is in the ‘smell’ territory.
toastal··on Os.js – open-source JavaScript web desktop platform with a window manager
Most folks seem adverse to learning CSS. In contemporary times they’ll go as far as to add 44 cryptic utility class names to element to avoid writing a line of the stuff.
toastal··on Os.js – open-source JavaScript web desktop platform with a window manager
The inclusion of a XMPP client is cute
toastal··on Bun v0.8
Eh, I mean it’s better than Discord & Slack, yes. The Matrix model of mirror the entire history of all user conversations, including attachments, make it costly to host the storage side. This in turn makes self-hosting not appeal which has lead to de facto centralization around Matrix.org. I would like to see a greater uptake in XMPP MUCs as it’s way lighter to self-host …or IRCv3 which is lightweight but has some modern comforts. Chat needs to be treated an non-permanent where Slack & Discord have made folks over-reliant on it & now we can no longer do a simple web search.
toastal··on Bun v0.8
That workaround is obviously not ideal & still requires an account (& possibly a phone number too). And your private message will still be logged. And using the service also still causes a big issue for search as you can’t find solutions using an engine like you could with a forum.

If there are the resources a community would self-host a decentralized, federated server where users are in control of their account/data along with the community in control of moderation, bans, CoC, ToS… & then bridge to other services from that base if they are seen as useful. If a community has less resources certain servers use less resources—especially if the server isn’t supposed to hold the entire history (which these chat rooms shouldn’t be seen as a place for permanent decision making anyhow).

toastal··on Bun v0.8
The crowd that is blocked by sanctions, values privacy/freedom, has certain accessibility needs third-party clients could provide, or doesn’t have powerful enough hardware or a big/fast enough internet plan likely hasn’t been able to participate even if they wanted to. It’s a bad choice, and we see users get banned for weird, non-project-related reasons & they lose access to the community due to the whims of the Discord corporation.
toastal··on Bun v0.8
When will Bun use an open standard like IRC, XMPP, or Matrix as a community chat option instead of being limited to usage of proprietary Discord & subject to their ToS?
toastal··on Show HN: FlakeHub – Discover and publish Nix flakes
Flake utils as most people use it is often useless if not dangerous (leading users into errors you’ll now get bug reports for). To write a for loop over systems is 1–5 lines of Nix code instead of pulling in a dependency & it’s subdependencies. If you’re not testing systems, it might also not be wise to use defaultSystems & assuming it just works; often you are better served just picking the architectures you can test, or at least doing a union of the buildInputs’s support matrix.
toastal··on Show HN: FlakeHub – Discover and publish Nix flakes
We don’t want your proprietary Discord room—we want to see open options like an IRC chatroom, XMPP MUC, or Matrix Space.
toastal··on Unlocking Discord Nitro features for free
I’ve heard it has less system resources, but the Synapse compatibility needs to be maintained. One of the bigger runaway issues tho becomes storage as the protocol requires replicating the entire chat/attachment history of all users for all of their DMs & chatrooms which I’ve read caused a lot of folks to shutdown their servers either because Postgres bloated up or hosting all the static content got too costly. This model makes sense when folks treat chatrooms like a permanent log, but if you treat it more like IRC, there would be no requirement for replication beyond a couple of messages for a new user to see the current topic to participate (while also covering the case that searching these chatrooms is a pain & much of their discussions should have moved to forums/mailing lists).
toastal··on Unlocking Discord Nitro features for free
There’s issue with metadata & the requirement of sharing one’s address book to use WhatsApp. I wouldn’t be surprised if it too like Signal required users have a Android/iOS primary device & a phone number or you can’t use the service which has privacy implications but also feeds the mobile OS duopoly as you can’t choose another OS (or to just not have a phone).
toastal··on Unlocking Discord Nitro features for free
And Matrix is currently too heavy to self-host which means relying on Matrix.org (who also controls the spec).

My vote would be an XMPP MUC that’s bridged to IRC. This keeps it lightweight & decentralized. Both of these options could be ran with hundreds or thousands of users on a potato compared to Matrix.

toastal··on Unlocking Discord Nitro features for free
All project maintainers: take notes on why your community shouldn’t be built around Discord’s service. Bridge to it only if you must, but don’t make it the primary chat option.
toastal··on GNU Parallel, where have you been all my life?
You should batch compress to JPEG XL too with cjxl --lossless_jpeg=1 --quality=80 --effort=9 {} {/.}.jxl (or magick)
toastal··on GNU Parallel, where have you been all my life?
I use this with Nix all the time. Great utility.
toastal··on Fixing the TPM: Hardware Security Modules Done Right
That’s one phone with overpriced features unfortunately. I understand you’re paying for a small batch, niche device (that some users have had a lot of issues getting the thing shipped) to get a slow CPU, measly RAM/storage, meh camera, & an IPS panel. I’d rather go the route of postmarketOS with BYOD that with better specs (even a 4–5 year old phone can easily outcompete) & an OLED panel, but much of the effort is not in telephony (I understand it’s all volunteer hackers, but it’s an unfortunate effect). The PinePhones have the same spec issues even with a better sticker price. It’s just too hard to justify. I flashed postmarketOS & Ubuntu Touch on an old OnePlus 1 which has similar specs & it’s gruelingly slow. Phones in the last 3 years are now all ‘good enough’ (hence sales across the board plummeting as upgrades have meant a lot less finally), so until the specs can get there, it’s gonna be a pass.
toastal··on Why your blog still needs RSS
So you have to pick your lock-in for a Markdown processor? Once you step outside of CommonMark, nothing is compatible. Compare that to AsciiDoc, reStructuredText, Org mode… these support metadata as a first-class feature (as you would expect from almost every other creative format: *.ogg, *.webm, *.odf, *.png, *.svg, *.html, etc.). Choosing such tools makes it a) harder to migrate to another tool & b) difficult/impossible for other tools to render it properly. You can skip that nonsense by just choosing a better format.
toastal··on Fixing the TPM: Hardware Security Modules Done Right
Sorry boo, but the telephony is generally pretty garbage on all the Linux options & a phone still needs to be a phone. A lot of those important apps won’t be supported as well as they only cater to the Android/iOS duopoly.
toastal··on Why your blog still needs RSS
I believe usage numbers were low, but it was likely most beloved by power users, which is the same audience that disables the telemetry & experiments as that trust has been abused on more than one occassion in the past. SSB was removed because it had low usage despite it being behind an about:config flag.
toastal··on Why your blog still needs RSS
I’m self-hosting Miniflux & use it in the browser or with Newsboat. It’s lacking a few features (namely the ability to give multiple tags to feeds for organizing/consumption), but ultimately it’s low-bloat & good on resource usage.
toastal··on Why your blog still needs RSS
I used to use Fx’s Live Bookmarks all the time back when it was still around. It made sense in organizing ones bookmarks to also have feeds.
toastal··on Why your blog still needs RSS
This lessens the payload of the RSS as well not shipping dozens of whole articles.
toastal··on Why your blog still needs RSS
And literally almost any other lightweight markup option will be better suited too. Markdown doesn’t support metadata, details/summary, callouts/admonitions, image attributes, citing quotations, definition lists, etc.
toastal··on How to Build Stumbleupon for Git Repos with ChatGPT and Hugo
Title says Git, but the article only mentions Microsoft GitHub. There’s also a host of cool projects not using Git—darcs, Pijul, Fossil, Mercurial, Subversion, etc. Microsoft GitHub already has a gamified Explore section… if any projects could use a little extra help getting eyes that otherwise wouldn’t see them, it would be all the projects living elsewhere. I wanna see this but with access to folks self-hosting, alternative DVCS, & projects that don’t require a Microsoft account to participate.
toastal··on Fixing the TPM: Hardware Security Modules Done Right
No planned obsolescence but they removed the headphone jack & started selling the earbuds which are one of the kings of e-waste compared to getting a nice pair of headphones or IEMs that will last a decade or more.
toastal··on Fixing the TPM: Hardware Security Modules Done Right
That’s a sad jump. I’d say support/embrace Linux mobile, but we know the app makers won’t support it (and shitty apps like Signal require a primary device running one of the mobile duopoly OSs) & we we know Google with its Web Integrity wants to lock down our web browsing sanctuary that runs on any platform. Yeah, we might be forced into it… or be prepared to go low-tech like going to the bank & calling.

For me this will be really bad if I’m traveling abroad since the website requires 2FA & SMS is the only option which will be roaming & even the annual number swap I do when I get a new SIM requires paperwork & waiting a week for processing. But maybe owning a phone is more of a burden due to lack of device control & privacy concerns.

toastal··on Ask HN: Why did Microsoft, Meta, and PayPal update their ToS today?
GitHub is also ran by a untrustworthy megacorp with a ToS. Just wait til the ToS changes to where you can’t use it to told others accountable.
toastal··on Dart 3.1 and a retrospective on functional style programming in Dart
fp-ts has this same unfortunate issue (https://gcanti.github.io/fp-ts/guides/purescript.html#data) where a PureScript one-liner becomes 11 lines of boilerplate TypeScript. Or (https://gcanti.github.io/fp-ts/guides/purescript.html#patter...) 3 lines of pattern matching becomes 10 where the matching is done on strings (ad-hoc _tag property).
toastal··on Dart 3.1 and a retrospective on functional style programming in Dart
But reading those definitions at the top of the file is usually one of the first places I’m going to go to understand what’s going on. The 4-line option to me is much easier to grok, not only because it’s more terse but the way the pipes are stacked to indicate visually that they are related to the same underlying structure. The `extends Message` bit is a level of indirection that requires the reader to juggle a lot more in their head (as is immutable `final` not being the default). The `class` keyword also carries a lot of baggage that it’s not clear what to expect (will this have methods or not?, will we be seeing `this`?, etc.).
toastal··on Dart 3.1 and a retrospective on functional style programming in Dart
I think a lot about how these things might look in a ML-family

    layout : Element → SafeString = FormLayout
       [ Section 
          { title : _ "Account information", 
          ; contents : Column
             [ Field "username"
             ; Row 
                [ Column [ Field "password" ] ]
                ; Column [ Field "password_repeat" ] ]
                ]
             ]
          }
          (* etc. you get the idea *)
        ]
← PreviousPage 12 of 34Next →