{"id":878,"date":"2015-05-15T13:56:24","date_gmt":"2015-05-15T13:56:24","guid":{"rendered":"https:\/\/wade.one\/blog\/?p=878"},"modified":"2015-05-15T13:56:24","modified_gmt":"2015-05-15T13:56:24","slug":"heterogeneous-parallel-programming-completed-and-certified","status":"publish","type":"post","link":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","title":{"rendered":"Heterogeneous Parallel Programming &#8211; Completed and Certified!"},"content":{"rendered":"<p>I just got my certificate through from Coursera for completing the\u00a0Heterogeneous Parallel Programming by University of Illinois at Urbana-Champaign on Coursera and I&#8217;m very happy! It was a fun (and free) course that covered primarily CUDA programming but towards the end went on to OpenCL. Fun course to do and really helped me rethink parallel computing. The principles taught\u00a0in the course can be applied quite easily to multithreaded programming.<\/p>\n<p><a href=\"https:\/\/www.coursera.org\/verify\/96NJABT2DP\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-879 size-large\" src=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate-1024x789.png\" alt=\"certificate\" width=\"800\" height=\"616\" srcset=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate-1024x789.png 1024w, https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate-300x231.png 300w, https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate-195x150.png 195w, https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate-150x116.png 150w, https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png 1040w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>This was one of the things that started me down the route of my libraries on <a href=\"https:\/\/github.com\/xcitestudios\" target=\"_blank\">GitHub &#8211; parallelisation, logging, etc<\/a>. It&#8217;s a course I would recommend to anyone interested in scalable programming<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just got my certificate through from Coursera for completing the\u00a0Heterogeneous Parallel Programming by University of Illinois at Urbana-Champaign on Coursera and I&#8217;m very happy! It was a fun (and free) course that covered primarily CUDA programming but towards the end went on to OpenCL. Fun course to do and really helped me rethink parallel &#8230; <a href=\"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/\" class=\"more-link\">Read More<span class=\"screen-reader-text\"> &#8220;Heterogeneous Parallel Programming &#8211; Completed and Certified!&#8221;<\/span> &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":879,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,13],"tags":[],"class_list":["post-878","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ego-centric","category-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Heterogeneous Parallel Programming - Completed and Certified! - wade.one<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Heterogeneous Parallel Programming - Completed and Certified! - wade.one\" \/>\n<meta property=\"og:description\" content=\"I just got my certificate through from Coursera for completing the\u00a0Heterogeneous Parallel Programming by University of Illinois at Urbana-Champaign on Coursera and I&#8217;m very happy! It was a fun (and free) course that covered primarily CUDA programming but towards the end went on to OpenCL. Fun course to do and really helped me rethink parallel ... Read More &quot;Heterogeneous Parallel Programming &#8211; Completed and Certified!&quot; &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/\" \/>\n<meta property=\"og:site_name\" content=\"wade.one\" \/>\n<meta property=\"article:published_time\" content=\"2015-05-15T13:56:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1040\" \/>\n\t<meta property=\"og:image:height\" content=\"801\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Wade\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:site\" content=\"@wadewomersley\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wade\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated 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:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/\"},\"author\":{\"name\":\"Wade\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\"},\"headline\":\"Heterogeneous Parallel Programming &#8211; Completed and Certified!\",\"datePublished\":\"2015-05-15T13:56:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/\"},\"wordCount\":114,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/certificate.png\",\"articleSection\":[\"Ego-centric\",\"Programming\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/\",\"name\":\"Heterogeneous Parallel Programming - Completed and Certified! - wade.one\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/certificate.png\",\"datePublished\":\"2015-05-15T13:56:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/certificate.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/certificate.png\",\"width\":1040,\"height\":801},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/2015\\\/05\\\/15\\\/heterogeneous-parallel-programming-completed-and-certified\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wade.one\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Heterogeneous Parallel Programming &#8211; Completed and Certified!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/\",\"name\":\"wade.one\",\"description\":\"wade womersley - york based software engineer\",\"publisher\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wade.one\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/8b4739f8f8bb2cff5d792d4b8779fcc3\",\"name\":\"Wade Womersley\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"contentUrl\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\",\"width\":202,\"height\":200,\"caption\":\"Wade Womersley\"},\"logo\":{\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/02\\\/200px.png\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wade.one\\\/blog\\\/#\\\/schema\\\/person\\\/f9dedd948575256e77a44aa1417f63de\",\"name\":\"Wade\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg\",\"caption\":\"Wade\"},\"url\":\"https:\\\/\\\/wade.one\\\/blog\\\/author\\\/wade\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Heterogeneous Parallel Programming - Completed and Certified! - wade.one","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:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","og_locale":"en_GB","og_type":"article","og_title":"Heterogeneous Parallel Programming - Completed and Certified! - wade.one","og_description":"I just got my certificate through from Coursera for completing the\u00a0Heterogeneous Parallel Programming by University of Illinois at Urbana-Champaign on Coursera and I&#8217;m very happy! It was a fun (and free) course that covered primarily CUDA programming but towards the end went on to OpenCL. Fun course to do and really helped me rethink parallel ... Read More \"Heterogeneous Parallel Programming &#8211; Completed and Certified!\" &raquo;","og_url":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","og_site_name":"wade.one","article_published_time":"2015-05-15T13:56:24+00:00","og_image":[{"width":1040,"height":801,"url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png","type":"image\/png"}],"author":"Wade","twitter_card":"summary_large_image","twitter_creator":"@wadewomersley","twitter_site":"@wadewomersley","twitter_misc":{"Written by":"Wade","Estimated reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#article","isPartOf":{"@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/"},"author":{"name":"Wade","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de"},"headline":"Heterogeneous Parallel Programming &#8211; Completed and Certified!","datePublished":"2015-05-15T13:56:24+00:00","mainEntityOfPage":{"@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/"},"wordCount":114,"commentCount":0,"publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"image":{"@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png","articleSection":["Ego-centric","Programming"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","url":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/","name":"Heterogeneous Parallel Programming - Completed and Certified! - wade.one","isPartOf":{"@id":"https:\/\/wade.one\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#primaryimage"},"image":{"@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#primaryimage"},"thumbnailUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png","datePublished":"2015-05-15T13:56:24+00:00","breadcrumb":{"@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#primaryimage","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png","width":1040,"height":801},{"@type":"BreadcrumbList","@id":"https:\/\/wade.one\/blog\/2015\/05\/15\/heterogeneous-parallel-programming-completed-and-certified\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wade.one\/blog\/"},{"@type":"ListItem","position":2,"name":"Heterogeneous Parallel Programming &#8211; Completed and Certified!"}]},{"@type":"WebSite","@id":"https:\/\/wade.one\/blog\/#website","url":"https:\/\/wade.one\/blog\/","name":"wade.one","description":"wade womersley - york based software engineer","publisher":{"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wade.one\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/8b4739f8f8bb2cff5d792d4b8779fcc3","name":"Wade Womersley","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","contentUrl":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png","width":202,"height":200,"caption":"Wade Womersley"},"logo":{"@id":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/02\/200px.png"}},{"@type":"Person","@id":"https:\/\/wade.one\/blog\/#\/schema\/person\/f9dedd948575256e77a44aa1417f63de","name":"Wade","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/94100ef7361b8aaac136b852c8df93bdd10942165a122d5c56e4466cc403e5d9?s=96&d=retro&r=pg","caption":"Wade"},"url":"https:\/\/wade.one\/blog\/author\/wade\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/wade.one\/blog\/wp-content\/uploads\/2015\/05\/certificate.png","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":151,"url":"https:\/\/wade.one\/blog\/2009\/09\/29\/peerblock-1-0-released-now-with-signed-driver\/","url_meta":{"origin":878,"position":0},"title":"PeerBlock 1.0 Released &#8211; Now with signed driver","author":"Wade","date":"September 29, 2009","format":false,"excerpt":"PeerBlock was a \"spin off\" from PeerGuardian, a program that completely blocks access to certain IP addresses at the network level making it completely impossible to connect to them (or from people on those IP addresses to connect to you.) The reason I love this program so much is it\u2026","rel":"","context":"In &quot;News&quot;","block_context":{"text":"News","link":"https:\/\/wade.one\/blog\/category\/news\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":276,"url":"https:\/\/wade.one\/blog\/2009\/11\/07\/epic-games-releases-unreal-development-toolkit-for-free\/","url_meta":{"origin":878,"position":1},"title":"Epic Games releases Unreal Development Toolkit for FREE","author":"Wade","date":"November 7, 2009","format":false,"excerpt":"Yes, you heard it right, the game engine that usually costs to license is now totally free for anyone to use (without any payments at all for non-commercial use). If you decide to make a game and release it, they'll let you earn $5,000 dollars gratis, after that they want\u2026","rel":"","context":"In &quot;Gaming&quot;","block_context":{"text":"Gaming","link":"https:\/\/wade.one\/blog\/category\/gaming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":240,"url":"https:\/\/wade.one\/blog\/2009\/10\/22\/link-checker-free-tool-launched-on-site\/","url_meta":{"origin":878,"position":2},"title":"Link Checker &#8211; Free Tool Launched on Site","author":"Wade","date":"October 22, 2009","format":false,"excerpt":"I've just finished writing version one of my link checker tool and have now launched it on my site. The tool will parse a given\u00a0 URL, extract all links on that page that point to the same domain and follow them, and keep doing that until it's finished. It will\u2026","rel":"","context":"In &quot;News&quot;","block_context":{"text":"News","link":"https:\/\/wade.one\/blog\/category\/news\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":31,"url":"https:\/\/wade.one\/blog\/2009\/09\/02\/another-day-another-group-of-php-funness\/","url_meta":{"origin":878,"position":3},"title":"Another day, another group of PHP &#8220;funness&#8221;","author":"Wade","date":"September 2, 2009","format":false,"excerpt":"PHP and Serializing...don't try and store the result in a plain text file, there's just a chance you may end up storing NUL so when you go to read a line, you'll end up only reading part of it (the serialized object had a stack trace in it from an\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":264,"url":"https:\/\/wade.one\/blog\/2009\/10\/28\/adobe-browser-labs-better-than-microsoft-expression\/","url_meta":{"origin":878,"position":4},"title":"Adobe Browser Labs &#8211; Better than Microsoft Expression","author":"Wade","date":"October 28, 2009","format":false,"excerpt":"I've been stumbling around for new stuff to use in the world of webmastery this morning and stumbled across this rather useful tool. A few weeks ago I attended PHPNW along with some guys from work, one of the talks at the end of the day was by a Microsoft\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":21,"url":"https:\/\/wade.one\/blog\/2009\/09\/01\/php-fundamentals\/","url_meta":{"origin":878,"position":5},"title":"PHP FUNdamentals","author":"Wade","date":"September 1, 2009","format":false,"excerpt":"The title isn't really correct as, well, they're not fundamentals...however they're not fun so that was my best effort to get sarcasm into the title. I love programming in PHP, and I must admit, I do enjoy finding solutions to problems that most people would probably tear their hair out\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/wade.one\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/comments?post=878"}],"version-history":[{"count":1,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/878\/revisions"}],"predecessor-version":[{"id":880,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/posts\/878\/revisions\/880"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media\/879"}],"wp:attachment":[{"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/media?parent=878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/categories?post=878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wade.one\/blog\/wp-json\/wp\/v2\/tags?post=878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}