<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: trsthales</title><link>https://news.ycombinator.com/user?id=trsthales</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 29 Aug 2026 08:05:30 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=trsthales" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by trsthales in "I built an engine to migrate Oracle PL/SQL to Java"]]></title><description><![CDATA[
<p>Hey HN, OP here.
I've spent the last few months building a tool to help migrate legacy Oracle systems, specifically the heavy business logic trapped in PL/SQL packages.
The Problem: Most migration tools fail on complex logic like CONNECT BY (recursion), SELECT FOR UPDATE (locking), or extensive cursor loops. LLMs alone hallucinate variables or forget context.
The Solution: I built a pipeline that mixes AST parsing with LLMs (Claude Sonnet/Gemini). It works in stages:
Pre-Analysis: Maps the schema and detects complexity patterns.
Planning: Decides the architecture (Services, DTOs).
Generation: Converts SQL to Java 17/Spring Boot 3.3.
Self-Healing: A feedback loop that tries to compile the code in a Docker sandbox and fixes syntax errors automatically before delivering.
It handles recursive queries by converting them to WITH RECURSIVE CTEs in JPQL/Native Query, and maps FOR UPDATE to JPA Pessimistic Locks.
It's running on Node.js with BullMQ/Redis for the async processing queue.
I'd love to hear your feedback on the generated code quality.
Link to demo: <a href="https://blog.thalesouza.com.br/en/blog/logic-migration/" rel="nofollow">https://blog.thalesouza.com.br/en/blog/logic-migration/</a></p>
]]></description><pubDate>Tue, 24 Feb 2026 21:28:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47143340</link><dc:creator>trsthales</dc:creator><comments>https://news.ycombinator.com/item?id=47143340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47143340</guid></item><item><title><![CDATA[I built an engine to migrate Oracle PL/SQL to Java]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.thalesouza.com.br/en/blog/logic-migration/">https://blog.thalesouza.com.br/en/blog/logic-migration/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47143331">https://news.ycombinator.com/item?id=47143331</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 24 Feb 2026 21:27:31 +0000</pubDate><link>https://blog.thalesouza.com.br/en/blog/logic-migration/</link><dc:creator>trsthales</dc:creator><comments>https://news.ycombinator.com/item?id=47143331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47143331</guid></item><item><title><![CDATA[New comment by trsthales in "StackForge – Visual full-stack generator using JSON Logic"]]></title><description><![CDATA[
<p>Hello HN, maker here.<p>I built StackForge because I was tired of the "Day 1" problem: setting up Auth, Stripe, Prisma, and Docker configurations for every new SaaS idea.<p>Most low-code tools lock you into their ecosystem. I wanted an "accelerator" that outputs standard, clean code that I can eject and host anywhere.<p>The Stack:
- Frontend: React 19 + Vite 7 (Tailwind)
- Backend: Node.js + Express 5
- ORM: Prisma (with auto-generated schemas)
- DB: PostgreSQL (via Docker Compose)<p>The interesting technical challenge was handling business rules safely. Instead of using LLMs to write execute-only code (which is dangerous), I use Llama 3 to translate natural language rules into "JSON Logic". This creates a portable logic layer that runs on both the Frontend (for instant UI feedback) and Backend (for Zod validation), without using eval().<p>It is currently in Public Beta. The output is a standard ZIP file.<p>I would love your feedback on the generated folder structure and the developer experience.</p>
]]></description><pubDate>Sun, 18 Jan 2026 13:09:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46667540</link><dc:creator>trsthales</dc:creator><comments>https://news.ycombinator.com/item?id=46667540</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46667540</guid></item><item><title><![CDATA[StackForge – Visual full-stack generator using JSON Logic]]></title><description><![CDATA[
<p>Article URL: <a href="https://stackforge.com.br">https://stackforge.com.br</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46667534">https://news.ycombinator.com/item?id=46667534</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 18 Jan 2026 13:08:31 +0000</pubDate><link>https://stackforge.com.br</link><dc:creator>trsthales</dc:creator><comments>https://news.ycombinator.com/item?id=46667534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46667534</guid></item></channel></rss>