<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: vsmenon</title><link>https://news.ycombinator.com/user?id=vsmenon</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 20 Jun 2026 00:40:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vsmenon" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vsmenon in "CS 6120: Advanced Compilers: The Self-Guided Online Course (2020)"]]></title><description><![CDATA[
<p>To be fair, the listed Self paper did age quite well!</p>
]]></description><pubDate>Fri, 19 Jun 2026 02:05:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48594057</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=48594057</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48594057</guid></item><item><title><![CDATA[New comment by vsmenon in "When Is WebAssembly Going to Get DOM Support?"]]></title><description><![CDATA[
<p>There is a recent YT video on Dart & Wasm: <a href="https://www.youtube.com/watch?v=vgOABOvtBT8" rel="nofollow">https://www.youtube.com/watch?v=vgOABOvtBT8</a></p>
]]></description><pubDate>Thu, 24 Jul 2025 13:04:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44670182</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=44670182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44670182</guid></item><item><title><![CDATA[New comment by vsmenon in "When Is WebAssembly Going to Get DOM Support?"]]></title><description><![CDATA[
<p>You can effectively try this today in Dart.  When running in the browser, Dart can compile to either JavaScript or Wasm and both backends support DOM access via <a href="https://pub.dev/packages/web" rel="nofollow">https://pub.dev/packages/web</a>.<p>The DOM access in Wasm does trampoline through JavaScript under the hood, which introduces some overhead.  Dart uses WasmGC, though, which is supported on Chrome/FF/Safari and lowers that overhead by enabling objects to be shared across the Wasm / JS boundary.  In the benchmarks we've tried, the overhead is not that noticeable.  But direct access (from Wasm) would be faster.<p>Jaspr (<a href="https://jaspr.site" rel="nofollow">https://jaspr.site</a>) is a react-style framework that sits on top of this.  You can see example usage here: <a href="https://github.com/vsmenon/todomvc/">https://github.com/vsmenon/todomvc/</a><p>This app is too small to show benefits, but the code size is about the same across the two and similar to those at todomvc.com.  We are seeing potential benefits on page load time (Wasm is faster to parse/initialize) and compute (Wasm is faster on many workloads).</p>
]]></description><pubDate>Thu, 24 Jul 2025 12:58:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44670123</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=44670123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44670123</guid></item><item><title><![CDATA[New comment by vsmenon in "Firebase Studio"]]></title><description><![CDATA[
<p>[ I work on Dart at Google. ]<p>The app prototyping logic in Firebase Studio isn't wired up for Flutter/Dart yet.  You can play with Gemini+Dart/Flutter here: <a href="https://dartpad.dev/?channel=main" rel="nofollow">https://dartpad.dev/?channel=main</a>.<p>We're working with the Firebase Studio team to integrate.  FWIW, it seems to do fairly well with "Create a chess clock app".</p>
]]></description><pubDate>Thu, 10 Apr 2025 18:17:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43646651</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=43646651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43646651</guid></item><item><title><![CDATA[New comment by vsmenon in "Dart 3.1 and a retrospective on functional style programming in Dart"]]></title><description><![CDATA[
<p>[ I work on Dart ]<p>We're still working on this, and you can find updates in the language repo.  One reason we're taking extra time here is that macros / static metaprogramming can blow up compile times and hot reload.</p>
]]></description><pubDate>Thu, 17 Aug 2023 15:55:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=37163661</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=37163661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37163661</guid></item><item><title><![CDATA[New comment by vsmenon in "The road to Dart 3: A fully sound, null safe language"]]></title><description><![CDATA[
<p>For Wasm, yes, we're targeting the new garbage collection support using the experimental implementation in Chrome.  We think this has the potential to help with performance.</p>
]]></description><pubDate>Fri, 09 Dec 2022 13:27:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=33920977</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=33920977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33920977</guid></item><item><title><![CDATA[New comment by vsmenon in "The road to Dart 3: A fully sound, null safe language"]]></title><description><![CDATA[
<p>[I lead Dart eng.]<p>Sorry you had poor experiences.  :-(<p>That said, it was true that Dart was used heavily internally in that time frame.  It was and still is, by Ads (ads.google.com) - that's a non-Flutter Dart app and still (to the best of my knowledge) the largest Dart app around.  Before Flutter, we went through a period of primarily prioritizing internal customers.  That work was often not visible externally.<p>We did do the shift to Dart 2 in that time period though.  That was a fairly massive change to the language that began independently of Flutter.  It was a nice timing that Dart 2 shipped at the same time as Flutter 1.</p>
]]></description><pubDate>Thu, 08 Dec 2022 19:30:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=33912105</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=33912105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33912105</guid></item><item><title><![CDATA[New comment by vsmenon in "The road to Dart 3: A fully sound, null safe language"]]></title><description><![CDATA[
<p>Regarding AngularDart, see:<p><a href="https://medium.com/dartlang/angulardart-flutter-and-the-web-spring-update-f7f5b8b10001" rel="nofollow">https://medium.com/dartlang/angulardart-flutter-and-the-web-...</a><p>TL;DR - It's still heavily used inside of Google, but the team decided to stop maintaining the open source version of it.  It was a fair bit of work to do both - different build rules, different tests / test infra, different priorities.  Effectively, AngularDart has been forked.  There is an internal-only version that is actively developed, and there is an external community project.<p>Regarding Flutter on the Web, there is a lot of active work, but I'm not the best to speak to all of it.  On the Dart side, it's one of the major reasons we're investing in things like compilation to Wasm.</p>
]]></description><pubDate>Thu, 08 Dec 2022 17:02:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=33910235</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=33910235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33910235</guid></item><item><title><![CDATA[New comment by vsmenon in "The road to Dart 3: A fully sound, null safe language"]]></title><description><![CDATA[
<p>[I'm the eng lead for Dart.]<p>Dart itself is used heavily on the Web by Google.  E.g., ads.google.com is a Dart web app - but not a Flutter one.  It uses a Dart version of the Angular framework.  It's probably the largest Dart app in existence today.<p>Flutter on the Web is less mature, but (IMO) making good progress.</p>
]]></description><pubDate>Thu, 08 Dec 2022 15:46:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=33909112</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=33909112</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33909112</guid></item><item><title><![CDATA[New comment by vsmenon in "Flutter 2"]]></title><description><![CDATA[
<p>Thanks - not what I'd expect, but I can repro.  Bug filed here:<p><a href="https://github.com/dart-lang/sdk/issues/45197" rel="nofollow">https://github.com/dart-lang/sdk/issues/45197</a><p>It is AOT though.  If you time `dart a.dart` vs `./a.exe` (pre strip :-), the latter should be considerably faster.</p>
]]></description><pubDate>Thu, 04 Mar 2021 14:26:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=26342846</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=26342846</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26342846</guid></item><item><title><![CDATA[New comment by vsmenon in "Flutter 2"]]></title><description><![CDATA[
<p>[Disclaimer: I work on the Dart team.]<p>The TS code indeed looks cool.  This is an area we're looking at.<p>One point, though: we try to be very careful to not regress performance or developer iteration time (e.g., type checking time) when we introduce new language features.  E.g., structural typing can be more expensive in general to type check since we need to recurse.</p>
]]></description><pubDate>Wed, 03 Mar 2021 22:11:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=26335431</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=26335431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26335431</guid></item><item><title><![CDATA[New comment by vsmenon in "Flutter 2"]]></title><description><![CDATA[
<p>[ disclaimer: I work on the Dart team. ]<p>As timsneath mentioned above, Dartpad is the dev environment.  That means we ship the full Dart and Flutter SDK ahead of time as you can type/change anything in the code box.  We also ship debug metadata to give better errors.<p>In production mode, we do a much more expensive compile to remove the parts of Dart, Flutter, and packages you don't use and to optimize/minify the rest.<p>It is working in Safari for me, but we've definitely appreciate bug reports if it's breaking for you (<a href="https://github.com/dart-lang/dart-pad" rel="nofollow">https://github.com/dart-lang/dart-pad</a> in this case).</p>
]]></description><pubDate>Wed, 03 Mar 2021 21:53:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=26335196</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=26335196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26335196</guid></item><item><title><![CDATA[New comment by vsmenon in "Flutter 2"]]></title><description><![CDATA[
<p>[ disclaimer: I work on the Dart team ]<p>It depends on how you run.  Dart can either run in JIT mode or AOT mode.  In general, when you ship a production app (e.g., for Flutter), you are using AOT - i.e., it's compiling to native machine code.  In this case, there is no interpretation or compilation at runtime.  We still bundle a runtime for garbage collection.</p>
]]></description><pubDate>Wed, 03 Mar 2021 21:16:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=26334675</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=26334675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26334675</guid></item><item><title><![CDATA[New comment by vsmenon in "Dart team posts an example of fast code with 22ms for a “Hello world”"]]></title><description><![CDATA[
<p>"Instant" is a relative word (unless we're actually at 0 time :-)).<p>We're focus on client apps, where we're really focused on human perception.  In that sense, I'd consider 22ms or 2ms as instant (for startup).  I wouldn't consider 2s as instant.<p>I'm not saying Dart doesn't have room to get better, but there are diminishing returns at a certain point.</p>
]]></description><pubDate>Fri, 08 May 2020 18:02:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=23117612</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=23117612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23117612</guid></item><item><title><![CDATA[New comment by vsmenon in "Dart team posts an example of fast code with 22ms for a “Hello world”"]]></title><description><![CDATA[
<p>[disclaimer: I work on the Dart team.]<p>As others have already noted, the intent here is to purely measure the one-time startup cost of the runtime in ahead-of-time compiled code - i.e., the amount of time necessary before we can starting executing any user code - i.e., the print in this case.  It's assumed that the time to do the actual print is trivial here.<p>If you want to compare, you might compare with other garbage collected language/runtimes.</p>
]]></description><pubDate>Thu, 07 May 2020 22:02:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=23108883</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=23108883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23108883</guid></item><item><title><![CDATA[New comment by vsmenon in "Flutter for web is not ready for primetime, reasons: WebGL and SVG"]]></title><description><![CDATA[
<p>The author appears to be looking at the deployed size of a debug build.<p>A release build (as per the instructions) is `webdev serve --release`.</p>
]]></description><pubDate>Wed, 22 May 2019 12:51:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=19980582</link><dc:creator>vsmenon</dc:creator><comments>https://news.ycombinator.com/item?id=19980582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19980582</guid></item></channel></rss>