frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

"Learn APL" Notes

https://luksamuk.codes/pages/learn-apl.html
35•todsacerdoti•6h ago

Comments

smartmic•4h ago
I worked with GNU APL for a while and really liked it. It's also possible to extend it with the C foreign function interface (FFI). The best way I found to input the APL2 symbols with my normal keyboard was with a customized XCompose definition where the input chords are mnemonics of the actual symbols: https://gist.github.com/smartmic/cdb8b0b3936ab965213748813b6...
bear8642•4h ago
huh, can you not use the Xkb APL symbols file?

I thought that compose definitions as well as the shifted layout…

ofalkaed•3h ago
You can and most do but some people go other routes for one reason or another.

https://aplwiki.com/wiki/Typing_glyphs

turtleyacht•4h ago
Thank-you. Any thoughts on the layout below versus the others listed?

https://www.pckeyboard.com/page/product/USAPLSET

I've got some notes on setting up input on OpenBSD as well. It enables Left Ctrl and Left Alt for APL symbols, but also a Unicode escape hatch with Right Alt and Caps Lock: https://github.com/turtleyacht/ap-el-kb.github.io

ofalkaed•3h ago
It looks to be the standard Dyalog APL keyset, which will be just fine for GnuAPL and most if not all APLs but not all languages of the APL family.
mmooss•4h ago
APL was developed in the 1960s. Between then and whenever its symbols were added to Unicode (U+2336 and following, at least), how were its symbols encoded?
dzaima•4h ago
Custom encodings, as was standard (or, well, mandatory) before Unicode (1991). Hell, Dyalog APL to this day supports its classic 1-byte-per-char encoding (not even ASCII-compatible! Nor EBCDIC!) in addition to Unicode.

Looks like the APL chars were added in Uncicode 1.1 (1993), two years after 1.0, which is quick enough.

7thaccount•3h ago
Early on, the selectric typewriter thing had a spherical ball that could rotate to stamp the characters. So when you typed a key the IBM hardware would type a character on a piece of paper exactly like a typewriter and also the IBM computer would keep track of this and when you ran the expression it would calculate the result and print that out as well. You can see videos of this.
electroly•3h ago
I believe it depends on the era and system, but there were various APL codepages (i.e. definitions for the upper 128 characters) for both EBCDIC and ASCII.

https://en.wikipedia.org/wiki/Digital_encoding_of_APL_symbol...

In the very earliest IBM Selectric teletype-based systems, some APL symbols were constructed by entering one character, hitting backspace, and overstriking a second character. For instance, ⍋ is | overstruck on ∆. It's why a lot of APL symbols look like that.

https://aplwiki.com/wiki/Overstrike

jodrellblank•46m ago
I don’t know if I’m remembering this or making it up but I think many of the early symbols were designed to be combining forms by typewriting two characters on top of each other - overstriking.

Including:

    * asterisk (raise to the power) 
    ⍟ asterisk in circle (logarithm)

    ⊖ Circle with horizontal line (rotate)
    ⌿ Slash with h. line (replicate down)
    ⍀ backslash with h. line (scan down)

    | Vertical line (remainder)
    ⌽ circle with vertical pipe (rotate left/right)

    ⍉ Circle with backslash (transpose/diagonal flip)

    ⊥⊤ pair (encode/decode or vice-versa, not sure)
    ⍎⍕ that pair with circle (eval, format)
    ⌶ that pair together (I-beam system functions)

    ⎕⍞⍠⌸ box, with apostrophe, with colon, with equals
    ⋄⌺ diamond, box with diamond
    ÷⌹ divide, box with divide

    and more ≡≢ ∨∧~⍲⍱ ∇⍒ ⍳⍸ ∊⍷ ~¨⍨ ⍣ 
If that’s real I suppose they were encoded as one byte and somewhere in the print system it was expanded into a compound print instruction; I mildly wonder where that happened.

A worker fell into a nuclear reactor pool

https://www.nrc.gov/reading-rm/doc-collections/event-status/event/2025/20251022en?brid=vscAjql9kZ...
122•nvahalik•1h ago•79 comments

Pico-Banana-400k

https://github.com/apple/pico-banana-400k
28•dvrp•44m ago•2 comments

The Linux Boot Process: From Power Button to Kernel

https://www.0xkato.xyz/linux-boot/
95•0xkato•3h ago•33 comments

California invests in battery energy storage, leaving rolling blackouts behind

https://www.latimes.com/environment/story/2025-10-17/california-made-it-through-another-summer-wi...
191•JumpCrisscross•6h ago•153 comments

The Journey Before main()

https://amit.prasad.me/blog/before-main
154•amitprasad•7h ago•56 comments

I'm drowning in AI features I never asked for and I hate it

https://www.makeuseof.com/ai-features-being-rammed-down-our-throats/
130•gnabgib•2h ago•64 comments

Show HN: Diagram as code tool with draggable customizations

https://github.com/RohanAdwankar/oxdraw
121•RohanAdwankar•6h ago•23 comments

D2: Diagram Scripting Language

https://d2lang.com/tour/intro/
46•benzguo•4h ago•7 comments

How programs get run: ELF binaries (2015)

https://lwn.net/Articles/631631/
62•st_goliath•5h ago•1 comments

Agent Lightning: Train agents with RL (no code changes needed)

https://github.com/microsoft/agent-lightning
56•bakigul•6h ago•7 comments

An Update on TinyKVM

https://fwsgonzo.medium.com/an-update-on-tinykvm-7a38518e57e9
76•ingve•5h ago•16 comments

Doctor Who archive expert shares positive update on missing episode

https://www.radiotimes.com/tv/sci-fi/doctor-who-missing-episodes-update-teases-announcement-newsu...
49•gnabgib•6d ago•25 comments

Show HN: Shadcn/UI theme editor – Design and share Shadcn themes

https://shadcnthemer.com
83•miketromba•6h ago•22 comments

ARM Memory Tagging: how it improves C/C++ memory safety (2018) [pdf]

https://llvm.org/devmtg/2018-10/slides/Serebryany-Stepanov-Tsyrklevich-Memory-Tagging-Slides-LLVM...
47•fanf2•6h ago•16 comments

Rock Tumbler Instructions

https://rocktumbler.com/tips/rock-tumbler-instructions/
152•debo_•10h ago•75 comments

An Efficient Implementation of SELF (1989) [pdf]

https://courses.cs.washington.edu/courses/cse501/15sp/papers/chambers.pdf
36•todsacerdoti•5h ago•18 comments

AI, Wikipedia, and uncorrected machine translations of vulnerable languages

https://www.technologyreview.com/2025/09/25/1124005/ai-wikipedia-vulnerable-languages-doom-spiral/
63•kawera•6h ago•31 comments

We do not have sufficient links to the UK for Online Safety Act to be applicable

https://libera.chat/news/advised
202•todsacerdoti•9h ago•61 comments

WebDAV isn't dead yet

https://blog.feld.me/posts/2025/09/webdav-isnt-dead-yet/
104•toomuchtodo•1d ago•55 comments

In memory of the Christmas Island shrew

https://news.mongabay.com/2025/10/in-memory-of-the-christmas-island-shrew/
52•hexhowells•6h ago•16 comments

Belittled Magazine: Thirty years after the Sokal affair

https://thebaffler.com/salvos/belittled-magazine-robbins
35•Hooke•5h ago•24 comments

Ubios: China's Alternative to UEFI

https://pbxscience.com/ubios-chinas-alternative-to-uefi-and-the-new-era-of-firmware-standards/
12•1970-01-01•2d ago•5 comments

Passwords and Power Drills

https://google.github.io/building-secure-and-reliable-systems/raw/ch01.html#on_passwords_and_powe...
52•harporoeder•4d ago•15 comments

Testing out BLE beacons with BeaconDB

https://blog.matthewbrunelle.com/testing-out-ble-beacons-with-beacondb/
40•zdw•6h ago•12 comments

Show HN: LLM Rescuer – Fixing the billion dollar mistake in Ruby

https://github.com/barodeur/llm_rescuer
65•barodeur•1d ago•10 comments

Making a micro Linux distro (2023)

https://popovicu.com/posts/making-a-micro-linux-distro/
156•turrini•13h ago•27 comments

Project Amplify: Powered footwear for running and walking

https://about.nike.com/en/newsroom/releases/nike-project-amplify-official-images
49•justinmayer•6h ago•35 comments

Tarmageddon: RCE vulnerability highlights challenges of open source abandonware

https://edera.dev/stories/tarmageddon
65•vsgherzi•3d ago•30 comments

Honda's ASIMO (2021)

https://www.robotsgottalents.com/post/asimo
34•nothrowaways•6h ago•9 comments

The future of Python web services looks GIL-free

https://blog.baro.dev/p/the-future-of-python-web-services-looks-gil-free
180•gi0baro-dev•6d ago•75 comments