41554 blogs · [ { "id": "01a0877e-bfc1-72d3-8b20-b57e3cc451c1", "title": "Human language is not a programming language", "url": "https://greduan.com/blog/2026/07/03/human-language-is-not-a-programming-language/", "published_at": "2026-07-03T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3d1b14d2", "title": "On modern writing, journalism, gatekeeping, and excellence", "url": "https://greduan.com/blog/2026/05/18/modern-writing-journalism-gatekeeping-excellence/", "published_at": "2026-05-18T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3d21b1ec", "title": "Lessons from working at Insert Startup Here (part two)", "url": "https://greduan.com/blog/2026/03/08/lessons-from-working-at-insert-startup-here-part-two/", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3d52eeae", "title": "Lessons from working at Insert Startup Here (part one)", "url": "https://greduan.com/blog/2026/03/08/lessons-from-working-at-insert-startup-here-part-one/", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3da24fe1", "title": "Semantic query in 1.7 million SEC 8-K forms", "url": "https://greduan.com/blog/2026/02/26/semantic-search-1-7-million-sec-8-k-forms/", "published_at": "2026-02-26T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3dd4cdde", "title": "Switched to OrbStack from Docker Desktop", "url": "https://greduan.com/blog/2026/02/01/switched-to-orbstack-from-docker-desktop/", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3ed1150c", "title": "Switched to DBeaver from DataGrip", "url": "https://greduan.com/blog/2026/02/01/switched-to-dbeaver-from-datagrip/", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3f2e6ebe", "title": "The next 10 years of software development", "url": "https://greduan.com/blog/2026/02/01/next-10-years-of-software-development/", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3fdfad3c", "title": "On SOLID", "url": "https://greduan.com/blog/2025/12/31/on-solid/", "published_at": "2025-12-31T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e3fe09071", "title": "The Luddite Gambit", "url": "https://greduan.com/blog/2025/12/20/the-luddite-gambit/", "published_at": "2025-12-20T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e40ba7e2f", "title": "LLMs will not replace programmers", "url": "https://greduan.com/blog/2025/10/31/llms-will-not-replace-programmers/", "published_at": "2025-10-31T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e413faf5f", "title": "Programming role models", "url": "https://greduan.com/blog/2025/10/21/programming-role-models/", "published_at": "2025-10-21T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e42145e06", "title": "Indie social networking service", "url": "https://greduan.com/blog/2025/10/13/indie-social-networking-service/", "published_at": "2025-10-13T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e423a9e38", "title": "When in doubt: Steps 1, 2, 3", "url": "https://greduan.com/blog/2025/07/13/when-in-doubt-steps-1-2-3/", "published_at": "2025-07-13T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e42d5dae2", "title": "On my blog vs social media", "url": "https://greduan.com/blog/2025/07/10/my-blog-vs-social-media/", "published_at": "2025-07-10T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e435c743e", "title": "Deeply creative life", "url": "https://greduan.com/blog/2025/07/10/deeply-creative-life/", "published_at": "2025-07-10T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e44326734", "title": "Productivity: the basics get you 80%", "url": "https://greduan.com/blog/2025/07/03/productivity-the-basics-get-you-80-percent/", "published_at": "2025-07-03T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4440e3c8", "title": "Multiple screens is worse than one screen", "url": "https://greduan.com/blog/2025/07/03/multiple-screens-is-worse-than-one-screen/", "published_at": "2025-07-03T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e44f97724", "title": "Premature optimization is the root of all evil, is bunk", "url": "https://greduan.com/blog/2025/05/24/premature-optimization-is-the-root-of-all-evil-is-bunk/", "published_at": "2025-05-24T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e45a6f84e", "title": "Learning framework for dummies", "url": "https://greduan.com/blog/2025/05/23/learning-framework-for-dummies/", "published_at": "2025-05-23T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e45d5c042", "title": "Your hedge against AI as a programmer", "url": "https://greduan.com/blog/2025/04/06/your-hedge-against-ai-as-a-programmer/", "published_at": "2025-04-06T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e46c04c34", "title": "I reviewed my code from my first job in 2015", "url": "https://greduan.com/blog/2025/03/07/reviewed-my-code-from-my-first-job-in-2015/", "published_at": "2025-03-07T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e477e612f", "title": "Soft-wrapping a Piece Table to draw with Raylib, in Odin", "url": "https://greduan.com/blog/2024/10/23/piece-table-soft-wrap-raylib-odin/", "published_at": "2024-10-23T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e47cde598", "title": "Straightforward Programming (by Hasen Judi)", "url": "https://greduan.com/blog/2024/07/29/straightforward-programming-hasen-judi/", "published_at": "2024-07-29T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4817b74e", "title": "The Retrieval Augmented Generation (RAG) pattern for LLMs", "url": "https://greduan.com/blog/2024/07/29/rag-pattern/", "published_at": "2024-07-29T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e49071a7f", "title": "A workable definition of simple for programming", "url": "https://greduan.com/blog/2024/07/27/a-workable-definition-of-simple/", "published_at": "2024-07-27T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e492f37e8", "title": "Clean Code(tm), SOLID, OOP, and Gangs of Four are not simple, by definition", "url": "https://greduan.com/blog/2024/07/25/oop-is-not-simple-by-definition/", "published_at": "2024-07-25T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e499d935f", "title": "Essential and Accidental complexity, and performance", "url": "https://greduan.com/blog/2024/07/25/essential-and-accidental-complexity-and-performance/", "published_at": "2024-07-25T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4a598a5b", "title": "Learnings from Gadget Software", "url": "https://greduan.com/blog/2024/07/18/learnings-from-gadget-software/", "published_at": "2024-07-18T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4b15b29d", "title": "Drawing text on a window with Odin - Part 1: GLFW", "url": "https://greduan.com/blog/2024/07/06/drawing-text-on-a-window-with-odin-part-1-glfw/", "published_at": "2024-07-06T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4b89e45a", "title": "The pleasure of writing Clean OOP code /s", "url": "https://greduan.com/blog/2024/06/30/the-pleasure-of-writing-clean-oop-code/", "published_at": "2024-06-30T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4bef005a", "title": "I've removed AI from my workflow", "url": "https://greduan.com/blog/2024/06/30/ive-removed-ai-from-my-workflow/", "published_at": "2024-06-30T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4c66769e", "title": "My largest regret", "url": "https://greduan.com/blog/2024/06/20/my-largest-regret/", "published_at": "2024-06-20T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4d18491e", "title": "The only way forward for developers", "url": "https://greduan.com/blog/2024/05/02/the-only-way-forward-for-developers/", "published_at": "2024-05-02T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4d259748", "title": "Python project setup", "url": "https://greduan.com/blog/2023/12/03/python-project-setup/", "published_at": "2023-12-03T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4e20c87e", "title": "Using pyenv on DigitalOcean Ubuntu 22.04", "url": "https://greduan.com/blog/2023/12/02/pyenv-digitalocean-ubuntu-22-04/", "published_at": "2023-12-02T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4ea010f3", "title": "Basic security in Python Litestar projects (bonus HTMX CSRF config)", "url": "https://greduan.com/blog/2023/12/01/basic-security-python-litestar-bonus-htmx-csrf/", "published_at": "2023-12-01T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4ee1ea00", "title": "Shallow thoughts are cheaper for experts", "url": "https://greduan.com/blog/2023/11/27/shallow-thoughts-are-cheaper-for-experts/", "published_at": "2023-11-27T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4fa1db32", "title": "Throw early for programmer errors", "url": "https://greduan.com/blog/2023/08/27/throw-early-for-programmer-errors/", "published_at": "2023-08-27T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4fb0bbfe", "title": "Svelte v4 in Django using Webpack", "url": "https://greduan.com/blog/2023/08/07/svelte-v4-in-django-using-webpack/", "published_at": "2023-08-07T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e4fe97db8", "title": "Twitter 3-legged OAuth with Django using Tweepy, for Twitter bots", "url": "https://greduan.com/blog/2023/08/02/twitter-3-legged-oauth-with-django-using-tweepy-for-twitter-bots/", "published_at": "2023-08-02T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e50025967", "title": "HTMX kills most single page applications", "url": "https://greduan.com/blog/2023/06/17/htmx-kills-most-single-page-applications/", "published_at": "2023-06-17T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e50cb8de9", "title": "Book Summary: Don't Make Me Think Revisited A Common Sense Approach to Web and Mobile Usability by Steve Krug", "url": "https://greduan.com/blog/2023/06/16/book-summary-dont-make-me-think/", "published_at": "2023-06-16T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e50cede0a", "title": "Adding TailwindCSS to Svelte components in a Django app", "url": "https://greduan.com/blog/2022/12/26/adding-tailwind-to-svelte-components-in-a-django-app/", "published_at": "2022-12-26T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e513b2984", "title": "Using Svelte components in a Django app", "url": "https://greduan.com/blog/2022/12/22/using-svelte-components-in-a-django-app/", "published_at": "2022-12-22T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e51eeffea", "title": "Managing sync state", "url": "https://greduan.com/blog/2022/06/29/managing-sync-state/", "published_at": "2022-06-29T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5223c9b4", "title": "Tailwind, using grid-cols-12 instead of mx-auto", "url": "https://greduan.com/blog/2022/06/27/tailwind-grid-cols-mx-auto/", "published_at": "2022-06-27T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e52b9edc0", "title": "Generating a Swagger file with ASP.Net Core and generating API code for Angular", "url": "https://greduan.com/blog/2022/03/20/generating-a-swagger-file-with-aspnet-core-and-generating-api-code-for-angular/", "published_at": "2022-03-20T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5397122b", "title": "Kubernetes RabbitMQ Certificate Revocation List", "url": "https://greduan.com/blog/2022/02/02/kubernetes-rabbitmq-certificate-revocation-list/", "published_at": "2022-02-02T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e54574e02", "title": "Devilboxを使ってローカルのWordPressサイトの最初のセットアップしよ", "url": "https://greduan.com/blog/2021/04/06/devilbox-wordpress/", "published_at": "2021-04-06T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e54585d66", "title": "Exiting early, cognitive load", "url": "https://greduan.com/blog/2018/09/10/exiting-early-cognitive-load/", "published_at": "2018-09-10T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e54a02e8a", "title": "Assigning variables, cognitive load", "url": "https://greduan.com/blog/2018/09/01/assigning-variables-cognitive-load/", "published_at": "2018-09-01T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e550196e4", "title": "Git config", "url": "https://greduan.com/blog/2018/08/27/git-config/", "published_at": "2018-08-27T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5534bd72", "title": "On Adblockers", "url": "https://greduan.com/blog/2018/03/03/adblockers/", "published_at": "2018-03-03T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e55b29e8a", "title": "New website", "url": "https://greduan.com/blog/2018/02/19/new-website/", "published_at": "2018-02-19T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e55c6c0ff", "title": "How to run a Promises array in a series", "url": "https://greduan.com/blog/2016/06/17/promise-series/", "published_at": "2016-06-17T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e562e1f5b", "title": "File navigation in Vim (my way)", "url": "https://greduan.com/blog/2016/04/09/fnivmw/", "published_at": "2016-04-09T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5712476c", "title": "Two months of OpenBSD", "url": "https://greduan.com/blog/2015/06/18/tmoo/", "published_at": "2015-06-18T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e57d17ace", "title": "Experience upgrading OpenBSD to 5.7", "url": "https://greduan.com/blog/2015/04/30/euot57/", "published_at": "2015-04-30T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e58c0e7e2", "title": "Indentation and hooks in Emacs", "url": "https://greduan.com/blog/2015/04/29/iahie/", "published_at": "2015-04-29T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5933c882", "title": "My switch to OpenBSD, first impressions", "url": "https://greduan.com/blog/2015/04/19/mstobfi/", "published_at": "2015-04-19T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5a2bec15", "title": "December 2014 to April 2015", "url": "https://greduan.com/blog/2015/04/18/d2ta2/", "published_at": "2015-04-18T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5a307c42", "title": "Respect, for respect is acknowledgement, and acknowledgement is a right", "url": "https://greduan.com/blog/2014/12/08/rfriaaaiar/", "published_at": "2014-12-08T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5a6d1579", "title": "Figuring out when you installed Arch Linux", "url": "https://greduan.com/blog/2014/12/07/fowyial/", "published_at": "2014-12-07T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5b11a25c", "title": "Minimal amount of fonts in Arch Linux", "url": "https://greduan.com/blog/2014/11/21/maofial/", "published_at": "2014-11-21T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5b855523", "title": "Get it together Linux users/devs!", "url": "https://greduan.com/blog/2014/10/05/gitlud/", "published_at": "2014-10-05T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5c5c9e49", "title": "The bleeding terminal background inside Vim + Tmux problem", "url": "https://greduan.com/blog/2014/09/10/tbtbivtp/", "published_at": "2014-09-10T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5d195808", "title": "Getting used to software updates", "url": "https://greduan.com/blog/2014/09/10/gutsu/", "published_at": "2014-09-10T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5da626e6", "title": "Barebones file navigation in Vim", "url": "https://greduan.com/blog/2014/08/24/bfniv/", "published_at": "2014-08-24T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5dbd2d24", "title": "Navigating in the dark", "url": "https://greduan.com/blog/2014/08/21/nitd/", "published_at": "2014-08-21T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5dd7ca96", "title": "Knowing something but not registering it", "url": "https://greduan.com/blog/2014/08/09/ksbnri/", "published_at": "2014-08-09T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5e7bde3d", "title": "A week with Emacs", "url": "https://greduan.com/blog/2014/08/08/awwe/", "published_at": "2014-08-08T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5eee0b3b", "title": "A small project is not the same as a big project", "url": "https://greduan.com/blog/2014/07/20/aspintsaabp/", "published_at": "2014-07-20T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e5fed6560", "title": "A projects page!", "url": "https://greduan.com/blog/2014/07/14/app/", "published_at": "2014-07-14T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e601c9778", "title": "Several VLC interfaces", "url": "https://greduan.com/blog/2014/06/19/svi/", "published_at": "2014-06-19T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e60eb388e", "title": "Enable `pass` auto-completion in Zsh", "url": "https://greduan.com/blog/2014/06/18/epaciz/", "published_at": "2014-06-18T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e60faa7d6", "title": "Acknowledgements in communication", "url": "https://greduan.com/blog/2014/06/14/aic/", "published_at": "2014-06-14T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e616ef61e", "title": "Arch Linux font tip(s)", "url": "https://greduan.com/blog/2014/06/09/alft/", "published_at": "2014-06-09T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e61de0277", "title": "My slow switch to Emacs", "url": "https://greduan.com/blog/2014/06/08/msste/", "published_at": "2014-06-08T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e627f1da8", "title": "New blog!", "url": "https://greduan.com/blog/2014/06/07/nb/", "published_at": "2014-06-07T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e633b1a3d", "title": "My take on Vim vs. Emacs", "url": "https://greduan.com/blog/2014/05/31/mtovve/", "published_at": "2014-05-31T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6398c7d9", "title": "You need to understand JavaScript callbacks", "url": "https://greduan.com/blog/2014/05/29/yntujc/", "published_at": "2014-05-29T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e644abc6f", "title": "Neat trick for Vim keybindings", "url": "https://greduan.com/blog/2014/05/23/ntfvk/", "published_at": "2014-05-23T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6530a573", "title": "Just switch to UTC", "url": "https://greduan.com/blog/2014/05/21/jstu/", "published_at": "2014-05-21T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e656e2808", "title": "My experience with the BSPWM and Sxhkd", "url": "https://greduan.com/blog/2014/05/14/mewtbasc/", "published_at": "2014-05-14T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e65f25784", "title": "Write down the day ahead of you", "url": "https://greduan.com/blog/2014/05/08/wdtdaoy/", "published_at": "2014-05-08T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e66838a2c", "title": "What the gut feeling is for me", "url": "https://greduan.com/blog/2014/04/30/wtgfifm/", "published_at": "2014-04-30T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e674f1ce9", "title": "A technique to remember small stuff", "url": "https://greduan.com/blog/2014/04/30/attrss/", "published_at": "2014-04-30T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e675bcd87", "title": "Out of sight is not out of mind", "url": "https://greduan.com/blog/2014/04/27/oosinoom/", "published_at": "2014-04-27T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e679f9114", "title": "Installing Arch Linux on a Dell Vostro 1500", "url": "https://greduan.com/blog/2014/04/17/ialoadv1/", "published_at": "2014-04-17T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e689c4bc5", "title": "Text editor categories", "url": "https://greduan.com/blog/2014/04/12/tec/", "published_at": "2014-04-12T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e69163fb6", "title": "My experience with SolydXK (X)", "url": "https://greduan.com/blog/2014/04/12/mewsx/", "published_at": "2014-04-12T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e697e1a7e", "title": "Disconnecting from the DocPad community", "url": "https://greduan.com/blog/2014/04/06/dftdc/", "published_at": "2014-04-06T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6a76e354", "title": "Read stuff you have read before", "url": "https://greduan.com/blog/2014/04/05/rsyhrb/", "published_at": "2014-04-05T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6ae9a795", "title": "Real science, not bullshit", "url": "https://greduan.com/blog/2014/02/22/rsnb/", "published_at": "2014-02-22T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6afae130", "title": "My explanation of The Zone", "url": "https://greduan.com/blog/2014/02/19/meotz/", "published_at": "2014-02-19T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6b69ff5f", "title": "The world of Window Managers", "url": "https://greduan.com/blog/2014/02/04/twowm/", "published_at": "2014-02-04T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6bce870b", "title": "My trip to Switzerland, part 1, getting there", "url": "https://greduan.com/blog/2014/01/15/mttsp1/", "published_at": "2014-01-15T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6c7e1d34", "title": "A love letter to Arch Linux", "url": "https://greduan.com/blog/2013/12/13/alltal/", "published_at": "2013-12-13T00:00:00+00:00" }, { "id": "01a0877e-bfc1-72d3-8b20-b57e6d611637", "title": "Switching from Zsh to fish", "url": "https://greduan.com/blog/2013/11/13/sfztf/", "published_at": "2013-11-13T00:00:00+00:00" } ] posts Claim your blog
Back to greduan.com
Blog · corpus.blog/blogs/greduan.com/posts

greduan.com

greduan.com

2026

2025

2024

2023

2022

2021

2018

2016

2015

2014

2013