<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: copypaper</title><link>https://news.ycombinator.com/user?id=copypaper</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 03:42:59 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=copypaper" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by copypaper in "Audio Reactive LED Strips Are Diabolically Hard"]]></title><description><![CDATA[
<p>This is awesome! I did a similar project in college for one of my classes and ran into the same exact walls as you.<p>- The more filters I added the worse it got. A simple EMA with smoothing gave the best results. Although, your pipeline looks way better than what I came up with!<p>- I ended up using the Teensy 4.0 which let me do real time FFT and post processing in less than 10ms (I want to say it was ~1ms but I can't recall; it's been a while). If anyone goes down this path I'd heavily recommend checking out the teensy. It removes the need for a raspi or computer. Plus, Paul is an absolute genius and his work is beyond amazing [1].<p>- I started out with non-addressable LEDs also. I attempted to switch to WS2812's as well, but couldn't find a decent algorithm to make it look good. Yours came out really well! Kudos.<p>- Putting the leds inside of an LED strip diffuser channel made the biggest difference. I spent so long trying to smooth it out getting it to look good when a simple diffuser was all I needed (I love the paper diffuser you made).<p>RE: What's Still Missing:
I came to a similar conclusion as well. Manually programmed animation sequences are unparalleled. I worked as a stagehand in college and saw what went into their shows. It was insane. I think the only way to have that same WOW factor is via pre-processing. I worked on this before AI was feasible, but if I were to take another stab at it I would attempt to do it with something like TinyML. I don't think real time is possible with this approach. Although, maybe you could buffer the audio with a slight delay? I know what I'll be doing this weekend... lol.<p>Again, great work. To those who also go down this rabbit hole: good luck.<p>[1]: <a href="https://www.pjrc.com/" rel="nofollow">https://www.pjrc.com/</a></p>
]]></description><pubDate>Wed, 08 Apr 2026 16:08:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692139</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47692139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692139</guid></item><item><title><![CDATA[New comment by copypaper in "Project Glasswing: Securing critical software for the AI era"]]></title><description><![CDATA[
<p>Yea, but can it secure systems from the unpatchable $5 wrench vulnerability?<p><a href="https://xkcd.com/538/" rel="nofollow">https://xkcd.com/538/</a></p>
]]></description><pubDate>Tue, 07 Apr 2026 22:38:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47682257</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47682257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47682257</guid></item><item><title><![CDATA[New comment by copypaper in "OCR for construction documents does not work, we fixed it"]]></title><description><![CDATA[
<p>Mainly 09, but also 05 and 07.</p>
]]></description><pubDate>Tue, 31 Mar 2026 00:48:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47581501</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47581501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47581501</guid></item><item><title><![CDATA[New comment by copypaper in "OCR for construction documents does not work, we fixed it"]]></title><description><![CDATA[
<p>Very interesting. Im on vacation but will check this out at work next week.<p>What is the maximum resolution you support for PDFs? The max gemini will do is 3072x3072. We have plans that are 10x that size.</p>
]]></description><pubDate>Tue, 31 Mar 2026 00:21:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47581311</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47581311</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47581311</guid></item><item><title><![CDATA[New comment by copypaper in "AI coding is gambling"]]></title><description><![CDATA[
<p>Indeed it was (I was listening to it while stumbling across this post). Also, fun fact: The Gambler was written by Don Schlitz while working as a Computer Operator in 76' which makes it all the more relevant [1].<p>[1]: <a href="https://web.archive.org/web/20230130060050/https://www.rollingstone.com/music/music-country/flashback-hear-johnny-cashs-rare-take-on-kenny-rogers-the-gambler-204667/" rel="nofollow">https://web.archive.org/web/20230130060050/https://www.rolli...</a></p>
]]></description><pubDate>Wed, 18 Mar 2026 19:51:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47430586</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47430586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47430586</guid></item><item><title><![CDATA[New comment by copypaper in "AI coding is gambling"]]></title><description><![CDATA[
<p>You got to know when to Ship it,<p>Know when to Re-prompt,<p>Know when to Clear the Context,<p>And know when to RLHF.<p>You never trust the Output,<p>When you’re staring at the diff view,<p>There’ll (not) be time enough for Fixing,<p>When the Tokens are all spent.</p>
]]></description><pubDate>Wed, 18 Mar 2026 18:21:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47429372</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47429372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47429372</guid></item><item><title><![CDATA[New comment by copypaper in "Meta acquires Moltbook"]]></title><description><![CDATA[
<p>We have the technology, its just heavily despised due to the lack of privacy and anonymity.</p>
]]></description><pubDate>Wed, 11 Mar 2026 00:56:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47330667</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47330667</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47330667</guid></item><item><title><![CDATA[New comment by copypaper in "Maybe the G in AGI stands for Gemini"]]></title><description><![CDATA[
<p>Gemini on the web as a chat app is great (as well as NotebookLM). But Antigravity is an embarrassment and the reason I cancelled my Gemini subscription. I'd recommend avoiding it at all costs. It has degraded so badly in the last two weeks it's hardly usable anymore.</p>
]]></description><pubDate>Tue, 10 Mar 2026 20:47:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47328602</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=47328602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47328602</guid></item><item><title><![CDATA[New comment by copypaper in "Our approach to advertising"]]></title><description><![CDATA[
<p>The difference here though is that ads are baked into the response via plain text.<p>How far away are we from an offline model based ad blocker? Imagine a model trained to detect if a response contains ads or not and blocked it on the fly. Im not sure how else you could block ads embedded into responses.</p>
]]></description><pubDate>Fri, 16 Jan 2026 19:50:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46651271</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=46651271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46651271</guid></item><item><title><![CDATA[New comment by copypaper in "Show HN: TinyPDF – 3kb pdf library (70x smaller than jsPDF)"]]></title><description><![CDATA[
<p>Nice work! I'm curious though, what was your use case for needing a smaller library? Since you're running this on a server, what difference does an extra 226KB make?</p>
]]></description><pubDate>Sat, 20 Dec 2025 03:52:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46333500</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=46333500</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46333500</guid></item><item><title><![CDATA[New comment by copypaper in "[dead]"]]></title><description><![CDATA[
<p>The article also lacks any personal opinion or experience on the matter. It just stated a bunch of pointless stats and "facts". Almost every single point is refutable depending on the task at hand.</p>
]]></description><pubDate>Fri, 12 Dec 2025 07:23:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46241696</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=46241696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46241696</guid></item><item><title><![CDATA[New comment by copypaper in "Horses: AI progress is steady. Human equivalence is sudden"]]></title><description><![CDATA[
<p>Yep. My grandma bought her house in ~1962 for $20k working at a factory making $2/hr. Her mortgage was $100/m; about 1 weeks worth of pay. $2/hr then is the equivalent of ~$21/hr today.<p>If you were to buy that same house today, your mortgage would be about $5100/m-- about 6 weeks of pay.<p>And the reason is exactly what you're saying: the average US worker doesn't provide as much value anymore. Just as her factory job got optimized/automated, AI is going to do the same for many. Tech workers were expensive for a while and now they're not. The problem is that there seems to be less and less opportunity where one can bring value. The only true winners are the factory owners and AI providers in this scenario. The only chance anybody has right now is to cut the middleman out, start their own business, and pray it takes off.</p>
]]></description><pubDate>Tue, 09 Dec 2025 03:07:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46200815</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=46200815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46200815</guid></item><item><title><![CDATA[New comment by copypaper in "We gave 5 LLMs $100K to trade stocks for 8 months"]]></title><description><![CDATA[
<p>>Each model gets access to market data, news APIs, company financials...<p>The article is very very vague on their methodology (unless I missed it somewhere else?). All I read was, "we gave AI access to market data and forced it to make trades". How often did these models run? Once a day? In a loop continuously? Did it have access to indicators (such as RSI)? Could it do arbitrary calculations with raw data? Etc...<p>I'm in the camp that AI will never be able to successfully trade on its own behalf. I know a couple of successful traders (and many unsuccessful!), and it took them years of learning and understanding before breaking even. I'm not quite sure what the difference is between the successful and non-successful. Some sort of subconscious knowledge from staring at charts all day? A level of intuition? Regardless, it's more than just market data and news.<p>I think AI will be invaluable as an assistant (disclaimer; I'm working on an AI trading assistant), but on its own? Never. Some things simply simply can't be solved with AI and I think this is one of them. I'm open to being wrong, but nothing has convinced me otherwise.</p>
]]></description><pubDate>Thu, 04 Dec 2025 23:55:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46155019</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=46155019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46155019</guid></item><item><title><![CDATA[New comment by copypaper in "Agent design is still hard"]]></title><description><![CDATA[
<p>Every single SDK I've used was a nightmare once you get past the basics. I ended up just using an OpenRouter client library [1] and writing agents by hand without an abstraction layer. Is it a little more boilerplatey? Yea. Does it take more LoC to write? Yea. Is it worth it? 100%. Despite writing more code, the mental model is much easier (personally) to follow and understand.<p>As for the actual agent I just do the following:<p>- Get metadata from initial query<p>- Pass relevant metadata to agent<p>- Agent is a reasoning model with tools and output<p>- Agent runs in a loop (max of n times). It will reason which tool calls to use<p>- If there is a tool call, execute it and continue the loop<p>- Once the agent outputs content, the loop is effectively finished and you have your output<p>This is effectively a ReAct agent. Thanks to the reasoning being built in, you don't need an additional evaluator step.<p>Tools can be anything. It can be a subagent with subagents, a database query, etc.
Need to do an agent handoff? Just output the result of the agent into a different agent. You don't need an sdk to do a workflow.<p>I've tried some other SDKs/frameworks (Eino and langchaingo), and personally found it quicker to do it manually (as described above) than fight against the framework.<p>[1]: <a href="https://github.com/reVrost/go-openrouter" rel="nofollow">https://github.com/reVrost/go-openrouter</a></p>
]]></description><pubDate>Sat, 22 Nov 2025 22:51:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46019052</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=46019052</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46019052</guid></item><item><title><![CDATA[New comment by copypaper in "Launch HN: JSX Tool (YC F25) – A Browser Dev-Panel IDE for React"]]></title><description><![CDATA[
<p>Regardless of which approach ends up being right, the tool itself is amazing. Best of luck with it!</p>
]]></description><pubDate>Thu, 13 Nov 2025 03:58:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45910446</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=45910446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45910446</guid></item><item><title><![CDATA[New comment by copypaper in "Launch HN: JSX Tool (YC F25) – A Browser Dev-Panel IDE for React"]]></title><description><![CDATA[
<p>This looks awesome!<p>>I needed it to be a pretty fully functional IDE. I needed [IDE feature]...<p>I'm just curious, why didn't you make this as a VS Code plugin to benefit from all the features of an IDE? I'd imagine you could do something similar to the Live Server plugin. That way you could support any browser and not worry about maintaining the IDE features.</p>
]]></description><pubDate>Thu, 13 Nov 2025 03:35:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45910270</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=45910270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45910270</guid></item><item><title><![CDATA[New comment by copypaper in "PlanetScale Offering $5 Databases"]]></title><description><![CDATA[
<p>Wow I didn't know he got laid off. I remember watching his videos a few years ago and absolutely loved his way of teaching. He's the reason I found out about PlanetScale to begin with.<p>Looking at their youtube channel, Aaron's videos had a total of ~1.4m views over 24 videos (an average of ~58k per video). Their recent videos don't even get past 1k views...</p>
]]></description><pubDate>Fri, 31 Oct 2025 06:25:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45768968</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=45768968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45768968</guid></item><item><title><![CDATA[New comment by copypaper in "TOON – Token Oriented Object Notation"]]></title><description><![CDATA[
<p>Yea exactly. The LLMs are tuned to natural language. I don't think anything will beat good ol' templating (a.k.a. plain text). In Go I do something like this:<p><pre><code>  // mytemplate.tmpl
  Description="The following data is for the users in our application."
  Format="id,name,role"
  length=2
  Data:
  {{range .}}
  {{.ID}}, {{.Name}}, {{.Role}}
  {{end}}
</code></pre>
This way you're able to change the formatting to something the LLM understands for each struct. The LLM might understand some structs better as JSON, others as YAML, and others in an arbitrary format. Templating gives you the most flexibility to choose which one will work best.</p>
]]></description><pubDate>Tue, 28 Oct 2025 07:10:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45729930</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=45729930</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45729930</guid></item><item><title><![CDATA[New comment by copypaper in "When 'perfect' code fails"]]></title><description><![CDATA[
<p>I think you're looking for `import 'server-only'` and not "use server";. Use server exposes functions as endpoints to the client. I.e. they are simply obfuscated api endpoints without boilerplate. Their main use is for mutations such as a form submission from the client.<p>Since pages are, by default, SSR, you don't need to have the server call out to itself to run an endpoint to check permissions. Instead, the server should just run the function.<p>I'm pretty sure Next does some behind the scenes black magic optimizations and doesn't actually make an API request over the wire, but it's still running through some layer of abstractions (causing it to be async) to run the function when instead it could simply be a synchronous function if implemented properly.<p>These abstractions make sense if you know how to use them properly, but I honestly blame Nextjs for the whole server action confusion. I remember when they first came out and seeing how almost every single question on /r/nextjs was about being confused about server actions. All these footguns and confusion to avoid some boilerplate... I'm not sure if they've improved it since, but I've moved to Svelte and haven't looked back.</p>
]]></description><pubDate>Sun, 26 Oct 2025 21:57:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45715523</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=45715523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45715523</guid></item><item><title><![CDATA[New comment by copypaper in "My trick for getting consistent classification from LLMs"]]></title><description><![CDATA[
<p>I originally settled on doing this, but the problem is that you have to re-calculate everything if you ever add/remove a category. If your categories will always be static, that will work fine. But it's more than likely you'll <i>eventually</i> have to add another category down the line.<p>If your categories are dynamic, the way OP handles it will be much cheaper as the number of tweets (or customer service calls in your case) grows, as long as the cache hit rate is >0%. Each tweet will get it's own label, i.e. "joke_about_bad_technology_choices". Each of these labels gets put into a category, i.e. "tech_jokes". If you add/remove a category you would still need to re-calculate everything, however you would only need to re-calculate the labels to categories as opposed to every single tweet. Since similar tweets can share the same labels, you end up with less labels than total amount of tweets. As you reach the asymptotic ceiling, as mentioned in OPs post, your cost to re-embed labels to categories also becomes an asymptotic ceiling.<p>If the number of items you're categorizing is a couple thousand at most and you rarely add/remove categories, it's probably not worth the complexity. But in my case (and ops) it's worth it as the number of items grows infinitely.</p>
]]></description><pubDate>Mon, 20 Oct 2025 23:27:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45650688</link><dc:creator>copypaper</dc:creator><comments>https://news.ycombinator.com/item?id=45650688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45650688</guid></item></channel></rss>