<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: imslavko</title><link>https://news.ycombinator.com/user?id=imslavko</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 00:27:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=imslavko" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by imslavko in "LiveStore: State management based on reactive SQLite and built-in sync engine"]]></title><description><![CDATA[
<p>I worked with Rudi at Figma and of course support his comment - Figma seems to be mentioned for marketing, not for the actual technical comparison.<p>For others looking for more details on how Figma's sync engines differ and why 2 sync engines emerged, I had a long thread about it here:<p><a href="https://x.com/imslavko/status/1890482196697186309" rel="nofollow">https://x.com/imslavko/status/1890482196697186309</a></p>
]]></description><pubDate>Tue, 27 May 2025 17:51:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44109176</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=44109176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44109176</guid></item><item><title><![CDATA[New comment by imslavko in "Exposing the Honey Influencer Scam [video]"]]></title><description><![CDATA[
<p>I am a heavy user of Brave and I would love for you to expand on what you mean.<p>For those curious, here is the open-code repo of all Chromium changes Brave applies. I have not read every commit myself, so any flagging would be appreciated: <a href="https://github.com/brave/brave-core">https://github.com/brave/brave-core</a></p>
]]></description><pubDate>Sat, 28 Dec 2024 22:51:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=42535536</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=42535536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42535536</guid></item><item><title><![CDATA[New comment by imslavko in "Show HN: InstantDB – A Modern Firebase"]]></title><description><![CDATA[
<p>I worked on LiveGraph for a long time at Figma. We went through our own evolution:<p>1. first we would use the WAL records to invalidate queries that could be affected (with optimizations for fast matching) and requery the data<p>2. then we used the info from the WAL record to update the query in-memory without asking the DB for the new result, it worked for majority of the queries that can be reliably modeled outside of the DB<p>3. I believe after I left the team reverted to the re-query approach, as managing a system that replicates the DB behavior was not something they were excited to maintain, and as the DB layer got scaled out, extra DB queries were less of a downside</p>
]]></description><pubDate>Fri, 23 Aug 2024 01:38:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=41325612</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=41325612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41325612</guid></item><item><title><![CDATA[Keeping It 100(x) with Real-Time Data at Scale – Figma Blog]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.figma.com/blog/livegraph-real-time-data-at-scale/">https://www.figma.com/blog/livegraph-real-time-data-at-scale/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40418042">https://news.ycombinator.com/item?id=40418042</a></p>
<p>Points: 18</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 20 May 2024 17:47:32 +0000</pubDate><link>https://www.figma.com/blog/livegraph-real-time-data-at-scale/</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=40418042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40418042</guid></item><item><title><![CDATA[New comment by imslavko in "Architecture decisions in Neon, a serverless Postgres service"]]></title><description><![CDATA[
<p>Thanks Nikita!</p>
]]></description><pubDate>Wed, 10 Apr 2024 18:08:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=39993899</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=39993899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39993899</guid></item><item><title><![CDATA[New comment by imslavko in "Architecture decisions in Neon, a serverless Postgres service"]]></title><description><![CDATA[
<p>Thoroughly enjoyed the article since I have heard about Neon but never understood what it offers on the technical level over other PG-compatible projects.<p>The article mentions that a consequence of separating storage from compute is that compute nodes cache hot pages in memory and load cold pages from object storage (like S3?) when needed. Does anyone know what are the consequences of this decision. In case of a query that touches multiple rarely used pages, would that incur high latency and ingress? How does that penalty compare to a vanilla postgres running on AWS and storing pages on EBS?</p>
]]></description><pubDate>Wed, 10 Apr 2024 03:03:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=39986561</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=39986561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39986561</guid></item><item><title><![CDATA[New comment by imslavko in "Figma, following failed Adobe acquisition, has paywalled Dev Mode"]]></title><description><![CDATA[
<p>Old inspect features are still available without paying, although they were moved in the UI to make space: <a href="https://www.loom.com/share/d4f9856c04f24818913d1de8ecb2a08c" rel="nofollow">https://www.loom.com/share/d4f9856c04f24818913d1de8ecb2a08c</a></p>
]]></description><pubDate>Thu, 01 Feb 2024 23:08:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=39222817</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=39222817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39222817</guid></item><item><title><![CDATA[New comment by imslavko in "15-150: Principles of Functional Programming"]]></title><description><![CDATA[
<p>I don't think I have heard of the automatic AoS/AoS before, do you have good links to study more?</p>
]]></description><pubDate>Tue, 21 Nov 2023 05:13:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=38359600</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=38359600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38359600</guid></item><item><title><![CDATA[New comment by imslavko in "15-150: Principles of Functional Programming"]]></title><description><![CDATA[
<p>Oh yeah, a pure function that accepts previous state, and returns the new state is the pattern I use a lot.<p>The issue is that it is hard to do on complex graph structures in an algorithm where incremental changes happen to the graph O(n) times - it ends up creating complex code and complex execution that might be slow to pass the time limit on Codeforces, let's say.<p>In the OCaml world maybe this is the place where you say "screw it, this abstracted function does some stateful temporary business, but it looks pure from the outside" but in Haskell it's a lot harder to pull off without going deep into monads (and I forget how those work every time).</p>
]]></description><pubDate>Mon, 20 Nov 2023 23:11:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=38356294</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=38356294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38356294</guid></item><item><title><![CDATA[New comment by imslavko in "15-150: Principles of Functional Programming"]]></title><description><![CDATA[
<p>Slightly off-topic but what's a good forum to seek help on FP practices outside of the courses like this online?<p>Every winter break I get back into trying to learn more FP (in Haskell) and in the past several years I have been practicing algo problems (codeforces, advent of code, leetcode).<p>I always get stuck on more advanced graph algorithms where you traverse a and modify a graph, not a tree structure - it gets particularly tricky to work on circular data structures (I learned about "tying the knot" but it's incredibly challenging for me) and usually the runtime perf is sub-par both asymptotically and empirically.</p>
]]></description><pubDate>Mon, 20 Nov 2023 19:45:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=38353436</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=38353436</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38353436</guid></item><item><title><![CDATA[New comment by imslavko in "Ask HN: Cloudflare Workers are down?"]]></title><description><![CDATA[
<p>No way to confirm, but I think so, just because NPM threw this error at me:<p><pre><code>     KV GET failed: 401 Unauthorized
</code></pre>
where KV could refer to the CF KV in workers</p>
]]></description><pubDate>Mon, 30 Oct 2023 20:44:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38075528</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=38075528</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38075528</guid></item><item><title><![CDATA[New comment by imslavko in "Just paying Figma because nothing else works"]]></title><description><![CDATA[
<p>I only read the article once, but to me it seemed like this was an explicit requirement: produce a vector artifact that renders the same on all platforms without dependencies (basically a PDF?) and without invoking a browser in the build process.<p>Sort of like folks would praise Go's ability to compile a static binary without dylib dependencies besides libc.</p>
]]></description><pubDate>Fri, 20 Oct 2023 07:16:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=37953248</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37953248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37953248</guid></item><item><title><![CDATA[New comment by imslavko in "Just paying Figma because nothing else works"]]></title><description><![CDATA[
<p>Does it support exporting to SVGs without requiring the used fonts installed on the viewer's system? That seems to be the issue the author is trying to address.</p>
]]></description><pubDate>Thu, 19 Oct 2023 18:51:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=37946980</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37946980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37946980</guid></item><item><title><![CDATA[New comment by imslavko in "Punjabi Mexican Americans"]]></title><description><![CDATA[
<p>Not the same but a similar curious case of historical immigration: <a href="https://en.wikipedia.org/wiki/Koryo-saram" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Koryo-saram</a></p>
]]></description><pubDate>Thu, 07 Sep 2023 19:21:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=37424238</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37424238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37424238</guid></item><item><title><![CDATA[New comment by imslavko in "Keeping Figma Fast: perf-testing the WASM editor"]]></title><description><![CDATA[
<p>We omitted the details for the sake of brevity (the article is already really long), but we run agents on the test devices and plug them into CI. Agents allow remote access for servicing remotely, and that's enough most of the time.<p>For things like system updates and taking care of the hardware - we do it manually today. The fleet is still small, so it is manageable but in the future we would like to consider a vendor, if we can find one.</p>
]]></description><pubDate>Thu, 31 Aug 2023 17:57:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=37341202</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37341202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37341202</guid></item><item><title><![CDATA[New comment by imslavko in "Keeping Figma Fast: perf-testing the WASM editor"]]></title><description><![CDATA[
<p>Hey there<p>we test on macs, windows and linux laptops, it is very surprising that drawing 1 rectangle is painfully slow.<p>Sometimes it happens when your browser does not enable hardware acceleration or when your Linux distro does not know how to switch to the discrete GPU.<p>We won't be able to tell without getting more of your hw specs and debug information, feel free to reach out to the Figma support or email me at skim@figma.com - this is exactly the type of issues that elud us when looking at prod metrics in aggregation.</p>
]]></description><pubDate>Thu, 31 Aug 2023 17:51:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=37341112</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37341112</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37341112</guid></item><item><title><![CDATA[New comment by imslavko in "Keeping Figma Fast: perf-testing the WASM editor"]]></title><description><![CDATA[
<p>(author of the article)<p>I want to acknowledge that the load-times for Figma go up linearly with the complexity of your design file + its dependencies. It is always painful when users rightfully complain about giant design files taking a while to load and fully render.<p>The team is working on changing that so hopefully your experience gets better over time.<p>This is not my area of expertise, so I am not in the position to promise anything on this forum but I just want to say that the testing framework described in the article is also used to continuously test and measure the file load/parsing time as folks are working towards algorithmic improvements.</p>
]]></description><pubDate>Thu, 31 Aug 2023 04:10:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=37332356</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37332356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37332356</guid></item><item><title><![CDATA[New comment by imslavko in "Keeping Figma Fast: perf-testing the WASM editor"]]></title><description><![CDATA[
<p>Absolutely! Evan and the early team laid a strong foundation when Figma was ported  to WASM + WebGL. It happened before my time at Figma, but check out these earlier posts from Evan and Jamie on the transition, perf testing, and graphs back from 2017-2018:<p><a href="https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/" rel="nofollow noreferrer">https://www.figma.com/blog/webassembly-cut-figmas-load-time-...</a>
<a href="https://www.figma.com/blog/figma-faster/" rel="nofollow noreferrer">https://www.figma.com/blog/figma-faster/</a></p>
]]></description><pubDate>Wed, 30 Aug 2023 22:34:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=37330036</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37330036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37330036</guid></item><item><title><![CDATA[New comment by imslavko in "Keeping Figma Fast: perf-testing the WASM editor"]]></title><description><![CDATA[
<p>That's a good way to address the noise on VMs! We do something different but in a similar spirit: when we compare to the main branch, we calculate the baseline based on 1-2 weeks worth of historical data on main (we identify the latest step change with a simple linear regression). This way we approximate the baseline based on ~100 data points which also helps to address the variance.<p>Of course re-running the code from main and the PR on the same VM side by side would be the best, and it would cost a lot more money (especially once you factor in GPUs). We considered it but opted to the strategy I outlined above, it's mainly a trade-off between accuracy vs costs</p>
]]></description><pubDate>Wed, 30 Aug 2023 22:20:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=37329917</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37329917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37329917</guid></item><item><title><![CDATA[New comment by imslavko in "Keeping Figma Fast: perf-testing the WASM editor"]]></title><description><![CDATA[
<p>Thank you for your comment!<p>WASM gave Figma a lot of speed by default for a lot of perf-sensitive code like rendering, layouts, applying styles and materializing component instances, our GUI code is mostly React and CSS.<p>WASM engine performance has not been a problem for us, instead we are constantly looking forward improvements in the devex department: debugging, profiling and modularization.<p>One of the largest challenges of the platform we face today is the heap size limit. While Chrome supports up to 4GB today, that's not yet the case for all browsers. And even with that, we are still discovering bugs in the toolchain (see this recent issue filed by one of our engineers) <a href="https://github.com/emscripten-core/emscripten/issues/20137">https://github.com/emscripten-core/emscripten/issues/20137</a><p>The challenge of the perf-testing at scale in our company is helping developers to detect perf regressions when they don't expect them - accidental algorithmic errors, misused caches, over-rendering React components, dangerously inefficient CSS directives, etc.</p>
]]></description><pubDate>Wed, 30 Aug 2023 20:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=37328966</link><dc:creator>imslavko</dc:creator><comments>https://news.ycombinator.com/item?id=37328966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37328966</guid></item></channel></rss>