Yes! Just started reading the table of contents, and already I'm feeling that joy of old-school creative computing. Revival of the culture of personal computers and programming as a technology of liberation. A better future is possible and the power is in our hands.
I like this magazine vibe, it reminds me of the good ol' l33t zines from the late '80s and '90s. However, if I can offer a suggestion, I'd also pair the technical articles with a little more punky, down-to-earth stuff. They were cheerful, informal, and full of that cheeky, irreverent, cocky smart-ass humor, plus this mysterious edge that made them absolutely magnetic to me. Life just wasn’t so heavy back then.
Thanks for the suggestion! I wouldn't mind having such articles in PO! tbh - let me think what can we do about it (or rather: let me pass this to the rest of the team so they think about it too).
I still have my Mondo 2000 zine. It was literally a futurist guidebook for cyberpunk of today.
Better living through chemistry, memes, cybernetics were all predicted by Mondo.
Wow cool. I have not heard of Mondo 2000 reading hn for almost 20 years. And did not realize Boing Boing was so old. Makes me wonder what else existed.
My family had a bunch of "Dr. Dobb’s Journal of Computer Calisthenics & Orthodontia"[0] and similar things (BYTE, COMPUTE!). (Which seem slightly dryer, but maybe more like Paged Out.)
that's the point! we got so concerned with creating a safe space for everyone that can't possible offend we lost site of the community building intent. The crux is to have people self-select without offending them, but IMO it's not a binary goal.
It is a double edged sword of the single page layout that you really have to make one point briefly and get out of there. I had to pare down many details to fit the layout.
If you want to learn how to implement a query based compiler, I have a tutorial on that here: https://thunderseethe.dev/posts/lsp-base/ (which I also highly recommend but that might be more obvious since I wrote it)
Thanks! I also told Aga via email in the thread where I submitted my article.
Worth noting that the HTML tag in the title was stripped from the PDF table of contents as well, so the title for that article in the contents is missing a word. No big deal, but good to know for future submissions!
I took a peak at "Compiler Education Deserves a Revolution" and thought, wtf is this talking about?
It claims clang is NOT "a pipeline that runs each pass of the compiler over your entire code before shuffling its output along to the next pass."
What I think the author is talking about is primarily AST parsing and clangd, where as "any compiler tome" is still highly relevant to the actual work of building a compiler.
Related search terms are incremental compilation and red-green trees. It's primarily an ide driven workflow (well, the original use case was driven by ides), but the principles behind it are very interesting.
You can grok the difference by thinking through, for example, the difference between invoking `g++` on the command line - include all headers, then compile object files via includes, re-do all template deduction, etc. and one where editing a single line in a single file doesn't change the entire data structure much and force entire recompilation (this doesn't need full ownership of editing either by hooking UI events or keylogging: have a directory watcher treat the file diff as a patch, and then send it to the server in patch form; the observation being that compiling an O(n) size file is often way more expensive than a program that goes through the entire file a few times and generates a patch)
AST's are similar to these kinds of trees only insofar as the underlying data structure to understand programming languages are syntax trees.
I've always wanted to get into this stuff but it's hard!
A couple of the stories where I feel I have expertise I found to be a bit objectionable. The title/headline was some clever or unexpected thing, but upon reading it turns out there is nothing supporting the headline.
E.g. "Integer Comparison is not Deterministic", in the C standard you can't do math on pointers from different allocations. The result in the article is obvious if you know that.
Also, in the Logistic Map in 8-Bit. There is a statement
> While implementing Algorithm 1 in modern systems is trivial, doing so in earlier computers and languages was not so straightforward.
Microsoft BASIC did floating point. Every 8-bit of the era was able to do this calculation easily. I did it on my Franklin ACE 1000 in 1988 in basic while reading the book Chaos.
I suppose what I'm saying is the premise of the articles seem to be click-baity and I find that off putting.
In general when selecting articles we assume that the reader is an expert in some field(s), but not necessarily in the field covered by this article. As such, things which are simple for an expert in the specific domain, can still be surprisingly to learn for folks who aren't experts in that domain.
What I'm saying is, that we don't try to be a cutting edge scientific journal — rather than that, we publish even the smallest trick that we decide someone may not know about and find it fun/interesting to learn.
The consequence of that is that, yeah, some article have a bit clickbaity titles for some of the readers.
On the flip side, as we know from meme-t-shirts, there are only 2 things hard in computer science, and naming is first on the list ;)
P.S. Sounds like you should write some cool article btw :)
I noticed that as well. Also misleading titles like “Eliminating Serialization Cost using B-trees” where the cost savings are actually for deserialization (from a custom format), and neither the self-balancing nature of B-trees isn’t actually relevant, as no insertion/deletion of nodes occurs in the (de)serialization scenario, so a single tree level is sufficient. It’s a stretch to refer to it as a B-tree.