{"id":441,"date":"2014-03-31T08:00:25","date_gmt":"2014-03-31T08:00:25","guid":{"rendered":"http:\/\/www.diogonunes.com\/blog\/?p=441"},"modified":"2020-05-15T14:24:43","modified_gmt":"2020-05-15T13:24:43","slug":"running-and-debugging-your-play-app","status":"publish","type":"post","link":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/","title":{"rendered":"Running and debugging your Play app"},"content":{"rendered":"<p><a href=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3-1024x386.png?resize=580%2C218\" alt=\"let&#039;s-play-3\" width=\"580\" height=\"218\" class=\"aligncenter size-large wp-image-1367\" srcset=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?resize=1024%2C386&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?resize=400%2C150&amp;ssl=1 400w, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?w=1143&amp;ssl=1 1143w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/a><\/p>\n<h2>Running locally<\/h2>\n<ul>\n<li><code>play run<\/code> will start the local (Netty) server and your app will be available at <a href=\"http:\/\/localhost:9000\">localhost:9000<\/a>.<\/li>\n<li><code>play ~run<\/code> will start the local server and reload it automatically every time you change a file of you app, that way you don&#8217;t need to hit refresh (F5) on your browser.<\/li>\n<li><strong>Useful tip:<\/strong> If you don\u2019t want to have to worry about <a href=\"http:\/\/www.playframework.com\/documentation\/2.2-SNAPSHOT\/Evolutions\">applying evolutions<\/a> each time you restart Play, add <code>applyEvolutions.your_database_name=true<\/code> to your application.conf file. For instance, considering the default database, you should add <code>applyEvolutions.default=true<\/code>.<\/li>\n<\/ul>\n<h2>Debugging using Eclipse<\/h2>\n<ol>\n<li>First you must start the Play! app in debug mode by executing the command <code>play debug run<\/code>.<\/li>\n<li>On Eclipse add your breakpoints as you would normally do.<\/li>\n<li>Then go to <code>Run &gt; Debug Configurations...<\/code> and double-click <code>Remote Java Application<\/code>. This will add a new configuration.<\/li>\n<li>On <code>Connect<\/code> tab, find <code>Connection properties<\/code> and change <code>Port<\/code> to <code>9999<\/code>.<\/li>\n<li>On <code>Common<\/code> tab, check <code>Debug<\/code> so that it later appears below the Debug icon. Click <code>Apply<\/code>. Click <code>Debug<\/code>.<\/li>\n<\/ol>\n<p>That&#8217;s it! <a href=\"http:\/\/www.youtube.com\/watch?v=1SCTOl0qrlM\">Check this video for a live explanation<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Running locally play run will start the local (Netty) server and your app will be available at localhost:9000. play ~run will start the local server and reload it automatically every time you change a file of you app, that way you don&#8217;t need to hit refresh (F5) on your browser. Useful tip: If you don\u2019t [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1367,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2],"tags":[29,8],"class_list":["post-441","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-coding","tag-play-framework"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Running and debugging your Play app - The Geeky Gecko<\/title>\n<meta name=\"description\" content=\"`play run` will start the local (Netty) server and your app will be available at localhost:9000.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Running and debugging your Play app - The Geeky Gecko\" \/>\n<meta property=\"og:description\" content=\"`play run` will start the local (Netty) server and your app will be available at localhost:9000.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\" \/>\n<meta property=\"og:site_name\" content=\"The Geeky Gecko\" \/>\n<meta property=\"article:published_time\" content=\"2014-03-31T08:00:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-05-15T13:24:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1143\" \/>\n\t<meta property=\"og:image:height\" content=\"431\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Diogo Nunes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:site\" content=\"@dialexnunes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diogo Nunes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\"},\"author\":{\"name\":\"Diogo Nunes\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"headline\":\"Running and debugging your Play app\",\"datePublished\":\"2014-03-31T08:00:25+00:00\",\"dateModified\":\"2020-05-15T13:24:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\"},\"wordCount\":155,\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1\",\"keywords\":[\"coding\",\"play framework\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\",\"name\":\"Running and debugging your Play app - The Geeky Gecko\",\"isPartOf\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1\",\"datePublished\":\"2014-03-31T08:00:25+00:00\",\"dateModified\":\"2020-05-15T13:24:43+00:00\",\"description\":\"`play run` will start the local (Netty) server and your app will be available at localhost:9000.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1\",\"width\":1143,\"height\":431},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.diogonunes.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Running and debugging your Play app\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#website\",\"url\":\"https:\/\/www.diogonunes.com\/blog\/\",\"name\":\"The Geeky Gecko\",\"description\":\"The Geeky Gecko\",\"publisher\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c\",\"name\":\"Diogo Nunes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1\",\"width\":799,\"height\":799,\"caption\":\"Diogo Nunes\"},\"logo\":{\"@id\":\"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/www.diogonunes.com\",\"https:\/\/x.com\/dialexnunes\"],\"url\":\"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Running and debugging your Play app - The Geeky Gecko","description":"`play run` will start the local (Netty) server and your app will be available at localhost:9000.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/","og_locale":"en_US","og_type":"article","og_title":"Running and debugging your Play app - The Geeky Gecko","og_description":"`play run` will start the local (Netty) server and your app will be available at localhost:9000.","og_url":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/","og_site_name":"The Geeky Gecko","article_published_time":"2014-03-31T08:00:25+00:00","article_modified_time":"2020-05-15T13:24:43+00:00","og_image":[{"width":1143,"height":431,"url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1","type":"image\/png"}],"author":"Diogo Nunes","twitter_card":"summary_large_image","twitter_creator":"@dialexnunes","twitter_site":"@dialexnunes","twitter_misc":{"Written by":"Diogo Nunes","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#article","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/"},"author":{"name":"Diogo Nunes","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"headline":"Running and debugging your Play app","datePublished":"2014-03-31T08:00:25+00:00","dateModified":"2020-05-15T13:24:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/"},"wordCount":155,"publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1","keywords":["coding","play framework"],"articleSection":["Technology"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/","url":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/","name":"Running and debugging your Play app - The Geeky Gecko","isPartOf":{"@id":"https:\/\/www.diogonunes.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage"},"image":{"@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1","datePublished":"2014-03-31T08:00:25+00:00","dateModified":"2020-05-15T13:24:43+00:00","description":"`play run` will start the local (Netty) server and your app will be available at localhost:9000.","breadcrumb":{"@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#primaryimage","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1","width":1143,"height":431},{"@type":"BreadcrumbList","@id":"https:\/\/www.diogonunes.com\/blog\/running-and-debugging-your-play-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.diogonunes.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Running and debugging your Play app"}]},{"@type":"WebSite","@id":"https:\/\/www.diogonunes.com\/blog\/#website","url":"https:\/\/www.diogonunes.com\/blog\/","name":"The Geeky Gecko","description":"The Geeky Gecko","publisher":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.diogonunes.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/a6fa79b293f22912664654fcfbd2da0c","name":"Diogo Nunes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2026\/04\/Geeky-Gecko-2026-v2.png?fit=799%2C799&ssl=1","width":799,"height":799,"caption":"Diogo Nunes"},"logo":{"@id":"https:\/\/www.diogonunes.com\/blog\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/www.diogonunes.com","https:\/\/x.com\/dialexnunes"],"url":"https:\/\/www.diogonunes.com\/blog\/author\/diogo-nunes\/"}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-3.png?fit=1143%2C431&ssl=1","jetpack-related-posts":[{"id":270,"url":"https:\/\/www.diogonunes.com\/blog\/creating-your-first-play-app-versions-2-1\/","url_meta":{"origin":441,"position":0},"title":"Creating your first Play 2.1 app","author":"Diogo Nunes","date":"17 March, 2014","format":false,"excerpt":"Follow the official install instructions (these steps will only work for 2.1.* versions of the Play Framework). Afterwards: play new myFirstApp creates a new app, in the current directory, inside a new folder called myFirstApp Now try to run it. First go inside that folder (cd myFirstApp), and run it\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-4.png?fit=1143%2C431&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-4.png?fit=1143%2C431&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-4.png?fit=1143%2C431&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-4.png?fit=1143%2C431&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-4.png?fit=1143%2C431&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":442,"url":"https:\/\/www.diogonunes.com\/blog\/upgrading-your-play-app-to-a-newer-version\/","url_meta":{"origin":441,"position":1},"title":"Upgrading your Play app to a newer version","author":"Diogo Nunes","date":"31 March, 2014","format":false,"excerpt":"Let's assume you have an existing app using Play! 2.1.A and a 2.1.B version was released. You want to update your environment to use that new release. Note: This tutorial was tested to be working with 2.1.* versions; A and B are two arbitrary numbers. Updating environment Like when installing\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-2.png?fit=1143%2C431&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-2.png?fit=1143%2C431&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-2.png?fit=1143%2C431&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-2.png?fit=1143%2C431&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/03\/lets-play-2.png?fit=1143%2C431&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":2444,"url":"https:\/\/www.diogonunes.com\/blog\/install-config-gmod-guide\/","url_meta":{"origin":441,"position":2},"title":"Download Garry&#8217;s Mod and configure it (complete guide)","author":"Diogo Nunes","date":"25 December, 2015","format":false,"excerpt":"Garry's Mod (commonly abbreviated as gmod), is a sandbox physics game created by Garry Newman. It was originally a mod for Valve's Half-Life 2, but was later made into a standalone release in 2006. Currently it's a fun game to play with friends :) \ud83d\uded1\u26a0\ufe0f EDIT: This guide was written\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"gmod","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2015\/12\/bb622eefffd0fb307531c75da7dc1768.jpg?fit=800%2C450&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2015\/12\/bb622eefffd0fb307531c75da7dc1768.jpg?fit=800%2C450&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2015\/12\/bb622eefffd0fb307531c75da7dc1768.jpg?fit=800%2C450&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2015\/12\/bb622eefffd0fb307531c75da7dc1768.jpg?fit=800%2C450&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":671,"url":"https:\/\/www.diogonunes.com\/blog\/rails-vs-django-vs-play-frameworks\/","url_meta":{"origin":441,"position":3},"title":"Rails vs Django vs Play: Battle of frameworks","author":"Diogo Nunes","date":"26 May, 2014","format":false,"excerpt":"This post is a review of those three frameworks considering four criteria: Ease of learning, Speed of development, Tools\/Plugins, and Community. Right from the start I banished PHP from my possible choices. I know that \"sufficiently talented coders can write great applications in terrible languages\" (Jeff Atwood), but I just\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/09\/rails-vs-django-vs-play.jpg?fit=946%2C550&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/09\/rails-vs-django-vs-play.jpg?fit=946%2C550&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/09\/rails-vs-django-vs-play.jpg?fit=946%2C550&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2014\/09\/rails-vs-django-vs-play.jpg?fit=946%2C550&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":4698,"url":"https:\/\/www.diogonunes.com\/blog\/framework-review-maestro\/","url_meta":{"origin":441,"position":4},"title":"Framework review: Maestro","author":"Diogo Nunes","date":"15 May, 2023","format":false,"excerpt":"\ud83c\udfc6 This post was featured in Software Testing Weekly #169 A friend (Hugo) told me about this new mobile test automation framework called Maestro. At the time, my team was using Appium to test a React Native app, that ran on iOS and Android. I was not 100% happy with\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/04\/ConductorEimearNoonepoisedtomakehistoryatthe2020Oscars.jpg?fit=1000%2C563&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/04\/ConductorEimearNoonepoisedtomakehistoryatthe2020Oscars.jpg?fit=1000%2C563&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/04\/ConductorEimearNoonepoisedtomakehistoryatthe2020Oscars.jpg?fit=1000%2C563&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2023\/04\/ConductorEimearNoonepoisedtomakehistoryatthe2020Oscars.jpg?fit=1000%2C563&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":2857,"url":"https:\/\/www.diogonunes.com\/blog\/publish-maven-central-troubleshoot\/","url_meta":{"origin":441,"position":5},"title":"Publishing to Maven central (troubleshoot included)","author":"Diogo Nunes","date":"21 November, 2016","format":false,"excerpt":"It's a treacherous path. Bring food and a sword. I tried to follow the official OSSRH guide but I had so many issues... I hope this \"guide of the guide\" saves you time and frustration. First things first Create a JIRA account on Sonatype's environment. Create a ticket for the\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/www.diogonunes.com\/blog\/category\/tech\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2017\/11\/KgcUeAo.png?fit=597%2C402&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2017\/11\/KgcUeAo.png?fit=597%2C402&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.diogonunes.com\/blog\/wp-content\/uploads\/2017\/11\/KgcUeAo.png?fit=597%2C402&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/441","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/comments?post=441"}],"version-history":[{"count":1,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/441\/revisions"}],"predecessor-version":[{"id":3842,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/posts\/441\/revisions\/3842"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media\/1367"}],"wp:attachment":[{"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/media?parent=441"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/categories?post=441"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.diogonunes.com\/blog\/wp-json\/wp\/v2\/tags?post=441"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}