{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreierhzjst3maakwu6l3sk5gym62ztvjnxehavbdralp3a3orots7z4",
    "uri": "at://did:plc:6hbglz6d23ddtbkjolxkk6tk/app.bsky.feed.post/3miy6rnz3okp2"
  },
  "path": "/2026/04/07/sok-final-keshav-nanda/",
  "publishedAt": "2026-04-07T00:00:00.000Z",
  "site": "https://blogs.kde.org",
  "tags": [
    "mid-term blog post",
    "Finley Watson",
    "Aviral Singh",
    "MR",
    "MR !121",
    "Scripty's existing logs"
  ],
  "textContent": "Greetings to everyone in the KDE community!\n\nAs SoK '26 comes to a close, this blog post summarizes the work done in the second half. Please refer to my mid-term blog post for further context.\n\nMy SoK task was to ensure all the `.pot` files generated have source references relative to the project root.\n\nUpon discussion with my mentor, Finley Watson, and my teammate Aviral Singh, we decided to create merge requests to a throwaway repo made by our mentor to ensure that all the messy commits are cleaned up and functioning well. This was also done to ensure that the MRs don't create regressions of any kind.\n\nI created an MR that modifies the `createdesktopcontext.pl` file. Instead of using lazy regex to manipulate the path string and extract a basename, I used Perl's built-in `File::Spec->abs2rel` to compute the correct project-root-relative path programmatically.\n\nI also created MR !121 which makes use of Aviral's validation script to ensure that the logs generated match the format of Scripty's existing logs. The MR ensures that there is:\n\n  1. One `WARNING in <file>: <message>` line per bad path\n  2. One self-contained summary line per POT, always printed\n  3. Zero noise when everything is clean\n\n\n\n## Conclusion\n\nLooking back, SoK has taught me a lot of things. I've learnt how to navigate complex codebases, read and write Bash and Perl, and deal with complex version control rather than just `git add .`, `git commit -m` and `git push` ;)\n\nI've also realised how important commit history and messages are (which I never paid much attention to while developing personal projects). Overall, this has been an amazing and enjoyable experience for me and I would like to thank my mentor Fin for the guidance, and Aviral for being a great teammate throughout.",
  "title": "Season of KDE 2026 – Final Blog"
}