HNHacker News
TopNewBestAskShowJobs

nilslindemann

430 karma · joined October 26, 2021

https://github.com/nilslindemann
submissionscomments
nilslindemann··on German Bundeswehr uses AI to screen applicants for right-wing extremism
Systemic racism within the German system has been proven [1], so the Bundeswehr is right to screen for it. I have experienced racists at work, at government offices and in everyday situations. A system consisting of such people does not properly work. We need some Goodwill.

[1]: to name one: https://fgz-risc.de/forschung/inra-studie

nilslindemann··on Example.com just launched the biggest redesign in decades
Nonsense. One may very well explain to a newbie how to link to an external site using example.com as target. Though I would not do it, with that layout. I would link to Google probably.
nilslindemann··on Example.com just launched the biggest redesign in decades
BTW, a "background:white;" for the body improves things. But still, the versions from 2013 or 2019 are much better in my opinion.
nilslindemann··on Example.com just launched the biggest redesign in decades
I find the text shown on this site passive agressive.

When a newbie learning programming sees this message, then this is a downer.

"Hello World from example.com [more info]"

nilslindemann··on Hole Punch: Sling your spaceship around gravitational fields
I love it. The dragging of black holes could be improved:

* The black hole is not moved until the cursor has moved more than five pixels.

* The first time the black hole moves in the dragging process, it moves more than one pixel, afterwards one. So it is a small jump and then it moves smooth.

* The cursor icon changes to the drag symbol only after the mouse has already moved five pixels, not as soon as the mouse button is hold down.

* When the mouse is outside the draggable zone, but still in the game window, the black hole is not dragged along the border.

nilslindemann··on CSS Bed: Classless CSS themes to use as starting points in web development
With @layer this has become simpler:

    /* define layer order. Not necessary here */
    @layer pico, nils;

    /* import framework into layer */
    @import url("pico.css") layer(pico);

    /* define own styles in own layer, they have precedence. CSS vars are still global. */
    @layer nils {
        p:first-of-type {
            color: green;
        }
    }
nilslindemann··on CSS Bed: Classless CSS themes to use as starting points in web development
For me it is definitely Pico.css. Honorable mentions: simple.css, tacit, w3c-chocolate.
nilslindemann··on EU KIDS Act
I dont get the downvote. I had no internet access until being an adult. What I had was a pass for the public library, which I made use of from age 14. I had a membership card for the cities outdoor swimming pool in the summer – big kids party, there was table tennis. I was a member of the chess club, the IB, the Judo club, and the Scouts. I had two best friends (whom I knew from the Scouts); we would regularly visit each other, and through them, I knew many other children. I didn't need the internet at all until I was 25. Banning the internet for all children in a country until the age of 16 – treating it like a movie for adults – would likely be a blessing for their real-life social connections, at least it would probably not at all harm them.

A young child using a Linux, just having a restricted amount of knowledge resources will probably learn it better than with the internet connected. At least I made that experience. I learned programming the Web with just having local access to the SELFHTML documentation.

nilslindemann··on EU KIDS Act
If these people were serious, they would simply forbid children under—say—16 years of age from using the internet unless an adult is present in the room. Using computers without an internet connection should remain permitted, provided there is no harmful content on the device.
nilslindemann··on IANA's email about why example.com changed
The languages switch too fast. Many readers will not have finished reading the text.
nilslindemann··on GPT 6.1 Sol: Near-Astra intelligence for a fifth of the price
Thanks, but I need the money for the next laptop.
nilslindemann··on Good people refuse to do bad things
He may also have gotten paid for it by players, which dont want AGI, because it would disturb their plans. Imagine AGI works out a plan, which, when applied by everyday people without needing any government help, enforces the end of wars, poverty, pollution, illness, unhappiness, worldwide.
nilslindemann··on Ask A Monk – A digital wilderness for thoughts with no immediate answer
Ditto. This sucks :-)
nilslindemann··on We got admin access to Baseten's production GitHub
Your intuitution is right. At least in Germany it is not legal if not asked for permission first.

https://www.nilsbecker.de/rechtliche-grauzonen-fuer-ethische...

See also the German Criminal Code, starting with §202a "Data espionage":

https://www.gesetze-im-internet.de/englisch_stgb/englisch_st...

nilslindemann··on Mexican student creates an acoustic fire extinguisher to put out fire in seconds
I also just asked the AI [1], and it too states that you are wrong, fsckboy. Quote (translated to english):

--- start quote ---

This system is precisely tuned so that the air mass within the tube resonates — acting like an additional diaphragm — at the resonant frequency. This delay inverts the phase of the sound wave from the rear of the diaphragm, causing it to exit the enclosure in phase with the sound from the front. Instead of cancelling each other out, the sound waves reinforce one another. This significantly increases efficiency in the bass range.

Efficiency:

A bass-reflex enclosure increases efficiency in the low-frequency range compared to a sealed box of the same size. At the resonant frequency, the speaker requires less amplifier power and less cone excursion to produce the same sound pressure level.

Boominess and Neutrality:

The first user claims the port is there to reduce boominess. The opposite is often the case: poorly tuned bass-reflex speakers are prone to "booming" or imprecise ("boomy") bass precisely because of the resonance. A sealed enclosure often sounds more "neutral" and precise by nature, though it does not extend as deep into the low frequencies."

--- end quote ---

[1] https://share.google/aimode/tmlU5Bho6uHZ9IrGq, available for seven days.

nilslindemann··on Chess.com Leak Exposes 7.3M Users, Evidence Points to Scraping
I just logged in to delete my chess.com account, got a message: "This account is closed, please log in with your e-Mail to reactivate". No word by them having been hacked.
nilslindemann··on Mexican student creates an acoustic fire extinguisher to put out fire in seconds
Well, a search for "youtube acoustic fire extinguisher" indicates it has already been invented a few times by people all over the world. The most interesting video is https://www.youtube.com/watch?v=ZvnCQg4w4o8
nilslindemann··on Python sets and dictionaries can have quadratic-time performance
Actually, as the Google AI just taught me [1], the bad performance results from hash _collisions_, not from using bigints (which the author also mentions):

    import timeit
    
    def test(M, n):
        values = [i * M for i in range(1, n + 1)]
        s = set(values)
        sum(v in s for v in values)
    
    M = (1 << 61) - 1   # This is a bigint and also a Mersenne prime number
    N = (1 << 61) + 42  # This is a bigint, but not a Mersenne prime number
    
    # This runs slow
    for n in [1000, 2000, 4000, 8000, 16000]:
        print(f"M=2^61-1, {n=:5d} ->", timeit.timeit(lambda: test(M,n), number=3))
    
    # This runs with normal performance
    for n in [1000, 2000, 4000, 8000, 16000]:
        print(f"N=2^61+42, {n=:5d} ->", timeit.timeit(lambda: test(N,n), number=3))
(1 << 61) - 1 is a Mersenne prime number, which Python uses internally on 64-bit systems for the hash algorithm for big integers. When multiplying numbers with this prime number, hash collisions become common, and this slows down the performance.

This is not completely theoretical; hash-DoS attacks make use of that. For this reason, there is hash salting since Python 3.3 for strings, bytes, and datetime objects [2], but not for integers, because the most common attack surface is JSON, but JSON keys are strings, and hash salting would slow down the performance of math operations.

[1] https://share.google/aimode/cXQyw0SDPr5FnhBc5, available for seven days

[2] See the grey info box here: https://docs.python.org/3/reference/datamodel.html#object.__...

nilslindemann··on Stockfish 19
Is your fork public? Have an example of where Stockfish does not blunder with your change?
nilslindemann··on Stockfish 19
However, Stockfish 19 has gotten better at understanding fortresses:

https://lichess.org/analysis/1b3r2/8/4P3/2pP2k1/3nB2p/3P3P/5... (now finds 1...Rxf2 = immediately, the evaluation is closer to 0.0)

https://lichess.org/analysis/8/kp2q3/1Np5/pPPp1b2/P2Pp1p1/4P... (finds 1.Nc8+ = quicker (let it ponder four lines), the evaluation is closer to 0.0)

https://lichess.org/analysis/rk6/1p1b4/pBp5/PPPp4/3Pp3/4Pp1p... (The evaluation is closer to 0.0, though still far away)

https://lichess.org/analysis/7k/4p3/5p2/1p1p1p2/1PpP1PpB/1pP... (Evaluation is closer to 0.0)

nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
Interesting, but isn't Wayland the future? Edit: I see it links to alternatives to that, like ydotool and dotool. But these do not seem to be active, well documented projects. Far away from the usability of AutoHotkey.
nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
Thank you, dick from the internet, for these links, which are not as relevant as you think they are. I will prefer my yanky, well-documented DSL. I think you are right with the userscript.
nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
See my answer to user orbital-decay above.
nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
> GUI automation is fairly alien and roundabout way of doing things on Mac and Linux.

That's a nice claim you just made up there, out of thin air.

> If you have something specific in mind, you can say it.

I need something to hack together a solution and then go on. I don't want to

* Create GitHub issues and hope and then wait.

* Learn how this GUI was written and fix it by modifying and compiling the source.

What I need is the ability to:

* Activate windows

* Detect the active window

* Move and rescale the active window

* Move the mouse relative to the active window

* Move the mouse absolutely to the screen (if the relative method is broken)

* Sometimes move the mouse relative to itself

* Press mouse buttons, including WheelUp, and WheelDown (and that is sent to the active window)

* press keyboard button combinations (and that is sent to the active window)

* Send text (yep, many tools can do that)

* activate menu entries in the active window

* Get the text of active menu entries in the active window

* Find icons in the active window by providing an image, rarely used, when all above attempts fail.

* Finally, define shortcuts that do combined actions of the above.

I won't walk with you through every concrete possible application, but I give an example for Scid, which is also a Linux tool. Both on Windows and Linux, it happens that the save game dialog is partly moved outside the view rectangle of my screen. No idea why that is so. I need to drag the save dialog to the middle of the screen first. AutoHotkey to the rescue:

    #HotIf exe_active("scid")  ; `exe_active` is a shortcut
    
        ^s:: {
            Send("^+s")
            WinWait("Scid: Partie speichern...")
            WinMove(19, 95, 660, 651)  ; place it over the board.
        }
        
        ; ...
    
    #HotIf

Another example. Every window manager I tested, which has "snap window to border in order to place it on half the screen" does not restore the window to full screen when I press the button left of the "close window" button. Instead, they place the window in a random position. It is not "click the middle button twice to switch between full screen and snapped position", which is the common use case. Thanks to AutoHotkey, there is a fix available on Windows: https://github.com/RamonUnch/AltSnap Edit: Okay, thats not AutoHotkey but raw C. But still that would be a use case for AutoHotkey.

I hope I’ve managed to clarify my point regarding the need for an AutoHotkey on Linux. There are simply too many bugs, idiots, and unimplemented features to get back into the flow quickly without AutoHotkey.

Just when sending this text, noticing that this site does not properly handle markdown bullet list, I found another great use case for Autohotkey, when pressing the Enter key on Hacker News ...

nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
> It's packaged in Debian and Ubuntu as "doublecmd-qt" and "doublecmd-gtk"

Ah, I found it now. I must have misspelled it, just saw the language files earlier. Yes, this seems to be a valid alternative to Total Commander. It has what I need, including script buttons, very nice. There are still a few bugs, like the buttons are currently all light grey. I will see if I can resolve that. Thanks for this tip.

nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
The points I made were valid blocks for using Linux exclusively. Like the other dude answering, I wonder if you ever used Autohotkey to unfuck annoyances in software. I bet you have no clue at all. Regarding your other improvement suggestions, yes, it is actually easy to log in as administrator, and yes, DoubleCommander is a great alternative. You people are right about that. No, Total Commander does not run smooth under Wine, at least on Linux Mint. No, there is no good replacement for AutHotkey. You people are wrong about that. <Homer Simpson Voice>so far</Homer Simpson Voice>.
nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
> everything it does is done in different ways in other systems.

You are not the first Linux user claiming that to me, but it is not true. you never actually tried, admit it.

> TC can be run on Wine absolutely everywhere

I just tried again on Linux Mint. The folder tabs overlay the path to the current dir and the window can just be full screen. Those are the bugs detected after a minute of usage.

> DoubleCommander is a near-direct replacement

Okay, I was just able to install that, and it seems to have what I need. So thats a valid Point, Linux has something comparable to Total Commander.

> Log in as Administrator (...) Sure, it's trivial

Yes it is, I just did that. I give you that.

nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
It is not listed in the Linux Mint App Installer. The Portables downloaded from Sourcefoge do not work. Can it filter-as-you-type the file list? Does it have chainable script button bars? Is there a poweful rename tool? Can it look pretty (example: https://i.imgur.com/tLt5B1m.png)?
nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
I tested these things and the results were not so great. Also, if I need to emulate my OS under wine, then I can as well just use it directly.

The only Linux Software I miss on Windows is Timeshift. Thats not enough.

Edit: I just have set up root login on Linux Mint. Okay, thats actually not much more difficult than on Windows.

nilslindemann··on O&O ShutUp10 – The antispy tool for Windows 10 and 11
You may also check out https://github.com/flick9000/winscript. It has a GUI, but generates a powershell script.

https://github.com/ramensoftware/windhawk is also worth mentioning, I use it to unfuck the Taskbar.

Page 1 of 15Next →