frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Vircadia, a Bun and PostgreSQL-powered reactivity layer for games

https://vircadia.com/
1•kaliqt•1m ago•1 comments

A first successful factorization of RSA-2048 integer by D-Wave quantum computer

https://www.sciopen.com/article/10.26599/TST.2024.9010028
1•popol12•1m ago•0 comments

Apple plans AI-powered search in Safari, threatens Google's dominance

https://www.reuters.com/business/apple-looks-add-ai-search-companys-browser-bloomberg-reports-2025-05-07/
1•bit_qntum•2m ago•0 comments

OpenAI launches GPT-4o image gen with precise text and context-aware editing

https://openai.com/blog/introducing-4o-image-generation/
1•gray_amps•4m ago•0 comments

Trump admin to roll back Biden's AI chip restrictions

https://arstechnica.com/ai/2025/05/trump-admin-to-roll-back-bidens-ai-chip-restrictions/
1•byte-bolter•7m ago•0 comments

Maryland's 24/7 Work Zone Speed Cameras Issued 48,000 Tickets in 2 Months

https://www.thedrive.com/news/marylands-24-7-work-zone-speed-cameras-issued-48000-tickets-in-2-months
1•PaulHoule•8m ago•0 comments

The caching behind Elm's Html.Lazy

https://jfmengels.net/caching-behind-elm-lazy/
1•todsacerdoti•8m ago•0 comments

Ask HN: Maintaining code quality with widespread AI coding tools?

1•raydenvm•9m ago•0 comments

A short guide to the copyright wars

https://www.technollama.co.uk/a-short-guide-to-the-copyright-wars
1•fanf2•9m ago•0 comments

Programming Myths We Desperately Need to Retire

https://amritpandey.io/programming-myths-we-desperately-need-to-retire/
1•thunderbong•14m ago•1 comments

Epic Games Submits Fortnite to U.S. App Store

https://www.macrumors.com/2025/05/09/fortnite-submitted-to-us-app-store/
1•tosh•24m ago•0 comments

Terence Tao: Using modern tools to semi-automatically formalize a proof in Lean

https://mathstodon.xyz/@tao/114486537464033675
1•ColinWright•26m ago•0 comments

IAB Statement: Dotless Domains Considered Harmful

https://datatracker.ietf.org/doc/statement-iab-statement-dotless-domains-considered-harmful/
1•xg15•27m ago•0 comments

Scaling 3M Tables: How TiDB Powers Atlassian Forge's SaaS Platform

https://www.pingcap.com/blog/scaling-3-million-tables-how-tidb-powers-atlassian-forge-saas-platform/
1•ngaut•29m ago•0 comments

Why 80% of Developers Feel Stuck–and How to Fix It

2•juanmera01•31m ago•1 comments

Most AI spending driven by FOMO, not ROI, CEOs tell IBM

https://www.theregister.com/2025/05/06/ibm_ai_investments/
2•mpweiher•36m ago•2 comments

Philips now offers 3D printable replacement parts [video]

https://www.youtube.com/watch?v=q85lZdNStGs
1•danielEM•38m ago•1 comments

Build iOS Apps on Linux and Windows (WSL)

https://forums.swift.org/t/xtool-cross-platform-xcode-replacement-build-ios-apps-on-linux-and-more/79803
2•plurby•41m ago•0 comments

LegoGPT creates Lego designs using AI and text inputs

https://www.tomshardware.com/tech-industry/artificial-intelligence/legogpt-creates-stable-lego-designs-using-ai-and-text-inputs-tool-now-available-to-the-public
1•01-_-•47m ago•0 comments

Pope Leo says AI represents a challenge for humanity

https://www.cnn.com/2025/05/10/europe/pope-leo-prevost-cardinals-artificial-intelligence-intl
1•01-_-•49m ago•0 comments

Why weight-loss drug users are telling no one – not even their partners

https://www.theguardian.com/lifeandstyle/2025/may/11/weight-loss-drugs-why-do-people-lie-about-taking-ozempic
2•Geekette•51m ago•1 comments

Show HN: Libnode bindings for embedding Node.js within Rust

https://github.com/alshdavid/edon
1•apatheticonion•53m ago•0 comments

Koddy.ai: AI Image and Video All in One Platform

https://koddy.ai/
1•zoudong376•56m ago•1 comments

Alone Together: Disconnection Is Our Generation's Black Death

https://josef.cn/blog/black-death
3•josefchen•1h ago•0 comments

The Hobo Handbook

https://www.theparisreview.org/blog/2025/05/09/the-hobo-handbook/
1•nickcotter•1h ago•0 comments

Sound, Precise, and Fast Abstract Interpretation with Tristate Numbers

https://arxiv.org/abs/2105.05398
1•luu•1h ago•0 comments

DevTerm – open-source Portable Terminal

https://www.clockworkpi.com/home-devterm
2•kretaceous•1h ago•0 comments

Getting Started with Lazarus 4.0 IDE: IDE Tour and Installing Packages [video]

https://www.youtube.com/watch?v=zBImv-TjIzg
1•chungy•1h ago•0 comments

Golden Owl solution is revealed, but leaves players of 31-year hunt disappointed

https://www.lemonde.fr/en/pixels/article/2025/05/03/golden-owl-solution-is-revealed-but-leaves-players-of-31-year-hunt-disappointed_6740871_13.html
3•austinallegro•1h ago•1 comments

I Built a Tool That Tells Me If a Side Project Will Ruin My Weekend

https://www.rafaelviana.io/posts/code-chrono
2•vianarafael•1h ago•0 comments
Open in hackernews

Inventing the Adventure Game (1984)

http://www.warrenrobinett.com/inventing_adventure/
69•CaesarA•1d ago

Comments

DonHopkins•1d ago
Recursively a thread from 2019:

https://news.ycombinator.com/item?id=21896227

Including:

https://news.ycombinator.com/item?id=21897355

dang on Dec 28, 2019 | parent | context | favorite | on: Robot Odyssey (1984)

A thread from 2018: https://news.ycombinator.com/item?id=17421175

2014: https://news.ycombinator.com/item?id=7118649

DonHopkins on Dec 28, 2019 | parent | context | favorite | on: Robot Odyssey (1984)

Dag nabbit dang, you beat me to it! That 2018 thread about Robot Odyssey Online had a link to a Slate article mentioned some stuff about Alan Kay's high regard for Robot Odyssey, who somebody quoted, then he posted a correction to the article himself, and I posted some other discussions about it with him as well (and some links to other papers about related stuff by Chaim Gingold, Kurt Schmucker, and Dan Ingalls). Robot Odyssey was brilliant and waaaay before its time, and as Alan Kay said: Warren Robinette is a very special designer! He was the creator of one of the first known easter eggs in a video game: Atari Adventure, released in 1979 on the Atari 2600.

(I happen to be wearing my Factorio t-shirt right now! That's another robophilic game too, notoriously known as "programmer crack".)

>nlawalker on June 29, 2018 [-]

>From the Slate article: "When Teri Perl described the project to legendary computer scientist Alan Kay, he said, “You’re wasting your time. It can’t be done.” That is, the basic idea was simply too complex to run on an Apple home computer. When Robot Odyssey shipped, the company gave Wallace a plaque that said, “It can’t be done. —Alan Kay.”"

>That's an awesome story.

>alankay1 on June 29, 2018 [-]

>An "awesome story" that isn't the way it happened (as with too many "awesome stories"). See the comment I made (posted below by niawalker). To summarize here, I said I love "Rocky's Boots", and I love the basic idea of "Robot Odyssey", but for end-users, using simple logic gates to program multiple robots in a cooperative strategy game blows up too much complexity for very little utility. A much better way to do this would be to make a "next Logo" that would allow game players to make the AI brains needed by the robots. So what I actually said, is that doing it the way you are doing it will wind up with a game that is not successful or very playable.

>Just why they misunderstood what I said is a bit of a mystery, because I spelled out what could be really good for the game (and way ahead of what other games were doing). And of course it would work on an Apple II and other 8 bit micros (Logo ran nicely on them, etc.)

>From: Alan Kay Date: Mon, 12 Nov 2007 13:55:27 -0800 (PST) Subject: Re: Just curious ... To: Samuel Klein, Don Hopkins, Chris Trottier, John Gilmore

>Hi SJ --

>Robot Odyssey is another game that would benefit from having a clean separation between the graphical/physical modeling simulation and the behavioral parts (both the games levels and the robot programming could be independently separated out) -- this would make a great target for those who would like to try their hand at game play and at robot behavioral programming systems.

>This is a long undropped shoe for me. When I was the CS at Atari in 82-84, it was one of our goals to make a number of the very best games into frameworks for end-user (especially children's) creativity. Alas, Atari had quite a down turn towards the end of 83 ... We did get "the Aquarium" idea from Ann Marion to morph into the Vivarium project at Apple ... And some of the results there helped with the later Etoys design.

>Cheers,

>Alan

>From: Alan Kay Subject: Robot Odyssey

>I actually argued with him [Will Wright] and Maxis for not making SimCity very educational. E.g. the kids can't open the hood to see the assumptions made by SimCity (crime can be countered by more police stations) and try other assumptions (raise standard of living to counter crime) etc. I've never thought of it as a particularly good design for educational purposes.

>However, I have exactly the opposite opinion of Robot Odyssey, which I thought was a brilliant concept when the TLC people brought it to me at Atari in the early 80s. (Rocky's Boots is pretty much my all time favorite for a great game that really teaches and also has a terrific intro to itself done in itself, etc. Warren Robinette is a very special designer.).

>The big problem with Robot Odyssey (as I tried to explain to them) was that the circuits-programming didn't scale to the game. They really needed to move to something like an object-oriented event-driven Logo with symbolic scripting to allow the kids to really get into the wonderful possibilities for strategies and tactics. (BTW, Etoys is kind of an OO event-driven Logo (not an accident), and the next version of it has as a goal to be able to do Robot Odyssey in a reasonable way. This got delayed because of funding problems but we now have funding and are really going to do it this year. Want to help design and build it?)

>From: Alan Kay Date: Thu, 3 May 2018 07:49:16 +0000 (UTC) Subject: Re: Blocky + Micropolis = Blockropolis! ;)

>Yes, all of these "blocks" editors sprouted from the original one I designed for Etoys* more than 20 years ago now -- most of the followup was by way of Jens Moenig -- who did SNAP. You can see Etoys demoed on the OLPC in my 2007 TED talk.

>I'd advise coming up with a special kid's oriented language for your SimCity/Metropolis system and then render it in "blocks".

>Cheers

>Alan

>------------- * Two precursors for DnD programming were in my grad student's -- Mike Travers -- MIT thesis (not quite the same idea), and in the "Thinking Things" parade programming system (again, just individual symbol blocks rather than expressions).

>From: Don Hopkins Date: Fri, 4 May 2018 00:43:56 +0200 Subject: Re: Blocky + Micropolis = Blockropolis! ;)

>I love fondly remember and love Thinkin’ Things 1, but I never saw the subsequent versions!

>But there’s a great demo on youtube!

https://youtu.be/gCFNUc10Vu8?t=24m58s

>That would be a great way to program SimCity builder “agents” like the bulldozer and road layer, as well as agents like PacMan who know how to follow roads and eat traffic!

Micropolis Online (SimCity) Web Demo (with PacMan following roads and eating traffic):

https://www.youtube.com/watch?v=8snnqQSI0GE

>I am trying to get my head around Snap by playing around with it and watching Jens’s youtube videos, and it’s dawning on me that that it’s full blown undiluted Scheme with continuations and visual macros plus the best ideas of Squeak! The concept of putting a “ring” around blocks to make them a first class function, and being able to define your own custom blocks that take bodies of block code as parameters like real Lisp macros is brilliant! That is what I’ve been dreaming about and wondering how to do for so long! Looks like he nailed it! ;)

>Here’s something I found that you wrote about tile programming six years ago.

>-Don

>Squeak-dev:

http://squeak-dev.squeakfoundation.narkive.com/7ZN0H3vt/etoy...

>Etoys, Alice and tile programming ajbn at cin.ufpe.br () 6 years ago

>Folks,

>I have been trying the new version of Alice <www.alice.org>. It also uses tile programming like Etoys.Just for curiosity, does anyone know the history of Tile Programming? TIA,

>Antonio Barros PhD Student Informatics Center Federal University of Pernambuco Brazil

>Alan Kay 6 years ago

>This particular strand starting with one of the projects I saw in the CDROM "Thinking Things" (I think it was the 3rd in the set). This project was basically about being able to march around a football field and the multiple marchers were controlled by a very simple tile based programming system. Also, a grad student from a number of years ago, Mike Travers, did a really excellent thesis at MIT about enduser programming of autonomous agents -- the system was called AGAR -- and many of these ideas were used in the Vivarium project at Apple 15 years ago. The thesis version of AGAR used DnD tiles to make programs in Mike's very powerful system.

>The etoys originated as a design I did to make a nice constructive environment for the internet -- the Disney Family.com site -- in which small projects could make by parents and kids working together. SqC made the etoys ideas work, and Kim Rose and teacher BJ Conn decided to see how they would work in a classroom. I thought the etoys lacked too many features to be really good in a classroom, but I was wrong. The small number of features and the ease of use turned out to be real virtues.

>We've been friends with Randy Pausch for a long time and have had a number of outstanding interns from his group at CMU over the years. For example, Jeff Pierce (now a prof at GaTech) did SqueakAlice working with Andreas Raab to tie it to Andreas' Balloon3D. Randy's group got interested in the etoys tile scripting and did a very nice variant (it's rather different from etoys, and maybe better).

>Cheers,

>Alan

Warren Robinett:

https://en.wikipedia.org/wiki/Warren_Robinett

Rocky's Boots:

https://en.wikipedia.org/wiki/Rocky%27s_Boots

Robot Odyssey:

https://en.wikipedia.org/wiki/Robot_Odyssey

Here's The Programming Game You Never Asked For:

https://blog.codinghorror.com/heres-the-programming-game-you...

The Hardest Computer Game of All Time: It was called Robot Odyssey, it took me 13 years to finish it, and it sealed my fate as a programmer.

http://www.slate.com/articles/technology/bitwise/2014/01/rob...

Chaim Gingold's Gadget Background Survey:

http://chaim.io/download/Gingold%20(2017)%20Gadget%20(1)%20S...

A Taxonomy of Simulation Software:

http://www.donhopkins.com/home/documents/taxonomy.pdf

The Fabrik Programming Environment:

http://www.donhopkins.com/home/Fabrik%20PE%20paper.pdf

corysama•1d ago
A different look at the program structure of Adventure https://benfry.com/distellamap/ ;)
haolez•1d ago
Man, I played so much of Adventure in my Atari 2600 that I had dreams of this game. I dreamt that I was playing levels that didn't exist. It was fascinating at the time. It was a unique experience, almost psychedelic :D
ytNumbers•1d ago
Your psychedelic dreams have come true...

https://store.atariage.com/products/adventure-plus-atari-260...

WalterBright•1d ago
> Crowther had written his Adventure program in FORTRAN

I got my first insight into object oriented programming with ADVENT. Buried in the source was the line "A TROLL IS A MODIFIED DWARF". I was gobsmacked.

DonHopkins•22h ago
After some experimentation, I hypothesized that there was a troll flag in Zork, and once I finally discovered the source code decades later, I found out there actually was, called "TROLL-FLAG!-FLAG"!

https://github.com/itafroma/zork-mdl

https://news.ycombinator.com/item?id=31846457

DonHopkins on June 23, 2022 | parent | context | favorite | on: Random Ultima Online anecdote #2 – Horses inside p...

My favorite object containment related ZORK bug (which I discovered in the origin ZORK on MIT-DM, but which persisted in the InfoCom version), involves the troll holding an axe, blocking the door to the depths of the dungeon, who eats anything you give to him:

    >GIVE AXE TO TROLL

    The troll, who is not overly proud, graciously accepts the gift 
    and not having the most discriminating tastes, gleefully eats it.

    The troll, disarmed, cowers in terror, pleading for 
    his life in the guttural tongue of the trolls.
To have killed him in cold blood then would have been cruel, so I tried something else:

    >GIVE TROLL TO TROLL

    The troll, who is not overly proud, graciously accepts the gift 
    and not having the most discriminating tastes, gleefully eats it.
POOF! No more troll!

(I've actually been able to successfully apply this technique of giving HN trolls their own weapons (quoting their own words back to them), then giving them to themselves (pointing them back to their previous posts), to make them disappear from HN!)

But giving the troll to itself triggered another bug, because apparently it forgot to clear the TROLL flag, so you could still not leave the room, because when you tried to go through the exit the troll previously blocked, it said that "The troll fends you off with a menacing gesture." even though there was no troll in the room.

Decades later I finally found the Zork source code, and it turns out there was actually a troll flag called "TROLL-FLAG!-FLAG" that it forgot to clear, which the exit depended on.

I wrote up the bug in more details, with links to the source code:

https://news.ycombinator.com/item?id=19672436

DonHopkins on April 16, 2019 | prev | next [–]

I wrote some comments on the Wikipedia Zork talk page:

https://en.wikipedia.org/wiki/Talk:Zork/Archive_1#h-Link_to_...

Link to the original Zork source code in MDL

I suggest linking to the original Zork source code in MDL which is available here:

http://retro.co.za/adventure/zork-mdl/

Is it OK to link to that source code from Wikipedia? I don't know who officially owns it, though. It was never a commercial product, and was developed at MIT. As the Zork article mentions, the Zork source code was leaked way back in 1977, so the cat's been out of the bag for a long time. A link to the actual source code would be a nice thing to cite in that section.

It is fascinating to read, and really beautiful code, quite understandable even if you don't know MDL, and practically a form of literature.

I played the original Zork on MIT-DM and also the Infocom versions of course. Reading the source code is like seeing the behind-the-scenes underground rooms and passages at Disneyland!

While I was playing Zork, I found a bug. First some context: when you're battling the troll, you can give things to him, and he eats them! Sometimes he drops his axe, and you can pick it up and kill him with it. He blocks the exits until you kill him.

So I tried "give axe to troll," and he ate his own axe, then cowered in terror: "The troll, disarmed, cowers in terror, pleading for his life in the guttural tongue of the trolls."

Not satisfied with that, I tried "give troll to troll", and he devoured himself: "The troll, who is remarkably coordinated, catches the troll and not having the most discriminating tastes, gleefully eats it."

...Except that I still could not get out of the exit, because every time I tried, it said "The troll fends you off with a menacing gesture."

I figured there must be a troll flag that wasn't getting cleared when the troll devoured itself. And sure enough, I found it in the code, and it's called "TROLL-FLAG!-FLAG"!

Here is an excerpt of the MDL troll code, where you can see the bug, where it should clear the troll flag when the troll devours itself, but doesn't (well that's how I would fix it!):

               <COND (<VERB? "THROW" "GIVE">
                      <COND (<VERB? "THROW">
                             <TELL
    "The troll, who is remarkably coordinated, catches the " 1 <ODESC2 <PRSO>>>)
                            (<TELL
    "The troll, who is not overly proud, graciously accepts the gift">)>
                      <COND (<==? <PRSO> <SFIND-OBJ "KNIFE">>
                             <TELL
    "and being for the moment sated, throws it back.  Fortunately, the
    troll has poor control, and the knife falls to the floor.  He does
    not look pleased." ,LONG-TELL1>
                             <TRO .T ,FIGHTBIT>)
                            (<TELL
    "and not having the most discriminating tastes, gleefully eats it.">
                      <REMOVE-OBJECT <PRSO>>)>)
                     (<VERB? "TAKE" "MOVE">
                      <TELL
    "The troll spits in your face, saying \"Better luck next time.\"">)
                     (<VERB? "MUNG">
                      <TELL
    "The troll laughs at your puny gesture.">)>)
              (<AND ,TROLL-FLAG!-FLAG
                    <VERB? "HELLO">>
               <TELL "Unfortunately, the troll can't hear you.">)>>
WalterBright•17h ago
Thanks for the nice story!

Another thing I liked about the ADVENT FORTRAN code is it would detect if its static tables were initialized or not. If not, it would initialize the statics, and then write the executable out overwriting the executable. Then, the next time it ran, it was already initialized!

I used this trick in my editor in 80s. It didn't have a configuration file, one just set ones configuration in the editor, then hit a command to rewrite the executable. It worked like a champ! This greatly speeded up load times for the editor as doing a file lookup for the configuration file on a floppy disk was very slow.

Sadly, this all ended when the operating system would shut down an executable that attempted to modify itself as "malware".

DonHopkins•13h ago
Gosling Emacs used "unexec.c" by Spencer W Thomas (1982):

https://github.com/bobbae/gosling-emacs/blob/master/unexec.c

There was a FORTRAN version of ZORK (aka DUNGEON) by Bob Supnik at DEC, which was limited in some ways compared to the MDL version, but also had a "GDT" debug mode where you could inspect and control things like the thief and the troll and the cyclops and the robot.

I think you could tell them to perform commands, even become one of them, or have them pick you up and carry you around. I have a vague memory of being carried around by a robot in Zork, but I can't remember which version, or if that was part of the game or GDT. Something like "ROBOT, TAKE ME". Then it could carry you places you couldn't walk to yourself.

Bob Supnik started translating ZORK to FORTRAN in 1977, and published it on the DECUS tape library in 1978.

You could type "GDT" at any time and it would go:

  A booming voice calls out, "Who summons the right hand of the translator?
  State your name, cat, and serial number!"

  SUPNIK,BARNEY,70524

  At your service!

  GDT>
“Barney” was Supnik’s cat; 70524 his DEC badge number.

Zork Fortran Sources:

https://github.com/historicalsource/zork-fortran

GDT Sources:

https://github.com/historicalsource/zork-fortran/blob/master...

It had commands like:

  900        FORMAT(' Valid commands are:'/' AA- Alter ADVS'/
          &' AC- Alter CEVENT'/' AF- Alter FINDEX'/' AH- Alter HERE'/
          &' AN- Alter switches'/' AO- Alter OBJCTS'/' AR- Alter ROOMS'/
          &' AV- Alter VILLS'/' AX- Alter EXITS'/
          &' AZ- Alter PUZZLE'/' DA- Display ADVS'/
          &' DC- Display CEVENT'/' DF- Display FINDEX'/' DH- Display HACKS'/
          &' DL- Display lengths'/' DM- Display RTEXT'/
          &' DN- Display switches'/
          &' DO- Display OBJCTS'/' DP- Display parser'/
          &' DR- Display ROOMS'/' DS- Display state'/' DT- Display text'/
          &' DV- Display VILLS'/' DX- Display EXITS'/' DZ- Display PUZZLE'/
          &' D2- Display ROOM2'/' EX- Exit'/' HE- Type this message'/
          &' NC- No cyclops'/' ND- No deaths'/' NR- No robber'/
          &' NT- No troll'/' PD- Program detail'/
          &' RC- Restore cyclops'/' RD- Restore deaths'/
          &' RR- Restore robber'/' RT- Restore troll'/' TK- Take.')
Gunkies Zork info:

https://gunkies.org/wiki/Zork

GDT Command:

https://gunkies.org/wiki/Zork#The_GDT_command

>GDT dates from a very early version of the game, in fact, before the game was actually finished. I realized early on that debugging an interactive program with the traditional PRINT statements was going to be very cumbersome, and that the interactive debug tools of the day (1978) had no semantic understanding of the program. GDT was the answer. It enabled me to track when things went wrong, and to simulate parts of the game that hadn't been implemented yet.

>Originally, GDT was just a command like any other. Once the game was released, players quickly realized that it offered a simple way to short circuit the game and to undo mistakes. Lost something to the thief? Take it back. Getting killed too often? Turn on immortality mode. So I implemented a variety of challenges to prevent players from entering GDT without making the mechanism too difficult for me to remember. I think the INCANT mechanism might have been the final PDP-11 challenge.

>When I did the VAX version, I abandoned all that and went back to GDT as universally enabled, under control of a run time flag, GDTFLG. I think I intended to turn GDTFLG off before releasing the VAX version, so that it would be impossible to get into GDT without patching the binaries; but in fact the final VAX sources have GDTFLG=1.

>/Bob

WalterBright•13h ago
I wish I knew which version of ADVENT was the one I looked at. All I recall is it was in FORTRAN circa late 70s, and it ran on the univeristy PDP-10 (which meant it was FORTRAN-10).

Thanks for the fun information you posted!

M4v3R•1d ago
> The first video game was called Spacewar

Spacewar! was not the first video game ever. Before it in 1958 came Tennis for Two and even before that, in 1952 Christopher Strachey made Draughts. [1]

What Spacewar! can be considered, as per wiki [2] is one of the first recognized video games that enjoyed wider distribution behind a single exhibition system.

[1] https://www.youtube.com/watch?v=uHQ4WCU1WQc

[2] https://en.wikipedia.org/wiki/History_of_video_games