Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    David Given

    cowlark.com · Personal blog · on HN since 2009

    David Given writes about programming languages like Go and Ada, retro computing projects such as Cowgol and FluxEngine, and the WordGrinder terminal word processor.

    Visit blogRSSHN submissions
    Languages & CompilersRetro ComputingProgramming
    What HN says

    HN commenters link his critical Go comparison, his Ada introduction, WordGrinder screenshots, and his video on programming a ZX81.

    Stats for nerds
    94HN people shared it
    66linked in comments
    1.9Kstory points
    Dec 2025last shared
    2013people per year2025

    Top posts on HN

    1. 1
      Live coding a vi for CP/M from scratch
      1 person · 320 points · first shared 2019 · 67 comments on HN
    2. 2
      A Random Walk Through Ada (2014)
      7 people · 189 points · first shared 2015 · 88 comments on HN
    3. 3
      Luje 0.1 – a pure Lua JVM
      3 people · 160 points · first shared 2013 · 77 comments on HN
    4. 4
      Writing a lunar lander game for an actual lunar lander
      1 person · 151 points · first shared 2019 · 16 comments on HN
    5. 5
      Go and Brand X: A language comparison
      25 people · 104 points · first shared 2009 · 20 comments on HN
    6. 6
      6502 arithmetic and why it is terrible
      2 people · 94 points · first shared 2018 · 59 comments on HN
    7. 7
      CP/Mish is an open source sort-of-CP/M distribution for Z80
      2 people · 93 points · first shared 2019 · 45 comments on HN
    8. 8
      Z80 arithmetic: also surprisingly terrible (2018)
      2 people · 89 points · first shared 2018 · 67 comments on HN
    9. 9
      R.T. Russell's Z80 BBC Basic Is Now Open Source
      1 person · 88 points · first shared 2019 · 26 comments on HN
    10. 10
      CP/Mish: open-source sort-of-CP/M distribution
      1 person · 86 points · first shared 2019 · 32 comments on HN

    What HN people wrote when they linked it

    • i336_Jan 2016

      It looks like you fished the awk file out - I found http://cowlark.com/mercat/com.awk.txt linked directly on that page, which, at 1610 total lines (1518 SLOC counting commented-out code), sounds like exactly what you're referring to.

      As for fforth.... your signoff at the end of the comments sums it up much better than anything I could say.

      # No evil was harmed in the making of this file. Probably.

      This thing is absolutely awesome... a self-modifying tri-language source file, implementing Forth in just 22KB (or 34KB on x64). Very nice.

      Now to go read the, um,

      panic: unrecognised word: help

      ...documentation? :P

      It actually happens that I've recently become really interested in Forth implementations and systems, so discovering this is especially cool... and on that note, what sources would you recommend I study to get an overview of Forth history and development? I've read enough historical anecdotes to understand there are conflicting opinions (as always), but nothing thus far has shown the evolution of the language itself, how ANS became a thing, and so forth.

      PS. clang-3.7 -Os is the winner on i386, gcc-5.3 -Os on x64. tcc-0.9.26, interestingly, comes second on both (26KB and 36KB respectively). (Using Slackware-current.)

      PPS. Your site's About section might want to know the Antix website seems to have been taken over by a spam system.

    • david-givenJun 2018

      Hello, author here.

      Naturally I get my fifteen minutes of internet fame while I'm on holiday on the pilgrimage paths in Japan, so this is going to be pretty short, but yeah, there are some mistakes in the article (`cpx #0xff`... bah); please post comments and I'll fix them. Eventually.

      There's also a followup article on doing exactly the same thing on the Z80: http://cowlark.com/2018-03-18-z80-arithmetic/

      This was all in aid of writing the 6502 and Z80 backends for my self-hosted Ada-like programming language, Cowgol: http://cowlark.com/cowgol/ (Supports native compilation _on_ CP/M, Fuzix and BBC MOS, _for_ CP/M, Fuzix and BBC MOS!)

      ...and I put what I'd learned to work and have a program which will render Mandelbrots in under 13 seconds on a 2MHz 6502: http://cowlark.com/2018-05-26-bogomandel/ (Although I do need to point out that the key algorithm isn't mine!)

    • Jerry2Sep 2020

      My grandfather, who's in his 80s and has been using WP for the longest, has switched to WordGrinder about 8 years or so ago. He co-wrote several books with WG as well. He likes it a lot but it'd definitely not as feature-complete as WP. He mentioned to me that he still starts up WordPerfect every now and then to do some task.

      When I bought a computer for him, an iMac, he asked me about WP and I setup a DOSBox with it for him. But then I managed to compile Wordgrinder and showed him how to use it and he's been using it since. Wordgrinder used to be a pain in the neck to compile on a Mac but it's much easier now after 0.7.x version was released. I still update it for him when I visit him.

      You can see what WordGrinder looks like here: https://cowlark.com/wordgrinder/

    • mhdNov 2024

      There's a lot of hearsay in that articles, and a lot of sentiment rooted in the particulars of that time.

      Sure, it was a complex thing in the late 60s/early 70s. Sure, Wirth came up with something simpler. But I'm missing a deeper analysis, especially with a more modern view point where basically any language is at least as complex as Algol 68[0].

      > Arguably Wirth’s Algol-W was a better successor to Algol-60

      I might not even disagree, but what were the arguments, and how are they holding up?

      > and arguably did not have the same connections to industry as the likes of Fortran and Cobol

      Sure. But neither did Algol-W or Pascal. And pretty much anything else in the 20th century.

      [0]: http://cowlark.com/2009-11-15-go/

    • grumpyproleJul 2022

      > God what's the compilation time of millions of line of Haskell?

      It wasn't compiled with GHC, but a proprietary compiler. It could typecheck the entire lot in a few minutes (in parallel) which was usually enough to detect breaking changes.

      > There are plenty of industrial languages with algebraic data types and immutability.

      A few do, yes, certainly not plenty. But defaults matter and immutability means more than just "const", e.g. persistent collections.

      > Not as many as I would like with purity but I doubt it will take 30 years.

      Given that big tech is delivering languages that are basically the same as Algol 60, I honestly think it will take at least 30 years.

      http://cowlark.com/2009-11-15-go/

    • jstanleyFeb 2021

      Thanks, this is serendipitous timing. I definitely plan to watch the YouTube playlist.

      I'm designing a simple CPU at the moment[1] and one of the things that keeps me awake at night is thinking about how to make a compiler for it.

      It only supports 64K words of RAM (and I'm not planning to implement bank switching), and I definitely want the compiler to be self-hosting on my CPU, so retargeting LLVM or similar won't be applicable.

      I've looked at Small-C[2], Cowgol[3], and PL/0[4] which all target related goals, from different directions.

      [1] https://github.com/jes/scamp-cpu

      [2] https://en.wikipedia.org/wiki/Small-C

      [3] http://cowlark.com/cowgol/

      [4] https://en.wikipedia.org/wiki/PL/0

    Related

    Nanochessnanochess.org46 people

    My teen years: The transputer operating system

    Nanochess
    Personal · last shared 2026
    The Craft of Codingcraftofcoding.wordpress.com18 people

    Fortran is easy to learn

    The Craft of Coding
    Personal · last shared 2025
    Coding Horrorblog.codinghorror.com2.1k people

    Farewell Stack Exchange

    Coding Horror
    Personal · last shared 2026
    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    Dave Cheneydave.cheney.net271 people

    Why Slack is inappropriate for open source communications

    Dave Cheney
    Personal · last shared 2026
    beza1e1beza1e1.tuxen.de120 people

    A collection of things that are Turing-complete by accident (2013)

    beza1e1
    Personal · last shared 2026
    Wilfred Hugheswilfred.me.uk42 people

    Difftastic, the fantastic diff

    Wilfred Hughes
    Personal · last shared 2026
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025