HNHacker News
TopNewBestAskShowJobs

drybjed

304 karma · joined November 12, 2018

Debian GNU/Linux sysadmin, author of DebOps (https://debops.org/).
submissionscomments
drybjed··on GPT-5.6 Sol, along with Terra and Luna, will launch publicly this Thursday
It's the same issue with American and ISO date formats again. I mean, it's 8/7/2026 today, what's the problem?
drybjed··on CERN bids farewell to the LHC and enters Long Shutdown 3
El Psy Kongroo.
drybjed··on “I applied to be pope”: Losing grip on reality while using ChatGPT
What do you mean? Catcholic Church has records, did they just came up with something about a nonexistent Pope Joan out of thin air? How could they...
drybjed··on Running out of disk space in production
Make sure your /tmp is on disk and not a tmpfs, like in recent Linux distrubitions.
drybjed··on Celestia – Real-time 3D visualization of space
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=809916
drybjed··on European govt air-gapped systems breached using custom malware
This could be implemented via Delay-Torelant Networking protocols.

https://en.wikipedia.org/wiki/Delay-tolerant_networking

drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
The project is up on GitHub, here's Show HN: https://news.ycombinator.com/item?id=41577391
drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
The project is up on GitHub, here's Show HN: https://news.ycombinator.com/item?id=41577391
drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
The project is up on GitHub, here's Show HN: https://news.ycombinator.com/item?id=41577391
drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
With a daemon approach and clever integration within applications that handle missing fifo correctly, all you need to do to get rid of the sounds is just stop the service. And it's also configurable, so you can set what actions actually do produce sounds.
drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
Maybe. :-)
drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
I'll set it up on GitHub in 1-2 days and publish it on Hacker News.
drybjed··on Ask HN: Does anyone use sound effects in their dev environment?
This sounds like an idea borrowed from games or other media where doing certain actions results in an audible feedback. This is often done for the benefit of the audience, or to enhance the gaming experience, but I had an idea to implement this in my workspace to somehow influence my brain and make it more enticing to write code and somehow beat procrastination.

I wrote a Python daemon which on startup loads small .wav files into memory to make latency as small as possible, and listens for interrupts as well as reads from a fifo. Other programs can send commands to it to play certain chimes on demand. In ~/.vimrc I added autocommands on certain actions - buffer write, enter/exit Insert mode, enter/exit command line, text change, etc. to send commands to my daemon. Now, when I use vim, I get audible feedback of my actions during writing. Since this is all in a separate daemon done in an UNIXy way, adding support for this in other applications should be easy enough if I want to.

If there was interest, I think that I could clean up the project a little and publish it, including a set of free .wav chimes to use.

drybjed··on Why are we templating YAML? (2019)
YAML, TOML and JSON can be ingested to represent the same data structures internally, it's just a few lines of code to decide which load() function should we use for a particular file. Why not support all three formats in your applications for configuration and just let users decide, which one they want to use? Put a 'config.json' in '/etc/app/conf.d/' and you get the same data, as with 'config.yml' or 'config.toml'. Then users can use whichever format they prefer for the input data.
drybjed··on Rewind Pendant: a wearable that captures what you say and hear
"The Entire History of You" [1]

[1]: https://www.imdb.com/title/tt2089050/

drybjed··on Could the Universe be a giant quantum computer?
Sounds like the "Dark" TV show on Netflix.
drybjed··on Scripps Institution of Oceanography’s FLIP vessel decommissioned after 60 years
This ship was the inspiration for the MS Curie vessel in SOMA.

https://soma.fandom.com/wiki/MS_CURIE

drybjed··on AMC Says More Than 20k Have Booked 'Barbie'-'Oppenheimer' Double Features
The response of both communities for that was amazing: https://www.youtube.com/watch?v=U4lz8MN6MQA
drybjed··on How Wolfenstein 3D shocked the world, 30 years later
Deep dive on the Wolfenstein 3D by Ahoy is worth watching, if you're interested in the game: https://www.youtube.com/watch?v=BSb87DC-PtA
drybjed··on 'Indiana Jones 5' will feature a de-aged Harrison Ford for the first 25 minutes
Who knew that The Congress (2013)[1] would be so prescient...

[1]: https://www.imdb.com/title/tt1821641/

drybjed··on Starship Flight Test (Launch in 1 hour)
Starship didn't blow up on the launch pad. That's a success during development.
drybjed··on Stanford just released a 386-page report on the state of AI
I have 386 as last digits of my phone number. Hardly anyone notices though.
drybjed··on Kubernetes reinvented virtual machines in a good sense
Everybody uses Plan9, it's called "The Web" now.
drybjed··on AT&T lawyer stopped Plan 9 release CD with songs by Lou Reed, Debbie Harry
You can also watch an excellent series of videos[1] from the adventuresin9[2] YouTube channel, showcasing the Plan 9 system itself (based on 9front fork) and its capabilities.

[1]: https://www.youtube.com/channel/UC7qFfPYl0t8Cq7auyblZqxA/vid...

[2]: https://youtube.com/adventuresin9

drybjed··on An “incident” with the James Webb Space Telescope has occurred
First rule in government spending - why build one when you can have two twice the price?

-- S. R. Hadden, Contact (https://www.youtube.com/watch?v=Et4sMJP9FmM)

drybjed··on Ledger of Harms
Here's a few tips to combat this addiction:

- turn off Youtube history, there will be no more suggestions based on your recent viewing activity to keep you engaged. Also, searching for a sink review will not result in Youtube suggesting sink-related videos for the rest of eternity.

- install browser extensions: Clickbait Remover for Youtube (sanitizes video previews to remove clickbaity look from them) and DF Youtube (allows you to disable comments, related and other sections on the page, leaving only the video itself to focus on).

Now you should be able to deal with this addiction in no time.

drybjed··on Next Steps for the GNOME Foundation
> In general, how do control mounting - the fact that I plugged a USB device into a shared computer doesn't mean anyone should be able to mount it. Root allows me to trust one person, rootless seems to require me to trust everyone?

The Linux "root" account, or UID 0, is the same everywhere, and this becomes a problem when you start working in a clustered environments with multiple computers sharing resources. Look at NFS and its multiple versions and that huge fight to protect access via 'root' account.

In Plan 9 there's a concept of a "hostowner" account, by convention named "glenda". It's the account that the system is started with, and it only concerns itself with resources on that host, there's no sharing with other systems. The 'glenda' account owns resources of the host and can give access to them to other accounts, either via filesystem permissions or via the "factotum" authentication service. Combine this with the fact that on Plan 9 you can change process privileges and capabilities dynamically, unlike in Linux where this can happen only when process is created, and this creates a really nice and secure environment to work in.

> Also, the major threats to my security from my laptop are not other users. I'm not scared of the other users of my laptop. Who even are they? they're people who've already taken advantage of security holes in applications to break in. The people who I am concerned with are the authors of the applications that run. It's more like reading the file I want to publish vs data exfiltration: I want the application to engage in this class of actions - but only the members of this class that I authorise, not everything.

> I want Firefox to be able to read and write within my home directory, but under no circumstances should a bug in Firefox allow a website to read a file I haven't given it.

Before you start Firefox, you can clean up its private namespace and unmount the sutff you don't want to give it access to. Or create a new private namespace and only mount specific directories from your home directory in it, like /home/user/Downloads. This is basically whitelisting access to the filesystem instead of having to blacklist everything but specific directories which will never be foolproof.

> But I also don't want my private file to be somehow in the private namespace of a certain program. Private files are not the property of a foreign program, they're my property. I want to know where they are so I can back them up, replace them atomically for all programs that use it etc. The Android approach of making my private information the property of some semi-trusted application author is crazy.

Then create the process namespace from scratch, mount only the files that program is supposed to access and then start that program in there. It will not be able to mount anything else because your home directory or other shared resources will not be reachable by the process.

> To me, it seems like a secure system would not give a program access to global namespaces like the filesystem nor to be able to enumerate local resources. The program could have its own state and configuration stores, but when it wants to access a file, it asks for permission to read a file, the system asks me how to fulfil that (i.e. pops up a file selection interface), I make a choice, the system passes a file descriptor, the program knows that it uses 7 to read and write. But the system doesn't know that it's getting /home/me/downloads/ketchup-and-mayo.jpg. Likewise, the system asks for my location, and I get a few buttons "give current location, give stored location, spoof".

You can just unmount /dev to disallow access to devices. You can unmount /net to disallow access to the network.

> Does plan9 address this? Android I know is too course-grained. It has enough of this to be annoying but in reality you can either give the program full power over this or that feature or you can give it no power and it probably just won't meaningfully run. I'd love to run every program in a sandbox, but I want to be able to own my files.

Yes, the notion that privileged access does not exist at all might seem crazy at first, but when you think about it, and imagine how currently "privileged" actions like mounting filesystems could be done without it, it starts to make sense.

drybjed··on Next Steps for the GNOME Foundation
According to the Plan 9 Desktop Guide[1], when you plug your USB stick and the OS supports the filesystem, it will be mounted in the /shr directory. From there you can bind-mount stuff you need to wherever. Alternatively, you can mount the disk using the fileserver (dossrv for DOS, etc.) wherever you need.

Your user will have access to devices when it's included in the required system groups, 'sys' IIRC. It might get added to that group when it is created by the "hostowner" user, usually "glenda".

If you don't know Plan 9, you should check out the linked user guide, it's an excellent introduction to the concepts.

[1]: https://pspodcasting.net/dan/blog/2019/plan9_desktop.html

drybjed··on Next Steps for the GNOME Foundation
I think that from the security perspective, the more important change in Plan 9 was dropping the notion of a privileged "root" account. This forces you to redesign your system from the ground up. No more "root" to mount devices in the filesystem means that unprivileged users need to be able to mount things. But allowing users to mount things in the global namespace can mess things up, so instead we need to implement private per-process namespaces that users can mount and bind stuff in. Bam - containerized applications are the norm, there's no Docker, there's no Flatpak, there exists something like Kubernetes that can handle orchestration but doesn't concern itself with containerization and sandboxing.

When you plug in an USB device it shows up in the list of devices. Then you can mount it as your unprivileged user in the private namespace of your own shell, no issues there with permissions. If that USB device has a filesystem that supports user/group permissions, then you have access only to the files that you own.

drybjed··on An Intuition for Lisp Syntax
> I'm almost surprised that you can't add a shebang line pointing to Ansible at the top of your YAML.

You actually can do that, with something like:

    #!/usr/bin/env ansible-playbook
    ---
    - hosts: localhost
      tasks:
        - debug: var=ansible_distribution_release
It works pretty nicely, just remember to make your playbook file executable. It's a bit cumbersome though since you cannot use `ansible-playbook` arguments like `--limit`, `--diff`, `--check` and so on to have better control over the playbook execution.
← PreviousPage 2 of 3Next →