HN user

devongovett

2,126 karma
Posts88
Comments141
View on HN
win95.ajf.me 11y ago

Windows 95 in your web browser via Emscripten and DOSBox

devongovett
10pts3
blog.mozilla.org 12y ago

WebGL in Web Workers

devongovett
62pts23
pdfkit.org 12y ago

Generate PDFs live in the browser with PDFKit

devongovett
2pts0
badassjs.com 12y ago

Ogg Theora and Vorbis Video Decoder in JavaScript

devongovett
1pts0
bughubapp.com 13y ago

Bughub: A native Github Issues client for Mac and iPad

devongovett
47pts22
github.com 13y ago

Work in progress: open source Google Reader API clone

devongovett
26pts12
badassjs.com 13y ago

The WebSpeech API Enables Voice Recognition and Speech Synthesis in the Browser

devongovett
8pts2
badassjs.com 13y ago

VexFlow: A Music Notation Language and Renderer for the Web

devongovett
3pts1
badassjs.com 13y ago

MIDI.js: A SoundFont-based MIDI Sequencer in JavaScript

devongovett
9pts3
badassjs.com 13y ago

Roundup: Literate CoffeeScript, JavaScript Amiga Emulator, Gnuplot.js and More

devongovett
1pts0
badassjs.com 13y ago

The JavaScript DSP API, RiverTrail, and the Future of JavaScript Parallelization

devongovett
3pts0
badassjs.com 13y ago

Qtzweb: A Quartz Composer to WebGL & JavaScript Compiler

devongovett
5pts0
badassjs.com 13y ago

Pedalboard.js: A JavaScript Guitar Effect Framework using the Web Audio API

devongovett
4pts0
badassjs.com 13y ago

TypeScript: Microsoft’s New Typed JavaScript Dialect Answers Google Dart

devongovett
1pts0
badassjs.com 14y ago

The Badass JavaScript Roundup is Back

devongovett
3pts0
badassjs.com 14y ago

Plucked HTML5 Audio Editor, and ThreeAudio.js Visualizer

devongovett
3pts0
badassjs.com 14y ago

AAC.js, the Latest Official.fm Labs JavaScript Audio Decoder

devongovett
13pts0
github.com 14y ago

AAC.js: A JavaScript AAC Decoder

devongovett
7pts1
badassjs.com 14y ago

Shumway: Mozilla’s Flash VM and Runtime in JavaScript

devongovett
7pts0
badassjs.com 14y ago

FLAC.js, Aurora, and the Future of Web Audio

devongovett
106pts32
labs.official.fm 14y ago

Introducing FLAC.js: A Pure JavaScript FLAC Decoder

devongovett
12pts0
javascript.pockethotline.com 14y ago

JS Hotline

devongovett
3pts0
blog.official.fm 14y ago

The new Official.fm launches

devongovett
1pts0
badassjs.com 14y ago

WebKit.js: Yes it has finally happened Browser Inception is now possible.

devongovett
27pts3
badassjs.com 14y ago

First Look: Blossom - A SproutCore Spinoff Using Only HTML5 Canvas For Rendering

devongovett
17pts24
badassjs.com 14y ago

Interview with creator of CoffeePhysics

devongovett
6pts0
badassjs.com 14y ago

Badass JavaScript Roundup #8: Mobile, mobile, mobile

devongovett
1pts0
blog.meltingice.net 14y ago

Protips for Aspiring Developers

devongovett
28pts11
badassjs.com 14y ago

Looking to move from Flash to WebGL? IvanK brings the Flash API to JavaScript

devongovett
2pts0
badassjs.com 14y ago

WebM and WebP Hand Ported to JavaScript for All Browsers

devongovett
70pts19

Thanks for the feedback!

1. We decided to start simple for the first release but it’s definitely possible to add something like asChild if the need arises. There are some tradeoffs to this though, eg it’s easier to mess up the DOM structure required for accessibility. There are some other approaches we’ll be documenting for this as well.

2. TS should be easier now. All the docs examples are now written in TS so you can see where the interfaces are imported from.

3. Yeah prop naming is a trade off. When we started, we decided to make all of the components follow a consistent naming convention. The DOM is quite limited in its functionality (eg you can only submit strings and not more complex objects) and we knew we’d need quite a bit more capability so we decided not to follow it in some areas. But we know integrating with form libraries is a pain point and we might have some documentation or helpers for that in the future.

If you have a trigger inside a nested scrollable region, and the popover pops out of this region, then if the trigger is scrolled out of view the popover cannot be anchored to it anymore.

This was an intentional choice. Repositioning when an outer element scrolls is pretty janky in some cases because scroll events don’t fire at 60fps. Also it’s not possible at all in other cases, like if the trigger goes completely out of view. We used to close the popover in this case but this caused usability problems. The new behavior of preventing scroll actually matches native platforms like macOS and helps with these issues. I get that it’s a little opinionated but it was thoroughly considered, not just done out of laziness. More details in this answer: https://github.com/adobe/react-spectrum/discussions/3802#dis...

Vite 3.0 4 years ago

Parcel 2 solved this though. You can override pretty much everything if you want now.

Hi, author of Parcel CSS here.

I have been thinking about implementing the CSS OM spec as the JS API. This is the same API that browsers expose for manipulating stylesheets. The advantage of this is that we don't need to invent something custom. Still thinking through options. https://github.com/parcel-bundler/parcel-css/issues/5

That said, I think I'd want to keep the use cases for JS plugins limited, because it will affect performance significantly. So, if it's something that exists in an official CSS spec somewhere (even if draft), or a really common transformation, it should be implemented in Rust. An example of this is the support for the CSS nesting spec. Ideally, we'd try to keep the amount of custom syntax being invented around CSS to a minimum and stick to standard CSS syntax wherever possible though.

I work on React Aria. Adobe is a big company and there are many teams using different technologies. In general, some very new parts of creative cloud chose to use web components, but the majority of teams are using React, and I don't foresee that changing anytime soon. It's definitely not a company wide shift if you got that impression from the Photoshop article. Ideally we'd collaborate more, but... big company silos.

Next.js 12 5 years ago

Next.js still uses webpack. They basically replaced Babel with SWC.

Parcel v2 5 years ago

I commented elsewhere in this thread but that benchmark is really measuring the performance of Terser, which is used by all of the other tools listed there. Parcel has improved somewhat since that benchmark was last updated but until terser is replaced there’s no competition.

Parcel v2 5 years ago

In v2, there is no transpilation unless you add a browserslist config.

Parcel v2 5 years ago

Note that this benchmark is dominated by Terser for minification. All tools aside from ESBuild use it.

Parcel v2 5 years ago

This was true in Parcel 1, but v2’s plugin system is just as powerful as webpack’s. v2 is all about adding extensibility and control.

Parcel v2 5 years ago

Parcel 2 does both: it is useful out of the box, and many projects will never need to configure it, but v2 adds a complete plugin system that lets you override and configure everything too. :)

Parcel v2 5 years ago

Note that Parcel’s plugin system is completely different in v2 and the implicit loading is gone.

I started prototyping a @parcel/jest preset and a @parcel/register package that would help with this. Basically it would use Parcel for builds when using other tools like testing frameworks. Potentially we could do something for ESLint as well. It's probably a post-2.0 feature, but hopefully that could help simplify this a bit.

Yep, this is true. In fact, we already improved performance by over 25x by optimizing algorithms in JavaScript. As covered in the blog post, this rewrite was motivated by more than just performance and does include algorithmic improvements as well. We figured that while we were rewriting we might as well also use a language with more predictable performance traits. But, your points about extensibility does still stand, and that's something we hope to look into more in the future.

Indeed. There is currently an SWC minifier project that is in progress. The maintainer of Terser is helping with it, and the Parcel team will likely help with that as well after we ship the stable Parcel 2 release. :)

Sorry about that. It's difficult to maintain effectively two large open source projects like this simultaneously, especially since this is a side project for most of us. We've probably dropped the ball a little, especially since v2 has taken a long time to build. But the good news is we are getting very close. Docs and migration guides are our main priorities next.

Yeah it's pretty bad to have accessibility be a mode though. Also, since it's completely non-standard, the usual screen reader navigation keys don't work as expected and users have to learn a completely custom interface. Better than nothing but it's not great.

This is very bad for accessibility. Rendering things in canvas means there is no DOM, which means nothing for screen readers to read. To be fair, the old google docs editor was also very bad for a11y, but at least there was potential to improve it. This removes that option. They could have worked with the Chrome team to help improve standards for everyone, but decided to reimplement the rendering engine from scratch without regard for accessibility. I'm very disappointed that this wasn't flagged at a company the size of Google.

Hi, Parcel maintainer here. v2 will be released very shortly. We are ~1 month away from rc. Also, we should have a very big announcement about build perf in the next couple days. Apologies for the long pre-release cycle but I think the light is finally at the end of the tunnel. :)