For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | lioeters's commentsregister

Good news: the universe is written in LISP. Bad news: with no comments.

> the universe is written in LISP

Ostensibly. Honestly most of it was hacked together with Perl.

https://xkcd.com/224/


I like to imagine perl was bootstrapped from forth and used to build a lisp

You can ask AI to comment an entire code base now in as much detail as you need.

Comments explaining what the code does, which is what an LLM could answer, are basically useless comments. Comments that describes why the code is how it is, is a bit more valuable, but also something LLMs cannot really reliably infer by just looking at the code.

It will be messy, but if the EU can make political and economic decisions for the benefit of their own people, instead of subservient to the US, this paradigm shift could turn out to be very healthy and productive for the region and future generations. China's prosperity is undeniable, and it's due to their willingness to question the unipolar dominance of the US in the decades since WWII. In terms of economic and geopolitical strategy, they've been ahead of the game and prepared for the disintegration of the "rules-based" order. Is the EU ready?

I thought that was a typo or the forum software removed something, but no - it's a pointer to an empty string literal. If I understand how that works, this creates a null byte (in the read-only memory section of the compiled output?) and points to it. Before this line it checks if p is NULL.

I wonder what is the advantage of doing this? Maybe to make sure that p is an actual pointer, so later code can just make that assumption.


Yeah, it simplifies later code, and is safer in the face of future changes.

Or put another way, it tightens the API/contract of that chunk of code to always return a valid string.


That makes sense, with that "guard" at the top, the rest of the function can return the pointer anywhere. And I imagine the compiler will ensure the empty string literal is created only once. Good to know!

it would be better to make p a const char* though, so that the code is not casting away the constness of the string literal (which can invoke undefined behaviour, though in practice string literals are going to be in a read-only area of memory anyway).

> bootstrapping

This project reminds me of:

The Design of a Self-Compiling C Transpiler Targeting POSIX Shell - https://dl.acm.org/doi/10.1145/3687997.3695639

It's not just a toy or a fun hobby project, there's potential for practical use as a step in bootstrapping an entire software stack from human-verifiable artifacts.


It's an ongoing project: https://github.com/udem-dlteam/pnut

See also pnut.sh, but the server seems to be down at the moment.


Excellent comment, much appreciated. I knew some of this before but seeing the dots connected in a succinct summary helped deepen my understanding, especially the relevance/equivalence to formal logic and proofs. Now I'm starting to get what languages like Haskell and OCaml are about. It's a wonder how I've missed such fundamental (and in retrospect basic) knowledge through years of programming. But better late than never, I'm really enjoying diving into the history of ideas - logic, mathematics, electrical circuits, computers. Curry-Howard Correspondence is eye-opening, and it was decades ago. The more I learn, the more I value the "innovations of the past" that built up what we have today.

Now that you mention it.. List of capabilities:

  read:content
  write:content
  read:media
  write:media
  network:fetch
  read:users
  email:send
  email:provide
  email:intercept
Also:

> ### Trusted Mode

> Trusted plugins are npm packages or local files added in `astro.config.mjs`. They run in-process with your Astro site.

> - *Capabilities are documentation only.* Declaring `["read:content"]` documents intent but isn't enforced — the plugin has full process access.

> - Only install from sources you trust. A malicious trusted plugin has the same access as your application code.


This is an article about the advantages of keeping your code projects in a monorepo. I was surprised to see it because I'd started doing the same a while ago, as it naturally evolved, and found similar benefits to the ones in the article, such as discovering unexpected connections between my many projects. I even have my own CLI for managing it, like described in the article.

It's a good organizational pattern, not perfect but cuts out a lot of bureaucratic cruft in modern code management and lets you jump in and get to work. Hope it was OK to add an explanatory subtitle in the submission, since the title by itself was not clear what it was about.


Thanks for posting this. I'm glad I'm not alone in the monorepo club! I really believe in the benefits. Especially for a personal monorepo where the amount of code is not usually enough to run into the limits of git.

I'm curious about your CLI tool, what do you use it for?


Ah I was hoping to get a discussion started but no one bit the bait, haha. But I'm glad you saw it so I can personally thank you for a thoughtful article! I like the "Dot a Day" idea too, and enjoyed seeing a glimpse of the workspace.

As for the CLI, it's a primitive script (was Bash, now TypeScript with Bun) that does a few common actions like scaffolding a new project with minimal base, some shortcuts for Git, SSH, taking notes. I really liked this part of the article too, aside from the monorepo idea, seeing how other people are making their own personalized CLI tools to manage projects. Like that ASCII art, the feeling I got was a mix of nostalgia and camaraderie.


Cloudflare Workers solves their "scaling the price to infinity" problem.

Al-Jabr, from where we get the word albebra, is an abbreviated name of the book (The Compendious Book on Calculation by Completion and Balancing). The translator's name was al-Khwarizmi, from where we get the word algorithm. He was of Persian origin.

Why do say "translator's name" ?

Al-Khwarizmi authored the book Al-Jabr.


Oh you're right, I was confused by the rich cultural exchange of translations happening at the time, from Greek and Sanskrit texts to Arabic then later Arabic texts to Latin. Both the book and the author are fascinating subjects I enjoy learning more about.

Islamic golden age was an interesting time indeed. In addition to algebra, significant contribution to Optics.

We're witnessing a divergence between Coders and Clauders, with the latter dominating the market at a lower cost of labor + subscription fee to the almighty AI providers. Coders may be called in, hopefully with better renumeration, to review and debug the massive amount of code being generated. Either that or they will also be replaced by specially trained/prompted language models doing the review.

> + subscription

With how much some people spend on tokens that they've shared on here, and concerns about raising prices, I've kind of been wondering if we're actually heading to a point where seniors who don't use AI are going to be cheaper than juniors who do.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You