{"id":263,"date":"2026-04-08T12:48:31","date_gmt":"2026-04-08T11:48:31","guid":{"rendered":"https:\/\/blog.thekumor.com\/?p=263"},"modified":"2026-04-08T12:48:31","modified_gmt":"2026-04-08T11:48:31","slug":"dev-blog-1-watchlist","status":"publish","type":"post","link":"https:\/\/blog.thekumor.com\/index.php\/2026\/04\/08\/dev-blog-1-watchlist\/","title":{"rendered":"Dev blog #1: Watchlist"},"content":{"rendered":"\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-1024x576.png\" alt=\"\" class=\"wp-image-264\" srcset=\"https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-1024x576.png 1024w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-300x169.png 300w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-768x432.png 768w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-100x56.png 100w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-1536x864.png 1536w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/image-2048x1152.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I&#8217;m working on an app that would keep track of what episodes I watched of YouTube\/TV series.<\/p>\n\n\n\n<p>It&#8217;s going oki. I&#8217;m just not really focused on it that much (or on the code part of things, at least).<\/p>\n\n\n\n<p>I also figured out a good way to do headers &amp; documentation comments. (finally)<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(2 * 0.6 * .75rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/* ================================================================================\n*\n*\t$Project: Watchlist\n*\n*\t$Module: Logic\n*\t$File: application.h\n*\n*\t$Purpose: Defines the application structure and its associated functions. The\n*\tapplication is responsible for managing the main loop and handling\n*\tapplication-wide resources.\n*\n*\t$License: MIT\n*\t$Author: The Kumor\n*\n* ================================================================================ *\/<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/* ================================================================================<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Project: Watchlist<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Module: Logic<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$File: application.h<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Purpose: Defines the application structure and its associated functions. The<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tapplication is responsible for managing the main loop and handling<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tapplication-wide resources.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$License: MIT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Author: The Kumor<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* ================================================================================ *\/<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/* ------------------------------------------------------------------------\n*\t$Name: wht_Text_Init\n*\n*\t$Purpose: Initializes a text control with the specified parameters and\n*\tcreates the control's window as a child of the specified parent control.\n* \n*\t$Parameters:\n*\tself: Pointer to the control to be initialized.\n*\tx: The x-coordinate of the control's position.\n*\ty: The y-coordinate of the control's position.\n*\tw: The width of the control.\n*\th: The height of the control.\n*\ttext: The text to be displayed in the control.\n* ------------------------------------------------------------------------ *\/\nvoid wht_Text_Init(wht_Control* self, i32 x, i32 y, i32 w, i32 h, str text, wht_Control* parent);<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/* ------------------------------------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Name: wht_Text_Init<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Purpose: Initializes a text control with the specified parameters and<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tcreates the control&#39;s window as a child of the specified parent control.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Parameters:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tself: Pointer to the control to be initialized.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tx: The x-coordinate of the control&#39;s position.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\ty: The y-coordinate of the control&#39;s position.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tw: The width of the control.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\th: The height of the control.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\ttext: The text to be displayed in the control.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* ------------------------------------------------------------------------ *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">void<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #DCDCAA\">wht_Text_Init<\/span><span style=\"color: #D4D4D4\">(wht_Control* <\/span><span style=\"color: #9CDCFE\">self<\/span><span style=\"color: #D4D4D4\">, i32 <\/span><span style=\"color: #9CDCFE\">x<\/span><span style=\"color: #D4D4D4\">, i32 <\/span><span style=\"color: #9CDCFE\">y<\/span><span style=\"color: #D4D4D4\">, i32 <\/span><span style=\"color: #9CDCFE\">w<\/span><span style=\"color: #D4D4D4\">, i32 <\/span><span style=\"color: #9CDCFE\">h<\/span><span style=\"color: #D4D4D4\">, str <\/span><span style=\"color: #9CDCFE\">text<\/span><span style=\"color: #D4D4D4\">, wht_Control* <\/span><span style=\"color: #9CDCFE\">parent<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/* ------------------------------------------------------------------------\n*\t$Name: wht_Window\n* \n*\t$Purpose: Window structure for encapsulating properties specific to a\n*\twindow control, inheriting from the base control structure.\n* \n*\t$Members:\n*\tControl: The base control structure for the window,\n*\tcontaining common control properties.\n* ------------------------------------------------------------------------ *\/\ntypedef struct\n{\n\twht_Control Control;\n} wht_Window;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/* ------------------------------------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Name: wht_Window<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Purpose: Window structure for encapsulating properties specific to a<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\twindow control, inheriting from the base control structure.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Members:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tControl: The base control structure for the window,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\tcontaining common control properties.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* ------------------------------------------------------------------------ *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">typedef<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">struct<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\twht_Control Control;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">} wht_Window;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.75rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\/* ------------------------------------------------------------------------\n*\t$Name: wht_Control\n* \n*\t$Purpose: Control structure for encapsulating common control properties.\n* ------------------------------------------------------------------------ *\/\ntypedef struct\n{\n\tHWND m_Handle;\n\ti32 m_X, m_Y;\n\tstr m_Text;\n} wht_Control;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/* ------------------------------------------------------------------------<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Name: wht_Control<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* <\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">*\t$Purpose: Control structure for encapsulating common control properties.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">* ------------------------------------------------------------------------ *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">typedef<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">struct<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\tHWND m_Handle;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\ti32 m_X, m_Y;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\tstr m_Text;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">} wht_Control;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Before I make some structs opaque, I&#8217;ll leave these variables with m_ prefixes available. But they&#8217;re not considered in headers.<\/p>\n\n\n\n<p>I&#8217;ll create a documentation software that would parse these comments and C\/C++\/Lua\/etc code and produce a searchable database of things. It&#8217;ll also include &#8220;sections&#8221; ($Section) blocks. But that&#8217;s a different project, and isn&#8217;t my immediate focus (perhaps late April?)<\/p>\n\n\n\n<p>I figured out IntelliSense at least doesn&#8217;t break with these. And as for Visual Studio Code, it even picks up $Parameters section and makes this particular line bigger.<\/p>\n\n\n\n<p>Visual Studio 2022&#8217;s autofill \/ AI is writing 50% of these comments. I also do readmes based on project reports which are partially generated by AI (I mean, 28 pages is a lot of manual labor!). But projects themselves are written fully by me, with help of the autofill for mundane tasks. I&#8217;m kind of scared people will look at these projects and be like &#8220;lol, that readme&#8217;s made by chatgpt&#8221; and assume project wasn&#8217;t done by a human. But I try not to care. People will say what they want, and in the end, I write code by myself.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/elegant-feline-portrait-stockcake.webp\" alt=\"\" class=\"wp-image-265\" srcset=\"https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/elegant-feline-portrait-stockcake.webp 1024w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/elegant-feline-portrait-stockcake-300x300.webp 300w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/elegant-feline-portrait-stockcake-150x150.webp 150w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/elegant-feline-portrait-stockcake-768x768.webp 768w, https:\/\/blog.thekumor.com\/wp-content\/uploads\/2026\/04\/elegant-feline-portrait-stockcake-100x100.webp 100w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>I post a cat here, because I can.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m working on an app that would keep track of what episodes I watched of YouTube\/TV series. It&#8217;s going oki. I&#8217;m just not really focused on it that much (or on the code part of things, at least). I also figured out a good way to do headers &amp; documentation comments. (finally) Before I make [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[22,13,12,23,28,21,20],"class_list":["post-263","post","type-post","status-publish","format-standard","hentry","category-development","tag-animals","tag-c","tag-cpp","tag-cats","tag-productivity","tag-programming","tag-scripting"],"_links":{"self":[{"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/posts\/263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/comments?post=263"}],"version-history":[{"count":1,"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/posts\/263\/revisions"}],"predecessor-version":[{"id":266,"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/posts\/263\/revisions\/266"}],"wp:attachment":[{"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/media?parent=263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/categories?post=263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.thekumor.com\/index.php\/wp-json\/wp\/v2\/tags?post=263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}