HNHacker News
TopNewBestAskShowJobs

nyanpasu64

3,935 karma · joined March 24, 2020

trans rights are human rights

denying self-determination is the root of hierarchy and fascism

submissionscomments
nyanpasu64··on Python 3.13 Gets a JIT
ProcessPoolExecutor doesn't let you supply a callback to run on worker process exit, only startup. Perhaps I could've looked for and tried something like atexit (https://docs.python.org/3/library/atexit.html)? In any case I don't want to touch my code at the moment until I regain interest or hear of resource exhaustion, since "it works".
nyanpasu64··on Unverified vanity URLs and interest tracking catalyze fraud online
On Firefox you could set network.http.redirection-limit to 0, and check the response headers in F12 for the redirect target (which the browser doesn't load for you).
nyanpasu64··on Python 3.13 Gets a JIT
Having recently implemented parallel image rendering in corrscope (https://github.com/corrscope/corrscope/pull/450), I can say that friends don't let friends write performance-critical code in Python. Depending on prebuilt C++ libraries hampers flexibility (eg. you can't customize the memory management or rasterization pipeline of matplotlib). Python's GIL inhibits parallelism within a process, and the workaround of multiprocessing and shared memory is awkward, has inconsistencies between platforms, and loses performance (you can't get matplotlib to render directly to an inter-process shared memory buffer, and the alternative of copying data from matplotlib's framebuffer to shared memory wastes CPU time).

Additionally a lot of the libraries/ecosystem around shared memory (https://docs.python.org/3/library/multiprocessing.shared_mem...) seems poorly conceived. If you pre-open shared memory in a ProcessPoolExecutor's initializer functions, you can't close them when the worker process exits (which might be fine, nobody knows!), but if you instead open and close a shared memory segment on every executor job, it measurably reduces performance, presumably from memory mapping overhead or TLB/page table thrashing.

nyanpasu64··on How to mod any lens for anamorphic bokeh
Not sure why you'd want an oval aperture on a lens... but if you wanted the thinnest possible light blocking area while maintaining material strength, could you make a thicker print which tapers down to a thin opening at the edges of the aperture?
nyanpasu64··on We don't need a DAC on the ESP32-S3
It sounds "fluttering" as if there's periodic pauses in the bitstream being sent.
nyanpasu64··on Clicks – Physical keyboard for iPhone
What on earth is a "creator keyboard"?
nyanpasu64··on Show HN: Resurrecting the Dillo browser
My test video is https://www.youtube.com/watch?v=lEuHOFgjrAo watched at 1080p60 in full screen. It's a reasonably good test of 60fps smoothness, though synthetic scrolling tests like TestUFO screen recordings might be better strictly speaking.

- Tried creating a new blank Waterfox profile with no changes except uBlock0. It drops frames, and the borders of the video (4:3 pillarboxes on a 16:9 screen) have a blue or green tint after I seek.

- Same result in a new blank Firefox ESR 115.6.0 (last Windows 7 release) profile with uBlock0.

- The YouTube embed player at https://www.youtube.com/embed/lEuHOFgjrAo, on my main Waterfox profile, runs as smoothly as Invidious (no stutters unless I'm interacting with the player UI).

nyanpasu64··on Show HN: Resurrecting the Dillo browser
On my Windows 7 throwback computer running an i5 3570K (a damn near top-of-the-line CPU 10 years ago) with iGPU, in Waterfox YouTube stutters when fullscreen in 1080p (even with enhanced-h264ify and hardware video decoding as far as I can tell), both in YouTube and Firefox's pop-out player. Videos play smoothly in Invidious. Enhancer for YouTube™ has a popout/embed button I could test, but it was pulled from addons.mozilla.org due to being broken by YouTube changes (it still works for me on my main computer?).
nyanpasu64··on Fixing annoying blue standby lights
I use 1-3 layers of Kapton tape to dim blue LEDs. Interestingly it turns the painfully monochromatic blue light into a more pleasant teal color with two or more layers, probably by blocking out the blue peak more than the longer wavelengths.
nyanpasu64··on Pixelating Live with SVG
Amateur attempt at writing SVG filters with a grounding in DSP/image processing:

  <div id="comparator">
   <img src="https://meyerweb.com/eric/thoughts/wp-content/uploads/wikipedia-home.png" alt="">
   <img src="https://meyerweb.com/eric/thoughts/wp-content/uploads/wikipedia-home.png" alt="">
  </div>

  <svg xmlns='http://www.w3.org/2000/svg'>
   <filter id='pixelate' x='0' y='0'>
  <!--   <feComposite result="box-blur"/> -->
    <feConvolveMatrix order="3" kernelMatrix="1 1 1 1 1 1 1 1 1" result="box-blur" />
    
    <!-- generate tiling pattern -->
    <feFlood x='3' y='3' height='1' width='1'/>
    <feComposite width='3' height='3'/>
    <feTile result='tiles'/>
    
    <!-- apply tiling pattern -->
    <feComposite in='box-blur' operator='in'/>
    
    <!-- expand pixels to (2r + 1) large -->
    <feMorphology operator='dilate' radius='1'/>
   </filter>
  </svg>
The feConvolveMatrix is only needed if you want input pixel averaging rather than point sampling. (It automatically divides by the sum of taps.)

Note that:

- I'm told that feConvolveMatrix becomes slower for higher orders. For composite input sizes (like powers of 2), you can instead combine multiple passes of sampling with increasing amounts of zero-spacing between taps (the other meaning of dilation LMAO). I don't know if browsers will optimize the filter to skip processing input data, to make the filtering runtime O(log n) rather than O(n^2).

- I don't know any way to make <feMorphology operator='dilate'> expand point-sampled images to even pixel sizes. You may need to start with a different source point-sampling filter.

nyanpasu64··on Looking into the Stadia Controller Bluetooth Mode Website
Bring back the Windows Google Talk client...
nyanpasu64··on Null Island Tourist Shirt
I tried visiting Null Island but got stuck in NaN instead...
nyanpasu64··on A curiously recurring lifetime issue
I'd say that method chaining (referential transparency, etc.) and implicit destructor calls with side effects don't mix.

I have a general rule that "resource" types which own a heap allocation should usually be given a variable name with explicit scope (and likely even an explicit type, rather than `auto response` like in this post). This is a general guideline to avoid holding a reference to a temporary that gets destroyed, but doesn't protect against returning a dangling reference into a resource type from a function.

In other places, where languages make the opposite decision (from this blog post) to extend the lifetime of a temporary variable with a destructor when you call methods on it, you get things like C++'s temporary lifetime extension (not a bug, note that I don't understand it well), and footguns like Rust's `match lock.lock().something {}` (https://github.com/rust-lang/lang-team/blob/master/design-me...).

nyanpasu64··on Seeing how fast people will probe you after you get a new TLS certificate
I think that requiring world-visible TLS certificates for LAN-local web services compromises the privacy of the infrastructure I run in my bedroom for my own usage.
nyanpasu64··on Ayllu: Hackable Code Forge Built on Open Standards
Does it have code search? Codeberg doesn't and it makes it harder to look around repos without cloning it locally.
nyanpasu64··on The valve at the end of the world
> As likely a cause as any was interdental manipulation: teeth cleaning, flossing, heavy brushing. Turns out, bleeding gums are a direct conduit for bacteria to the bloodstream. When I told the family medicine doctor I had gotten “really into flossing during the pandemic,” he said that might have done it. But there was no way to know. Anyway, I wasn’t his problem anymore. That’s the nature of the American medical system: disasters are passed from one MD to another, with little care or concern for how the disaster happened in the first place.

Is it safer to floss or not?

nyanpasu64··on First Is the Worst: Nintendo's Color TV Game 6 and 15
> Consoles with built-in RF cables, like the Color TV Game 6, often have scars like this, and it seems particularly common on the Nintendo consoles. This is because the RF cable contains plasticizers to make it more flexible; the problem is, people often wrap cables around the console for convenient storage. This is fine for the short term, but if they’ve been in the closet for almost fifty years, well, you get burns like this or even worse. Be careful how you store these!

Yum endocrine disruptors... I find that when I apply office or duct tape to plastic erasers or PVC cable sleeves, the plastic and glue will "diffuse" into each other, producing a disgusting goop that sticks to fingers and is a pain to clean off. I also know that rubber feet and "soft touch" surfaces can turn into goop over time, but I don't know what process is happening there.

I hear that the plasticizers leaching out of plastic into air (or decomposing) is why old electronics' plastic cases and parts become weak and brittle over decades.

nyanpasu64··on Dolphin Emulator Progress Report: August, September, and October 2023
Many of the scaling techniques are used to run games at native resolutions higher than the computer monitor (eg. combined with MSAA which is faster than SSAA, and smooths geometry but not textures/alpha), then downscale it to the screen's native resolution.
nyanpasu64··on Can electricity pylons be beautiful?
I'm reminded of https://powerlinesinanime.tumblr.com/. Oddly they seem more peaceful and calming in anime than in real life photos and views.
nyanpasu64··on Passive radiative cooling ceramic with high solar reflectivity
You could make a colored flask which absorbs visible light (from the sun) but reflects thermal wavelengths (from the drink). But due to infrared leakage and thermal conduction, I don't know if it would keep drinks above 100 degrees F for anywhere near as long as a standard vacuum flask.
nyanpasu64··on Apple has a memory problem and we're all paying for it
> The cheapest MacBook Pro you can configure with more than 8GB is $1,800!

> the true starting cost of a M3 MacBook Pro is $1,699 because to buy one with only 8GB of RAM is crazy.

Does a MBP with 16 GB of RAM cost $2000 or $1700?

nyanpasu64··on Updates to the H2O.ai db-benchmark
Apparently DuckDB requires your real-life name to file an online bug report, bucking every norm of online handles for communication, as well as enabling doxxers and stalkers to find and trace people in real life.
nyanpasu64··on Starfish bodies aren’t bodies at all, study finds
I'd say that whale flippers are homologous to legs/feet, but aren't legs/feet. This article says that starfish are homologous to heads, but I'm not sure whether I'd consider their bodies to be heads or not.
nyanpasu64··on I trapped scammers in an impossible maze [video]
Meanwhile YouTube's first video recommendation is https://www.youtube.com/watch?v=s23XR8JMKtA where Kitboga himself installs malware on a scammer's machine.
nyanpasu64··on Audacity 3.4
Perhaps remove the "Share Audio" ~~ad~~ button in the toolbar?
nyanpasu64··on Boot legacy PCs from NVMe storage
It looks like the formatting in the post got broken when level1techs migrated their forums from a different platform? I'm seeing strings of sequential numbers (intended as line or ordered-list numbers?) prior to a block of code with some lines blank.
nyanpasu64··on Luxury beliefs are status symbols (2022)
Tell that to the trans people I've met who were physically beaten and mentally abused by authoritarian parents, unable to move out or find secure housing due to burnout, mental health disabilities, and a lack of aid or sustainable jobs, in both Western and third-world countries.
nyanpasu64··on Bjarne Stroustrup's Plan for Bringing Safety to C++
RefCell causes runtime panics in cases (holding onto a borrow or borrow_mut() for too long) where C++ has well-defined behavior (two pointers can reference the same memory and both be valid for reads/writes).
nyanpasu64··on Bjarne Stroustrup's Plan for Bringing Safety to C++
Rust solves some problems of C++ (memory safety for common-cases of code) while introducing new problems (less expressive safe code and harder-to-write unsafe code, expanded UB when trying to expose &mut to safe code from raw pointers, or RefCell runtime panics).
nyanpasu64··on The IBM 5153's True CGA Palette and Color Output (2022)
Could you use oscilloscope probes to measure the exact voltage waveforms at the monitor's video amp input/CRT driver input/output?
← PreviousPage 9 of 34Next →