HNHacker News
TopNewBestAskShowJobs

mschuetz

1,486 karma · joined September 13, 2015

submissionscomments
mschuetz··on Floating Point in the Browser, Part 1: Impossible Expectations
> While I think everyone can agree this is just yet another terrible design decision in JavaScript

I disagree. Double was the best choice they could have made for a dynamically typed language.

mschuetz··on Floating Point in the Browser, Part 1: Impossible Expectations
That's a problem with the specification of sort, not with javascript using double by default. But yeah, that sort example is seriously bonkers.
mschuetz··on Floating Point in the Browser, Part 1: Impossible Expectations
Given that it's a dynamic scripting language, I think double was the best choice they could have made. It gives serious number crunching performance, an integer range up to 2^53, and, of course, double precision floating point math. The only better choice they could have made would have been to make it static/strongly typed with various numeric types.
mschuetz··on How Do Computers Generate Random Numbers?
My favourite is this one: https://preshing.com/20121224/how-to-generate-a-sequence-of-...

* Creates a sequence of unique integers

* Uses prime numbers that are congruent to P = 3 (mod 4).

* A single iteration has noticable patterns but applying it twice already results in randomness that is sufficiently good for many use cases.

* It is "embarrassingly parallel", a simple mapping of randomValue = randomize(i). You can calculate unique and deterministic random numbers from input i in parallel threads with no sync between threads.

* Since it is a unique mapping of i to r, you can use it to shuffle data sets virtually instantly. Take the index of a value in the original array, and use it to compute the target index in the shuffled array.

* I've used it to shuffle up to 800 million items per second on a GPU, including the time it took to transfer the data from RAM to GPU. So without the IO, you could probably shuffle billions of values per second, probably mostly bound by GPU bandwidth. E.g., 700GB/s and each item is 70 bytes -> could perhabs shuffle 10 billion items per second.

mschuetz··on Google announces Pixel 5, Pixel 4A 5G, and Pixel 4A
I was briefly considering buying an iphone for the first time ever, since I wanted a good camera phone. Scratched that idea when I learned that it didn't have an audio jack.
mschuetz··on Unbricking a $2k bike with a $10 Raspberry Pi
They can fail quite spectacularly: https://www.youtube.com/watch?v=o1SjQfwLieU
mschuetz··on PlayCanvas, the Web-first game engine
Traditional game engines work in ways that aren't suited for browser based gaming. There is quite a bit of work that needs to be done in optimizing asset streaming without the need for long wait times.
mschuetz··on Pseudorandomness
There are great deterministic random number generators, like: https://preshing.com/20121224/how-to-generate-a-sequence-of-...

Can be used to shuffle a billion points per second on the GPU with sufficient randomness for some use cases.

mschuetz··on Ryzen Threadripper Pro 3995WX Spotted
Two reasons why I can't do my stuff with CUDA even though I've got thousands of work packages that are independent of each other:

* I'm splitting data sets into batches of around 50-300MB, but each individual batch must be processed sequentially. Each batch loops through the data (multiple times), and every single iteration of a loop depends on state from previous iterations.

* Altough each batch essentially does the same thing, it does not operate in lockstep. Lot's of ifs, different execution paths, differently sized sub-problems, etc.

I'd benefit from having 200 CPU cores and enough RAM to fit the batches, but I can't let individual GPU threads run through batches of 50MB, each.

mschuetz··on Linux Mint drops Ubuntu Snap packages
I wish every OS had comprehensive sandboxing so that you could just run any untrusted and potentially mallicious executable from the web and enable and disable features at will.
mschuetz··on The CDC lost control of the coronavirus pandemic, then the agency disappeared
Most articles end up being a discussion of only what the title says, and not being able to read the articles is one of the reasons.
mschuetz··on The CDC lost control of the coronavirus pandemic, then the agency disappeared
That is fine, I just wanted to give another perspective why people only read the title and not articles.
mschuetz··on The CDC lost control of the coronavirus pandemic, then the agency disappeared
adblockers are a non-negotiable necessity nowadays. not due to ads, but due to tracking.
mschuetz··on The CDC lost control of the coronavirus pandemic, then the agency disappeared
I literally can't read most articles due do adblock blocker or because they block european visitors.
mschuetz··on Krita 4.3.0
It's been many years since I've used it the last time but I can remember that even the simplest tasks required googling and actively remembering how they were done because nothing was intuitive or logical. And the layer system was virtually unusable, I couldn't figure it out. In Krita or inkscape, the UI just makes much more sense so they are not as infuriating to work with.
mschuetz··on Krita 4.3.0
I don't to digital painting and art and I still prefer Krita. Although prefer is the wrong term, I despise GIMPs botched, unituitive and cumbersome UI so much, I'd rather code a figure in html/javascript and canvas or svg, before I'd use GIMP. Krita on the other hand is relatively nice to use.
mschuetz··on I Just Hit $100k/year On GitHub Sponsors
Nice! I'm also already at 2$/month.
mschuetz··on Rainway forces signing up to Discord in order to delete your account
Discord has(had?) the worst account management system I've ever experienced. I've never seen a site that makes it so hard to log in/sign up/reset passwords, etc. I think it was fixed for the most part now but I'm still bitter about discord.
mschuetz··on Windows Explorer Through the Years
I can highly recommend altap salamander. It's an incredibly useful two panel file manager. You can switch between detail view and a big picture preview with alt+3 and alt+5. You can select folders/files with space, and in case of folders it will also show you the total file size of that folder. It has icons for available drives in a toolbar, and you can configure the F4 key so that it opens the focused file with an editor of your choice, notepad++ in my case.
mschuetz··on Ray Tracing Essentials Part 7: Denoising for Ray Tracing
I think the most important thing to do with RTX will be indirect illumination. Maybe RTX will be capable of computing relatively high quality lightmaps on the fly, store the results for as long as necessary, and keep recomputing for new parts of the scene.
mschuetz··on Debunking that C++ is faster and safer than Rust
You'll never get faster code out of JS, though. Language design matters a lot.
mschuetz··on 4D Toys: how objects bounce and roll in 4D – paper accepted to SIGGRAPH 2020
I forgot most of the details already but as far as I remember, some classes of splines are 4 dimensional constructs that are then projected to 3 dimension to get your 3d spline curve.
mschuetz··on Firefox 76
My LOD 3D models still take ~10ms per batch to load from binary file in Firefox, whereas Chrome needs ~1ms per batch. Mostly because of DataView but Mozilla recently assigned someone to work on it so I'm hopefull for the future.
mschuetz··on Floating Point Visually Explained (2017)
File formats for georeferenced data also regularly store coordinates as 32 bit ints, with a scaling argument that can be used to convert the integer into a double precision number with a specific unit. E.g. your scene unit is meters and you want to store with a precision of millimeters? Multiply double precision coordinates by 1000, convert the result to an int32, save it to file. When you load the coordinate afterwards, divide it by 1000 and you you get back your double precision coordinate.
mschuetz··on Intel's flagship 10th-gen desktop CPU has 10 cores, reaches 5.3GHz
/s ?

For my computer graphics and processing work, multithreaded tasks scale amazingly well with the number of cores so single core performance doesn't matter all that much. A single thread isn't even be able to process all the data that's streamed from an SSD. I need three threads just to process/prepare the data in the background, in addition to the main thread that keeps rendering.

I suspect it's only a matter of time until multithreading is a must for games. The additional programming effort may not have paid off if players only have 2 or 4 core CPUs, but now that 8 cores with 16 threads are increasingly common, it's going to make a difference.

mschuetz··on Tripadvisor lays off 25% of workforce
Tripadvisor has become pretty bad anyway. There are so many great experiences in any new city, but Tripadvisor is pushing hard on the ones that benefit them, rather than me.
mschuetz··on Global coronavirus death toll could be 60% higher than reported
Ah thanks, I've got the bad habit of not opening articles anymore since most of them prevent ad blockers or demand tracking rights with obnoxious page filling popups, nowadays.
mschuetz··on Global coronavirus death toll could be 60% higher than reported
What I'd be interested in are some graphs that compare deaths of January, February, March and April for 2018, 2019 and 2020. To see the expected trend from 2018/19 and the reality of 2020.
mschuetz··on Engineering code quality in Firefox
Thanks for bringing it up in the firefox issue tracker.
mschuetz··on A Taste of WebGPU in Firefox
Obviously you know better than Microsoft, Google, Apple, Intel, Mozilla and anyone else working on WebGPU.
← PreviousPage 8 of 17Next →