HNHacker News
TopNewBestAskShowJobs

sjmulder

1,072 karma · joined February 22, 2011

submissionscomments
sjmulder··on Nintendo is removing switch emulation videos on Steam Deck from YouTube
I love the Switch and I'm a big fan of many Nintendo franchises but Nintendo has a habit of screwing over honest customers, especially early adopters, and their retro efforts are a good example of that:

People who purchased games on the original Wii Virtual Console had to pay per-game fees to upgrade to native Wii U versions. As if that wasn't cheeky enough the Wii U NES emulation was terrible. Bad colors and serious input lag. Instead of fixing it for those customers who already paid (sometimes twice) for those games, Nintendo released the NES Classic which had a much better emulator… but only if you paid again.

(There also wasn't cross-buy/play between Virtual Console 3DS and Wii U, as opposed to e.g. Sony's PS3 and Vita's PS1 support.)

Then came the Switch with Nintendo Switch Online. Putting aside subscription vs. purchasing, the experience is great. But all those Virtual Console games you have? Can't play them. Pay again.

Remaster are cool but the way Nintendo approaches them is another example of how early adopters get the short end, with Wii U games getting re-releases on Switch (great) with additional content like Bowser's Fury (also great) but without making that content available as DLC to people who already paid full price for the original versions.

(By the way, those NSO N64 games aren't part of the basic subscription)

sjmulder··on The Factorio Mindset
Zachtronics games. They’re all about processes and optimisation but in quite different ways.
sjmulder··on The baseline for web development in 2022
I have JavaScript disabled on my phone.

Without technical measures, the web is just painful. Sites take long to load, they jump around, obscure the viewport with all kinds of sticky content, show maliciously compliant cookie screens, interrupt reading with delayed newsletter popups - there's just no end to it.

On the desktop there are extensions to get an acceptable experience but not on iOS. Disabling JS may be radical but it yields a butter smooth, battery efficient, mostly crap-free experience. For problematic sites there's the back button or a back up browser with JS enabled.

sjmulder··on "Widevine Dump":Leaked Code Downloads HD Video from Disney+, Amazon, and Netflix
> Even if content is available in another region, some language options are not available anymore

If only this were limited to downloads! I know a native Dutch speaker living in Germany who had to resort back to piracy to get Dutch subtitles.

sjmulder··on (mac)ostalgia – how Spotify, Slack, Chrome, Figma could look on Mac OS 9
There's isn't a "the respective API" any more for Windows, it seems. Win32/ATL/Forms don't get the new widgets and design language (just a bit of lookalike styling). WPF, UWP, WinUI 2/3 are all bundled toolkits that mimic the Windows' fashion of the day to varying degrees.
sjmulder··on Space-shooter.c: cross-platform, top-down 2D space shooter written in C
Cool. Also nice to see a well written ARCHITECTURE.md. I like this bit about dealing with memory:

> Almost all memory allocations in space-shooter.c are static, with dynamic allocations only used to load image and sound assets when the game initializes. This leads to a nice "programmer peace of mind" benefit that once the game initializes, I no longer have to worry about errors related to allocating or freeing memory.

It's something I also do myself in C projects - in fact in small programs I hardly ever find myself doing dynamic allocations at all. Functions that generate data don't allocate the memory themselves but receive a reference to an output location. That principle extends to larger programs. (It's not novel either, most system level libraries do this)

sjmulder··on Space-shooter.c: cross-platform, top-down 2D space shooter written in C
There's no platform code for macOS yet. (It's a goal of the project to not use cross-platform abstractions)
sjmulder··on Nsh: A fish/bash-like Posix shell in Rust
Would it be better to ‘exec’ the shells to avoid the nesting?
sjmulder··on What's New with the Windows Subsystem for Linux on Windows 11
Even X11 forwarding with ssh -Y just works!

Anyone know if it’s possible to mount arbitrary non-WSL 9p exports in Explorer?

sjmulder··on Not -Werror considered harmful
And for uncommon platforms and compilers. Both C and C++ are very portable, and it's impossible for a project to account for every version of every compiler and every operating system and every architecture someone might end up compiling it for. It's super annoying when you have to fix a dependency failing to build for no real reason.

I'd suggest using -Werror for CI builds, passed into CFLAGS or CXXFLAGS by the builder, instead of hardcoding it into the project. Then you get most of the assurances from the article without breaking random stuff downstream.

sjmulder··on The Linux Experiments YouTube channel has been terminated
Late night show Zondag met Lubach put this to the test: https://youtu.be/FLoR2Spftwg (English CC available. Skip to 11:48 if you just want to see this bit.)

They created a fresh account using a fresh browser, clicked the top result for “PCR test reliable”, then some recommended videos. Just three clicks in they get to 9/11 and qanon conspiracy videos. By then their home feed too is full of that stuff.

sjmulder··on Windows 11: a survey of text boxes
> Today the point on significantly diminishing returns on spending resources on UI consistency is lower than ever.

You'd think having one blessed toolkit and implementing things there, once, takes much fewer resources than doing it half-heartedly over and over again.

sjmulder··on Windows 11: a survey of text boxes
Looks like WinUI 2.6 is the way to go then. But I'm surprised that there doesn't appear to be any sort of official built in canonical thing with standard widgets (like what Win32 used to be). All these separate frameworks are implementing everything for themselves.
sjmulder··on Windows 11: a survey of text boxes
> if you wrote a Windows Desktop app in the last 30 years, the only way it would still be supported today ... is if it was based directly on the old Win32 API

I thought the same and did just that to see if it holds true: https://github.com/sjmulder/netwake

By default you get Windows 95 styling and Windows 3 fonts. You have to opt into 'visual styles' (introduced in XP) with a declaration in the app manifest and have to manually query and use the system font. DPI awareness is also opt in and puts all the work (sizing/positioning, scaling/reloading fonts) on you. But when you do that, it does look fine on Windows 10.

Not so much on Windows 11. Some of the widgets have been updated to mimic the new style but when you put it together it looks messy and old fashioned (e.g. fonts + you don't get the new context menus).

I'm curious to learn how one would create a 'proper' Windows app without having to reimplement the system's widget styling.

sjmulder··on Windows 11: a survey of text boxes
> Guess what, I am 100% sure they do the basic for Win32

The Win32 widgets have been updated but apparently they don't want to mess with the metrics, hence those controls are much more compact, don't use rounded corners, etc.

Is there any public UI toolkit in Windows now that offers the canonical widgets?

sjmulder··on Windows 11: a survey of text boxes
I think the core problem is that they all use different toolkits. The design teams come up with these great widget designs and then they all have to be implemented on a per-toolkit or even per-app basis.

Just looking at Explorer:

- The window itself is a regular Win32 window

- It hosts a WinUI island or such for the top toolbar

- The navigation bar is a ReBar with all custom Win32 widgets

- The content view is a DirectUI widget

You'd think that if they'd standardise on a single toolkit (like macOS with Cocoa) they'd be able to get better results with much less work. Perhaps this is an organisational issue?

sjmulder··on MDcat – Simple Markdown to GitHub styled HTML converter
> With GPU terminal emulators

It seems like something like inline postscript rendering makes sense for things in a terminal - it's text, vector based, versatile.

Then Markdown or man/mdoc are easily rendered.

sjmulder··on Writing Programs with Ncurses
tig: https://jonas.github.io/tig/
sjmulder··on Apple Silicon M1: Black Magic Fuckery
I found the macOS desktop much more responsive than GNOME which feels like a beast. Now I use MATE which is nice and simple but it’s no where near as nice as macOS.
sjmulder··on GNU poke – new interactive editor for binary data
> not packaged anywhere

I've gone and packaged it in pkgsrc-wip, which hardly counts as an official package but it's something.

    curl http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.bz2 | tar -xjf -
    git clone git://wip.pkgsrc.org/pkgsrc-wip.git pkgsrc/wip

    cd pkgsrc/bootstrap
    ./bootstrap

    cd ../wip/poke-git
    /usr/pkg/bin/bmake install clean

    /usr/pkg/bin/poke
I'm sure that once poke has its first proper release it'll be picked up by the common package managers (and become easier to build from source).
sjmulder··on Run x86 Apps (including homebrew) in the Terminal on Apple Silicon
pkgsrc, 'the portable package manager', support Apple Silicon:

http://pkgsrc.org/

No binary packages yet, but using it from source is pretty much a matter of downloading and extracting the 'current bz2', then:

    cd pkgrsc/bootstrap
    ./bootstrap --prefix=/opt/pkg
The default prefix is /usr/pkg, but that's protected by macOS' SPI. You might want to add /opt/pkg/bin and sbin to your $PATH. Then to install a package:

    cd pkgsrc/sysutils/nnn
    bmake install clean
Full documentation, including on how to create your own packages:

http://www.netbsd.org/docs/pkgsrc/

sjmulder··on 1% of people cause half of global aviation emissions
That might be the case for many people^, bit it's a different thing to say than "these are, to a large extent, the same people who..." which imo is a flame if it goes without figures to back it up.

^) Although not for me, many people I know in the climate movement, and some figureheads like Greta Thunberg. There have also been comments from scientists who find having to fly to conferences problematic. But that's all anecdotal.

sjmulder··on 1% of people cause half of global aviation emissions
This is a flame (or troll) and has no place on HN.
sjmulder··on 1% of people cause half of global aviation emissions
Or international if you're in a small country ;). My wife and I take several multiday trips to places in Europe by train instead of flying to a faraway place once (or twice). Better for the environment and it's not like there's not enough to see and do nearby (ish) for several lifetimes.
sjmulder··on Universal DOOM – a single EXE for DOS 6, and Windows 95 to Windows 10
Thanks! Note that I don’t have much experience writing Win32 apps so the code might not be top quality.

The universal lib is interesting for future work (the compiler inlined the few things I needed). For Win32s support generating a position-independent executable was the only problematic bit, but that's not an issue for libraries.

sjmulder··on Universal DOOM – a single EXE for DOS 6, and Windows 95 to Windows 10
That’s cool! Windows’ backwards compatibility is amazing. It also allows for feature detection so a program can work on 3.11 but also look and feel native on 10.

I played around with that here: https://github.com/sjmulder/netwake

It’s a simple utility but it works on Windows 3.11 (with Win32s) and up, but supporting high DPI, font scaling, and theming on Windows versions that support it.

sjmulder··on Mailing lists are resistant to censorship
I do agree that employing arrests as a tactic is exclusive (although here people aren't left to themselves to cover legal fees), but it must also be said that this that XR has a wide range of roles and types actions to participate in that do not involve getting arrested.

Those first two paragraphs strongly depend on the location, in particular the situation wrt. police. Many countries (certainly mine, the Netherlands) do respect the right to protest and employ the police to facilitate and protect these rather than to 'put down all protests'.

When activists seek the limits of these protections, e.g. with blockades, I think it's right that they seek to find the way to be most effective, which can involve negotiating with authorities or choosing not to pick certian battles. Case in point, Amsterdam has employed 'bestuurlijke verplaatsing' (stuffing people in to buses rather than arresting), which is legally iffy but it's a) less work for authorities and b) much better than getting properly arrested. A status quo that allows more inclusive mass actions.

sjmulder··on The Laptev Sea hasn't frozen
Efficient, but unfortunately not sustainable at this scale and intensity. E.g. our soils are in a bad state, see the recent report from Planbureau voor de leefomgeving.
sjmulder··on Mailing lists are resistant to censorship
Re. activism, this is a talk on how Extinction Rebellion have set up their infrastructure:

https://www.youtube.com/watch?v=I_O3zj3p52A (technical talk starts around 22:30)

It isn't quite decentralised but fairly resilient. The more mature local chapters can replicate much of this if need be and in any case the use of technology is quite fluid.

sjmulder··on The Absolute No-Frills Quite Ignorant Incomplete Beginner’s Guide to Smalltalk
Also missing a nope button.
← PreviousPage 3 of 12Next →