HNHacker News
TopNewBestAskShowJobs

vincentriemer

143 karma · joined December 31, 2013

[ my public key: https://keybase.io/vincentriemer; my proof: https://keybase.io/vincentriemer/sigs/xu_jgAc952YIP_IfVRarLg-P6BCd2U5dhHLWXS3edkk ]
submissionscomments
vincentriemer··on 5.1 Magnitude Earthquake Near San Jose, CA
Weird, I'm in Foster City and felt the strongest shaking I've ever felt in my time in the Bay Area.
vincentriemer··on Google wants to take on Dolby with new open media formats
It may be royalty free but it's not truly open — there's an annual administration fee for hardware implementors to get a license (TVs/SOCs): https://hdr10plus.org/license-program/
vincentriemer··on How to Animate Multiplayer Cursors
Another potential approach could be using the Web Animations API with an additive/relative animation approach via the `composite: 'add'` option. I say potential as it really only fully works in Chrome atm — Firefox has it but has weird rendering bugs and Safari says it has experimental support but I've never managed to get it working.

I like the potential of this approach as it lets you get smoother results than just CSS transitions yet doesn't require you to use a RAF loop-based animation library.

vincentriemer··on Two recent studies on judging authentic vs. deepfake images
The community of people making deepfakes even approaching this quality is astonishingly small (think 3-4 people), requires absurd hardware (either A100s or A6000s), and the Luke one is even more of a outlier as this deepfaker has the support of ILM, one of the best VFX studios in the industry. All this is to say I'm not especially scared — especially when these "best of the best" deepfakes still have obvious tells.
vincentriemer··on A new speed milestone for Chrome
In the case of the MotionMark benchmark (more graphics/rendering focused), I have Safari beating Chrome's score by more than double (2703 vs 1152) on my M1 Max machine. Now I don't think Safari is 2x as fast as Chrome per se but it does explain how these speedometer tests can be so "close" yet Safari still feels faster.

EDIT: Firefox gets a 1336

vincentriemer··on Show HN: Emoji to Scale
The correct way would be a mix of those two strategies: an onscroll handler that schedules an update through requestAnimationFrame (ensuring that it only gets scheduled once until the next frame update actually executes).
vincentriemer··on CSS Containment Specification
overflow: hidden/auto does not guarantee that children won't be painted outside of the element's bounds, even if it has a fixed width & height: https://codepen.io/vincentriemer/pen/WNvwpvQ

If you add contain: strict to the container in the above example you'll see that it then successfully clips the child div.

vincentriemer··on iOS 13’s privacy pop-ups of Facebook data grabs
Since installing the iOS 13 beta I've noticed a bunch of apps asking for bluetooth access. I haven't kept track of every one but I do remember YouTube and Netflix asking for it on their first launch. Thankfully, I haven't witnessed any app failing to work by denying the request though.
vincentriemer··on When to use web workers
FWIW I believe that web worker adoption is more limited by tooling/knowledge than APIs. Web developers haven't thought about thread safety for decades (at least for those who have been around for that long) so it's more of a mental leap for web developers to think in terms of multiple threads.

I had some promising (at the very least interesting) results with react-native-dom which runs all of React's reconciliation & your own business logic in a web worker: https://rndom-movie-demo.now.sh. I'll fully admit there's a lot more exploration/experimentation left to be done in this space though.

vincentriemer··on It's time to replace GIFs with AV1 video
I believe that this is the case on Safari, don't know about any other browsers though
vincentriemer··on WorkerDom – The Same DOM API and Frameworks You Know, but in a Web Worker
When I decided to take a stab at something similar, I settled on a different approach in taking an existing asynchronous UI architecture, React Native, instead of just trying to proxy the DOM: https://github.com/vincentriemer/react-native-dom

I think it works better because the original framework wrestles with the same limitations you mention (though an upcoming rearchitecture doesn't), and while it is by no means perfect, some early results are promising: https://rndom-movie-demo.now.sh

vincentriemer··on Female, minority students took AP computer science in record numbers
I took AP Computer Science A in 2010 and while I'd agree that it was hardly a thorough curriculum, it did give me the knowledge to successfully skip Comp Sci 1 in college.

My case was slightly unique though in that we had probably the best comp sci teacher you could expect in high school. He got through the entire A curriculum in half the time and spent the rest exploring more advanced topics/projects we were individually interested in.

vincentriemer··on Ask HN: What are some niche communities you enjoy?
One of my favorite (and most expensive) hobbies!
vincentriemer··on Show HN: Material Dashboard – Free Admin for Bootstrap 4, React, Angular, Vue.js
There's nothing really stopping anyone from implementing the human interface guidelines into a UI library. I wonder what's keeping people from building one.
vincentriemer··on Chrome’s web audio change is bad news
Chrome (and the web platform in general) has been moving to this model of features/APIs needing to be called "as a result of a user interaction". This sounds reasonable in theory, but like I recently realized, chrome cannot detect if a call was in a response to a user gesture 100% of the time.

I've been experimenting with an architecture where all app logic lives in a web worker, so in order to respond to events, the event gets handled on the main thread and forwarded to the worker, where it then triggers app logic which sends commands back to the main thread.

Problem is, once you cross a thread boundary, you lose all the context which classifies your calls as "in result of a user gesture", so you need to resort to hacky workarounds that force you to keep your app logic on the main thread :(

vincentriemer··on Feasibility of low-level GPU access on the Web
At least until we get the AOM: https://github.com/WICG/aom/blob/gh-pages/explainer.md
vincentriemer··on Single Page Application Is Not a Silver Bullet
As an avid developer of SPAs (currently working on one for my own blog frontend) I'd say a lot if this stems from people being convinced SPAs 1) provide a faster development cycle, 2) they believe that they've offloaded all need for optimization on the framework they use and 3) "serious" development teams build SPAs.

Anecdotally I find SPAs, while I'm more comfortable developing them, will take longer to build. You need to pay more attention to the quirks the author mentions and you need to spend more time explicitly optimizing your code. I like this paradigm because if there is inconsistent logic, poor performance, or other issues, it's my fault and I have the opportunity to fix it.

As a counter example to the ones mentioned in the above article, around 2 years ago I build a drum machine webapp entirely in JavaScript/React (https://io808.com). This has ~17 JS library dependencies and ~6000 lines of source code but the gzipped bundle size comes out to ~97 KB.

Just because you're building an SPA doesn't mean you need to spend less time optimizing your code, in fact it likely means the opposite.

vincentriemer··on Adderall Risks: Much More Than You Wanted to Know
I had held off getting tested for ADHD because I was convinced I was just lazy and didn't like schoolwork but once I noticed I couldn't play a single videogame for more than 15 minutes at a time and had to do something else, I got myself tested and ultimately diagnosed.

I still remember the first day I took the medication, it was like somebody finally turned off a white noise machine in my brain and I could finally do all the things I've wanted to do.

vincentriemer··on Rust: Enable WebAssembly backend by default
Maybe I just can't find it, but the largest blocker for using Rust on the web for me is a lack of a exposure/binding system (like embind).

I'm not particularly interested in writing entire webapps in Rust but I do see it being useful for smaller self-contained modules inside a larger JS app. Not having a robust binding API makes that difficult.

EDIT: But unrelated criticisms aside, congrats on the progress! I'm excited to see more first class support of WASM from languages other than C/C++.

vincentriemer··on Raddit: An open source alternative to Reddit
Could probably fall under trade dress infringement too.
vincentriemer··on Show HN: Make Medium Readable Again
Heh this would just completely break one of my current projects (not using `fixed` for headers I swear). It's interesting to think about people out there using things like this.
vincentriemer··on Draw a horizontal tree using CSS pseudo elements
In my personal/anecdotal experience, I've noticed a higher performance ceiling using HTML/CSS over SVG. Doing similar operations between the two usually shows SVG with better performance but if you are willing to put in the effort HTML/CSS can be made to outperform SVG.
vincentriemer··on Introducing Twitter Lite
From what I understand, the twitter mobile web client uses react and from a quick look at the source, they're using css modules which means the class names are generated at build time.

Considering that most ad blockers work by identifying ads through class names, it would explain why uBlock origin wouldn't work on the mobile site.

vincentriemer··on Show HN: 30 Days of React
React Native doesn't make it so you share UI code between platforms (https://facebook.github.io/react-native/docs/platform-specif...). What you get to share is all the business logic between tailored UIs.
vincentriemer··on Show HN: TB-303 Synth, Drum Machine and Sequencer in Web Audio
This is awesome! Now if only there was a web-protocol for syncing the audio clocks of two webapps I could really jam out with this and (shameless plug) http://io808.com together.
vincentriemer··on I am a fast webpage
Don't really think PageSpeed score really accurately reflects page loading speed (maybe initial page loading speed). It seems to not really care about lazy loaded resources as one of my JS heavy webapps I made (around 200KB) actually scores higher than this one https://developers.google.com/speed/pagespeed/insights/?url=.... Funnily enough the screenshot on the test only shows the loading spinner.
vincentriemer··on IO-808: A Web-Based TR-808 Drum Machine Using React, Redux, and Web Audio API
They're all synthesized: https://github.com/vincentriemer/io-808/tree/master/src/synt...
vincentriemer··on IO-808: A Web-Based TR-808 Drum Machine Using React, Redux, and Web Audio API
Thanks for the feedback. My goal for this project was to make a recreation (maybe homage is a better word) completely in the browser. Also I was of the opinion that if I made this sample based the page size would skyrocket and I don't really see people wanting to download an entire 808 sample library just to fool around in a website.
vincentriemer··on IO-808: A Web-Based TR-808 Drum Machine Using React, Redux, and Web Audio API
Creator here: I don't know if they have a name but I based the design of that interaction off of Propellerhead's Thor iOS app which is the only other example of that overlay that I could find.
vincentriemer··on Show HN: IO-808, a Web-Based TR-808 Using React, Redux, and the Web Audio API
Happy 808 day HN!

As an amateur/bedroom music producer I've always been fascinated with the impact and history of the TR-808. While trying to learn the new Web Audio API I attempted to try and recreate a few of the sounds by referencing the Sound on Sound Synth Secrets series and the block diagrams of the 808 itself. It became addicting and once I had most of the sounds done, I figured recreating the interface/functionality was the next logical step.

This is a completely client-side app made with React, Redux, and the Web Audio API where all the sounds are being synthesized by the browser (look mom, no samples!). If anything this was a really intense exercise in learning all of these web technologies and was more fun than I’m personally willing to admit.

Feel free to ask me any questions, and I hope you enjoy it!

Page 1 of 2Next →