# Kartones' Blog - Archives with descriptions

## Articles

- [Adopting llms.txt for my blog](https://blog.kartones.net/post/adopting-llms-txt-for-my-blog/index.html.md) - 2026-07-20
  Summary: How I added llms.txt and Markdown exports to my Pelican blog, giving LLMs and other tools a cleaner, machine-readable way to access its content.
- [A Simple AI Evals Runner](https://blog.kartones.net/post/a-simple-ai-evals-runner/index.html.md) - 2026-07-12
  Summary: An intentionally minimal AI evals runner that illustrates how to test LLMs.
- [Book Review: Tidy First?](https://blog.kartones.net/post/book-review-tidy-first/index.html.md) - 2026-06-15
  Summary: A review of the book 'Tidy First?', by Kent Beck.
- [Learning LLMs Through MicroGPT](https://blog.kartones.net/post/learning-llms-through-microgpt/index.html.md) - 2026-06-07
  Summary: Turning MicroGPT into a more educational, configurable project and finding that modifying and experimenting with it was the best way to understand how LLMs work.
- [A Small Javascript-to-Go Migration with Claude Code](https://blog.kartones.net/post/small-javascript-to-go-migration-with-claude-code/index.html.md) - 2026-05-16
  Summary: Using Claude Code to port a set of daily Javascript scripts to Go, reducing memory usage and removing the Node.js runtime dependency in roughly 20 minutes.
- [Vampire Crawlers savegame editor](https://blog.kartones.net/post/vampire-crawlers-savegame-editor/index.html.md) - 2026-05-14
  Summary: A Javascript/NodeJS savegame editor for the Vampire Crawlers videogame.
- [How I ensure AI agents actually help in my personal projects](https://blog.kartones.net/post/ai-agents-help-personal-projects/index.html.md) - 2026-04-11
  Summary: How I use AI agents to build a project end-to-end, with tests as the main safety net.
- [One workflow across Claude Code, Copilot, and local models](https://blog.kartones.net/post/one-workflow-across-claude-code-copilot-and-local-models/index.html.md) - 2026-03-28
  Summary: My current unified agentic workflow, where Claude Code, Copilot, and local models act as interchangeable executors, driven by a shared configuration and centered around VS Code as the review surface.
- [Book Review: AI Engineering](https://blog.kartones.net/post/book-review-ai-engineering/index.html.md) - 2026-03-12
  Summary: A review of the book 'AI Engineering'.
- [Recent book purchases: x86 Assembly and Go](https://blog.kartones.net/post/recent-book-purchases-x86-assembly-and-go/index.html.md) - 2026-02-28
  Summary: Two recent book acquisitions: one about 80X86 Assembly Language, and the other about creating CLI tools in Go.
- [Coding Is No Longer My Main Skill](https://blog.kartones.net/post/coding-is-no-longer-my-main-skill/index.html.md) - 2026-02-01
  Summary: How Agentic AI has already changed the way I build software.
- [Making AI Agents More Effective Without Fine-Tuning or RAG](https://blog.kartones.net/post/making-ai-agents-more-effective-without-fine-tuning-or-rag/index.html.md) - 2026-01-22
  Summary: A practical guide to improving agent effectiveness through structured instructions, skills, rules, subagents, and AI-oriented documentation, without relying on fine-tuning or RAG.
- [Updating a Django project from v2 to v6](https://blog.kartones.net/post/updating-a-django-project-from-v2-to-v6/index.html.md) - 2025-12-28
  Summary: Upgrading a long-neglected Django project turned out to be far smoother than expected, reinforcing the Django project's strong commitment to backward compatibility.
- [Book Review: The New Rules](https://blog.kartones.net/post/book-review-the-new-rules/index.html.md) - 2025-12-21
  Summary: A review of the book 'The New Rules - Developer's Guide to AI Era'.
- [Using pnpm Catalogs in monorepos](https://blog.kartones.net/post/using-pnpm-catalogs-in-monorepos/index.html.md) - 2025-12-14
  Summary: An overview of using pnpm catalogs to centralize dependency versions in a monorepo, with a practical example and a brief note on handling Bazel-specific integration issues.
- [Additional Windows 11 and BIOS gaming-related optimizations](https://blog.kartones.net/post/additional-windows-11-and-bios-gaming-related-optimizations/index.html.md) - 2025-11-05
  Summary: Additional Windows 11 and hardware (BIOS) optimizations that can be applied if the main usage of a PC is for gaming. Some of them are intel-specific, others apply in general.
- [Facebook and Tuenti faced the same Like button dilemma](https://blog.kartones.net/post/facebook-and-tuenti-same-like-button-dilemma/index.html.md) - 2025-10-26
  Summary: Both Facebook and Tuenti independently went through nearly identical debates before settling on the same simple word, Like, for their buttons.
- [Experimenting with GitHub Copilot Pro in a Django Project](https://blog.kartones.net/post/experimenting-with-github-copilot-pro-in-a-django-project/index.html.md) - 2025-10-16
  Summary: Hands-on account of testing GitHub Copilot Pro, Claude 4.5, and GitHub's new review tools by delegating a real Django feature implementation to the AI, with minimal manual coding.
- [Updated my old Web Toolkit page](https://blog.kartones.net/post/web-toolkit-page-updated/index.html.md) - 2025-10-13
  Summary: Mention of an updated webpage that contains miscellaneous online tools, adding new features and a minimalistic responsive design.
- [LLMs can't count reliably - and that’s not a problem](https://blog.kartones.net/post/llms-cant-count-reliably-and-thats-not-a-problem/index.html.md) - 2025-08-10
  Summary: LLMs can't reliably do math or counting on their own, but tool calling lets them delegate those tasks to external code or APIs, making them accurate without needing innate calculation skills.
- [Why Go is a compelling choice for building CLI tooling](https://blog.kartones.net/post/why-go-is-a-complelling-choice-for-building-cli-tooling/index.html.md) - 2025-07-23
  Summary: Why Go is a compelling choice for building CLI tooling, argumented with an example project.
- [macOS Classic Gaming in 2025](https://blog.kartones.net/post/macos-classic-gaming-in-2025/index.html.md) - 2025-07-19
  Summary: Different options to play classic MS-DOS and Windows videogames on modern Macs with Apple Silicon CPUs.
- [Your choice of agentic IDE or tool matters](https://blog.kartones.net/post/your-choice-of-agentic-ide-or-tool-matters/index.html.md) - 2025-07-12
  Summary: A content blocking scenario that turned into a small comparison of three agentic IDEs and CLIs.
- [LLMs are great at deoptimizing code for readability - Example with Lua](https://blog.kartones.net/post/llms-are-great-deoptimizing-code/index.html.md) - 2025-06-16
  Summary: An example of how to instruct an LLM to deoptimize code into a more readable form.
- [Does Cursor support a Kanban flow?](https://blog.kartones.net/post/does-cursor-support-a-kanban-flow/index.html.md) - 2025-06-16
  Summary: Experiment with the Cursor IDE to make it follow the Kanban methodology via either markdown files or GitHub issues.
- [Replicube and other programming videogames](https://blog.kartones.net/post/replicube-and-other-programming-videogames/index.html.md) - 2025-05-04
  Summary: A list of computer videogames focused on the topic of programming/development.
- [Cursor IDE: Part of the hype is real](https://blog.kartones.net/post/cursor-ide-part-of-the-hype-is-real/index.html.md) - 2025-04-27
  Summary: Comments and a few tips after using the Cursor IDE for the last weeks.
- [TrimUI Brick first impressions](https://blog.kartones.net/post/trimui-brick-first-impressions/index.html.md) - 2025-03-09
  Summary: Small review after a few days using the TrimUI Brick retro gaming handheld device.
- [Book Review: How to Talk to Anyone](https://blog.kartones.net/post/book-review-how-to-talk-to-anyone/index.html.md) - 2025-02-23
  Summary: A review of the book 'How to Talk to Anyone'.
- [My local ML and LLMs setup - February 2025](https://blog.kartones.net/post/my-local-ml-llms-setup-2025-02/index.html.md) - 2025-02-05
  Summary: A list of general models, coding assistants and image generation tools I use.
- [Course Review: Swift 5 Essential Training (LinkedIn)](https://blog.kartones.net/post/course-review-swift-5-essential-training-linkedin/index.html.md) - 2025-01-26
  Summary: Review of the course 'Swift 5 Essential Training', from LinkedIn.
- [Disabling unneeded Windows 11 Services (for gaming)](https://blog.kartones.net/post/disabling-unneeded-windows-11-services/index.html.md) - 2025-01-11
  Summary: A guide to remove Windows 11 services that are not useful from a gaming-only point of view.
- [Optimizing Windows 11 for Gaming](https://blog.kartones.net/post/optimizing-windows-11-for-gaming/index.html.md) - 2025-01-05
  Summary: A detailed guide to configure and optimize Windows 11 for gaming, also providing security and privacy suggestions.
- [Guide to detect and prevent phishing attempts](https://blog.kartones.net/post/phishing-detection-and-prevention-guide/index.html.md) - 2025-01-04
  Summary: A guide to detect and prevent phishing attempts coming from emails, phone calls, SMS or instant messaging apps, plus some tips and tricks.
- [2024 Recap](https://blog.kartones.net/post/2024-recap/index.html.md) - 2025-01-01
  Summary: 2024 Recap, summarized both in text and audio form by using Google's NotebookLM. And a few extra highlights.
- [This blog just passed its 20th birthday! 🎂](https://blog.kartones.net/post/blog-20th-birthday/index.html.md) - 2024-12-15
  Summary: A post celebrating this blog's 20th birthday.
- [macOS Sequoia and Tahoe HP Laserjet P1102 drivers](https://blog.kartones.net/post/macos-sequoia-hp-laserjet-p1102-drivers/index.html.md) - 2024-12-08
  Summary: How to install HP LaserJet P1102 drivers on an updated macOS Sequoia or Tahoe system.
- [Building a hackable poker game](https://blog.kartones.net/post/building-a-hackable-poker-game/index.html.md) - 2024-11-19
  Summary: An ongoing personal experiment, building a web poker game where the rules can be hacked to increase your hand size, do multiple discards/redraws or play bigger hands.
- [Book Review: Rinsed: From Cartels to Crypto](https://blog.kartones.net/post/book-review-rinsed-from-cartels-to-crypto/index.html.md) - 2024-11-09
  Summary: A review of the book 'Rinsed: From Cartels to Crypto', by Geoff White.
- [BazelCon 2024 Slides and Videos Available](https://blog.kartones.net/post/bazelcon-2024-slides-and-videos/index.html.md) - 2024-11-07
  Summary: BazelCon 2024 talk slides and video recordings are now available.
- [Git Cheatsheet Updated](https://blog.kartones.net/post/git-cheatsheet-updated-20241021/index.html.md) - 2024-10-21
  Summary: Updates to the Git Cheatsheet page, specially regarding Git LFS.
- [3-Year Spotiversary](https://blog.kartones.net/post/3-year-spotiversary/index.html.md) - 2024-10-13
  Summary: Reflecting on my 3-year anniversary working at Spotify
- [Book Review: Learning Python Design Patterns](https://blog.kartones.net/post/book-review-learning-python-design-patterns/index.html.md) - 2024-10-12
  Summary: A review of the book 'Learning Python Design Patterns', by Gennadiy Zlobin
- [Course Review: iOS 17 Development Essential Training (LinkedIn)](https://blog.kartones.net/post/course-review-ios-17-development-essential-training-linkedin/index.html.md) - 2024-09-19
  Summary: Review of the course 'iOS 17 Development Essential Training', from LinkedIn.
- [Book Review: The Creative Programmer](https://blog.kartones.net/post/book-review-the-creative-programmer/index.html.md) - 2024-08-13
  Summary: A review of the book 'The Creative Programmer', by Wouter Groeneveld
- [JavaScript RLE algorithm v3 - Bit-Level RLE](https://blog.kartones.net/post/js-rle-algorithm-v3-bit-level-rle/index.html.md) - 2024-07-23
  Summary: A Javascript bit-level RLE algorithm compression implementation, used with videogame sprites
- [JavaScript RLE algorithm v2 - Sprite Tiles](https://blog.kartones.net/post/js-rle-algorithm-v2-sprite-tiles/index.html.md) - 2024-07-05
  Summary: Testing the Javascript RLE algorithm compression applied to arcade game sprite tiles
- [JavaScript Run-Length Encoding for Arcade Sprites](https://blog.kartones.net/post/js-rle-run-length-encoding-for-arcade-sprites/index.html.md) - 2024-06-26
  Summary: A JavaScript implementation of the RLE algorithm, applied to retro arcade game sprites.
- [Course Review: Bazel Fundamentals (Pluralsight)](https://blog.kartones.net/post/course-review-bazel-fundamentals-pluralsight/index.html.md) - 2024-06-23
  Summary: Review of the course 'Bazel Fundamentals', from Pluralsight.
- [Book Review: The 48 Laws of Power](https://blog.kartones.net/post/book-review-the-48-laws-of-power/index.html.md) - 2024-06-04
  Summary: A review of the book 'The 48 Laws of Power', by Robert Greene
- [My BlueSky account, and a posts eraser script](https://blog.kartones.net/post/my-bluesky-account-and-a-posts-eraser-script/index.html.md) - 2024-06-01
  Summary: Announcement of my BlueSky account, plus a script to delete posts from that social network after X days.
- [Book Review: The Bill Gates Problem](https://blog.kartones.net/post/book-review-the-bill-gates-problem/index.html.md) - 2024-05-23
  Summary: A review of the book 'The Bill Gates Problem', by Tim Schwab
- [Book Review: The Book of CP-System](https://blog.kartones.net/post/book-review-the-book-of-cp-system/index.html.md) - 2024-05-12
  Summary: A review of the book 'The Book of CP-System', by Fabien Sanglard
- [GDC game development talks about Zelda BOTW and Zelda TOTK](https://blog.kartones.net/post/gdc-game-dev-talks-about-zelda-botw-and-zelda-totk/index.html.md) - 2024-05-01
  Summary: A mention of GDC talks on the development of the latest two Zelda games, highlighting the radical changes in BOTW and the advancements in physics and sound in TOTK.
- [Book Review: Dungeon Hacks](https://blog.kartones.net/post/book-review-dungeon-hacks/index.html.md) - 2024-04-30
  Summary: A review of the book 'Dungeon Hacks: How NetHack, Angband, and Other Roguelikes Changed the Course of Video Games', by David L. Craddock
- [Gazelle: Workspace traversal and main extension handlers](https://blog.kartones.net/post/gazelle-workspace-traversal-and-extension-handlers/index.html.md) - 2024-04-21
  Summary: How Bazel Gazelle extensions perform workspace traversal, and which are the interface entry points for extension developers
- [LLM Security Introduction wih Lakera AI](https://blog.kartones.net/post/llm-security-introduction-with-lakera/index.html.md) - 2024-04-17
  Summary: Personal opinion on Lakera AI's red-teaming LLM and security guides
- [Best way to play Metal Gear Solid on PC](https://blog.kartones.net/post/best-way-to-play-metal-gear-solid-on-pc/index.html.md) - 2024-04-01
  Summary: Three ways of plaing the classic video-game Metal Gear Solid on PC, and a personal preference.
- [Book Review: 50 Years of Text Games](https://blog.kartones.net/post/book-review-50-years-of-text-games/index.html.md) - 2024-03-31
  Summary: A review of the book '50 Years of Text Games: From Oregon Trail to A.I. Dungeon', by Aaron A. Reed
- [Book Review: Elon Musk](https://blog.kartones.net/post/book-review-elon-musk-walter-isaacson/index.html.md) - 2024-03-16
  Summary: A review of the book 'Elon Musk', by Walter Isaacson
- [A Gazelle extension featuring LifecycleManager](https://blog.kartones.net/post/gazelle-extension-featuring-lifecyclemanager/index.html.md) - 2024-03-12
  Summary: A brief mention of relevant Bazel's Gazelle source code test and logic to manage the lifecycle inside extensions.
- [Books read list and StoryGraph](https://blog.kartones.net/post/books-read-list-and-storygraph/index.html.md) - 2024-02-28
  Summary: Mention of a nice website to keep track of your read books
- [My macOS Cheatsheet](https://blog.kartones.net/post/my-macos-cheatsheet/index.html.md) - 2024-01-28
  Summary: Presenting a macos cheatsheet, with lists of shortcuts, fixes, and tools.
- [Debugging Typescript errors in Bazel](https://blog.kartones.net/post/debugging-typescript-errors-in-bazel/index.html.md) - 2024-01-21
  Summary: An explanation of how to better debug Typescript errors when using Bazel as the build system.
- [My Generative AI and ML usages (as of 2023)](https://blog.kartones.net/post/my-generative-ai-and-ml-usages-2023/index.html.md) - 2023-12-30
  Summary: A few Generative- AI and Machine Learning personal use case scenarios
- [2023 Wrap-up](https://blog.kartones.net/post/2023-wrap-up/index.html.md) - 2023-12-27
  Summary: A summary of some highlights of 2023
- [An Entity Component System in Javascript](https://blog.kartones.net/post/ecs-in-javascript/index.html.md) - 2023-12-21
  Summary: An implementation of an Entity Component System (ECS) architecture pattern in JavaScript, with code and demo both provided.
- [The origins of LEGO Mindstorms](https://blog.kartones.net/post/origins-of-lego-mindstorms/index.html.md) - 2023-12-17
  Summary: LEGO Mindstorms, a popular robotics brand, was discontinued in 2022. This post briefly explores its origins.
- [Content quality is suffering (as of late 2023)](https://blog.kartones.net/post/content-quality-is-suffering-2023/index.html.md) - 2023-12-02
  Summary: A discussion about the decline in content quality, particularly in written articles and videos, with some examples
- [Tiny Markdown-Based Wiki](https://blog.kartones.net/post/tiny-markdown-wiki/index.html.md) - 2023-10-31
  Summary: Created a simple web alternative to sync and view markdown files using HTML, CSS, and JavaScript. It fetches markdown files, renders them client-side, and supports light/dark themes
- [On multi-tasking and high WIP](https://blog.kartones.net/post/multitasking-and-high-wip/index.html.md) - 2023-10-17
  Summary: A video that details why multi-tasking, or having a high work-in-progress (WIP), is ineffective.
- [Book Review: DOOM Guy](https://blog.kartones.net/post/book-review-doom-guy-john-romero/index.html.md) - 2023-10-15
  Summary: A review of the 'DOOM Guy' book
- [Reproducible Builds](https://blog.kartones.net/post/reproducible-builds/index.html.md) - 2023-09-24
  Summary: Compiling code does not always generate the exact same output, leading to issues with security and build caching. Different tools and languages have different levels of determinism.
- [Book Review: At The Heart Of Management](https://blog.kartones.net/post/book-review-at-the-heart-of-management/index.html.md) - 2023-09-13
  Summary: A review of the book 'At The Heart Of Management'
- [Course Review: Public Speaking for Non-Native English Speakers (LinkedIn Learning)](https://blog.kartones.net/post/course-review-public-speaking-for-non-native-english-speakers-linkedin-learning/index.html.md) - 2023-09-03
  Summary: Review of the course 'Public Speaking for Non-Native English Speakers', from LinkedIn Learning.
- [Installing Windows 10 on the Asus ROG Ally RC71L](https://blog.kartones.net/post/installing-windows-10-on-asus-rog-ally/index.html.md) - 2023-08-26
  Summary: How to replace Windows 10 with Windows 10 on the gaming device and get an amazing performance boost
- [Course Review: ChatGPT Prompt Engineering for Developers (DeepLearning.AI)](https://blog.kartones.net/post/course-review-cahtgpt-prompt-engineering-for-developers-deeplearningai/index.html.md) - 2023-08-16
  Summary: Review of the course 'ChatGPT Prompt Engineering for Developers', from DeepLearning.AI.
- [Some Code Generation papers](https://blog.kartones.net/post/code-generation-papers/index.html.md) - 2023-08-02
  Summary: Code generation is advancing with the help of machine learning and large language models. Several papers and projects in this field are discussed in this post.
- [PSA: Deleted my Twitter account](https://blog.kartones.net/post/deleted-my-twitter-account/index.html.md) - 2023-07-29
  Summary: Announcement that I have deleted my Twitter account.
- [Course Review: Building Java Microservices with gRPC (LinkedIn Learning)](https://blog.kartones.net/post/course-review-java-microservices-with-grpc-linkedin-learning/index.html.md) - 2023-07-25
  Summary: Review of the course 'Building Java Microservices with gRPC', from LinkedIn Learning.
- [YouTube video summarizer script](https://blog.kartones.net/post/youtube-video-summarizer/index.html.md) - 2023-07-22
  Summary: Developed a Python script to summarize YouTube videos, using ChatGPT.
- [Book Review: Dune II - Insider's Guide](https://blog.kartones.net/post/book-review-dune-2-insiders-guide/index.html.md) - 2023-07-16
  Summary: The Dune II - Insider's Guide is a comprehensive reference material for the game, providing detailed information on units, missions, mechanics, and the history of Westwood Studios. It includes screenshots, maps, and tactical strategies, making it a must-read for fans and those interested in the development of the first PC RTS.
- [Word prediction using a trie data structure](https://blog.kartones.net/post/word-prediction-using-trie-data-structure/index.html.md) - 2023-06-22
  Summary: Explores word prediction/autocomplete using a trie data structure. Includes a demo and the source code of the trie implementation.
- [Python Imports 101](https://blog.kartones.net/post/python-imports-101/index.html.md) - 2023-06-08
  Summary: Explains Python import basics, relative vs. absolute imports, import resolution, and provides examples to clarify common import scenarios.
- [Two Testing Anti-Patterns](https://blog.kartones.net/post/two-testing-anti-patterns/index.html.md) - 2023-06-07
  Summary: Discusses the anti-patterns of testing private methods and mocking class under test methods. It emphasizes the importance of focusing on behaviour, refactoring when necessary, and testing in line with production conditions.
- [Markov Model Python Example](https://blog.kartones.net/post/markov-model-python-example/index.html.md) - 2023-05-30
  Summary: A Python example of a Markov model. How to implemented a Markov chain to generate sentences based on a given text file. Describes the process of building a dictionary of word chains and demonstrate how the model can generate sentences.
- [Browser Automation via Chromium](https://blog.kartones.net/post/browser-automation-via-chromium/index.html.md) - 2023-05-04
  Summary: How to set up browser automation using Google browsers, emphasizing Chromium, which has advantages over Chrome, including the ability to access previous builds. Also covers the use of ChromeDriver and automation frameworks like WebDriverIO, as well setting up the Widevine DRM library and command-line switches.
- [Book Review: Pro Git](https://blog.kartones.net/post/book-review-pro-git/index.html.md) - 2023-04-15
  Summary: The book "Pro Git" by Scott Chacon and Ben Straub is a must-read for anyone using git. The explanations are excellent, accompanied by examples and helpful diagrams. The book covers everything from the different states of a file to complex strategies for merging branches. It also teaches how to set up your own git servers and manage user credentials. It is available for free download.
- [Note-Taking and Knowledge Base](https://blog.kartones.net/post/note-taking-and-knowledge-base/index.html.md) - 2023-04-12
  Summary: A journey about finding the right note-taking and knowledge base solutions.
- [Classes in Javascript - 2023 edition](https://blog.kartones.net/post/classes-in-javascript-2023-edition/index.html.md) - 2023-04-11
  Summary: A summary of classes in JavaScript as of 2023, with examples including constructors, inheritance, getters, setters, static properties, private methods, and instantiation.
- [Course Review: Go Essential Training (LinkedIn Learning)](https://blog.kartones.net/post/course-review-go-essential-training-linkedin-learning/index.html.md) - 2023-04-06
  Summary: Review about 'The Go Essential Training' course on LinkedIn Learning.
- [Running Gazelle on Gazelle](https://blog.kartones.net/post/running-bazel-gazelle-on-gazelle/index.html.md) - 2023-04-01
  Summary: How to use Gazelle, a tool for automating Bazel BUILD file management, to build extensions for Go projects. It highlights the benefits of using Gazelle and showcases a small example.
- [An interesting Evolutionary Design talk](https://blog.kartones.net/post/an-interesting-evolutionary-design-talk/index.html.md) - 2023-03-07
  Summary: Some concepts extracted from a talk about Evolutionary Design, covering concepts such as Simple Design, Continuous Design, and Reflective Design.
- [Perfect is the enemy of good](https://blog.kartones.net/post/perfect-is-the-enemy-of-good/index.html.md) - 2023-03-06
  Summary: Discussion about how people often dismiss technologies, languages, or services due to their flaws.
- [CURL, Git, and more cheatsheets](https://blog.kartones.net/post/curl-git-and-more-cheatsheets/index.html.md) - 2023-02-19
  Summary: Moved some GitHub gists to the blog, including cheatsheets for CURL, Git, and Image & Video CLI.
- [I don't care much about SEO](https://blog.kartones.net/post/i-dont-care-much-about-seo/index.html.md) - 2023-02-05
  Summary: Opinion about SEO and following good related practices.
- [Gazelle (Bazel): Loading other BUILD files](https://blog.kartones.net/post/bazel-gazelle-loading-other-build-files/index.html.md) - 2023-01-18
  Summary: How to load and use rules from a specific BUILD file in Bazel using Gazelle. It provides a solution to read and parse the file, and store the relevant information in the configuration for use in the GenerateRules call.
- [Emulation, Virtualization & Compatibility Layers](https://blog.kartones.net/post/emulation-virtualization-and-compatibility-layers/index.html.md) - 2023-01-06
  Summary: Concepts of emulation, virtualization, and compatibility layers.
- [Dependency Injection in Javascript and Testing](https://blog.kartones.net/post/dependency-injection-in-javascript-and-testing/index.html.md) - 2023-01-01
  Summary: The use of dependency injection in JavaScript and its benefits for testing.
- [Always use linters and auto-formatters](https://blog.kartones.net/post/always-use-linters-and-autoformatters/index.html.md) - 2022-12-17
  Summary: Using linters and auto-formatters can ensure consistent and uniform code, improve code reviews, and eliminate trivial issues. Examples of linters and formatters for Python and JavaScript.
- [Cyberpunk 2077 New Game+ Hack](https://blog.kartones.net/post/cyberpunk-2077-new-game-plus-hack/index.html.md) - 2022-12-01
  Summary: A hack for Cyberpunk 2077 that allows players to have a New Game+ experience. The hack involves using a savegame editor to alter the character's appearance and experience levels.
- [How to update Ubuntu Snap Store](https://blog.kartones.net/post/how-to-update-ubuntu-snap-store/index.html.md) - 2022-11-30
  Summary: How to solve an error encountered when trying to update the Ubuntu Snap Store, and provides a solution by using terminal commands to refresh the store.
- [BazelCon 2022 Community Day Bootcamp](https://blog.kartones.net/post/bazelcon-2022-community-day-bootcamp/index.html.md) - 2022-11-27
  Summary: The BazelCon 2022 Community Day Bootcamp had workshops on basic Bazel concepts and writing rules. The instructions for the first workshop were incomplete, so here is a fork, with cleaned repository and improved slides for better clarity.
- [Book Review: Python testing with Pytest](https://blog.kartones.net/post/book-review-python-testing-with-pytest/index.html.md) - 2022-11-08
  Summary: Review of the book 'Python testing with Pytest' by Brian Okken.
- [Course Review: Kubernetes - The Documentary](https://blog.kartones.net/post/course-review-kubernetes-the-documentary/index.html.md) - 2022-10-17
  Summary: Reviews the course 'Kubernetes: The Documentary' on LinkedIn Learning.
- [Course Review: Building with Bazel](https://blog.kartones.net/post/course-review-building-with-bazel/index.html.md) - 2022-09-24
  Summary: Review of the course 'Building with Bazel'.
- [Audiobook Review: Algorithms at Work](https://blog.kartones.net/post/audiobook-review-algorithms-at-work/index.html.md) - 2022-08-26
  Summary: Review of the audiobook 'Algorithms at Work'.
- [Trying Electron for packaging web apps](https://blog.kartones.net/post/trying-electron-for-packaging-web-apps/index.html.md) - 2022-08-05
  Summary: First steps in using Electron to package a simple web app for Windows.
- [Syndicate Map Viewer](https://blog.kartones.net/post/syndicate-map-viewer/index.html.md) - 2022-07-30
  Summary: Building a map viewer for the retro video game Syndicate.
- [How to play Quake trilogy with modern engines](https://blog.kartones.net/post/quake-trilogy-modern-engines-how-to/index.html.md) - 2022-07-06
  Summary: A list of recommended modern engines to play the Quake trilogy on various platforms.
- [Parsing HTML and XML in Javascript](https://blog.kartones.net/post/javascript-html-xml-parsing/index.html.md) - 2022-07-03
  Summary: The search for a library to parse HTML and XML in JavaScript. Showcases a NodeJS code example using various packages to fetch and parse a webpage.
- [Plain Text Accounting](https://blog.kartones.net/post/plain-text-accounting/index.html.md) - 2022-06-29
  Summary: Discusses the author's frustration with using Excel, OpenOffice, and LibreOffice for financial management and his search (and finding) for an alternative.
- [Book Review: Boinas Verdes: De Commandos a Pyro Studios](https://blog.kartones.net/post/book-review-boinas-verdes-commandos-pyro-studios/index.html.md) - 2022-06-25
  Summary: Review of the book 'Boinas Verdes: De Commandos a Pyro Studios'.
- [Ubuntu /bin and /sbin symlink to /usr/bin](https://blog.kartones.net/post/ubuntu-bin-sbin-symlink-to-usrbin/index.html.md) - 2022-06-21
  Summary: Since Ubuntu 20.04, /bin and /sbin are symlinks to /usr/bin. This change can cause errors when migrating containers, so scripts should be moved to /usr/bin instead.
- [Python Hashbang/Shebang](https://blog.kartones.net/post/python-hashbang-shebang/index.html.md) - 2022-06-19
  Summary: The use of hashbangs or shebangs in Python scripts.
- [Web Speech API](https://blog.kartones.net/post/web-speech-api/index.html.md) - 2022-05-22
  Summary: First steps with the Web Speech API, which allows for text-to-speech synthesis in web applications.
- [The Planet Crafter savegame editing](https://blog.kartones.net/post/the-planet-crafter-savegame-edit/index.html.md) - 2022-05-21
  Summary: How to edit savegame files in the game 'The Planet Crafter'.
- [Book Review: Core Bazel: Fast Builds For Busy People](https://blog.kartones.net/post/book-review-core-bazel-fast-builds/index.html.md) - 2022-05-05
  Summary: Review of the book 'Core Bazel: Fast Builds For Busy People'.
- [Courses Review: egghead.io](https://blog.kartones.net/post/egghead-courses-initial-review/index.html.md) - 2022-04-06
  Summary: An initial review of egghead.io, a platform for web development courses.
- [My Favourite command line tools](https://blog.kartones.net/post/favourite-cli-tools/index.html.md) - 2022-03-18
  Summary: A list of my favourite command line tools and my approach to integrating them for quicker and easier actions.
- [My Favourite Firefox, Chrome and VSCode Extensions](https://blog.kartones.net/post/favourite-firefox-chrome-vscode-extensions/index.html.md) - 2022-03-15
  Summary: Maintaining pages in this blog with lists of their favourite extensions for web browsers and tools, including Firefox, Chromium/Edge, and Visual Studio Code.
- [Vampire Survivors Cheats](https://blog.kartones.net/post/vampire-survivors-cheats/index.html.md) - 2022-02-20
  Summary: Cheats and hacks for the indie game Vampire Survivors, including a Javascript/NodeJS savegame editor.
- [Multi-Language Wordle clone fork](https://blog.kartones.net/post/multi-language-wordle-clone-fork/index.html.md) - 2022-02-06
  Summary: Practicing React by forking a Swedish Wordle clone and making it multi-language.
- [Learning the basics of Memcached](https://blog.kartones.net/post/memcached-learning-basics/index.html.md) - 2022-01-30
  Summary: A list of resources and some tips for learning the basics of Memcached.
- [Course Review: Learning Kubernetes (LinkedIn Learning)](https://blog.kartones.net/post/course-review-learning-kubernetes-linkedin-learning/index.html.md) - 2022-01-19
  Summary: Reviewed of the LinkedIn Learning course 'Learning Kubernetes'.
- [Course Review: Learning Docker (LinkedIn Learning)](https://blog.kartones.net/post/course-review-learning-docker-linkedin-learning/index.html.md) - 2022-01-13
  Summary: Review of the course 'Learning Docker' on LinkedIn Learning.
- [Javascript Named Exports for testing](https://blog.kartones.net/post/javascript-named-exports-for-testing/index.html.md) - 2022-01-09
  Summary: Discusses a testing pattern using JavaScript named exports to test unexposed code fragments.
- [Object Oriented Python - A Summary](https://blog.kartones.net/post/object-oriented-python/index.html.md) - 2022-01-05
  Summary: This blog post provides a summary of object-oriented programming in Python, covering topics such as class creation, inheritance, method types, and method overloading. It also recommends visiting realpython.com for more detailed explanations.
- [Course Review: Monorepos - A Beginner's Guide (Udemy)](https://blog.kartones.net/post/monorepos-beginners-guide-udemy-course-review/index.html.md) - 2021-12-25
  Summary: The course 'Monorepos: A Beginner's Guide' on Udemy covers topics such as NodeJS module loading, using Yarn, package hoisting, and cross-package bin scripts. It also includes a bonus lesson on using Lerna. The course is concise and focused on NodeJS and Yarn, but the author has concerns about the initial approach of manually placing modules in the `node_modules` folder.
- [Monorepo-related resources](https://blog.kartones.net/post/monorepo-resources/index.html.md) - 2021-12-24
  Summary: This blog post provides a comprehensive list of resources related to monorepos, including articles, papers, talks, and courses. The resources are sorted alphabetically and include information from various years.
- [Course Review: TypeScript Essential Training (LinkedIn Learning)](https://blog.kartones.net/post/course-review-typescript-essential-training-linkedin-learning/index.html.md) - 2021-11-14
  Summary: The TypeScript Essential Training course on LinkedIn Learning is a comprehensive and detailed dive into TypeScript, covering basic setups, ES2015 concepts, and advanced topics. The course provides real-world examples and a sample application for practical learning. The explanations of how TypeScript compiles to JavaScript are interesting, although some features may be missing in the sample code. Overall, the course offers valuable learnings.
- [Course Review: Learning Typescript (LinkedIn Learning)](https://blog.kartones.net/post/course-review-learning-typescript-linkedin-learning/index.html.md) - 2021-11-14
  Summary: The course 'Learning Typescript' on LinkedIn Learning is a concise and focused guide to setting up Typescript and learning the basics in just over an hour. It also mentions useful tools like DefinitelyTyped.
- [Avoiding relative imports in Javascript, TypeScript, Webpack and Jest](https://blog.kartones.net/post/avoiding-relative-imports-in-javascript-typescript-webpack-and-jest/index.html.md) - 2021-11-09
  Summary: This blog post discusses how to avoid or remove relative imports in JavaScript projects by using module aliases in Webpack and Babel, as well as configuring path mappings in TypeScript and Jest. The goal is to make imports more readable and maintainable.
- [Don't avoid test randomness, embrace and control it](https://blog.kartones.net/post/dont-avoid-randomness-embrace-and-control-it/index.html.md) - 2021-11-01
  Summary: The blog post discusses the importance of embracing and controlling test randomness. The author argues against using fixed seed values in tests and suggests generating a random seed and printing it to reproduce failures. They highlight the benefits of using varied test data and the potential drawbacks of static test data. The post emphasizes the value of adding randomness to tests to uncover hidden bugs and achieve anti-fragility.
- [Course Review: Unconscious Bias (LinkedIn Learning)](https://blog.kartones.net/post/course-review-unconscious-bias-linkedin-learning/index.html.md) - 2021-10-26
  Summary: This blog post reviews the LinkedIn Learning course on unconscious bias, highlighting the 5 biases covered. It suggests that the course could be longer and more in-depth, but overall provides quick and interesting learning. The post also includes a list of additional cognitive biases.
- [On Learning React](https://blog.kartones.net/post/on-learning-react/index.html.md) - 2021-10-17
  Summary: My search for resources to learn React, a few recommended blogs and podcasts.
- [Book Review: Stairway to Badass: The Making and Remaking of Doom](https://blog.kartones.net/post/book-review-stairway-to-badass-making-and-remaking-of-doom/index.html.md) - 2021-10-05
  Summary: The book 'Stairway to Badass: The Making and Remaking of Doom' is criticized for having dull content and being misleading. It focuses more on interviews and modding rather than providing relevant information about the game's development. Overall, it is considered mediocre and not worth reading.
- [Course Review: Node.js Essential Training (LinkedIn Learning)](https://blog.kartones.net/post/course-review-nodejs-essential-training-linkedin-learning/index.html.md) - 2021-10-03
  Summary: Review about The Node.js Essential Training course, on LinkedIn Learning.
- [Logging visit stats with NGINX](https://blog.kartones.net/post/logging-visit-stats-with-nginx/index.html.md) - 2021-10-02
  Summary: How to log visit stats with NGINX by filtering by subdomain and using a custom logger with a desired format. The configuration is provided.
- [Setting up my IndieWeb information](https://blog.kartones.net/post/setting-up-my-indieweb-information/index.html.md) - 2021-09-18
  Summary: My support for the open, accessible, and interlinked world wide web, and my discovery and implementation of IndieWeb principles on this blog.
- [This isn't worth a post](https://blog.kartones.net/post/this-isnt-worth-a-post/index.html.md) - 2021-09-12
  Summary: A small struggle about deciding what is worth posting online, balancing between sharing useful information and not wanting to add to the noise.
- [Book Review: Sid Meier's Memoir!](https://blog.kartones.net/post/book-review-sid-meiers-memoir/index.html.md) - 2021-09-10
  Summary: A review of the book 'Sid Meier's Memoir! A Life in Computer Games'.
- [Book Review: System Design Interview](https://blog.kartones.net/post/book-review-system-design-interview/index.html.md) - 2021-09-02
  Summary: A review of the book 'System Design Interview - An Insider's Guide' by Alex Xu.
- [A new chapter awaits](https://blog.kartones.net/post/a-new-chapter-awaits/index.html.md) - 2021-08-13
  Summary: About leaving Worklytics, the company I was working as a contractor with.
- [Zombie Infection Simulator mini-game](https://blog.kartones.net/post/zombie-infection-simulator-mini-game/index.html.md) - 2021-07-24
  Summary: The development of a Zombie Infection Simulator mini-game, porting a Java + Processing framework game to Javascript + HTML 5. The game can be played online and the source code is available on Github.
- [Book Review: Buffettology](https://blog.kartones.net/post/book-review-buffettology/index.html.md) - 2021-07-13
  Summary: Review of the book 'Buffettology' by Mary Buffet and David Clark.
- [Toggling Firefox dark mode via bash script](https://blog.kartones.net/post/toggling-firefox-dark-mode-via-bash-script/index.html.md) - 2021-06-06
  Summary: This article discusses the inconsistencies of dark theme support across different applications and browsers, and presents a bash script solution to toggle Firefox's dark mode based on time of day.
- [Company Employee Turnover Metrics](https://blog.kartones.net/post/company-employee-turnover-metrics/index.html.md) - 2021-05-16
  Summary: The importance of analyzing employee turnover metrics for understanding a company's health.
- [ctypes, OpenCV and Pillow](https://blog.kartones.net/post/ctypes-opencv-pillow/index.html.md) - 2021-04-25
  Summary: Using Python libraries ctypes, OpenCV, and Pillow to automate tasks in video games, such as creating an auto-clicker, with challenges in handling input and item detection.
- [CSS-Only dark mode in 15 lines of code](https://blog.kartones.net/post/css-only-dark-mode-in-15-lines-of-code/index.html.md) - 2021-04-12
  Summary: A simple 15-line CSS code for implementing a dark mode UI, without the need for Javascript or complex CSS rules, and includes good practice tips.
- [Choose Your Own Adventure - Epub Gamebook](https://blog.kartones.net/post/choose-your-own-adventure-gamebook-epub/index.html.md) - 2021-03-27
  Summary: Creating an ebook version of 'Choose Your Own Adventure' gamebooks, using chapter links for navigation, and testing the approach with a simple ebook.
- [Book Review: Ten Arguments For Deleting Your Social Media Accounts Right Now](https://blog.kartones.net/post/book-review-ten-arguments-deleting-social-media-accounts-now/index.html.md) - 2021-03-15
  Summary: This book by Jaron Lanier discusses how private companies and their algorithms are constantly monitoring and manipulating users for profit. It provides multiple examples and research to support his arguments, making it a thought-provoking read.
- [PBRR - Pretty Basic RSS Reader](https://blog.kartones.net/post/pbrr-pretty-basic-rss-reader/index.html.md) - 2021-03-13
  Summary: PBRR - Pretty Basic RSS Reader is a simple, Python-based RSS reader that fetches and regenerates feeds hourly, groups sites into categories, and differentiates new posts from seen ones.
- [Course Review: Become a Data Analyst (LinkedIn Learning)](https://blog.kartones.net/post/course-review-become-data-analyst-linkedin-learning/index.html.md) - 2021-03-10
  Summary: Review of the LinkedIn Learning course 'Become a Data Analyst'.
- [My Disposable Notebooks](https://blog.kartones.net/post/my-disposable-notebooks/index.html.md) - 2021-03-01
  Summary: My personal note-taking method, using disposable physical notebooks and digital notes for work and study, and the importance of maintaining useful, concise documentation in professional settings.
- [Diablo III Nintendo Switch / emulator cheats](https://blog.kartones.net/post/diablo-3-switch-yuzu-cheats/index.html.md) - 2021-02-24
  Summary: This article is about Diablo III on Nintendo Switch and PC, highlighting the lack of cross-platform support, and exploring the use of the yuzu emulator and Cheat Engine to manipulate game data. Also mentions a savegame editor.
- [Tinkering with Quake](https://blog.kartones.net/post/tinkering-with-quake/index.html.md) - 2021-02-23
  Summary: Experiments with the Quake video game, including creating a random map launcher and exploring a Javascript and WebGL port of the game's server and client code.
- [Microsoft 365 Substrate](https://blog.kartones.net/post/microsoft-365-substrate/index.html.md) - 2021-02-21
  Summary: Microsoft 365 Substrate is an AI-driven platform in Office 365 that stores and manages user data. It's used in Project Cortex for content analysis, Microsoft Viva for employee data, and is a foundation for MetaOS/Taos.
- [WebP and WebP v2](https://blog.kartones.net/post/webp-and-webp-v2/index.html.md) - 2021-02-13
  Summary: Using of WebP for image compression on websites, noting its recent support by Safari and the upcoming WebP v2, which promises further improvements.
- [Book Review: 97 Things Every Java Programmer Should Know](https://blog.kartones.net/post/book-review-97-things-every-java-programmer-should-know/index.html.md) - 2021-01-25
  Summary: Review of the book '97 Things Every Java Programmer Should Know' by Kevlin Henney and Trisha Gee.
- [Course Review: Java Memory Management (LinkedIn Learning)](https://blog.kartones.net/post/course-review-java-memory-management-linkedin-learning/index.html.md) - 2021-01-24
  Summary: Course review: 'Java Memory Management' on LinkedIn Learning.
- [Book Review: Rocket Jump](https://blog.kartones.net/post/book-review-rocket-jump/index.html.md) - 2021-01-10
  Summary: A review of the 'Rocket Jump' book, which provides a comprehensive look at the history of id Software and their games, particularly the Quake series. It includes interviews and details about the development process and modding community. The book also explores the decline of the company's culture over time.
- [Book Review: 97 Things Every Programmer Should Know](https://blog.kartones.net/post/book-review-97-things-every-programmer-should-know/index.html.md) - 2021-01-05
  Summary: '97 Things Every Programmer Should Know' is a book containing 97 tips and advice for programmers, covering topics such as design patterns, testing, refactoring, and collaboration. Although it was published in 2010, most of the advice is still relevant today. The book is a good reminder of mostly good practices and can be read quickly.
- [Book Review: The New Corporation](https://blog.kartones.net/post/book-review-the-new-corporation/index.html.md) - 2020-12-27
  Summary: Book review: 'The New Corporation' by Joel Bakan explores.
- [Book Review: The Tech Resume Inside Out](https://blog.kartones.net/post/book-review-the-tech-resume-inside-out/index.html.md) - 2020-12-13
  Summary: Review of 'The Tech Resume Inside Out' by Gergely Orosz.
- [Type inference complex scenarios - A BigQuery example](https://blog.kartones.net/post/type-inference-complex-scenarios-bigquery-example/index.html.md) - 2020-11-19
  Summary: A bug encountered while using Google BigQuery, specifically with type inference in complex scenarios involving arrays of structs. Plus a solution, and insights on BigQuery's behavior.
- [On having good examples when learning](https://blog.kartones.net/post/on-having-good-examples-when-learning/index.html.md) - 2020-11-13
  Summary: Reflection on my university experience, regretting not finishing my degree and suggesting that practical, engaging examples in subjects like operating systems, digital electronics, computer architecture, compilers, and maths could improve learning and motivation.
- [Book Review: WRONG! Retro Games, You Messed Up Our Comic Book Heroes!](https://blog.kartones.net/post/book-review-wrong-retro-games-messed-up-comic-book-heroes/index.html.md) - 2020-11-06
  Summary: Review of the book 'WRONG! Retro Games, You Messed Up Our Comic Book Heroes!' by Chris Baker.
- [ACID, BASE and CALM](https://blog.kartones.net/post/acid-base-and-calm/index.html.md) - 2020-11-02
  Summary: The article discusses the ACID, BASE, and CALM acronyms related to database transactions, their implications for distributed systems, and the challenges of implementing them, particularly CALM, in imperative languages.
- [FIRE (Financial Independence, Retire Early) Misconceptions](https://blog.kartones.net/post/fire-financial-independence-retire-early-misconceptions/index.html.md) - 2020-11-01
  Summary: Discusses misconceptions about the FIRE (Financial Independence, Retire Early) movement, particularly the confusion between passive income and self-employment. True passive income requires no active work, and caution that even seemingly passive income sources may come with hidden costs.
- [Book Review: The Economics Book - Big Ideas Simply Explained](https://blog.kartones.net/post/book-review-the-economics-book/index.html.md) - 2020-10-18
  Summary: Review of 'The Economics Book - Big Ideas Simply Explained' by Dorling Kindersley Ltd.
- [Don't Assume Knowledge](https://blog.kartones.net/post/dont-assume-knowledge/index.html.md) - 2020-10-04
  Summary: About the importance of not assuming everyone understands a topic, using a failed presentation on contract testing as an example.
- [Look on the bright side](https://blog.kartones.net/post/look-on-the-bright-side/index.html.md) - 2020-09-01
  Summary: On how a failed job transfer due to COVID-19 led to positive changes including remote work, stepping out of comfort zone, embracing minimalism, reducing burdens, and building healthy habits.
- [All roads lead to static typing](https://blog.kartones.net/post/all-roads-lead-to-static-typing/index.html.md) - 2020-08-21
  Summary: The evolution of programming languages like PHP, Javascript, Ruby, and Python towards static typing, highlighting its benefits for understanding code, reducing errors, and improving scalability.
- [Book Review: The Business Book - Big Ideas Simply Explained](https://blog.kartones.net/post/book-review-the-business-book/index.html.md) - 2020-07-18
  Summary: Review about 'The Business Book - Big Ideas Simply Explained' by Dorling Kindersley Ltd (DK).
- [Debouncing, Throttling and Queueing](https://blog.kartones.net/post/debouncing-throttling-queueing/index.html.md) - 2020-07-15
  Summary: Four JavaScript techniques for managing event handlers: Debounce, Leading Edge Debounce, Throttle, and Queue, providing example code and explaining their uses and benefits.
- [We are creatures of habit](https://blog.kartones.net/post/we-are-creatures-of-habit/index.html.md) - 2020-07-09
  Summary: How habits are formed through repetition, the impact of good and bad habits, and the possibility of overcoming detrimental habits, using personal experiences as examples.
- [Book Review: Sams Teach Yourself Java in 21 Days](https://blog.kartones.net/post/book-review-teach-yourself-java-21-days/index.html.md) - 2020-05-24
  Summary: A review of the book 'Sams Teach Yourself Java in 21 Days' by Rogers Cadenhead.
- [Google Meet vs Skype on Tethered 4G](https://blog.kartones.net/post/google-meet-vs-skype-tethered-4g/index.html.md) - 2020-05-20
  Summary: A comparison of Google Meet and Skype on tethered network connections.
- [Book Review: Site Reliability Engineering](https://blog.kartones.net/post/book-review-site-reliability-engineering/index.html.md) - 2020-05-12
  Summary: The book 'Site Reliability Engineering' by Google SRE teams authors contains a wealth of ideas, tips, and practices for managing services in production. While the book can be dull at times, it covers a myriad of topics related to monitoring, logging, alerting, automation, and more. The final chapters on SRE team management and integration are also useful.
- [Unsung Heroes](https://blog.kartones.net/post/unsung-heroes/index.html.md) - 2020-05-10
  Summary: Reflects on the unsung heroes of the tech industry, those who work diligently without seeking public recognition, and highlights their importance in saving companies.
- [Course Review: Data Analytics on Google Cloud (Pluralsight)](https://blog.kartones.net/post/course-review-data-analytics-google-cloud-pluralsight/index.html.md) - 2020-05-01
  Summary: A review of the course 'Data Analytics on Google Cloud' by Pluralsight.
- [Course Review: Clean Architecture: Patterns, Practices, and Principles (Pluralsight)](https://blog.kartones.net/post/course-review-clean-architecture-pluralsight/index.html.md) - 2020-04-21
  Summary: Review about the Pluralsight course 'Clean Architecture: Patterns, Practices, and Principles'.
- [Course Review: UX-Driven Software Design (Pluralsight)](https://blog.kartones.net/post/course-review-ux-driven-software-design-pluralsight/index.html.md) - 2020-04-18
  Summary: Review of the Pluralsight course 'UX-Driven Software Design'.
- [Course Review: Microservices Architecture (Pluralsight)](https://blog.kartones.net/post/course-review-microservices-architecture-pluralsight/index.html.md) - 2020-04-12
  Summary: Review of the Pluralsight course 'Microservices Architecture'.
- [Course Review: Modern Software Architecture: Domain Models CQRS and Event Sourcing (Pluralsight)](https://blog.kartones.net/post/course-review-modern-software-architecture-ddd-cqrs-event-sourcing-pluralsight/index.html.md) - 2020-04-06
  Summary: Review of Pluralsight course 'Modern Software Architecture: Domain Models, CQRS, and Event Sourcing'.
- [Two decades of LEGO Mindstorms](https://blog.kartones.net/post/two-decades-lego-mindstorms/index.html.md) - 2020-04-05
  Summary: The evolution of LEGO Mindstorms, from the Micro Scout to the current EV3 version, highlighting the advancements in firmware and coding capabilities, and my personal experiences with each generation.
- [Book Review: Infinite Game Universe: Mathematical Techniques](https://blog.kartones.net/post/book-review-infinite-game-universe-mathematical-techniques/index.html.md) - 2020-03-29
  Summary: Review of the book 'Infinite Game Universe: Mathematical Techniques' by Guy W. Lecky-Thompson.
- [English Course Reviews - February 2020](https://blog.kartones.net/post/english-course-reviews-february-2020/index.html.md) - 2020-02-28
  Summary: Reviews of three Udemy English courses: '50 English Phrases, Idioms, and Expressions for ESL Students', 'English for IT Professionals', and 'Business English: Easy English for Meetings'.
- [Why the 10th Man Rule is relevant](https://blog.kartones.net/post/why-the-10th-man-rule-is-relevant/index.html.md) - 2020-02-16
  Summary: Discusses the '10th Man Rule' from the movie 'World War Z', advocating for its application in decision-making processes to challenge group thinking and encourage diverse perspectives.
- [Let's talk about idempotency](https://blog.kartones.net/post/lets-talk-about-idempotency/index.html.md) - 2020-02-09
  Summary: The concept of idempotency in computer science, explaining its definition, benefits, and how to achieve it using an idempotency key. It also explores alternative approaches and the challenges of achieving pure idempotency in complex systems.
- [Course Review: Master English: 100 Phrasal verbs for IELTS (Udemy)](https://blog.kartones.net/post/course-review-master-english-100-phrasal-verbs-ielts-udemy/index.html.md) - 2020-01-20
  Summary: Review of the Udemy course 'Master English: 100 Phrasal verbs for IELTS'.
- [Course Review: Business English Course for ESL Students (Udemy)](https://blog.kartones.net/post/course-review-business-english-course-esl-students/index.html.md) - 2019-12-27
  Summary: Review about 'Business English Course for ESL Students' on Udemy.
- [Book Review: Stay Awhile and Listen: Book II](https://blog.kartones.net/post/book-review-stay-awhile-and-listen-2/index.html.md) - 2019-12-21
  Summary: Review of the book 'Stay Awhile and Listen: Book II' by David L. Craddock.
- [15 Years Blogging](https://blog.kartones.net/post/15-years-blogging/index.html.md) - 2019-12-02
  Summary: Today marks the 15th anniversary of the author's blog. Mostly a reflection on the different platforms used over the years, and the challenges of migrating their content.
- [Steam Web API Introduction](https://blog.kartones.net/post/steam-web-api-introduction/index.html.md) - 2019-12-01
  Summary: An introduction to the Steam Web API, detailing how to register for an API key, use basic endpoints to obtain user data, and adhere to rate limits.
- [Book Review: Power-Up](https://blog.kartones.net/post/book-review-power-up/index.html.md) - 2019-11-29
  Summary: Review of the book 'Power-Up: How Japanese Video Games Gave the World an Extra Life' by Chris Kohler.
- [Four Horsemen of the Python Apocalypse](https://blog.kartones.net/post/four-horsemen-python-apocalypse/index.html.md) - 2019-11-14
  Summary: Discusses the four tools that can improve a Python codebase: mypy, flake8, isort, and black. Explains the benefits and configurations of each tool.
- [Bulk Queries in MySQL vs PostgreSQL](https://blog.kartones.net/post/bulk-queries-mysql-vs-postgresql/index.html.md) - 2019-11-12
  Summary: In MySQL, it's more efficient to split large queries into smaller chunks to avoid lock contention and potential deadlocks, unlike other RDBMS where bulk queries are preferred.
- [Course Review: 300+ Phrasal Verbs (Udemy)](https://blog.kartones.net/post/course-review-300-phrasal-verbs-udemy/index.html.md) - 2019-11-04
  Summary: Review of the Udemy course '300+ Phrasal Verbs - Spoken English Vocabulary 4 Conversation'.
- [Always send emails asynchronously](https://blog.kartones.net/post/always-send-emails-asynchronously/index.html.md) - 2019-10-21
  Summary: Advice against sending emails synchronously, suggesting instead to use asynchronous methods, such as enqueuing tasks or using event-based architecture, to improve efficiency and reduce complexity.
- [Course Review: American English Pronunciation (Udemy)](https://blog.kartones.net/post/course-review-american-english-pronunciation-brain-udemy/index.html.md) - 2019-10-12
  Summary: Review of the Udemy course 'American English Pronunciation'.
- [How different opensource storage systems replicate data](https://blog.kartones.net/post/how-different-opensource-storage-systems-replicate-data/index.html.md) - 2019-09-24
  Summary: How various open-source storage systems, including MongoDB, MySQL, PostgreSQL, Redis, and Cassandra, handle data replication, concluding that most use a log of commands propagated to replicas.
- [Course Review: Building Your English Brain (Udemy)](https://blog.kartones.net/post/course-review-building-your-english-brain-udemy/index.html.md) - 2019-09-21
  Summary: Review of the course 'Building Your English Brain' on Udemy.
- [Book Review: Two Scoops of Django 1.11](https://blog.kartones.net/post/book-review-two-scoops-of-django-1-11/index.html.md) - 2019-09-02
  Summary: Review of the book 'Two Scoops of Django 1.11' by Daniel Greenfeld and Audrey Roy Greenfeld.
- [Self-Modifying code and avoiding conditionals](https://blog.kartones.net/post/self-modifying-code-and-avoiding-conditionals/index.html.md) - 2019-08-24
  Summary: About the use of self-modifying code in the 1980s, and how it was used to overcome memory and CPU restrictions. It also explores modern alternatives to avoid conditionals.
- [Book Review: The subtle art of not giving a f*ck](https://blog.kartones.net/post/book-review-the-subtle-art-of-not-giving-a-fck/index.html.md) - 2019-08-20
  Summary: A review of the book 'The subtle art of not giving a f*ck', by Mark Manson.
- [Book Review: How Ideas Spread](https://blog.kartones.net/post/book-review-how-ideas-spread/index.html.md) - 2019-08-18
  Summary: Review of the book 'How Ideas Spread' by Jonah Berger.
- [On measuring and adding complexity](https://blog.kartones.net/post/on-measuring-and-adding-complexity/index.html.md) - 2019-08-12
  Summary: About the importance of measuring code changes when adding complexity, implementing Chrome's new native image lazy-load attribute as a Pelican plugin as an example.
- [Course Review: English Fluency Master (Udemy)](https://blog.kartones.net/post/course-review-english-fluency-master-udemy/index.html.md) - 2019-07-31
  Summary: Review of the Udemy course 'English Fluency Master'.
- [Book Review: Digital Minimalism: Choosing a Focused Life in a Noisy World](https://blog.kartones.net/post/book-review-digital-minimalism/index.html.md) - 2019-07-05
  Summary: A review of the book 'Digital Minimalism: Choosing a Focused Life in a Noisy World', by Cal Newport.
- [Book Review: Whatever you think, think the opposite](https://blog.kartones.net/post/book-review-whatever-you-think-think-the-opposite/index.html.md) - 2019-07-01
  Summary: Review of the book 'Whatever you think, think the opposite' by Paul Arden.
- [Book Review: It's Not How Good You Are. It's How Good You Want To Be](https://blog.kartones.net/post/book-review-its-not-how-good-you-are-its-how-good-you-want-to-be/index.html.md) - 2019-06-30
  Summary: Review of the book 'It's Not How Good You Are. It's How Good You Want To Be' by Paul Arden.
- [Course Review: The Complete Splunk Beginner Course (Udemy)](https://blog.kartones.net/post/complete-splunk-beginner-course-udemy/index.html.md) - 2019-06-29
  Summary: A review of the course 'The Complete Splunk Beginner Course' on Udemy.
- [Course Review: Perfect English Pronunciation: British English (Udemy)](https://blog.kartones.net/post/perfect-english-pronunciation-british-english-udemy/index.html.md) - 2019-06-24
  Summary: Review of the course 'Perfect English Pronunciation: British English' on Udemy.
- [When to Feature Flag new code](https://blog.kartones.net/post/when-to-feature-flag-new-code/index.html.md) - 2019-06-23
  Summary: When to use feature flags in coding, including for new features, experimental features, breaking changes, and complex refactors.
- [Micro-Frontends (and self-contained systems)](https://blog.kartones.net/post/micro-frontends-and-self-contained-systems/index.html.md) - 2019-06-23
  Summary: Discussion about the recent trend of Micro-Frontends and self-contained systems in frontend development.
- [Book Review: How to win friends and influence people](https://blog.kartones.net/post/book-review-how-to-win-friends-and-influence-people/index.html.md) - 2019-06-17
  Summary: A review of the book 'How to win friends and influence people', by Dale Carnegie.
- [Hard to test scenarios](https://blog.kartones.net/post/hard-to-test-scenarios/index.html.md) - 2019-05-26
  Summary: Strategies for testing complex scenarios in software development, using examples of non-code 'hard to test' scenarios.
- [The state of PC gaming in 2019](https://blog.kartones.net/post/the-state-of-pc-gaming-in-2019/index.html.md) - 2019-05-26
  Summary: This article discusses the evolution of PC gaming, highlighting the shift to digital platforms, the rise of multiple game launchers, and the potential solution of a unified PC launcher.
- [Naming bugs for fun](https://blog.kartones.net/post/naming-bugs-for-fun/index.html.md) - 2019-05-19
  Summary: An humorous approach to describing various types of software bugs, each given a unique name such as 'Cinderella bug' or 'The poltergeist'.
- [Course Review: English Speaking Patterns Mastery (Udemy)](https://blog.kartones.net/post/course-review-english-speaking-patterns-mastery-udemy/index.html.md) - 2019-05-04
  Summary: A review of the course 'English Speaking Patterns Mastery: Upgrade your English', available on Udemy.
- [Course Review: English Idioms Launch (Udemy)](https://blog.kartones.net/post/course-review-english-idioms-launch-udemy/index.html.md) - 2019-04-08
  Summary: A review of the course 'English Idioms Launch: Upgrade your speaking and listening' on Udemy.
- [Work life hacks: Noise-free Gmail and muting Slack](https://blog.kartones.net/post/work-life-hacks-noise-free-gmail-and-muting-slack/index.html.md) - 2019-04-03
  Summary: Tips on how to reduce digital noise and distractions at work by managing Gmail and Slack notifications.
- [My latest side project: Finished Games](https://blog.kartones.net/post/my-latest-side-project-finished-games/index.html.md) - 2019-03-16
  Summary: My latest side project, Finished Games, a small website to catalog and track video game playing history.
- [Course Review: Business English Vocabulary (Udemy)](https://blog.kartones.net/post/course-review-business-english-vocabulary-udemy/index.html.md) - 2019-03-10
  Summary: A review of the course 'Business English Vocabulary: Learn Essential Business Words' on Udemy.
- [Course Review: Vagrant Quick Start (Udemy)](https://blog.kartones.net/post/course-review-vagrant-quick-start-udemy/index.html.md) - 2019-03-03
  Summary: A review of the course 'Vagrant Quick Start: Virtualized Development Environments', by Udemy.
- [Migrated to VS Code and so happy](https://blog.kartones.net/post/migrated-to-vs-code-and-so-happy/index.html.md) - 2019-02-21
  Summary: A positive experience migrating from JetBrains and Sublime Text to Visual Studio Code for both work and personal projects.
- [Course Review: AWS Certified Developer Associate (Udemy)](https://blog.kartones.net/post/course-review-aws-certified-developer-associate-udemy/index.html.md) - 2019-01-29
  Summary: A review of the course 'AWS Certified Developer Associate' on Udemy.
- [Course Review: English Vocabulary Launch (Udemy)](https://blog.kartones.net/post/course-review-english-vocabulary-launch-udemy/index.html.md) - 2019-01-29
  Summary: A review of the course 'English Vocabulary Launch' on Udemy.
- [Course Review: Communication Fundamentals (Udemy)](https://blog.kartones.net/post/course-review-communication-fundamentals-udemy/index.html.md) - 2019-01-29
  Summary: A review of the course 'Communication Fundamentals: How To Communicate Better', offered on Udemy.
- [Double-Linked List Python implementation](https://blog.kartones.net/post/double-linked-list-python-implementation/index.html.md) - 2019-01-17
  Summary: A Python implementation of a double-linked list, which includes features like sorting, reversing, inserting, searching, and type annotation.
- [Speeding up my websites for fun](https://blog.kartones.net/post/speeding-up-my-websites-for-fun/index.html.md) - 2019-01-03
  Summary: My efforts to speed up my websites by removing unused CSS, minimizing content, supporting Gzip and cache expiration headers, and compressing images.
- [Book Review: Game Engine Black Book: DOOM](https://blog.kartones.net/post/book-review-game-engine-black-book-doom/index.html.md) - 2018-12-31
  Summary: A review of the book 'Game Engine Black Book: DOOM', by Fabien Sanglard.
- [2018 Recap](https://blog.kartones.net/post/2018-recap/index.html.md) - 2018-12-23
  Summary: The author got promoted to Principal Engineer at ticketea, which was acquired by Eventbrite. They visited the USA and UK for work, improved their English, and experimented with reinforced learning. They reduced Twitter usage, focused on fewer video games, and had personal time blocks. They also dealt with sad family issues and focused on improving their personal life and pets.
- [Course Review: Master English (Udemy)](https://blog.kartones.net/post/course-review-master-english-udemy/index.html.md) - 2018-12-05
  Summary: Review of the Udemy course 'Master English'.
- [Course Review: Webpack 2: The Complete Developer's Guide (Udemy)](https://blog.kartones.net/post/course-review-webpack-2-complete-developers-guide-udemy/index.html.md) - 2018-11-18
  Summary: A review of the course 'Webpack 2: The Complete Developer's Guide' on Udemy.
- [Course Review: Learn Redux (Wes Bos)](https://blog.kartones.net/post/course-review-learn-redux-wes-bos/index.html.md) - 2018-11-18
  Summary: A review of the course 'Learn Redux', by Wes Bos.
- [Course Review: React for Beginners (Wes Bos)](https://blog.kartones.net/post/course-review-react-for-beginners-wes-bos/index.html.md) - 2018-11-18
  Summary: A review of the course 'React for Beginners', by Wes Bos.
- [My Building Autonomous Agents With gym-retro talk](https://blog.kartones.net/post/my-building-autonomous-agents-with-gym-retro-talk/index.html.md) - 2018-11-06
  Summary: My talk on building autonomous agents with gym-retro, presented at the 10th edition of The MindCamp event, including the source code and demos.
- [Course Review: English Grammar Launch Advanced (Udemy)](https://blog.kartones.net/post/course-review-english-grammar-launch-advanced-udemy/index.html.md) - 2018-10-17
  Summary: A review of the course 'English Grammar Launch Advanced: Upgrade your speaking' from Udemy.
- [Book Review: Disrupted](https://blog.kartones.net/post/book-review-disrupted/index.html.md) - 2018-09-24
  Summary: A review of the book 'Disrupted: My Misadventure in the Start-Up Bubble', by Dan Lyons.
- [Course Review: English Grammar Launch (Udemy)](https://blog.kartones.net/post/course-review-english-grammar-launch-udemy/index.html.md) - 2018-09-19
  Summary: A review of the course 'English Grammar Launch: Upgrade your speaking and listening', available on Udemy.
- [Course Review: Apache Kafka Series - Kafka Streams for Data Processing (Udemy)](https://blog.kartones.net/post/course-review-kafka-streams-for-data-processing/index.html.md) - 2018-08-22
  Summary: A review of the course 'Apache Kafka Series - Kafka Streams for Data Processing' on Udemy.
- [Course Review: Apache Kafka Series - Kafka Connect Hands-on Learning (Udemy)](https://blog.kartones.net/post/course-review-kafka-connect-hands-on-learning/index.html.md) - 2018-08-21
  Summary: A review of the course 'Apache Kafka Series - Kafka Connect Hands-on Learning' on Udemy.
- [Course Review: Master 320 Common English Phrases (Udemy)](https://blog.kartones.net/post/course-review-master-320-common-english-phrases-udemy/index.html.md) - 2018-08-19
  Summary: A review of the course 'Master 320 Common English Phrases' on Udemy.
- [Course Review: Apache Kafka Series - Learn Apache Kafka for Beginners (Udemy)](https://blog.kartones.net/post/course-review-learn-apache-kafka-for-beginners-udemy/index.html.md) - 2018-08-18
  Summary: A review of the course 'Apache Kafka Series - Learn Apache Kafka for Beginners' on Udemy.
- [Course Review: Master 120 common phrasal verbs (Udemy)](https://blog.kartones.net/post/course-review-master-120-common-phrasal-verbs-udemy/index.html.md) - 2018-08-12
  Summary: A review of the course 'Master 120 common phrasal verbs', offered on Udemy.
- [Course Review: Adam Grant on Developing Original Ideas (Udemy)](https://blog.kartones.net/post/course-review-adam-grant-developing-original-ideas-udemy/index.html.md) - 2018-07-28
  Summary: A review of the course 'Adam Grant on Developing Original Ideas', offered on Udemy.
- [Mutan Zone sprite exporter WIP](https://blog.kartones.net/post/mutan-zone-sprite-exporter-wip/index.html.md) - 2018-07-19
  Summary: Attempts to reverse engineer and extract graphics (sprites) from the an old MS-DOS game.
- [Opera Soft's PIC to PNG exporter](https://blog.kartones.net/post/opera-soft-pic-to-png-exporter/index.html.md) - 2018-07-15
  Summary: Extracting graphics (full images) from an old MS-DOS game, Mutan Zone, by converting .PIC files into PNG format.
- [MVP: Minimum Viable Product](https://blog.kartones.net/post/mvp-minimum-viable-product/index.html.md) - 2018-06-23
  Summary: The concept of Minimum Viable Product (MVP) and its application in tech startups. Three examples from my experience where simplifying and avoiding over-engineering led to successful MVPs.
- [Course Review: Master The English Verb Tenses (Udemy)](https://blog.kartones.net/post/course-review-master-english-verb-tenses-udemy/index.html.md) - 2018-06-11
  Summary: A review of the course 'Master The English Verb Tenses' on Udemy.
- [Build a Multi-Arcade with a Raspberry Pi 3 and RetroPie](https://blog.kartones.net/post/build-multi-arcade-with-raspberry-pi-3-and-retropie/index.html.md) - 2018-06-02
  Summary: My experience building a multi-arcade system using a Raspberry Pi 3 and RetroPie.
- [Course Review: Essential Business English (Udemy)](https://blog.kartones.net/post/course-review-essential-business-english-udemy/index.html.md) - 2018-06-02
  Summary: Review of the Udemy course 'Essential Business English', which includes 2 hours of video with work-related conversations and exercises. The course is well-organized and easy to follow.
- [Alternatives to Google Services](https://blog.kartones.net/post/alternatives-to-google-services/index.html.md) - 2018-04-16
  Summary: The decision to find alternatives to Google services for privacy reasons. Provides a list of alternatives.
- [Course Review: GCP Cloud Architect (Udemy)](https://blog.kartones.net/post/course-review-gcp-cloud-architect-udemy/index.html.md) - 2018-04-07
  Summary: A review of the course 'GCP Cloud Architect' on Udemy.
- [Information regarding GDPR (General Data Protection Regulation)](https://blog.kartones.net/post/information-regarding-gdpr-general-data-protection-regulation/index.html.md) - 2018-04-04
  Summary: Small discussion about the General Data Protection Regulation (GDPR), its implications for internet users and companies, and resources for understanding and implementing the new regulation.
- [Book Review: The One Thing](https://blog.kartones.net/post/book-review-the-one-thing/index.html.md) - 2018-04-03
  Summary: A review of the book 'The One Thing: The Surprisingly Simple Truth Behind Extraordinary Results', by Gary W. Keller and Jay Papasan.
- [Talk: Python static typing with MyPy](https://blog.kartones.net/post/talk-python-static-typing-with-mypy/index.html.md) - 2018-03-23
  Summary: A talk on Python type hints and static typing using MyPy presented at a Python-Madrid local meetup, with the slides available online.
- [Rate limits with Python](https://blog.kartones.net/post/rate-limits-with-python/index.html.md) - 2018-02-01
  Summary: The importance of rate limiting in Python services to prevent system failures and abuse.
- [Migration of ticketea.com website to Python 3](https://blog.kartones.net/post/migration-of-ticketea-website-to-python-3/index.html.md) - 2018-01-12
  Summary: The blog post discusses the migration of ticketea.com to Python 3, highlighting the author's lack of bias due to not having used Python 2 before. They fixed errors, conducted extensive testing, and expressed satisfaction with the outcome. The migration was prompted by the need to add rate limiting to an internal API.
- [Newsletters I read](https://blog.kartones.net/post/newsletters-i-read/index.html.md) - 2018-01-03
  Summary: My habit of subscribing to various weekly newsletters to stay updated on different topics, particularly in the tech field, both in English and Spanish.
- [2017 Recap](https://blog.kartones.net/post/2017-recap/index.html.md) - 2017-12-17
  Summary: Personal reflection on key events of 2017.
- [JSON-schema for REST API tests](https://blog.kartones.net/post/json-schema-for-rest-api-tests/index.html.md) - 2017-11-14
  Summary: How to use JSON-schema for building tests for REST API endpoints, providing examples for classless django views, pytest-django, and json-schema usage.
- [About overwork](https://blog.kartones.net/post/about-overwork/index.html.md) - 2017-10-17
  Summary: Personal experiences of overwork in the tech industry, discussing the negative impacts of overtime and the importance of maintaining a work-life balance.
- [Book Review: Game Engine Black Book: Wolfenstein 3D](https://blog.kartones.net/post/book-review-game-engine-black-book-wolfenstein-3d/index.html.md) - 2017-09-19
  Summary: A review of the book 'Game Engine Black Book: Wolfenstein 3D', by Fabien Sanglard.
- [Regarding Technical Code Tests](https://blog.kartones.net/post/regarding-technical-code-tests/index.html.md) - 2017-09-11
  Summary: Personal thoughts on technical code tests for job candidates, including his own struggles with them. Also suggests alternatives such as doing an actual job task or working with the company for a week, and emphasize the importance of giving feedback to candidates.
- [Book Review: Writing Idiomatic Python](https://blog.kartones.net/post/book-review-writing-idiomatic-python/index.html.md) - 2017-08-01
  Summary: A review of the book 'Writing Idiomatic Python', by Jeff Knupp.
- [Emulators for Ubuntu Linux](https://blog.kartones.net/post/emulators-for-ubuntu-linux/index.html.md) - 2017-07-24
  Summary: Setting up various emulators for retro gaming on Ubuntu Linux, including MAME for arcade machines, Higan for old Nintendo systems, DGen/SDL and Gens for SEGA MegaDrive/Genesis, FS-UAE for Commodore AMIGA 500, and DOSBox for old MS-DOS games.
- [On Python 3, Flake8 and mypy](https://blog.kartones.net/post/on-python-3-flake8-and-mypy/index.html.md) - 2017-06-20
  Summary: How I use Python 3.6, with flake8 as a linter, and mypy for typed Python at work and in personal projects.
- [Encoding JPGs with Google's Guetzli](https://blog.kartones.net/post/encoding-jpgs-with-google-s-guetzli/index.html.md) - 2017-05-17
  Summary: Experimenting with Google's Guetzli, an algorithm that reduces JPG size by 35% without quality loss.
- [Book Review: Thinking Fast and Slow](https://blog.kartones.net/post/book-review-thinking-fast-and-slow/index.html.md) - 2017-04-29
  Summary: A review of the book 'Thinking Fast and Slow', by Daniel Kahneman.
- [On Elastic Beanstalk, Docker and CircleCI](https://blog.kartones.net/post/on-elastic-beanstalk-docker-and-circleci/index.html.md) - 2017-04-27
  Summary: Discusses their experience with Elastic Beanstalk, Docker, and CircleCI while working on a new project. Provides notes and references for each tool and discuss alternatives to Elastic Beanstalk.
- [Pelican Publisher Script](https://blog.kartones.net/post/pelican-publisher-script/index.html.md) - 2017-04-04
  Summary: A Python script for the Pelican static site generator, which automates post-processing tasks and uploads modified files for faster blog deployment.
- [Hacking Flash Games Example: Clicker Heroes](https://blog.kartones.net/post/hacking-flash-games-example-clicker-heroes/index.html.md) - 2017-02-06
  Summary: Hacking the Flash game 'Clicker Heroes', creating a Ruby tool to apply the game's algorithm.
- [Customizing Pelican archives page](https://blog.kartones.net/post/customizing-pelican-archives-page/index.html.md) - 2017-01-28
  Summary: How to customize the archives page of a blog using the Pelican platform, specifically grouping posts by year using Jinja template system.
- [5 Advices for job seekers](https://blog.kartones.net/post/5-advices-for-job-seekers/index.html.md) - 2017-01-21
  Summary: Five pieces of advice for job seekers in technical positions.
- [Basic Nginx snippets](https://blog.kartones.net/post/basic-nginx-snippets/index.html.md) - 2016-12-30
  Summary: A guide on how to manage a full Linux instance using Amazon Lightsail, with a focus on improving Nginx skills. It includes code snippets for various tasks such as error log location, subsites, proxying Python apps, protecting sensitive files, MIME types, authentication, subdomain aliases, custom headers, redirections, HTTP methods, optimizations, and serving static content.
- [Book Review: Can holding a fart kill you?](https://blog.kartones.net/post/book-review-can-holding-a-fart-kill-you/index.html.md) - 2016-12-28
  Summary: A review of the book 'Can holding a fart kill you?', by Andrew Thompson.
- [Pet project: Shopping Lists published](https://blog.kartones.net/post/pet-project-shopping-lists-published/index.html.md) - 2016-12-11
  Summary: A pet project, 'Shopping Lists', a simple Flask app and Python file I/O, which has been migrated from C#/ASP.NET to Python + Flask.
- [Software Developer Position for TheMotion](https://blog.kartones.net/post/software-developer-position-for-themotion/index.html.md) - 2016-12-06
  Summary: TheMotion was seeking a software developer.
- [Book Review: Console Wars](https://blog.kartones.net/post/book-review-console-wars/index.html.md) - 2016-11-26
  Summary: A review of the book 'Console Wars: Sega, Nintendo and the Battle That Defined a Generation', by Blake J. Harris.
- [Book Review: Making games with Phaser: Color Zap](https://blog.kartones.net/post/book-review-making-games-with-phaser-color-zap/index.html.md) - 2016-11-13
  Summary: A review of the book 'Making games with Phaser: Color Zap', by William Clarkson.
- [Carpe Diem](https://blog.kartones.net/post/carpe-diem/index.html.md) - 2016-08-24
  Summary: A reflection on the unpredictability of life and the importance of seizing the day.
- [Book Review: Managing Humans](https://blog.kartones.net/post/book-review-managing-humans/index.html.md) - 2016-07-30
  Summary: A review of the book 'Managing Humans: Biting and Humorous Tales of a Software Engineering Manager', by Michael Lopp.
- [Bootstrapping database creation for a microservice in a container](https://blog.kartones.net/post/bootstrapping-database-creation-for-a-microservice-in-a-container/index.html.md) - 2016-07-12
  Summary: Bootstrapping database creation for a microservice in a container, using PostgreSQL for data storage and Linux createdb command for setup.
- [Book Review: Commodore AMIGA A visual compendium](https://blog.kartones.net/post/book-review-commodore-amiga-a-visual-compendium/index.html.md) - 2016-07-02
  Summary: A review of the book 'Commodore AMIGA A visual compendium', by Bitmap Books.
- [UGE - Universal Game Editor + Stonekeep module](https://blog.kartones.net/post/uge-universal-game-editor-plus-stonekeep-module/index.html.md) - 2016-06-25
  Summary: Small review of the application Universal Game Editor, a 1993 MS-DOS tool by Jack Hartman, used for editing videogame savegames.
- [Book Review: Ready Player One](https://blog.kartones.net/post/book-review-ready-player-one/index.html.md) - 2016-06-25
  Summary: A review of the book 'Ready Player One', by Ernest Cline.
- [Free password management solution: KeePass](https://blog.kartones.net/post/free-password-management-solution-keepass/index.html.md) - 2016-06-19
  Summary: My transition from a commercial password management solution to KeePass, a free, open-source alternative.
- [Book Review: Peopleware: Productive Projects and Teams](https://blog.kartones.net/post/book-review-peopleware-productive-projects-and-teams/index.html.md) - 2016-05-25
  Summary: A review of the book 'Peopleware: Productive Projects and Teams', by Tom DeMarco and Tim Lister.
- [Hiding your Linkedin connections list](https://blog.kartones.net/post/hiding-your-linkedin-connections-list/index.html.md) - 2016-05-12
  Summary: About the benefits of changing your LinkedIn connections list to private to avoid unwanted recruitment attempts and maintain privacy.
- [Good lessons learned from past jobs](https://blog.kartones.net/post/good-lessons-learned-from-past-jobs/index.html.md) - 2016-05-05
  Summary: My experiences and lessons learned from each of my past jobs, highlighting the positive aspects and skills gained from each role.
- [Book Review: Speccy Nation](https://blog.kartones.net/post/book-review-speccy-nation/index.html.md) - 2016-05-02
  Summary: A review of the book 'Speccy Nation', by Dan Whitehead.
- [Migrating from BlogEngine.NET to Pelican](https://blog.kartones.net/post/migrating-from-blogengine-to-pelican/index.html.md) - 2016-03-16
  Summary: The process of migrating from BlogEngine.NET to Pelican due to a desire for a simpler, static site generator.
- [Book Review: Building Microservices](https://blog.kartones.net/post/Book-Review-Building-Microservices/index.html.md) - 2016-03-04
  Summary: A review of the book 'Building Microservices', by Sam Newman.
- [KISS](https://blog.kartones.net/post/KISS/index.html.md) - 2016-03-01
  Summary: The KISS (Keep It Simple, Stupid) design principle, emphasizing its importance in development.
- [Having a good, disposable devbox](https://blog.kartones.net/post/Having-a-good-disposable-devbox/index.html.md) - 2016-02-14
  Summary: The evolution of development environments, from using virtual machines in 2005 to the current use of provisioned development virtual machines, and containers.
- [Book Review: Code - The Hidden Language of Computer Hardware and Software](https://blog.kartones.net/post/Book-Review-Code-The-Hidden-Language-of-Computer-Hardware-and-Software/index.html.md) - 2016-02-01
  Summary: A review of the book 'Code - The Hidden Language of Computer Hardware and Software', by Charles Petzold.
- [A few articles and tools about ZX Spectrum programming](https://blog.kartones.net/post/a-few-articles-and-tools-about-zx-Spectrum-programming/index.html.md) - 2016-01-25
  Summary: A basic introduction to ZX Spectrum programming, providing a list of articles and tools for learning and improving development techniques.
- [Code and style checks for Python at Sublime Text](https://blog.kartones.net/post/Code-and-style-checks-for-Python-at-Sublime-Text/index.html.md) - 2016-01-01
  Summary: Outlines the packages used for code and style checks for Python in Sublime Text, including SublimeLinter 3, PEP8, MyPy, Flake8, and Flake8Lint. Also explains how custom rules can be added under the pep8 section.
- [UEFI, NVMe and being stubborn](https://blog.kartones.net/post/UEFI-NVMe-and-being-stubborn/index.html.md) - 2015-12-15
  Summary: Installing Linux on a Dell XPS 13 9350 laptop, encountering issues with UEFI booting and Ubuntu, and learning about NVM Express controllers.
- [Does the term adultescent even make sense (regarding videogames)?](https://blog.kartones.net/post/Does-the-term-adultescent-even-make-sense-(regarding-videogames)/index.html.md) - 2015-11-29
  Summary: Challenging the term 'adultescent' in relation to adults playing video games, arguing that societal norms unfairly stigmatize this form of entertainment as immature.
- [Fixing Windows Update service registration missing or corrupt](https://blog.kartones.net/post/Fixing-Windows-Update-service-registration-missing-or-corrupt/index.html.md) - 2015-11-06
  Summary: A guide on how to fix the 'Service registration is missing or corrupt' error that can occur when updating Windows 7 to Windows 10.
- [Setting up a Ubuntu VirtualBox Virtual Machine](https://blog.kartones.net/post/setting-up-a-ubuntu-virtualbox-virtual-machine/index.html.md) - 2015-10-21
  Summary: A detailed guide on setting up an Ubuntu VirtualBox Virtual Machine, including basic configuration, Ubuntu tweaks, troubleshooting tips, and security measures.
- [Code and style checks for Ruby at Sublime Text](https://blog.kartones.net/post/Code-and-style-checks-for-Ruby-at-Sublime-Text/index.html.md) - 2015-09-19
  Summary: Using Sublime Text for Ruby code and style checks, and setting up some Sublime plugins.
- [Game engine recreations for classic PC games I like](https://blog.kartones.net/post/12-game-engines-recreations-for-classic-PC-games-I-like/index.html.md) - 2015-09-12
  Summary: A list of a few fan-made game engine recreations for classic PC games.
- [Taking care of my body when working remotely](https://blog.kartones.net/post/Taking-care-of-my-body-when-working-remotely/index.html.md) - 2015-08-01
  Summary: Discussion about the importance of proper ergonomics when working remotely. Also, the benefits of good lighting, a quiet environment, and comfortable temperature.
- [Making Rails CookieStore more secure and sessions expirable](https://blog.kartones.net/post/Making-Rails-CookieStore-more-secure-and-sessions-expirable/index.html.md) - 2015-07-07
  Summary: How to make Ruby on Rails CookieStore more secure and sessions expirable.
- [My dislike for open office spaces](https://blog.kartones.net/post/My-dislike-for-open-office-spaces/index.html.md) - 2015-06-27
  Summary: My dislike for open office spaces.
- [Book Review: The LEGO Mindstorms EV3 Discovery Book](https://blog.kartones.net/post/Book-Review-The-LEGO-Mindstorms-EV3-Discovery-Book/index.html.md) - 2015-05-07
  Summary: A review of the book 'The LEGO Mindstorms EV3 Discovery Book', by Laurens Valk.
- [Freakend 2015 and my Gameboy Powerpoint-like ROM](https://blog.kartones.net/post/Freakend-2015-and-my-Gameboy-Powerpoint-like-ROM/index.html.md) - 2015-03-09
  Summary: Summary of the 2015 Freakend event, where I presented a project called GBSlides, a Gameboy Powerpoint-like ROM.
- [Book Review: Teach yourself visually Search Engine Optimization](https://blog.kartones.net/post/Book-Review-Teach-yourself-visually-Search-Engine-Optimization/index.html.md) - 2015-03-01
  Summary: A review of the book 'Teach yourself visually Search Engine Optimization', by Rafiq Elmansy.
- [Book Review: Learning LEGO Mindstorms EV3](https://blog.kartones.net/post/Book-Review-Learning-LEGO-Mindstorms-EV3/index.html.md) - 2015-02-05
  Summary: A review of the book 'Learning LEGO Mindstorms EV3', by Gary Garber.
- [Book Review: Computer Networking - A Top-Down Approach](https://blog.kartones.net/post/Book-Review-Computer-Networking-A-Top-Down-Approach/index.html.md) - 2015-02-02
  Summary: A review of the book 'Computer Networking - A Top-Down Approach', by James F. Kurose and Keith W. Ross.
- [Book Review: HTML5 Game Development Hotshot](https://blog.kartones.net/post/Book-Review-HTML5-Game-Development-Hotshot/index.html.md) - 2015-01-30
  Summary: A review of the book 'HTML5 Game Development Hotshot', by Makzan.
- [Protecting your online privacy](https://blog.kartones.net/post/protecting-your-online-privacy/index.html.md) - 2015-01-20
  Summary: A guide on how to protect online privacy, offering both basic and advanced tips.
- [Book Review: The making of Prince of Persia](https://blog.kartones.net/post/Book-Review-The-making-of-Prince-of-Persia/index.html.md) - 2015-01-03
  Summary: A review of the book 'The Making of Prince of Persia', by Jordan Mechner.
- [Proposals for 2015](https://blog.kartones.net/post/proposals-for-2015/index.html.md) - 2014-12-27
  Summary: My proposals for the year 2015.
- [You don't always need jQuery](https://blog.kartones.net/post/you-dont-always-need-jquery/index.html.md) - 2014-12-07
  Summary: How vanilla Javascript can be used for simple tasks instead of jQuery.
- [Book Review: One Click: Jeff Bezos and the rise of Amazon.com](https://blog.kartones.net/post/Book-Review-One-Click-Jeff-Bezos-and-the-rise-of-Amazoncom/index.html.md) - 2014-11-29
  Summary: A review of the book 'One Click: Jeff Bezos and the rise of Amazon.com', by Richard L. Brandt.
- [Book Review: Lego Mindstorms EV3 Essentials](https://blog.kartones.net/post/Book-Review-Lego-Mindstorms-EV3-Essentials/index.html.md) - 2014-11-04
  Summary: A review of the book 'Lego Mindstorms EV3 Essentials', by Abid H. Mujtaba.
- [On Consumerism](https://blog.kartones.net/post/On-Consumerism/index.html.md) - 2014-10-05
  Summary: My personal efforts to resist consumerism, particularly in the tech industry, by making more rational purchasing decisions and questioning the necessity of certain products.
- [OpenSSL certificate verify failed on Ruby &amp; Windows](https://blog.kartones.net/post/OpenSSL-certificate-verify-failed-on-Ruby-Windows/index.html.md) - 2014-09-25
  Summary: A solution to the OpenSSL certificate verification failure on Ruby and Windows.
- [Migration to IIS 8.0 and the new blog(s)](https://blog.kartones.net/post/iis-8-migration-and-new-blogs/index.html.md) - 2014-09-02
  Summary: Migrating this blog from Community Server to BlogEngine.net due to issues with the former's compatibility with IIS 8.0 and SQL Server 2012.
- [Book Review: Obsequium](https://blog.kartones.net/post/book-review-obsequium/index.html.md) - 2014-08-09
  Summary: A review of the book 'Obsequium', by Jaume Esteve and others.
- [Book Review: Ocho Quilates (La edad de Oro del software español)](https://blog.kartones.net/post/book-review-ocho-quilates-la-edad-de-oro-del-software-espa-241-ol/index.html.md) - 2014-07-30
  Summary: A review of the book 'Ocho Quilates (Una historia de la Edad de Oro del software español)', by Jaume Esteve Gutiérrez.
- [Non-trivial Rails 3.x routing](https://blog.kartones.net/post/non-trivial-rails-3-x-routing/index.html.md) - 2014-07-23
  Summary: Challenges and solutions encountered while changing URL formats in Ruby on Rails.
- [Book Review: The Art of LEGO Design](https://blog.kartones.net/post/book-review-the-art-of-lego-design/index.html.md) - 2014-07-20
  Summary: A review of the book 'The Art of LEGO Design', by Jordan Schwartz.
- [12 years working](https://blog.kartones.net/post/12-years-working/index.html.md) - 2014-07-10
  Summary: Reflecting on my 12-year career in programming.
- [Small example with Python](https://blog.kartones.net/post/small-example-with-python/index.html.md) - 2014-06-21
  Summary: Built a small Python tool to check if URLs have changed.
- [Don't load if you can stream](https://blog.kartones.net/post/don-t-load-if-you-can-stream/index.html.md) - 2014-05-14
  Summary: The importance of efficient data handling in computer applications, specifically not fully loading large datasets into memory.
- [Book Review: Stay awhile and Listen](https://blog.kartones.net/post/book-review-stay-awhile-and-listen/index.html.md) - 2014-05-05
  Summary: A review of the book 'Stay awhile and listen: How Two Blizzards Unleashed Diablo and Forged a Videogame Empire', by David L. Craddock.
- [Easy URL Rewritting using ASP.NET 4.0](https://blog.kartones.net/post/easy-url-rewritting-using-asp-net-4-0/index.html.md) - 2014-05-04
  Summary: Removing FeedBurner from my website, and using ASP.NET 4.0's rewriting rules to handle URL redirections instead.
- [PostgreSQL - PostGIS compatibility issues](https://blog.kartones.net/post/postgresql-postgis-compatibility-issues/index.html.md) - 2014-04-03
  Summary: Compatibility issues encountered when updating from PostgreSQL 9.1 to PostgreSQL 9.3 with PostGIS 2.0 installed, and a solution.
- [PowerShell-ing](https://blog.kartones.net/post/powershell-ing/index.html.md) - 2014-03-29
  Summary: My transition from despising Windows scripting capabilities to appreciating and using PowerShell for tasks such as image watermarking and mass file renaming.
- [SQL LIMIT in UPDATE when the RDBMS doesn't allows it](https://blog.kartones.net/post/sql-limit-in-update-when-the-rdbms-doesn-t-allows-it/index.html.md) - 2014-03-20
  Summary: How to use SQL LIMIT in UPDATE queries when the RDBMS doesn't allow it. And some optimization techniques for handling large data imports.
- [If you can't win, fail fast](https://blog.kartones.net/post/if-you-can-t-win-fail-fast/index.html.md) - 2014-02-28
  Summary: The importance of setting hard limits in software development to prevent system crashes due to overloading.
- [A small LEGO Mindstorms EV3 Node.js library](https://blog.kartones.net/post/a-small-lego-mindstorms-ev3-node-js-library/index.html.md) - 2014-02-14
  Summary: Creating a small library for LEGO Mindstorms EV3 using Javascript.
- [Book Review: Beginning Databases with PostgreSQL: From Novice to Professional](https://blog.kartones.net/post/book-review-beginning-databases-with-postgresql-from-novice-to-professional/index.html.md) - 2014-01-12
  Summary: A review of the book 'Beginning Databases with PostgreSQL: From Novice to Professional', by Richard Stones and Neil Matthew.
- [2013 Retrospective](https://blog.kartones.net/post/2013-retrospective/index.html.md) - 2013-12-22
  Summary: Reflecting on the year 2013.
- [Setup a basic node.js Windows development environment](https://blog.kartones.net/post/setup-a-basic-node-js-windows-development-environment/index.html.md) - 2013-11-25
  Summary: A step-by-step guide on setting up a basic node.js development environment on a Windows system, including the installation of necessary tools and modules.
- [Optimizing an indoor routing A*](https://blog.kartones.net/post/optimizing-an-indoor-routing-a-star/index.html.md) - 2013-10-24
  Summary: My experience optimizing an indoor routing tool at NAVTEQ in 2008, focused on improving the A* search algorithm and heuristics to make the application faster and scalable for real-time use.
- [Book Review: Developing Web Applications with Oracle ADF Essentials](https://blog.kartones.net/post/book-review-developing-web-applications-with-oracle-adf-essentials/index.html.md) - 2013-10-13
  Summary: A review of the book 'Developing Web Applications with Oracle ADF Essentials', by Sten E. Vesterli.
- [Learning, 12 years later](https://blog.kartones.net/post/learning-12-years-later/index.html.md) - 2013-09-19
  Summary: On the changes in studying methods and tools over the past 12 years.
- [Review: CodeLobster PHP Edition](https://blog.kartones.net/post/review-codelobster-php-edition/index.html.md) - 2013-09-14
  Summary: A review of CodeLobster PHP Edition, a web development IDE
- [A documentary about privacy that you should watch](https://blog.kartones.net/post/a-documentary-about-privacy-that-you-should-watch/index.html.md) - 2013-08-31
  Summary: A recommendation for the documentary 'Terms and Conditions may apply', which explores the erosion of privacy in the digital age and the role of tech companies and governments.
- [Toying with Javascript modules](https://blog.kartones.net/post/toying-with-javascript-modules/index.html.md) - 2013-08-18
  Summary: About structuring JavaScript code in modules, and an example basic pub-sub system for small projects.
- [When did we stopped dreaming?](https://blog.kartones.net/post/when-did-we-stopped-dreaming/index.html.md) - 2013-08-04
  Summary: Reflecting on how we used to dream and imagine as children, but as an adult, I feel we have lost that ability.
- [Book Review: Hands-on Testing with PHPUnit How-to](https://blog.kartones.net/post/book-review-hands-on-testing-with-phpunit-how-to/index.html.md) - 2013-06-24
  Summary: A review of the book 'Hands-on Testing with PHPUnit How-to', by Michael Lively.
- [You help PRISM work better by being so social](https://blog.kartones.net/post/you-help-prism-work-better-by-being-so-social/index.html.md) - 2013-06-16
  Summary: The lack of privacy on the internet, particularly on social media, and a few tips on how to maintain some level of privacy online.
- [My last two crazy months](https://blog.kartones.net/post/my-last-two-crazy-months/index.html.md) - 2013-06-01
  Summary: Recounting the hectic two months spent working overtime to meet the launch deadline for the new MiniJuegos site.
- [ZeptoJS: Nice and fast](https://blog.kartones.net/post/zeptojs-nice-and-fast/index.html.md) - 2013-04-07
  Summary: An introduction to ZeptoJS, a lightweight Javascript library that mimics JQuery selectors and functionality.
- [Database Ticket Servers](https://blog.kartones.net/post/database-ticket-servers/index.html.md) - 2013-03-24
  Summary: Using 'ticket servers' to manage auto-incremented unique IDs across multiple databases, a common issue when sharding databases.
- [Book Review: The One Minute Manager](https://blog.kartones.net/post/book-review-the-one-minute-manager/index.html.md) - 2013-03-21
  Summary: A review of the book 'The One Minute Manager', by Kenneth H. Blanchard and Spencer Johnson.
- [Book Review: Building Web Applications with SVG](https://blog.kartones.net/post/book-review-building-web-applications-with-svg/index.html.md) - 2013-03-09
  Summary: A review of the book 'Building Web Applications with SVG', by David Dailey, Jon Frost, Domenico Strazzullo.
- [Foolish again](https://blog.kartones.net/post/foolish-again/index.html.md) - 2013-02-05
  Summary: Reflection on my time at Tuenti, expressing gratitude for the experiences and skills gained.
- [Removing DRM from Amazon Kindle and Apple books](https://blog.kartones.net/post/removing-drm-from-amazon-kindle-and-apple-books/index.html.md) - 2013-01-11
  Summary: My frustration with DRM on Amazon Kindle and Apple books, and provides a list of software tools to remove DRM from these platforms.
- [Of broken windows and IDEs](https://blog.kartones.net/post/of-broken-windows-and-ides/index.html.md) - 2013-01-03
  Summary: Discussion about the 'broken windows' theory in relation to untyped, case insensitive, and scripted programming languages like PHP, which can hide errors from developers. A proposed solution solution is to use a proper IDE or editor with automatic syntax checks and advanced greps.
- [The fastest way to load an image...](https://blog.kartones.net/post/the-fastest-way-to-load-an-image/index.html.md) - 2012-12-18
  Summary: Various strategies to speed up image loading on a webpage.
- [Book Review: PHP Application Development with Netbeans](https://blog.kartones.net/post/book-review-php-application-development-with-netbeans/index.html.md) - 2012-12-02
  Summary: A review of the book 'Application Development with NetBeans - Beginner's guide', by M. A. Hossain Toru.
- [Yahoo Pipes](https://blog.kartones.net/post/yahoo-pipes/index.html.md) - 2012-11-11
  Summary: First steps with with Yahoo Pipes, a tool for data aggregation and manipulation tasks.
- [melonJS HTML5 game engine](https://blog.kartones.net/post/melonjs-html5-game-engine/index.html.md) - 2012-10-28
  Summary: A small review of the melonJS HTML5 game engine.
- [Barcode Wars: Small Javascript game](https://blog.kartones.net/post/barcode-wars-small-javascript-game/index.html.md) - 2012-10-03
  Summary: Created a simple game inspired by the Barcode Battler system, using Javascript and HTML 5 to generate characters and enemies from barcodes.
- [How I stopped wasting time using Twitter](https://blog.kartones.net/post/how-i-stopped-wasting-time-using-twitter/index.html.md) - 2012-09-22
  Summary: My strategy for managing Twitter usage more effectively.
- [Dark color schemes in IDEs](https://blog.kartones.net/post/dark-color-schemes-in-ides/index.html.md) - 2012-08-25
  Summary: My preference for dark color schemes in Integrated Development Environments (IDEs), explaining how it helps with night coding and focusing on important code elements.
- [Review: Devhand SketchIt](https://blog.kartones.net/post/review-devhand-sketchit/index.html.md) - 2012-08-05
  Summary: A review of the application 'Devhand SketchIt', a mock prototyping tool.
- [Is your work interesting enough?](https://blog.kartones.net/post/is-your-work-interesting-enough/index.html.md) - 2012-07-31
  Summary: Discusses the importance of finding work that is interesting enough to make you forget about the tools and programming language you use.
- [Use Youtube's iframe to not need Flash](https://blog.kartones.net/post/use-youtube-s-iframe-to-not-need-flash/index.html.md) - 2012-06-30
  Summary: How to use Youtube's iframe embed code to detect if Flash is enabled, and render videos directly with HTML5.
- [Book Review: Building Scalable Websites](https://blog.kartones.net/post/book-review-building-scalable-websites/index.html.md) - 2012-06-05
  Summary: This book by Cal Henderson covers scalability concepts, hardware, networking, capacity planning, and more, with multiple examples and best practices.
- [The effects of choosing a cheaper toilet paper](https://blog.kartones.net/post/the-effects-of-choosing-a-cheaper-toilet-paper/index.html.md) - 2012-05-12
  Summary: The negative effects of cost-cutting measures at a company.
- [Another event plus mini-encoder tool](https://blog.kartones.net/post/another-event-plus-mini-encoder-tool/index.html.md) - 2012-04-22
  Summary: My experience at a university employment fair, expressing concern about the future of software development students and the misleading recruitment tactics of consulting companies. Plus a small HTML and URL encoder/decoder tool I created.
- [CodeMotion 2012 ES Talk](https://blog.kartones.net/post/codemotion-2012-es-talk/index.html.md) - 2012-03-25
  Summary: An update to a talk given at CodeMotion 2012 ES.
- [Software versioning notations](https://blog.kartones.net/post/software-versioning-notations/index.html.md) - 2012-03-11
  Summary: A discussion of the traditional software versioning schema (Major.Minor.Build.Revision) and its significance, along with the terms used for unstable releases.
- [Debugging with Google Chrome basics](https://blog.kartones.net/post/debugging-with-google-chrome-basics/index.html.md) - 2012-02-09
  Summary: Google Chrome's developer tools provide an all-in-one debugging suite for web developers, including elements, resources, network, scripts, timeline, profiles, audit, and console sections. The console allows for writing JavaScript code on the fly, and the cache can be disabled or modified.
- [Sharing buttons without Javascript](https://blog.kartones.net/post/sharing-buttons-without-javascript/index.html.md) - 2012-02-01
  Summary: A list of URL-based sharing options for various social media platforms, eliminating the need for external javascripts.
- [Book Review: Don't make me think](https://blog.kartones.net/post/book-review-don-t-make-me-think/index.html.md) - 2012-01-15
  Summary: A review of the book 'Don't make me think', by Steve Krug.
- [Building a Wordpress 3 Mobilizer plugin](https://blog.kartones.net/post/building-a-wordpress-3-mobilizer-plugin/index.html.md) - 2012-01-04
  Summary: Building a Wordpress 3 Mobilizer plugin, detailing the process, requirements, and challenges faced, plus the full source code for the plugin.
- [Book Review: The Art of Readable Code](https://blog.kartones.net/post/book-review-the-art-of-readable-code/index.html.md) - 2011-12-26
  Summary: 'The Art of Readable Code' is a book that emphasizes the importance of writing code that is easy to read and understand. It provides advice on minimizing time taken to understand code, consistent style, fixing bad names instead of commenting, and more. The book also covers topics such as testing, code cleaning, refactoring, and creating reusable components.
- [Hacking iPhone game savegames: Game Dev Story](https://blog.kartones.net/post/hacking-iphone-game-savegames-game-dev-story/index.html.md) - 2011-12-02
  Summary: An example of how to hack iPhone game savegames, exemplified with the game 'Game Dev Story'.
- [Using Google Analytics for Mobile and fixing a lang not set problem](https://blog.kartones.net/post/using-google-analytics-for-mobile-and-fixing-a-lang-not-set-problem/index.html.md) - 2011-11-06
  Summary: Using Google Analytics for Mobile.
- [Building a micro-stats logger in PHP](https://blog.kartones.net/post/building-a-micro-stats-logger-in-php/index.html.md) - 2011-11-03
  Summary: A tutorial on building a micro-stats logger in PHP as an alternative to Google Analytics, detailing the process of creating a system for testing stats on a Wordpress blog.
- [Hardening and speeding up a Wordpress blog](https://blog.kartones.net/post/hardening-and-speeding-up-a-wordpress-blog/index.html.md) - 2011-09-02
  Summary: Tips on how to optimize and secure a Wordpress blog.
- [Book Review: ASP.NET 4 Social Networking](https://blog.kartones.net/post/book-review-asp-net-4-social-networking/index.html.md) - 2011-08-23
  Summary: The book provides a good start for building a social network with ASP.NET 4.0, but the architecture won't scale if the site grows. The book covers various frameworks and features, but also has some cons. Overall, it sets the basis for a decent social network with low usage and quite some features.
- [20 Indie games that will grant you tons of entertainment](https://blog.kartones.net/post/20-indie-games-that-will-grant-you-tons-of-entertainment/index.html.md) - 2011-08-07
  Summary: 20 Indie games that I recommend for their innovative entertainment value.
- [Don't test only with superusers](https://blog.kartones.net/post/don-t-test-only-with-superusers/index.html.md) - 2011-07-17
  Summary: The importance of testing software with normal user accounts, not just admin accounts, to avoid potential issues and ensure functionality for all users.
- [Building a simple Cache system for Wordpress 3.0](https://blog.kartones.net/post/building-a-simple-cache-system-for-wordpress-3-0/index.html.md) - 2011-06-25
  Summary: Building a simple cache system for Wordpress 3.0 to speed up loading times.
- [Reasoning behind Twitter's new spammy notifications](https://blog.kartones.net/post/reasoning-behind-twitter-s-new-spammy-notifications/index.html.md) - 2011-06-13
  Summary: Twitter's new default notifications, suggesting they are designed to increase user engagement and reactivate inactive users.
- [Build internal tools that are easy and safe to use](https://blog.kartones.net/post/build-internal-tools-that-are-easy-and-safe-to-use/index.html.md) - 2011-05-29
  Summary: The importance of building internal tools that are easy and safe to use.
- [Book Review: Sphinx Search - Beginner's Guide](https://blog.kartones.net/post/book-review-sphinx-search-beginner-s-guide/index.html.md) - 2011-05-08
  Summary: A review of the book 'Sphinx Search - Beginner's Guide', by Abbas Ali.
- [My personal Source Code Control evolution](https://blog.kartones.net/post/my-personal-source-code-control-evolution/index.html.md) - 2011-04-18
  Summary: My personal journey with Source Code Control systems.
- [Distributed knowledge vs Shared Knowledge](https://blog.kartones.net/post/distributed-knowledge-vs-shared-knowledge/index.html.md) - 2011-04-05
  Summary: The difference between distributed knowledge and shared knowledge in companies.
- [C# String array + File.WriteAllLines vs StringBuilder + File.WriteAllText](https://blog.kartones.net/post/c-string-array-file-writealllines-vs-stringbuilder-file-writealltext/index.html.md) - 2011-03-14
  Summary: A comparison between using C# String array + File.WriteAllLines and StringBuilder + File.WriteAllText for writing large amounts of data to a file.
- [MindCamp 3.0 and Lightweight Wordpress Cache component](https://blog.kartones.net/post/mindcamp-3-0-and-lightweight-wordpress-cache-component/index.html.md) - 2011-03-10
  Summary: The MindCamp 3.0 event and my lightweight PHP Wordpress 3.X cache component.
- [Book Review: PHP 5 Social Networking](https://blog.kartones.net/post/book-review-php-5-social-networking/index.html.md) - 2011-02-27
  Summary: A review of the book 'PHP 5 Social Networking', by Michael Peacock.
- [Book Review: Drive: The Surprising truth about what motivates us](https://blog.kartones.net/post/book-review-drive-the-surprising-truth-about-what-motivates-us/index.html.md) - 2011-02-23
  Summary: A review of the book 'Drive: The Surprising truth about what motivates us', by Daniel H. Pink.
- [Changed hosting + IIS 7.0 breaking changes](https://blog.kartones.net/post/changed-hosting-iis-7-0-breaking-changes/index.html.md) - 2011-02-04
  Summary: Migrating Kartones.net to a new hosting company and encountering issues due to Microsoft's IIS 7.0 breaking changes.
- [Detection of Internet Explorer 8 emulation mode via Javascript](https://blog.kartones.net/post/detection-of-internet-explorer-8-emulation-mode-via-javascript/index.html.md) - 2011-01-26
  Summary: A JavaScript error in Internet Explorer 8 when set to IE7 emulation mode, and provides a solution to correctly identify the browser's version.
- [When game glitches were fun](https://blog.kartones.net/post/when-game-glitches-were-fun/index.html.md) - 2011-01-18
  Summary: The evolution of game glitches in video games, focusing on the revolutionary impact of unexpected player behaviours in the 1996 game Quake by id Software.
- [Book Review: TortoiseSVN 1.7 Beginner's Guide](https://blog.kartones.net/post/book-review-tortoisesvn-1-7-beginner-s-guide/index.html.md) - 2011-01-16
  Summary: A review of the book 'TortoiseSVN 1.7 Beginner's Guide', by Lesley A. Harrison.
- [Stay away from old PHP Software](https://blog.kartones.net/post/stay-away-from-old-php-software/index.html.md) - 2011-01-09
  Summary: My experience with PHPBB 2.X software, highlighting its security flaws and susceptibility to spam bots.
- [year2010.End(); year2011.Start();](https://blog.kartones.net/post/year2010-end-year2011-start/index.html.md) - 2010-12-31
  Summary: Reflecting on 2010.
- [Steam store, or how Valve has to improve building websites](https://blog.kartones.net/post/steam-store-or-how-valve-has-to-improve-building-websites/index.html.md) - 2010-12-20
  Summary: A critique of the Steam store website as of 2010.
- [Patch files with TortoiseSVN](https://blog.kartones.net/post/patch-files-with-tortoisesvn/index.html.md) - 2010-12-18
  Summary: How to create and apply patch files using TortoiseSVN, which can save time by avoiding repetitive changes to files.
- [The Early Adopter Disease](https://blog.kartones.net/post/the-early-adopter-disease/index.html.md) - 2010-11-28
  Summary: The dangers of being an early adopter of new technology, from operating systems to games.
- [Book Review: Getting Real](https://blog.kartones.net/post/book-review-getting-real/index.html.md) - 2010-11-13
  Summary: A review of the book 'Getting Real', by 37 Signals.
- [Kindle 3: My first impressions (and some tips)](https://blog.kartones.net/post/kindle-3-my-first-impressions-and-some-tips/index.html.md) - 2010-10-17
  Summary: A review of the Kindle 3, and some tips
- [Cydia apps = Android apps = caution](https://blog.kartones.net/post/cydia-apps-android-apps-caution/index.html.md) - 2010-10-16
  Summary: Comparison of battery consumption and background app management between Cydia and iOS apps.
- [Kartones.Net Internet Explorer 9 Jump List](https://blog.kartones.net/post/kartones-net-internet-explorer-9-jump-list/index.html.md) - 2010-10-05
  Summary: Implementing Jump Lists for Internet Explorer 9.
- [When all you've got is PHP everything is a script](https://blog.kartones.net/post/when-all-you-ve-got-is-php-everything-is-a-script/index.html.md) - 2010-09-29
  Summary: Discussing some limitations of using PHP as a scripting language for desktop and server tools.
- [Quiet rivers run deep](https://blog.kartones.net/post/quiet-rivers-run-deep/index.html.md) - 2010-09-12
  Summary: About the importance of letting actions speak for themselves.
- [Feedback: So important, and yet so unwanted](https://blog.kartones.net/post/feedback-so-important-and-yet-so-unwanted/index.html.md) - 2010-08-29
  Summary: The importance of feedback in business growth, user satisfaction, and project development.
- [Magic:TG Scrum estimation deck](https://blog.kartones.net/post/magic-tg-scrum-estimation-deck/index.html.md) - 2010-08-18
  Summary: A custom Scrum estimation deck inspired by Magic: The Gathering.
- [Kartones.Net now featuring Twitter OAuth integration for bloggers](https://blog.kartones.net/post/kartones-net-featuring-twitter-oauth-integration-for-bloggers/index.html.md) - 2010-08-08
  Summary: How I added Twitter OAuth integration for bloggers of Kartones.net.
- [Make your product do one thing well instead of a hundred poorly](https://blog.kartones.net/post/make-your-product-do-one-thing-well-instead-of-a-hundred-poorly/index.html.md) - 2010-08-01
  Summary: Opinion about the importance of having specialized applications that excel at one task, rather than bloated multi-functional ones.
- [Book Review: The Mythical Man-Month](https://blog.kartones.net/post/book-review-the-mythical-man-month/index.html.md) - 2010-07-05
  Summary: A review of the book 'The Mythical Man-Month', by Frederick P. Brooks.
- [PHP is_int() and is_numeric()](https://blog.kartones.net/post/php-is-int-and-is-numeric/index.html.md) - 2010-06-20
  Summary: A discussion on PHP's is_int() and is_numeric() functions, highlighting the importance of proper variable handling in untyped languages like PHP.
- [AJAX in ASP.NET using only HttpHandlers and Javascript](https://blog.kartones.net/post/ajax-in-asp-net-using-only-httphandlers-and-javascript/index.html.md) - 2010-06-07
  Summary: A tutorial on creating AJAX calls in ASP.NET using HttpHandlers and Javascript, bypassing ASP.NET AJAX framework for more control and customization.
- [PHP is_array() and array_flip()](https://blog.kartones.net/post/php-is-array-and-array-flip/index.html.md) - 2010-05-23
  Summary: The importance of error handling in PHP, and the need to check types.
- [Obfuscation is not security](https://blog.kartones.net/post/obfuscation-is-not-security/index.html.md) - 2010-05-09
  Summary: A story of how to bypass a demo timer in a game by finding that the counter stored in a texture file.
- [Setting up a Firefox development profile](https://blog.kartones.net/post/setting-up-a-firefox-development-profile/index.html.md) - 2010-04-29
  Summary: A guide on setting up multiple Firefox profiles for personal browsing, development, and testing.
- [Offtopic: Visit to Tuenti's datacenter](https://blog.kartones.net/post/offtopic-visit-to-tuenti-s-datacenter/index.html.md) - 2010-04-18
  Summary: A visit to Tuenti's datacenter.
- [Mobile devices detection using the User Agent](https://blog.kartones.net/post/mobile-devices-detection-using-the-user-agent/index.html.md) - 2010-04-13
  Summary: Detection of mobile devices using the User Agent HTTP header, highlighting challenges, limitations, and potential solutions for accurate matching.
- [Review: NDepend 3.0](https://blog.kartones.net/post/review-ndepend-3-0/index.html.md) - 2010-04-05
  Summary: A review of the tool NDepend, version 3.0.
- [5 Things that you should do in a code test](https://blog.kartones.net/post/5-things-that-you-shouldn-t-do-in-a-code-test/index.html.md) - 2010-03-29
  Summary: Tips for succeeding in a coding test.
- [Book Review: PHP Objects, Patterns, and Practice](https://blog.kartones.net/post/book-review-php-objects-patterns-and-practice/index.html.md) - 2010-03-17
  Summary: A review of the book 'PHP Objects, Patterns, and Practice', by Matt Zandstra.
- [SQL Server 2008: The server principal is not able to access the database under the current security context](https://blog.kartones.net/post/sql-server-2008-the-server-principal-is-not-able-to-access-the-database-under-the-current-security-context/index.html.md) - 2010-03-09
  Summary: Troubleshooting Error 916 in SQL Server 2008.
- [Back from the MindCamp 2.0](https://blog.kartones.net/post/back-from-the-mindcamp-2-0/index.html.md) - 2010-03-03
  Summary: A recap of the informal and fun MindCamp 2.0 event.
- [Using derivate Exception classes for better error handling](https://blog.kartones.net/post/using-derivate-exception-classes-for-better-error-handling/index.html.md) - 2010-02-23
  Summary: The importance of using derived Exception classes for better error handling in .NET and PHP.
- [Top 5 Microsoft FAILs](https://blog.kartones.net/post/top-5-microsoft-fails/index.html.md) - 2010-01-31
  Summary: A reflection on Microsoft's top 5 failures, from my point of view.
- [POST from http to https: The hidden security](https://blog.kartones.net/post/post-from-http-to-https-the-hidden-security/index.html.md) - 2010-01-20
  Summary: About the importance of having a secure login page by using HTTPS, even if the rest of the site is HTTP.
- [Is Android becoming the new J2ME?](https://blog.kartones.net/post/is-android-becoming-the-new-j2me/index.html.md) - 2010-01-12
  Summary: A comparison between J2ME and Android that highlights the challenges of platform independence, update delays, and device-specific issues in Android development.
- [Book Review: Masters of Doom](https://blog.kartones.net/post/book-review-masters-of-doom/index.html.md) - 2010-01-05
  Summary: A review of the book 'Masters of Doom', by David Kushner.
- [The ultimate clean desktop, Windows 7 edition](https://blog.kartones.net/post/the-ultimate-clean-desktop-windows-7-edition/index.html.md) - 2009-12-20
  Summary: Tips for increasing productivity and reduccing clutter on Windows 7.
- [Obtaining Gravatar images](https://blog.kartones.net/post/obtaining-gravatar-images/index.html.md) - 2009-12-13
  Summary: A guide on obtaining Gravatar images by building the service URL.
- [Incoming improvements to Kartones.Net](https://blog.kartones.net/post/incoming-improvements-to-kartones-net/index.html.md) - 2009-12-07
  Summary: Upcoming improvements to Kartones.Net.
- [Avoiding the break statement](https://blog.kartones.net/post/avoiding-the-break-statement/index.html.md) - 2009-11-25
  Summary: Avoiding the break statement in coding by using additional checks in the loop's condition expression for better readability and avoiding messy code.
- [The importance of having strong and varied passwords](https://blog.kartones.net/post/the-importance-of-having-strong-and-varied-passwords/index.html.md) - 2009-11-15
  Summary: The importance of having strong and varied passwords for online security.
- [Think Generic](https://blog.kartones.net/post/think-generic/index.html.md) - 2009-11-07
  Summary: The importance of thinking in generic terms when developing mobile websites.
- [Two VirtualBox tricks](https://blog.kartones.net/post/two-virtualbox-tricks/index.html.md) - 2009-10-28
  Summary: Tips for using VirtualBox.
- [Building a very basic Google Wave extension](https://blog.kartones.net/post/building-a-very-basic-google-wave-extension/index.html.md) - 2009-10-20
  Summary: A guide on building a basic Google Wave extension.
- [ASP.NET: Flushing files to browser with Response.AddHeader()](https://blog.kartones.net/post/asp-net-flushing-files-to-browser-with-response-addheader/index.html.md) - 2009-10-18
  Summary: A guide on fixing content flushing issues in ASP.NET
- [5 Technological gurus I admire](https://blog.kartones.net/post/5-technological-gurus-i-admire/index.html.md) - 2009-10-12
  Summary: A list of 5 technological gurus admired for their intelligence and work.
- [Kartones.Net CS2007 Addon 1.4, Related Posts and a bit of caching](https://blog.kartones.net/post/kartones-net-cs2007-addon-1-4-related-posts-and-a-bit-of-caching/index.html.md) - 2009-10-04
  Summary: A summary of new features made to the Kartones.Net CS2007 Addon Pack 1.4.
- [ASP.NET: Split AppSettings and ConnectionStrings to separate files](https://blog.kartones.net/post/asp-net-split-appsettings-and-connectionstrings-to-separate-files/index.html.md) - 2009-09-28
  Summary: How to split app settings and connection strings in ASP.NET to separate files, allowing for easier management and organization of configuration settings.
- [Working with PHP, six months later](https://blog.kartones.net/post/working-with-php-six-months-later/index.html.md) - 2009-09-22
  Summary: Six months after transitioning to PHP, the challenges and rewards of working with this language.
- [Transitioning from a synchronous model to an asynchronous one?](https://blog.kartones.net/post/transitioning-from-a-synchronous-model-to-an-asynchronous-one/index.html.md) - 2009-09-07
  Summary: Transitioning from synchronous to asynchronous communication models in daily computer use, from IM clients to social networks, email to RSS feeds, and sockets programming to web services.
- [Book Review: Design Patters (Gang of Four)](https://blog.kartones.net/post/book-review-design-patters-gang-of-four/index.html.md) - 2009-08-31
  Summary: A review of the book 'Design Patterns: Elements of Reusable Object-Oriented Software', by Erich Gamma, Richard Helm, Ralph Johnson & John M. Vlissides.
- [Hack your Windows Vista 32 bits to address 4GB or more of RAM](https://blog.kartones.net/post/hack-your-windows-vista-32-bits-to-address-4gb-or-more-of-ram/index.html.md) - 2009-08-23
  Summary: A guide on hacking Windows Vista 32-bit to utilize more than 4GB of RAM.
- [Windows 7: Now we're talking](https://blog.kartones.net/post/windows-7-now-we-re-talking/index.html.md) - 2009-08-16
  Summary: A review of Windows 7.
- [KartonesNet CS2007 Addon Pack 1.3.3](https://blog.kartones.net/post/kartonesnet-cs2007-addon-pack-1-3-3/index.html.md) - 2009-08-09
  Summary: The KartonesNet CS2007 Addon Pack 1.3.3 includes refactored TwitterAutoPostingAddon and UserTwitterAccountPostingAddon modules, and a new experimental url-shortening service.
- [Resource exhaustion and other uncommon testing scenarios](https://blog.kartones.net/post/resource-exhaustion-and-other-uncommon-testing-scenarios/index.html.md) - 2009-08-04
  Summary: Some uncommon testing scenarios.
- [Your worst enemy: Ignorance](https://blog.kartones.net/post/your-worst-enemy-ignorance/index.html.md) - 2009-08-01
  Summary: My experiences with ignorance towards Windows, .NET, and other technologies in a diverse workplace.
- [The Windows 7 Browserless Fear campaign [UPDATED]](https://blog.kartones.net/post/the-windows-7-browserless-fear-campaign/index.html.md) - 2009-07-26
  Summary: The controversy surrounding Windows 7 shipping without a browser.
- [Kartones.Net CS2007 Addon Pack 1.3.2: Lightweight + Visual Tags](https://blog.kartones.net/post/kartones-net-cs2007-addon-pack-1-3-2-lightweight-visual-tags/index.html.md) - 2009-07-12
  Summary: The new features released for the Kartones.Net CS2007 Addon Pack 1.3.2.
- [How we Europeans get cheated with videogame prices](https://blog.kartones.net/post/how-we-europeans-get-cheated-with-videogame-prices/index.html.md) - 2009-07-11
  Summary: How Europeans are charged higher prices for video games compared to other regions, highlighting discrepancies in pricing on platforms like Steam and suggesting alternative ways to find cheaper options.
- [Five basic concepts of scalability](https://blog.kartones.net/post/five-basic-concepts-of-scalability/index.html.md) - 2009-07-05
  Summary: A list of five basic concepts for scalability.
- [Kartones.Net CS2007 Addon Pack 1.3.1 Released](https://blog.kartones.net/post/kartones-net-cs2007-addon-pack-1-3-1-released/index.html.md) - 2009-06-22
  Summary: The release of Kartones.Net CS2007 Addon Pack 1.3.1.
- [Windows Mobile and iPhone thoughts](https://blog.kartones.net/post/windows-mobile-and-iphone-thoughts/index.html.md) - 2009-06-18
  Summary: A comparison between Windows Mobile and iPhone, highlighting the slow evolution of Windows Mobile, lack of usability, and the revolutionary aspects of the iPhone.
- [Introducing KartonesNet.APIs.GoogleAnalyticsAPI](https://blog.kartones.net/post/introducing-kartonesnet-apis-googleanalyticsapi/index.html.md) - 2009-06-08
  Summary: Introducing KartonesNet.APIs.GoogleAnalyticsAPI.
- [KartonesNet CS2007 Addon Pack 1.2.1](https://blog.kartones.net/post/kartonesnet-cs2007-addon-pack-1-2-1/index.html.md) - 2009-06-06
  Summary: Version 1.2.1 of the Kartones.Net Community Server 2007 addon pack.
- [Where most blogs fail: Long lifespan](https://blog.kartones.net/post/where-most-blogs-fail-long-lifespan/index.html.md) - 2009-06-06
  Summary: Common reasons why small to medium-sized blogs fail.
- [Review: PasswordsPro](https://blog.kartones.net/post/review-passwordspro/index.html.md) - 2009-05-31
  Summary: A review of the software application 'PasswordsPro'.
- [Tip: Increase user process address space to 3GB (and other misc. tweaks)](https://blog.kartones.net/post/tip-increase-user-process-address-space-to-3gb-and-other-misc-tweaks/index.html.md) - 2009-05-26
  Summary: Tips for optimizing gaming PCs on Windows XP.
- [Kartones.Net: Server-side CAPTCHA for Community Server 2007](https://blog.kartones.net/post/kartones-net-server-side-captcha-for-community-server-2007/index.html.md) - 2009-05-19
  Summary: A server-side CAPTCHA for Community Server 2007 to combat spam. The new CAPTCHA validates on both the client and server-side and is not just a simple 'input the numbers you see'. Also discusses the HtmlScrubber component, which cleans and sanitizes post's HTML elements and attributes.
- [Community Server 2007: Building a Visits counter control](https://blog.kartones.net/post/community-server-2007-building-a-visits-counter-control/index.html.md) - 2009-05-13
  Summary: A guide on building a visits counter control for Community Server 2007.
- [Review: FlairBuilder](https://blog.kartones.net/post/review-flairbuilder/index.html.md) - 2009-05-10
  Summary: A review of the application FlairBuilder.
- [Arrays in PHP, or to be precise, Collections in PHP](https://blog.kartones.net/post/arrays-in-php-or-to-be-precise-collections-in-php/index.html.md) - 2009-05-03
  Summary: Explains the difference between traditional arrays and key-value collections in PHP, and how to properly handle them using foreach loops and the ArrayIterator class.
- [Good AI, but always Fun AI](https://blog.kartones.net/post/good-ai-but-always-fun-ai/index.html.md) - 2009-04-26
  Summary: A discussion on the concept of 'Good AI vs Fun AI' in game design.
- [Tip: Logging to a file results of a MSI installation](https://blog.kartones.net/post/tip-logging-to-a-file-results-of-a-msi-installation/index.html.md) - 2009-04-18
  Summary: Logging to a file results of a MSI installation.
- [Announcing the beta version of m.kartones.net !](https://blog.kartones.net/post/announcing-the-beta-version-of-m-kartones-net/index.html.md) - 2009-04-10
  Summary: Announcing the beta version of m.kartones.net.
- [Zero-cost PHP debugging and testing environment](https://blog.kartones.net/post/zero-cost-php-debugging-and-testing-environment-for-php/index.html.md) - 2009-04-05
  Summary: A guide to setting up a zero-cost PHP debugging and testing environment using free tools.
- [The problem of untyped languages: PHP empty() function](https://blog.kartones.net/post/the-problem-of-untyped-languages-php-empty-function/index.html.md) - 2009-03-30
  Summary: The problem of untyped languages like PHP, exemplified by the empty() function, which can lead to unexpected results.
- [Kartones.Net: IE8 Web Slice of latest posts](https://blog.kartones.net/post/kartones-net-ie8-web-slice-of-latest-posts/index.html.md) - 2009-03-24
  Summary: A tutorial on creating an Internet Explorer 8 Web Slice for Kartones.Net.
- [Kartones.Net: Search engine working on IE8 and Chrome!](https://blog.kartones.net/post/kartones-net-search-engine-working-on-ie8-and-chrome/index.html.md) - 2009-03-23
  Summary: A custom search engine created for Kartones.Net works on IE8 and Chrome, showcasing the benefits of respecting standards in web development.
- [Kartones.Net: Speed improvements on the site](https://blog.kartones.net/post/kartones-net-speed-improvements-on-the-site/index.html.md) - 2009-03-18
  Summary: Speed improvements made to the Kartones.Net website, including compressing CSS and Javascript, cleaning templates, implementing GZip compression, and internal database tweaks for better performance.
- [Tip: Modify Windows Vista network connections priorities](https://blog.kartones.net/post/tip-modify-windows-vista-network-connections-priorities/index.html.md) - 2009-03-14
  Summary: A tip on how to modify Windows Vista network connections priorities to avoid confusion between LAN and Wireless networks, ensuring the preferred connection is always used.
- [A simple interface based versioning of objects](https://blog.kartones.net/post/a-simple-interface-based-versioning-of-objects/index.html.md) - 2009-03-07
  Summary: A simple interface-based versioning of objects in .NET.
- [Programming languages are tools](https://blog.kartones.net/post/programming-languages-are-tools/index.html.md) - 2009-03-01
  Summary: My decision to switch from .NET to PHP for a new job.
- [Why not using a Wiki for project management?](https://blog.kartones.net/post/why-not-using-a-wiki-for-project-management/index.html.md) - 2009-02-23
  Summary: How using a wiki for project management can streamline tasks, improve organization, and save time and money, offering easy access to information and customization options.
- [Installing Debian 5.0 in Virtual PC 2007](https://blog.kartones.net/post/installing-debian-5-0-in-virtual-pc-2007/index.html.md) - 2009-02-18
  Summary: A guide on installing Debian 5.0 in Virtual PC 2007, addressing common issues like processor errors, sound, internet, and resolution settings.
- [Kartones.Net: Main site RSS feed now on feedburner](https://blog.kartones.net/post/kartones-net-main-site-rss-feed-now-on-feedburner/index.html.md) - 2009-02-17
  Summary: A guide on redirecting a main site RSS feed to Feedburner using HTTP 301 and modifying configuration files for Community Server 2007.
- [You know something is not well...](https://blog.kartones.net/post/you-know-something-is-not-well/index.html.md) - 2009-02-13
  Summary: A reflection on the challenges faced by developers when dealing with disorganized code, lack of documentation, messy applications, and reliance on individuals for crucial information.
- [Learning PHP + a small WIP PHP5 Manual](https://blog.kartones.net/post/learning-php-a-small-wip-php5-manual/index.html.md) - 2009-02-09
  Summary: Exploring PHP.
- [Community Server 2007: Extend user profile to add Twitter account and auto-tweet](https://blog.kartones.net/post/community-server-2007-extend-user-profile-to-add-twitter-account-and-auto-tweet/index.html.md) - 2009-01-29
  Summary: Explains how to extend Community Server 2007's user profile to add a Twitter account and enable auto-tweeting.
- [Community Server 2007: Correct sorting of Files TreeView](https://blog.kartones.net/post/community-server-2007-correct-sorting-of-files-treeview/index.html.md) - 2009-01-28
  Summary: A guide on sorting files in Community Server 2007's treeview by name instead of creation date, with simple code changes.
- [Kartones.Net: Added Twitter posting for the bloggers](https://blog.kartones.net/post/kartones-net-added-twitter-posting-for-the-bloggers/index.html.md) - 2009-01-27
  Summary: About the new Twitter posting feature added to Kartones.Net.
- [Tips for an interview (both sides)](https://blog.kartones.net/post/tips-for-an-interview-both-sides/index.html.md) - 2009-01-27
  Summary: Tips for interviews from the perspective of both candidates and interviewers.
- [Oxite: Good, but not clean](https://blog.kartones.net/post/oxite-good-but-not-clean/index.html.md) - 2009-01-21
  Summary: A critical review of the Oxite .NET project.
- [Advantages of not building from scratch](https://blog.kartones.net/post/advantages-of-not-building-from-scratch/index.html.md) - 2009-01-16
  Summary: Using Fallout 3 as an example, we argue that using an existing, improved engine can lead to a richer game with more content, rather than building from scratch.
- [5 unusual games to make you think](https://blog.kartones.net/post/5-unusual-games-to-make-you-think/index.html.md) - 2009-01-13
  Summary: A list of 5 unusual games to make you think.
- [Building your own feedburner stats with the ASP.NET Charting control](https://blog.kartones.net/post/building-your-own-feedburner-stats-with-the-asp-net-charting-control/index.html.md) - 2009-01-05
  Summary: A guide on creating custom Feedburner stats using ASP.NET Charting Control.
- [Catching all Twitter replies to you, even if you do not follow the sender](https://blog.kartones.net/post/catching-all-twitter-replies-to-you-even-if-you-do-not-follow-the-sender/index.html.md) - 2009-01-02
  Summary: Tips on catching all Twitter replies, even from non-followers.
- [Kartones.Net: Small UX improvement for the main post list](https://blog.kartones.net/post/kartones-net-small-ux-improvement-for-the-main-post-list/index.html.md) - 2009-01-02
  Summary: A small UX improvement for the main post list on Kartones.Net.
- [Statistics of Kartones.Net for the year 2008](https://blog.kartones.net/post/statistics-of-kartones-net-for-the-year-2008/index.html.md) - 2008-12-31
  Summary: Statistics of Kartones.Net for the year 2008: A summary of blog statistics including visits, pageviews, search engine traffic, and top pages, with a focus on Spanish-speaking countries and Linux users.
- [Tip: Add Command Prompt Here in context menu to Windows 2003](https://blog.kartones.net/post/tip-add-command-prompt-here-in-context-menu-windows-2003/index.html.md) - 2008-12-29
  Summary: A tip on how to manually add 'Command Prompt Here' to the context menu in Windows 2003, without needing Microsoft Powertoys.
- [The problem of not listening to others](https://blog.kartones.net/post/the-problem-of-not-listening-to-others/index.html.md) - 2008-12-09
  Summary: The importance of listening to others in the software development field.
- [Dictionaries and GetHashCode()](https://blog.kartones.net/post/dictionaries-and-gethashcode/index.html.md) - 2008-12-02
  Summary: A lesson learned about the importance of overriding GetHashCode() method when comparing objects in .NET.
- [Tunning ASP.NET applications performance](https://blog.kartones.net/post/tuning-asp-net-applications-performance/index.html.md) - 2008-11-20
  Summary: Tips and strategies for fine-tuning ASP.NET applications performance.
- [Book Review: The Pragmatic Programmer](https://blog.kartones.net/post/book-review-the-pragmatic-programmer/index.html.md) - 2008-11-15
  Summary: A review of the book 'The Pragmatic Programmer'.
- [Corporate blogging](https://blog.kartones.net/post/corporate-blogging/index.html.md) - 2008-11-07
  Summary: About the rise of corporate blogging, from companies initially ignoring blogs to now feeling pressured to have one.
- [Why innovate if you can imitate?](https://blog.kartones.net/post/why-innovate-if-you-can-imitate/index.html.md) - 2008-10-30
  Summary: About imitation and the difficulty of innovation in the gaming industry.
- [Excel and CSV files II](https://blog.kartones.net/post/excel-and-csv-files-ii/index.html.md) - 2008-10-26
  Summary: A simple C# method for preparing CSV data for parsing.
- [Offtopic: Workplace setup](https://blog.kartones.net/post/offtopic-wrokplace-setup/index.html.md) - 2008-10-21
  Summary: A description of my workplace setup at Navteq.
- [KartonesNet CS2007 Addon Pack 1.1.1](https://blog.kartones.net/post/kartonesnet-cs2007-addon-pack-1-1-1/index.html.md) - 2008-10-19
  Summary: A description of the KartonesNet CS2007 Addon Pack 1.1.1 features.
- [Excel and CSV files](https://blog.kartones.net/post/excel-and-csv-files/index.html.md) - 2008-10-18
  Summary: A guide on handling Excel and CSV files.
- [Getting started with ASP.NET MVC and LINQ](https://blog.kartones.net/post/getting-started-with-asp-net-mvc-and-linq/index.html.md) - 2008-10-12
  Summary: Getting started with ASP.NET MVC and LINQ.
- [Hacks: Tweak Firefox User Agent string](https://blog.kartones.net/post/hacks-tweak-firefox-user-agent-string/index.html.md) - 2008-10-08
  Summary: A guide on tweaking Firefox's user agent string to access hidden webpage content, with a caution on potential rendering issues.
- [False technical people and Peter Principle](https://blog.kartones.net/post/false-technical-people-and-peter-principle/index.html.md) - 2008-10-05
  Summary: A reflection on the Peter Principle.
- [Review: NDepend](https://blog.kartones.net/post/review-ndepend/index.html.md) - 2008-09-27
  Summary: A review of the .NET tool NDepend.
- [Offtopic: Cheat Engine](https://blog.kartones.net/post/offtopic-cheat-engine/index.html.md) - 2008-09-22
  Summary: Discusses using Cheat Engine, a freeware memory analyzer and address freezer, to cheat in video games and modify values such as money and DNA points in Spore. They provide a step-by-step guide on how to use the tool.
- [Auto-Launch Visual Studio Web Server when running tests](https://blog.kartones.net/post/auto-launch-visual-studio-web-server-when-running-tests/index.html.md) - 2008-09-19
  Summary: A guide on auto-launching Visual Studio web server for unit tests using .NET's process handling features and NUnit.
- [Book Review: Coder To Developer](https://blog.kartones.net/post/book-review-coder-to-developer/index.html.md) - 2008-09-10
  Summary: A review of the book 'Coder To Developer'.
- [Windows Live Agents: Context Zones](https://blog.kartones.net/post/windows-live-agents-context-zones/index.html.md) - 2008-09-01
  Summary: Creating context zones with Buddyscript.
- [Sometimes there is a shorter solution](https://blog.kartones.net/post/sometimes-there-is-a-shorter-solution/index.html.md) - 2008-08-26
  Summary: The content discusses the tendency to settle for the first solution found, using a SQL example.
- [Windows Live Agents Testing: Improving the Framework](https://blog.kartones.net/post/windows-live-agents-testing-improving-the-framework/index.html.md) - 2008-08-21
  Summary: A detailed guide on improving the default testing framework for Windows Live Agents.
- [Book Review: .NET XML Web Services - Step by Step](https://blog.kartones.net/post/book-review-net-xml-web-services-step-by-step/index.html.md) - 2008-08-17
  Summary: A review of the book 'Book Review: .NET XML Web Services - Step by Step'.
- [Common pitfalls using Scrum methodology](https://blog.kartones.net/post/common-pitfalls-using-scrum-methodology/index.html.md) - 2008-08-11
  Summary: Common pitfalls in using Scrum methodology.
- [Review: Balsamic Mockups](https://blog.kartones.net/post/review-balsamic-mockups/index.html.md) - 2008-08-04
  Summary: A review of the tool Balsamic Mockups.
- [API Documentation made easy](https://blog.kartones.net/post/api-documentation-made-easy/index.html.md) - 2008-07-30
  Summary: A guide on using Sandcastle and Sandcastle Help File Builder to easily generate API documentation.
- [Creating custom search providers for Firefox and IE7](https://blog.kartones.net/post/creating-custom-search-providers-for-firefox-and-ie7/index.html.md) - 2008-07-25
  Summary: A guide on creating custom search providers for Firefox and Internet Explorer 7.
- [Prototyping GUIs with Powerpoint](https://blog.kartones.net/post/prototyping-guis-with-powerpoint/index.html.md) - 2008-07-15
  Summary: How to prototype Graphical User Interfaces with Powerpoint.
- [Tides of change](https://blog.kartones.net/post/tides-of-change/index.html.md) - 2008-07-02
  Summary: A personal reflection on embracing change, transitioning from consulting to software development, and pursuing new opportunities for growth and happiness.
- [My list of free developer tools](https://blog.kartones.net/post/my-list-of-free-developer-tools/index.html.md) - 2008-06-26
  Summary: A list of free developer tools I use.
- [Windows Live Agents: Subpatterns as menu responses](https://blog.kartones.net/post/windows-live-agents-subpatterns-as-menu-responses/index.html.md) - 2008-06-10
  Summary: Tips for using subpatterns as menu responses in Windows Live Agents.
- [Windows Live Agents: SDK 5.0 finally here!](https://blog.kartones.net/post/windows-live-agents-sdk-5-0-finally-here/index.html.md) - 2008-05-28
  Summary: Windows Live Agents: SDK 5.0 was just released
- [IIRF: A decent URL rewriter ISAPI filter](https://blog.kartones.net/post/iirf-a-decent-url-rewriter-isapi-filter/index.html.md) - 2008-05-27
  Summary: A description of the IIRF URL rewriter ISAPI filter
- [Windows Live Agents Testing: Building the Framework](https://blog.kartones.net/post/windows-live-agents-testing-building-the-framework/index.html.md) - 2008-05-24
  Summary: A framework for testing Windows Live Agents.
- [Windows Live Agents Testing: Introduction](https://blog.kartones.net/post/windows-live-agents-testing-introduction/index.html.md) - 2008-05-11
  Summary: An introduction to testing Windows Live Agents.
- [Amazing (and weird) game engines plus POVRay](https://blog.kartones.net/post/amazing-and-weird-game-engines-plus-povray/index.html.md) - 2008-04-21
  Summary: A showcase of amazing and weird game engines.
- [Windows Live Agents: Non-UTF8 encodings](https://blog.kartones.net/post/windows-live-agents-non-utf8-encodings/index.html.md) - 2008-04-16
  Summary: About the limited support for non-UTF8 encodings in Windows Live Agents SDK.
- [Windows Live Agents: XML Normalization II](https://blog.kartones.net/post/windows-live-agents-xml-normalization-ii/index.html.md) - 2008-04-02
  Summary: XML normalization using Windows Live Agents, focusing on utilizing the MakeHash() function to remove repeated list elements efficiently.
- [Windows Live Agents: XML Normalization](https://blog.kartones.net/post/windows-live-agents-xml-normalization/index.html.md) - 2008-03-24
  Summary: XML normalization using Buddyscript to handle complex XML structures.
- [Windows Live Agents: Matching international characters in XMLs](https://blog.kartones.net/post/windows-live-agents-matching-international-characters-in-xmls/index.html.md) - 2008-03-10
  Summary: A guide on matching international characters in XMLs using Windows Live Agents.
- [Windows Live Agents: iZ v1.1 - Taking advantage of user feedback](https://blog.kartones.net/post/windows-live-agents-iz-v1-1-taking-advantage-of-user-feedback/index.html.md) - 2008-03-01
  Summary: A description of the improvements made to the Windows Live Agent iZ v1.1.
- [Windows Live Agents: iZ, our first WLA](https://blog.kartones.net/post/windows-live-agents-iz-our-first-wla/index.html.md) - 2008-02-27
  Summary: A review of the Windows Live Agent 'iZ', built by me and PedroA.
- [Windows Live Agents: Anything patterns II](https://blog.kartones.net/post/windows-live-agents-anything-patterns-ii/index.html.md) - 2008-02-25
  Summary: The use of Anything patterns in Windows Live Agents.
- [Doing things the right way == impossible?](https://blog.kartones.net/post/doing-things-the-right-way-impossible/index.html.md) - 2008-02-20
  Summary: The struggle of striving for perfection in projects.
- [KartonesNet CS2007 Addon Pack: Twitter AutoPosting CS Module](https://blog.kartones.net/post/kartonesnet-cs2007-addon-pack-twitter-autoposting-cs-module/index.html.md) - 2008-02-17
  Summary: A new Twitter auto-posting module for Kartones.Net was added, fixing bugs and converting it to a CS module for better functionality and stability.
- [Windows Live Agents: Anything patterns](https://blog.kartones.net/post/windows-live-agents-anything-patterns/index.html.md) - 2008-02-17
  Summary: How to create catch-all patterns in Windows Live Agents and an example of how to implement it.
- [Messenger instant chat HTML tags](https://blog.kartones.net/post/messenger-instant-chat-html-tags/index.html.md) - 2008-02-12
  Summary: A reminder of special HTML tags for Messenger instant chat: chat, add to contact list, voice chat, and video conversation.
- [Windows Live Agents: SCount Function (Safe Count)](https://blog.kartones.net/post/windows-live-agents-scount-function-safe-count/index.html.md) - 2008-02-09
  Summary: Creating a 'safe count' function in Buddyscript to handle looping scalars and lists, addressing limitations of the Count function.
- [Getting up with XNA GS 2.0](https://blog.kartones.net/post/getting-up-with-xna-gs-2-0/index.html.md) - 2008-02-03
  Summary: A detailed exploration of XNA GS 2.0 features.
- [New Kartones.Net feature: Auto-posting to Twitter](https://blog.kartones.net/post/new-kartones-net-feature-auto-posting-to-twitter/index.html.md) - 2008-02-01
  Summary: A new feature on Kartones.Net that allows auto-posting to Twitter, using the Community Server TwitterModule.
- [Windows Live Agents: Default topics &amp; capabilities](https://blog.kartones.net/post/windows-live-agents-default-topics-amp-capabilities/index.html.md) - 2008-01-28
  Summary: A detailed list of conversation categories and default features of Windows Live Agents.
- [Music as a key component for videogames](https://blog.kartones.net/post/music-as-a-key-component-for-videogames/index.html.md) - 2008-01-26
  Summary: Music is a key component in video games, and games like DDR, Guitar Hero, and Audiosurf have revolutionized the way music is integrated into gameplay.
- [Incoming events](https://blog.kartones.net/post/incoming-events/index.html.md) - 2008-01-22
  Summary: A summary of upcoming events, including The MindCamp, DNCMadDay at Alcalá de Henares University, and a Windows Live Training in Zurich.
- [KB946932: Disabling UAC Prompt for certain apps. Not that useful...](https://blog.kartones.net/post/kb946932-disabling-uac-prompt-for-certain-apps-not-that-useful/index.html.md) - 2008-01-20
  Summary: A review of the KB946932 article, discussing the process of disabling UAC prompts for specific applications.
- [Book Review: Blog Profits Blueprint](https://blog.kartones.net/post/book-review-blog-profits-blueprint/index.html.md) - 2008-01-19
  Summary: A review of the book 'Blog Profits Blueprint', by Yaro Starak.
- [Cool App: Last.fm Mobile](https://blog.kartones.net/post/cool-app-last-fm-mobile/index.html.md) - 2008-01-14
  Summary: Discussion about the Last.fm Windows Mobile app.
- [Windows Live Agents: Structuring and Refactoring the code](https://blog.kartones.net/post/windows-live-agents-structuring-and-refactoring-the-code/index.html.md) - 2008-01-10
  Summary: A guide on structuring and refactoring code for Windows Live Agents, including organizing patterns, creating localized responses, and using macros for text substitutions.
- [Dual monitor: Fantastic Improvement](https://blog.kartones.net/post/dual-monitor-fantastic-improvement/index.html.md) - 2008-01-09
  Summary: A recommendation for using dual monitors to improve productivity and reduce neck strain while working on laptops.
- [Text Mode Demos: Amazing](https://blog.kartones.net/post/text-mode-demos-amazing/index.html.md) - 2008-01-07
  Summary: A collection of amazing text mode demos showcasing impressive 3D effects and visuals.
- [Dark color themes support on Windows](https://blog.kartones.net/post/dark-color-themes-support-on-windows/index.html.md) - 2008-01-03
  Summary: About the terrible dark themes support on Windows
- [Recapitulation of 2007](https://blog.kartones.net/post/recapitulation-of-2007/index.html.md) - 2007-12-30
  Summary: A recap of my experiences in 2007.
- [Building a Windows Live Agent: First steps](https://blog.kartones.net/post/building-a-windows-live-agent-first-steps/index.html.md) - 2007-12-27
  Summary: A tutorial on building a Windows Live Agent, using Visual Studio 2008 and the 5.0 SDK.
- [Reading pending RSS feeds... Game development related](https://blog.kartones.net/post/reading-pending-rss-feeds-game-development-related/index.html.md) - 2007-12-24
  Summary: A list of interesting game development related articles.
- [Windows Live Agents: Reading XML element attributes](https://blog.kartones.net/post/windows-live-agents-reading-xml-element-attributes/index.html.md) - 2007-12-16
  Summary: How to access XML element properties in Windows Live Agents SDK.
- [Configure Exchange RPC over HTTP](https://blog.kartones.net/post/configure-exchange-rpc-over-http/index.html.md) - 2007-12-07
  Summary: A guide on configuring Exchange RPC over HTTP for accessing your Microsoft Exchange mail account in Outlook from outside the office.
- [Lego Mindstorms NXT: Control your robot via Wiimote](https://blog.kartones.net/post/lego-mindstorms-nxt-control-your-robot-via-wiimote/index.html.md) - 2007-11-30
  Summary: A tutorial on controlling a Lego Mindstorms NXT robot using a Wiimote and Microsoft Robotics Studio, with a managed .NET library for the Wiimote.
- [Fighting with Windows XP](https://blog.kartones.net/post/fighting-with-windows-xp/index.html.md) - 2007-11-11
  Summary: A struggle with installing Windows XP Professional 64-bit, encountering issues with RAID0 HDDs and memory addressing limits.
- [Messenger Presence API Exposed](https://blog.kartones.net/post/messenger-presence-api-exposed/index.html.md) - 2007-11-07
  Summary: Exploring the MSN Messenger Presence API, including querying for online status, JSON data, and building an AJAX proxy for mashups and gadgets.
- [Protecting from SQL Injection in ASP.NET](https://blog.kartones.net/post/protecting-from-sql-injection-in-asp-net/index.html.md) - 2007-11-06
  Summary: Tips for protecting against SQL Injection in ASP.NET.
- [Tweaking the Crysis SinglePlayer PC demo](https://blog.kartones.net/post/tweaking-the-crysis-singleplayer-pc-demo/index.html.md) - 2007-10-30
  Summary: How to optimize the configuration of the Crysis PC videogame demo.
- [Windows Live Agents: Structuring data into n-tiers](https://blog.kartones.net/post/windows-live-agents-structuring-data-into-n-tiers/index.html.md) - 2007-10-29
  Summary: A discussion on structuring data into n-tiers using Windows Live Agents.
- [Cloning the Twitter badge with Javascript &amp; new subdomain](https://blog.kartones.net/post/cloning-the-twitter-badge-with-javascript-and-new-subdomain/index.html.md) - 2007-10-27
  Summary: A project involving cloning the Twitter badge using Javascript and a new subdomain.
- [Enjoying your work (and teamwork)](https://blog.kartones.net/post/enjoying-your-work-and-teamwork/index.html.md) - 2007-10-25
  Summary: A reflection on the enjoyment of work and teamwork.
- [Evergrowing unneeded software features](https://blog.kartones.net/post/evergrowing-unneeded-software-features/index.html.md) - 2007-10-20
  Summary: The issue of evergrowing unneeded software features, advocating for more customizable applications to avoid unnecessary bloat.
- [Meeting and chat with Angus Logan](https://blog.kartones.net/post/meeting-and-chat-with-angus-logan/index.html.md) - 2007-10-18
  Summary: A chat with Angus Logan, Microsoft's Product Manager of Windows Live Platform, discussing Windows Live services, Silverlight, web applications, and upcoming features in the battle with Google.
- [WLA: Detect if user can't launch an Activity](https://blog.kartones.net/post/wla-detect-if-user-can-t-launch-an-activity/index.html.md) - 2007-10-02
  Summary: A guide on detecting and handling issues when a user can't launch an activity in MSN Messenger.
- [Metroid remake with voxel technology](https://blog.kartones.net/post/metroid-remake-with-voxel-technology/index.html.md) - 2007-09-30
  Summary: Mention of a Metroid remake using voxel technology, explaining how voxels work and mentioning other games.
- [Designing a game: My first steps](https://blog.kartones.net/post/designing-a-game-my-first-steps/index.html.md) - 2007-09-29
  Summary: About the process of designing a game.
- [Why are videogames so short now?](https://blog.kartones.net/post/why-are-videogames-so-short-now/index.html.md) - 2007-09-23
  Summary: Discussion about the trend of short video games, questioning why companies release games that can be completed in just a few hours.
- [WLA: Random answers loaded from an XML file](https://blog.kartones.net/post/wla-random-answers-loaded-from-an-xml-file/index.html.md) - 2007-09-20
  Summary: A guide on loading random answers from an XML file to enhance a Windows Live Agents robot's responses.
- [5 Tips for increasing your game player base and fidelity](https://blog.kartones.net/post/5-tips-for-increasing-your-game-player-base-and-fidelity/index.html.md) - 2007-09-18
  Summary: Tips for increasing game player base and fidelity: have a website, provide forums, host events, offer tools, and advertise.
- [WLA: Implement a Log for your agent](https://blog.kartones.net/post/wla-implement-a-log-for-your-agent/index.html.md) - 2007-09-16
  Summary: The importance of logging information for Windows Live Agents.
- [New Topic: Windows Live Agents](https://blog.kartones.net/post/new-topic-windows-live-agents/index.html.md) - 2007-09-10
  Summary: A summary of my experience working with Windows Live Agents, including the official SDK and third-party options for indie developments.
- [Lego Mindstorms NXT: NXT Remote for PocketPC](https://blog.kartones.net/post/lego-mindstorms-nxt-nxt-remote-for-pocketpc/index.html.md) - 2007-09-03
  Summary: A review of the Lego Mindstorms NXT Remote for PocketPC, a tool allowing remote control of robots via Bluetooth.
- [Adapting a boardgame to a Online Multiplayer Game](https://blog.kartones.net/post/adapting-a-boardgame-to-a-online-multiplayer-game/index.html.md) - 2007-09-02
  Summary: Exploring different approaches to adapting boardgames into online multiplayer games.
- [To mock or not to mock, that is the question](https://blog.kartones.net/post/to-mock-or-not-to-mock-that-is-the-question/index.html.md) - 2007-08-29
  Summary: A discussion on the importance of using mock objects in software development projects to simulate external dependencies.
- [Wired article on Halo 3](https://blog.kartones.net/post/wired-article-on-halo-3/index.html.md) - 2007-08-27
  Summary: A summary of a Wired article discussing the development and testing of Halo 3 by Microsoft.
- [.NET Compact Framework: GMail Contacts Importer](https://blog.kartones.net/post/net-compact-framework-gmail-contacts-importer/index.html.md) - 2007-08-25
  Summary: A review of the .NET Compact Framework: GMail Contacts Importer tool that I built.
- [Optimizing the time using your computer](https://blog.kartones.net/post/optimizing-the-time-using-your-computer/index.html.md) - 2007-08-20
  Summary: Tips for optimizing time on your computer.
- [New Book Review: Videogame Marketing and PR](https://blog.kartones.net/post/new-book-review-videogame-marketing-and-pr/index.html.md) - 2007-08-19
  Summary: A review of the book 'Videogame Marketing and PR', by Unknown.
- [Double Dispatch in JADE 2.0](https://blog.kartones.net/post/double-dispatch-in-jade-2-0/index.html.md) - 2007-08-18
  Summary: The content discusses the use of Double Dispatch in JADE 2.0.
- [Vista vs XP security (for laptops) SANS Paper](https://blog.kartones.net/post/vista-vs-xp-security-for-laptops-sans-paper/index.html.md) - 2007-08-15
  Summary: A comparison of Vista vs XP security features for laptops by SANS Institute.
- [Upgrading my home machine network](https://blog.kartones.net/post/upgrading-my-home-machine-network/index.html.md) - 2007-08-07
  Summary: The author is upgrading his home machines.
- [KartonesNet CS2007 Addon Pack v1.1.0](https://blog.kartones.net/post/kartonesnet-cs2007-addon-pack-v1-1-0/index.html.md) - 2007-08-05
  Summary: A new Spam Rule, BadWordNoRegExpSpamRule, has been added to KartonesNet CS2007 Addon Pack v1.1.0, allowing for easy addition of non-alphanumeric bad words.
- [New book review: Writing Secure code for Windows Vista](https://blog.kartones.net/post/new-book-review-writing-secure-code-for-windows-vista/index.html.md) - 2007-07-22
  Summary: A review of the book 'Writing Secure code for Windows Vista'
- [We were short for time and there were other interesting features to consider](https://blog.kartones.net/post/we-were-short-for-time-and-there-were-other-interesting-features-to-consider/index.html.md) - 2007-07-16
  Summary: Challenges faced in changing the XML encoding of an ASP.NET Web Service to handle special characters.
- [Offtopic: Back from Germany, plus a weekend using Linux](https://blog.kartones.net/post/offtopic-back-from-germany-plus-a-weekend-using-linux/index.html.md) - 2007-07-15
  Summary: Some Ubuntu challenges with graphics drivers.
- [Book Review: The Design of Everyday Things](https://blog.kartones.net/post/book-review-the-design-of-everyday-things/index.html.md) - 2007-06-19
  Summary: A review of the book 'The Design of Everyday Things', by Don Norman.
- [Community Server 2007: KartonesNet CS2007 Addon Pack 1.0](https://blog.kartones.net/post/community-server-2007-kartonesnet-cs2007-addon-pack-1-0/index.html.md) - 2007-06-12
  Summary: Community Server 2007: KartonesNet CS2007 Addon Pack 1.0
- [Google Gears: A bit unsafe?](https://blog.kartones.net/post/google-gears-a-bit-unsafe/index.html.md) - 2007-06-10
  Summary: Google Gears, a local DB storage system, has possible XSS flaws and data is located in a SQLite database without authentication, making it a bit unsafe.
- [ExitWindowsEx not working with Windows XP if computer is locked](https://blog.kartones.net/post/exitwindowsex-not-working-with-windows-xp-if-computer-is-locked/index.html.md) - 2007-06-06
  Summary: A problem with ExitWindowsEx on Windows XP when computer is locked, resolved by installing a hotfix from Microsoft.
- [Community Server 2007: Creating Kartones.Net custom spam rules](https://blog.kartones.net/post/community-server-2007-creating-kartones-net-custom-spam-rules/index.html.md) - 2007-06-04
  Summary: A development solution for spam issues in Community Server 2007.
- [Preventing spam with Community Server 2007](https://blog.kartones.net/post/preventing-spam-with-community-server-2007/index.html.md) - 2007-06-03
  Summary: Discusses how to prevent spam in Community Server 2007 by changing the default settings for deleting spam comments and enabling multiple rules to block spam, including using a CAPTCHA module.
- [XNA Particle System sources uploaded](https://blog.kartones.net/post/xna-particle-system-sources-uploaded/index.html.md) - 2007-06-01
  Summary: XNA Particle System talk code sources available.
- [Offtopic: Windows Boot screens](https://blog.kartones.net/post/offtopic-windows-boot-screens/index.html.md) - 2007-05-27
  Summary: A nostalgic look back at Windows boot screens from version 1.01 to Vista, with a link to ZDNet article for screenshots.
- [Using WiX (Windows Installer XML)](https://blog.kartones.net/post/using-wix-windows-installer-xml/index.html.md) - 2007-05-27
  Summary: A guide on using WiX (Windows Installer XML) for creating powerful installers, including tutorials, tips for editing XML files, and executing installed programs.
- [Migrating Kartones.Net to Community Server 2007](https://blog.kartones.net/post/migrating-kartones-net-to-community-server-2007/index.html.md) - 2007-05-24
  Summary: The migration process of Kartones.Net to Community Server 2007.
- [Playing Videogames is like...](https://blog.kartones.net/post/playing-videogames-is-like/index.html.md) - 2007-05-20
  Summary: A YouTube video explaining the experience of playing video games and why it is loved by many.
- [Quick tips for developing under Windows Vista](https://blog.kartones.net/post/quick-tips-for-developing-under-windows-vista/index.html.md) - 2007-05-16
  Summary: Tips for efficient development under Windows Vista with Visual Studio 2005.
- [5 Things we can learn as developers from videogames](https://blog.kartones.net/post/5-things-we-can-learn-as-developers-from-videogames/index.html.md) - 2007-05-15
  Summary: Developers can learn from PC videogames in areas such as efficient updates, secure software, good resource management, correct localization, and usability. Games use encrypted communications, thin-client logic, and anti-keyloggers to ensure security. Good games are easy to play and have ingame tutorials.
- [Developing an XNA Particle System](https://blog.kartones.net/post/developing-an-xna-particle-system-speech-sources-soon/index.html.md) - 2007-05-11
  Summary: A presentation on developing an XNA particle system, showcasing GameComponents, custom content pipeline elements, and the fun of testing and tweaking particles. Source code and slides available.
- [NUnit 2.4.1 &amp; Watin 1.1.0](https://blog.kartones.net/post/nunit-2-4-1-watin-1-1-0/index.html.md) - 2007-05-05
  Summary: NUnit 2.4.1 has a new constrained assert model that is more like natural language. WatiN 1.1.0 has been released and can be integrated with NUnit for web application testing.
- [WinSxS under Windows XP?](https://blog.kartones.net/post/winsxs-under-xp-wtf/index.html.md) - 2007-05-03
  Summary: A rant about the lack of WinSxS tracing tool in Windows XP.
- [Vista &amp; Windows Side by Side Assemblies](https://blog.kartones.net/post/vista-windows-side-by-side-assemblies/index.html.md) - 2007-04-30
  Summary: A detailed explanation of Windows Side by Side Assemblies, how they evolved in Windows Vista, and the challenges faced with accessing and modifying the WinSxS folder.
- [Humour: Rayman Ads](https://blog.kartones.net/post/humour-rayman-ads/index.html.md) - 2007-04-27
  Summary: The mad rabbits in Rayman videogame ads are very funny.
- [Selecting the Nth row from a SQL table](https://blog.kartones.net/post/selecting-the-nth-row-from-a-sql-table/index.html.md) - 2007-04-23
  Summary: A guide on selecting the Nth row from a SQL table.
- [VS2005 Unit Tests and copying files](https://blog.kartones.net/post/vs2005-unit-tests-and-copying-files/index.html.md) - 2007-04-21
  Summary: A guide on configuring VS2005 unit tests to copy files to the output folder before execution.
- [Using Windows Live Writer with Kartones.Net (Community Server 2.1)](https://blog.kartones.net/post/using-windows-live-writer-with-kartones-net-community-server-2-1/index.html.md) - 2007-04-13
  Summary: A guide on setting up Windows Live Writer with Kartones.Net (Community Server 2.1).
- [Pixel Drawing](https://blog.kartones.net/post/pixel-drawing/index.html.md) - 2007-04-05
  Summary: An exploration of pixel art (drawing).
- [Flash Player under Windows Vista and IE7 not working](https://blog.kartones.net/post/flash-player-under-windows-vista-and-ie7-not-working/index.html.md) - 2007-03-28
  Summary: A troubleshooting guide for fixing Flash Player issues on Internet Explorer 7 under Windows Vista.
- [Loading resources from an external assembly](https://blog.kartones.net/post/loading-resources-from-an-external-assembly/index.html.md) - 2007-03-24
  Summary: How to load resources from an external C# assembly.
- [An excellent article about Windows Vista](https://blog.kartones.net/post/an-excellent-article-about-windows-vista/index.html.md) - 2007-03-24
  Summary: About Windows Vista new features, oriented for technical users.
- [Postmortem: LAME MP3 Encoder GUI](https://blog.kartones.net/post/postmortem-lame-mp3-encoder-gui/index.html.md) - 2007-03-13
  Summary: A postmortem analysis of the development process of the LAME MP3 Encoder GUI tool I built in the past.
- [Doing some PR about Jade](https://blog.kartones.net/post/doing-some-pr-about-jade/index.html.md) - 2007-03-13
  Summary: An update on the latest developments with Jade Engine, including upcoming 1.2 release features and improvements in the 1.1 release.
- [GDC2007: Fantastic XNA news](https://blog.kartones.net/post/gdc2007-fantastic-xna-news/index.html.md) - 2007-03-08
  Summary: GDC 2007 brought exciting XNA news.
- [Puzzles](https://blog.kartones.net/post/puzzles/index.html.md) - 2007-03-07
  Summary: A logic puzzle to test problem-solving skills.
- [Auto-attach to process aspnet_wp.exe on machine xxxxxxx failed. Error code 0x8013134b.](https://blog.kartones.net/post/auto-attach-to-process-aspnet-wp-exe-on-machine-xxxxxxx-failed-error-code-0x8013134b/index.html.md) - 2007-02-28
  Summary: Solution to a common ASP.NET 1.1 and IIS error.
- [Slides and sources of my Managed DirectX and XNA speeches uploaded](https://blog.kartones.net/post/slides-and-sources-of-my-managed-directx-and-xna-speeches-uploaded/index.html.md) - 2007-02-28
  Summary: Mentioning the uploaded of some presentations on Managed DirectX and XNA to the website.
- [ASP.NET AJAX 1.0 RTM Bug](https://blog.kartones.net/post/asp-net-ajax-1-0-rtm-bug/index.html.md) - 2007-02-26
  Summary: About a bug in ASP.NET AJAX 1.0 RTM that causes server errors due to RoleManagerModule cookies, and a few solutions.
- [XNA: Skeletal Bone Animation &amp; Skinning with Collada models article](https://blog.kartones.net/post/xna-skeletal-bone-animation-skinning-with-collada-models-article/index.html.md) - 2007-02-26
  Summary: A mention of an article about Skeletal Bone Animation & Skinning with Collada models, in the XNA game development framework.
- [3D Terrain Generator](https://blog.kartones.net/post/3d-terrain-generator/index.html.md) - 2007-02-25
  Summary: Mentioning a tool 3D Terrain Generator, to enhance Terragen's terrain map creation.
- [Linux for a dummie: First Steps](https://blog.kartones.net/post/linux-for-a-dummie-first-steps/index.html.md) - 2007-02-21
  Summary: My experience installing and using Ubuntu Linux for the first time.
- [The Vista gaming experience](https://blog.kartones.net/post/the-vista-gaming-experience/index.html.md) - 2007-02-14
  Summary: A discussion on the impact of Windows Vista on gaming performance.
- [MS Patterns &amp; Practices Performance Testing Guidance released](https://blog.kartones.net/post/ms-patterns-practices-performance-testing-guidance-released/index.html.md) - 2007-02-13
  Summary: Mention of the MS Patterns & Practices Performance Testing Guidance.
- [Tools: SnippetCompiler](https://blog.kartones.net/post/tools-snippetcompiler/index.html.md) - 2007-02-11
  Summary: A small review of the .NET tool 'SnippetCompiler'.
- [An interesting article about Windows Vista security model](https://blog.kartones.net/post/an-interesting-article-about-windows-vista-security-model/index.html.md) - 2007-02-11
  Summary: A small discussion about the Windows Vista security model.
- [Commercial game engines](https://blog.kartones.net/post/commercial-game-engines/index.html.md) - 2007-02-11
  Summary: A compilation of popular commercial game engines as of 2007.
- [Priceless Consulting](https://blog.kartones.net/post/priceless-consulting/index.html.md) - 2007-02-01
  Summary: Personal recall of a recent frustrating experience regarding sloppy security and configuration practices.
- [New Cryptographic Algorithms in Visual Studio Orcas](https://blog.kartones.net/post/new-cryptographic-algorithms-in-visual-studio-orcas/index.html.md) - 2007-01-26
  Summary: Visual Studio Orcas will introduce 12 new cryptographic algorithm classes, including variations of existing algorithms and three new ones, such as Elliptic Curve DSA and Elliptic Curve Diffie-Hellman.
- [See ya later, Vista](https://blog.kartones.net/post/see-ya-later-vista/index.html.md) - 2007-01-04
  Summary: My first steps with Windows Vista, and a small comparison with Windows XP.
- [Top 5 2006 used freeware](https://blog.kartones.net/post/top-5-2006-used-freeware/index.html.md) - 2006-12-20
  Summary: A list of the top 5 freeware tools I used during 2006.
- [TDD and Testing](https://blog.kartones.net/post/tdd-and-testing/index.html.md) - 2006-12-03
  Summary: Discusses various articles related to Test Driven Development and testing, including an article about unit testing in Ruby, an explanation of mock objects in Java, an article about the pros and cons of white and black box testing, and an article about TDD Anti-Patterns. The post also mentions the release of NUnit 2.2.9.
- [Postmortem: Madrid CodeCamp 2006](https://blog.kartones.net/post/postmortem-madrid-codecamp-2006/index.html.md) - 2006-10-29
  Summary: My summary of the Madrid CodeCamp 2006 event. Plus my demo sources.
- [Back at Madrid CodeCamp 2006](https://blog.kartones.net/post/back-at-madrid-codecamp-2006/index.html.md) - 2006-10-11
  Summary: I'm some details about the presentation I'm preparing for Madrid CodeCamp 2006 about XNA.
- [Bought an XBox 360](https://blog.kartones.net/post/bought-an-xbox-360/index.html.md) - 2006-09-23
  Summary: Sharing the excitement of having purchased an Xbox 360.
- [Windows Vista Pre-RC1 under MS Virtual PC 2004 SP1](https://blog.kartones.net/post/windows-vista-pre-rc1-under-ms-virtual-pc-2004-sp1/index.html.md) - 2006-09-04
  Summary: Tips for a smooth execution of Windows Vista Pre-RC1 under MS Virtual PC 2004 SP1
- [Really new user interfaces](https://blog.kartones.net/post/really-new-user-interfaces/index.html.md) - 2006-09-03
  Summary: About the trend of 3D user interfaces in operating systems like Windows Vista and Mac, vs those showcased in sci-fi films.
- [Freeware and opensource classic remakes](https://blog.kartones.net/post/freeware-and-opensource-classic-remakes/index.html.md) - 2006-08-28
  Summary: A list of freeware and opensource classic videogame remakes.
- [VB.NET sucks](https://blog.kartones.net/post/vb-net-sucks/index.html.md) - 2006-07-31
  Summary: A rant about the frustrations of working with VB.NET for a C-style developer.
- [BumpTop: A realistic 3D desktop](https://blog.kartones.net/post/bumptop-a-realistic-3d-desktop/index.html.md) - 2006-06-26
  Summary: BumpTop is a 3D desktop that allows users to create piles of books and magazines, push things around, and use mouse-drawing commands.
- [How to tune-up your VM](https://blog.kartones.net/post/how-to-tune-up-your-vm/index.html.md) - 2006-06-14
  Summary: Tips on improving Virtual Machine performance.
- [3D Engines: OgreDotNet](https://blog.kartones.net/post/3d-engines-ogredotnet/index.html.md) - 2006-06-10
  Summary: A mention of OgreDotNet, a wrapper for C++ to .NET, with tutorials and forum support, but now being replaced by MOGRE.
- [Small Blogger hack: Custom search](https://blog.kartones.net/post/small-blogger-hack-custom-search/index.html.md) - 2006-05-31
  Summary: A tutorial on creating a custom search function for Blogger, including a javascript function, fake search form, and clickable topics/keywords.
- [ASP.NET &amp; IIS bad things](https://blog.kartones.net/post/asp-net-amp-iis-bad-things/index.html.md) - 2006-05-08
  Summary: A discussion on the challenges and frustrations encountered with ASP.NET and IIS, including issues with basic authentication, HttpContext differences, and limitations of HttpModules.
- [More 3D Engines](https://blog.kartones.net/post/more-3d-engines/index.html.md) - 2006-05-03
  Summary: A mention of two open-source 3D engines, Sauerbraten and Cube, known for in-game geometric editing and multiplayer support across multiple platforms.
- [Online Reference sheets for HTML, JS and more](https://blog.kartones.net/post/online-reference-sheets-for-html-js-and-more/index.html.md) - 2006-04-23
  Summary: Some online reference sheets for web development.
- [Coolest Firefox Extensions](https://blog.kartones.net/post/coolest-firefox-extensions/index.html.md) - 2006-04-18
  Summary: A list of the top three Firefox extensions: IETab, AdBlock/Adblock Plus, and AdBlock FilterSet.G.
- [OS Processes monitoring](https://blog.kartones.net/post/os-processes-monitoring/index.html.md) - 2006-04-18
  Summary: A guide on monitoring OS processes using .NET.
- [Busy Busy](https://blog.kartones.net/post/busy-busy/index.html.md) - 2006-04-15
  Summary: Some remarks about .NET security features, cryptography, and translating a .NET 1.1 version of Community Server Forums to Spanish.
- [Microsoft Document Explorer in VS2005](https://blog.kartones.net/post/microsoft-document-explorer-in-vs2005/index.html.md) - 2006-03-10
  Summary: Tips for opening documents with Microsoft Document Explorer in Visual Studio 2005.
- [MAD.NUG Managed DirectX Speech Slides and Demo](https://blog.kartones.net/post/mad-nug-managed-directx-speech-slides-and-demo/index.html.md) - 2006-01-20
  Summary: The author gave a speech on Managed DirectX and C# covering basics such as loading and manipulating meshes, textures, materials, lights, movements, and DirectInput. Slides and demo code are available in Spanish.
- [It all started...](https://blog.kartones.net/post/it-all-started/index.html.md) - 2006-01-07
  Summary: My personal journey from playing classic video games on older systems, discovering game development, and leading to a career in software development.
- [Mini-list of continuous integration tools](https://blog.kartones.net/post/mini-list-of-continuous-integration-tools/index.html.md) - 2005-06-10
  Summary: A list of Continuous Integration tools for building a .NET CI server.
- [OpenSmtp Console v1.0](https://blog.kartones.net/post/opensmtp-console-v1-0/index.html.md) - 2005-06-08
  Summary: A command-line email sender tool I created, OpenSmtp Console.
- [NCover Template for CruiseControl.NET](https://blog.kartones.net/post/ncover-template-for-cruisecontrol-net/index.html.md) - 2005-06-03
  Summary: A NCover Template for CruiseControl.NET that I built.
- [Subversion: Almost a definitive solution](https://blog.kartones.net/post/subversion-almost-a-definitive-solution/index.html.md) - 2005-05-24
  Summary: A small review of the tool Subversion
- [Visio 2003 for GUI prototyping](https://blog.kartones.net/post/visio-2003-for-gui-prototyping/index.html.md) - 2005-05-13
  Summary: About using Microsoft Visio 2003 for GUI prototyping
- [.NET VNC Viewer for PocketPC](https://blog.kartones.net/post/net-vnc-viewer-for-pocketpc/index.html.md) - 2005-02-05
  Summary: Mention of a .NET VNC Viewer application for PocketPC.
- [Funny and curious story](https://blog.kartones.net/post/funny-and-curious-story/index.html.md) - 2004-12-22
  Summary: A funny and curious story about two Apple employees who were fired but continued working on a scientific calculator project in secret, with amusing and clever anecdotes.
- [ASM to IL compiler](https://blog.kartones.net/post/asm-to-il-compiler/index.html.md) - 2004-12-10
  Summary: A review of an ASM to IL compiler for generating ASP.NET code from Assembly code.
- [Jamagic: A good idea that faded away](https://blog.kartones.net/post/jamagic-a-good-idea-that-faded-away/index.html.md) - 2004-12-02
  Summary: Jamagic was a game programming language and development environment that allowed for easy game development without needing to know a specific programming language. It had a good 2D engine, but the 3D engine was rough and lacked features. The I/O system was poor, and the creators stopped giving support to the platform.

## Pages

- [Contact](https://blog.kartones.net/page/contact/index.html.md)
  Summary: Contact information plus the blog's legal, privacy, content, and ethics policies.
- [Personal projects, source-codes and experiments](https://blog.kartones.net/page/my-source-codes-and-contributions/index.html.md)
  Summary: Pointer to the portfolio site listing personal projects, source code, and experiments.
- [Resources](https://blog.kartones.net/page/resources/index.html.md)
  Summary: An index of special pages and other resources across the site.
- [Support Me](https://blog.kartones.net/page/support-me/index.html.md)
  Summary: Explanation of why and how readers can support the blog's hosting costs.
- [Books Read](https://blog.kartones.net/page/books-read/index.html.md)
  Summary: A list of technical, game development, and miscellaneous books read, most linking to a review post.
- [Chrome/Chromium, Brave & Microsoft Edge Add-ons](https://blog.kartones.net/page/chrome-addons/index.html.md)
  Summary: A curated list of favourite Chrome/Chromium, Brave, and Microsoft Edge browser extensions.
- [Command-Line Tools](https://blog.kartones.net/page/command-line-tools/index.html.md)
  Summary: A curated list of useful command-line tools for Linux, with short notes on what each one does.
- [Courses and Certifications](https://blog.kartones.net/page/courses-and-certifications/index.html.md)
  Summary: A list of technical courses and certifications taken, most linking to a review post.
- [CURL Cheatsheet](https://blog.kartones.net/page/curl-cheatsheet/index.html.md)
  Summary: A cheatsheet of curl command examples for common HTTP methods and content types.
- [Development Links](https://blog.kartones.net/page/dev-links/index.html.md)
  Summary: Redirect notice pointing to the Archives section, where this page's content has moved.
- [Emulation](https://blog.kartones.net/page/emulation/index.html.md)
  Summary: A list of emulation software used across arcades, consoles, and computers on Linux, Windows, and macOS.
- [Firefox and Waterfox Add-ons](https://blog.kartones.net/page/firefox-addons/index.html.md)
  Summary: A curated list of favourite Firefox, Waterfox, and other Firefox-fork browser extensions.
- [Gaming Profiles](https://blog.kartones.net/page/gaming-profiles/index.html.md)
  Summary: A list of usernames/IDs across gaming platforms and services.
- [Git Cheatsheet](https://blog.kartones.net/page/git-cheatsheet/index.html.md)
  Summary: A cheatsheet of Git commands and notes covering everyday and advanced usage.
- [Image and Video CLI Cheatsheet](https://blog.kartones.net/page/image-and-video-cli-cheatsheet/index.html.md)
  Summary: A cheatsheet of imagemagick and other CLI commands for processing images and videos.
- [Learning Swedish](https://blog.kartones.net/page/learning-swedish/index.html.md)
  Summary: Personal notes on learning Swedish, covering alphabet, grammar, vocabulary, and common phrases.
- [macOS Cheatsheet](https://blog.kartones.net/page/macos-cheatsheet/index.html.md)
  Summary: A cheatsheet of macOS keyboard symbols, layouts, shortcuts, and other tips.
- [Old Book Reviews](https://blog.kartones.net/page/old-book-reviews/index.html.md)
  Summary: An archive of older, pre-blog-post-era book reviews.
- [Podcasts Followed](https://blog.kartones.net/page/podcasts-followed/index.html.md)
  Summary: A list of podcasts currently followed.
- [Reviews about books and courses](https://blog.kartones.net/page/reviews/index.html.md)
  Summary: An index page linking to the books, courses, and podcasts lists.
- [VS Code and Cursor Extensions](https://blog.kartones.net/page/vscode-extensions/index.html.md)
  Summary: A curated list of favourite VS Code, Cursor, and other VS Code-fork IDE extensions, plus usage tips.
- [Windows Tools](https://blog.kartones.net/page/windows-tools/index.html.md)
  Summary: A curated list of favourite Windows tools and software, with notes on where to safely download them.
