HNHacker News
TopNewBestAskShowJobs

rektide

9,514 karma · joined April 20, 2007

submissionscomments
rektide··on Show HN: Linki, the Distributed Wiki
I love shit like this.

But."A tool to create distributed wikis" is a noble quest but you are setting out alone like this. Just one dude's opinion, but you can't go it alone like this, IMO.

It's all about protocols. Any given project has basically no chance of success, unless something (everything everywhere) goes exceptionally well. But if you can create a protocol, where other people are also excited and screwing around & expanding the pie, then you have a real chance.

Making this a project bigger than itself is a core challenge of almost all ambitious distributed systems efforts. Creating conditions to beget people who would compete against you, "competitive compatibity", is IMO at least as important as your source code & user interface. Again, just one random dudes attitude. But I see a big effort to sell the user experience here & it looks neat, but as an engineer I want to know who & why's of it all, want to know it's an open book I could keep taking further.

rektide··on Tell HN: PWAs on iPhone Still Suck
There's just so many small & interesting possibilities. We should embrace & be excited for good uses. But negativity amplifies & builds, is a common thread, where-as possibility is dispersed & uncentral. Having positive moments is structurally difficult & society at large is suffering for this great deficit of willingness.
rektide··on In practice, cool URLs can become inaccessible even if they don't change
It's not the intended use case & it's explicitly bound by restrictions in accepted DNS practice that say 7 days is the max time one should trust domain authority, but I really wish & hope somehow Signed HTTP Exchanges (SXG) can become a thing. https://web.dev/signed-exchanges/

The idea is that http content can self sign itself, in a way where one can safely make a bundle of these exchanges & potentially sneakernet/thumb drive them to a friend who can then read the content. And trust that it came from the origin it came from.

Crossed with certificate transparency systems it really creates a new possible expectation on the web, that users can take-away the content they come across. This seems like a minimum bid towards FAIR. https://www.go-fair.org/fair-principles/

rektide··on Freedom Respecting Technology: Next Generation Open Source and Open Knowledge
I think the FAIR folks did a good job capturing what, to me, is the most core essence of this all: exposing the data at the heart.

It's important that we also reveal & spread light on the computing, on opening the source. But the data underneath is highly occluded, highly captured, and is the root thing we want empowerment over. The tools are good to open, but the key radical movement that feels like it just has to happen is opening the thing the tools work on, the data. Once we can start to actually grasp what's underneath interface, once the data itself is FAIR, we open up human agency. That's the first start for freedom respecting technology.

I think FAIR lights the fire of interest, re-opens the window for enlightenment to flow again. And that will be compelling for people.

FAIR: Findable, Addressable, Interoperable, Resuable. https://www.go-fair.org/fair-principles/

Hat tip to one Dorian Taylor for the reference.

This is just one of a million angles, but it does make me think of the semantic web. There's a lot of business & data & research folks in this sector, but one of the core lessons is that things should have URLs; core axiomatics of the web itself (https://www.w3.org/DesignIssues/Axioms.html). Even the littlest drop of rdfa or microdata often starts with marking up different elements of the page to give them their own URI/URLs, making it explicit that the page is made up of many different objects. This is a low key change, but sets the seeds to let the web be more than opaque pages, to let the web be a thing of many objects.

rektide··on Twitter’s plea against India government dismissed
But most nations seem to be trying to make it so wherever on the internet their citizens travel, their laws apply.

Even though in many cases there's literally no servers, no offices, no business in a country. Or worse, you have India, which just mandates you do have an office, which is an unbelievably bullshit way to get their sneaky talons into the entire rest of the world's business.

Nation's need a limit to jurisdiction. They are not respecting that on the internet, their people are travelling abroad. Until nation's can start to recognize some limit to sovereignty, there is no moral or ethical obligation to fulfill their limitless absurd egotistical power-mongering. It is good that we ignore this illegitimate unjust application of power.

But to repeat, many companies do have real legitemate business operations & physical presences in other countries. Then you do have to obey those laws.

Your obey-all-laws maximalism doesn't acknowledge any limit, & poses a stark picture of absolute lawfulness. How do we navigate conflict between nations; what happens when one countries data protection laws conflict with another countries surveillance laws? What happens when either a nation or a jurisdiction goes power mad & demands basically unfettered access? In general I don't see any reason why we would obey the laws of countries that we don't have a presence in. Your people are coming to us, your people have left your nation. If I go visit Italy I am under their jurisdiction. What's happening now is a farce, this idea that each nation has jurisdiction over the entire internet. It's just not so. There is no internet like that. The lowest-common-denominator of agreeable rights & permissions to exist & host yourself online is the null-set.

rektide··on Tell HN: PWAs on iPhone Still Suck
You should have a user-agent that respects your preference & lets you do that! These are good options that should be easy to make happen! You should be able to blanketly turn off these capabilities. And we should have protocols so you can tell websites you have these stated preferences, so they know it's not going to happen. We need to mature & iterate the capabilities/permissions negotiations that happen on the web. Yes.

What I hope we can agree on is that your desires are minimal. You have a big anti-feature urge for how you want to experience the web. (I respect that, and am in ways partial!) But there's other people out here who want other behaviors. And since it's obvious the two don't have to be mutually exclusive, I hope we can talk about how to get you what you want, without necessarily imposing your strictures upon everyone else.

Alas, your initial comment has a bit of zeal, forged in exclusionary dogmatisms:

> Anything Apple can do to discourage web apps and force more development of native apps I'm grateful for.

rektide··on How does Linux handle writes?
The post says BSD tried to do what I said. And it failed to actually do it right, as basically a bug. And needed to be updated to do what I said. Which took a couple decades to find out & make happen but was a bit of an issue.

Still no confirm or deny on Linux.

I was at +2 and now 0 after this post rose to the top. Am I bitter? No...

rektide··on Twitter now requires an account to view tweets
"Temporary emergency measure" https://news.ycombinator.com/item?id=36540957
rektide··on CommonJS is hurting JavaScript
> I think the biggest miss was not making mixed mode (default) for Node do it the way webpack/babel, etc did it by default in terms of interop. I get they wanted to make it more implicit to call cjs from esm, in the end it just inhibits conversion of existing libraries as dependencies are now a bigger hurdle.

Huge huge agreement.

I forget the specifics but there was some super tiny corner case around maybe default exports that could potentially create ambiguity & that spawned a multi-year bellyaching around doing anything at all for interop. What Node got was incredibly hard fought for against much resistance to interop.

But the final compromises made everything so much more painful for everyone. So many esm projects but oh look a .eslintrc.cjs, how unsurprising & sad.

It's extra maddening because node had a wonderful just works (except that tiny tiny tiny corner case) interop via @standard-things/esm, which seamlessly let the two worlds interop. It'd been around for years before node started shipping support, and it was no ceremony just works bidirectional interoperability, and it took basically no effort or thought from the developers point of view to use. It sucked seeing us walk back from great, mired by frivolous over concern for a obscure corner-case.

https://github.com/standard-things/esm

rektide··on CommonJS is hurting JavaScript
I really wish this sort of hackerly mojo was available in the browser too.

Being able to hot reload & instrument modules is power we should have. Will some people greatly mess it up & create hard to maintain software? Oh yes. But let not the bottom of thr curve be an excuse to clip off the top half of the bell curve. Ad Astra.

As esm was being specced out in es2015, there was an expectation there would be follow on work for a registry, where modules could be managed by the runtime.

That never happened. Heck, 2023 and we still don't have actually modular modules in web workers: there's no import-map support or spec! Issue #2 in import maps... 2. https://github.com/WICG/import-maps/issues/2

rektide··on CommonJS is hurting JavaScript
ESM was a part of es2015. It's been 8 years that we've had to tangle with both cjs & esm. It's been absolutely awful for everyone.

This crusade is nowhere near zealous nor righteous enough against the infidels & non-believers.

But it also hasn't been effective enough at supporting/supplying the crusade either.

Matteo's statement was that Node hasn't stabilized their loader support so tools have a harm time migrating to esm. Imo it's a pity ecmascript never stabilized a module registry, that esm 1.0 shipped & most people thought it would happen; it's long felt like a bait & switch. But it wasn't a feature browsers needed or really wanted so that unfulfillment was unsurprising. Anyhow, IMO Matteo is making a technical point that it's still hard to finish the move, which is a different spin IMO than a "advocated a moderate approach".

Given the hurt we legitimately experience, I really wish Node and/or WinterCG or someone would prioritize figuring out & implementing whatever needs to go into a module registry/loader. And then beg the big tool chains that need this stuff to expedite their migrations, pretty pretty please.

rektide··on How does Linux handle writes?
In any production machine, I would strive very much to avoid this circumstance, yes. Better tune your system. Either allow less dirty data in the first place (dirty_background_ratio defaults to 15% of memory... even if you have 2TB of ram) or lower your dirty_writeback_centisecs so not as many seconds of dirty writes get buffered if this happening, pretty please.

My example used more illustrative than real numbers. Still, 10s seems not totally uncommon, which is only 3x off.

rektide··on How does Linux handle writes?
It's a point in time write barrier no? Everything before the sync has to get written.

But writes are still getting added after the sync. Maybe I'm wrong but it seems like sync has to not try to sync those latecomers, because otherwise it might run forever, with new writes showing up each time it waits for current writes to sync.

Assuming the above is true, it makes sense to sync multiple times. You converge towards being fully synced. The first sync might take extra long (say 30s) because there could be tons of stuff unsynced. But the next sync should only have those 30s worth of writes to sync. Let's say that takes 5s. Now the third sync only has 5s worth of writes to sync, and that takes 1s...

This is all built on some assumptions about how sync works. But it feels like sync needs to be able to terminate & these assumptions are the only thing I can imagine that makes sure sync can ever finish, without never ending changes keeping it open.

rektide··on Supreme Court allows web designer to refuse service for same-sex weddings
The ruling is explicitly about individuals but I don't see how this can do anything but precedent for corporations at large. What if Wix had a Christian owner, or, to makeup an outlandish bogus scenario what if religious extremists took control of say CloudFlare or aws? Is the freedom of those entities really the only thing that deserves protection?

> Colorado seeks to force an individual to speak in ways that align with its views but defy her conscience about a matter of major significance - Gorsuch

rektide··on French Gov Wants to Inject Domain Blocking Lists Directly into Web Browsers
The precedent here is that any of the 200 nations of the world now can arbitrarily tell browsers what to do. It's forcing the browser to be non-neutral to content & sites, forcing it to become a regulatory agent.

Right now it also sounds like thr government is basically sending letters. How does a browser maker know what letters to trust & which are outright bogus or someone in thr government overstepping their bounds? What is the expected maintenance burden we are putting on folks making browsers?

Are there any limits to this rule? What happens if elinks browser or w3m doesn't update itself? How will the government figure out who to send updates to?

rektide··on Twitter’s plea against India government dismissed
Nations should have better laws. Nations have to respect other nation's freedoms of speech.

This idea that this amazing connected information space could be possible is under threat. By illiberal and/or partisan people who happen to have power.

If people are connecting to my servers in my country, it doesn't seem clear to me that this far off place has any jurisdictional rights. Your people left you nation & came to me. If I start to setup offices & run TV ads in your nation that changes the relationship. But conversely, it's absurd & illegitimate that countries like India force me to have an office there, as a cheap sneaky shitty hack to force jurisdictional control.

rektide··on YouTube is testing a more aggressive approach against ad blockers
Or tivo/dvr'ing our own computers.

It's just a big stupid farce when technology is used to bluntly cudgel users. Even if the user intents arent what corporations want.

rektide··on BART ridership is still down nearly 70% from pre-Covid levels
DC areas metro is facing a good 3/4 billion$ shortfall too, with federal support ending.

We have the added shitshow of being a metro system spanning three different states. No one wants to pay, no one feels responsible; it's a mess.

rektide··on Leo Tolstoy on why people drink (2014)
The meta point is poetically spun.

> All human life, we may say, consists solely of these two activities: (1) bringing one’s activities into harmony with conscience, or (2) hiding from oneself the indications of conscience in order to be able to continue to live as before.

> Some do the first, others the second. To attain the first there is but one means: moral enlightenment — the increase of light in oneself and attention to what it shows. To attain the second — to hide from oneself the indications of conscience — there are two means: one external and the other internal. The external means consists in occupations that divert one’s attention from the indications given by conscience; the internal method consists in darkening conscience itself.

Sounds oh so much like a somewhat veiled Teror Management Theory, like the premise TMT starts from. We fear the end of our meaningfulness. https://www.psychologytoday.com/us/basics/terror-management-...

rektide··on Bill C-18: Google to remove news links in Canada over online news law
It depends on whether you consider a headline and part of a sentance the content or not, I I guess.

It sure doesn't seem to me like creating a link & giving people an extremely concise blurb that hopefully entices them to follow it is the content. As an individual I expect to be able to cite things in the world and to tell people how they can read it too. Legislating that basic right away feels like madness.

rektide··on The new desktop Outlook is a bad idea
These two apps seem to be the number one and two most popular desktop-packaged webapps & they have done immeasurable damage to the perception of the web as a technology.

It's cemented the perception of web desktop tech in many people's mind & I question whether it's possible to de-infect what has become a quite strongly held dogmatism. There's few apps broadly actually uses these days, so the opportunity is also troublingly slim. I want to ask, what are the contestible assertions, what would change your mind? But even for me it's hard to imagine finding sufficient leverage, having enough examples, to really challenge the negative perceptions.

For what it's worth, discord load time is a bit obnoxious but I've found it to be pretty performant once loaded, and I'm a fairly intense user who is on many dozens of servers.

rektide··on The new desktop Outlook is a bad idea
Palm Pre's webOS (2009) is the most famous. After an acquisition by HP (2010-2013), it was acquired by LG's (with patents going to Qualcomm). The only other major entrant, Firefox, was short lived (2014-2015). Chrome OS (2011-) only sort of counts; I don't think the OS chrome is using Chrome, just the same underlying drawing libraries, but it does run webapps.

Before that was a neat Linux project Pyrodesktop (2007) which was an x11 window manager using Firefox guts to render. There was also a trend of trying to mate Javascript technologies to gnome back then, with efforts like gjs seeing some adoption. I don't know how popular it is, but a spinoff of css was/is used for styling in GNOME for a while.

These days there's tons of web desktop projects. https://github.com/syxanash/awesome-web-desktops . Only sort of in the spirit but i quite adore Greenfield, an html5 Wayland desktop/compositor. https://github.com/udevbe/greenfield

I absolutely think there is all-in potential for the web. I think we're missing a visible rallying point, where a stronger community of app makers can cooperatively advance beyond-the-web capabilities. Project Fugu & WICG help a lot but are also working with Safari (and sort of Firefox) handcuffed to them.

rektide··on The new desktop Outlook is a bad idea
Vscode feels blitz fast. Which apps have you tried that feel slow?
rektide··on “Support for System V scripts now deprecated; will be removed in future release”
As a Debian user, it doesn't affect me. Supposedly back ported sources are also available just no longer tagged for RHEL, and if that's true my sadness is somewhat limited for my fellow distros, even if they are so heavily corporate in origin. My world & the Linux world keeps getting incredibly better every year, in my view.

This 254 release is amazing, just so much stuff. Utterly unreadably long but posted some favs: https://news.ycombinator.com/item?id=36516792

Chin up, man! Or best of luck over in openbsd land.

rektide··on International Symposia on Computer Architecture ISCA@50 Retrospective: 1996-2020
Amazing resource.

The retrospectives in particular are incredibly useful, taking this deep research work & connecting it & adding context.

The Corona paper was a great example. The team built incredibly advanced chip-scale 3d photonics. They assumed electrical connections would become more of a roadblock, but here we are sending 50+ gigatransfers/s across PAM4 copper in ethernet & soon PCIe. Epic. And they talk about the industry's proprietariness preventing things like effective adoption of Wavelength-Division-Multiplexing (wdm) which would help boost density/speed. Great paper to read really really good things getting built & they are happening, but much much slower, in lower-fi ways. A very just quote at the end for their paper, "Make no little plans, they have no magic in them to stir [the] blood."

On a damper note, it worries me a bit that the last decade feel like it has very few papers that will mean much to most of computing. Some of them might potentially see some break-out applications, that see truly great success. But very few seem likely to have broad applications & a significant chance at adoption. Where-as even 10 years ago it felt like most papers reflected the industry more broadly; even if it was talking about fancy data-center fabric, it was still fabric for workloads that were vaguely recognizable by most folk. It feels like we've descended into a much more speculative, much more niche mode of architecting.

rektide··on “Support for System V scripts now deprecated; will be removed in future release”
This is an amazing release. As far as controversy clickbait topics go, personally I'm much sadder to see umerged-usr bite the dust, even though i'm a huge fan of merged-usr, just because it was super nice being able to boot off whatever / you have and drop another systems' /usr in. But at least there's systemd-sysext to allow some combining overlays. Anyhow, excited to talk through various changes that look exceptionally neat to me:

RootEphemeral=, which lets processes run in a filesystem snapshot; super neat for seeing what changes a process might make to your system. https://github.com/binpash/try was a popular submission a couple days ago, & this builds in a similar capability to the os.

RestartSteps= and RestartMaxDelaySec= to finally finally offer some level of control over exponential-backoff in the restart behavior.

FileDescriptorStorePreserve= is kind of mysterious, lets systemd store open file descriptors for a process even after it terminates. Some interaction with systemd-analyze. Not sure what this is for exactly but definitely cool extra visibility/observability of processes. I tend to think it also potentially could be useful allow for some weird/fun stuff like restarting services without closing ports.

Soft-reboot which can be useful for switching roots without having to juggle bootloading. Very useful for anyone doing partitioning or what-not. And as I hinted above, you can pass file-descriptors, meaning you can avoid service-interruption while rebooting; what a neat trick.

DelegateSubgroup= puts processes inside a sub-cgroup inside the top level cgroup. So as a user you could have a bunch of sub-cgroups that you can manage, letting you juggle/manage resources within your cgroup. This sounds a lot like Dixon's incredible talk technique of cgroup management, Linux memory management at scale. https://www.youtube.com/watch?v=beefUhRH5lU&t=2241s This is also easily what I think the worst most pitiful saddest part of the Kubernetes story is: a complete unwillingness to let Linux manage memory & use cgroups well, in favor of it's own scheduler which makes all the decisions.

iocost calculations for io devices, to configure/tune io/qos cost for devices. has a huge existing db of drives. https://github.com/iocost-benchmark/iocost-benchmarks

systemd-sysext gains a systemd-confext twin. the former manages overlays for /usr and /opt, the latter manages overlays for /etc. Very nice portable services tool now. Maybe the capstone work completing Revisiting how we put together Linux Systems. https://0pointer.net/blog/revisiting-how-we-put-together-lin... .

Using efi vars to save the hibernation partition, which should be a huge win for hibernation working everywhere.

Some other neat bits:

CAP_WAKE_ALARM rights to user sessions, for setting long-running timers. Sigqueue support to send processes signals with associate values. list-paths verb to show paths. systemd.tty.* kernel arguments for setting up ttys. Early load virtio_console module if it detects it's runnin in a VM to get console up earlier. Upholds= gets a new .upholds/ drop-in directory for keeping other services running (not just starting them like Wants=). sd_journal_get_seqnum api call so apps can have mechanistic sympathy with journald. Ton of bootloader, boot-security, repartitioning, disk-encryption enhancements across the map. SetTTY to for updating the TTY of a session; so useful for ssh'ing in.

udev creates /dev/loop/by-ref/* files with helpful names. systemd-resolved gets a StateRetentionSec= to let you cache & use old records if a nameserver isn't responding. Most systemd services now have some standard signals they accept to tweak config, ex: changing log level, log target, trim memory, print debug mem info. machinectl & networkctl gain "edit" and "cat" capabilities for viewing config. systemd-firstboot --reset which is hella useful for cloning machines & updating machine-id. Services now sd_notify with their EXIT_STATUS on exit; part of trend of making services more observable/operable everywhere. new systemd.mount-extra= kernel arg to ask for mounts at startup.

I love reading release notes in general, but this was absurdly delightful. It felt like in the past sometimes systemd was focusing on new feature growth & ideas, but I'm seeing huge maturation & growing in in this release. Really leaning hard into everything alive & responsive on via signals and passing around file-descriptors is excellent excellent excellent systems-wonkery. The fit and finish here is going way up. There's just a ton of damned-useful ergonomic wins that make everything super easy to find & see & touch & manage. 254 is an epic release.

rektide··on “Support for System V scripts now deprecated; will be removed in future release”
They're neither more powerful nor more flexible. Init-scripts can iterate & build whatever complexity they want. They can be far wilder. There's almost nothing constraining what an init script could be.

Systemd does establish easy-to-use & incredibly-powerful access a wide range of super-powerful knobs. And in a consistent & clear way, where-as each init-script would have a totally different way of doing config & slightly different approaches to the various hacks. And init scripts arent composable, where-as you can take your distro's regular unit, and drop-in some additional configuration easily, in a very eloquent way, across any bit of config. I think systemd is amazing & brings enormous clarity. It has enormous power.

But init-scripts still had more power. But it was reckless chaotic power that was enormously hard to tap, and required prodigal talent to develop these individual artisinal artefacts, which became, as a user, a thing of horror to rework. Init-scripts almost never were particularly flexible or powerful, but so help you if you ran into such an artefact.

rektide··on “Support for System V scripts now deprecated; will be removed in future release”
> Large part of the value of Linux for me is stability and lack of churn

Systemd is 13 years old.

As far as I'm concerned, the complains against churn run out after the project is old enough to drink. Especially if it's not just well adopted, but by far the most popular option.

In general, having open source but being afraid to change it sounds like hell to me. I personally believe in Linux & open source because it lets us keep improving & iterating & changing. Open source embodies the soft in software, and is the best vector computing society has for bringing light & clarity to a confusing but powerful man-made microverse.

rektide··on Ireland: Questionable GDPR procedures now “confidential”
It is pretty amazing how even when government does create decent well intended laws, the diversity of jurisdictions are just so damned effective at maladapting. Government goes centrally, and subterfuge happens in massive parallel.
rektide··on Milk V is now live on CrowdSupply
Very promising XuanTie C920 x 64 system, $1200 opening price. The pre-1.0 vector extensions are a little unfortunate but that's the timing.

Really does set up the idea that the sea-change to RISC-V could be fast.

← PreviousPage 2 of 34Next →