frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Tcl-Lang Showcase

https://wiki.tcl-lang.org/page/Showcase
110•luismedel•13h ago

Comments

shanemhansen•13h ago
Tcl was my first "general purpose" programming language (after TI-basic and Matlab).

When I started that job I didn't know the difference between Tcl and TCP. I spent a couple months studying Phillip Greenspuns books. It also made me a better engineer because unlike PHP I couldn't just Google how to do basic web server stuff so I had to learn from first principles. That's how I ended up building my first asset minification pipeline that served the "$file.gz" if it existed with content-encoding: gzip.

Nearly 20 years later and I'm basically a http specialist (well, CDN/Ingress/mesh/proxy/web performance).

Tcl is still kind of neat in a hacky way (no other language I've run across regularly uses upvars so creatively).

Shout-out to ad_proc and aolserver.

doodpants•12h ago
"By clicking on the image, an interactive demonstration of the Tcl/Tk application is launched using CloudTk."

No it isn't; I just get an empty frame with a close button. This is consistent on multiple browsers/platforms.

nu11ptr•12h ago
same here
zamadatix•12h ago
I'm guessing it works fine until there is load :). The design does seem to just proxy noVNC to a Linux host.
kragen•9h ago
I wonder if you could maybe just compile wish to Wasm with Emscripten?
hoppp•6m ago
Worked for me
dizzant•12h ago
I used Tcl at my very first internship for test automation. Coming from a self-taught Javascript/Java/C#/C++ background, Tcl really stretched my concept of what a programming language is, especially how it plays with stack frames and munges string values.

Coincidentally Tcl also inspired my first deep dive into Vim. The test automation framework at that company required meaty Tcl expressions packed into CSV cells. Tcl was mind-boggling enough when properly formatted, so hand-editing squashed 1800 character long expressions on a single line was way too much. I'm fairly certain the assignment was part hazing and the framework part "job security".

Jokes on them, I spent 2 weeks on a side quest to make a Vim plugin that could add line breaks and indent a Tcl expression into a split temporary buffer for editing and squash it back to the right cell when I was done. Halfway through the summer I had completed the entire backlog. The manager got a reprimand for being a jerk and I spent the rest of the summer making the framework less painful.

doublerabbit•12h ago
I'm currently working on a PXE provisioning system with Tcl. This crafts a KickStart configuration hosted on a virtual URL.

LUks is a requirement and requires a random password on each workstation. Password generation with handmade web gui stored natively in sqlite all under 200 LoC so far.

Tcl gets flak, but it's battle tested. Still under active development and has a cool GUI, Tk, I love it as a language. In terms of simplicity it just works out of the box, execution in a single file, in a sanely manner.

Wrap a variable in brackets {} and you've secured yourself from injections or run the procedure in a lightening safe interpreter if your paranoid.

Threading is a breeze. It does make you think in a different methodology which folk may rebuttal, but once you get it, it's great.

NaviServer too, AOLs original webserver is awesome.

https://wiki.tcl-lang.org/page/NaviServer

https://github.com/naviserver-project/naviserver

mzi•11h ago
Nitpick: it's flak, not flack. It's a german abbreviation of Flugzeugabwehrkanone or anti-aircraft gun
justusthane•10h ago
I’ll do another nitpick: “rebuttal” is a noun. “Rebut” is the verb you’re looking for.
doublerabbit•10h ago
Missed the edit window. Noted for the future though, thanks.
sph•11h ago
I've been thinking of writing an extensible editor scriptable with Tcl, but - surely someone somewhere must have already written one, no? I couldn't find anything that wasn't just a toy.
kragen•9h ago
This is a really interesting idea, and I don't know why I haven't seen one—it seems like such an obviously good idea.
dlowe-net•8h ago
BBEdit started in the 90s and was an early adopter for TCL extensibility.
ofalkaed•8h ago
I suspect there are a great many, Tcl/Tk makes it a very easy project but once you start using your editor to edit the code for your editor you realize you can edit your editor while you edit in it without restarting. Couple weeks later you have an editor filled with undocumented features and a weird skew towards editing the languages you use most and tailored to your personal coding quirks and style.

At least that is how it went for me. Once I got basic functionality working it turned into something that evolves instead of being written; working on some project and realize a certain feature would be great, open editor's built in console and write a few procs, send it to the interpreter, test, save, continue on with other project, fully intend to document and improve/generalize later, repeat until it turns into something only you can use.

shawn_w•8h ago
There have been a few but I think they're all dead these days.

Alphatk for example: https://en.wikipedia.org/wiki/Alphatk

seschwar•8h ago
Vim is scriptable with TCL: https://vimhelp.org/if_tcl.txt.html
isr•8h ago
[tcl'ers wiki page on tcl editors](https://wiki.tcl-lang.org/page/Tcl+Editors)

An interesting one I hacked around with for a while is [ma](https://github.com/kdltr/ma). It's a single window implementation of an acme-like editor. It was originally written (& still used by) Felix Winkleman, the creator of chicken scheme

jhardcastle•11h ago
Tcl/Tk was used by the first open source project I ever contributed to 25 years ago – a client for AOL Instant Messenger called TiK. It was such a thrill to be able to hack on the client, see the changes in almost real time, and share with others. It's great to see Tcl still around and kicking!

https://tik.sourceforge.net/

KasianFranks•11h ago
In 1996/7 I had a chance to use Tcl/Tk to build one of the first stock tickers on the web called DigitalTrader [1], after that we used it to build some of the first vector embeddings in 2005 for early biological language models at Lawrence Berkeley National Lab [2,3] for space biosciences. Still a fan.

[1] https://www.orafaq.com/usenet/comp.databases.oracle.misc/199...

[2] https://newscenter.lbl.gov/2005/03/31/a-search-engine-that-t...

[3] https://patents.google.com/patent/US7987191B2/en

bitwize•10h ago
A lot of people on Hackernews get wistful for VB. But the VB of the Unix world is still here—Tcl/Tk. It's not for the faint of heart, but it's the fastest way I've seen to get from zero to functional GUI. Entire desktop environments have been built in it—before GNOME 1.0 even came out. It even has metaprogramming capabilities that approach Lisp in flexibility.
badsectoracula•9h ago
VB and Tcl/Tk are very different at a fundamental level. Nowadays the closest to VB would be Lazarus[0]. There is also Gambas[1] though personally i haven't tried that recently (it also cannot make binaries for Windows FWIW) and back when i did, it was very clunky.

Though there was an attempt[2] to make a Visual Tcl at some point. IIRC one neat aspect was that the program was actually live while you were designing it instead of having separate design / run modes.

[0] https://www.lazarus-ide.org/

[1] https://gambaswiki.org/website/en/main.html

[2] https://vtcl.sourceforge.net/

bitwize•9h ago
> VB and Tcl/Tk are very different at a fundamental level.

Well, yes, I get that—and I much prefer Tcl. What I meant was it filled the role of "tool you use to get a GUI together quickly", especially in the early 90s. Gambas and Lazarus were not around back then.

Lazarus is closer to Delphi than VB, and I've found it to be clunky also in practice if not in principle; Delphi took on a lot of production workload in the 90s, and having an open source workalike would be a boon to business. We seem to have trashed tools that enabled line-of-business apps to be built by single devs, only for AI companies to sell that ability back to us again in the form of LLM assistance. Sometimes I hate this civilization.

badsectoracula•3h ago
The main difference between Delphi/Lazarus and classic VB is that in classic VB you can pause the program and run commands in the paused program - i.e. running it in a "half-alive" state, though it wasn't fully editable as many changes requiring restarting.

On the other hand Delphi/Lazarus has a much more capable language and richer set of components (and in Lazarus' case much better support for automatic layouts), which IMO is better overall.

But yeah, in the 90s Lazarus didn't exist (Delphi did though) - IIRC it was made around 2000 or so but it was really janky for most of the 2000s.

Note that Delphi (and Lazarus) is used for a lot more than LoB apps. It was used a lot by shareware developers for example (and some still use it, e.g. IIRC both Beyond Compare and Total Commander still use Delphi - with Lazarus for crossplatform and/or 64bit builds).

ternaryoperator•5h ago
JavaFX has a role here too.
IshKebab•8h ago
> but it's the fastest way I've seen to get from zero to functional GUI

I think Qt Creator is still the best option I've used there. It has a very good GUI form editor (probably the only one I've ever used that is good). You can have a basic GUI up and running in like 5 minutes tops. And C++ is a much better language than TCL, and Qt is a much better GUI toolkit than Tcl/Tk.

Just steer clear of QtQuick and QML. It's kind of trash. QtWidgets is still supported though.

DonHopkins•9h ago
Here's a talk I gave many years ago at the Toronto Usenix Symposium about porting SimCity to TCL/Tk:

http://www.art.net/~hopkins/Don/simcity/keynote.html

At that point in history (1993), TCL/Tk was ideal for what I wanted to do. It was very easy to integrate with C code (exposing the SimCity simulation engine and callback as TCL commands), and implement custom Tk components (like pie menus) and services (like a real time sound mixer).

w_piem.c: https://github.com/SimHacker/micropolis/blob/master/micropol...

I also made a multi player version of SimCity that took advantage of the X11 version of TCL/Tk's ability to open multiple displays at once.

https://www.youtube.com/watch?v=_fVl4dGwUrA

Multi Player SimCity Announcement: http://art.net/~hopkins/Don/simcity/simcity-announcement.htm...

SimCity on SGI Indigo: http://art.net/~hopkins/Don/simcity/SimCity-Indigo.gif

SimCity on Sun OLWM: http://art.net/~hopkins/Don/simcity/SimCity-Sun.gif

SimCity on NCD X Terminal: http://art.net/~hopkins/Don/simcity/SimCity-NCD.gif

I visited Professor John Ousterhout at his office at UCB with an SGI Indigo to give him a demo and express my gratitude and admiration, and demonstrated it running across two SGIs at the ACM InterCHI '93 conference Interactive Experience to demonstrate the cooperative multi player aspects like multiple views, multiple cursors, collaborative editing, and voting.

http://www.art.net/~hopkins/Don/simcity/simcitynet.html

Eventually I talked EA into open sourcing SimCity, cleaned up the TCL version, and released it on the OLPC (and renamed it Micropolis to not infringe on Maxis/EA's trademark):

Open Sourcing SimCity:

https://donhopkins.medium.com/open-sourcing-simcity-58470a27...

micropolis activity: https://github.com/SimHacker/micropolis/tree/master/micropol...

micropolis.tcl: https://github.com/SimHacker/micropolis/blob/master/micropol...

rixed•6h ago
I have fond memories of many hours spent with my young daughter playing micropolis on my laptop while travelling by train accross Europe many years ago. Thank you for your work!
ggcdn•9h ago
Many structural engineering graduate students still get exposed to TCL as its the input language of the OpenSees framework for structural and earthquake engineering.

https://opensees.ist.berkeley.edu/wiki/index.php?title=OpenS...

Luckily, there is also now a python interpreter.

rickcarlino•6h ago
I wish more scripting languages (other than TCL and Python) had desktop GUI support out of the box. I don’t even need a good one, just having an OK GUI lib that isn’t a full blown third party webview frameworks would be nice for one off utilities.
y1n0•5h ago
I use tcl at work. It’s fine, but it’s one of those languages that’s heavily tilted toward “easy to write but hard to read.”

TCL can be so customized that it’s unrecognizable, breaking all compatibility between hosts.

hoppp•7m ago
Tcl is cool. It looks a bit old but its nice vibes

Building a Fiber Optic ISP in My Homelab [video]

https://www.youtube.com/watch?v=sKBoO0eRAJY
1•nodesocket•2m ago•0 comments

Securities Fraud Investigation into Palantir Technologies Inc. (PLTR) Announced

https://www.theglobeandmail.com/investing/markets/stocks/PLTR/pressreleases/35293964/securities-f...
2•mgh2•10m ago•0 comments

Publishing an E-Zine on the Net (1995)

http://web.textfiles.com/ezines/publish.txt
1•kmstout•12m ago•0 comments

JPMorgan's Dimon Says AI Cost Savings Now Matching Money Spent

https://www.bloomberg.com/news/articles/2025-10-07/jpmorgan-s-dimon-says-ai-cost-savings-now-matc...
1•theonionspeaks•14m ago•0 comments

We didn't rewrite our feed handler in Rust

https://databento.com/blog/why-we-didnt-rewrite-our-feed-handler-in-rust
1•deepriverfish•15m ago•0 comments

LOPSA board votes to unanimously dissolve

https://www.lopsa.org/blog/13550085
1•ecliptik•26m ago•1 comments

Quiet, but Discoverable

https://jch.github.io/posts/2025-10-07-notifications-quiet-default.html
1•jollyjerry•29m ago•0 comments

Birth of Prettier

https://blog.vjeux.com/2025/javascript/birth-of-prettier.html
2•thunderbong•30m ago•0 comments

ChatGPT loses half of paid subscribers since April

https://techafricanews.com/2025/10/07/chatgpt-surges-past-800-million-weekly-users-eyes-one-billi...
1•mgh2•42m ago•2 comments

'Circular' mega-deals by Bay Area tech giants are raising eyebrows

https://www.sfgate.com/tech/article/circular-deals-bay-area-tech-21089538.php
6•turtlegrids•48m ago•1 comments

North Korea Missile Test Visualization

https://nagix.github.io/nk-missile-tests/
1•latchkey•49m ago•0 comments

AI Friend necklace; like wearing your senile, anxious grandmother around neck

https://fortune.com/2025/10/03/friend-ai-necklace-review-avi-schiffmann/
1•fcpguru•50m ago•1 comments

Leading CA Gov Candidate Katie Porter had a full-blown meltdown at a journalist

https://twitter.com/Rightanglenews/status/1975693521018626340
4•donsupreme•52m ago•0 comments

The Paradoxical Efficient Market Hypothesis (2024)

https://3quarksdaily.com/3quarksdaily/2024/09/the-paradoxical-efficient-market-hypothesis.html
12•tkhattra•55m ago•3 comments

State of the software engineering jobs market, 2025: what hiring managers see

https://newsletter.pragmaticengineer.com/p/state-of-the-tech-market-in-2025-hiring-managers
4•neilv•57m ago•0 comments

Universities should reject the administration's proposed 'compact'

https://www.msnbc.com/opinion/msnbc-opinion/trump-compact-universities-colleges-free-speech-rcna2...
1•anigbrowl•57m ago•0 comments

Bob Ross paintings to be auctioned to fund US public broadcasting

https://www.bbc.com/news/articles/cly10275v5zo
7•breve•1h ago•0 comments

Farewell letter after 15 years at Meta

https://overturned.substack.com/p/making-the-cracks-visible
5•kellystonelake•1h ago•0 comments

The War over Defense Tech

https://www.nybooks.com/online/2025/10/04/the-war-over-defense-tech/
1•whoisstan•1h ago•0 comments

Qt 6.10 Released

https://www.qt.io/blog/qt-6.10-released
3•jcelerier•1h ago•0 comments

How to Build a Better Suburb: Lessons from Disney, Houten, Japan, and Carmel

https://www.governance.fyi/p/main-street-usa-suburban-yimbyism
2•guardianbob•1h ago•0 comments

You Can't Write Your Own Founder Story (and Why That's Good News)

https://www.startastory.app/blog/why-you-cant-write-your-own-founders-story/
1•blakey_vibes•1h ago•0 comments

Europe's new biometric border checks: what do non-EU travellers need to know?

https://www.theguardian.com/travel/2025/oct/07/europe-new-biometric-border-checks-what-do-non-eu-...
3•bookofjoe•1h ago•0 comments

You can't libel the dead. But that doesn't mean you should deepfake them

https://techcrunch.com/2025/10/07/you-cant-libel-the-dead-but-that-doesnt-mean-you-should-deepfak...
1•pseudolus•1h ago•0 comments

Over 30 Bob Ross paintings to be auctioned off due to PBS federal funding cut

https://www.nbcnews.com/news/us-news/bob-ross-paintings-auctioned-raise-money-public-television-s...
8•donsupreme•1h ago•0 comments

Show HN: I made a better Java/Kotlin build tool

https://www.jpmhub.org
4•sunnykentz•1h ago•0 comments

Linux 6.18 UDP receive performance improved by 47%, under DDoS

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ce463e435757
5•limoce•1h ago•0 comments

At 200, the Erie Canal Delivers Change to Upstate New York

https://www.bloomberg.com/news/features/2025-10-07/at-200-the-erie-canal-delivers-change-to-upsta...
2•simonpure•1h ago•0 comments

Show HN: I made ShipAhead so devs can stop wasting weeks setting up SaaS apps

https://shipahe.ad/
1•tomhan245•1h ago•0 comments

Thames Water removes 100-tonne fatberg from west London sewer

https://www.theguardian.com/environment/2025/oct/06/thames-water-removes-100-tonne-fatberg-from-f...
4•pseudolus•1h ago•5 comments