<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: jedschmidt</title><link>https://news.ycombinator.com/user?id=jedschmidt</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 06 May 2026 22:49:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jedschmidt" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jedschmidt in "JavaScript Demos in 140 Characters"]]></title><description><![CDATA[
<p>i went super deep on 140-byte code golfing[1] back when twitter was taking off, and it changed the way i think about code. for a brief while we had a small community collaborating on byte-squeezing techniques[2], and i was constantly amazed at the creativity that this constraint brought about, from mandelbrot renderings to sudoku solvers. possibly the best part was more than a decade later when i found my golfed UUID implementation[3] deep in my employer's codebase.<p>[1] <a href="https://youtu.be/JsAetmgJRss?si=AxIFySX7ktzu5GL5&t=193" rel="nofollow">https://youtu.be/JsAetmgJRss?si=AxIFySX7ktzu5GL5&t=193</a><p>[2] <a href="https://github.com/jed/140bytes/wiki/Byte-saving-techniques" rel="nofollow">https://github.com/jed/140bytes/wiki/Byte-saving-techniques</a><p>[3] <a href="https://gist.github.com/jed/982883" rel="nofollow">https://gist.github.com/jed/982883</a></p>
]]></description><pubDate>Fri, 09 Jan 2026 23:18:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46560772</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=46560772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46560772</guid></item><item><title><![CDATA[New comment by jedschmidt in "WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport"]]></title><description><![CDATA[
<p>In my experience, as long as a controlled window is communicating with the SW, the connection will remain alive.</p>
]]></description><pubDate>Tue, 19 Mar 2024 11:07:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=39754571</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=39754571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39754571</guid></item><item><title><![CDATA[New comment by jedschmidt in "WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport"]]></title><description><![CDATA[
<p>A service worker would work fine; the connection would be instantiated from the SW and each window/worker could communicate with it via navigator.serviceWorker.</p>
]]></description><pubDate>Tue, 19 Mar 2024 02:11:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=39752305</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=39752305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39752305</guid></item><item><title><![CDATA[New comment by jedschmidt in "Workerd: Open-source Cloudflare workers runtime"]]></title><description><![CDATA[
<p>Instead of adding a non-standard API to opt-out of existing networking functionality, it would be great to see a lower-level networking primitive to unlock these kinds of use cases. I wrote more (with a proof-of-concept) here: <a href="https://readable.writable.stream" rel="nofollow">https://readable.writable.stream</a></p>
]]></description><pubDate>Tue, 27 Sep 2022 16:46:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=32997814</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=32997814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32997814</guid></item><item><title><![CDATA[Apple didn’t let this developer download spending data, so he built a fix]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.cnbc.com/2020/01/11/export-apple-card-transactions-with-csvwtf.html">https://www.cnbc.com/2020/01/11/export-apple-card-transactions-with-csvwtf.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22021169">https://news.ycombinator.com/item?id=22021169</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 11 Jan 2020 17:44:20 +0000</pubDate><link>https://www.cnbc.com/2020/01/11/export-apple-card-transactions-with-csvwtf.html</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=22021169</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22021169</guid></item><item><title><![CDATA[New comment by jedschmidt in "Show HN: csv.wtf – Export Your Card Statements to CSV"]]></title><description><![CDATA[
<p>If there's demand for it, would love to look into that.</p>
]]></description><pubDate>Thu, 07 Nov 2019 18:19:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=21475749</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=21475749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21475749</guid></item><item><title><![CDATA[Show HN: csv.wtf – Export Your Card Statements to CSV]]></title><description><![CDATA[
<p>Article URL: <a href="https://csv.wtf/apple-card/">https://csv.wtf/apple-card/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21475684">https://news.ycombinator.com/item?id=21475684</a></p>
<p>Points: 2</p>
<p># Comments: 3</p>
]]></description><pubDate>Thu, 07 Nov 2019 18:14:03 +0000</pubDate><link>https://csv.wtf/apple-card/</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=21475684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21475684</guid></item><item><title><![CDATA[Console.watch: a remote console polyfill for Cloudflare Workers]]></title><description><![CDATA[
<p>Article URL: <a href="https://console.watch/">https://console.watch/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21052590">https://news.ycombinator.com/item?id=21052590</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Sep 2019 19:25:08 +0000</pubDate><link>https://console.watch/</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=21052590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21052590</guid></item><item><title><![CDATA[A New Chapter for Electric Objects]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/the-frontier/a-new-chapter-for-electric-objects-75e63e1c0ec6">https://medium.com/the-frontier/a-new-chapter-for-electric-objects-75e63e1c0ec6</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=14651107">https://news.ycombinator.com/item?id=14651107</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 28 Jun 2017 01:44:28 +0000</pubDate><link>https://medium.com/the-frontier/a-new-chapter-for-electric-objects-75e63e1c0ec6</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=14651107</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14651107</guid></item><item><title><![CDATA[Twilio and AWS and Electric Objects = MMS-Powered Family Photo Frame]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.twilio.com/blog/2016/09/serverless-mms-app.html">https://www.twilio.com/blog/2016/09/serverless-mms-app.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=12607793">https://news.ycombinator.com/item?id=12607793</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 29 Sep 2016 18:45:50 +0000</pubDate><link>https://www.twilio.com/blog/2016/09/serverless-mms-app.html</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=12607793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12607793</guid></item><item><title><![CDATA[New comment by jedschmidt in "Lave: eval in reverse"]]></title><description><![CDATA[
<p>Sure, as it could with any part of your app, including wherever your JSON.parse code lives.</p>
]]></description><pubDate>Thu, 10 Mar 2016 07:21:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=11257759</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=11257759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11257759</guid></item><item><title><![CDATA[New comment by jedschmidt in "Lave: eval in reverse"]]></title><description><![CDATA[
<p>Not _quite_ arbitrary; the only code run is that generated by lave. Arbitrary code present in functions is parsed, but not run.</p>
]]></description><pubDate>Thu, 10 Mar 2016 06:48:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=11257689</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=11257689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11257689</guid></item><item><title><![CDATA[New comment by jedschmidt in "Lave: eval in reverse"]]></title><description><![CDATA[
<p>My original HN submission was clearer, but alas didn't go anywhere: <a href="https://news.ycombinator.com/item?id=11185365" rel="nofollow">https://news.ycombinator.com/item?id=11185365</a></p>
]]></description><pubDate>Thu, 10 Mar 2016 06:15:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=11257612</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=11257612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11257612</guid></item><item><title><![CDATA[New comment by jedschmidt in "Lave: eval in reverse"]]></title><description><![CDATA[
<p>Absolutely. The downside of running a full-blown eval() exists in JSON too, it's just that the eval() there is taking place in the reviver function, which requires a lot more coordination than a self-contained file.<p>As far as efficiency, I'd think for most uses the issue would be on the JSON.parse end. In this case, lave might be more efficient, since JSON reviving often ends up creating temporary objects that need to GC'ed after reification.</p>
]]></description><pubDate>Thu, 10 Mar 2016 06:10:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=11257600</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=11257600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11257600</guid></item><item><title><![CDATA[Lave: stringifying all the stuff that JSON.stringify won't]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/jed/lave">https://github.com/jed/lave</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=11185365">https://news.ycombinator.com/item?id=11185365</a></p>
<p>Points: 7</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 27 Feb 2016 00:22:16 +0000</pubDate><link>https://github.com/jed/lave</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=11185365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11185365</guid></item><item><title><![CDATA[Building BrooklynJS]]></title><description><![CDATA[
<p>Article URL: <a href="http://brooklynjs.com">http://brooklynjs.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=10786342">https://news.ycombinator.com/item?id=10786342</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 23 Dec 2015 23:52:54 +0000</pubDate><link>http://brooklynjs.com</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=10786342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10786342</guid></item><item><title><![CDATA[New comment by jedschmidt in "How to use a Google Spreadsheet as a database"]]></title><description><![CDATA[
<p>My situation is for an intranet environment, so I suppose I could just ask nicely that they don't change validations. But chances are most of my target users aren't familiar enough with Google Spreadsheets to even get that far.</p>
]]></description><pubDate>Wed, 25 Mar 2015 01:39:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=9260777</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=9260777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9260777</guid></item><item><title><![CDATA[New comment by jedschmidt in "How to use a Google Spreadsheet as a database"]]></title><description><![CDATA[
<p>I really like the idea of using Google Spreadsheets as a quick and familiar GUI for entry or querying on data sets, as long as you understand the tradeoffs (write latency isn't great and they max out at 400,000 cells).<p>But this is especially nice when you build a layer on top of Google reduces lock-in, instead of adding another proprietary API. This is what I did with sheet-down[1], which turns a Google Spreadsheet into a LevelDB-compatible data store that can be swapped out with a file system or other compatible backend[2] once you outgrow Google.<p>[1] <a href="https://github.com/jed/sheet-down" rel="nofollow">https://github.com/jed/sheet-down</a><p>[2] <a href="https://github.com/rvagg/node-levelup/wiki/Modules#storage" rel="nofollow">https://github.com/rvagg/node-levelup/wiki/Modules#storage</a></p>
]]></description><pubDate>Wed, 25 Mar 2015 01:24:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=9260732</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=9260732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9260732</guid></item><item><title><![CDATA[New comment by jedschmidt in "The infernal semicolon (2012)"]]></title><description><![CDATA[
<p>I wish `void` would get more love for IIFEs instead of just sitting there in a dark corner of JS, unloved.<p><pre><code>    var foo = 'bar'
    var baz = 'bletch'
    
    void function (global) {
      //module pattern code here ...
    })(this)</code></pre></p>
]]></description><pubDate>Thu, 05 Mar 2015 18:06:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=9152585</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=9152585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9152585</guid></item><item><title><![CDATA[New comment by jedschmidt in "How to set up stress-free SSL on an OS X development machine"]]></title><description><![CDATA[
<p>Having gotten more accustomed to the VM approach over the past year since I wrote this post, I agree.</p>
]]></description><pubDate>Wed, 24 Dec 2014 01:07:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=8791071</link><dc:creator>jedschmidt</dc:creator><comments>https://news.ycombinator.com/item?id=8791071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8791071</guid></item></channel></rss>