New

The latest blog posts to take off on Hacker News. 1,551 posts.

Software Engineering
2022
995

A Faster Lexer in Go

It's been a while since I've last rewritten my favorite lexical analyzer :-) That post is the last in a series implementing a lexer for the TableGen language in a variety of programming languages, using multiple techniques. The last lexer written, in Go, was very fast indeed - processing 1 MiB of source in about 20…

998

Jax vs. Julia (Vs PyTorch)

A while ago there was an interesting thread on the Julia Discourse about the “state of machine learning in Julia”. I posted a response discussing the differences between Julia and Python (both JAX and PyTorch), and it seemed to be really well received! Since then this topic seems to keep coming up, so I thought I’d…

1000

Go's Concurrency Examples in Java 19

There is no way for your operating system to know exactly how much stack space a thread will need so it allocates an amount on the order of around a kilobyte initially and then around a megabyte once the thread starts to be used. You only have around a bakers dozen gigabytes of RAM, so you can only have give or take…

1005

Emacs for Professionals

This is a series of brief articles aimed at teaching Emacs to computer professionals who are unfamiliar with it. I do not dwell on the basics of the user interface, which can be learned from the built-in tutorial. Instead, each article in this series will distill one very specific command line (CLI) tool or technique…

1008

Lisp in Space

Have you ever had a unique approach to a problem and been excited to use it, but you're met with skepticism? Today's story: what happens if you take someone who's passionate about LISP and put them in an organization where that's just not how they write software. Today's story is about getting LISP into space. The…

1009

Use fast data algorithms (2021)

As an engineer who primarily works with data and databases I spend a lot of time moving data around, hashing it, compressing it, decompressing it and generally trying to shovel it between VMs and blob stores over TLS. I am constantly surprised by how many systems only support slow, inefficient, and expensive ways of…

1010

Racket v8.5

Racket version 8.5 is now available from https://download.racket-lang.org. As of this release: Racket's new `-y` flag automatically keeps compiled files up to date, reducing subsequent load times. Error-message realms allow Racket-hosted langua...