frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Why Twilio Segment moved from microservices back to a monolith

https://www.twilio.com/en-us/blog/developers/best-practices/goodbye-microservices
82•birdculture•2h ago•62 comments

Recovering Anthony Bourdain's (really) lost Li.st's

https://sandyuraz.com/blogs/bourdain/
51•thecsw•2h ago•6 comments

VPN location claims don't match real traffic exits

https://ipinfo.io/blog/vpn-location-mismatch-report
182•mmaia•3h ago•106 comments

I fed 24 years of my blog posts to a Markov model

https://susam.net/fed-24-years-of-posts-to-markov-model.html
50•zdw•3h ago•17 comments

I tried Gleam for Advent of Code

https://blog.tymscar.com/posts/gleamaoc2025/
207•tymscar•6h ago•118 comments

The Rise of Computer Games, Part I: Adventure

https://technicshistory.com/2025/12/13/the-rise-of-computer-games-part-i-adventure/
25•cfmcdonald•3h ago•3 comments

Want to sway an election? Here’s how much fake online accounts cost

https://www.science.org/content/article/want-sway-election-here-s-how-much-fake-online-accounts-cost
88•rbanffy•2h ago•38 comments

Flat-pack washing machine spins a fairer future

https://www.positive.news/society/flat-pack-washing-machine-spins-a-fairer-future/
13•ohjeez•44m ago•0 comments

Useful patterns for building HTML tools

https://simonwillison.net/2025/Dec/10/html-tools/
215•simonw•3d ago•61 comments

Cryptids

https://wiki.bbchallenge.org/wiki/Cryptids
79•frozenseven•1w ago•12 comments

Ask HN: How can I get better at using AI for programming?

155•lemonlime227•7h ago•198 comments

Go Proposal: Secret Mode

https://antonz.org/accepted/runtime-secret/
138•enz•4d ago•60 comments

From Azure Functions to FreeBSD

https://jmmv.dev/2025/12/from-azure-functions-to-freebsd.html
53•todsacerdoti•5d ago•3 comments

TigerBeetle as a File Storage

https://aivarsk.com/2025/12/07/tigerbeetle-blob-storage/
8•aivarsk•6d ago•1 comments

What is the nicest thing a stranger has ever done for you?

https://louplummer.lol/nice-stranger/
264•speckx•2d ago•205 comments

Are we stuck with the same Desktop UX forever? [video]

https://www.youtube.com/watch?v=1fZTOjd_bOQ
72•joelkesler•4h ago•84 comments

EasyPost (YC S13) Is Hiring

https://www.easypost.com/careers
1•jstreebin•6h ago

Researchers seeking better measures of cognitive fatigue

https://www.nature.com/articles/d41586-025-03974-w
95•bikenaga•3d ago•26 comments

Photographer built a medium-format rangefinder

https://petapixel.com/2025/12/06/this-photographer-built-an-awesome-medium-format-rangefinder-and...
156•shinryuu•1w ago•35 comments

Will West Coast Jazz Get Some Respect?

https://www.honest-broker.com/p/will-west-coast-jazz-finally-get
63•paulpauper•1w ago•39 comments

A Giant Ball Will Help This Man Survive a Year on an Iceberg

https://www.outsideonline.com/outdoor-adventure/exploration-survival/how-giant-ball-will-help-man...
22•areoform•7h ago•27 comments

Pig Video Arcades Critique Life in the Pen (1997)

https://www.wired.com/1997/06/pig-video-arcades-critique-life-in-the-pen/
5•naryJane•5d ago•1 comments

Using Python for Scripting

https://hypirion.com/musings/use-python-for-scripting
75•birdculture•5d ago•64 comments

Purdue University Approves New AI Requirement for All Undergrads

https://www.forbes.com/sites/michaeltnietzel/2025/12/13/purdue-university-approves-new-ai-require...
34•rmason•2h ago•26 comments

A Lisp Interpreter Implemented in Conway's Game of Life (2021)

https://woodrush.github.io/blog/posts/2022-01-12-lisp-in-life.html
84•pabs3•20h ago•3 comments

Java FFM zero-copy transport using io_uring

https://www.mvp.express/
94•mands•6d ago•42 comments

GNU Unifont

https://unifoundry.com/unifont/index.html
316•remywang•1d ago•72 comments

Beautiful Abelian Sandpiles

https://eavan.blog/posts/beautiful-sandpiles.html
132•eavan0•4d ago•22 comments

A 'toaster with a lens': The story behind the first handheld digital camera

https://www.bbc.com/future/article/20251205-how-the-handheld-digital-camera-was-born
74•selvan•5d ago•42 comments

Show HN: I made a spreadsheet where formulas also update backwards

https://victorpoughon.github.io/bidicalc/
228•fouronnes3•2d ago•108 comments
Open in hackernews

We Lost Something: 1970s REPLs Were Better Than Modern Development Environments

https://programmingsimplicity.substack.com/p/we-lost-something-1970s-repls-were
38•surprisetalk•3h ago

Comments

ok123456•2h ago
But we have the same 1970s REPLs in 2025; additionally, the web browser, how end-users consume most programs, is a giant REPL.

For interpreted languages, most fancy IDEs provide a language interpreter shell, which is a REPL.

melvinroest•2h ago
Yea JS code inside the browser has a lot of REPL like functionalities, including a complete debugger to boot!
jhancock•2h ago
I use a modern Lisp everyday...Clojure. My dev environment is VS Code using the most excellent Calva extension which give me REPL-everywhere in my editing experience.

Yes, that 70's experience was better...and it's still here, refined and built on modern tooling and runtimes.

PessimalDecimal•2h ago
I came here to say this as well. The various Lisp dialects I've used still offer this rich REPL experience today. Other languages haven't caught up.
Hammershaft•1h ago
I love clojure with CIDER but I have heard as a REPL experience it doesn't compare to CL with SLIME. I like emacs as a lisp machine but I know that a big ball of mutable state and functions with side effects on a single thread really doesn't live up to a proper lisp machine.
jhancock•30m ago
true. I don't have the energy to learn emacs fu. An actual lisp machine would be dreamy.
tomrod•2h ago
I make a ton of progress with ipython and vim/st3/other text editor with a vertical split. I sometimes screen the terminal in two if I want to run external elements.

We seem to keep iterating back to that modality, but honestly, it's just nice. VS Code starts there but then Java language servers and broken Python language servers and rust language servers and exploding npm dependencies and supply chain attacks just muck everything up.

Simple simple simple is so refreshing.

0xfaded•2h ago
Try running ipython inside a vim terminal (:below term). Being able to yank and paste between buffers and the terminal (which is itself backed by a vim buffer), and vice versa, is a big multiplier
melvinroest•2h ago
This is just my 2 cents.

This is why I programmed in Pharo (a Smalltalk descendant) professionally for a while to get that experience [1].

I feel like that using iPython is good enough of an experience to be honest. Could it be better? Sure.

But the fact that this is my iPython session:

ipython Python 3.12.9 | packaged by conda-forge | (main, Mar 4 2025, 22:44:42) [Clang 18.1.8 ] Type 'copyright', 'credits' or 'license' for more information IPython 8.32.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: def foo(): ...: return 'bar' ...:

In [2]: foo() Out[2]: 'bar'

In [3]: def foo(): ...: return 'baz' ...:

In [4]: foo() Out[4]: 'baz'

says a whole lot I think :)

The cool thing with Pharo and Lisp of course is the whole "treating code as data", where Lisp is arguably even more intense at it than Pharo - since the syntax is basically an abstract syntax tree. It really allows for automated reasoning (e.g. "give me all functions of xyz type with abc parameters, constrained to only pqr classes and only showcase the lines where they were being called, skip the definitions). So that's awesome. I haven't tested Python on this a whole lot yet and I don't know enough about Lisp to say anything useful about it, but with Pharo I vaguely remember doing some insane things since you can also access the AST and have reflection on that as well.

Pharo of course has the whole debugger inside a debugger inside a debugger experience. But that has had quite some limited use because a new process is spawned for that new debugger, so you won't have access to the exact same context that you need. I vaguely remember that some class based variables didn't have the state I needed when I went debugger inside a debugger mode. I think it was WADynamicVariable of the Seaside framework and it was because it was a singleton like thing (IIRC) and in order to have a certain behavior it could only do that by triggering exceptions (I really don't remember it well). The point is, it needed such obscure behavior to behave in the way it needed to that the debugger inside a debugger wasn't expected to copy that exception flow context, as it wasn't really intended to be used like that.

[1] I would've worked there for longer but the company got Americanized. Our company - that was profitable - got subsumed by a venture capitalist firm that had 2 companies like it that were unprofitable. We became a subsidiary/sub-company basically. Suddenly tech layoffs came, 2 rounds at least, because the company as a whole was unprofitable (as in: the other 2 subsidiaries were unprofitable and we had to pay the price). I'd have stayed there for much longer if that didn't happen. I will go on record and say that: it is my personal opinion that they destroyed a good company with good people. I won't name the company, but given that I'm posting under my real name, it's not too hard to figure out.

blauditore•2h ago
I could never make myself like Pharo (or Smalltalk). Yes, it's interesting and exotic, but it never seemed really practical. Maybe what I was missing the most was static/explicit typing, which replaces the need for many of Smalltalk's features. I also never liked working with Python or JS for that reason.

It's amusing that in the mid-2010 with the raise of Node, web (turned "full stack") devs advocated for JS and how static typing was really not that relevant. Then TS came and suddenly the same folks considered it an absolut game changer.

melvinroest•2h ago
> it never seemed really practical.

IMO this is partially true but that's mostly because not enough people are working on it. If Pharo would have as much people working on it as Python, it'd be practical really quickly.

> Maybe what I was missing the most was static/explicit typing

I actually have a talk where you can hack typing in. To be fair, it will be checked during execution, so it's not a compile time thing. It's somewhere around here (I did like 3 mini talks in one mini talks, it was pure chaos, haha [1]). It's about 5 min., the whole talk.

Personally, I'm a fan of type hints, but ultimately engineering culture and standardization is more important. Or at least, in a professional context, in a personal code context I like dynamic typing and when it gets too big, I refactor it to explicit typing.

[1] https://www.youtube.com/watch?v=FeFrt-kdvms&t=2270s

pjmlp•1h ago
The irony is that many dynamic languages have had optional typing for decades.

BASIC, Common Lisp, xBase/Clipper, Perl

So yet again we got a cycle of people rediscovering the tools that predated them.

amelius•2h ago
My favorite debugging method is still printf()
burnt-resistor•1h ago
Macro backed by fprintf(stderr, ..) since stdout is buffered.

Generally avoiding C unless something specific and small absolutely requires performance (rather than premature optimization), because maintainability, safety, and velocity tend to be better in higher-level languages.

haunter•2h ago
Which makes me wonder: at the end of the day 1970 or 2025 doesn't matter, it's the same plain text editing no matter what. As if we are still in the silent film era of programming. Visual programming seems to be the "obvious" generation leap but we are still not there yet (something like the UE Blueprints) https://dev.epicgames.com/documentation/en-us/unreal-engine/...
smj-edison•2h ago
Every time I've tried visual programming for anything other than data flow I find it way more painful than just typing code. It's particularly hard to follow control flow, and organization is a pain. So I'm not convinced that visual programming (as conventionally envisioned) is the future. That said, I'm a big fan of making use of visual intuition, at least how dynamic land and folk computer envision it (they also have the datalog-like reactive database that is the glue that connects different programs together in a nicer way than data flow).
eudamoniac•1h ago
Text and language didn't begin in 1970. We've been using words to communicate for a long time, and text is pretty good for that. We don't communicate complexity to humans via hieroglyphs; why would we think visual programming is somehow superior to code?
rr808•2h ago
Speaking of better in the old days, MSVC in the 90s had edit and continue, where you could stop in a debugger, change the source code and move the current breakpoint back and run it again. Even VBA had this 30 years ago, why cant I do in Python?
efaref•2h ago
The visual IDEs of the 90s (MSVC, Borland Delphi, heck even MS Visual Basic) were way more tightly integrated, performant and usable than anything we have today, despite running on hardware with a fraction of the power. It seems so bizarre how much we've regressed.
sam_lowry_•2h ago
You can still do it in Java.
rr808•1h ago
The best I can do is rebuild the class, then when the function runs next time you get the new code. Is that what you mean? Quarkus is good like this too.
pjmlp•1h ago
There is better than that.

https://www.jrebel.com/products/jrebel

zzo38computer•1h ago
Microsoft QuickBasic does too, which I sometimes still use when programming on DOS (one of the reasons for this being what efaref mentioned about performance and usability and being regressed); and also has a "immediate mode" that you can enter BASIC commands and execute them; I think this is helpful.
goodthink•53m ago
I call bullsh*t. None of those IDE's had any such feature.
dgan•33m ago
What? Excel has this today. Open your VBA/Developer window
Grosvenor•2h ago
What he's getting at is single level storage. Ram isn't used for loading data & working on it. Ram is cache. The size of your disk defines the "size" of your system.

This existed in Lisp and Smalltalk systems. Since there's no disk/running program split you don't have to serialize your data. You just pass around Lisp sexprs or Smalltalk code/ASTs. No more sucking your data from Postgres over a straw, or between microservices, or ...

These systems are magnitudes smaller and simpler than what we've built today. I'd love to see them exist again.

aktuel•2h ago
Are there any current language REPLs that have save/restore session state commands?
chews•48m ago
I run jupyter in a docker container and have the ability to just checkpoint it, it would work for any language that runs a REPL. The gotcha's are any GPU state stuff or any database/socket connections.
znpy•25m ago
You could do save-lisp-and-die
jvanderbot•1h ago
No love for Forth? The opening paragraph just nails the whole concept of a machine operator instead of machine programmer - the driving principle behind Forth, right?
burnt-resistor•1h ago
Also used in the previous FreeBSD bootloader and the "portable" monochrome CRT word processors donated to a middle school I attended around 1992.

In terms of ops usability, it's difficult to beat reliability, availability, and serviceability (RAS) features of mainframes. Erlang/OTP comes close.

zzo38computer•1h ago
I think there are benefits of interpreters as well as compilers, possibly for the same programming language in some cases (although some programming languages are better for use with interpreter and some are better for use with compilers).

I think JSON is not the best format for the persistence though (despite their claim that it is better than binary formats, it has many problems); it has many problems, such as not a proper integer type and not non-Unicode text types or binary types, etc; and different format would better, such as DER. If you use DER, then you can use better types, better character sets, binary data, and not limits to how big numbers can be, etc. (JSON might work for JavaScript, but even then only for some types; JavaScript has more types than JSON has, including JavaScript does actually have a integer type even though JSON does not.) (With using JSON, it will just mean that you will then have to wrap other data in JSON anyways (e.g. encoding DER as base64) and the meaning will have to be converted.) (Also, you can work around not being a text format, because you can have a program to display them, like a program can be used to display any other kind of data in other ways (e.g. syntax highlighting, pictures, auto formatting, etc).)

znpy•26m ago
> true interactive, exploratory programming environments where developer feedback was instantaneous, context was persistent, and the entire system was designed around the developer’s cognitive workflow.

Reminds me of smalltalk? I’ve played a bit with Pharo and it seems to tick all those boxes