<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: monfera</title><link>https://news.ycombinator.com/user?id=monfera</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 16:55:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=monfera" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by monfera in "TS to JSDoc Conversion"]]></title><description><![CDATA[
<p>> JSDoc _is_ TypeScript<p>This is surprisingly true in a way. TypeScript is not a language(1), it's primarily a linter-assisting overlay atop of an actual language, JavaScript. Also, there's a linter that outputs and bundles JS, shedding the alien type annotations and also injecting its own, very partial runtime.<p>So, JSDoc is just a linter/documenter aid. And so is TypeScript.<p>(1) TS is not a language: it has no spec, no reference documentation. It defines no behaviors, in particular, no runtime behaviors. It sits atop of various JS versions, layering over them in unspecified ways. TS is a linting layer, and also is a hack.</p>
]]></description><pubDate>Fri, 12 May 2023 12:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=35915168</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=35915168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35915168</guid></item><item><title><![CDATA[New comment by monfera in "Your Computer Isn't Yours"]]></title><description><![CDATA[
<p>What changed is that the very things capable of eliciting interest in programming also offer overpowering content consumption functions with huge, never ending catalogs of games, movies, videos, short funny clips etc.<p>As computing and "content" proliferate, the uncompetitiveness of creation, esp. symbolic creation such as programming, is increasing. At some point, broadening of the access no longer offsets this effect, and the talent pool may start to shrink even if capability and permeation is a million times higher than it was.</p>
]]></description><pubDate>Fri, 13 Nov 2020 19:07:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=25086100</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=25086100</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25086100</guid></item><item><title><![CDATA[New comment by monfera in "Why Love Generative Art?"]]></title><description><![CDATA[
<p>Good points. A minor thing, generative art isn't necessarily abstract art, though currently almost exclusively is. (Oh and spelled Pollock.) Regarding validation, it might not matter for some, but might for others. I'm sure there were quite a few great artists who wouldn't have done their art at the same level had there not been validation as art. Something more mundane, recognition is likely a big factor in whether patrons seek out and are willing to pay for generative art. So it can matter even for those who aren't looking for the ego lifting part.</p>
]]></description><pubDate>Tue, 28 Aug 2018 16:43:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=17860341</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=17860341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17860341</guid></item><item><title><![CDATA[New comment by monfera in "Intel Responds to Security Research Findings"]]></title><description><![CDATA[
<p>In the case of asymmetric competition, a company with vastly more resources might curate a list of undisclosed problems with competitors' products, for when a major event like this strikes, they can drag along the underdogs. The optics are different if 1) the dominant player can pretend it's "working together" with the other vendors, 2) the dominant player condescendingly points out mildly related issues in competitors' product, and 3) the name of the alternatives keeps getting linked in a "we're in the same boat" way.<p>I'm not suggesting this is the case here at all, as it's unlikely that Intel identified this precise issue with AMD long ago and haven't checked their own vulnerability (though there's always a chance that an issue is found by company A when analyzing the strengths and weaknesses of company B's products, which then turns out to apply for their own products too). But I wouldn't be surprised if somehow there were some loosely related AMD issues that came to light now, and it's impossible to tell if those would be current finds or older ones.<p>Given Intel's dominant position, they may come out ahead in P&L or gross margin terms even if it turns out to be a clearly Intel issue, as the perceived or real loss of performance may trigger an upgrade spree, sold unit counts inevitably dominated by Intel purchases.<p>AMD has just started to catch up in overall performance, and in the worst case bug impact to Intel, they may even get competitive single-threaded performance. Also, there has been speculation that Apple has been evaluating ARM processors for some future laptops, and a sudden drop of the baseline is an interesting turn of events.<p>While this in theory benefits the underdogs, financially Intel may well come out ahead due to their market hegemony.</p>
]]></description><pubDate>Wed, 03 Jan 2018 21:59:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=16065658</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=16065658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16065658</guid></item><item><title><![CDATA[New comment by monfera in "The web at maximum FPS: How WebRender gets rid of jank"]]></title><description><![CDATA[
<p>> Loop-Blinn is fine if you want fast rendering with medium quality antialiasing<p>For example, when using SVG shape-rendering: optimizeSpeed ? I truly hope that SVG is going to be part of this new magic, and that the shape-rendering presentation attribute is utilized. I don't think current SVG implementations get much of a speed boost by optimizeSpeed.<p>Speaking of which, to what extent will SVG benefit from this massive rewrite?</p>
]]></description><pubDate>Sat, 14 Oct 2017 23:43:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=15474953</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=15474953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15474953</guid></item><item><title><![CDATA[New comment by monfera in "The Zen of Just Writing CSS"]]></title><description><![CDATA[
<p>I think there are other reasons for dismissing BEM, it's quite an opinionated and shallow structuring, good for some stuff and not for others. Very HTML tag oriented, for which we have, well, HTML tags already. Its claims are simply not true (eg. "Reduces style conflicts by keeping CSS specificity to a minimum level."). Even in syntax, it saves on silly things (".btn"?) and wastes much more on, in effect, introducing Hungarian notation to CSS. I could go on but no time rn</p>
]]></description><pubDate>Wed, 06 Sep 2017 19:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=15186519</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=15186519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15186519</guid></item><item><title><![CDATA[New comment by monfera in "The Zen of Just Writing CSS"]]></title><description><![CDATA[
<p>I'd agree with it were it not for the huge difference between the view refresh latencies. Within the browser, it's near-intantaneous. Hot module reloading (which is still experimental) is relatively fast, yet there's a couple of seconds of a trip; also depends on what and how changes. Full page reload can take even longer, there's compilation time, bundling and the unavoidable cost of reloading stuff in the browser. Sure a couple of seconds doesn't sound bad but it's still a couple of seconds longer than what it should be (immediate) and it breaks my (work)flow.</p>
]]></description><pubDate>Wed, 06 Sep 2017 17:20:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=15185385</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=15185385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15185385</guid></item><item><title><![CDATA[New comment by monfera in "The Zen of Just Writing CSS"]]></title><description><![CDATA[
<p>Just adding it here as well: if one likes editing CSS files in Chrome Dev Tools, then activating Workspaces will save such changes into the source file. This Dev Tools integration with the Svelte approach is so useful that it might actually tilt the choice in favor of CSS files over the more abstract, thus Chrome-uneditable CSS-in-JS (Workspaces are doable with SASS too as per <a href="https://www.amazeelabs.com/en/How-to-write-Sass-within-Chromes-DevTools-using-Workspaces-and-Auto-reload" rel="nofollow">https://www.amazeelabs.com/en/How-to-write-Sass-within-Chrom...</a>).</p>
]]></description><pubDate>Wed, 06 Sep 2017 17:03:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=15185223</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=15185223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15185223</guid></item><item><title><![CDATA[New comment by monfera in "The Zen of Just Writing CSS"]]></title><description><![CDATA[
<p>An example may be, graphic designer shop gets a contract to update the company 'style guide'. It gets done and there are a lot changes that are cross-cutting w.r.t. components, starting with fonts, borders, margins, border styling etc.<p>Also, what's not fully clear to me, what if - as usually is the case - the components are nested? Changing eg. font in the outer component would leave inner components fully intact?<p>A side note, I'm wondering how the Svelte approach relates to `isolation` in cycle.js <a href="https://github.com/cyclejs/cyclejs/issues/259" rel="nofollow">https://github.com/cyclejs/cyclejs/issues/259</a> -</p>
]]></description><pubDate>Wed, 06 Sep 2017 16:58:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=15185166</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=15185166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15185166</guid></item><item><title><![CDATA[New comment by monfera in "Svelte – A UI framework that compiles into tiny standalone JavaScript modules"]]></title><description><![CDATA[
<p>> Leave data processing and business logic to the back-end, on the server<p>In general, this is not good. Of course there are specific applications where it's useful but in the general space of applications it would be very limiting.<p>For example, go to <a href="http://square.github.io/crossfilter/" rel="nofollow">http://square.github.io/crossfilter/</a> and do the filtering on the 5MB data such that you wait for the histograms to be updated from the server. Instead of the tens of milliseconds, it might be seconds or tens of seconds if the server is loaded, i.e. orders of magnitude slower, not to mention unpredictable.<p>You can think of the network as a data flow constraint. It constrains latency, throughput, privacy and security; the constraints can be unpredictable (network outage; DoS, MiM attack etc.). There can be many good reasons for wanting part of your domain specific logic to fall on the client side.<p>In particular, dynamic media e.g. interactive data visualization, games and most interactive things that use data or modeling are best partly in the browser.<p>We're past the point where the rule of thumb was to do business logic on the server and the client only did the presenting of the view and acted as a controller.</p>
]]></description><pubDate>Wed, 30 Nov 2016 15:31:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=13071489</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=13071489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13071489</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>Though both are on WebKit, they use different renderers. Generally Chrome is better than Safari except on iOS where Apple forces other browser makers to use the Safari engine, I guess it's one way of keeping tabs on mobile browser speed competition :-)</p>
]]></description><pubDate>Tue, 06 Sep 2016 12:27:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435431</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435431</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>Interestingly Firefox is often quite a bit slower than WebKit based browsers even if there's not much JavaScript behind the animations, so there may be other bottlenecks.<p>Even simple SVG geometries (e.g. line sections) take more time to render if there are lots of other such SVG elements off-screen in the DOM. The simplest thing for a time series would be putting in a bunch of <path> elements with long 'd' path strings (and annotations etc.) and just use CSS or SVG transform to show the currently interesting part, but even such a simple use case - ideal and compact from a graphics denotation viewpoint - bumps into performance constraints real quick if you want to pan or especially zoom at 60FPS. This stuff works great with WebGL so I'm coding up splines etc. which all exist in SVG - it's a great standard that would deserve a real fast benchmark and competition among browser makers.</p>
]]></description><pubDate>Tue, 06 Sep 2016 12:24:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435423</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435423</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>Yes apparently I was on 120% zoom level and therefore it worked on my machine (TM)</p>
]]></description><pubDate>Tue, 06 Sep 2016 12:02:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435293</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435293</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435293</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>Yes SVG is very powerful denotation.<p>FWIW I prefer my other current example (I'll wrap up a third one soon), procedural map generation and reflection bump map with SVG <a href="http://bl.ocks.org/monfera/21be9bb116a8e5b2423b706155fdb718" rel="nofollow">http://bl.ocks.org/monfera/21be9bb116a8e5b2423b706155fdb718</a> (click the map or move the mouse) or Nadieh Bremer's examples eg. <a href="http://bl.ocks.org/nbremer/0e98c72b043590769facc5e829ebf43f" rel="nofollow">http://bl.ocks.org/nbremer/0e98c72b043590769facc5e829ebf43f</a><p>Also if you want to generate SVG programmatically check out <a href="http://d3js.org" rel="nofollow">http://d3js.org</a> and <a href="https://www.dashingd3js.com/svg-paths-and-d3js" rel="nofollow">https://www.dashingd3js.com/svg-paths-and-d3js</a></p>
]]></description><pubDate>Tue, 06 Sep 2016 11:54:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435270</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435270</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>it just uses a setInterval with 100ms so your kit might be able to do more - bl.ocks can be forked with <a href="http://blockbuilder.org/search" rel="nofollow">http://blockbuilder.org/search</a></p>
]]></description><pubDate>Tue, 06 Sep 2016 11:51:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435264</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435264</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>Google was first with a decent SVG and they were leapfrogged. But Chrome is the most used browser, and together with Safari, WebKit leads big time over the shrinking IE and FF portion. I and my clients can't afford to do entirely different things per browser.<p>My area of data visualization involves e.g. time series, where a decent zoom/pan implementation and a few years of stock or weather data means that you're juggling DOM elements in and out to keep frame rate, but adding/removing DOM elements revolver style is even more expensive, introducing janks. I also tend to work on exploratory vis where it's useful to scatter all points, tween them (not as a gratuitous effect but for object constancy, to help the user keep context) etc.<p>Interestingly it's also Google who wants you to get minimal with payload size. Yet it's OK for them if you roll your own speedy version of SVG by bundling a 100k of three.js or make your own text rasterizer, essentially reimplementing browser functionality.</p>
]]></description><pubDate>Tue, 06 Sep 2016 11:47:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435254</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435254</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435254</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>No, SVG is perfect for things like that, and very compact (example coming, or an existing one, check the header image on twitter/monfera). I'm mostly concerned about dynamic visualizations.</p>
]]></description><pubDate>Tue, 06 Sep 2016 11:37:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=12435220</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12435220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12435220</guid></item><item><title><![CDATA[New comment by monfera in "SVG heat shimmer"]]></title><description><![CDATA[
<p>Maker here. I meant it as a way of saying good-bye to SVG as for the past years I mostly work with WebGL. A couple of other bl.ocks will be up soon.<p>It turns out that despite its name, Scalable Vector Graphics it isn't. Sure it's scalable _spatially_ but it's not scalable _temporally_. A.k.a. slow.<p>SVG only recently became capable of 60FPS (with only a few elements, of course). Until this year, it was capped at ~40FPS.<p>Also, SVG was meant for graphics and the HTML DOM wasn't.
Yet SVG transforms are NOT hardware accelerated, click on Paint Flashing in Chrome Dev Tools / Render: <a href="http://codepen.io/monfera/pen/JKOqyY" rel="nofollow">http://codepen.io/monfera/pen/JKOqyY</a>
Meanwhile HTML transforms are GPU accelerated: <a href="http://codepen.io/monfera/full/qNVzBm/" rel="nofollow">http://codepen.io/monfera/full/qNVzBm/</a> or <a href="http://codepen.io/monfera/full/BzmERz/" rel="nofollow">http://codepen.io/monfera/full/BzmERz/</a> (no green rectangles flashing)<p>There's also a big overhead of just having a lot of SVG elements even if they're presently off-screen (in which case WebGL wouldn't draw it or even if you call gl.drawArrays on them it doesn't hit the shaders).<p>Having done WebGL I feel that a transpiler from SVG filters to WebGL I could hack together would be an order of magnitude (usually I get an order or two magnitude speedup when moving a plot to WebGL).<p>Someone at a major browser vendor confirmed there hasn't been significant work on SVG for many years. SMIL is now out. The hardware accelerated HTML DOM, Canvas and WebGL are eating SVG's lunch. I suspect it's one of the reasons the new D3 4.0 adds more separation of concern between logic and rendering, and there's a wealth of Canvas based examples from Mike Bostock and others.<p>To paraphrase Greenspun's tenth rule: 
Any sufficiently complicated Canvas/WebGL 2D data visualization contains an ad hoc, informally-specified, bug-ridden, but FAST implementation of half of SVG. And it's sent down the network each time, including mountains of font rasterization.</p>
]]></description><pubDate>Tue, 06 Sep 2016 07:36:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=12434230</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=12434230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12434230</guid></item><item><title><![CDATA[New comment by monfera in "D3 v4.0.0 released"]]></title><description><![CDATA[
<p>Indeed, what I like about plotly is that you can start pretty much anywhere (R, Python, Jupyter, browser JavaScript, node.js, Julia, Matlab...) and get to an interactive, explorable chart (disclaimer, I'm working on WebGL plotly functions eg. <a href="https://twitter.com/plotlygraphs/status/747879741399568384" rel="nofollow">https://twitter.com/plotlygraphs/status/747879741399568384</a>)</p>
]]></description><pubDate>Tue, 28 Jun 2016 22:56:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=11998235</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=11998235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11998235</guid></item><item><title><![CDATA[New comment by monfera in "D3 v4.0.0 released"]]></title><description><![CDATA[
<p>You can generally use them with 'is', for example: <marker id={'bar'} is markerHeight={viewModel.height} refX={viewModel.xCenter} markerWidth={viewModel.width}></p>
]]></description><pubDate>Tue, 28 Jun 2016 21:25:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=11997719</link><dc:creator>monfera</dc:creator><comments>https://news.ycombinator.com/item?id=11997719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11997719</guid></item></channel></rss>