HN user

unwind

12,368 karma

Bearded hacker from Sweden. Learned M68k assembly on the Amiga in the late 80s. Compiling C on a 7 MHz CPU was slow. Working as a contracting software developer since almost 10 years, enjoying visiting various parts of the software world.

I hang out a lot on Stack Overflow: http://stackoverflow.com/users/28169/unwind, mainly answering questions about C. I love C.

Posts195
Comments2,966
View on HN
www.betterfrost.com 6mo ago

Defrosting using low-energy surface heating

unwind
2pts0
www.soldr.pro 6mo ago

Soldr, an open-source compact soldering station

unwind
2pts0
en.wikipedia.org 10mo ago

Saw-Tooth Roof

unwind
15pts3
en.wikipedia.org 1y ago

NonStop 80s Servers

unwind
8pts2
en.wikipedia.org 1y ago

Airoll

unwind
2pts0
plotjuggler.io 1y ago

PlotJuggler Time Series Visualization Tool

unwind
2pts0
en.wikipedia.org 1y ago

The O'Neill Cylinder Space Settlement Concept (1976)

unwind
2pts0
www.festool.com 1y ago

Festool's ExoActive Exoskeleton

unwind
3pts0
hackaday.com 1y ago

The Worsening RP2350 E9 Erratum Situation

unwind
7pts0
www.hackster.io 2y ago

Microchip's new 5-core 64-bit RISC-V PIC64GX

unwind
4pts2
xcb.freedesktop.org 2y ago

XCB: An XML-backed replacement for Xlib

unwind
4pts0
olimex.wordpress.com 2y ago

RVPC: The 1-Euro RISC-V computer with VGA and PS/2

unwind
33pts12
www.hackster.io 2y ago

STM32 MCU family goes 64-bit with the STM32MP2x (Cortex-A35)

unwind
82pts51
en.wikipedia.org 2y ago

Landrace (Animal/Plant Variety)

unwind
1pts0
davecurran.blogspot.com 2y ago

Metal foams and how to make them (2021)

unwind
2pts0
en.wikipedia.org 2y ago

Confocal microscopy

unwind
44pts19
en.wikipedia.org 2y ago

Confocal microscopy

unwind
1pts1
www.retrorgb.com 2y ago

Mars: Multi Arcade and Retro System

unwind
2pts0
firmware.buspirate.com 2y ago

Bus Pirate 5 Firmware

unwind
46pts37
en.wikipedia.org 2y ago

Schnabel car

unwind
1pts0
en.wikipedia.org 2y ago

Kelvin wake pattern

unwind
2pts0
www.st.com 2y ago

STM32 family grows to microprocessor/Linux level with STM32MP1

unwind
107pts71
en.wikipedia.org 3y ago

Python Minefield Breaching System

unwind
2pts0
en.wikipedia.org 3y ago

Micromouse

unwind
4pts0
totemmaker.net 3y ago

Totem construction system with cuttable parts

unwind
49pts20
en.wikipedia.org 3y ago

Sixel: A terminal bitmap graphics format from the 80s

unwind
54pts20
www.st.com 3y ago

The STM32U599 is a modern Arm microcontroller with 2D GPU

unwind
1pts1
twitter.com 3y ago

John Carmack helps debug satellite startup's images

unwind
3pts0
www.independent.co.uk 3y ago

Curiosity rover found a metallic meteorite on Mars

unwind
1pts0
www.thebyteattic.com 3y ago

The Agon light is the fastest 8-bit microcomputer

unwind
69pts30

Meta: a space is missing in the title.

Since this is one of the bugs, I always recommemd writing

    game->boardPieces = swAlloc(sizeof(ThingHandle*) * row * column);
Like this instead:
    game->boardPieces = swAlloc(sizeof *game->boardPieces * row * column);
It's not 100% better, but it cuts out a few tokens which helps readability and moves the significant asterix further left where I think it's easier to spot.

Can you elaborate on how it detects and signals if it runs out of output buffer space? I couldn't see how the amount of available space was even communicated to `fc_enc()`.

Also there some "C icks" (to me, I'm very picky and used to know the standard awfully well from answering many SO questions) that you might want to look into. The two I remember now are the casting of `void` pointers from allocation functions, and (worse) the assumption that "all bits zero" is how a NULL pointer is represented.

Fun post! Very happy to see a 20-something year old find and fix bugs in an X11 wm from before they were born. Gives me hope.

There was some kind of editing snafu though, the loop header in the big (first) code block reads:

    for (i = 0; i < 10; i++, nuke_count++)
But the references to it in the text, and updated versions in the patches, show it as just
    for (;;)
That was confusing me a bit.
Animated Knots 6 months ago

As a ultra noob in the art of knotting, I liked this when I stumbled over it a few weeks back. I agree that for newbies it would be even more instructive with smoother flows, I guess they're held back by the animations being photos and not, well, animations.

I also have read their backstory/naming thing [1] several times but I still don't quite get it. I first thought they were related to the historical Grog, but that was a misunderstanding. I think.

[1] https://www.animatedknots.com/grog-story

Meta: This is a very messy title, it should just be "The minichord: a pocket-sized musical instrument" or something like that. We have the github info in the auto-generated blurb right after the title, after all. Thanks.

Just a few months back I worked in embedded development on a project and there was a physical dongle to unlock the compiler, which was surprising during on-boarding as I've spent years doing commercial embedded work relying on GCC. :)

“The historical significance of JUMPSEAT cannot be understated,” said Dr. James Outzen, NRO director of the Center for the Study of National Reconnaissance.

I'm no native speaker but that is backwards, right? Shouldn't it be overstated if it was a success?

Me too, from Firefox in Linux and no (!) blockers. Weird. Maybe geo-fenced for not being in the US, sometimes companies do that which is ... weird.

F-16 Falcon Strike 6 months ago

Cool!

I love seeing new games for "retro" machines, it's awesome that people keep pouring time and love into them after all these years.

I'm not super familiar with 8-bit Atari machines, and found the designation "classic unmodified 8-bit ATARI XL/XE" a bit imprecise. Tried looking up specs on Wikipedia [1] but was unsure what to settle on. Perhaps the original 1200XL would match? Or the 800XL which seems to improve on the 1200XL even though the naming suggests the opposite ... Or the 65XE, or both then I guess since the latter is compatible with the 800XL, but in an updated case?

[1] https://en.wikipedia.org/wiki/Atari_8-bit_computers#1200XL

Very cool, nice effort and a good write-up!

If my math is right it seems the cost in material for the printed part is around $5 which seems ridiculously cheap for a custom-designed and adapted solution like this. Nice!

I wish the author had spent a few words extra to motivate why it needs to be in PETG filament for "heat resistance", is the regular PLA limit of ~55 degrees Celsius not okay for a desktop accessory? I guess if it's in direct sunlight that might be exceeded, or perhaps if the laptop runs very hot?

That sounded fascinating as a rather large difference in world view stemming only from using different languages.

It turns out that there are various models for the number of continents, and that is (phew) known in Spanish, too. See the Wikipedia page [1] (link to Spanish version) for instance. This is for European Spanish though, but I couldn't find a version of the page in es-AR.

[1] https://es.wikipedia.org/wiki/Continente#Modelos_continental...

I think this is very cool, even though I have no historical connection to the Z80 it's of course a well-regarded and firmly entrenched/popular retro CPU.

But this really is a stretch:

The Z80 Membership Card itself is a stand-alone single-board computer that can "power up" your projects, like the Parallax BASIC Stamps or Arduino microcomputers.

Both of those are very commonly called microcontrollers, not microcomputers, since they have all of those extra chips merged into the single package of the CPU.

Take a look at the Arduino Uno [1] which is a very typical (if old) example: you will see that the board is not covered in ICs from edge to edge, since all of the main functionality is in the single-chip microcontroller. I think the second big-ish package visible is for the USB, but that also disappears on more modern controllers with on-board support for USB.

[1] https://en.wikipedia.org/wiki/Arduino_Uno#/media/File:Arduin...

Ah, that was a typo: you meant "GPU" (Graphics Processing Unit, not "GUI" which of course is Graphical User Interface) since that is listed in the system requirements. Explained implicitly by an existing comment, thanks!

True story: I was once (late 90s, I think) made part of an impromptu taste-test in a 7 Eleven store in Stockholm [1], when a (probably bored) employee grabbed a Coke, a Pepsi and a Dr Pepper and some espresso-size paper cups and made me and some friends close our eyes and try to guess which was which.

I remember being upset since he claimed I failed to even point out Dr Pepper, which I still think is unbelievable since even its smell is super distinctive and way different from a cola.

[1] https://www.mitti.se/nyheter/buset-pa-kungsgatan--butiken-bl... is the same store, article (in Swedish) about a recent prank someone did there

A4 Paper Stories 7 months ago

In Sweden, the lowest postage (one stamp, 22 SEK or around $2) is for max 50 grams.

At the speeds in question, I'm pretty sure the logic could be in a general-purpose microcontroller, too. But I'm not sure detailed schematics for the analog parts are available/open.

Very cool and impressive performance.

I was worried (I find it confusing when Unicode "shadows" of normal letters exist, and those are of course also dangerous in some cases when they can be mis-interpreted for the letter they look more or less exactly like) by the article's use of U+212A (Kelvin symbol) as sample text, so I had to look it up [1].

Anyway, according to Wikipedia the dedicated symbol should not be used:

However, this is a compatibility character provided for compatibility with legacy encodings. The Unicode standard recommends using U+004B K LATIN CAPITAL LETTER K instead; that is, a normal capital K.

That was comforting, to me. :)

[1] https://en.wikipedia.org/wiki/Kelvin#Orthography