HNHacker News
TopNewBestAskShowJobs

JdeBP

9,206 karma · joined September 29, 2014

http://jdebp.info
submissionscomments
JdeBP··on Iosevka is an open-source, sans-serif and slab-serif monospace font
Go and read the source code on the GitHub repository that the page links to as "Downloads". There's a LICENSE.md there, and a fair amount besides.
JdeBP··on Iosevka is an open-source, sans-serif and slab-serif monospace font
It is interesting that it differentiates between oblique and italic, something that not many fonts aimed at the monospace crowd do, in both the English and Cyrillic alphabets. The list of variants for the letter k is longer than I expected.

Alas, it is oblong, not square.

And 7 thousand-odd code points is not as large a range as it used to be a couple of decades ago. That said, it does have MouseText, the 7-segment LED digits, and suchlike from the Supplementary Plane 1.

JdeBP··on The United Kingdom generates less electricity per person than in the 1970s
What makes you think that the U.K. isn't adopting electric vehicles? I can tell you from direct visual observation that people are. The little green numberplate rectangles are fairly common, now.

* https://rac.co.uk/drive/news/electric-vehicles-news/1-in-3-n...

JdeBP··on Writing a Demoscene Intro for the ZX Spectrum
The only rather sad part is around 2/3 of the way through, where the author had to use a pre-compiled binary from the Internet Archive, because the original WWW site had rotted away, and the source code did not assemble. This stuff tends to rot if the community does not do the preservation work.

That said, Sergey Bulba's WWW site is still around and the relevant stuff can be found today at https://ay.strangled.net/progr_e.htm . But the continued existences of things like this are not the sort of things to take for granted.

JdeBP··on The tilde in your PATH may not be your HOME
The Z shell's, C shell's, and others's syntaxes for setting the PATH environment variable via a shell array variable alias also does the tilde expansion.

    path=( $path ~/bin )
It's worth noting, also, that the path and manpath settings in login.conf(5) expand leading tildes in individual search path items.

* https://man.freebsd.org/cgi/man.cgi?query=login.conf&sektion...

So putting the addition of things like ~/bin to PATH in /etc/login_conf and ~/.login_conf instead of shell scripts is another way to address it.

    :path=~/bin /usr/local/bin /usr/pkg/bin /usr/bin /bin:
It's particularly handy when there are multiple login shells in use.

* http://jdebp.uk./FGA/BSDs-for-Linux-users/login-conf.html

JdeBP··on How to Fix autoconf-style Configuration Probing
> So couldn't we just use the build system to do the probing?

Yes, indeed. And I do exactly that with a Bernstein redo build system. Daniel J. Bernstein had this idea decades ago, with the has/try system evident in publicfile back in in 1999, for example. Converted to redo, which Bernstein never did, it looks like this:

* https://github.com/jdebp/nosh/tree/trunk/source/config

Notice that all.do at the top level does

    redo-ifchange -- config/all
before pretty much everything else, which invokes the config/all.do at that level, which in turn builds all of the headers via their has*.h.do files and using the try*.cpp files. config/cxx.do builds the name of the compiler, as picked up by ./compile at the top level. config/cxxflags.do builds its flags.

redo handles rebuilding everything as necessary, including all of the programs that include the feature test headers, if a has*.h.do file changes, a try*.cpp file changes, the compiler/linker options change, or the ./compile and ./link scripts change. It's even possible, although I don't do it, once ${cxx} has been determined in cxx.do, to do a

    redo-ifchange -- "${cxx}"
and make the whole thing sensitive to the actual compiler changing. I don't do it in the nosh build because it's not worth being that sensitive to the tooling. I actually do do it in the djbwares build (which collects publicfile and various other Bernstein softwares under a single umbrella).

So yes, using the very same build system that is building the software to build the feature probes is an idea that is at least a quarter century old, and Daniel J. Bernstein was almost there. Xe just never published an actual redo that could do what xe called 'honest prerequisites'. Xe got as far as ./choose in a Makefile, though.

* http://jdebp.info./FGA/introduction-to-redo.html

* https://cr.yp.to/redo/honest-script.html

* https://salsa.debian.org/debian/publicfile/-/blob/master/Mak...

JdeBP··on Keyboard differences between Windows and Macs
Indeed. Try telling them that the BBC Micro keyboard had arrow keys that moved a 'copy cursor' about. We should probably never tell them about the ZX Spectrum keyboard. (-:
JdeBP··on Keyboard differences between Windows and Macs
It's [Alt]+[F4] because before being translated to a GUI setting where [Alt] modifiers denoted things that were the same across all applications, or at least 'system key' events, it was actually plain [F4] to 'save and exit'. This was notably the case in some PC-DOS text editors.

Common User Access (CUA) in 1987 came from the world of IBM mainframes to IBM-involved microcomputer operating systems like PC-DOS and OS/2, and was the idea that there would be a common set of function keys across all 'panels' in Systems Application Architecture (SAA) applications.

Fun fact: CUA didn't originally define [F4] with its current meaning, and it was actually [F3] to exit, after [F1] for help and [F2] for toggling between two sets of function key bindings. But notice how [F5] was refresh all along.

* https://web.archive.org/web/20001117223900/http://publib.bou...

* https://web.archive.org/web/20001102070751/http://publib.bou...

JdeBP··on Keyboard differences between Windows and Macs
You meant ASCII Line Feed, ne?
JdeBP··on Keyboard differences between Windows and Macs
Focus follows mouse was a thing in the X11 era too. We are still in the X11 era, and it is still a thing. (-: Until X11 window managers like IceWM vanish entirely, it will remain a thing.

* https://ice-wm.org/manual/#focus-models

JdeBP··on A Terminal Protocol for Program Status (OSC 7501)
Or its specification fixed.

Something that reads 'ASCII byte range > 0x7f' in the second paragraph of its syntax description has not started well. ASCII has no codes above DEL, and allowing the C1 controls is useless and actually leads to problems of command sequences and control sequences inside command strings, since CSI, SOS, and the like are C1 controls.

JdeBP··on Bitmaps in the Linux Kernel
That really has nothing to do with what processors do not currently provide. As the headlined article explains, Intel CPUs have had instructions that can point to individual bits for donkey's years. The second operand to BTS (for example) is a bit address.

std::vector<bool> was its own special Hell, because it was invented as a way to try to expose what processors could do, instead of every compiler vendor having its own set of processor-specific intrinsics. Which meant, as Scott Meyers famously said, that it was not a standard container and it didn't contain any actual bools.

The world has long since come up with replacements. There are non-container bit vectors in C++, now, such as std::bitset and boost::dynamic_bitset.

JdeBP··on Anger as man sentenced to death for Facebook comment
If you want a better source for Saudi Arabia and Sri Lanka, look for a newspaper that is a lot closer to them than the U.S. version of the Daily Mirror is. Even the U.K. version of the Daily Mirror would not be a good source for this sort of thing.

* https://tamilguardian.com/content/explainer-sivarasa-anojan-...

JdeBP··on A Terminal Protocol for Program Status (OSC 7501)
Operating System Command actually doesn't have a well defined multiplexing format. That 'first number' is not in the standards. It's a thing that has haphazardly grown as people have tacked more and more stuff onto OSC. The standards don't even guarantee numbers in the command string at all.

In fact, you can say the exact same thing about OSC (it was meant for one protocol, the operating system's) as you just did about APC. Because that's what ECMA-48 actually says: 'The interpretation of the command string depends on the relevant operating system.'

There is no operating system standard for this in the Unices or in Linux-based operating systems. As I said, this is something that haphazardly grew in the last decade or so as people decided that they needed some kind of terminal control string, and how dtterm and xterm had been processing OSC (very limited compared to all of the things that people have nowadays tacked on) was there.

JdeBP··on A Terminal Protocol for Program Status (OSC 7501)
terminfo has not died. M. Dickey made updates to it last month.

terminfo's problem is that it is really difficult to make changes that extend or do not fit the original paradigm, not least because the actual database format does things like have a fixed set of implicitly-named boolean capabilities, with any additional capabilities having to be named 'extensions'.

* https://github.com/mauke/unibilium/blob/master/secret/termin...

But other problems include terminfo's model of how things work, such as function keys for example, not really matching how they actually work in terminals and terminal emulators. For function keys, for example, DEC terminals allowed modifier state to be sent in parameters to DECFNK. terminfo's design had no concept of this.

JdeBP··on A Terminal Protocol for Program Status (OSC 7501)
That abstract state diagram is not, as eschaton said, how terminals actually work.

And it isn't just real terminals. Several terminal emulators are bad at handling syntactically valid but unknown to the emulator control strings. There are several whose authors hadn't read ECMA-35 and ECMA-48, and based their programs on samizdat lists of control sequences circulating years ago, without realizing that there was a full consistent syntax underlying them. Unrecognized control sequences are sometimes just printed as text, or worse.

Indeed, OSC itself is notorious for being such a case, where for a time some emulators expected BEL instead of ST as the string terminator.

JdeBP··on A Terminal Protocol for Program Status (OSC 7501)
This is not really an Operating System Command at all, though. It is an Application Program Command (U+009F).
JdeBP··on Visually impaired people fear smart glasses backlash
The BBC proper doesn't receive anything from advertising, in fact. But that's because what most people think of as 'the BBC' actually isn't the BBC proper.

It is indeed the BBC proper (i.e. the corporation with the royal charter) that encompasses BBC News, which is the source of this article, as one of its divisions. But BBC News and the BBC proper are not the commercial organizations, i.e. BBC Studios and whatnot.

Inside the U.K., there are no advertisments on this or any BBC News article. Outwith the U.K., what people get is actually coming from a separate commercial company, BBC Global News Ltd..

JdeBP··on Improving and Stabilizing the Racoon2 IKE Daemon in NetBSD
You have not read the thread, then. Because people made the point that wg(4) was not WireGuard, but an effectively clean-room implementation done by a NetBSD contributor based upon public doco. The WireGuard person made the point that wg(4) was not WireGuard, had had no involvement from WireGuard, and was incomplete or even faulty in some way. (I've had a look around, and I cannot find Jason A. Donenfeld coming back later in the intervening years to explain what the vague "halfbaked code"'s problems were. Of course, it's a lot more difficult to search mailing list archives than it used to be. But xe definitely did not come back the next week as promised, at least publically.) There was even a side-discussion about removing mention of the name to make it clear that it wasn't WireGuard.
JdeBP··on 'The eels were climbing out of the water to die'
By people in this country whenever river pollution comes up. It's very popular to blame the water companies for everything, and a common remark on something that is widely discussed. Count Binface's manifesto in the recent Clacton by-election, for example, had a point where the water company executives should be forced to swim in the rivers that they had polluted.

The reality is that it's not solely the water companies, even though if you put it to them many people would leap on the comparison to the Mafia.

JdeBP··on 'The eels were climbing out of the water to die'
There are those in the U.K. who are not beyond equating Thatcherism and the Mafia. It has had long-ranging effects like this for almost 4 decades. The Thatcher government was not truly a criminal gang, of course.

The water companies were privatized under Thatcher, for those missing the context.

Note that the waste dumping problems are not all caused by water privatization, either. But as with the comparison to criminals, that's often conflated when people talk about it.

JdeBP··on Telnet BBS Guide
I'm probably a bit of an outlier in that I wrote my own.

* https://jdebp.uk/Softwares/nosh/guide/commands/nvt-client.xm...

It works well enough on several of the Telnet BBSes listed here, although BBSes are not what I wanted the tool for, and the operating systems I use it on actually retain either their original telnet client in base or a packaged one.

That's because I tested it against a handful of the Telnet BBSes listed here when I wrote it. (-:

JdeBP··on Telnet BBS Guide
Interestingly, the FediVerse has that. Not in the big nodes that you've probably heard of, like Mastodon.Social. But there are loads of smaller nodes that definitely have moderate to strong degrees of locality.
JdeBP··on Improving and Stabilizing the Racoon2 IKE Daemon in NetBSD
Be careful not to say that in front of WireGuard people. There was a whole discussion of how it explicitly was not WireGuard when wg(4) was merged from Ryota Ozaki's personal fork in 2020.

* https://mail-index.netbsd.org/tech-net/2020/08/25/msg007861....

JdeBP··on Improving and Stabilizing the Racoon2 IKE Daemon in NetBSD
I think that you missed a very important word in the title and URL. Expand your question with context, and it becomes its own answer:

> When would you use a standalone program for NetBSD that is written in C, over a Linux kernel module with a GPL licence, or a standalone program written in one of two languages neither of which comes in NetBSD base, or a perpetually unfinished kernel module that isn't being worked on that is for the wrong BSD anyway?

JdeBP··on La Cueva BBS in Mexico in 1993 (session replay)
It was a Z280, not a Z80. And apparently, the person's father's, who also bought and programmed some transputers. See the other posts in the series.
JdeBP··on Example.com just launched the biggest redesign in decades
In the spirit of M4v3R's post, that should be 127.1 . (-:
JdeBP··on Example.com just launched the biggest redesign in decades
… then you'll be back in the world before CloudFlare set up its public DNS service, which is also the world where taking over 1.1.1.1 in the first place came at the price of having to measure how many people had ignorantly or lazily put four ones into somewhere that they had to fill in an IP address, and how much bogus and positively risky (to them) traffic there was being caused by people just thinking 'I will just use 1.1.1.1, which is not a real IP address.'.

Just before COVID, a random unidentifiable person reported that 1.1.1.1 saw 60Mb/s of ICMP echo traffic. When APNIC first experimented with making it a valid network almost a decade before that, it was being sent 50Mb/s of general IP traffic. Amusingly, a side-effect of what CloudFlare has done is that it has stopped all of that traffic leaving the edges of the Internet, and funnelling in to one big central place.

There are those who remember the risks of 'just use 1.1.1.1' and how the people who did that used be characterized as 'bad Internet citizens'. The ServerFault answer (q.v.) is from 2011.

* https://labs.ripe.net/author/franz/pollution-in-18/

* https://news.ycombinator.com/item?id=19335833

* https://serverfault.com/a/339782

JdeBP··on Turbobasic-0: a clone of Turbo BASIC in Pascal
https://news.ycombinator.com/item?id=49965894 led to https://www.gladir.com/CODER/TBASIC/index.htm which in turn led to this.
JdeBP··on Borland Turbo Basic
ThoreauBASIC has just come up on Hacker News:

* https://news.ycombinator.com/item?id=49942103

Whilst the 'Phoenix Edition' above states that the old QB64 pages are off-line, in fact there do still seem to be some around today. I don't know what the history is here. Whatever it is, it seems to have been fixed.

* https://qb64.com

* https://github.com/DualBrain/QB64

QB64 in turn points to PC-BASIC, a clone of the old GW-BASIC with at a quick glance nothing really modern going on:

* https://robhagemans.github.io/pcbasic/

← PreviousPage 3 of 34Next →