<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https:/blog.kowalczyk.info/articles/software-engineering.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/learned-gold-rush.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/engineering-school.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/a0/bugs-and-eyeballs.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/11n/principle-of-good-design-discoverability.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/12l/the-future-is-here-its-just-not-evenly-distributed.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/14r/good-programming-practices.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/i9/on-difference-between-amateur-and-professional-shareware.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/19o/writing-to-sell.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1fd/review-of-hot-text-web-writing-that-works.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/10d/accurate-timers-on-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8i/high-resolution-timer-for-timing-code-fragments.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8d/basics-of-writing-dos-.bat-batch-files.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8e/compile-time-asserts-in-c.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/zy/embedding-binary-resources-on-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1i0/document-your-software.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1i3/designing-web-forums-software.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/q7/sumatra-pdf-is-born.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qa/sumatra-pdf-0.2-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qe/performance-optimization-story.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qh/paradox-of-bad-comments.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1im/how-i-improved-sumatra-performance-by-60.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qq/sumatra-pdf-0.3-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1iu/sumatrapdf-0.4-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qv/sumatrapdf-0.5-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qx/few-things-ive-learned-when-writing-sumatra-pdf.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qy/a-debugging-story.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/qz/sumatrapdf-0.6-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/zq/sane-include-hierarchy-for-c-and-c.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/r4/sumatra-pdf-0.7-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/r6/sumatra-0.8-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/yt/variadic-macros-c.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1j9/gflags-a-debugging-story.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1jj/sumatrapdf-0.8.1-release.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/2be/realloc-on-windows-vs.linux.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1jp/sumatrapdf-0.9-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1jq/sumatrapdf-0.9.1-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1jr/sumatrapdf-0.9.3-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/67j/summary-of-david-ditzel-talk-on-binary-translation.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/5fv/ssh-tips.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/669/where-do-bugs-come-from.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/r0a/sumatra-0.9.4-release.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/109l/sumatrapdf-1.0-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/16fw/best-captcha-is-exotic-captcha.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/16fu/you-have-to-implement-to-understand.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1qi1/e-books-economics.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/20j5/productivity-ideas.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1zre/uisv-stories.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/2ve9/summary-of-talk-on-continuous-deployment.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/2qrl/sumatrapdf-1.1-release.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/4dep/go-vs.python-for-a-simple-web-server.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/5p8x/tools-that-find-bugs-in-c-and-c-code-via-static-code-analysis.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/6qa9/seo-is-harder-than-you-think.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/72mp/marketing-lessons-from-webp-launch.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/73eh/startup-management-lessons-from-the-social-network.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/75pt/value-your-time.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/779d/simple-duplicate-post-detection-for-your-blog-forum-or-commenting-software.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/78sx/8-habits-for-becoming-a-better-programmer.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/7ach/using-averages-a-common-performance-measurement-mistake.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/7bw1/sumatrapdf-1.2-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/80kx/executable-compressors-comparisons-upx-3.07w-vs.mpress-2.17.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8nqb/writing-a-custom-installer-for-windows-software.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8p9u/sumatrapdf-1.3-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8nqe/my-social-marketing-failure.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/935t/xml-is-really-really-slow.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/95h6/sumatrapdf-1.4-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/9ile/sumatrapdf-1.5-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/afrv/90-of-success-is-showing-up-a-proof.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ahcj/easy-vs.probable-or-how-to-make-money-with-software.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ao9k/sumatrapdf-1.6-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/af1h/experience-porting-4k-lines-of-c-code-to-go.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/c4qb/how-to-make-software-crash-less.html</loc><lastmod>2025-06-24</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/cbo9/sumatrapdf-1.7-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ej5e/sumatrapdf-1.8-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/fyuh/sumatrapdf-1.9-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/g9ne/showing-html-from-memory-in-embedded-web-control-on-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/gqmj/a-list-of-chm-readersviewers-for-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/l41c/sumatrapdf-2.0-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/lh6f/buying-a-certificate-for-signing-windows-applications.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/nbie/sumatrapdf-2.1-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/nn2x/websites-with-free-epub-and-mobi-ebooks.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/u3d4/how-i-sped-up-go-by-20-or-is-go-really-slower-than-java.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/53n6/hiding-duplicate-content-from-your-site-via-robots.txt.html</loc><lastmod>2023-02-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/u5o7/speeding-up-go-with-custom-allocators.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/wjb1/design-and-implementation-of-translation-system-for-desktop-software.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1/sumatrapdf-2.2-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/uvw2/thoughts-on-go-after-writing-3-websites.html</loc><lastmod>2023-02-18</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/4/how-i-ported-pigz-from-unix-to-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/6/sumatrapdf-2.4-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ucle/using-fabric-for-deploying-server-software.html</loc><lastmod>2023-02-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/a/sumatrapdf-2.5.2-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/b/sumatrapdf-3.0-released.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/c/tip-for-per-test-verbose-logging-in-go.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d/improving-speed-of-smaz-compressor-by-2.6x1.5x.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f/accessing-github-api-from-go.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/e/go-package-for-better-guid-generation.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/g/extracting-files-from-.7z-archives-in-go.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/i/optimizing-javascript-by-using-arrays-instead-of-objects.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/3/analyzing-browserify-bundles-to-minimize-javascript-bundle-size.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/81714acf995e4968bb220684d95c9495/small-business-stories.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/JyRZ/generating-good-unique-ids-in-go.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/wOYk/advanced-command-execution-in-go-with-osexec.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/wjRD/solo-founders-with-profitable-businesses-collected-stories.html</loc><lastmod>2017-07-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/Jl3G/https-for-free-in-go-with-little-help-of-lets-encrypt.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1Bkr/3-ways-to-iterate-in-go.html</loc><lastmod>2017-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/vEja/embedding-build-number-in-go-executable.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/vkeR/simple-serialization-format-for-logging-and-analytics-in-go.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/1Ll7/rotate-log-files-daily-in-go.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/w4re/using-mysql-in-docker-for-local-testing-in-go.html</loc><lastmod>2017-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/wN9R/experience-porting-4.5k-loc-of-c-to-go-facebooks-css-flexbox-implementation-yoga.html</loc><lastmod>2017-08-02</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/9/tutorial-for-github.comkjkflex-go-package-implementation-of-css-flexbox-algorithm.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/j/guide-to-predefined-macros-in-c-compilers-gcc-clang-msvc-etc..html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/9afe3485f2204f1bb43217d70f7b87d4/big-projects-written-in-go.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/513bb8df08584d938a58166db0b3994f/companies-using-go.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/87df2b0fc4ff4fd5bc41313afc0f02fe/rewritten-tales-of-rewriting-software-from-x-to-go.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ed25f87079cc4b0b9080460e062053e4/using-mysql-in-docker-for-local-testing-in-python.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d18cd62f7c3c4bdaa4bbb4fed138034c/a-short-guide-to-marketing-for-developers.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/l/57-microconf-videos-for-self-funded-software-businesses.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/b97b3f74e68d410bac90e965f6a524cd/essentials-of-starting-indie-business.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/n/fuzzing-markdown-parser-written-in-go.html</loc><lastmod>2019-08-15</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d16023a9b71142af84f9297c523d57d2/finding-freelancers.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/25a256f90ce44eb788390ecc3cf9cd65/writings.html</loc><lastmod>2023-02-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ea07db1b9bff415ab180b0525f3898f6/advanced-web-spidering-with-puppeteer.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/7495260a1daa46118858ad2e049e77e6/go-cookbook.html</loc><lastmod>2018-10-19</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/88aee8f43620471aa9dbcad28368174c/how-i-reverse-engineered-notion-api.html</loc><lastmod>2023-01-14</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/pefileformat.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/software/index.html</loc><lastmod>2024-08-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/051a801b35c04b04856609b4687b4c94/summary-of-founders-battle-virtual-talks-7-about-seo-with-michael-schwarz.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/830df5075ca84cdbab338d495fb7a6f2/summary-of-sell-to-strangers-video-about-content-marketing.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/06817da6d15d429db3eec8f20c086a41/summary-of-the-mom-test-book-about-validating-business-ideas.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/a8cf04d756ec4963905960822b004440/powering-a-blog-with-notion-and-netlify.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8f417f4804254754b92bf7b515592408/basics-of-freelancing.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/956e8e7bef544c239199811c087ec1ae/social-media-image-sizes.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/fc9203f7c72a4532b1ae51d018fef7b3/trade-offs-in-designing-versatile-log-format.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/resume.html</loc><lastmod>2023-02-19</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/19f2fe97f06a47c3b1f118fd06851fad/lessons-learned-porting-50k-loc-from-java-to-go.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/39a15945117440d99a9ef0f7de1b618a/the-things-we-do-to-ship-desktop-software.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/cbz-cbr-comic-book-reader-viewer-for-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/chm-reader-viewer-for-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/epub-ebook-reader-viewer-for-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/mobi-ebook-reader-viewer-for-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/where-to-get-free-ebooks-epub-mobi.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/software/pigz-for-windows.html</loc><lastmod>2019-07-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/software/the-silver-searcher-for-windows.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/2af6a10ab74d43a58053b709badb4ad0/how-i-use-roam-research.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/2f72237a4230410a888acbfce3dc0864/lessons-learned-from-15-years-of-sumatrapdf-an-open-source-windows-app.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/90f01e0e24924f6c8ed428f065c0016a/atomicfile-robustly-writing-to-a-file-in-go.html</loc><lastmod>2021-08-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/6725311d5d03491a9442e1e0819bd901/filerotate-go-library-for-rotating-files.html</loc><lastmod>2023-02-04</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/de13a71a392f488b9352b300b3ed722d/hide-header-on-scroll-in-svelte.html</loc><lastmod>2023-01-14</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/e00e89c3841e4f8c8c769a78b8a90b47/logging-http-requests-in-go.html</loc><lastmod>2023-02-14</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/999821718c604eb593cbeba9ad0920bc/pure-bash-bible.html</loc><lastmod>2021-08-17</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/3a6ae6190bdf49be88ef4e73b3445a0d/sending-emails-with-mailgun-in-go.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/aa0d07a56026495eb5189e23c37426a6/siser.html</loc><lastmod>2021-08-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/a62973daec674e31b827908636f1e522/typescript-basics.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8dd9c2c0413047c589a321b1ccba7129/using-github-actions-with-go.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/4b1f9201181340099b698246857ea98d/using-go-instead-of-bash-for-scripts.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/c9df78cbeaae4e0cb2848c9964bcfc94/using-notion-api-go-client.html</loc><lastmod>2021-08-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8ff5980ee9b44a8fb5131268e7c47303/vim-reference.html</loc><lastmod>2021-08-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/de943f80c7924745abf9405f8c7a2c67/levelsio-and-survivorship-bias.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/96a4706ec8e44bc4b0bafda2d9ba502f/extreme-include-discipline-for-c-code.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/62640eca3c2742a8997b000cd993f736/thoughts-on-developer-productivity.html</loc><lastmod>2022-06-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f84d184f203342d9ac11f552c55a4035/thoughts-on-getting-user-feedback.html</loc><lastmod>2022-06-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8785990547a04464b49d9c82ef6c66c6/tech-note-dropbox-login.html</loc><lastmod>2022-07-14</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/fb667b39cc984c42bfc2002a5584e637/thoughts-on-documentation.html</loc><lastmod>2022-06-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f63199f7ddec41c88340978118e73517/using-roam-research-for-productivity.html</loc><lastmod>2022-06-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ff5ee93bacb8416ab4581b9c394ee979/s3-and-directories.html</loc><lastmod>2022-06-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ebcb11b156f7458398ea147a30e6776d/upload-files-from-your-computer.html</loc><lastmod>2022-06-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/eda3399077f44b89bcaab0490e4a0cf0/filerion-marketing.html</loc><lastmod>2022-07-01</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/bdd1340ac4ba4934982cd9a673697b3e/filerion-tech-stack.html</loc><lastmod>2022-06-28</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/4682085af50b41f88460593d21db6182/find-programming-work-by-increasing-luck-surface-area.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f569924e3f274954bc0a0bd997a57083/javascript-optimization-story.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f2931523a242420f922a17508e213104/programmer-productivity-lines-of-code-edition.html</loc><lastmod>2022-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/326c68b98ca14b91a2264dd20b301764/tech-note-javascript-debugging-helpers.html</loc><lastmod>2022-07-14</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/81abd6ecafb3403580b6d1c1bc34ec2f/tech-note-speed-of-iteration-in-programming.html</loc><lastmod>2022-07-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/b17e1303d112488087c841daff333702/business-articles.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/cbcd9be4f9ce4d7899c4a25fe6fbde4b/go-programming-articles.html</loc><lastmod>2023-02-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/goconsultantforhire.html</loc><lastmod>2023-02-19</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/4397cb767a5644db8044e9566aebe979/programming-articles.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/persisted-svelte-store-indexeddb.html</loc><lastmod>2023-03-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/cxn3/advanced-markdown-processing-in-go.html</loc><lastmod>2023-03-11</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/mzht/implementing-wc-in-a-browser.html</loc><lastmod>2023-03-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8zr1/changing-font-size-in-windows-dialog-in-c.html</loc><lastmod>2024-04-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/c767/porting-a-medium-sized-vue-application-to-svelte-5.html</loc><lastmod>2024-06-27</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-ytv9/implementing-notion-like-table-of-contents-in-javascript.html</loc><lastmod>2024-08-24</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-9a1d/man-vs-ai-optimizing-javascript-claude-cursor.html</loc><lastmod>2024-08-29</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-vovg/showing-ui-on-mouse-move-in-svelte-5.html</loc><lastmod>2025-06-11</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-n63i/why-go-iterators-are-ugly-clever-and-elegant.html</loc><lastmod>2025-06-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-stsj/simplest-c-callback-from-sumatrapdf.html</loc><lastmod>2025-06-15</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-3g9f/optimizing-calling-windows-dll-functions-in-go.html</loc><lastmod>2025-06-18</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-ocam/implementing-nested-context-menu-in-svelte-5.html</loc><lastmod>2025-06-20</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-5hum/compressing-for-the-browser-in-go.html</loc><lastmod>2025-06-22</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-iurg/notion-like-compact-table-of-contents-in-javascript.html</loc><lastmod>2025-06-27</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-ggwg/custom-search-ui-in-codemirror-6-and-svelte-5.html</loc><lastmod>2025-06-29</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-u2y2/implementation-of-optimized-vector-of-strings-in-c-in-sumatrapdf.html</loc><lastmod>2025-06-30</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-z4ap/bugs-i-fixed-in-sumatrapdf.html</loc><lastmod>2025-07-01</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-xf4h/c-engineering-decision-in-sumatrapdf-code.html</loc><lastmod>2025-07-02</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-mzm1/all-about-svelte-5-snippets.html</loc><lastmod>2025-07-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-d9qh/explaining-nil-interface-gotcha-in-go.html</loc><lastmod>2025-07-06</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-aiow/case-study-of-over-engineered-c-code.html</loc><lastmod>2025-07-07</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-vn0v/implementing-ui-translation-in-sumatrapdf-a-c-windows-application.html</loc><lastmod>2025-07-08</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-yyvi/desktop-ui-frameworks-written-by-a-single-person.html</loc><lastmod>2025-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-tm7o/increase-software-sales-by-50-or-more.html</loc><lastmod>2025-07-18</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-mjpn/speeding-up-javascript-function-with-ai-help.html</loc><lastmod>2026-03-29</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d-2025-07-09/evolving-edna-ask-ai-ui.html</loc><lastmod>2025-07-09</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d-2025-06-26/go-is-8020-language.html</loc><lastmod>2025-06-26</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d-2025-06-25/automatic-chrome-dev-tools-workspace-setup.html</loc><lastmod>2025-06-25</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d-2025-06-22/ban-stdstring.html</loc><lastmod>2025-06-22</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d-2025-06-21/thoughts-on-cc-killer.html</loc><lastmod>2025-06-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d-2025-06-20/idea-for-code-editors.html</loc><lastmod>2025-06-20</lastmod></url><url><loc>https:/blog.kowalczyk.info/edna-new-edna-feature-multiple-notes.html</loc><lastmod>2025-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/b0aaec16ef954f05bbf64dd83a7f0cfb/day-0-the-idea.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/30da6655040f47e693f8e66eacd308c1/diary-of-a-solo-dev-building-a-web-app.html</loc><lastmod>2023-01-13</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d9ad53ea42834de698175d9649783f2d/day-1-tech-stack-creating-project-from-scratch.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/5bb1cd72b74643188271c9e1186ed1c4/day-2-displaying-list-of-files.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/780e1b7e7b5944d68b6a317a2bfaef90/day-3-dropbox.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/673a28a88cf74c258cdaac109f6acdb5/day-4-s3-sorting-remembering-credentials.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f3064498886745b0b9ca675948ddc958/day-5-setting-up-a-website.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/47a116edfe36470698e5052cad267cbb/day-6-dropbox-fix-bug-fixes-and-small-improvements.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/00fe4c9f62744f43b4bf7454e67b7d7b/day-7-context-menu-file-delete.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/8d52f5d2c0144d8f9890e66093cfc2ad/day-8-more-file-delete-file-upload.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d51a7e4976b84cd095ec99ce39bc1f71/day-9-dropbox-upload.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/baf170283ab3477bb4b3655c7f2cf1a2/day-10-s3-file-delete-ui-tweaks.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/d02897ce9d1247b897c80f9b077275d2/day-11-upload-file-to-local-fs.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/dc75c4dc53834780ad76c6868c21eccc/day-12-s3-upload-and-delete-directories.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/ccbd2d04839d435197035e5c9c0959e1/day-13-local-fs-fixes.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/420c2099b214435d824669ae8c3c748c/day-14-image-preview-file-rename.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/a5a2cbc9fa024c4b9ce50be0a577f8ae/day-15-text-preview.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/5557ac773b7d46ef9514fcb7bd3511bb/day-16-bookmarks.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/c4f3db180747495abbb80b7e27a4fb82/day-17-file-download.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/139db749ab084e2784e47550b493410b/day-18-improving-s3-upload.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/086a6af078af4b0388408fa247406952/day-19-analytics-context-menu.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/fbd123061a4e40eab5cd350b00acfde0/day-20-fs-refactoring.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/dabd3815292a4dccbc944a97d69c6181/day-21-s3-create-new-dir-last-modification-time.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/feafd9717d5544ac99cffc84079df7cb/day-22-file-properties.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/bb67678b72464d0dae8e7ec4e16c4d40/day-23-file-copy.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/fff5ffcaa80347669290d4594e37a9cb/day-24-dialog-refactoring.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f181583820f543caae8adc7b3be8f466/day-25-google-drive-support.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/268322f732204b75bd549d86e073117a/day-26-more-google-drive-support.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/80836e7cefb347c48334c9aa28a06cec/day-27-better-google-drive-login-one-drive-support.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f81da0716c5d480ebfeba1597d55f20f/day-28-onedrive-support-more-file-properties.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/fbf20976e5dc49e1a182bb15e9e7fb10/day-29-optimizing-file-representation-and-s3.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/3601fadbff21455a826fbf1c52aecace/day-30-better-dialogs.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f9b683ef4c0340f0a66dede79c6544d7/day-31-tweaking-bookmarks-list.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/a20890c536544bfda09fc3e891c9e812/day-32-optimizations-backblaze.html</loc><lastmod>2022-07-10</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/674f87b5317441178993c481ac459d3e/day-33-more-backblaze.html</loc><lastmod>2022-07-12</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/f4755f6130d94998955d9573bbd6e43c/day-34-more-backblaze-refactorings.html</loc><lastmod>2022-07-14</lastmod></url><url><loc>https:/blog.kowalczyk.info/article/60dc3a4d2e074ba9b92e071bd465acad/day-35-fixed-onedrive-gdrive-token-refresh.html</loc><lastmod>2022-07-15</lastmod></url><url><loc>https:/blog.kowalczyk.info/a-8azy-modern-cpp.html</loc><lastmod>2024-08-29</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-how-to-run-msvc-cl.exe-from-command-line-powershell.html</loc><lastmod>2026-01-16</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-novel-login-system-for-web-apps.html</loc><lastmod>2025-12-22</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-benchmarking-json-vs-toon-in-go.html</loc><lastmod>2025-12-15</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-from-json-to-toon.html</loc><lastmod>2025-12-15</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-fixing-zeds-debugger-keybindings.html</loc><lastmod>2025-07-22</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-ideas-for-faster-web-dev-cycle.html</loc><lastmod>2025-07-22</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-alttab-for-mac-os.html</loc><lastmod>2025-07-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-stage-manager-in-mac-os.html</loc><lastmod>2025-07-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-zed-debug-setup-for-go-server-svelte-web-app.html</loc><lastmod>2025-07-21</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-using-await-in-svelte-5-components.html</loc><lastmod>2025-07-20</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-lazy-import-of-javascript-modules.html</loc><lastmod>2025-07-20</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-vite-rollup-manualchunks.html</loc><lastmod>2025-07-19</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-file-sync-is-very-slow.html</loc><lastmod>2025-07-17</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-calling-grok-openai-anthropic-google-openrouter-api-from-the-browser.html</loc><lastmod>2025-07-08</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-increase-open-file-limit-on-ubuntu-linux.html</loc><lastmod>2025-07-07</lastmod></url><url><loc>https:/blog.kowalczyk.info/til-size-textarea-to-content.html</loc><lastmod>2025-07-05</lastmod></url><url><loc>https:/blog.kowalczyk.info/book/go-cookbook.html</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/cbz-cbr-comic-book-reader-viewer-for-windows.html</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/chm-reader-viewer-for-windows.html</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/mobi-ebook-reader-viewer-for-windows.html</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/epub-ebook-reader-viewer-for-windows.html</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/articles/where-to-get-free-ebooks-epub-mobi.html</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/software</loc><lastmod>2026-04-03</lastmod></url><url><loc>https:/blog.kowalczyk.info/documents.html</loc><lastmod>2026-04-03</lastmod></url></urlset>