frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Arthur Conan Doyle explored men’s mental health through Sherlock Holmes

https://scienceclock.com/arthur-conan-doyle-delved-into-mens-mental-health-through-his-sherlock-h...
115•PikelEmi•4h ago•116 comments

TPUs vs. GPUs and why Google is positioned to win AI race in the long term

https://www.uncoveralpha.com/p/the-chip-made-for-the-ai-inference
26•vegasbrianc•2h ago•12 comments

Linux Kernel Explorer

https://reverser.dev/linux-kernel-explorer
341•tanelpoder•9h ago•51 comments

Penpot: The Open-Source Figma

https://github.com/penpot/penpot
502•selvan•13h ago•117 comments

Show HN: Runprompt – run .prompt files from the command line

https://github.com/chr15m/runprompt
12•chr15m•1h ago•0 comments

What Happens When You Train Pure Logic Without Knowledge: 15-Expert Moe

https://github.com/vac-architector/VAC-Memory-System/blob/main/LOGICA_MOE_STORY.md
4•ViktorKuz•23m ago•0 comments

Ray Marching Soft Shadows in 2D (2020)

https://www.rykap.com/2020/09/23/distance-fields/
132•memalign•7h ago•21 comments

Don't be a scary old guy: My 40s survival strategy with charm

https://www.devas.life/dont-be-a-scary-old-guy-my-40s-survival-strategy-with-charm/
28•ashleynewman•43m ago•15 comments

Interactive λ-Reduction

https://deltanets.org/
76•jy14898•2d ago•18 comments

The State of GPL Propagation to AI Models

https://shujisado.org/2025/11/27/gpl-propagates-to-ai-models-trained-on-gpl-code/
85•jonymo•2h ago•99 comments

Mixpanel Security Breach

https://mixpanel.com/blog/sms-security-incident/
110•jaredwiener•8h ago•75 comments

DIY NAS: 2026 Edition

https://blog.briancmoses.com/2025/11/diy-nas-2026-edition.html
281•sashk•12h ago•154 comments

Technical Deflation

https://benanderson.work/blog/technical-deflation/
36•0x79de•3d ago•24 comments

Music eases surgery and speeds recovery, study finds

https://www.bbc.com/news/articles/c231dv9zpz3o
131•1659447091•10h ago•48 comments

G0-G3 corners, visualised: learn what "Apple corners" are

https://www.printables.com/model/1490911-g0-g3-corners-visualised-learn-what-apple-corners
80•dgroshev•3d ago•42 comments

Willis Whitfield: Creator of clean room technology still in use today (2024)

https://www.sandia.gov/labnews/2024/04/04/willis-whitfield-a-simple-man-with-a-simple-solution-th...
121•rbanffy•2d ago•42 comments

Gemini CLI Tips and Tricks for Agentic Coding

https://github.com/addyosmani/gemini-cli-tips
333•ayoisaiah•21h ago•114 comments

Show HN: MkSlides – Markdown to slides with a similar workflow to MkDocs

https://github.com/MartenBE/mkslides
8•MartenBE•2h ago•0 comments

S&box is now an open source game engine

https://sbox.game/news/update-25-11-26
362•MaximilianEmel•19h ago•125 comments

The Concrete Pontoons of Bristol

https://thecretefleet.com/blog/f/the-concrete-pontoons-of-bristol
12•surprisetalk•6d ago•0 comments

Running Unsupported iOS on Deprecated Devices

https://nyansatan.github.io/run-unsupported-ios/
185•OuterVale•16h ago•77 comments

Coq: The World's Best Macro Assembler? (2013) [pdf]

https://nickbenton.name/coqasm.pdf
103•addaon•10h ago•35 comments

Closest Harmonic Number to an Integer

https://www.johndcook.com/blog/2025/11/19/closest-harmonic-number-to-an-integer/
23•ibobev•6d ago•4 comments

Last Issue of "ECMAScript News"

https://ecmascript.news/archive/es-next-news-2025-11-26.html
44•Klaster_1•9h ago•9 comments

A Fast 64-Bit Date Algorithm (30–40% faster by counting dates backwards)

https://www.benjoffe.com/fast-date-64
360•benjoffe•4d ago•84 comments

Voyager 1 is about to reach one light-day from Earth

https://scienceclock.com/voyager-1-is-about-to-reach-one-light-day-from-earth/
988•ashishgupta2209•1d ago•341 comments

Functional Data Structures and Algorithms: a Proof Assistant Approach

https://fdsa-book.net/
84•SchwKatze•13h ago•11 comments

Migrating the main Zig repository from GitHub to Codeberg

https://ziglang.org/news/migrating-from-github-to-codeberg/
760•todsacerdoti•13h ago•664 comments

A Nicotine Analogue I Had Known and Didn't Love: 6-Methylnicotine

https://psychotechnology.substack.com/p/a-nicotine-analogue-i-had-known-and
10•eatitraw•3d ago•4 comments

Essence and accident in language model-assisted coding

https://www.sicpers.info/2025/11/essence-and-accident-in-language-model-assisted-coding/
8•ingve•3d ago•0 comments
Open in hackernews

Closures in Tcl

https://world-playground-deceit.net/blog/2024/10/tcl-closures.html
82•andsoitis•6mo ago

Comments

dingnuts•6mo ago
Is Tcl having a revival? Anybody know where Tclers hang out online?
7thaccount•6mo ago
They did have a recent language update after awhile. That may have triggered some folks to look into it again. There is sometimes a HN effect where an initial post triggers some interest amongst enough users to get us new posts for a few weeks and then things tend to die off again. I've seen this with a lot of the more obscure languages like APL.

It would be cool to have a Tcl revival though (although I don't see it happening - I'm not in the community though so hopefully someone more informed can post). The language itself seems more capable than most give it credit for. I'm more of a Python fan myself, but can appreciate Tcl after reading through a book on it and writing a few scripts.

bandoti•6mo ago
I highly recommend The Tcl Programming Language: A Comprehensive Guide:

https://www.magicsplat.com/ttpl/index.html

For those who are not aware, Tcl is actually part of standard Python distribution through TKinter.

There are many things Tcl has built in that are quite amazing, like a robust virtual filesystem support, reflective channels, and less known these days Starpacks (stand alone runtime) that bundle sources with the binary.

I am current working on bringing back kitcreator for an AI project that uses Tcl as a scripting environment over llama.cpp.

https://github.com/tclmonster/kitcreator

Roy Keene is the original author, and has done some really clever stuff here, like encrypting the VFS appended to the executable. I added compression to this. It provides some manner of obfuscating sources.

And actually, I am also working on using tohil to compile a static Python and load it as a Tcl extension, with the goal to have standalone Python applications bundled with their sources and completely loadable from within the VFS. This will provide a means to bundle TKinter with a “frozen” Python app.

https://github.com/tclmonster/tohil

7thaccount•6mo ago
The previous edition of that book is the one I read lol. A great book. You can really feel the author's love of the language.
sph•6mo ago
Thank you and GP for the recommendation, just bought the book, seems pretty good! Now I wonder whether it's a good idea to replace my shell with tclsh... seems a lot more sane than bash/zsh.
7thaccount•6mo ago
Bash is pretty good for really small scripts. Anything bigger and I have reached for Perl, Python, or Tcl in the past ... depending on what IT had installed on the server.
bandoti•6mo ago
Definitely would be interesting to use it in that way! The nice thing about Tcl is the syntax is clean (in brevity and understanding). Basic features like piping, file globbing, encoding conversions, compression, and so-forth are intuitive.

If you’re interested, I have various Tclkits available for download on GitHub. I have added dependencies to them like TLS for HTTPS and so-forth. It can be convenient to have them standalone; the TLS extension here is bundled with the ca certs from libcurl.

https://github.com/tclmonster/kitcreator/releases/latest

And here’s an example how I use the kits in the CI build. It uses the kit it builds to push the update using the TLS extension along with the GitHub REST API:

https://github.com/tclmonster/kitcreator/blob/main/.github/s...

mhd•6mo ago
The Wiki[1] is one of the primary "hang out" spots, although it's a bit different from usual online communication. But there's a lot of mutual commenting, small articles and utilities etc. on there.

[1]: https://wiki.tcl-lang.org or https://wiki.tcl.tk

ofrzeta•6mo ago
"The European OpenACS and TCL/Tk conference will be in Bologna/Italy/Europe on July 10 & 11 2025." - this is crazy. Seems there are still people using OpenACS in 2025.
msephton•6mo ago
I last got help on the IRC channel (bridged to Slack, because I don't know IRC).

In the most recent big version update there was what I'd consider a breaking change regarding text encoding handling, but it was possible to go back to the old behaviour with an additional parameter .

monetus•6mo ago
r/TCL is worth a mention
pjmlp•6mo ago
I worked on a startup whose main language was Tcl, between 1999 and 2002, since then I hardly touched Tcl again.

Yet it has a special place on my heart and was one of the interpreters easiest to extend, in regards to the FFI API.

f1shy•6mo ago
If you work with VHDL or Verilog tools, it is very well alive and kicking. Forums about HDLs are full of it.
IshKebab•6mo ago
It is unfortunately entrenched in the EDA industry. I have absolutely no idea why you would use it if you don't work in that space.
sokoloff•6mo ago
Because it works.

I introduced it into some of our release tooling in the mid-2000s. Easy to integrate, easy to understand, unsurprisingly good string/text handling, expect was very useful, and it’s not going to be used by anyone else, so no worries about version conflicts.

It ran successfully largely unchanged for around a decade.

IshKebab•6mo ago
Everything works. PHP works. Perl works. Bash works.

I like to use tools that more than merely work.

There's a reason nobody outside EDA uses it.

_mlbt•6mo ago
It’s included with Python in the form of Tkinter, the MacPorts package manager is written in it, and it’s also used by Cisco IOS for scripting.
IshKebab•6mo ago
Just FYI when people say things like "nobody like this" or "everybody does that" they don't literally mean 100.00%.
RHSeeger•6mo ago
It is, for many people, an absolute pleasure to work in.
cmacleod4•6mo ago
Strange, I've been attending the EuroTcl conferences for a few years now, I don't remember any of the presentations I've seen being related to EDA - https://www.eurotcl.eu/pastevents.html :-/
johnnyjeans•6mo ago
it's a language that's trivial to implement because it's well designed and simple, it embeds very nicely, and it's fantastic for use as a debug shell and to implement guis. it's a great technician's language, if you work with technically-minded people who aren't necessarily programmers, it's a great way to hand them deep interactive power without the footguns of a forth.
IshKebab•6mo ago
I would say it's cleverly designed. Well designed? Hmm, would a well designed language have such a basic flaw as comments that can only be used in very specific places?
BoingBoomTschak•6mo ago
I understand where they came from here: the Scheme-like obsession with purity (the enshrined Endekalogue, now Dodekalogue) didn't mesh very well with traditional comment.

Yeah, Tcl has its design warts, but I don't think it has that many remaining that can't be fixed via metaprogramming. Even the popular Python manages to frustrate me with its idiotic statement/expression divide (they doubled down by making match() a statement...) and constant need to convert between generators/iterables and lists.

Thing is that R6RS Scheme (or R7RS-large if it comes out one day) is basically a better Tcl if you only consider scripting and don't need the event loop. If Tcl had played its cards right, it'd have competed with fish/rc/nushell/powershell instead, it was really ready to be a better shell well before any other.

------

To be honest, Common Lisp is the only language I've ever seen get this right without compromising on said purity by specifying the reader (parser): https://www.lispworks.com/documentation/HyperSpec/Body/02_.h...

Comments are then just the result of a readtable entry like any other, allowing this kind of voodoo:

  ; A comment
  (set-macro-character #\% (get-macro-character #\;))
  % Also a comment
johnnyjeans•6mo ago
absolutely, i don't even consider that a flaw. i dont like EOL comments stylistically.
IshKebab•6mo ago
I totally agree, but TCL comments are even more restricted than that.
thesz•6mo ago

  > Well, I've encountered this use case a few times in Lisp:...
  > ...where a callback is used to collect various items.
This can be and is achieved by simple SQL-like query. Filter (flat) set of nodes by integerness and you even do not need a push_back.

Despite that, I find article interesting. It shows that Tcl can truely be multiparadigm programming language.

Myself, I've implemented pattern matching [1] over algebraic-type-like values and used that here and there.

[1] https://wiki.tcl-lang.org/page/Algebraic+Types

BoingBoomTschak•6mo ago
The callback way is more generic and prevents consing when you don't need to store the resulting node list. You may want to simply print something or maybe modify the node in-place, for example.
thesz•6mo ago

  > modify the node in-place
I consider this anti-pattern [1].

[1] https://web.archive.org/web/20070417190836/https://www.eecs....

Authors found themselves fighting with control flow graph modifications and replaced mutable graph with immutable one, modified by zippers. They achieved speed up of 11% in optimizing transformations, some of which they were unable to implement in mutable version. E.g., more complex optimizations were working faster.

gitroom•6mo ago
Pretty cool seeing folks show up about Tcl, tbh I messed with it ages ago and never thought people were still this into it
RHSeeger•6mo ago
I don't get to use Tcl at work anymore, but I adore it. I use it for command line stuff on a regular basis
RHSeeger•6mo ago
> You might wonder why you'd ever need such a strange behaviour, right?

Closures can also be used to return a group of methods that all act on the same set of variables; ie, objects.

tialaramex•6mo ago
> In C++, this could be achieved if all local variables were in fact std::shared_ptr captured by value.

So, in C++ you do actually get to pick what happens and there are plenty of options but for our purposes here all we want is a (mutable) reference capture.

However, experienced C++ programmers would never do this because C++ is all foot guns all the time, so you can express what you meant and it'll blow up and cause chaos because now our reference outlives the thing referred to. Oops.

In Rust we can write what we meant, but instead of the program exploding at runtime the compiler will politely point out that this can't work and why.

And so armed with the knowledge from that, we can (in Rust or with C++ although it's harder to spell in C++) write something that'll actually work.

We could move the captured variable. In Rust we just use the keyword `move`, now the captured variable is gone, moved inside the closure, and so as with the Tcl the same variable (the one moved into this closure) is used each time the closure is called, and if we make another closure that's got a different captured variable.

But we could do the "shared reference" trick, that type is spelled Rc in Rust.