<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: rikroots</title><link>https://news.ycombinator.com/user?id=rikroots</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 02 Oct 2026 10:23:18 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rikroots" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rikroots in "Fuck it, make it anyway"]]></title><description><![CDATA[
<p>I made a web-based multi-target screen recorder with talking head and teleprompt functionality because I fancied making an obscure tool to prove that I could. Maybe if I marketed it harder more people would know about it, but I'm not that guy.<p>I also made a image filter builder, hosted on the web so it runs locally, even though I knew that it was an over-saturated market. I saw those apps and decided to do better. It scratched an itch. Do people use it, or talk about it? Of course not - see above.<p>For both tools I did the initial coding myself, then let LLMs look at (but not change) the code so they could suggest areas for improvements. Engaging LLMs at that point, in that way, is fun work for me.<p>Just because things can do things faster, sometimes better, than me doesn't mean I should stop doing themselves myself. That's not a fun approach to life, for me.</p>
]]></description><pubDate>Sat, 12 Sep 2026 13:59:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49672388</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=49672388</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49672388</guid></item><item><title><![CDATA[New comment by rikroots in "Copyright does more harm than good and should be abolished"]]></title><description><![CDATA[
<p>It's not enough to invent (and patent) something. You also need to document it in various ways - so people know the invented thing exists, what it's for, how to use it, how to fix it, etc.<p>> poor people couldn't afford to buy a whole lot of books. And neither did they write them.<p>Thus the rise of circulating libraries in the 18th century, and the public (lending) library system in the 19th century. Especially after the establishment of mandatory education for children.</p>
]]></description><pubDate>Thu, 10 Sep 2026 07:19:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49639636</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=49639636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49639636</guid></item><item><title><![CDATA[New comment by rikroots in "Copyright does more harm than good and should be abolished"]]></title><description><![CDATA[
<p>Agreed. While copyright timescales are currently over-extended, copyright was introduced for a very practical reason: "An Act for the Encouragement of Learning, by vesting the Copies of Printed Books in the Authors or purchasers of such Copies, during the Times therein mentioned"[1].<p>Personally, I Copyleft my poetry, and make it available to others to use, even for commercial purposes, from 15 years after the poem's publication. I see no reason to keep them locked in a cage long after I'm done with them.<p>[1] - <a href="https://en.wikipedia.org/wiki/History_of_copyright" rel="nofollow">https://en.wikipedia.org/wiki/History_of_copyright</a></p>
]]></description><pubDate>Wed, 09 Sep 2026 08:39:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=49623263</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=49623263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49623263</guid></item><item><title><![CDATA[New comment by rikroots in "The revolt of the reader"]]></title><description><![CDATA[
<p>Oh, it's about avoiding LLM-generated slop. I was hoping it would be about the increasing trend over the past 20 years for writers to stop trusting their readers, and instead insist on telling the readers how they should read and interpret a piece of writing, as the reader is reading that work. Framing and triggers and stuff. Which I find really, really annoying, and leads - in my view - to safe, unadventurous and, yes, boring writing.<p>Of course I wrote an essay about this[1]. Here it is: <a href="https://rikverse2020.rikweb.org.uk/blog/how-not-to-train-your-reader" rel="nofollow">https://rikverse2020.rikweb.org.uk/blog/how-not-to-train-you...</a><p>[1] - Trigger warnings: discusses poetry; touches on using LLMs in the research phase of essay writing and poetry review.</p>
]]></description><pubDate>Sun, 06 Sep 2026 13:01:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49586158</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=49586158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49586158</guid></item><item><title><![CDATA[New comment by rikroots in "You might want to build your WebApp in Canvas instead of HTML"]]></title><description><![CDATA[
<p>Late to the thread, but I agree with everything in this comment. The best way to build a website (especially any sort of transaction and/or form) is with the standard tools: HTML, CSS, the smallest amount of JS necessary.<p>I've been working for a number of years to make the HTML canvas element more accessible for those situations where using a canvas element makes better sense (allegedly) than using standard tools - because there's always those special edge cases, and if people are going to use canvas elements then I want them to build them in the most accessible and responsive way possible.<p>I'll not spam my product, but as part of my work I have produced a webpage where I try to list the things a HTML canvas element needs to do to meet WCAG requirements. These are my own, personal views so challenging my claims is entirely justifiable, and correct!<p><a href="https://scrawl-v8.rikweb.org.uk/docs/reference/sc-accessibility.html" rel="nofollow">https://scrawl-v8.rikweb.org.uk/docs/reference/sc-accessibil...</a></p>
]]></description><pubDate>Sun, 16 Aug 2026 07:30:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49317722</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=49317722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49317722</guid></item><item><title><![CDATA[New comment by rikroots in "Return of the Nigerian Prince Redux: Beware Book Club and Book Review Scams (2025)"]]></title><description><![CDATA[
<p>Oh, excellent! I thought I was the only author (idiotic enough) to give away my books for free. I choose to call it altruism, but the truth is that I got sick of the whole marketing-and-promotion meat grinder a long while back and decided I wanted to write books I wanted to read, rather than writing what someone else thought they could sell. I am now proud to call myself a Hobbyist Indie Author. Perhaps we could start an insurgency together?</p>
]]></description><pubDate>Sun, 05 Jul 2026 11:37:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48793347</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=48793347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48793347</guid></item><item><title><![CDATA[New comment by rikroots in "Getting Creative with Perlin Noise Fields"]]></title><description><![CDATA[
<p>It turns out that adding noise to gradients is a really useful thing to do - so many new effects can be created with just a few additional parameters. Sadly, CSS and Canvas API gradients (linear, radial, conic) are very basic implementations (and SVG is not much more advanced).<p>Recently I did some work to add software gradient enhancements to my canvas library. Because these run on the CPU rather than GPU they're computationally intense, but still worth the effort just to see what can be done with different spreads (pad, repeat, reflect, transparent) and noise engine operations inserted while calculating stuff like gradient color selection, and pixel positioning.<p>Linear gradient demo test - <a href="https://scrawl-v8.rikweb.org.uk/demo/canvas-003.html" rel="nofollow">https://scrawl-v8.rikweb.org.uk/demo/canvas-003.html</a></p>
]]></description><pubDate>Tue, 16 Jun 2026 11:14:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48553448</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=48553448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48553448</guid></item><item><title><![CDATA[New comment by rikroots in ""Don't You Just Upload It to ChatGPT?""]]></title><description><![CDATA[
<p>I learned last year that "translation" can be a very tricky thing. Because there's never a one-to-one correlation between one language's words, phrases, structures and metaphors, and another language's equivalent stuff. And LLM translations may not be the actual translation you want, or need.<p>I wrote up my experiences of translating Lorca and Cavafy poems here[1]. tl;dr: I have developed a massive new respect for translators; however much they're being paid, they probably need to be paid more!<p>[1] - <a href="https://rikverse2020.rikweb.org.uk/blog/adventures-in-poetry-translation" rel="nofollow">https://rikverse2020.rikweb.org.uk/blog/adventures-in-poetry...</a></p>
]]></description><pubDate>Sat, 13 Jun 2026 11:52:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48516342</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=48516342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48516342</guid></item><item><title><![CDATA[Show HN: A local-only image filter editor and batch processor in the browser]]></title><description><![CDATA[
<p>Article URL: <a href="https://kaliedarik.github.io/sc-filter-builder/">https://kaliedarik.github.io/sc-filter-builder/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48053166">https://news.ycombinator.com/item?id=48053166</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 07 May 2026 18:43:22 +0000</pubDate><link>https://kaliedarik.github.io/sc-filter-builder/</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=48053166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48053166</guid></item><item><title><![CDATA[New comment by rikroots in "Write some software, give it away for free"]]></title><description><![CDATA[
<p>I give my side projects away for free because I have a $job to pay for the roof over my head, food, etc. and don't feel the need to make more money from my hobby work.<p>I create my side projects in the first place because I like to prove to myself that it is possible to do mad stuff in the browser - like a screen recorder with canvas composition, teleprompter, live annotations and talking-head overlay[1]. Or an SVG-inspired image filter builder for local batch application to images (still a WIP but almost there)[2].<p>It doesn't cost me any money to host the results, so: why not?<p>[1] - <a href="https://kaliedarik.github.io/sc-screen-recorder/" rel="nofollow">https://kaliedarik.github.io/sc-screen-recorder/</a><p>[2] - <a href="https://kaliedarik.github.io/sc-filter-builder/" rel="nofollow">https://kaliedarik.github.io/sc-filter-builder/</a></p>
]]></description><pubDate>Wed, 06 May 2026 11:54:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=48035178</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=48035178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48035178</guid></item><item><title><![CDATA[New comment by rikroots in "Stitch together lots of little HTML pages with navigations for interactions"]]></title><description><![CDATA[
<p>> when it's much easier to just build a nice website using JavaScript<p>I'm currently building a web-based tool that uses dynamic forms for UI, without the help of of a framework (yeah I know; I have reasons). This is the result: <a href="https://github.com/KaliedaRik/sc-filter-builder/blob/main/js-modules/form-builder.js" rel="nofollow">https://github.com/KaliedaRik/sc-filter-builder/blob/main/js...</a><p>It's not "easier" using Javascript; raw Javascript websites are a nightmare to build, maintain and reason about. It <i>is</i> "easier" with Javascript + current-favourite-framework-of-the-day.<p>Also: accessibility, SEO, the all-new Generative Engine Optimization (GEO) thing, etc.</p>
]]></description><pubDate>Mon, 04 May 2026 10:31:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48006847</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=48006847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48006847</guid></item><item><title><![CDATA[New comment by rikroots in "What can we gain by losing infinity?"]]></title><description><![CDATA[
<p>Last year I made the mistake of asking ChatGPT what the world would look like if `∞ === -∞` and it took me seriously (I think) and led me on an hours-long dance where in the end it had me trying to prove, mathematically, that `2 > 1` ... and it was at that point I realised that I'm not cut out to think in numbers and maybe it was for the best that I failed my end-of-school Maths exam</p>
]]></description><pubDate>Thu, 30 Apr 2026 16:59:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47965303</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47965303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47965303</guid></item><item><title><![CDATA[New comment by rikroots in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>I'm building a client-side-only web page that will (eventually) allow users to build their own image filter and batch-apply it to a bunch of images.<p><a href="https://kaliedarik.github.io/sc-filter-builder/" rel="nofollow">https://kaliedarik.github.io/sc-filter-builder/</a><p>No idea if anyone will be interested in using such a (free, MIT) web tool, but I'm having lots of fun putting my canvas library's filter engine (which is inspired by SVG chainable filters) through its paces.</p>
]]></description><pubDate>Mon, 13 Apr 2026 16:49:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47754763</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47754763</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47754763</guid></item><item><title><![CDATA[New comment by rikroots in "Generative art over the years"]]></title><description><![CDATA[
<p>> I spent a fair amount of time with p5 etc, but the results always felt limited and brittle.<p>I wrote a JS canvas library[1] partly because existing libraries of the time (2013) didn't do what I wanted a canvas library to do. Things like animated gradients and patterns, etc. I'm still working on the library today - so thats 12+ years of my spare time gone!<p>Generative art - such as challenges like Genuary[2] - is a key tool for giving me ideas on how to develop the library further. I keep CodePens of some of my better efforts[3] around as a set of extra tests to check for breaking changes as I fiddle with the library.<p>[1] - <a href="https://github.com/KaliedaRik/Scrawl-canvas" rel="nofollow">https://github.com/KaliedaRik/Scrawl-canvas</a><p>[2] - <a href="https://genuary.art/" rel="nofollow">https://genuary.art/</a><p>[3] - <a href="https://codepen.io/collection/RzzMjw" rel="nofollow">https://codepen.io/collection/RzzMjw</a></p>
]]></description><pubDate>Fri, 10 Apr 2026 18:55:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47722161</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47722161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47722161</guid></item><item><title><![CDATA[New comment by rikroots in "Record demo videos in the browser: multi-screen, camera, annotations, subtitles"]]></title><description><![CDATA[
<p>No install, no backend, no fees. MIT licensed for hacking and local use.<p>Link to tool: <a href="https://kaliedarik.github.io/sc-screen-recorder/" rel="nofollow">https://kaliedarik.github.io/sc-screen-recorder/</a></p>
]]></description><pubDate>Sun, 05 Apr 2026 09:14:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47647549</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47647549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47647549</guid></item><item><title><![CDATA[Record demo videos in the browser: multi-screen, camera, annotations, subtitles]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/KaliedaRik/sc-screen-recorder/blob/main/README.md">https://github.com/KaliedaRik/sc-screen-recorder/blob/main/README.md</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47647548">https://news.ycombinator.com/item?id=47647548</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 05 Apr 2026 09:14:29 +0000</pubDate><link>https://github.com/KaliedaRik/sc-screen-recorder/blob/main/README.md</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47647548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47647548</guid></item><item><title><![CDATA[New comment by rikroots in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>> the wheel template can have some letter parts like the top of L or d extend beyond the wheel<p>Yeah - I use the template (in that case, a circle) to calculate line lengths, then I run 2d text along the 1d lines. Even if I tried to keep all of the glyphs inside the wheel I'd fail - because some fonts lie about how tall they are. Fonts are, basically, criminals.</p>
]]></description><pubDate>Mon, 30 Mar 2026 07:12:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47571338</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47571338</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47571338</guid></item><item><title><![CDATA[New comment by rikroots in "Pretext: TypeScript library for multiline text measurement and layout"]]></title><description><![CDATA[
<p>> This thing is very impressive.<p>Agreed! Text layout engines are stupidly hard. You start out thinking "It's a hard task, but I can do it" and then 3 months later you find yourself in a corner screaming "Why, Chinese? Why do you need to rotate your punctuation differently when you render in columns??"<p>This effort feeds back to the DOM, making it far more useful than my efforts which are confined to rendering multiline text on a canvas - for example: <a href="https://scrawl-v8.rikweb.org.uk/demo/canvas-206.html" rel="nofollow">https://scrawl-v8.rikweb.org.uk/demo/canvas-206.html</a></p>
]]></description><pubDate>Sun, 29 Mar 2026 19:33:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47566413</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47566413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47566413</guid></item><item><title><![CDATA[New comment by rikroots in "Professional video editing, right in the browser with WebGPU and WASM"]]></title><description><![CDATA[
<p>My tool uses the browser's built in encoders (which vary by browser, but whatever). I did use wasm though, for the MediaPipe background removal stuff.<p><a href="https://kaliedarik.github.io/sc-screen-recorder/" rel="nofollow">https://kaliedarik.github.io/sc-screen-recorder/</a></p>
]]></description><pubDate>Sun, 22 Mar 2026 13:30:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47477359</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47477359</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47477359</guid></item><item><title><![CDATA[New comment by rikroots in "Scrawl-Canvas Screen Recorder"]]></title><description><![CDATA[
<p>Browser screen recorder with canvas composition, teleprompter, live annotations and talking-head overlay.</p>
]]></description><pubDate>Mon, 16 Mar 2026 17:19:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47401900</link><dc:creator>rikroots</dc:creator><comments>https://news.ycombinator.com/item?id=47401900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47401900</guid></item></channel></rss>