Live data from Hacker News

I found a 55 year old bug in the first Lunar Lander game

martincmartin.com

21–30 of 124 posts

Re: I found a 55 year old bug in the first Lunar Lander game

#21

[flagged]

I agree with you in abstract, but uMatrix solved this problem for me.

Also, it's funny how people often say "the stupid cookie banners are there because of GDPR", but actually GDPR requires that the Reject button be as large and as easy to click as the Accept button, and somehow most companies do not care about this part.

(Also, GDPR does not require a cookie banner when your website does not place cookies. Seriously, why do you need them for the users who are not going to log in?)

Re: I found a 55 year old bug in the first Lunar Lander game

#22

Earlier quoted context omitted.

OP here. One interesting thing about FOCAL is that * has higher precedence than /. So in Lunar Lander, M*G/Z*K is what mathematicians and other languages would write M*G/(Z*K). I did a double take when I first saw that. :) As the Wikipedia article says, "This can cause subtle errors when converting FOCAL source code to other systems." Also, the IF syntax is a little limiting and hard to read, although I suppose progr…

Your code got munged, use backslash to escape * (otherwise it starts a span of italicised text), or use four leading blanks for code blocks (in which escaping is usually not needed): M*G/Z*K I think you meant, the above and M*G/(Z*K) respectively.

Thanks. Fixed!

Re: I found a 55 year old bug in the first Lunar Lander game

#23

[flagged]

I agree with you in abstract, but uMatrix solved this problem for me. Also, it's funny how people often say "the stupid cookie banners are there because of GDPR", but actually GDPR requires that the Reject button be as large and as easy to click as the Accept button, and somehow most companies do not care about this part. (Also, GDPR does not require a cookie banner when your website does not place cookies. Seriously…

People blame GDPR when they should blame the companies for invasive tracking. It's like making it illegal to serve poison in food, then being annoyed that your restaurants have to get your consent to serve you poison.

> why do you need them for the users who are not going to log in?

because they store cookies in your browser regardless, for tracking and advertising purposes

Re: I found a 55 year old bug in the first Lunar Lander game

#24
post #7

Earlier quoted context omitted.

I needed to know what language that is written in. Turns out it's something called FOCAL, as mentioned in this article about the game: https://retro365.blog/2021/12/02/bits-from-my-personal-colle... Wikipedia on FOCAL: https://en.wikipedia.org/wiki/FOCAL_(programming_language)

OP here. One interesting thing about FOCAL is that * has higher precedence than /. So in Lunar Lander, M*G/Z*K is what mathematicians and other languages would write M*G/(Z*K). I did a double take when I first saw that. :) As the Wikipedia article says, "This can cause subtle errors when converting FOCAL source code to other systems." Also, the IF syntax is a little limiting and hard to read, although I suppose progr…

That's surprising from today's perspective, but when I imagine the thought process, it seems reasonable, especially for math and science purposes where multiplication and division operators usually get grouped into a series of multiplications above the division bar, and a series of multiplications below it.

Re: I found a 55 year old bug in the first Lunar Lander game

#25
I was confused for a minute because I remember playing Spacewar on a PDP-1 in the 1960s and mis-remembered there also being a lander game. But there wasn't, Storer was the first. There is an interesting history here:

https://www.acriticalhit.com/moonlander-one-giant-leap-for-g...

Re: I found a 55 year old bug in the first Lunar Lander game

#26

Pretty cool, the offending line seems to be 08.10 [1]. I thought it was a little odd that he mentioned "impressive for a high school senior in 1969" multiple times throughout -- honestly I would imagine that growing up in the Space Age would have had a massive influence on technically minded folks, reminds me of that movie from a while back called October Sky. In the interview in TFA with the game's author he mention…

There were on the order of hundreds of high school students with computer access in the US in 1969, and even fewer with computer literacy. Growing up in the Space Age probably was inspirational, but that doesn't change the fact that computers basically didn't exist to the general public at that time. Unlike now, software development wasn't a widely known career. There wasn't a CS major in the US until 1962. I think t…

It’s unsurprising that at least one of the hundreds would write such a game though? In particular when those having access already are self-selected to some degree.

Re: I found a 55 year old bug in the first Lunar Lander game

#27

> By 1973, it had become “by far and away the single most popular computer game.” On Lunar Lander and bugs: my first programming book had a version of this game in Basic that I never got to run correctly. 25 years later I came back to it and I was surprised at the ridiculous amount of bugs it had and the convoluted logic ("440 IF GOTO 450"). I eventually rewrote it as an adult [1] but young me stood no chance. And to…

Oy vey, "no chance" is putting it lightly.

A lot of this BASIC code had roots in the 1960's-70's. Back then, editors ruled the roost of print magazines where this code often showed up within, and in books of collections of code they especially ruled with an iron fist. There was little notion that source code had to be dropped in verbatim with absolutely zero changes, so editors would make "judicious" changes in the source code. They thought they were "helping" with "obvious" typographical and editorial decisions.

This lesson was slowly, painfully learned until material improvements across the industry started to take hold starting in the 1980's and realization that source code shouldn't be touched in print really began to permeate the print industry. Though sometimes I wonder if this dynamic spurred the rise of BBS' and helped loosen the stranglehold print media had upon source code distribution, and what an alternative timeline might have looked like if the ones in power in print media were more open to "outsiders" having absolute control over some portion of "their" content.

I learned all the above decades later after I first started playing around with coding as a child, from talking with a much older friend who rose up from within the print media world and saw what happened. When I was a child, with zero adult guidance, and only a handful of books from the school and community library about programming, it was a wonder I stuck with coding at all with the countless programs I typed in by hand from print media that were similarly riddled with errors, so your reminiscing brought back powerful memories.

Re: I found a 55 year old bug in the first Lunar Lander game

#29

Pretty cool, the offending line seems to be 08.10 [1]. I thought it was a little odd that he mentioned "impressive for a high school senior in 1969" multiple times throughout -- honestly I would imagine that growing up in the Space Age would have had a massive influence on technically minded folks, reminds me of that movie from a while back called October Sky. In the interview in TFA with the game's author he mention…

I was in high school in 1969, knew some calculus, and was very interesting in programming. In a good size city with a major engineering university and a large high school the main barrier was access to computers. Our school had teletypes connected to a remote mainframe. My friends and I found a few computers at the university we could use at night, but most had card readers and line printers, and none had graphics terminals of any kind. I think the particular combination of skills, interest, and access would have been pretty rare at the time.

Re: I found a 55 year old bug in the first Lunar Lander game

#30

[flagged]

You don't need to put up with cookie banners. Enable the Cookie Notices and Annoyances filters in your uBlock Origin installation, and consider setting up a Kill Sticky bookmarklet[1].

[1] https://www.smokingonabike.com/2024/01/20/take-back-your-web...

Post reply on HN