frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

We Mourn Our Craft

https://nolanlawson.com/2026/02/07/we-mourn-our-craft/
60•ColinWright•56m ago•24 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
18•surprisetalk•1h ago•13 comments

U.S. Jobs Disappear at Fastest January Pace Since Great Recession

https://www.forbes.com/sites/mikestunson/2026/02/05/us-jobs-disappear-at-fastest-january-pace-sin...
95•alephnerd•1h ago•38 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
120•AlexeyBrin•7h ago•22 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
55•vinhnx•4h ago•7 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
822•klaussilveira•21h ago•248 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
53•thelok•3h ago•6 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
101•1vuio0pswjnm7•8h ago•117 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
1057•xnx•1d ago•608 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
75•onurkanbkrc•6h ago•5 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
476•theblazehen•2d ago•175 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
202•jesperordrup•11h ago•69 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
544•nar001•5h ago•252 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
213•alainrk•6h ago•328 comments

Selection Rather Than Prediction

https://voratiq.com/blog/selection-rather-than-prediction/
8•languid-photic•3d ago•1 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
34•rbanffy•4d ago•7 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
27•marklit•5d ago•2 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
113•videotopia•4d ago•30 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
68•mellosouls•4h ago•73 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
73•speckx•4d ago•74 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
273•isitcontent•21h ago•37 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
199•limoce•4d ago•111 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
285•dmpetrov•22h ago•153 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
21•sandGorgon•2d ago•11 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
155•matheusalmeida•2d ago•48 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
555•todsacerdoti•1d ago•268 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
424•ostacke•1d ago•110 comments

Ga68, a GNU Algol 68 Compiler

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
42•matt_d•4d ago•18 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
472•lstoll•1d ago•312 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
348•eljojo•1d ago•215 comments
Open in hackernews

OBNC – Oberon-07 Compiler

https://miasap.se/obnc/
67•AlexeyBrin•8mo ago

Comments

johnisgood•8mo ago
Is Oberon used anywhere, if so, where? Is it picked for new projects?
pjmlp•8mo ago
Yes, Astrobe is still in business for about 20 years.

https://www.astrobe.com/default.htm

ETHZ still uses Active Oberon somehow,

https://gitlab.inf.ethz.ch/felixf/oberon

This is the owner of that repo,

https://inf.ethz.ch/de/personen/person-detail.MTMyNjc0.TGlzd...

However I do agree it is very niche, one is better of with Go, D, C#, Swift, as modern compiled managed languages with low level language features for systems programming.

bri3d•8mo ago
It’s used at ETHZ still if you count institutional use.

Commercially it had some popularity in industrial automation and robotics many years ago and some companies still maintain Oberon codebases for this reason. I believe this is the main target market for the commercial Astrobe Oberon compiler for Cortex-M, which sells enough to stick around.

I can’t think of a good reason to start a new commercial product in it and I’m not aware of any new commercial uses, but there are still lots of academic and hobby projects cropping up.

butterisgood•8mo ago
I use it as an example for simplicity enabling expression.

What I mean is if you pick the right primitives to begin with you don’t have to turn a system into horrid spaghetti.

Complexity costs everyone - consumers, people building products and supporting them etc.

And sometimes standardization is the enemy of the simple.

So these things will never be popular as long as committees exist to make our lives miserable.

jll29•8mo ago

  Oberon-2 -> C compiler
  ======================

  (release 0.17.2)

    220 LEX source files (scanner for lexical analysis) src/*.l
  4,192 YACC source files (parser for syntactic and semantic analysis
        and part of code generation) src/*.y
    809 C header files (misc. definitions and interfaces) src/*.h
  9,197 C implementation code files (main driver,
        command line handling, symbol table, other auxiliary data types
        and runtime system/library implementation) src/*.c
    707 build, install, and test scripts (sh)
  ------
  15,125 < 16K LOC
  ======

  (+6,299 lines of Oberon-2 test code)
Such a very compact code base! Oberon-2 may never have reached the distribution that Pascal had (which was an issue of timing as well due to influential distributions like P-System Pascal and Borland Turbo-Pascal/Delphi), but it's a great exercise in minimalism.
vdupras•8mo ago
Not to brag -- hum, ok, YES, to brag --, but Dusk's Oberon compiler[1][2] is less than 1500 lines of Forth code and it compiles directly to native code (no transpiling to C). Yes, Oberon is simple.

[1]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/doc/co...

[2]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/comp/o...

jll29•8mo ago
Thanks for sharing.

Yes, compare that to the smallest possible, ISO-compliant burst laughing C++ compiler implementation in any language...

Complicated means "likely full of errors that are hard to identify"...

nurettin•8mo ago
Early 2000s, compiler authors basically had to guess how types resolved and implement what made most sense. One week did not pass without filing a new kind of internal compiler error to gcc (well, I was lazy so I kept filing to debian). The specs improved immensely in the past 20 years. So much so that you can actually implement the entire grammar from the spec and the order of type resolution is well known. You could cut corners by ignoring every "compiler hint" and optional optimization that is left for the implementation to get things going, then go back and finish those.
Rochus•8mo ago
Cool. Which version of the Oberon language does it support?
vdupras•8mo ago
I'm guessing we call it Oberon-07? The one from "The Programming Language Oberon", written in 2007, revised in 2016. As the documentation states, it's not 100% on specs, for a better fit with Dusk interoperability, but it's very close. 100% specs compliance wouldn't affect implementation size by much.
Rochus•8mo ago
Ok, I see, thanks; so it's the same version as implemented in OBNC posted above. It's the last version Wirth specified, and quite different from the versions used for the Oberon systems 2, 3 and 4 in the nineties. Personally I consider Oberon-2 the most useful version, but I still had to get rid of a lot of orthodoxies to really use it in my projects (see https://github.com/rochus-keller/Oberon).

Your Forth implementation is fascinating.

bobsh•8mo ago
Wow! I have been in a potentially unhealthy love relationship with Oberon (especially the -07 version, once it appeared) since the mid 1990s. It has no basis in reality, my obsession, that I am aware of. But, so, on the one hand, I "get it" about Oberon. And, also, Forth - very long time Forth fan here! But, but, why, for DUSK, are you doing this? I hope you have the coolest frickin' reasons ever! :-)
vdupras•8mo ago
To port Oberon itself to Dusk. The effort is already well underway[1]. I'm of the opinion that the architecture of Oberon, w.r.t. to its graphical user interface, is sound. Dusk so far only has a console-based interface, Oberon is going to give it a GUI.

To borrow your words, yes it's going to be frickin' cool.

[1]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/doc/ob...

Rochus•8mo ago
The Oberon system version corresponding to Oberon-07 (see http://www.projectoberon.net/) is not really a "GUI" and very bare-bone compared to previous Oberon system versions. Wirth mainly wanted to implement his own computer including CPU using an FPGA; to reduce his effort he left out many things from the past. You could have a look at https://github.com/rochus-keller/OberonSystem3 instead which indeed has a GUI with an Oberon based widget framework; the referenced implementation should be easy to port to your OS (see ObxPal.obx).
vdupras•8mo ago
My taste for minimalism are a bit on the extreme side. Dusk OS isn't really about having a GUI, but graphical applications such as a PDF viewer are part of its design goals.

I was planning on not having a Desktop Environment at all and just have graphical applications use the whole screen, but I was intrigued by Viewers and Texts architecture. Their fundamental simplicity is rather elegant and I feel that mixing this with Forth's own radically simple elements, there's something quite powerful to be had. I'm not sure yet how it will materialize, but I still have that feeling.

I'm not really looking to write new graphical applications for Dusk, so I'm not planning on ever needing a Oberon-based gadget framework. The idea behind Dusk is to port existing applications onto a radically simpler platform (compared to your typical POSIX) with a minimal effort, not to write new software.

Rochus•8mo ago
I see. In case you're interested, I also made a version of the project oberon system with a minimal, portable plattform abstraction layer, see https://github.com/rochus-keller/OberonSystem/tree/FFI. Most of the code should be compatible with your compiler.
trealira•8mo ago
Thanks for sharing that. I've actually been learning some Forth recently and had been wondering how a parser or a compiler might actually look using Forth, and you actually already made one, which is pretty cool. I was wondering this because deterministic parsers are often already stack based (LL and LR parsers can both be implemented as imperative programs that manipulate a stack based on the input tokens, or just recursive descent).

I still can't really understand everything just from reading the code, but I had assumed it would be some kind of explicitly stack-based state machine precedence parser, like this article describes: https://h14s.p5r.org/2014/10/shiftreduce-expression-parsing-...

Kind of looks like you did that in expr.fs? Not completely sure, though.

vdupras•8mo ago
I'm not of the academic type and this type of vocabulary quickly loses me. Lots of words to describe something that, at its core, is pretty simple. Mind twisting, but simple.

Infix notation parsing happens in ast.fs[1]. It parses tokens left to right and builds a tree (the structure is Lisp-like cons) describe the expression in such a way that expr.fs[2] then just has to recursively process the top tree node to have proper codegen.

In other words, operator precedence, prefix/postfix operators, etc. are all considered in ast.fs. Once in expr.fs is reached, all those things have been processed.

AST tests[3] give a good example of what ast.fs does.

I'm not sure I'd say that Forth being stack-based particularly help there. This logic is more "recursive-based" than anything. Lots of recursion all around.

[1]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/comp/o...

[2]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/comp/o...

[3]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/tests/...

trealira•8mo ago
Thanks for explaining and giving me an overview of your code. I guess I was overly focused on Forth being stack based, when it's also perfectly capable of processing trees recursively.

Yeah, I just think parsers are really cool, and have read enough about different parsing algorithms that I'm used to vocab like that.

RetroTechie•8mo ago
Great work there!

As for Dusk OS: are there release tarballs/.zips or such anywhere available for download? (like for Collapse OS)

All I'm seeing is a reference to "target a release", which (I'm assuming) refers to some git function? Hoping to bypass the need for using git just to download & check archive's contents.

vdupras•8mo ago
Sourcehut provides targz bundles for tags: https://git.sr.ht/~vdupras/duskos/refs
RetroTechie•8mo ago
Ah.. I overlooked those "refs" links. Thx!
pkaye•8mo ago
I imagine its minimal optimizations at that point?