News for hackers. Stuff that matters.

eigengrau

Re:Git-Annex on Tuesday August 26, 2025 @04:41AM (#45023922)
How (if you saw that need) did you address permissions concerns, e.g., around any Git users being able to force drop all files from a backend?

Back (long time ago) when I was looking into this, there was no KISS, out-of-the-box way to manage the Git Annex operations a Git user would be allowed to perform. Gitolite (or whatever Git platform of choice) can address access control concerns for regular Git pushes, but there is no way to define policies on Git Annex operations (configuration, storage management).

Might not be super hard to create a Gitolite plugin to address these, but ultimately for my use-case it wasn’t worth the effort (I didn’t really need shared Git Annex repos). Do you tackle these concerns somehow? I guess if people don’t interact with your repositories via Git/SSH but only through some custom UI, you might deal with it there.

Re:Replacing Kubernetes with systemd (2024) on Tuesday May 06, 2025 @01:53AM (#43902178)
It’s been a couple of years since I’ve last used it, but if you want container orchestration with a relatively small footprint, maybe Hashicorp Nomad (perhaps in conjunction with Consul and Traefik) is still an option. These were all single binary tools. I did not personally run them on 2G mem VPSes, but it might still be worthwhile for you to take a look.

It looks like Nomad has a driver to run software via isolated fork/exec, as well, in addition to Docker containers.

Not to be confused with dwarffs – https://github.com/edolstra/dwarffs.
Re:What can’t the internet handle in 2022? Apostrophes on Thursday October 06, 2022 @01:33AM (#33104730)
> in the current century fonts handle that

Except that they can’t, because (due to the limitations of ASCII), U+0027 had an overloaded meaning, seeing that the character had to cover both opening and closing quotes (as well as being used as a prime tick). Which is why pretty much every font I’ve seen has a straight glyph at U+0027, whereas the glyph at U+2019 is the one you’d usually want for an apostrophe. You can also observe that word processors follow the Unicode standard in this regard. E.g., after typing “they're” into Libre Office, once you copy-paste it, you’ll see that the ASCII single quote has turned into U+2019.

Re:What can’t the internet handle in 2022? Apostrophes on Tuesday October 04, 2022 @11:52AM (#33082184)
> When text is set, U+2019 right single quotation mark is preferred as apostrophe, but only U+0027 is present on most keyboards. Software commonly offers a facility for automatically converting the U+0027 apostrophe to a contextually selected curly quotation glyph.

https://www.unicode.org/versions/Unicode14.0.0/ch06.pdf

Typographically, U+2019 is the appropriate glyph for quotation marks in English and in some other western languages.

Re:An AI designed keyboard layout (2021) on Friday March 18, 2022 @07:16AM (#30720716)
An interesting related project is the AdNW (http://www.adnw.de/) layout, which was created by defining metrics based on Dvorak’s ideas and running a genetic optimization algorithm on a corpus of German (50%) and English (50%) text.

The symbol layers were copied from the Neo2 layout, which afaik were arranged manually.

Re:The Curse of NixOS on Monday January 24, 2022 @12:40PM (#30061023)
> You can't print anything because the language is lazy. Forcing any values to print them can and will result in random operations happening on your store. You can never know which values are safe to inspect. This kills debugging.

I don’t quite follow the conclusion. Forcing values will not result in random operations on the store. Forcing values can only ever create store derivations, which is an internal representation of all derivations that were encountered while evaluating some expression. I won’t ever mutate existing data or remove anything from the store, nor will it actually build anything or fetch cached packages, so forcing values should be unproblematic. Store derivations can later be garbage collected.

Re:Python: Please stop screwing over Linux distros on Tuesday November 16, 2021 @06:56AM (#29239524)
Since Nix packages are distribution-independent, once you have it packaged with Nix, you could theoretically skip packaging for Ubuntu etc., but of course that may raise the bar of entry for your users.
This is completely dependent on your location and the size of the company. E.g., when I recently looked into the stats for Germany, the average annual income for a developer in a small to medium-sized company is ~48k€ (~55k$), which is a long way from the 80k figure.
Re:SMTP MTA Strict Transport Security (MTA-STS) on Saturday September 29, 2018 @11:53AM (#18101034)
Self-signed will work just as well, since no MTA talking to you requires the cert to be trusted (maybe DANE is required now in that case, but I was also using self-signed before I set up DANE and peers would all use opportunistic encryption.

letsencrypt is a bit cumbersome if you want to support DANE, at least if you don’t run your own DNS or have an API to your provider’s DNS.

Re:The Workman Keyboard Layout Philosophy (2010) on Wednesday August 22, 2018 @09:02AM (#17818378)
German users might also be interested in the AdNW layout (http://www.adnw.de/). They started out with Neo’s excellent and logical arrangement of the non-alphabetical layers, but replaced the alphabetic layers with a layout created by running an optimization algorithm on a text corpus of 50% English and 50% German text (whereas in Neo the key arrangement was created manually, based on intuition). The metrics they used were largely inspired by Dvorak’s research.
Re:G Suite Horror Story on Sunday August 05, 2018 @12:20PM (#17692018)
> hard not to wind up on spam lists almost impossible to be removed from

I’ve been running my own infrastructure for years now and know various people that do this also. Not once have I heard about anyone winding up on a blacklist. The only way I could imagine that happening is either a new server inheriting a legacy IP with bad reputation, or possibly running your server inside a home ISP network, which are frequently rejected by MTAs. Is there any other way in your opinion?

It might be prudent to have GnuPG return an error exit code instead of just printing a warning on stderr. Currently, it seems that clients (at least when using the shell interface) are supposed to parse the error stream. And even when they do (which many probably don’t), it’s not necessarily obvious that the presence of warnings indicates to the client that the data should not be used.
Re:Ask HN: What are your favorite terminal programs? on Tuesday May 08, 2018 @08:06AM (#17020346)
I’ve used https://github.com/ericchiang/xpup for this a few times.
In general you don’t need GDPR for that. It suffices to be a copyright holder to the content made accessible on the Wayback Machine.
Re:Cellular Automata Laboratory on Monday April 16, 2018 @03:13AM (#16847207)
Folks interested in playing with cellular automata might also be interested in the desktop application Golly (http://golly.sourceforge.net/).
Re:The Makefile I use with JavaScript projects on Thursday March 01, 2018 @09:36AM (#16492295)
Interesting! So in that case one could defend the need for escaped whitespace. Still leaves automatic variables, I guess.
Re:The Makefile I use with JavaScript projects on Thursday March 01, 2018 @08:52AM (#16491947)
My question was aimed at ops generic statement. As for Make, it originally wasn’t clear to me where the issue was supposed to lie. Lines in rule bodies are handed off to the shell, and that whitespace in rule dependencies need escaping didn’t seem surprising since it’s a list (though it’s probably a bug that whitespace in target names must be escaped, since it’s just one token that ends in a colon). But I see now that the expansion of list-valued automatic variables is probably a real Make-endemic issue.
Re:The Makefile I use with JavaScript projects on Thursday March 01, 2018 @07:07AM (#16491342)
Additionally, not every shell expands variables the way Bourne-based shells do.
Re:The Makefile I use with JavaScript projects on Thursday March 01, 2018 @07:06AM (#16491335)
I don’t quite see how Unix tools have trouble with spaces in filenames. Could you detail some cases where the space handling is not due to the shell, as opposed to the program being invoked?
> Even if you used ebtables to filter out containers talking to each others' MAC addresses, wouldn't they be able to send broadcast or multicast packets to communicate with each other?

ebtables supports «broadcast» as a destination to match ethernet frames on.

   ebtables … -d broadcast
which is equivalent to

  ebtables … -d ff:ff:ff:ff:ff:ff/ff:ff:ff:ff:ff:ff
Re:JupyterLab is ready for users on Tuesday February 20, 2018 @10:39AM (#16421108)
Also, it should be noted that, since it just proxies a single user notebook server, JupyterHub doesn’t support any interaction, sharing, or other collaboration between users (though one could implement some of that by mounting an NFS share inside notebook containers). Still, I’ve found it quite useful for teaching. IIRC, there’s also a project underway to bring collaboration features to Jupyterhub.
Re:Meltdown and Spectre Linux Kernel Status on Friday January 19, 2018 @09:22AM (#16186351)
I’m confused… The article led me to recheck whether I’m loading the newest Intel ucode update during early boot, and it turns out I am, but the latest ucode revision for my Ivybridge machine is from 2015. Didn’t Intel push microcode updates for all affected systems yet, in preparation for more spectre-related mitigations?
Re:Order of the Shadow Wolf Cyberzine 5 on Monday December 25, 2017 @01:13PM (#16005090)
Also, the prior probability of any given artist name being a moniker of Danny Wolfers (Legowelt) is much higher than the average artist. grep says Discogs currently lists 35 aliases for him. Talented and industrious guy.
Addendum: https://github.com/sickill/stderred - colorizing wrapper for stderr
Re:Skulpt: client side Python without preprocessing on Tuesday October 31, 2017 @07:28AM (#15592405)
How does this compare to Brython (http://brython.info/), apart from missing the Python 3 support? Are there any custom bindings to the browser API?
Re:Curl doesn’t spew binary anymore on Saturday June 17, 2017 @11:56AM (#14576393)
IIRC, another angle that has been proposed is to switch between the primary and secondary terminal buffers. This way, one could create a file that looks harmless when piped to the terminal but contains a hidden, malicious payload. The victim would, after manual inspection, finally pipe the file to a shell, where the payload would do something evil.
Re:Curl doesn’t spew binary anymore on Saturday June 17, 2017 @11:52AM (#14576378)
> You can trick isatty, but only if you're very, very set on doing so. It requires allocating a psuedo-TTY, and attaching it.

You can also LD_PRELOAD an isatty shim that returns true. This is occasionally useful when piping the output of tools which disable ANSI colorization with no switch to re-enable that.

Re:As Computer Coding Classes Swell, So Does Cheating on Tuesday May 30, 2017 @08:49AM (#14444903)
> In germany, what you call cheating isnt even considered cheating.

I can also attest that this isn’t universally the case. Our faculty’s introductory programming classes explicitly forbade this, and we went so far to even run automated anti-plagiarism heuristics over the solutions handed in.

I’m not sure how strongly I feel about the policy (or whether it’s still current). There definitely were tendencies in such classes that students who already came in with prior programming experience to be eager to »help out« more inexperienced students by sending them their solutions in verbatim, which led to other students copying at least certain program constructs without grokking them and without having exercised more general problem solving skills associated with the task.

Re:The Amazing Shortcut Keypad on Wednesday May 03, 2017 @05:17AM (#14254130)
I’ve been wanting a macropad for a while, but to be a really useful complement to the keyboard this would need a display. There appear to exist some OLED solutions, but iirc they were very pricey and probably didn’t support Linux very well.

Unfortunately nobody makes what might be a cheap display-enabled solution, namely a macropad with a regular, large LCD character display matrix, with buttons arranged on the side to each line, like a quickdial.

This is probably not super hard to realize with Arduino (though I would be unsure which interface to use; possibly serial over USB? Then implement an evdev driver?). Getting it nicely looking and sturdy would be much harder, though. So if anyone is going to market something like this let me know. ;)

Older »