{"id":2431,"date":"2026-04-02T17:19:37","date_gmt":"2026-04-02T17:19:37","guid":{"rendered":"https:\/\/www.danielpradilla.info\/blog\/?p=2431"},"modified":"2026-04-02T17:19:43","modified_gmt":"2026-04-02T17:19:43","slug":"mambo-rescue","status":"publish","type":"post","link":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/","title":{"rendered":"mambo-rescue"},"content":{"rendered":"<p><strong>Rescuing an old website without turning it into a life project<\/strong><\/p>\n<p>A few days ago, I finally got around to something I\u2019d been putting off since about 2012: cleaning up a mess on one of my old websites. One part is still plain HTML. Another runs on WordPress. And in the middle, for a few years, it ran on Mambo CMS, which means one layer of the site is frozen in a very specific moment of the PHP internet.<\/p>\n<p>That middle layer was the reason I didn\u2019t want to touch this site.<\/p>\n<p>The obvious option was to do the boring thing: migrate everything to WordPress, unify the stack, review extensions, clean up the database assumptions, and come out the other side with something respectable by 2026 standards.<\/p>\n<p>But I knew that was exactly how a two-hour project turns into a two-week one, with regressions all over the place. And for a site like this, with not that many visitors, the payoff just wasn\u2019t there. That kind of purity can become its own form of vandalism.<\/p>\n<p>I wanted something simpler: make the old HTML site findable by Google, get that Mambo slice running on PHP 8, make sure those three layers didn\u2019t step on each other, and not break any permalinks.<\/p>\n<p>I finally tackled this in 2026 thanks to my new AI superpowers.<\/p>\n<p>I asked Codex to assess and fix the SEO issues in the legacy HTML part of the site. It took about 30 minutes. I\u2019m pretty sure it would have taken dozens of hours to do by hand.<\/p>\n<p>Mambo CMS was abandoned three or four PHP versions ago, maybe more, who knows. None of that part of the site worked. Not a single screen would load.<\/p>\n<p>For the Mambo side, I could have tried to migrate the whole codebase to PHP 8. But that would have turned into a full migration of a messy old system, and I was almost certain I\u2019d break working behavior just by touching the code.<\/p>\n<p>So I went with a modest workaround. Instead of trying to modernize Mambo itself, I built a compatibility layer around the specific things that were breaking. Most of what broke brought back old memories of how ugly PHP used to be: <code>mysql_*<\/code>, <code>ereg*<\/code>, <code>split()<\/code>, <code>each()<\/code>, and the old magic quotes helpers.<\/p>\n<p>The solution came down to three parts:<\/p>\n<ol>\n<li>A PHP 8 shim that restores a subset of legacy functions, mapping <code>mysql_*<\/code> calls to <code>mysqli_*<\/code> and the regex pieces to <code>preg_*<\/code>.<\/li>\n<li>A bootstrap include loaded early in the Mambo entry point, before the rest of the code gets a chance to explode.<\/li>\n<li>A tiny installer so the process can be repeated without manually patching files every time.<\/li>\n<\/ol>\n<p>The important thing was to be clear about what this is <em>not<\/em>. It is not a migration, it does not make Mambo modern, doesn&#x27;t solve every problem inside old plugins or third-party code, doesn&#x27;t redeem years of technical debt. It just gives a dead Mambo installation enough support to serve content under PHP 8.<\/p>\n<p>In the end, I spun that work off into a small open source project because this feels like a recurring problem, not a one-off. Somewhere out there, maybe someone else is looking for a way not to rebuild the whole house, just to get the windows to open again.<\/p>\n<p>The code is here: <a href=\"https:\/\/github.com\/danielpradilla\/mambo-rescue\">danielpradilla\/mambo-rescue<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rescuing an old website without turning it into a life project A few days ago, I finally got around to something I\u2019d been putting off since about 2012: cleaning up a mess on one of my old websites. One part is still plain HTML. Another runs on WordPress. And in the middle, for a few&hellip; <a class=\"more-link\" href=\"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/\">Continue reading <span class=\"screen-reader-text\">mambo-rescue<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":2432,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[331],"tags":[],"class_list":["post-2431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","entry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Daniel Pradilla\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Daniel Pradilla | getting the most out of technology\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"mambo-rescue | Daniel Pradilla\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-04-02T17:19:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-04-02T17:19:43+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"mambo-rescue | Daniel Pradilla\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#article\",\"name\":\"mambo-rescue | Daniel Pradilla\",\"headline\":\"mambo-rescue\",\"author\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/author\\\/danielpradilla\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/mambo-rescue.jpg\",\"width\":1000,\"height\":666},\"datePublished\":\"2026-04-02T17:19:37+00:00\",\"dateModified\":\"2026-04-02T17:19:43+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#webpage\"},\"articleSection\":\"Software\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/category\\\/software\\\/#listItem\",\"name\":\"Software\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/category\\\/software\\\/#listItem\",\"position\":2,\"name\":\"Software\",\"item\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/category\\\/software\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#listItem\",\"name\":\"mambo-rescue\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#listItem\",\"position\":3,\"name\":\"mambo-rescue\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/category\\\/software\\\/#listItem\",\"name\":\"Software\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#organization\",\"name\":\"Daniel Pradilla\",\"description\":\"getting the most out of technology\",\"url\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/author\\\/danielpradilla\\\/#author\",\"url\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/author\\\/danielpradilla\\\/\",\"name\":\"Daniel Pradilla\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b91ffbe374d7c4bc65533da1aa8f8d3d2526f49ce25c0ea54bc8bd0519fedc43?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Daniel Pradilla\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#webpage\",\"url\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/\",\"name\":\"mambo-rescue | Daniel Pradilla\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/author\\\/danielpradilla\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/author\\\/danielpradilla\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/mambo-rescue.jpg\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#mainImage\",\"width\":1000,\"height\":666},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/mambo-rescue\\\/#mainImage\"},\"datePublished\":\"2026-04-02T17:19:37+00:00\",\"dateModified\":\"2026-04-02T17:19:43+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/\",\"name\":\"Daniel Pradilla\",\"description\":\"getting the most out of technology\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.danielpradilla.info\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"mambo-rescue | Daniel Pradilla","description":"","canonical_url":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#article","name":"mambo-rescue | Daniel Pradilla","headline":"mambo-rescue","author":{"@id":"https:\/\/www.danielpradilla.info\/blog\/author\/danielpradilla\/#author"},"publisher":{"@id":"https:\/\/www.danielpradilla.info\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2026\/04\/mambo-rescue.jpg","width":1000,"height":666},"datePublished":"2026-04-02T17:19:37+00:00","dateModified":"2026-04-02T17:19:43+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#webpage"},"isPartOf":{"@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#webpage"},"articleSection":"Software"},{"@type":"BreadcrumbList","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/#listItem","position":1,"name":"Home","item":"https:\/\/www.danielpradilla.info\/blog\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/category\/software\/#listItem","name":"Software"}},{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/category\/software\/#listItem","position":2,"name":"Software","item":"https:\/\/www.danielpradilla.info\/blog\/category\/software\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#listItem","name":"mambo-rescue"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#listItem","position":3,"name":"mambo-rescue","previousItem":{"@type":"ListItem","@id":"https:\/\/www.danielpradilla.info\/blog\/category\/software\/#listItem","name":"Software"}}]},{"@type":"Organization","@id":"https:\/\/www.danielpradilla.info\/blog\/#organization","name":"Daniel Pradilla","description":"getting the most out of technology","url":"https:\/\/www.danielpradilla.info\/blog\/"},{"@type":"Person","@id":"https:\/\/www.danielpradilla.info\/blog\/author\/danielpradilla\/#author","url":"https:\/\/www.danielpradilla.info\/blog\/author\/danielpradilla\/","name":"Daniel Pradilla","image":{"@type":"ImageObject","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/b91ffbe374d7c4bc65533da1aa8f8d3d2526f49ce25c0ea54bc8bd0519fedc43?s=96&d=mm&r=g","width":96,"height":96,"caption":"Daniel Pradilla"}},{"@type":"WebPage","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#webpage","url":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/","name":"mambo-rescue | Daniel Pradilla","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.danielpradilla.info\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#breadcrumblist"},"author":{"@id":"https:\/\/www.danielpradilla.info\/blog\/author\/danielpradilla\/#author"},"creator":{"@id":"https:\/\/www.danielpradilla.info\/blog\/author\/danielpradilla\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2026\/04\/mambo-rescue.jpg","@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#mainImage","width":1000,"height":666},"primaryImageOfPage":{"@id":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/#mainImage"},"datePublished":"2026-04-02T17:19:37+00:00","dateModified":"2026-04-02T17:19:43+00:00"},{"@type":"WebSite","@id":"https:\/\/www.danielpradilla.info\/blog\/#website","url":"https:\/\/www.danielpradilla.info\/blog\/","name":"Daniel Pradilla","description":"getting the most out of technology","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.danielpradilla.info\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Daniel Pradilla | getting the most out of technology","og:type":"article","og:title":"mambo-rescue | Daniel Pradilla","og:url":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/","article:published_time":"2026-04-02T17:19:37+00:00","article:modified_time":"2026-04-02T17:19:43+00:00","twitter:card":"summary","twitter:title":"mambo-rescue | Daniel Pradilla"},"aioseo_meta_data":{"post_id":"2431","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-04-02 17:05:59","updated":"2026-08-25 14:28:57","seo_analyzer_scan_date":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.danielpradilla.info\/blog\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.danielpradilla.info\/blog\/category\/software\/\" title=\"Software\">Software<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tmambo-rescue\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.danielpradilla.info\/blog\/"},{"label":"Software","link":"https:\/\/www.danielpradilla.info\/blog\/category\/software\/"},{"label":"mambo-rescue","link":"https:\/\/www.danielpradilla.info\/blog\/mambo-rescue\/"}],"jetpack_shortlink":"https:\/\/wp.me\/p1tlzy-Dd","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2306,"url":"https:\/\/www.danielpradilla.info\/blog\/classifying-convolutional-neural-network-keras\/","url_meta":{"origin":2431,"position":0},"title":"Classifying fruits with a Convolutional Neural Network in Keras","author":"Daniel Pradilla","date":"19\/02\/2019","format":false,"excerpt":"I followed a tutorial on Convolutional Neural Networks that left many questions unanswered. Soon I realized that the actual process of architecting a Neural Network and setting the parameters seemed to be much more experimental than I thought. It took a while to find explanations that a rookie like me\u2026","rel":"","context":"In &quot;Best of&quot;","block_context":{"text":"Best of","link":"https:\/\/www.danielpradilla.info\/blog\/category\/bestof\/"},"img":{"alt_text":"Photo by William Felker on Unsplash","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2019\/02\/william-felker-38344-unsplash.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2019\/02\/william-felker-38344-unsplash.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2019\/02\/william-felker-38344-unsplash.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2019\/02\/william-felker-38344-unsplash.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2444,"url":"https:\/\/www.danielpradilla.info\/blog\/chtonian-nature\/","url_meta":{"origin":2431,"position":1},"title":"Chtonian Nature","author":"Daniel Pradilla","date":"30\/08\/2026","format":false,"excerpt":"I was listening to a podcast when, in a brief comment about the tension between the sacred and the profane, one of the hosts dropped this quote: \u201cThe daemonism of chthonian nature is the West\u2019s dirty secret.\u201d Powerfully succinct, beautiful sentence. That\u2019s by the (very) controversial Camille Paglia in her\u2026","rel":"","context":"In &quot;Lifestyle&quot;","block_context":{"text":"Lifestyle","link":"https:\/\/www.danielpradilla.info\/blog\/category\/lifestyle\/"},"img":{"alt_text":"Zwerveling, by Peter Van den Ende","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2026\/08\/zwerveling_9.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2026\/08\/zwerveling_9.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2026\/08\/zwerveling_9.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2055,"url":"https:\/\/www.danielpradilla.info\/blog\/touching-base\/","url_meta":{"origin":2431,"position":2},"title":"Who touched base in my thought shower? | Steven Poole","author":"Daniel Pradilla","date":"06\/01\/2014","format":false,"excerpt":"Who touched base in my thought shower is a book by Steven Poole (who writes the on Reading it, I was often reminded of the\u00a0Bill Lumbergh character in Office Space: http:\/\/www.youtube.com\/watch?v=_uHBFiAnpZs Only after working in very politicized organizations, I realized that there were people who constantly spoke like that. All\u2026","rel":"","context":"In &quot;Lifestyle&quot;","block_context":{"text":"Lifestyle","link":"https:\/\/www.danielpradilla.info\/blog\/category\/lifestyle\/"},"img":{"alt_text":"Who touched base in my thought shower","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2014\/01\/81yE3m1VcCL._SL1500_.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1939,"url":"https:\/\/www.danielpradilla.info\/blog\/drawing-the-world-by-hand\/","url_meta":{"origin":2431,"position":3},"title":"Drawing the world by hand","author":"Daniel Pradilla","date":"02\/04\/2013","format":false,"excerpt":"At Lucerne's Gletschergarten,\u00a0among old maps, models and reliefs of the Swiss Alps, we'll find an expo from Ueli L\u00e4uppi, a local cartographer that makes hand drawings and colorings of maps using a particular projection that highlights a thorough representation of the mountains. Moreover, L\u00e4uppi has moved his studio to the\u2026","rel":"","context":"In &quot;Best of&quot;","block_context":{"text":"Best of","link":"https:\/\/www.danielpradilla.info\/blog\/category\/bestof\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2012\/11\/pluviosidad.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2012\/11\/pluviosidad.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2012\/11\/pluviosidad.jpg?resize=525%2C300 1.5x"},"classes":[]},{"id":2242,"url":"https:\/\/www.danielpradilla.info\/blog\/getting-ip-location-information-with-angular-7\/","url_meta":{"origin":2431,"position":4},"title":"Getting IP location information with Angular 7","author":"Daniel Pradilla","date":"01\/11\/2018","format":false,"excerpt":"Using Angular Maps Components and a new service called ipapi, you will be able to quickly put together something that will allow you to get IP information from a client and put it on a map. Angular Maps Components is really great, and the setup with ipapi is a no-brainer\u2026","rel":"","context":"In &quot;Software&quot;","block_context":{"text":"Software","link":"https:\/\/www.danielpradilla.info\/blog\/category\/software\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":2012,"url":"https:\/\/www.danielpradilla.info\/blog\/free-mongodb-training\/","url_meta":{"origin":2431,"position":5},"title":"How I fell in love with MongoDB","author":"Daniel Pradilla","date":"01\/10\/2013","format":false,"excerpt":"I just finished the developer and DBA tracks of the two online MongoDB on-line trainings. The courses are excellent, providing all you need to know to start working as a developer or DBA with MongoDB. And, uh... they're free! I have taken several online courses and seen a lot of\u2026","rel":"","context":"In &quot;Management&quot;","block_context":{"text":"Management","link":"https:\/\/www.danielpradilla.info\/blog\/category\/management\/"},"img":{"alt_text":"mongo-db-logo","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/10\/mongo-db-logo.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/10\/mongo-db-logo.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/10\/mongo-db-logo.png?resize=525%2C300 1.5x"},"classes":[]}],"jetpack_featured_media_url":"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2026\/04\/mambo-rescue.jpg","_links":{"self":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/posts\/2431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/comments?post=2431"}],"version-history":[{"count":0,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/posts\/2431\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/media\/2432"}],"wp:attachment":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/media?parent=2431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/categories?post=2431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/tags?post=2431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}