frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

I Write Games in C (yes, C)

https://jonathanwhiting.com/writing/blog/games_in_c/
45•valyala•2h ago•19 comments

We Mourn Our Craft

https://nolanlawson.com/2026/02/07/we-mourn-our-craft/
226•ColinWright•1h ago•241 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
30•valyala•2h ago•4 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
128•AlexeyBrin•8h ago•25 comments

Brookhaven Lab's RHIC Concludes 25-Year Run with Final Collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
8•gnufx•1h ago•1 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
71•vinhnx•5h ago•9 comments

The AI boom is causing shortages everywhere else

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

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

https://openciv3.org/
836•klaussilveira•22h ago•251 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...
179•alephnerd•2h ago•124 comments

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

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
57•thelok•4h ago•8 comments

The Waymo World Model

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

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
85•onurkanbkrc•7h ago•5 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
493•theblazehen•3d ago•178 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
215•jesperordrup•12h ago•77 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
14•momciloo•2h ago•0 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
231•alainrk•7h ago•365 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
575•nar001•6h ago•261 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
41•rbanffy•4d ago•8 comments

72M Points of Interest

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

History and Timeline of the Proco Rat Pedal (2021)

https://web.archive.org/web/20211030011207/https://thejhsshow.com/articles/history-and-timeline-o...
19•brudgers•5d ago•4 comments

Selection Rather Than Prediction

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

Unseen Footage of Atari Battlezone Arcade Cabinet Production

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

Where did all the starships go?

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

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

https://github.com/valdanylchuk/breezydemo
278•isitcontent•22h ago•38 comments

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

https://github.com/pydantic/monty
289•dmpetrov•23h ago•156 comments

Learning from context is harder than we thought

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

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
558•todsacerdoti•1d ago•272 comments

Microsoft Account bugs locked me out of Notepad – are Thin Clients ruining PCs?

https://www.windowscentral.com/microsoft/windows-11/windows-locked-me-out-of-notepad-is-the-thin-...
6•josephcsible•28m ago•1 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

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

https://github.com/sandys/kappal
22•sandGorgon•2d ago•12 comments
Open in hackernews

Superauthenticity: Computer Game Aspect Ratios

https://datadrivengamer.blogspot.com/2025/05/superauthenticity-computer-game-aspect.html
32•msephton•8mo ago

Comments

msephton•8mo ago
Personally I think Bruce Lee is a cool looking game. Like a playable diorama.

And with Macintosh web though the CRT was about 8.5" x 6.25" (1.36:1) the recommended active area (according to period repair guides) was 7.11" x 4.75", so yeah, pretty much exactly 1.5:1.

msephton•8mo ago
* typo: even though

Oh, and the Macintosh active area was sized such that the dpi would be 72dpi and so WYSIWYG compared to PostScript point size and thus 1:1 print output (of course, eventually higher resolution printers arrived).

Firehawke•8mo ago
Problem with this theory is that it's not taking into account what the artists were designing their art to be. Not every circle is meant to be a proper circle in the end-- sometimes there's a mix of PAR (Pixel Aspect Ratio) art and 4:3 in the same SCENE much less the same game: For instance, Chrono Trigger has mostly 4:3 artwork, but the moon seen behind Magus's Tower is actually 8:7 PAR.

I'd argue that in the end the whole game was meant to be seen by players on a 4:3 display, and thus 4:3 is "always" the correct answer for NES/SNES.. but your mileage may vary considerably.

I think the one thing I CAN have a hardline stance on is that stretching out 4:3 to 16:9 completely and absolutely distorts the intended look of the4 game and is ill-advised.

That said, there's one fly in the ointment. Systems like the TRS-80 Color Computer had a massive block of overscan that's visible by default on all displays. How MUCH of that overscan is visible depends on the display you're using (different TV plus different H/V size knob settings) and so actually working out what the correct display is and should be.. is a LOT harder and will vary a lot across different software on the same system. I'm not sure that just picking an aspect ratio per-game is correct; most users didn't exactly go and recalibrate their TV for each game they were playing, they'd pick a good baseline and live with it unless something was offscreen and thus required adjustment.

shmeeed•8mo ago
Sadly, Firefox on Android in portrait squashes all the example pictures, rendering the page pretty useless. :(
mkesper•8mo ago
To me it looks like square pixels amount to what the artists intended their work to look like. Come on, how do you imagine settler's wagons to look like? The moons? Also the grass with crt-royale looks absolutely rubbish to me.
arexxbifs•8mo ago
One problem is that we've become so conditioned to seeing some of those iconic games with square pixels (because of emulators and screenshots) that the original aspect ratios look unfamiliar.

This is true also for most Amiga NTSC and DOS VGA games (both 320x200 on 4:3), such as Monkey Island. Here's an interview with Amiga artist Jim Sachs where he laments the lack of 4:3 aspect ratio when his works are displayed on modern machines: https://www.amigalove.com/viewtopic.php?t=1618

Some artists may of course have adjusted their screens in order to get square pixels, but I think the safe assumption is that they wanted to fill the typical default viewing area with graphics, since most users didn't (or, in the case of many cheap old TV sets, couldn't) adjust their screens.

egypturnash•8mo ago
Gridrunner: Grid cells should be square. It's the law. Verdict: Square pixels.

Jeff Minter has done a few remakes of this game over the years. One of the more recent ones (1) includes direct ports of the Vic20 and C64 versions as an option. They are very emphatically not using square pixels.

1: Minotaur Arcade vol 1, https://store.steampowered.com/app/906110/Minotaur_Arcade_Vo... - sadly there’s no photos of the retro modes in the Steam page.

kookamamie•8mo ago
(in ancient systems)
nottorp•8mo ago
Funny, on mobile safari the site squeezes all screenshots horizontally so they still fit 3 per line. Any impression of the aspect ratio is gone unless you open them one at a time.
ack_complete•8mo ago
Not to dismiss the thought that's been put into this, but the aspect ratio of the image (display aspect ratio) is almost always the wrong way to approach this. Retro computers typically have a limited number of dot clocks and video timings compared to the frame sizes that they can support. The Atari 8-bit, for example, supports only a single pair of horizontal and vertical refresh timings, but is very flexible regarding how wide and tall the display is. If you try to estimate aspect ratios based on the image area, you'll get lots of variance because many games deviate from the 320x192 area that the operating system uses.

On top of that, it's a mistake to assume that the original images had squares. With a small number of pixels per tile and both an aesthetic and efficiency requirement for the tiles to be uniform, it's highly likely that what look like squares actually weren't -- they could only get so close with the available resolution. I see a lot of people try to guess aspect ratios based on what they think the art was intended to look like, and on multiple occasions have had to boot games on original hardware and contemporary displays to prove that, no, what looked like a circle was actually slightly elliptical.

The correct way to approach this is by starting from the pixel dot clock and video timings to determine pixel aspect ratio and work backward to display aspect ratio. This also reveals another typical sign that aspect ratios are being determined wrong -- when significantly different pixel aspect ratios are determined for multiple systems that all supported NTSC artifacting colors, like the Apple II and the Atari. Supporting NTSC artifacting means NTSC-compatible timings and a dot clock that is an integer multiple of the color subcarrier, which means similar pixel aspect ratios.

LocalH•8mo ago
DAR is perfectly fine to use, as long as the entire image (including any borders) is included in the calculations. Thus, all images from the same system should end up with the same scaling factor.
ack_complete•8mo ago
You can, but it's not a useful basis for comparison. The full pixel display area including borders for an Atari 8-bit system is 352x240. The 22:15 ratio that comes out of this is not generally useful, because most displays do not show this full area, nor can it be compared to broadcast specifications to determine how it will be nominally displayed. It certainly is not comparable to the 4:3 ratio that is frequently used to try to fit retro system displays.

The pixel aspect ratio is not affected by how large the active display region is. Displays can't even detect the border if the border is at blanking level black as older systems tend to do. It's determined by the horizontal/vertical timings and the pixel clock. Those can be compared to the specifications for NTSC/PAL square pixels to calculate the resulting display size and aspect ratio on a standard-tuned display for a given image pixel size.

Firehawke•8mo ago
Right. You're not going to use V-size and H-size to remove the borders because that screws with literally every other use of the TV (other computers, TV shows, etc)..

About the only way to properly calibrate what the borders "should" be is to calibrate the TV to what would be a reasonable approximation for SD TV signals, and POSSIBLY make small adjustments after that point if the computer looks wrong.

Even then, every TV is going to be somewhat different and so there's a huge amount of variance on how it's going to look in the end. Same applies for computer monitors back then, though calibration of an RGB monitor is going to be even harder than composite since you can't easily run a VCR over it to try to get SD TV calibration.

LocalH•8mo ago
One thing I see in this article is a very common blunder in dealing with images from these types of retro systems - non-integer vertical scaling. For accurate reproduction of these types of CRT raster images from an aspect ratio perspective, integer vertical scaling should always be done, followed by interpolated horizontal scaling to reach the correct aspect ratio.

Why? The original display method never blended across scanlines (except in the PAL world, where chroma only would blend across two otherwise discrete scanlines), but the analog nature of the scanning process provided a natural horizontal blending.

leguminous•8mo ago
Some amount of vertical blending often occurred because scanlines tapered off in brightness, bleeding into the next scanline. For example, if the electron beam spot has a two dimensional gaussian profile, then the vertical profile of a scanline at a constant value will also be gaussian. If the height of the scanline (full width at half maximum of the gaussian) is around 1x the distance between scanline centers (a reasonable value at full brightness), then there will be significant overlap between neighboring scanlines. The point between the scanline centers will be a blend of them both.

How much blending there is depends on the brightness at that particular area (brighter parts of the image will have wider scanlines and more blending) and the characteristics and configuration of the particular TV.

If I wanted sharp pixels, I would use something like the pixel-art-scaling shaders in Retroarch. I like bandlimit-pixel and pixel-aa, but most of them look pretty similar. They basically try to antialias the pixel edges. I prefer to fill the screen as much as I can using the correct aspect ratio and not worry about integer scaling.

For more realistic blending, CRT shaders are pretty good now.

LocalH•8mo ago
That depends on the size of the CRT. Signal-wise, there is never blending between scanlines (except for PAL chroma blending), only the natural blending of the image within each scanline as the voltage rises and lowers.