HNHacker News
TopNewBestAskShowJobs

Grom_PE

365 karma · joined January 4, 2016

Web: https://grompe.org/
submissionscomments
Grom_PE··on Firefox is now the last major browser that still supports uBlock Origin
Websites blocking Firefox because of ad blocking has happened before:

https://web.archive.org/web/20070817224229/http://whyfirefox...

Grom_PE··on Manual: •.,:;…!?·
I have made a keyboard layout for Windows that abuses dead keys and AltGr as a substitute for compose key, the difference being that such compose key needs to be held while typing the first character:

https://github.com/grompe/kbdasm (kbdusru_undead.asm)

Grom_PE··on Manual: •.,:;…!?·
Linux:

Compose key, period, period = ellipsis …

Compose key, period, equals = bullet •

Compose key, period, minus = interpunct ·

Compose key, !, ? = interrobang ‽

Grom_PE··on LG monitors silently install software through Windows Update without consent
And some USB drives pretended to also be a CD-ROM to circumvent the limitation of autorun.inf not executing on removable media.

https://en.wikipedia.org/wiki/U3_(software)

Grom_PE··on Command Line Interface Guidelines
For comfortable reading, I just had to figure out what on this webpage causes Chromium to drop subpixel rendering, and it's not this:

    html { -webkit-font-smoothing: antialiased; }
it's this:

    #TableOfContents { backdrop-filter: blur(3px); }
A panel that overlaps content only on narrow screens disables subpixel rendering for the entire text. Thanks Chromium. Not an issue on Firefox, btw.
Grom_PE··on Font-Family Recommendations
What the hell.

Just now I learned of "font-family: monospace, monospace" hack. Indeed, browsers will render the font smaller with just one "monospace".

I've never run into it before because setting explicit font-size in pt or px avoids that weirdness.

Grom_PE··on Exif Smuggling (2025)
Maybe if you look at it from far away enough.

Watermarking tries to resist image data manipulation. Smuggling data is concerned with preservation of bytes.

Though if we're executing arbitrary code on the target anyway, ways of embedding data in an image are vast, including watermarking/steganography.

Grom_PE··on Exif Smuggling (2025)
It isn't necessary to use Exif to embed arbitrary data inside an image. Could as well use PNG extra chunk, JFIF app marker, or simply append data to the end of the file.

It would be more interesting to devise a method that survives all extra data stripping and re-encoding, perhaps taking advantage of deterministic encoders, assuming they don't randomize pixel data on purpose.

In other words: turning the image data stream itself into a polyglot.

Grom_PE··on Coreutils for Windows
On Windows, I've mostly avoided CRLF by configuring text editors and git to use LF, and writing text files in binary mode.

The only places that still forced CRLF were batch files and clipboard.

Grom_PE··on OpenRCT2 v0.5.1 "Swamp Castle" released Last version to support Windows 7
At least they aren't intentionally breaking Win7 support by using some random later version API function unconditionally.

Some developers seem proud doing that, somehow feeling that extra 5-10 lines of code for backwards compatibility is too much.

Grom_PE··on Yoti age checks share facial photos and device fingerprints with third parties
Since those people don't care about privacy and anonymity, perhaps they are also willing to trade by verifying for someone who does care?
Grom_PE··on Mouse Pointer as a Mere Mortal
I generally never want programs to go fullscreen because I like to keep taskbar shown, so I can keep track of time, notifications and whatnot.

Well designed video games that rely on fast and precise mouse input capture the cursor during the gameplay until menu is shown.

The only times I have to go fullscreen is for the games that fail to capture the cursor and where accidentally clicking outside of the game window leads to a loss.

Can't imagine a non-game program other than a video player that I would want fullscreen.

Grom_PE··on Do_not_track
I was worried about .NET sending telemetry once I found about the existence of the DOTNET_CLI_TELEMETRY_OPTOUT env.

Thankfully, the dotnet package installed by package manager on Arch Linux disables telemetry by default. I left the env set just in case.

But my trust towards "modern" software has lowered. I default to run CLI tools, especially those built in JavaScript or .NET with network disabled:

    firejail --net=none
For ilspycmd, for example, I had to defuse its default "update checking" behavior:

    alias ilspycmd='ilspycmd --disable-updatecheck'
This is what I'd call user-hostile defaults.
Grom_PE··on Quirks of Human Anatomy
Just bring back opposable thumbs on feet.
Grom_PE··on Windows 95 defenses against installers that overwrite a file with an older one
In my 25 years of using Windows I've grown so much disdain towards annoying, broken, slow installers that I started to instead extract them like zip archives, using various tools: 7-Zip, UniExtract, Observer plugin for Far Manager, sometimes even manual carving.

Most things just worked after being extracted like that. Some things needed a few registry entries, or regsvr32 some dll files.

Grom_PE··on An ode to bzip
PPMd (of 7-Zip) would beat BZip2 for compressing plain text data.
Grom_PE··on The beauty and terror of modding Windows
Modding Windows is akin to building a sand castle. It might be fun, beautiful, but very much impermanent. You can expect it to be washed off with the next Windows update.

I've done it before on Windows 7. Resized system clock, resized start menu button, removed "Terminate batch job (Y/N)?" warning in cmd, etc.

Most annoying is that VirtualBox stops working with the patched uxtheme.dll.

...

Life on Linux is great. My modifications stick for as long as I want. Permanently if I get my patches upstream.

Grom_PE··on I rendered 1,418 confusables over 230 fonts. Most aren't confusable to the eye
0 and O, and l and I that look the same in a single font is a crime of modern typography.

Also, I remember 8x16 VGA font that came with KeyRus had some slight differences between Cyrillic and Latin lookalikes, that brought some strange sense of comfort when reading, and especially typing the letter c, because its Cyrillic lookalike is located on the same key.

Grom_PE··on The JavaScript Oxidation Compiler
I thought oxfmt would just be a faster drop-in replacement for "biome format"... It wasn't.

Let this be a warning: running oxfmt without any arguments recursively scans directory tree from the current directory for all *.js and *.ts files and silently reformats them.

Thanks to that, I got a few of my Allman-formatted JavaScript files I care about messed up with no option to format them back from K&R style.

Grom_PE··on AI uBlock Blacklist
I feel that blocking, substituting, and even inserting user-defined resources for a website must be a native browser feature.
Grom_PE··on Flashpoint Archive – Over 200k web games and animations preserved
As Flash files are often compressed, a patch wouldn't be any smaller than having an original and a fixed copy. You'd have to invent a new patch format that operates on an uncompressed SWF.
Grom_PE··on Flashpoint Archive – Over 200k web games and animations preserved
I never liked the idea of running Flash inside the web browser, but a single file .swf game format is almost as good as any ROM game dump.

Some games didn't mind running locally from an .swf file, but some others had a "URL protection", presumably to prevent people from embedding their flash games at other websites, and they didn't make an exception for localhost.

Long time ago I've fixed hundreds of such flash games using RABCDAsm and made them work in standalone Flash Player.

Took a brief look at Flashpoint Archive, it seems their way to fix URL check is to spin up a web server to present an address the game expects.

Grom_PE··on Chrome extensions spying on users' browsing data
It seems crazy to me that the offered way to install an extension on Chrome is to click a button on a privileged website, and then the installed extension autoupdates without an option to turn it off.

I hate the idea of installing stuff without an ability to look at what's inside first, so what I did was patch Chromium binary, replacing all strings "chromewebstore.google.com" with something else, so I can inject custom JS into that website and turn "Install" button into "Download CRX" button. After downloading, I can unpack the .crx file and look at the code, then install via "Load unpacked" and it never updates automatically. This way I'm sure only the code I've looked at gets executed.

Grom_PE··on Web-based image editor modeled after Deluxe Paint
Deluxe Paint 2 for DOS was my favorite drawing program, so had to check this out, pretty nice!

The only thing that stops me from recommending it is non-integer zoom levels, which is especially bad for pixel art.

Moving layers around was also confusing, had to click Layer → Transform → Free Transform to be able to move things around. It would be much more obvious if there was a move icon in the tool panel that does just that.

Grom_PE··on Uncrossy
It doesn't work when uBlock Origin blocks uncrossy.com/js/cookieManager.js?v=7
Grom_PE··on Xfce is great
I've found Xfce with Wallis theme to be quite comfortable after I ditched Windows 7. Been using it for 3 years now.

Also I enjoyed how easily I could modify it:

- xfwm4: zoom only to multiples of integer, nearest neighbor only

- xfwm4: stop moving zoomed area after the cursor when Scroll Lock is on

- xfce4-screenshooter: supply custom actions with parameters %x %y %w %h of a selected rectangle, allowing me, for example, to select a rectangle and then launch a screen recording script.

Never found the use for multiple desktops, though.

The only part that irritates me is having to interact with the GTK file chooser (file open dialog). Someday I might be annoyed enough to replace it.

Grom_PE··on Tiny Core Linux: a 23 MB Linux distro with graphical desktop
Tiny Core Linux fits nicely on a FAT32 EFI boot partition as a rescue OS.
Grom_PE··on Show HN: MTXT – Music Text Format
This made me remember old set of tools called mtx2midi and midi2mtx, I used them to edit some midi files while making sure I'm not introducing any unwanted changes. While roundtrip output was not binary identical, it still sounded the same.

Looks like MTXT tool here does not quite work for this use case, the result of the roundtrip of a midi I tried has a segment folded over, making two separate segments play at the same time while the total duration got shorter.

https://files.catbox.moe/5q44q0.zip (buggy output starts at 42 seconds)

Grom_PE··on I hate screenshots of text
On my Linux system, I hooked up xfce4-screenshooter's "custom action" to a shell script (ocr.sh %f) with tesseract like so:

    #!/bin/sh
    set -o pipefail
    lang=${2:-eng}
    if tesseract "$1" - -l $lang | xclip -selection clipboard ; then
      notify-send "Text copied"
    else
      notify-send "Could not copy text"
    fi
It works great most of the time along with the xfce4-screenshooter's ability to select a rectangle.

When the text is especially difficult for tesseract, I can use Gemma3-4B via llama.cpp's llama-mtmd-cli, but that takes a minute.

Grom_PE··on I have released a 69.0MB version of Windows 7 x86
I have experimented with Tiny Core Linux + Wine, that netted around 100 MB, would be a good starting point for running Windows software on a minimal OS. Certainly would run more software than any Windows cut and shrunk to that size.
Page 1 of 3Next →