{"id":2503,"date":"2025-11-15T17:07:04","date_gmt":"2025-11-15T15:07:04","guid":{"rendered":"https:\/\/www.lucaamore.com\/?p=2503"},"modified":"2025-12-07T08:06:16","modified_gmt":"2025-12-07T06:06:16","slug":"reversi42-a-journey-through-hyperspace-from-vim-to-cursor","status":"publish","type":"post","link":"https:\/\/www.lucaamore.com\/?p=2503","title":{"rendered":"Reversi42: A Journey Through Hyperspace &#8211; From Vim to Cursor"},"content":{"rendered":"\n<p>The story of&nbsp;<strong>Reversi42<\/strong>&nbsp;began many years ago, in an age when the word&nbsp;<em>\u201csmart working\u201d<\/em>&nbsp;didn\u2019t even exist. Every morning, far more carefree than I am today, I would take the subway to work with a tiny 10-inch netbook. In that cramped space, I started developing the first version of my Reversi42 engine &#8211; supported by a colleague who was an expert Othello player.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/github.com\/lookee\/Reversi42\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fanta-cursor.avif\" alt=\"ai editor cursor\" class=\"wp-image-2508\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fanta-cursor.avif 1024w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fanta-cursor-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fanta-cursor-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fanta-cursor-768x768.avif 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">A time travel from Vim to Coursor<\/figcaption><\/figure>\n\n\n\n<p><br>I wanted to see how far I could go with minimal hardware and a few weeks of focus.<br>I coded offline, using my first version of Python and my beloved&nbsp;<strong>Vim<\/strong>, inside a GNU\/Linux terminal where every pixel truly mattered.<\/p>\n\n\n\n<p>The first stable release came on&nbsp;<strong>March 7, 2011<\/strong>.<br><br><a href=\"https:\/\/www.lucaamore.com\/?p=161\" data-type=\"link\" data-id=\"https:\/\/www.lucaamore.com\/?p=161\">VISIT THE OLD ARTICLE ABOUT REVERSI42<\/a><\/p>\n\n\n\n<p>Years later, I reopened that old GitHub repository because I wanted to&nbsp;<strong>transform a legacy project into a modern testbed<\/strong>. I wanted to see what would happen when a prehistoric project, written in 2011 on a subway using Vim and a netbook, met the tools of 2025.<\/p>\n\n\n\n<p>And I asked myself:<strong> how much can I build today in just a few days &#8211; backed by years of experience and the best AIs around?<\/strong><\/p>\n\n\n\n<p><em>Spoiler:<\/em>&nbsp;much more than I could ever have imagined and my expectations were already high.<\/p>\n\n\n\n<p>That\u2019s how I opened a&nbsp;<strong>temporal rift<\/strong>, short-circuiting past and present &#8211; between the magical Vim formulas that once carried me to nirvana and the modern oracle of&nbsp;<strong>Cursor<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Disassemble. Rebuild. Amplify.<\/strong><\/h3>\n\n\n\n<p>The new&nbsp;<strong>Reversi42<\/strong>&nbsp;distills everything I\u2019ve learned over the years:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>SOLID design principles<\/strong><\/li>\n\n\n\n<li><strong>Clear responsibilities, modular architecture<\/strong><\/li>\n\n\n\n<li><strong>Heavy use of design patterns<\/strong><\/li>\n\n\n\n<li><strong>A more rational, readable, testable engine<\/strong><\/li>\n\n\n\n<li><strong>Iterative deepening and refined alpha-beta pruning<\/strong><\/li>\n\n\n\n<li><strong>Clean heuristics and early transposition table optimizations<\/strong><\/li>\n\n\n\n<li><strong>Modern responsive UI with WebSockets<\/strong><\/li>\n\n\n\n<li><strong>A CI\/CD pipeline<\/strong><\/li>\n<\/ul>\n\n\n\n<p>It felt like having a conversation with a younger version of myself &#8211; same passion, entirely new tools.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/reversi42-screen-1.png\" alt=\"reversi42 screenshot\" class=\"wp-image-2564\"\/><figcaption class=\"wp-element-caption\">New Reversi WebSocket UI<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How Cursor Changed the Game<\/strong><\/h3>\n\n\n\n<p>Cursor empowered me to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Perform deep structural refactoring<\/li>\n\n\n\n<li>Anticipate and analyze&nbsp;<strong>edge cases<\/strong>&nbsp;in move logic<\/li>\n\n\n\n<li>Compress the&nbsp;<strong>think-code-verify<\/strong>&nbsp;cycle<\/li>\n\n\n\n<li>Clarify architectures, patterns, and responsibilities<\/li>\n<\/ul>\n\n\n\n<p>It didn\u2019t write the code for me but it&nbsp;<strong>amplified<\/strong>&nbsp;my thinking, accelerating productivity to vertiginous levels. I spent nights coding without realizing time was passing.<\/p>\n\n\n\n<p>Working with Cursor introduced me to a new programming paradigm.<br>Yet such power demands discipline, with experience, you learn how to guide it instead of being guided by it.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/github.com\/lookee\/Reversi42\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" data-id=\"2509\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron.avif\" alt=\"\" class=\"wp-image-2509\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron.avif 1024w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-768x768.avif 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">New Apocalyptron AI Engine<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The New Reversi42<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modern Web UI<\/strong>&nbsp;&#8211; Browser-based interface with real-time WebSocket updates<\/li>\n\n\n\n<li><strong>Ultra-Fast Bitboard Engine<\/strong>&nbsp;&#8211; 50-100\u00d7 faster than standard implementations<\/li>\n\n\n\n<li><strong>AI Gladiators<\/strong>&nbsp;&#8211; Distinct opponents from beginner to champion, each with unique play styles and&nbsp;<em>Midjourney<\/em>-generated avatars<\/li>\n\n\n\n<li><strong>No-Code AI Creation<\/strong>&nbsp;&#8211; Configure AI players via YAML (zero programming!)<\/li>\n\n\n\n<li><strong>New AI Engine \u201cApocalyptron\u201d<\/strong>&nbsp;&#8211; Super-modular and high-performance<\/li>\n\n\n\n<li><strong>Opening Book System<\/strong>&nbsp;&#8211; Professional opening sequences<\/li>\n\n\n\n<li><strong>Tournament Mode<\/strong>&nbsp;&#8211; Run AI competitions and benchmarks<\/li>\n\n\n\n<li><strong>Highly Configurable<\/strong>&nbsp;&#8211; 200+ parameters per AI, 4 evaluation presets, parallel search<\/li>\n\n\n\n<li><strong>Extensive Testbook<\/strong>&nbsp;&#8211; ~220 tests on the AI engine and 410 across the rest of the codebase<\/li>\n<\/ul>\n\n\n\n<p>\u2026and much more.<br><\/p>\n\n\n\n<p><strong>Here are the available AI players:<\/strong><\/p>\n\n\n\n<table id=\"tablepress-6\" class=\"tablepress tablepress-id-6\">\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/divzero-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2514\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/divzero-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/divzero-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/divzero-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/divzero.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><br \/>\n<\/td><td class=\"column-2\"><strong>DIVZERO.EXE<\/strong><br \/>\nThe singularity has arrived<\/td><td class=\"column-3\">Ultimate AI entity with adaptive depth. Cold, calculating, and merciless &#8211; the embodiment of strategic perfection.<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_oracle-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2524\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_oracle-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_oracle-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_oracle-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_oracle.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>The Oracle<\/strong><br \/>\nProphetic vision activated<br \/>\n<\/td><td class=\"column-3\">Mystical seer specializing in endgame prophecy, seeing 14 moves ahead. Unstoppable in the endgame.<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fortress_eternal-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2521\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fortress_eternal-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fortress_eternal-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fortress_eternal-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/fortress_eternal.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Fortress Eternal<\/strong><br \/>\nThe fortress stands eternal<\/td><td class=\"column-3\">Impenetrable defensive master building walls of stability. The immovable object.<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_executioner-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2517\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_executioner-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_executioner-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_executioner-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_executioner.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>The Executioner<\/strong><br \/>\nJudgement has been passed<\/td><td class=\"column-3\"> Ruthless destroyer seeking tactical annihilation. Merciless aggression hunting for kill shots.<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_strangler-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2519\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_strangler-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_strangler-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_strangler-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/the_strangler.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>The Strangler<\/strong><br \/>\nFeel your options disappear <\/td><td class=\"column-3\">Mobility assassin suffocating opponents by eliminating their options. Creates zugzwang positions.<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/corner_reaper-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2512\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/corner_reaper-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/corner_reaper-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/corner_reaper-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/corner_reaper.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Corner Reaper<\/strong><br \/>\nThe corners belongs to me<br \/>\n<\/td><td class=\"column-3\">Obsessive corner specialist treating corners as sacred territory. Corners are permanence, and permanence is victory.<\/td>\n<\/tr>\n<tr class=\"row-7\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/lighting_strike-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2516\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/lighting_strike-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/lighting_strike-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/lighting_strike-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/lighting_strike.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Lightning Strike<\/strong><br \/>\nSpeed mode activated <\/td><td class=\"column-3\"> Blitz master valuing speed above all. Makes decisions in milliseconds. Sometimes the fastest move is the best move.<\/td>\n<\/tr>\n<tr class=\"row-8\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/glitch_lord-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2515\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/glitch_lord-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/glitch_lord-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/glitch_lord-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/glitch_lord.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Glitch Lord<\/strong><br \/>\nReality.exe has stopped working<\/td><td class=\"column-3\">Chaotic anomaly embracing unpredictability. Controlled randomness makes it impossible to predict.<\/td>\n<\/tr>\n<tr class=\"row-9\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/blitz_demon-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2520\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/blitz_demon-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/blitz_demon-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/blitz_demon-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/blitz_demon.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Blitz Demon<\/strong><br \/>\nBlink and yu&#8217;ll miss it<\/td><td class=\"column-3\">Speed incarnate, faster than thought. Moves in under 50 milliseconds. Being first is more important than being best.<\/td>\n<\/tr>\n<tr class=\"row-10\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/zen_master-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2518\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/zen_master-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/zen_master-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/zen_master-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/zen_master.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Zen Master<\/strong><br \/>\nFind balance in all things<\/td><td class=\"column-3\">Enlightened teacher embodying perfect balance. Patient and educational-seeks to teach, not destroy.<\/td>\n<\/tr>\n<tr class=\"row-11\">\n\t<td class=\"column-1\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-1-150x150.avif\" alt=\"\" width=\"150\" height=\"150\" class=\"alignnone size-thumbnail wp-image-2511\" srcset=\"https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-1-150x150.avif 150w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-1-300x300.avif 300w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-1-768x768.avif 768w, https:\/\/www.lucaamore.com\/wp-content\/uploads\/2025\/11\/apocalyptron-1.avif 1024w\" sizes=\"auto, (max-width: 150px) 100vw, 150px\" \/><\/td><td class=\"column-2\"><strong>Apocalyptron<\/strong><br \/>\nThe Apocalypse Engine<\/td><td class=\"column-3\">Ultimate configurable engine &#8211; a platform of infinite possibilities. True power comes from flexibility.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-6 from cache -->\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-center\">\ud83d\ude80\u00a0<strong>\ud83d\ude80<\/strong> <strong><a href=\"https:\/\/github.com\/lookee\/Reversi42\" data-type=\"link\" data-id=\"https:\/\/github.com\/lookee\/Reversi42\">VISIT THE DEDICATED REVERSI42 PAGE ON GITHUB<\/a><\/strong> \ud83d\ude80\u00a0<strong>\ud83d\ude80<\/strong><\/p>\n\n\n\n<p><strong>So long, and thanks for all the fish.<\/strong><br>The end of one cycle, the beginning of another.<br>For now, Reversi42 returns to rest &#8211; maybe just for a while.<br>Next time, it might awaken to play on a&nbsp;<strong>quantum computer<\/strong>, finding the perfect move beyond human reach.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The story of&nbsp;Reversi42&nbsp;began many years ago, in an age when the word&nbsp;\u201csmart working\u201d&nbsp;didn\u2019t even exist. Every morning, far more carefree than I am today, I would take the subway to work with a tiny 10-inch netbook. In that cramped space, &hellip; <a href=\"https:\/\/www.lucaamore.com\/?p=2503\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":2508,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"categories":[16,25,32,138,166,11,17,18,165],"tags":[223,224,75,230,225,226,232,68,222,231,129,144,227,65,229,87,228],"class_list":["post-2503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-algorithms","category-freesoftware","category-midjourney","category-programming","category-python","category-reversi","category-reversi42","category-top","tag-ai","tag-apocalyptron","tag-artificial-intelligence","tag-coding","tag-cursor","tag-developer","tag-devops","tag-free-software","tag-game","tag-github","tag-intelligenza-artificiale","tag-midjourney","tag-programming","tag-python","tag-refactoring","tag-reversi","tag-vim"],"_links":{"self":[{"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/posts\/2503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2503"}],"version-history":[{"count":17,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/posts\/2503\/revisions"}],"predecessor-version":[{"id":2675,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/posts\/2503\/revisions\/2675"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=\/wp\/v2\/media\/2508"}],"wp:attachment":[{"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucaamore.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}