HNHacker News
TopNewBestAskShowJobs

pdw

3,079 karma · joined September 5, 2010

submissionscomments
pdw··on Should we remove XSLT from the web platform?
It's disheartening that this Chrome dev in the comments shows himself to be completely unaware of the RSS ecosystem...
pdw··on Emacs: The macOS Bug
With an old and conservative project like Emacs, the reason could just as likely be that it was done that way for the NEXTSTEP port in the early 90s and that nobody revisited it since then. Oftentimes the reason is just legacy, limited manpower and "don't fix what ain't broken".
pdw··on The POSIX specification of vi
Somebody spent time and money to make vim posix-compliant: https://vimhelp.org/vi_diff.txt.html#posix
pdw··on Mostly dead influential programming languages (2020)
Another fascinating aspect of COBOL is that it's the one programming language that actively rejected ALGOL influence. There are no functions or procedures, no concept of local variables. In general, no feature for abstraction at all, other than labelled statements. Block-structured control flow (conditionals and loops) was only added in the late 80s.
pdw··on Does showing seconds in the system tray actually use more power?
The decision to now show seconds dates back to Windows 95. Back then the motivation was not power saving, but rather to allow the code related to the clock and text rendering to be swapped out to disk on a 386 with 4MB RAM... Raymond Chen: https://devblogs.microsoft.com/oldnewthing/20031010-00/?p=42...
pdw··on Does showing seconds in the system tray actually use more power?
It certainly does. There is for example a measurable energy cost for having a blinking cursor in a terminal, and there have been huge flame wars about efforts to move to non-blinking cursors.

The compromise for GNOME Terminal is that the cursor will stop blinking after a terminal has been idle for ten seconds.

pdw··on Iron Spring PL/I Compiler
According to their news page, they started development on OS/2... in 2007... Amazing.

> 5 Nov, 2007: Iron Spring Software announces the availability of the first alpha version of their new PL/I compiler. The alpha runs on the OS/2 operating system only.

pdw··on Egyptologist uncovers hidden messages on Paris’s iconic obelisk
Crypto-hieroglyphic writing is a real thing: https://www.britannica.com/topic/hieroglyphic-writing/Crypto...

Such writing would give non-standard meanings to signs, or drawn them in non-standard ways, or use entirely invented signs. It would be a puzzle to work out the meaning, and I imagine most people who weren't very literate would be stumped. They certainly stumped egyptologists for a while when the first examples were discovered.

pdw··on Oberon Pi
I think this just a standard Raspberry Pi Linux distro with an emulator for "Project Oberon 2013" preloaded.

Oberon has a tortured version history, so it takes a bit to explain what "Project Oberon 2013" is, but it's basically representative of Oberon in a very early stage of development.

This version was originally described by Wirth in his 1992 book "Project Oberon: The Design of an Operating System, a Compiler and a Computer". After his retirement he prepared a new edition, which came to be known as "Project Oberon 2013". For this edition he switched out the "computer" part -- the original used the now extremely obscure NS32000 CPU, the new edition used a custom RISC architecture implemented on an FPGA. But otherwise than this "implementation detail", the system was unchanged.

(And of course, given the FPGA source code, it's easy to build an emulator.)

But if you try this and it feels primitive -- it is. Later versions of Oberon got much fancier.

pdw··on An image of the Australian desert illuminates satellite pollution
The Kessler syndrome will take care of it
pdw··on How Nintendo bled Atari games to death
Those statistics won't be a surprise to anybody who has ever tried a "random Steam game" picker.
pdw··on Why Pascal is not my favorite programming language (1981) [pdf]
Have you ever used a Pascal compiler that's strict about this? It's surprisingly annoying even today. Now imagine it's 1981 and you're editing your programs with a line editor. In C code, you can freely swap lines around. If you try the same in Pascal code, you'll spend a lot of time fixing up semicolons.
pdw··on I'm manually transcribing the AltairBASIC source, ten lines a day starting today
There's a difference between the original source code and an annotated disassembly, even for assembly code.
pdw··on Microsoft’s original source code
The printout is dated 10-SEP-75 and is labeled "VERSION 3.0 -- MORE FEATURES TO GO".

Curiously this isn't the oldest extant version of the source code. The Harvard archives have a copy of version 1.1, printed on 30 April 75. http://altairbasic.org/other%20versions/ian.htm

pdw··on Microsoft’s original source code
Bill Gates did not write it by himself, Paul Allen and Monte Davidoff also worked on it. And they did not have a finished product after 8 weeks -- only a demo. The first commercial release was "version 2", half a year later.
pdw··on Microsoft’s original source code
That article is a bit confusing because it's using the term "BASIC" to refer to both the language and Microsoft's implementation. But what it's trying to say is that Microsoft's BASIC implementation was licensed by many computer companies (including Commodore and Atari) and that those companies changed and extended it in incompatible ways.
pdw··on Devs say AI crawlers dominate traffic, forcing blocks on entire countries
I wonder how long until we'll see DNS blocklists to blackhole IP addresses associated with scrapers. It seems like the logical evolution.
pdw··on A history of APL in the USSR (1991)
The source code for APL\360 was published by the Computer History Museum. People have gotten this to run under Hercules. https://computerhistory.org/blog/the-apl-programming-languag...

Mainframe APL2 is still marketed I think

pdw··on Ask HN: Trying to find a post about some OS developer in the 80s coding by hand
IIRC, Dijkstra's THE operating system for the Electrologica X8 was completed before the hardware was available. It was the first multitasking operating system (albeit with a fixed set of tasks) and the first use of semaphores. Supposedly the initial version only had trivial coding errors.
pdw··on Please don't force dark mode
And Mac copied it from Xerox. But it was indeed the introduction of GUIs and WYSIWYG "what you see is what you get": the screen had to mimic paper.
pdw··on A New Logo for Perl
Most Linux distributions contain ungodly amounts of Perl.
pdw··on Tree Calculus
Modern APL dialects have an inverse operator (https://aplwiki.com/wiki/Inverse). For example, in Dyalog APL (https://tryapl.com/):

        ⍝ Convert Fahrenheit to Celsius
        f_to_c ← (÷∘1.8)∘(-∘32)

        f_to_c 68
    20

        (f_to_c ⍣ ¯1) 20
    68
Now I'm an APL noob, I don't know how deeply this is implemented. I suspect it's very adhoc.

More interesting are logic languages such as Prolog. If you stick to the core logical features, you get the inverse of a function for free:

    ?- append([1,2,3], [4,5,6], X).
    X = [1, 2, 3, 4, 5, 6].

    ?- append(X, [4,5,6], [1,2,3,4,5,6]).
    X = [1, 2, 3].

    ?- append(X, Y, [1,2,3,4]).
    X = [], Y = [1, 2, 3, 4] ;
    X = [1], Y = [2, 3, 4] ;
    X = [1, 2], Y = [3, 4] ;
    X = [1, 2, 3], Y = [4] ;
    X = [1, 2, 3, 4], Y = [].
pdw··on SQLite’s Use of Tcl (2017)
No, that's Todd Squires's e93 editor, the next entry on the wiki :)
pdw··on Weird Lexical Syntax
You're using an old Python version. On recent versions, it's perfectly fine:

    Python 3.12.7 (main, Oct  3 2024, 15:15:22) [GCC 14.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> print(f"foo {"bar"}")
    foo bar
pdw··on Weird Lexical Syntax
Some random things that the author seem to have missed:

> but TypeScript, Swift, Kotlin, and Scala take string interpolation to the furthest extreme of encouraging actual code being embedded inside strings

Many more languages support that:

    C#             $"{x} plus {y} equals {x + y}"
    Python         f"{x} plus {y} equals {x + y}"
    JavaScript     `${x} plus ${y} equals ${x + y}`
    Ruby           "#{x} plus #{y} equals #{x + y}"
    Shell          "$x plus $y equals $(echo "$x+$y" | bc)"
    Make :)        echo "$(x) plus $(y) equals $(shell echo "$x+$y" | bc)"
> Tcl

Tcl is funny because comments are only recognized in code, and since it's a homoiconic, it's very hard to distinguish code and data. { } are just funny string delimiters. E.g.:

    xyzzy {#hello world}
Is xyzzy a command that takes a code block or a string? There's no way to tell. (Yes, that means that the Tcl tokenizer/parser cannot discard comments: only at evaluation time it's possible to tell if something is a comment or not.)

> SQL

PostgreSQL has the very convenient dollar-quoted strings: https://www.postgresql.org/docs/current/sql-syntax-lexical.h... E.g. these are equivalent:

    'Dianne''s horse'
    $$Dianne's horse$$
    $SomeTag$Dianne's horse$SomeTag$
pdw··on TwoSet Violin 'ends chapter' after eleven years
Wow, that's sudden. They released a sponsored video for Apple just a few days ago.
pdw··on Refurb weekend: the Symbolics MacIvory Lisp machine I have hated
Is https://tumbleweed.nu/lm-3/ the project you're referring to?
pdw··on Refurb weekend: the Symbolics MacIvory Lisp machine I have hated
This is wild:

> Portable Genera, an official port of the VLM to Intel and ARM done under contract for existing customers. While this version isn't publicly available as of this writing, it's still actively developed.

pdw··on CRLF is obsolete and should be abolished
HTTP is saved here because headers aren't allowed to contain control characters. A server that is strict enough to only recognize CRLF will hopefully also be strict enough to reject requests that contain invalid characters.

The situation is different with SMTP, see https://www.postfix.org/smtp-smuggling.html

pdw··on Restic: Backups done right
Borg 2.0 supposedly will support cloud backups out of the box.
← PreviousPage 2 of 17Next →