Skip to content

Add a blog post about porting code experiences#583

Merged
Jarzka merged 10 commits into
solita:masterfrom
Jarzka:master
May 11, 2026
Merged

Add a blog post about porting code experiences#583
Jarzka merged 10 commits into
solita:masterfrom
Jarzka:master

Conversation

@Jarzka
Copy link
Copy Markdown
Contributor

@Jarzka Jarzka commented May 8, 2026

No description provided.

@Jarzka Jarzka force-pushed the master branch 11 times, most recently from dd721a5 to 7ed6b72 Compare May 10, 2026 15:15
@solita-pekkara
Copy link
Copy Markdown

solita-pekkara commented May 11, 2026

Olisiko hyvä idea kuvata vähän miten suuri homma oli kyseessä, jotta lukijat saa paremman kuvan mittakaavasta. Ihan vaikka koodirivejä tai sitten monta tiedostoa piti portata tjsp

Copy link
Copy Markdown

@kimmora kimmora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💎

@Jarzka
Copy link
Copy Markdown
Contributor Author

Jarzka commented May 11, 2026

Olisiko hyvä idea kuvata vähän miten suuri homma oli kyseessä, jotta lukijat saa paremman kuvan mittakaavasta. Ihan vaikka koodirivejä tai sitten monta tiedostoa piti portata tjsp

Hyvä idea, lisätty planning-kohtaan maininta: several tens of thousands of lines

@Juholei
Copy link
Copy Markdown
Contributor

Juholei commented May 11, 2026

Mielenkiintoinen ja hyvin kirjoitettu postaus. Tällaisia juttuja tuli mieleen lukiessa:

  • Voisiko joissain kohdissa kun käytetään pelkästään termiä "AI" olla parempi käyttää termiä "agent" tai tietyissä tapauksissa LLM? Ihan vain vaihtelun mutta myös tarkemman ilmaisun takia.
  • Voisiko testeistä kertoa enemmän? Oliko aiemman toteutuksen testit toteutettu niin, että niitä voitiin käyttää suoraan uuden toteutuksen testaamiseen? Jos ei, niin kuinka varmistettiin, että portatut testit testaavat oikeasti jotain? Oliko käytössä esim. TDD-pohjainen agentti-workflow?
  • Ja viimeisenä klassikko: Onko postauksen oikeinkirjoitus ja kielioppi jo tarkistettu jollain työkalulla?

@Juholei
Copy link
Copy Markdown
Contributor

Juholei commented May 11, 2026

Mietin myös, että pitäisikö porttaukseen johtaneita syitä verrattuna porttauksen lopputulokseen käsitellä enemmän. Nopeusetu mainitaan, mutta olisiko tarpeen oma kappaleensa jossa käydään läpi miten uusi toteutus täytti sille asetetut tavoitteet.

@Jarzka
Copy link
Copy Markdown
Contributor Author

Jarzka commented May 11, 2026

Kiitos katselmoinnista @Juholei. Tehty muutoksia:

  • Vaihdettu osa soveltuvista "AI" termeistä muotoon "agent". Kieltämättä saman sanan toisteisuus hieman häiritsee lukemista.
  • Lisäsin yhden kappaleen testikoodista. Iso osa generaattorin testeistä oli tehty Playwrigtilla, joten niitä ei tarvinnut portata vaan voitiin ajaa suoraan uuden generaattorin outputtia vasten. Toki oli sitten kaikenlaista utilityä ym. joiden testit portattiin ja katselmointiin käsin.
  • Lisätty oma osio porttauksen lopputulemasta
  • Claude ja eräs toinen katselmoija on tarkistanut kieliopin :)


I might not have dared to start thinking about AI-assisted code porting without previous experience. Luckily, I had already ported my personal chess game project written in Java over 10 years ago into a web-based version. The porting was a success, so I was fairly convinced that AI had reached a level where even larger project's technology — several tens of thousands of lines — could be reasonably switched. The experience also gave me some intuition about how to approach a port and what to expect.

To begin code porting with AI, you need two things: An LLM (Large Language Model), which is essentially a machine that is used to generate text based on statistics and probabilities, and an AI agent that is able to figure things out on its own by using the LLM. In my case, the tool of choise was **GitHub Copilot** (the VS Code extension with agentic capabilities) and **Claude Opus 4.6** model.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

choise -> choice

@Jarzka Jarzka merged commit 2b11b58 into solita:master May 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants