{"chain":[{"channel":"cities","content":"<teal> <<< \u0160irvintos is a small town in eastern Lithuania, serving as the administrative center of the \u0160irvintos District Municipality within Vilnius County. It lies approximately 50 km northwest of Vilnius, the capital, and is part of the ethnographic region of Auk\u0161taitija.\r\n\r\nThe town has a population of around 6,000\u20137,000 people and is situated along the \u0160irvinta River, from which it takes its name. \u0160irvintos is known for its quiet atmosphere, a modest but tidy town center, and its recent urban revitalization efforts. In the past decade, significant EU-funded improvements have transformed parts of the town\u2014new public spaces, walking paths, renovated streets, and cultural sites have been developed to make it more livable and attractive. >>>\r\n\r\nThe focus today is \"Trakaido\".  Here is a list of 21 things to do, and 3 things that got finished before I wrote this post.\r\n\r\n# it needs an \"audio production pipeline\" that is less bad than the current one.  This includes better \"here are new words, generate audio and upload it\" tooling, and better \"audio double-checking\" (<xantham> no LLM tool is perfect).\r\n# additional grammar\r\n# \"phrases\"\r\n# integration with Greenland\r\n# additional language support\r\n# access to images (\"ball\", \"France\", \"carrot\")\r\n# \"how to type Lithuanian\" - transcribe << \u017eem\u0117s rie\u0161utas >>\r\n# Improve the \"Study Materials\" management\r\n# On some of the audio, you can hear an \"inhale\" breath before the word is pronounced. (<xantham> this is a demonstration of the LLM's ability to generate real-life quality content.  unfortunately, it is still wrong) (<red> building a better \"audio transcription lab\" tool is still out-of-bailiwick)\r\n# The options for 6/8 multiple choices don't work as well on mobile.\r\n# The \"hints\" shouldn't show up in LT->EN mode.  \"It's a shape\" when only 1 MultChoice answer is a shape.\r\n# Some of the time, the audio should play without \"click/hover\" (and there should be pre-loading for this).\r\n# The fact that the layout \"jumps\" when the buttons get bigger (because the translation is added) is problematic and needs to be fixed, not just worked around.\r\n# There should be a visible << is muted? >> option, separate from the broad settings.\r\n# the original design for the app was to choose a random voice.  the *machine* took that function out.  It should come back in some way.\r\n# a \"splash screen\" when they enter.\r\n# an intro screen that is self-explanatory, *OR*, a \"new user tutorial\"\r\n# either \"start as new user\", \"start with some skill\", or \"start as expert\".  For a \"new user\", we start with 20 words and go from there.  For \"some skill\" ... the app can try to *assess* strengths and weaknesses.  (<xantham> i *can* do the math, just not right now.)  For \"expert\" ... we assume they know (or at least have context to understand) everything.  review, reminder, and fun are the focus.\r\n# \"dialogues\" - demonstrate competence and mastery. (<xantham> the dialogues might have xantham) (<red> the colors are *not* separate character-voices.  so, probably not xantham.) (<orange> Lithuanian doesn't have the letter \"X\")\r\n# \"Display words in corpus\" - list all the 20 words in a group, with translation and \"play audio\".\r\n# I explicitly dislike the interstitial \"Keep going, you're doing great\" screens ... but other people are very likely to disagree.  Maybe I can find a compromise ...\r\n\r\n\r\nDONE:\r\n# re-factor the \"Lithuanian API\" and some CSS out.  reconsider architecture choices.  This *really* wants to take advantage of React components in a way that the current architecture does not allow.\r\n# Collapse the options, to a drop-down of modes (\"Flash Cards\", \"Multiple Choice\", \"Grammar\"), and have a second drop-down for details (EN-LT direction, which \"Grammar\" mode, etc.)\r\n# \"Save Corpus Choices\" - we don't want to \"lock\" to a restricted set forever.  or do we?  Maybe a nudge ( \"enable more corpuses\" or \"do you want to add this corpus\" ) is the way to go.","created_at":"2025-06-10T00:39:49.020482","id":579,"is_target":false,"parent_id":null,"processed_content":"<div class=\"mlq color-teal\"><button type=\"button\" class=\"mlq-collapse\" aria-label=\"Toggle visibility\"><span class=\"mlq-collapse-icon\">\ud83e\udd16</span></button><div class=\"mlq-content\"><p> \u0160irvintos is a small town in eastern Lithuania, serving as the administrative center of the \u0160irvintos District Municipality within Vilnius County. It lies approximately 50 km northwest of Vilnius, the capital, and is part of the ethnographic region of Auk\u0161taitija.\r</p>\n<p>The town has a population of around 6,000\u20137,000 people and is situated along the \u0160irvinta River, from which it takes its name. \u0160irvintos is known for its quiet atmosphere, a modest but tidy town center, and its recent urban revitalization efforts. In the past decade, significant EU-funded improvements have transformed parts of the town\u2014new public spaces, walking paths, renovated streets, and cultural sites have been developed to make it more livable and attractive. </p></div></div>\n<p>The focus today is \"Trakaido\".  Here is a list of 21 things to do, and 3 things that got finished before I wrote this post.\r</p>\n<ul>\n<li class=\"number-list\"> it needs an \"audio production pipeline\" that is less bad than the current one.  This includes better \"here are new words, generate audio and upload it\" tooling, and better \"audio double-checking\" <span class=\"colorblock color-xantham\"><span class=\"sigil\">\ud83d\udd25</span><span class=\"colortext-content\"> no LLM tool is perfect</span></span>.\r</li>\n<li class=\"number-list\"> additional grammar\r</li>\n<li class=\"number-list\"> \"phrases\"\r</li>\n<li class=\"number-list\"> integration with Greenland\r</li>\n<li class=\"number-list\"> additional language support\r</li>\n<li class=\"number-list\"> access to images (\"ball\", \"France\", \"carrot\")\r</li>\n<li class=\"number-list\"> \"how to type Lithuanian\" - transcribe <span class=\"literal-text\">\u017eem\u0117s rie\u0161utas</span>\r</li>\n<li class=\"number-list\"> Improve the \"Study Materials\" management\r</li>\n<li class=\"number-list\"> On some of the audio, you can hear an \"inhale\" breath before the word is pronounced. <span class=\"colorblock color-xantham\"><span class=\"sigil\">\ud83d\udd25</span><span class=\"colortext-content\"> this is a demonstration of the LLM's ability to generate real-life quality content.  unfortunately, it is still wrong</span></span> <span class=\"colorblock color-red\"><span class=\"sigil\">\ud83d\udca1</span><span class=\"colortext-content\"> building a better \"audio transcription lab\" tool is still out-of-bailiwick</span></span>\r</li>\n<li class=\"number-list\"> The options for 6/8 multiple choices don't work as well on mobile.\r</li>\n<li class=\"number-list\"> The \"hints\" shouldn't show up in LT-&gt;EN mode.  \"It's a shape\" when only 1 MultChoice answer is a shape.\r</li>\n<li class=\"number-list\"> Some of the time, the audio should play without \"click/hover\" (and there should be pre-loading for this).\r</li>\n<li class=\"number-list\"> The fact that the layout \"jumps\" when the buttons get bigger (because the translation is added) is problematic and needs to be fixed, not just worked around.\r</li>\n<li class=\"number-list\"> There should be a visible <span class=\"literal-text\">is muted?</span> option, separate from the broad settings.\r</li>\n<li class=\"number-list\"> the original design for the app was to choose a random voice.  the <em>machine</em> took that function out.  It should come back in some way.\r</li>\n<li class=\"number-list\"> a \"splash screen\" when they enter.\r</li>\n<li class=\"number-list\"> an intro screen that is self-explanatory, <em>OR</em>, a \"new user tutorial\"\r</li>\n<li class=\"number-list\"> either \"start as new user\", \"start with some skill\", or \"start as expert\".  For a \"new user\", we start with 20 words and go from there.  For \"some skill\" ... the app can try to <em>assess</em> strengths and weaknesses.  <span class=\"colorblock color-xantham\"><span class=\"sigil\">\ud83d\udd25</span><span class=\"colortext-content\"> i <em>can</em> do the math, just not right now.</span></span>  For \"expert\" ... we assume they know (or at least have context to understand) everything.  review, reminder, and fun are the focus.\r</li>\n<li class=\"number-list\"> \"dialogues\" - demonstrate competence and mastery. <span class=\"colorblock color-xantham\"><span class=\"sigil\">\ud83d\udd25</span><span class=\"colortext-content\"> the dialogues might have xantham</span></span> <span class=\"colorblock color-red\"><span class=\"sigil\">\ud83d\udca1</span><span class=\"colortext-content\"> the colors are <em>not</em> separate character-voices.  so, probably not xantham.</span></span> <span class=\"colorblock color-orange\"><span class=\"sigil\">\u2694\ufe0f</span><span class=\"colortext-content\"> Lithuanian doesn't have the letter \"X\"</span></span>\r</li>\n<li class=\"number-list\"> \"Display words in corpus\" - list all the 20 words in a group, with translation and \"play audio\".\r</li>\n<li class=\"number-list\"> I explicitly dislike the interstitial \"Keep going, you're doing great\" screens ... but other people are very likely to disagree.  Maybe I can find a compromise ...\r</li>\n</ul>\n<p>DONE:\r</p>\n<ul>\n<li class=\"number-list\"> re-factor the \"Lithuanian API\" and some CSS out.  reconsider architecture choices.  This <em>really</em> wants to take advantage of React components in a way that the current architecture does not allow.\r</li>\n<li class=\"number-list\"> Collapse the options, to a drop-down of modes (\"Flash Cards\", \"Multiple Choice\", \"Grammar\"), and have a second drop-down for details (EN-LT direction, which \"Grammar\" mode, etc.)\r</li>\n<li class=\"number-list\"> \"Save Corpus Choices\" - we don't want to \"lock\" to a restricted set forever.  or do we?  Maybe a nudge ( \"enable more corpuses\" or \"do you want to add this corpus\" ) is the way to go.</li>\n</ul>","subject":"\u0161irvintos, part 1"},{"channel":"cities","content":"An early version is available at https://earlyversion.com/trakaido .\r\n\r\nStill to be done:\r\n# The \"Journey\" mode has several issues.  The logic of gradually rolling out new words (<xantham> and, of course, *SPACED REPETITION!!1!*) isn't done yet.\r\n# The layout on mobile devices is somewhere between << mediocre >> and << unusable >>.\r\n# The audio files are only about 98% good, rather than 100%. (<green> the OpenAI API is not suitable for reviewing audio files.  I don't want to spend a week building an \"Audio Lab\" that will more deterministically assess << is there breathing in the file >> or << are the sounds all correct >>.  Or do I?)\r\n# There are a few bugs where the audio doesn't play when/where it is supposed to.\r\n\r\nThe list of things that were done, beyond the fold:\r\n\r\n--MORE--\r\n\r\nThe features done in the past few days:\r\n\r\n1. re-factor the \"Lithuanian API\" and some CSS out.  reconsider architecture choices.  This *really* wants to take advantage of React components in a way that the current architecture does not allow\r\n2. Collapse the options, to a drop-down of modes (\"Flash Cards\", \"Multiple Choice\", \"Grammar\"), and have a second drop-down for details (EN-LT direction, which \"Grammar\" mode, etc.)\r\n3. \"Save Corpus Choices\" - we don't want to \"lock\" to a restricted set forever.  or do we?  Maybe a nudge ( \"enable more corpuses\" or \"do you want to add this corpus\" ) is the way to go\r\n4. \"Display words in corpus\" - list all the 20 words in a group, with translation and \"play audio\".\r\n5. \"how to type Lithuanian\" - transcribe << \u017eem\u0117s rie\u0161utas >>\r\n6. There should be a visible \"?is-muted\" option, separate from the broad settings.\r\n7. switch to \"Components\"\r\n8. the *INTENT* of the app was to choose a random voice.  the *machine* took that function out.  It should come back in some way.\r\n9. a \"splash screen\" when they enter.\r\n10. The fact that the layout \"jumps\" when the buttons get bigger (because the translation is added) is problematic and needs to be fixed, not just worked around.\r\n11. Improve the \"Study Materials\" management (now a \"Modal\")\r\n12. Update the \"wordlists\" file format - should be one \"main file\" with imports and helper functions, and one \"wordlist file\" per corpus (nouns_one, nouns_two, etc.)\r\n13. \"phrases\"\r\n14. integration with Greenland\r\n15. an intro screen that is self-explanatory, *OR*, a \"new user tutorial\"\r\n16. either \"start as new user\", \"start with some skill\", or \"start as expert\"\r\nA. for \"new user\", we start with 20 words and go from there\r\nB. for \"some skill\" ... the app can try to *assess* strengths and weaknesses.  i *can* do the math, just not right now.\r\nC. for \"expert\" ... we assume they know (or at least have context to understand) everything.  review, reminder, and fun are the focus.\r\n17. \"Journey Mode\" created.\r\n18. In Journey Mode, consecutive \"Typing mode\" questions means the second one fails as incorrect with the first question's response\r\n19. When switching from \"present tense\" to \"past tense\", the verb should remain the same.","created_at":"2025-06-13T18:14:52.259164","id":585,"is_target":false,"parent_id":579,"processed_content":"<p>An early version is available at <a href=\"https://earlyversion.com/trakaido\" target=\"_blank\" rel=\"noopener noreferrer\">https://earlyversion.com/trakaido</a> .\r</p>\n<p>Still to be done:\r</p>\n<ul>\n<li class=\"number-list\"> The \"Journey\" mode has several issues.  The logic of gradually rolling out new words <span class=\"colorblock color-xantham\"><span class=\"sigil\">\ud83d\udd25</span><span class=\"colortext-content\"> and, of course, <em>SPACED REPETITION!!1!</em></span></span> isn't done yet.\r</li>\n<li class=\"number-list\"> The layout on mobile devices is somewhere between <span class=\"literal-text\">mediocre</span> and <span class=\"literal-text\">unusable</span>.\r</li>\n<li class=\"number-list\"> The audio files are only about 98% good, rather than 100%. <span class=\"colorblock color-green\"><span class=\"sigil\">\u2699\ufe0f</span><span class=\"colortext-content\"> the OpenAI API is not suitable for reviewing audio files.  I don't want to spend a week building an \"Audio Lab\" that will more deterministically assess <span class=\"literal-text\">is there breathing in the file</span> or <span class=\"literal-text\">are the sounds all correct</span>.  Or do I?</span></span>\r</li>\n<li class=\"number-list\"> There are a few bugs where the audio doesn't play when/where it is supposed to.\r</li>\n</ul>\n<p>The list of things that were done, beyond the fold:\r</p>\n<div class=\"content-sigil\" aria-label=\"Extended content begins here\">&#9135;&#9135;&#9135;&#9135;&#9135;</div>\n<p>The features done in the past few days:\r</p>\n<p>1. re-factor the \"Lithuanian API\" and some CSS out.  reconsider architecture choices.  This <em>really</em> wants to take advantage of React components in a way that the current architecture does not allow\r</p>\n<p>2. Collapse the options, to a drop-down of modes (\"Flash Cards\", \"Multiple Choice\", \"Grammar\"), and have a second drop-down for details (EN-LT direction, which \"Grammar\" mode, etc.)\r</p>\n<p>3. \"Save Corpus Choices\" - we don't want to \"lock\" to a restricted set forever.  or do we?  Maybe a nudge ( \"enable more corpuses\" or \"do you want to add this corpus\" ) is the way to go\r</p>\n<p>4. \"Display words in corpus\" - list all the 20 words in a group, with translation and \"play audio\".\r</p>\n<p>5. \"how to type Lithuanian\" - transcribe <span class=\"literal-text\">\u017eem\u0117s rie\u0161utas</span>\r</p>\n<p>6. There should be a visible \"?is-muted\" option, separate from the broad settings.\r</p>\n<p>7. switch to \"Components\"\r</p>\n<p>8. the <em>INTENT</em> of the app was to choose a random voice.  the <em>machine</em> took that function out.  It should come back in some way.\r</p>\n<p>9. a \"splash screen\" when they enter.\r</p>\n<p>10. The fact that the layout \"jumps\" when the buttons get bigger (because the translation is added) is problematic and needs to be fixed, not just worked around.\r</p>\n<p>11. Improve the \"Study Materials\" management (now a \"Modal\")\r</p>\n<p>12. Update the \"wordlists\" file format - should be one \"main file\" with imports and helper functions, and one \"wordlist file\" per corpus (nouns_one, nouns_two, etc.)\r</p>\n<p>13. \"phrases\"\r</p>\n<p>14. integration with Greenland\r</p>\n<p>15. an intro screen that is self-explanatory, <em>OR</em>, a \"new user tutorial\"\r</p>\n<p>16. either \"start as new user\", \"start with some skill\", or \"start as expert\"\r</p>\n<p>A. for \"new user\", we start with 20 words and go from there\r</p>\n<p>B. for \"some skill\" ... the app can try to <em>assess</em> strengths and weaknesses.  i <em>can</em> do the math, just not right now.\r</p>\n<p>C. for \"expert\" ... we assume they know (or at least have context to understand) everything.  review, reminder, and fun are the focus.\r</p>\n<p>17. \"Journey Mode\" created.\r</p>\n<p>18. In Journey Mode, consecutive \"Typing mode\" questions means the second one fails as incorrect with the first question's response\r</p>\n<p>19. When switching from \"present tense\" to \"past tense\", the verb should remain the same.</p>","subject":"\u0161irvintos, part 2"},{"channel":"cities","content":"Another round of desired feature requests.  \r\n\r\nThis set is primarily \"gameplay\" focused, with getting the \"audio\" right a primary goal.  The secondary goal is getting the \"tools to generate wordlists\" working. (<green> those are \"greenland\" projects, where the language-corpus and LLM queries for translations live)\r\n\r\n--MORE--\r\n\r\n1. need to have audio \"within 0.2 seconds of clicking\" for EN->LT multchoice; no hover functionality\r\n2. should have a \"don't know\" icon/button for multchoice/typing to \"skip\" (other than \"next\")\r\n3. should track words for \"Journey\" in other modes\r\n4. should have \"add new corpus\" feature\r\n5. separate \"easy\" and \"hard\" listening tasks\r\n6. new \"drill one subcorpus\" mode\r\n    A. or, \"aware\" and \"active\" options for setting wordlists\r\n7. Save stats to server option\r\n    A. this is easy for Claude to implement\r\n8. New function to use the LLM (or Greenland) to check for polysemy\r\n    A. words like \"state\" are too vague, or LT \"oda\"\r\n    B. also use the wordfreq database to add new words\r\n    C. script to \"generate wordlist\" based on English words\r\n    D. support for multiple languages for all of this\r\n    E. Chinese as the next target language? Languages are different.  The \"tense\" / \"declension\" work for Lithuanian doesn't matter for Chinese.  But there needs to be hanzi/pinyin support.\r\n9. More \"sentence\" corpuses.\r\n    A. These need to be \"dependent\" on the previous lists.\r\n    B. But a dependency tree is complex.\r\n    C. Just \"uses verbs in verbs 1, and nouns in nouns 1-3\".\r\n    D. And, direct objects \"I want the ball\" and adjectives \"I want the red ball\"\r\n    E. possibly not indirect objects etc.; there are a lot of conjugations\r\n    F. Sentence Generation is a \"greenland\" feature\r\n10. Possibly \"memory\"-based filtering of sentences.\r\n11. Investigate whether the \"shuffle\" is truly random\r\n12. Check for / prevent multiple simultaneous audio plays\r\n13. \"Typing\" mode should handle EN->LT and LT->EN\r\n14. switching modes should always \"reset\" and advance the question","created_at":"2025-06-19T03:46:34.245411","id":595,"is_target":true,"parent_id":585,"processed_content":"<p>Another round of desired feature requests.  \r</p>\n<p>This set is primarily \"gameplay\" focused, with getting the \"audio\" right a primary goal.  The secondary goal is getting the \"tools to generate wordlists\" working. <span class=\"colorblock color-green\"><span class=\"sigil\">\u2699\ufe0f</span><span class=\"colortext-content\"> those are \"greenland\" projects, where the language-corpus and LLM queries for translations live</span></span>\r</p>\n<div class=\"content-sigil\" aria-label=\"Extended content begins here\">&#9135;&#9135;&#9135;&#9135;&#9135;</div>\n<p>1. need to have audio \"within 0.2 seconds of clicking\" for EN-&gt;LT multchoice; no hover functionality\r</p>\n<p>2. should have a \"don't know\" icon/button for multchoice/typing to \"skip\" (other than \"next\")\r</p>\n<p>3. should track words for \"Journey\" in other modes\r</p>\n<p>4. should have \"add new corpus\" feature\r</p>\n<p>5. separate \"easy\" and \"hard\" listening tasks\r</p>\n<p>6. new \"drill one subcorpus\" mode\r</p>\n<p>    A. or, \"aware\" and \"active\" options for setting wordlists\r</p>\n<p>7. Save stats to server option\r</p>\n<p>    A. this is easy for Claude to implement\r</p>\n<p>8. New function to use the LLM (or Greenland) to check for polysemy\r</p>\n<p>    A. words like \"state\" are too vague, or LT \"oda\"\r</p>\n<p>    B. also use the wordfreq database to add new words\r</p>\n<p>    C. script to \"generate wordlist\" based on English words\r</p>\n<p>    D. support for multiple languages for all of this\r</p>\n<p>    E. Chinese as the next target language? Languages are different.  The \"tense\" / \"declension\" work for Lithuanian doesn't matter for Chinese.  But there needs to be hanzi/pinyin support.\r</p>\n<p>9. More \"sentence\" corpuses.\r</p>\n<p>    A. These need to be \"dependent\" on the previous lists.\r</p>\n<p>    B. But a dependency tree is complex.\r</p>\n<p>    C. Just \"uses verbs in verbs 1, and nouns in nouns 1-3\".\r</p>\n<p>    D. And, direct objects \"I want the ball\" and adjectives \"I want the red ball\"\r</p>\n<p>    E. possibly not indirect objects etc.; there are a lot of conjugations\r</p>\n<p>    F. Sentence Generation is a \"greenland\" feature\r</p>\n<p>10. Possibly \"memory\"-based filtering of sentences.\r</p>\n<p>11. Investigate whether the \"shuffle\" is truly random\r</p>\n<p>12. Check for / prevent multiple simultaneous audio plays\r</p>\n<p>13. \"Typing\" mode should handle EN-&gt;LT and LT-&gt;EN\r</p>\n<p>14. switching modes should always \"reset\" and advance the question</p>","subject":"\u0161irvintos, part 3"}]}
