frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Astronauts on ISS told to shelter as repairs under way to fix air leaks

https://www.bbc.com/news/live/c4g44ew3g1kt
128•janpot•1h ago•62 comments

pg_durable: Microsoft open sources in-database durable execution

https://github.com/microsoft/pg_durable
34•coffeemug•27m ago•7 comments

Mouseless – keyboard-driven control of macOS/Linux/Windows

https://mouseless.click
247•riddley•2d ago•114 comments

Stop Using Conventional Commits

https://sumnerevans.com/posts/software-engineering/stop-using-conventional-commits/
66•jsve•47m ago•44 comments

Cooldown Support for Ruby Bundler

https://blog.rubygems.org/2026/06/03/cooldown-let-new-gems-be-vetted.html
64•calyhre•2d ago•12 comments

Tracing a powerful GNSS interference source over Europe

https://arxiv.org/abs/2606.03673
267•mimorigasaka•7h ago•121 comments

Redis 8.8: New array data structure, rate limiter, performance improvements

https://redis.io/blog/announcing-redis-8-8/
138•ksec•2d ago•59 comments

Dutch gov't will only allow European company to operate DigiD platform

https://nltimes.nl/2026/06/05/dutch-govt-will-allow-european-company-operate-digid-platform
68•TechTechTech•1h ago•17 comments

I tested every IP KVM in my Homelab

https://www.jeffgeerling.com/blog/2026/i-tested-every-ip-kvm/
42•vquemener•1h ago•7 comments

Entanglement Builds Space-Time. Now "Magic" Gives It Gravity

https://www.quantamagazine.org/entanglement-builds-space-time-now-magic-gives-it-gravity-20260603/
118•rbanffy•7h ago•107 comments

C++: The Documentary

https://herbsutter.com/2026/06/04/c-the-documentary-released-today/
287•ingve•11h ago•199 comments

Changing how we develop Ladybird

https://ladybird.org/posts/changing-how-we-develop-ladybird/
669•EdwinHoksberg•9h ago•441 comments

Leak Reveals Microsoft Wants Its AI to Be 'Addictive'

https://kotaku.com/microsoft-ai-scout-addictive-satya-nadella-404-media-copilot-2000702924
36•thm•54m ago•11 comments

Fine-tuning an LLM to write docs like it's 1995

https://passo.uno/fine-tuning-docs-llm/
154•taubek•10h ago•53 comments

Nango (YC W23, dev infra) is hiring staff back end engineers

https://nango.dev/careers
1•bastienbeurier•4h ago

ESP32 Bit Pirate, a Hardware Hacking Tool with WebCLI That Speaks Every Protocol

https://github.com/geo-tp/ESP32-Bit-Pirate
120•geotp•8h ago•39 comments

databow: a Rust CLI to query any database with an ADBC driver

https://columnar.tech/blog/introducing-databow//
99•hckshr•2d ago•19 comments

Lee Kuan Yew's Singapore Story (2023)

https://www.historytoday.com/archive/feature/lee-kuan-yews-singapore-story
111•pepys•9h ago•101 comments

Meta enables ADB on deprecated Portal devices [video]

https://fb.watch/HxPu0fSyeH/
276•jenders•15h ago•107 comments

Azure Linux 4.0 is Microsoft's first general-purpose Linux

https://www.boxofcables.dev/azure-linux-4-0-is-microsofts-first-general-purpose-linux/
148•haydenbarnes•13h ago•123 comments

Ask HN: What is your (AI) dev tech stack / workflow? (June 2026)

26•dv35z•1h ago•26 comments

Leap in DNA synthesis slashes time to build new genetic sequences

https://spectrum.ieee.org/faster-dna-synthesis-sidewinder
93•natalcleft•22h ago•19 comments

Anthropic's open-source framework for AI-powered vulnerability discovery

https://github.com/anthropics/defending-code-reference-harness
488•binyu•20h ago•138 comments

At the Autograph Show

https://oldster.substack.com/p/at-the-autograph-show
30•NaOH•2d ago•2 comments

I'm skeptical about efforts to revolutionize schooling

https://www.scotthyoung.com/blog/2026/05/27/revolutionize-schooling/
267•andrewstuart•2d ago•428 comments

The IsUpMap lets you check the status of over 100 major sites at once

https://isupmap.com/
108•mikelgan•11h ago•37 comments

Open Code Review – An AI-powered code review CLI tool

https://github.com/alibaba/open-code-review
238•geoffbp•16h ago•66 comments

Programmers will document for Claude, but not for each other

https://blog.plover.com/2026/03/09/#documentation-wins-2
117•surprisetalk•3h ago•114 comments

Do transformers need three projections? Systematic study of QKV variants

https://arxiv.org/abs/2606.04032
201•Anon84•17h ago•37 comments

U.S. Military Turned GPS into a Global "Numbers Station"

https://www.404media.co/the-u-s-military-quietly-turned-gps-into-a-global-numbers-station-evidenc...
6•awkwardpotato•20m ago•0 comments
Open in hackernews

Typed Lisp, a Primer

https://alhassy.com/TypedLisp.html
140•todsacerdoti•1y ago

Comments

codr7•1y ago
The main issue I have with CLs type checking is the clunky syntax and the fact that it looks different in different contexts.

I made an attempt to fix that for eli: https://github.com/codr7/eli#type-checking

rjsw•1y ago
Your eli looks clunky to me.
codr7•1y ago
Well, use something else.

And maybe ask yourself why you felt saying so was important to you.

dokyun•1y ago

    (the number (+ 35 7))
is a lot less clunky than

    (+ 35 7)@Numeric
codr7•1y ago
That's your opinion, I don't agree. And the other reason is I can use the same syntax wherever I want type checking.
epgui•1y ago
Opinions aside, it is objectively an increase in syntactical complexity, and many people who love lisp enjoy its relative syntactical simplicity.

Whatever is gained in exchange for this additional syntactical complexity may not be valued in the same way by everyone.

So that almost certainly explains that reaction.

codr7•1y ago
Yes, and a lot of people recognize the value of having a little bit of syntax in their Lisp.
klibertp•1y ago
Yup. Somehow, I prefer[1]:

    (funcall #~s:gi/abc/def/ "Testing abc testing abc")
to the five lines of the equivalent made with macros, function calls, and keyword arguments.

I know all the problems with reader extensions, really. I understand being cautious. But at some point, you gotta wonder: what's the point of the programmable reader when you're unwilling to add programs to it?

[1] Let over Lambda: https://letoverlambda.com/index.cl/guest/chap4.html

kazinator•1y ago
I'm reasonably happy with:

  1> (regsub #/abc/ "def" "Testing abc testing abc")
  "Testing def testing def"
recursivecaveat•1y ago
Are those compile-time type checks or runtime assertions?
codr7•1y ago
Mix, similar to CL but slightly more runtime atm.
norman784•1y ago
I don't particularly like the syntax for the types, but I can't also think of a better way to implement it without adding a special case in the parser/compiler for it, right now with your syntax I believe, correct me if I'm wrong, it can be implemented with a macro in any Lisp
NikkiA•1y ago
praising 'loop' in the same post as describing lisp as 'elegant' shakes head
codr7•1y ago
Some people seem to like it, and be very effective using it.

The problem is it's a walled garden, with its own quirky syntax; nothing that happens inside of loop is applicable outside, and the other way around.

shawn_w•1y ago
I feel bad for people who haven't discovered ITERATE yet.
Jtsummers•1y ago
ITERATE still breaks when you use `count` inside it, the built-in CL function. If they ever address that problem I'll get back to use it but having a time bomb in my programs isn't something I like.

Trivial example of breakage:

  (iter (for i from 1 to 10)
    (print (count i some-sequence)))
shawn_w•1y ago
Breaks how? I'm on my phone, not a computer right now and can't test, but that should call the CL function - ITERATE uses `counting` for that particular operation to avoid conflicts; see https://iterate.common-lisp.dev/doc/Gathering-Clauses.html

Or is the documentation wrong?

Jtsummers
breadchris•1y ago
I have really fallen in love with LISP recently, specifically clojure. A strong type system is really needed for it to make me feel like I can confidently develop with it.
vindarel•1y ago
just get Common Lisp with this new Clojure collection and sequence API! https://github.com/dtenny/clj-coll
nextos•1y ago
A modern CL that borrows ideas from Clojure, and with a strongly typed language (Coalton) also available is indeed very appealing!
vosper•1y ago
Have you (or anyone else reading this) used Coalton? What's your experience been like? Seems quite appealing to me.
Y_Y•1y ago
The language looks amazing on paper, the install process (last I tried) was a nightmare of fighting quicklisp.
klibertp•1y ago
That's on quicklisp, not Coalton. Honestly, quicklisp is one of the worst parts of CL nowadays (right after the lack of coroutines[1], which is by far the worst offender.) It should have been replaced a long time ago. ASDF3 provides a lot of flexibility, and quicklisp uses maybe 15% of its capabilities. There are reasons why it's still so bad, but it gets less and less excusable each year :(

[1] Does anybody know how to ping Kartik Singh about the coroutines implementation in SBCL? Apparently, he made an experimental port of the green threads implementation from CMUCL, but I can't find it anywhere online, nor any obvious way to catch anyone involved. Is the mailing list the only way?

gitroom•1y ago
honestly i kinda love when deep dives like this pop up, makes me rethink stuff i thought i'd settled on - you think things ever get simple with lisp or it always stays quirky no matter how you do it
wizzard0•1y ago
of all things, this is the most beautifully formatted and organized LISP guide i've ever met.
eggy•1y ago
You should check out Shen[1]. It is a portable functional programming language. Optional type checking and it solves my affair with Lisp and Haskell. It is a Lisp.

[1] https://shenlanguage.org/

klibertp•1y ago
It needs a lot more good tutorials about its type system. Lacking the background in whatever subfield of math that would help here, I couldn't type my way out of a wet paper bag in it. I'd love a concise, down-to-earth, exposition of the type system "for the working programmer". It's just so different than anything else I know (from Haskell to Prolog) that I had a really hard time understanding Shen's type system.
eggy•1y ago
You're right: Shen's mathematical underpinnings (sequent calculus, dependent type theory) can intimidate programmers without a formal logic background. I bought the "The Book of Shen" (TBOS) revision 1 and revision 3. Revision 4 is available on the website. It's a great book with some CS history, logic, and development of Shen from Qi as well as how everything works in Shen including the type system.

Shen uses a dependently typed Sequent-Calculus based Type System (SCTS). It uses type rules vs. type classes, and type checking is optional, you can turn it on or off. Haskell's type inference makes things a bit simpler, and is a battle-tested static type system with excellent type inference which lends itself better for functional programming and large-scale software engineering (for the moment). Shen's TC is more expressive, but requires more effort.

Aditya Siram has some old but goody YT videos on Shen.

klibertp•1y ago
I wanted to buy it - I don't remember exactly, but I think I couldn't find an e-book version, and the paper one was expensive and didn't even ship to my country :( I hope to be wrong on that, though, do you know if there's an ebook available from somewhere?
HexDecOctBin•1y ago
One problem with Lisp is everything, including variable bindings, increases the nesting level making the code illegible. Last thing you want is for the type declaration to have their own nesting.
zarathustreal•1y ago
This is not necessarily true, you can pretty easily implement just about any syntax you want
dokyun•1y ago
If you hate nesting, just do this

    (defun foo (&aux bar baz)
      (setq bar (quux)
            baz (xyzzy))
      ...)
epgui•1y ago
The nesting level doesn’t necessarily impair legibility, it depends how it’s done. Nesting levels in homoiconic & referentially transparent languages have an impact more comparable to nesting levels in yaml or json than nesting levels in a language like python or javascript. The tradeoff weighs in a completely different way.

First you will usually want to write small chunks of code, instead of a large soup.

Second, you can make intentional decisions with your use of newlines in order to highlight specific aspects of the code.

I find clojure more readable than most other languages… However, bad code stands out horribly (which is actually great if you have at least one experienced engineer in the team- I’d argue there’s nothing worse than bad code that looks normal). Just like anything else, writing good lisp takes some skill.

Your specific editor and its configuration will also have a big impact on your experience.

sdsd•1y ago
You'd love threading macros in Racket: https://docs.racket-lang.org/threading/index.html

It's like Unix pipes for functions:

  (~> "hello"
    (string-ref 1)
    (char->integer))
klibertp•1y ago
Obviously, also available in CL, in Serapeum library[1]. Racket is credited in the docstring (since it's ~> instead of ->). Also, `nest` works very well for unnesting forms[2]

[1] https://github.com/ruricolist/serapeum/blob/master/control-f...

[2] https://github.com/ruricolist/serapeum/blob/master/REFERENCE...

sham1•1y ago
Aside from the points that others have raised already, this sort of deep nesting can be seen as a feature instead of as a bug, since it can force you to think about refactoring the code into being less nested.
•
1y ago
Apparently this is a quicklisp problem, they haven't updated the release since 2021 when it was still broken.
shawn_w•1y ago
I just grabbed the latest ITERATE source off of its gitlab repository, and, yeah, that bit is still giving an error:

      Iterate, in (COUNT I SOME-SEQUENCE): Missing value for SOME-SEQUENCE keyword
as well as

    WARNING:
       COUNT appears to be used as an ITERATE clause keyword, in this sexpression: (COUNT I SOME-SEQUENCE).
       This use is now deprecated and will cease to be supported in a future version. Please use the alternative keyword COUNTING instead. If you intended COUNT to be interpreted as a function call, instead of an ITERATE clause, you must find an alternative way of calling it, at present, perhaps by using FUNCALL or APPLY.
Have to use

    (iter (for i from 1 to 10)
        (print (funcall #'count i some-sequence)))

Guess the documentation /is/ wrong (for now, until the code finishes catching up)
Jtsummers•1y ago
Well, some-sequence was obviously an example, you'd have to fill it in with an actual sequence. Put in '(1 2 3) instead or assign something to it.

But yeah, that's still not something I intend to use if they make you work around what should be plain Common Lisp.

shawn_w•1y ago
I had a some-sequence variable defined.

(Using a literal list or vector gives a different error)

BoingBoomTschak•1y ago
It's been marked as deprecated for some time, but still needs manual removal as of now: https://gitlab.common-lisp.net/iterate/iterate/-/blob/master... (removing https://gitlab.common-lisp.net/iterate/iterate/-/blob/master... should work, I think).

Still better than the loop abomination, IMO.

kazinator•1y ago
I made a loop macro using the C preprocessor, for the Awk language.

I had to rub my own eyes to believe that such a thing is possible.

It comes with over twenty useful clauses. Clauses are programmer-definable.

Clauses can combine in parallel or nested/cross-product iteration.

https://www.kylheku.com/cgit/cppawk/about/

Jach•1y ago
I'll never understand the love for iterate. Look at these comparisons: https://github.com/sabracrolleton/sabracrolleton.github.io/b... For almost all of them, it's the same guy, just more parens. Nothing to love/hate for one or the other, it's just preference, though one is built-in.
shawn_w•1y ago
Looks more lispy because the parens. Plus it's extendable unlike LOOP, so you can make it work with your own data types. And a few other nice features like being able to collect into a vector or other sequence, not just lists.
BoingBoomTschak•1y ago
The big plus for me is that the ad-hoc if/when/do are removed in favour of the standard operators, without the horrible then/else/end/and dance.

Then you got all the life-improving goodies (in-{sequence,string,file,stream}, index-of-*, previous, etc...) that really add up to something.

kagevf•1y ago
My opinion of LOOP started to change when I read (the much maligned) "Land of Lisp" and went over that "periodic" diagram in TFA. Seeing the elements of LOOP broken down like that went a long way to get me to overcome my original aversion to it.
Jach•1y ago
Who is maligning Land of Lisp?
kagevf•1y ago
Here's an example: http://metamodular.com/Books/land-of-lisp.html
Jach•1y ago
Huh, didn't realize that beach didn't like it so strongly. Still, hardly "much maligned"... My impression was that most people enjoyed it, even though it definitely has some weaknesses and could (especially now 15 years later) use a second edition, if for no other reason than to move off CLISP to SBCL. This seems supported by its high reviews on Amazon and GoodReads. (Of course overall I liked it too, and we got the best music video about lisp out of it.) FWIW my own criticisms were largely style-based: too much of it felt like Scheme code rather than Lisp code, even outside of emphasizing/educating about the more primitive features, with lots of things like inner functions, recursion where looping would have IMO been clearer, and so much use of raw car/cdr/caadr/caddr/whatdr instead of more clearly structured structs or classes or just helper functions called intuitive things like get-foo. (The book Calendrical Calculations: The Ultimate Edition uses lists for all its data structures but helpfully creates many functions to both construct and access their parts. e.g. generic dates are a (year month day) list, but the definition and exclusive use of standard-year, standard-month, and standard-day for getting at them would let one refactor it into a class. There are also functions like gregorian-date, julian-date, and egyptian-date that have exactly the same implementation (making a list of the 3 passed params) but serve as 'typed' list constructors, and indeed could be refactored into something that carried along type information without changing other code.)
kagevf•1y ago
I like LoL alright too. I was only maybe a year or so into CL when I read it, so I didn't really notice a lot of what it's criticized for. On the one hand, I'm a little sad that I see it bagged on so much (that link from beach's site, IRC, reddit) since I felt I got decent enough value out of it, but OTOH it's good and healthy to point out problems.

The abstractions used in Calendrical Calculations sound good - and echo what I've seen elsewhere - so, based on your comment I'm now more likely to read it, so thank you for that.

Jtsummers•1y ago
https://www.cambridge.org/us/universitypress/subjects/comput...

The source code is available there.

kagevf•1y ago
Thank you, I'll check it out!
boogsbyte•1y ago
From what I heard he's not working on it anymore but the code can be found here:

https://github.com/kartik-s/sbcl/blob/coroutines/src%2Fcode%...

klibertp•1y ago
Thank you!! I was very interested in `convert-thread-to-coroutine` - I saw it on the ELS presentation, and when I went spelunking in the CMUCL codebase, I found the prototypes for `fork` and `resume`, but (probably because CMUCL is single-threaded?) nothing that would suggest how that `convert...` should look like.

Why is there so little interest in green threads/coroutines in CL community? cl-cont really isn't something to point to when asked about C10K problem... or yield/yield*... or async/await...

boogsbyte•1y ago
There's great interest for it, not little. The challenge is who can do compiler programming, add a production ready implementation as contrib SBCL package, and maintain it?
klibertp•1y ago
Hm, my impression is based on the lack of posts or articles with people demanding this to be a feature. I searched, and it just doesn't seem to come up in discussions, and when it does, it's invariably about cl-cont and problems with it.

The first implementation doesn't need to be production-ready. And the maintenance burden (along with polishing the implementation and porting to other architectures) could be shared by a few people and done over time. Having a starting point in the form of CMUCL code (already adapted to SBCL!) is the perfect opportunity for everyone interested to chime in: enough voices in favor could convince someone capable to continue the work. Yet, there are literally just 3 comments under the ESL presentation video, and it's not mentioned anywhere else...

boogsbyte•1y ago
It's mentioned on X and Discord plenty, but you're right about cl-cont.

The first few steps would be building on top of this work and reaching out to the SBCL maintainers via the mailing list to see what it takes to get this merged in.

nextos•1y ago
My experience is good, but I have only written smallish programs. Documentation is pretty polished.

Installation-wise, NixPkgs is fairly straightforward.

lucyjojo•1y ago
there is typed clojure out there if you want

https://typedclojure.org/

bmitc•1y ago
There is Typed Racket.
jodleif•1y ago
You could also consider getting into pre/post conditions and specs - helps a lot especially at points with user/data input
eggy•1y ago
Other than the online version (4th edition), I don't know of any other place to get it. Yes, the paperback was expensive, but I bought it anyway. It proved to be very informative and more substantive than I had thought. I believe the 5th edition is almost ready for publication.
klibertp•1y ago
> Other than the online version

I'm an idiot. I looked at this page: https://shenlanguage.org/TBoS/tbos.html many times, tried clicking on the table of contents, realized that chapter titles are not links, and went away thinking it's only the ToS for promotional purposes. I only realized that the page numbers are links just now. To my defense, they don't differ in color that much and lack the underline that often marks links. Still, a HUGE facepalm :D Thanks for mentioning this and making me realize my own stupidity :)

eggy•1y ago
Glad you found it. I've done much worse, believe me!

If you have any questions check out the Google Groups (no Groups comments!) for Shen. I am eager to see the 5th edition, and I will probably buy the print version.

droideqa•1y ago
I had such high hopes for Shen but the licensing shenanigans at the beginning prevented it from having a great, large open source community.
eggy•1y ago
It's resolved. I helped support it for a brief time for the SP version, which is now integrated into the latest version. You're right though, that this put many people off.