<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: realrocker</title><link>https://news.ycombinator.com/user?id=realrocker</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 13 Apr 2026 08:38:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=realrocker" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by realrocker in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>excellent work. I have been using a vscode extension for this for an year.</p>
]]></description><pubDate>Mon, 13 Apr 2026 01:58:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47746659</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=47746659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47746659</guid></item><item><title><![CDATA[New comment by realrocker in "I turned Markdown into a protocol for generative UI"]]></title><description><![CDATA[
<p>No that makes sense. Waiting for feedback might lead to churn. Pretty cool idea.</p>
]]></description><pubDate>Sat, 21 Mar 2026 13:11:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47466696</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=47466696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47466696</guid></item><item><title><![CDATA[New comment by realrocker in "I turned Markdown into a protocol for generative UI"]]></title><description><![CDATA[
<p>That is super cool. Sorry to be nitpicky but would really like to know your mental model: I didn’t understand from the blog why user waiting for a functional UI is a problem ? isn’t the partial streamed UI non-functional ?<p>I can see the value in early  user verification and maybe interrupting the LLM to not proceed on an invalid path but I guess this is customer facing so not as valuable.<p>"In interactive assistants, that latency makes or breaks the experience." Why ? Because user might just jump off ?<p>(edited)</p>
]]></description><pubDate>Sat, 21 Mar 2026 06:17:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47464453</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=47464453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47464453</guid></item><item><title><![CDATA[New comment by realrocker in "I turned Markdown into a protocol for generative UI"]]></title><description><![CDATA[
<p>The streamed execution idea is novel to me. Not sure what’s it significance ?<p>I have been working on something with a similar goal:<p><a href="https://github.com/livetemplate/tinkerdown" rel="nofollow">https://github.com/livetemplate/tinkerdown</a></p>
]]></description><pubDate>Thu, 19 Mar 2026 20:04:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47445097</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=47445097</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47445097</guid></item><item><title><![CDATA[New comment by realrocker in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p>Last time I wrote here was almost 6 years ago: <a href="https://honestmusings.wordpress.com" rel="nofollow noreferrer">https://honestmusings.wordpress.com</a>. Not sure when I will write again.</p>
]]></description><pubDate>Tue, 04 Jul 2023 22:54:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=36593554</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=36593554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36593554</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>The first step counter button is supposed to reload the page. The second step buttons update the page w/o reload</p>
]]></description><pubDate>Wed, 10 May 2023 06:46:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=35884406</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35884406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35884406</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>Hey. I have checked out pushup before. Its great. I guess I am taking a niche approach which not many would find useful. To clarify: What is adding more complexity? alpinejs ?</p>
]]></description><pubDate>Wed, 10 May 2023 02:05:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882777</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882777</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>Its locking and the state is shared. Didn’t expect a lot of interest for this or I would have built a better demo :)<p>htmx is great!</p>
]]></description><pubDate>Wed, 10 May 2023 01:59:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882732</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882732</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882732</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>The (claimed) value proposition is leveraging block/template to decompose the html page and bind its computation to browser events over a pubsub channel. Its a toolkit and not a framework so one can still use their favourite framework.  The Go library isn’t doing anything earth shattering but re-implementing the aforesaid design would still need to be done in any framework.</p>
]]></description><pubDate>Wed, 10 May 2023 01:58:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882723</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882723</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>The state is shared between users for the demo. Its possible to separate state in the library per user but I haven't enabled it.</p>
]]></description><pubDate>Wed, 10 May 2023 01:19:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882487</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882487</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>Yeah I was afraid of that. Websockets are costly. Thankfully the approach doesn't completely depend on websockets so I have disabled it for now on the site.</p>
]]></description><pubDate>Wed, 10 May 2023 01:02:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882368</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882368</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>It is intended as a longer-term project originating from the previous experiment: <a href="https://github.com/adnaan/gomodest">https://github.com/adnaan/gomodest</a>. You are right, a better selection criteria for the target audience should be enlisted. I have been working on this for a while so I just got greedy for some early feedback.</p>
]]></description><pubDate>Wed, 10 May 2023 01:00:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882360</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882360</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882360</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>This example has most of the scenarios you have called out: <a href="https://github.com/livefir/fir/tree/main/examples/fira">https://github.com/livefir/fir/tree/main/examples/fira</a>. Fir aims to limit itself to rendering templates on the server and making it available for all subscribers as a browser CustomEvent which is consumed by alpine.js for more complex interactivity. The expectation is the that the developer handles it via either alpine.js plugins or standard JS code.<p>[edit] This is still a work-in-progress so I will certainly add better guides and documentation moving forward. Although its good to get feedback that this approach might be interesting for at least some people.</p>
]]></description><pubDate>Wed, 10 May 2023 00:54:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882323</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882323</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js"]]></title><description><![CDATA[
<p>The app was on a 256mb instance. I have scaled it to 2gb. Let's hope its sufficient for now</p>
]]></description><pubDate>Wed, 10 May 2023 00:51:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=35882305</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35882305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35882305</guid></item><item><title><![CDATA[Show HN: Build progressively enhanced reactive HTML apps using Go and Alpine.js]]></title><description><![CDATA[
<p>Fir leverages Golang’s standard library html/template package and a bit of alpinejs to allow building reactive UIs. You start with plain old html and use alpinejs to enhance it to bring no-page-reload interactivity to web apps.<p>The Fir toolkit is designed for Go developers with moderate html/css & js skills who want to progressively build reactive web apps without mastering complex web frameworks. It includes a Go library and an Alpine.js plugin.<p>How it works ?<p>On receiving user-interactions the fir server re-renders html templates and sends it over the wire where the fir client library selectively updates the changed areas.<p>When a user event is received by a Fir route, an array of html templates are rendered on the server and returned as an array of DOM events to the browser. The DOM events are consumed by the alpinejs plugin and dispatched within the DOM where listeners attached to elements can use the event to update the DOM.<p>See the demo and quickstart here: <a href="https://livefir.fly.dev/" rel="nofollow">https://livefir.fly.dev/</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35881963">https://news.ycombinator.com/item?id=35881963</a></p>
<p>Points: 127</p>
<p># Comments: 43</p>
]]></description><pubDate>Wed, 10 May 2023 00:03:52 +0000</pubDate><link>https://livefir.fly.dev/</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35881963</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35881963</guid></item><item><title><![CDATA[New comment by realrocker in "Ask HN: What helps you focus and get things done?"]]></title><description><![CDATA[
<p>An in-situ todo list in every tool I use. In slack: scheduled messages, email: todo folder, git: todo.txt and so on. I no longer fight context switching and focus on  getting things done in an organised way every time I switch context to a new task.<p>To write complex code while I am procrastinating or context switching I have taken to writing in plain english what I want to achieve and then write code. It’s cheaper to get all the bad ideas out in plain english while making reasonable progress.</p>
]]></description><pubDate>Wed, 05 Apr 2023 20:26:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=35459907</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=35459907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35459907</guid></item><item><title><![CDATA[New comment by realrocker in "Ask HN: What companies are embracing “HTML over the wire”?"]]></title><description><![CDATA[
<p>Been working on a html over the wire library in Go: <a href="https://github.com/livefir/fir">https://github.com/livefir/fir</a>. It mostly works but still work in progress</p>
]]></description><pubDate>Fri, 10 Feb 2023 20:15:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=34745168</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=34745168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34745168</guid></item><item><title><![CDATA[New comment by realrocker in "People tricking ChatGPT “like watching an Asimov novel come to life”"]]></title><description><![CDATA[
<p>My prompt: A planet where story is currency used for buying food<p><a href="https://twitter.com/adnaanx/status/1598757303922065431?s=46&t=CpvyPWvP2uIg3jm4wRBPbQ" rel="nofollow">https://twitter.com/adnaanx/status/1598757303922065431?s=46&...</a></p>
]]></description><pubDate>Fri, 02 Dec 2022 20:21:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=33836339</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=33836339</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33836339</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: A Full-Stack Web Framework for Go"]]></title><description><![CDATA[
<p>Like you said in another thread, there are two choices here. I took the other choice because I wanted to: 1. not build a new templating language 2. not maintain a custom server side renderer(v8). 3. Keep javascript to the minimum 4. Build for developers who know Go and maybe a little html/css. 5. No special html attributes. It should be just standard html/template i.e easy to delete the websocket stuff if it doesn’t work for you 6. Offer a view library instead of a framework. Go users are likely to be more open to adopting a library.<p>The approach is similar to hotwire except I only use stimulusjs and not use turbojs. turbojs doesn’t integrate well with html/template. In my approach, you can simply reuse the html templates you have already written with standard html/template package.<p>Sorry for the rambling, I haven’t gotten around to writing down all of it in a more structured way.</p>
]]></description><pubDate>Sat, 14 May 2022 11:43:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=31377016</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=31377016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31377016</guid></item><item><title><![CDATA[New comment by realrocker in "Show HN: A Full-Stack Web Framework for Go"]]></title><description><![CDATA[
<p>Oh wow someone finally went ahead with the server rendered js in Go ! Looks great. I have been experimenting various ways to build web apps in Go: <a href="https://github.com/adnaan/gomodest-template" rel="nofollow">https://github.com/adnaan/gomodest-template</a>. I have landed on pursuing one approach more deeply: server rendered html templates over websockets. Don’t have a lot of documentation right now but here are some examples: <a href="https://github.com/goliveview/examples" rel="nofollow">https://github.com/goliveview/examples</a>.</p>
]]></description><pubDate>Sat, 14 May 2022 10:11:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=31376494</link><dc:creator>realrocker</dc:creator><comments>https://news.ycombinator.com/item?id=31376494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31376494</guid></item></channel></rss>