News for hackers. Stuff that matters.

eadmund

Re:Chrome to warn on unencrypted HTTP by default on Wednesday October 29, 2025 @05:17PM (#45753165)
> I noticed that Whatsapp is even worse than Chrome, it opens HTT PS even if I share HTTP links.

Firefox does this when I type in a URL and the server is down. I absolutely hate this behaviour, because I run a bunch of services inside my network.

If I tell my browser ‘fetch http://site.example,’ I mean for it to connect to site.example on HTTP on port 80 nothing more. If there is a web server run ning which wants to redirect me to https://site.example, awesome, but my browser should never assume I mean anything I did not say.)

Some motherboards only support firmware updates applied from Windows. In 2025, which is just crazy to me.
Re:Chrome to warn on unencrypted HTTP by default on Wednesday October 29, 2025 @05:59AM (#45744727)
Ironically, this Google page itself fails to work without Javascript enabled!
Re:HOPL: The Human Only Public License on Tuesday October 28, 2025 @10:06PM (#45741801)
> I applaud the author for trying. The underlying viewpoint is valid

Is it valid? I’m not really convinced. I’m not particularly a fan of copyright to begin with, and this looks like yet another abuse of it. I consider myself a creative person, and I fundamentally do not believe it is ethical to try to prevent people from employing tools to manipulate the creative works one gives to them.

Is the restriction on grantees not violating federal law a new one, or has it been around for ages?
Reaching out only to members of certain groups rather than others is still invidious discrimination. When based on characteristics like race, sex or national origin it is probably illegal, although I am not a lawyer.
Regardless of what others do, the best thing to do is to choose the best license for one’s own software. One which preserves the freedom of one’s users and the openness of one’s code.
Re:Bare Metal (The Emacs Essay) on Thursday October 23, 2025 @02:20PM (#45685054)
> I have never once thought Visual Studio needs some way to edit its own source code on the fly... whats [sic] the actual use case?

Writing Visual Studio, for example. Debugging Visual Studio. Extending Visual Studio in more than the ways it has already provided.

It means not being constrained to do only those things someone else had seen fit to permit you to do. It means freedom.

Re:Bare Metal (The Emacs Essay) on Thursday October 23, 2025 @02:16PM (#45685013)
> with your logic, you can take the lisp interpreter out of emacs, stick it into say mspaint, and have an equally powerful program.

Yes, that would be pretty awesome. The GIMP tries to be something like that.

Re:Scripts I wrote that I use all the time on Thursday October 23, 2025 @07:52AM (#45680787)
> direnv does exactly what you describe (and a lot more) using flake.nix

Direnv is awesome! Note, thought, that it does not depend on Nix, just a Unix-like OS and a supported shell: https://direnv.net/#prerequisites

Re:Scripts I wrote that I use all the time on Thursday October 23, 2025 @07:49AM (#45680762)
I recommend direnv for that: https://direnv.net/

Its intended use case is loading environment variables (you could use this to load your virtualenv), but it works by sourcing a script — and that script can be ‘cat usage.txt.’

Great tool.

If you use Emacs (and you should!), there’s a direnv mode. Emacs also has its own way to set configuration items within a directory (directory-local variables), and is smart enough to support two files, so that there can be one file checked into source control for all members of a project and another ignored for one’s personal config.

Re:Forth: The programming language that writes itself on Tuesday October 21, 2025 @05:02PM (#45661669)
Doh, I missed the secondary sort.

Were I trying to optimise this, I would test to see if a hash table of alphabetical characters is better, or just checking (or (and (char>= c #\A) (char<= c #\Z)) (and (char>= c #\a) (char<= c #\z))). The accumulator would probably be better as an adjustable array with a fill pointer allocated once, filled with VECTOR-PUSH-EXTEND and reset each time. It might be better to use DO, initializing C and declaring its type.

Also worth giving it a shot with (optimize (speed 3) (safety 0)) just to see if it makes a difference.

Yes, definitely more verbose. Perl is good at this sort of task!

Re:Magit Is Amazing on Tuesday October 21, 2025 @03:29PM (#45660507)
He’s also saying that Magit is so good that he doesn’t recognise the complaints which motivate some people to switch from Git to Jujutsu.

FWIW, I agree. Jujutsu seems fine, but Magit is fine too. Maybe Magit is the Blub of version control, and Jujutsu would change my life for the better, but … I seem to be able to run in circles around my Git-CLI–using colleagues as it is.

Re:Forth: The programming language that writes itself on Tuesday October 21, 2025 @01:27AM (#45652737)
> splitting a line into words is a whole project on its own

Is it[1]? My version below accumulates alphabetical characters until it encounters a non-alphabetical one, then increments the count for the accumulated word and resets the accumulator.

    (let (c accumulator (counts (make-hash-table :test #'equal)))
      (handler-case
          (loop
            (setq c (read-char))
            (if (find c "ABCDEFGHIJKLMNOPQRSTUVWXYZ" :test #'char-equal)
                (push (char-downcase c) accumulator)
                (when accumulator
                  (incf (gethash (coerce (reverse accumulator) 'string) counts 0))
                  (setq accumulator nil))))
        (end-of-file ()
          (when accumulator
            (incf (gethash (coerce (reverse accumulator) 'string) counts 0))
            (setq accumulator nil))
          (maphash #'(lambda (word count)
                       (push (list count word) accumulator))
                   counts)
          (format t "~{~&~{~a ~a~}~%~}" (reverse (last (sort accumulator #'< :key #'car)
                                                       (let ((n (second sb-ext:*posix-argv*)))
                                                         (if n (parse-integer n) 100))))))))

It’s not exactly pretty or idiomatic, but its 19 lines appear to get the job done.

1: Well, technically it is, because there is SPLIT-SEQUENCE: https://github.com/sharplispers/split-sequence

Everybody wants to charge as much as he can. Workers do the same: we all want to charge as much for our labour as possible. Unions do the same thing too.

Everyone also wants to pay as little as he can, too.

Fortunately, as long as there are many buyers and many sellers, the market tends to find efficient prices. When there is a monopoly or a monopsony, though, prices get out of wack.

If customers keep trying to do something … let them do it? Charge them to do it?

It’s crazy to me: folks quite clearly want to run Windows 11 without an account. What is it worth to Microsoft let someone do that? $12? $144? $1,728?

Sure, but those are not backwards-compatible. If Wayland let me run my existing window manager then I would be glad to try it out.
> Life-or-death care almost certainly needs to be a government-run, single-payer system.

> If giving another kid their cancer meds means one less gold-leaf-covered item in the presidential ballroom, so be it.

Why do you think a government would choose to cover an additional kid’s cancer medications rather than an additional luxury for government workers? You’re placing a ton of faith in governments.

At least with private companies there is choice (normally). And private companies do not directly wield government power (normally).

Re:WireGuard topologies for self-hosting at home on Friday October 03, 2025 @05:53PM (#45468238)
An issue with his remote setup is that the remote VPS decrypts packets from the remote laptop, then re-encrypts them for the LAN — this means that the remote VPS can see the plaintext of all those packets. He’ll need to layer TLS or something similar, or run Wireguard over Wireguard.
Nope, while it is possible to run normal X11 apps under Wayland, there is no support for running X11 window managers.

Which is a damn shame, because window managers are where some of the greatest innovation is happening.

Re:Faroes on Friday October 03, 2025 @10:47AM (#45463628)
Were there photos? All I saw was a few paragraphs of text.
> mdadm+luks+lvm still do not quite provide the same set of features that ZFS alone does even without encryption. Namely in-line compression, and data checksumming, not to mention free snapshots.

Sure, but LUKS+ZFS provides all that too, and also encrypts everything (ZFS encryption, surprisingly, does not encrypt metadata).

As this article demonstrates, encryption really is an afterthought with ZFS. Just as ZFS rethought from first principles what storage requires and ended up making some great decisions, someone needs to rethink from first principles what secure storage requires.

Local Org mode, local LLM, all orchestrated with Emacs, all free software.

If only I were retired and had infinite time!

Re:Gold hits all time high on Monday September 29, 2025 @07:39PM (#45420215)
Of course, adjusted for inflation the dollar has done much, much worse than gold!

Not that one should put all of one’s portfolio into gold. That would be pretty insane. But a certain fixed allocation within a balanced portfolio? I think that makes sense.

Re:Gold hits all time high on Monday September 29, 2025 @07:36PM (#45420195)
Is it possible that a fair amount of government expenditures are just a fancy way of burning money? E.g. cowboy poetry festivals.
Re:Gold hits all time high on Monday September 29, 2025 @07:34PM (#45420184)
> your dollar is worth 8x less than what it was worth in 1970.

A dollar in 2025 is not worth -7 (i.e. eight times one less than one) dollars from 1970; it is worth ⅛th of a dollar from 1970.

Yes, I know what you mean. But ‘×’ is multiplication, not division — and phrases like ‘¼ less than’ and ‘3 less than’ have clear meanings inconsistent with using ‘8× less than’ to mean ‘⅛th.’

Re:How did sports betting become legal in the US? on Thursday September 25, 2025 @03:55AM (#45370330)
> In 1992, New Jersey Senator and former basketball player Bill Bradley sponsored a Federal law called PASPA, the Professional and Amateur Sports Protection Act. This law banned most states from legalizing sports books: businesses that set odds, accepted wagers, and paid out winnings on sports games.

Federal laws (i.e., laws of the United States rather than the individual states) derive their authority from the Constitution. The Tenth Amendment to the Constitution reads: ‘The powers not delegated to the United States by the Constitution, nor prohibited by it to the States, are reserved to the States respectively, or to the people.’ No part of the Constitution delegates power to the United States to regulate intrastate sport or gambling; no later amendment repeals the Tenth with respect to sports gambling.

So Congress had no constitutional authority to pass the law in the first place.

I detest sports gambling with a passion, but that doesn’t matter: PASPA was never constitutional. The federal government has legitimate power to regulate interstate gambling and the states each have the ability to regulate intrastate gambling. I don’t think that it should be illegal, but I do think that it should be regulated like other addictive and dangerous things.

Re:History of Telecommunications T-Carrier on Thursday September 25, 2025 @03:40AM (#45370229)
> 24, 4, 7, it has the upsetting feeling of a gallon being four quarts each of which is two pints.

A gallon is two pottles; a pottle is two quarts; a quart is two pints; a pint is two cups; a cup is two gills. And a gill is two jacks!

24 and 4 don’t strike me as unusual numbers (two dozen and two doubled), but seven does.

> a different media

‘A … medium.’ One medium, two or more media.

Re:800 Years of English Handwriting on Thursday September 25, 2025 @03:26AM (#45370144)
And when I visited the page with JavaScript disabled, it displayed all the text but no images.

HTML has the img tag. There’s no need for JavaScript to add images to the DOM!

> > If you want to sit together, pay for that privilege

> This is evil. There is no cost to the airline to put people who booked together next to another.

Bin-packing is tough (look at Kubernetes!). Economically, giving folks willing to sit in a random seat an extra $10 and charging folks who want to sit together $10 is a wash.

Evil is, you know, torture and genocide, not efficient allocation of limited space.

Older »