<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: jacobheric</title><link>https://news.ycombinator.com/user?id=jacobheric</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 21 Apr 2026 06:29:43 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jacobheric" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jacobheric in "Ask HN: What are you working on? (March 2025)"]]></title><description><![CDATA[
<p>I'm building an AI DJ for Spotify called Listen to Luther. It's open source here: <a href="https://github.com/jacobheric/luther" rel="nofollow">https://github.com/jacobheric/luther</a>. Currently it responds to prompts with a list of songs that can be queued, played or added to playlists on Spotify. Next I'll give it proper memory and the ability to adjust and remix on the fly. I built it because I was frustrated by the mostly passive experience of Spotify's own AI DJ. There is no path to commercialization here as Spotify's TOS does not permit it (I asked them). So I host it for myself and a few friends and made it open source for anyone who's handy enough to run it themselves.</p>
]]></description><pubDate>Mon, 31 Mar 2025 13:15:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=43534701</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=43534701</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43534701</guid></item><item><title><![CDATA[New comment by jacobheric in "Show HN: AgentKit – JavaScript Alternative to OpenAI Agents SDK with Native MCP"]]></title><description><![CDATA[
<p>If you use AgentKit + Inngest then you can do all the things you normally do with the Inngest dev server like observe runs with AI metadata and rerun functions and rerun functions from steps with edited inputs. We do have a step-through debugger coming pretty soon here as well. Note you don't have to use AgentKit with Inngest though.</p>
]]></description><pubDate>Thu, 20 Mar 2025 20:53:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=43428826</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=43428826</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43428826</guid></item><item><title><![CDATA[New comment by jacobheric in "Creating a Prisma Client Extension"]]></title><description><![CDATA[
<p>Thanks! Yeah we don't currently augment the result data only the arguments. But its on our TODO list as we need to to send back stuff like error info about pipelines runs. Prisma has type utilities for this, see the Result<> stuff at: <a href="https://www.prisma.io/docs/orm/prisma-client/client-extensions/type-utilities" rel="nofollow">https://www.prisma.io/docs/orm/prisma-client/client-extensio...</a></p>
]]></description><pubDate>Wed, 10 Jan 2024 17:14:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=38940792</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=38940792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38940792</guid></item><item><title><![CDATA[Creating a Prisma Client Extension]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/streamdal/creating-a-prisma-client-extension-27bb1aaabb0e">https://medium.com/streamdal/creating-a-prisma-client-extension-27bb1aaabb0e</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38939531">https://news.ycombinator.com/item?id=38939531</a></p>
<p>Points: 8</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 10 Jan 2024 14:54:48 +0000</pubDate><link>https://medium.com/streamdal/creating-a-prisma-client-extension-27bb1aaabb0e</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=38939531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38939531</guid></item><item><title><![CDATA[New comment by jacobheric in "WASM by example"]]></title><description><![CDATA[
<p>We sort of do this with WASM for just in time pipelines. We write pipeline rules in WASM...for things like detecting/masking fields...then we import and execute those wasm rules in a variety of language SDKs. As a sibling comment indicates, it's pretty difficult getting data in and out, but it's doable. See here for an example: <a href="https://github.com/streamdal/node-sdk/blob/main/src/internal/wasm.ts">https://github.com/streamdal/node-sdk/blob/main/src/internal...</a>. We do this sort of thing in node, go & python and are adding other languages.</p>
]]></description><pubDate>Wed, 15 Nov 2023 17:40:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=38279676</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=38279676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38279676</guid></item><item><title><![CDATA[New comment by jacobheric in "Show HN: Streamdal – an open-source tail -f for your data"]]></title><description><![CDATA[
<p>> This is awesome, the UI looks beautiful.<p>Thank you! I wrote the UI! It's a pretty tricky UI stack as we update everything to the browser realtime in protobuf over grpc streaming (using grpc-web and protobuf-ts). There is a lot mapping we have to do to shape the data properly for React Flow so we do that server side in Deno before passing it along to the browser. We still have some optimization to do to keep the live tail view zippy, but it's a pretty solid foundation.</p>
]]></description><pubDate>Wed, 01 Nov 2023 11:44:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=38097006</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=38097006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38097006</guid></item><item><title><![CDATA[New comment by jacobheric in "Show HN: Streamdal – an open-source tail -f for your data"]]></title><description><![CDATA[
<p>In the node-sdk, process pipeline is async , see: <a href="https://github.com/streamdal/node-sdk/blob/main/src/streamdal.ts">https://github.com/streamdal/node-sdk/blob/main/src/streamda...</a> (I'm the author of that). I believe this is also the case for the python and go sdks as well.  So you can call it asynchronously for passive observability.<p>However, we implemented the pipeline rules in wasm with the goal of keeping the overhead as minimal as possible. So you could also use it as more of a data security or governance tool and invoke the pipelines synchronously and mask or prevent sensitive data before passing it along.</p>
]]></description><pubDate>Wed, 01 Nov 2023 11:37:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=38096965</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=38096965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38096965</guid></item><item><title><![CDATA[New comment by jacobheric in "Show HN: Streamdal – an open-source tail -f for your data"]]></title><description><![CDATA[
<p>Hey there! I wrote the node sdk for this, you can use the node-sdk to to execute wasm-based rules on your data and interact with the data in real time. With the wasm rules you can do things like detect and mask PII, etc. The node-sdk is here: <a href="https://github.com/streamdal/node-sdk">https://github.com/streamdal/node-sdk</a>. There are some minimal examples of these pipelines in the readme and examples/sandbox directories.</p>
]]></description><pubDate>Tue, 31 Oct 2023 18:31:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=38089316</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=38089316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38089316</guid></item><item><title><![CDATA[New comment by jacobheric in "Ask HN: Share your personal site"]]></title><description><![CDATA[
<p><a href="https://www.jacobheric.com" rel="nofollow">https://www.jacobheric.com</a><p>Been posting mostly photos, and very occasional thoughts, for the last 15 years.</p>
]]></description><pubDate>Wed, 06 Apr 2022 22:35:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=30938323</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=30938323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30938323</guid></item><item><title><![CDATA[New comment by jacobheric in "SBA Disaster Loans: Unofficial guide for freelancers and startups"]]></title><description><![CDATA[
<p>While your experience is interesting and instructive in general, I think it's not completely relevant to the specific loans outlined here. These loans are issued directly by the SBA, from federal treasury funds, for the purpose of assisting businesses that might otherwise not survive the economic impacts of covid. For any small business in that situation, it seems a reasonable option.<p>IANAL, but the collateral terms as I read them are very specific and limited to business machines and such, not your house or your car.</p>
]]></description><pubDate>Fri, 27 Mar 2020 19:46:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=22706134</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=22706134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22706134</guid></item><item><title><![CDATA[New comment by jacobheric in "SBA Disaster Loans: Unofficial guide for freelancers and startups"]]></title><description><![CDATA[
<p>Yes, I believe this is correct. This post is outlining the details of the economic disaster loans that are offered directly by the SBA and described in the link by the parent. The current legislation refers to these existing loans as 7(b). I believe the new stimulus bill, at least the senate version that I skimmed, deals largely with loans made by other financial institutions and referred to as 7(a). Those are covered here: <a href="https://www.sba.gov/partners/lenders/7a-loan-program/types-7a-loans" rel="nofollow">https://www.sba.gov/partners/lenders/7a-loan-program/types-7...</a>. Of course that information is now made out of date by the just passed legislation.</p>
]]></description><pubDate>Fri, 27 Mar 2020 18:34:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=22705474</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=22705474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22705474</guid></item><item><title><![CDATA[A $100 Million Dollar Bet that a Vacation Destination can Become a Tech Hub]]></title><description><![CDATA[
<p>Article URL: <a href="http://nytimes.com/2020/01/27/business/econo">http://nytimes.com/2020/01/27/business/econo</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22158547">https://news.ycombinator.com/item?id=22158547</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 27 Jan 2020 12:03:48 +0000</pubDate><link>http://nytimes.com/2020/01/27/business/econo</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=22158547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22158547</guid></item><item><title><![CDATA[New comment by jacobheric in "How to Find Consulting Clients"]]></title><description><![CDATA[
<p>I my experience, at least for an individual, I think saying no is exactly the opposite of dangerous. I’ve been contracting exclusively for 10 years and said yes about 6 times and no dozens or hundreds of times. As long as you say no frankly, with a reason, and offer some names of people who can help, people are happy with you and will more often than not ask again in the future. Saying no, especially for bad fit, is one of the most important parts of success I’ve had in consulting.</p>
]]></description><pubDate>Thu, 07 Nov 2019 18:40:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=21475971</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=21475971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21475971</guid></item><item><title><![CDATA[New comment by jacobheric in "Google chief: I'd disclose smart speakers before guests enter my home"]]></title><description><![CDATA[
<p>I didn't even realize google had a podcast app. I just installed it and you're right, I can't subscribe to a podcast since I have disabled web activity history. That's a particularly egregious dark pattern.</p>
]]></description><pubDate>Thu, 17 Oct 2019 12:01:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=21281079</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=21281079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21281079</guid></item><item><title><![CDATA[New comment by jacobheric in "Ask HN: What's the best setup for ad blocking and tracker blocking?"]]></title><description><![CDATA[
<p>Interesting. I never really had a firm grasp on the overlap in functionality of ublock origin and privacy badger. I threw privacy badger in the mix at some point as I like the EFF and wanted to give it a whirl. I haven't noticed any sites loading slowly, but I'll do a comparison on some of the sites I use and see if it's slowing things down.</p>
]]></description><pubDate>Sat, 24 Aug 2019 13:26:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=20786991</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=20786991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20786991</guid></item><item><title><![CDATA[New comment by jacobheric in "Ask HN: What's the best setup for ad blocking and tracker blocking?"]]></title><description><![CDATA[
<p>I use firefox with ublock origin and privacy badger and I can't recall the last time I ran into a site that was broken because of it. But, I visit a fairly narrow section of the internet regularly so there might not be much overlap between what I browse and you browse.<p>I also use the multi-account container add on and the temporary container add on. This allows me to pin a few big sites to their own containers (google, amazon, etc) and open all other new tabs in temporary containers. This setup works great and appears to help keep firefox fast over time. I use duck duck go to search but firefox makes it trivial for me to re-run a search with google if I need to.<p>I also run an ad blocking vpn on google cloud using Algo. I use google cloud because the vpn can run on the permanently free tier and I only pay for network traffic (which is near zero), and I also enjoy the irony of it. I have wireguard clients setup on all of my devices to use the vpn either permanently (phone) or on demand (laptops). Having this vpn is nice as it makes it easy to block ads in apps on my kids mobile devices.<p>This vpn setup works ok but not quite as well as when I ran the same thing using Streisand and open vpn clients. I only say this because I have a homebrew whole-house audio setup with a bunch of google audio chromecasts and no matter how I tweak the wireguard client settings I cannot get that casting to work properly. With open vpn clients, those settings are a cinch.</p>
]]></description><pubDate>Sat, 24 Aug 2019 13:09:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=20786920</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=20786920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20786920</guid></item><item><title><![CDATA[New comment by jacobheric in "Armageddon Looms over World Chess Champs after Carlsen’s Shocking Decision"]]></title><description><![CDATA[
<p>I agree and think all the "shocking" and "bizarre" assessments are clickbaity. He did a similar thing against Karjakin. It's a smart strategic move given the situation and his advantage in the tiebreaks. Having watched the Karjakin tie-breaks, I can't wait. It's going to be so exciting. Having said that, if Caruana should defy expectation and prevail it will also be a great story and counterpoint to Carlsen's strategic calculation.</p>
]]></description><pubDate>Wed, 28 Nov 2018 01:19:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=18548463</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=18548463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=18548463</guid></item><item><title><![CDATA[New comment by jacobheric in "Shaking Up the Dinosaur Family Tree"]]></title><description><![CDATA[
<p>Abstract: <a href="http://www.nature.com/nature/journal/v543/n7646/full/nature21700.html" rel="nofollow">http://www.nature.com/nature/journal/v543/n7646/full/nature2...</a><p>This looks to be the software used to analyze the data and suggest the new tree: <a href="http://www.lillo.org.ar/phylogeny/tnt/" rel="nofollow">http://www.lillo.org.ar/phylogeny/tnt/</a></p>
]]></description><pubDate>Thu, 23 Mar 2017 10:54:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=13938704</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=13938704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13938704</guid></item><item><title><![CDATA[Shaking Up the Dinosaur Family Tree]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.nytimes.com/2017/03/22/science/dinosaur-family-tree.html">https://www.nytimes.com/2017/03/22/science/dinosaur-family-tree.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=13938660">https://news.ycombinator.com/item?id=13938660</a></p>
<p>Points: 37</p>
<p># Comments: 5</p>
]]></description><pubDate>Thu, 23 Mar 2017 10:43:15 +0000</pubDate><link>https://www.nytimes.com/2017/03/22/science/dinosaur-family-tree.html</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=13938660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13938660</guid></item><item><title><![CDATA[How and why I wrote and published my first novel]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.jacobheric.com/2016/12/23/how-and-why-i-write/">https://www.jacobheric.com/2016/12/23/how-and-why-i-write/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=13471189">https://news.ycombinator.com/item?id=13471189</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 24 Jan 2017 13:42:25 +0000</pubDate><link>https://www.jacobheric.com/2016/12/23/how-and-why-i-write/</link><dc:creator>jacobheric</dc:creator><comments>https://news.ycombinator.com/item?id=13471189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13471189</guid></item></channel></rss>