56,966 blogs · [ { "id": "01a08c55-2b57-716a-afc8-2bd08fb99699", "title": "Refactoring a Node.js codebase using Async/Await", "url": "https://thomashunter.name/posts/2017-09-03-refactoring-a-nodejs-codebase-using-async-await", "published_at": "2017-09-03T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0901abaa4", "title": "Random Meetup Attendee Bookmarklet", "url": "https://thomashunter.name/posts/2017-08-16-random-meetup-attendee-bookmarklet", "published_at": "2017-08-16T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0904e508b", "title": "2017: A Central Europe Odyssey", "url": "https://thomashunter.name/posts/2017-07-17-2017-a-central-europe-odyssey", "published_at": "2017-07-17T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd090ecd5d7", "title": "Redis and Node Part 4: Lua Scripting", "url": "https://thomashunter.name/posts/2017-07-14-redis-and-node-part-4-lua-scripting", "published_at": "2017-07-14T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd091d335fa", "title": "Redis and Node Part 3: Atomicity with MULTI", "url": "https://thomashunter.name/posts/2017-07-13-redis-and-node-part-3-atomicity-with-multi", "published_at": "2017-07-13T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd092cceec3", "title": "Redis and Node Part 2: Shared State", "url": "https://thomashunter.name/posts/2017-07-12-redis-and-node-part-2-shared-state", "published_at": "2017-07-12T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd092e82cda", "title": "Redis and Node Part 1: The Basics", "url": "https://thomashunter.name/posts/2017-07-11-redis-and-node-part-1-the-basics", "published_at": "2017-07-11T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd092e839d3", "title": "Digital Nomad: Inventory Advice", "url": "https://thomashunter.name/posts/2017-07-06-digital-nomad-inventory-advice", "published_at": "2017-07-06T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd093025a4d", "title": "HTTP API Design Part 4: API Standards", "url": "https://thomashunter.name/posts/2017-06-27-http-api-design-part-4-api-standards", "published_at": "2017-06-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd093815bd8", "title": "HTTP API Design Part 3: Bodies", "url": "https://thomashunter.name/posts/2017-06-26-http-api-design-part-3-bodies", "published_at": "2017-06-26T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd093885edf", "title": "HTTP API Design Part 2: Responses", "url": "https://thomashunter.name/posts/2017-06-24-http-api-design-part-2-responses", "published_at": "2017-06-24T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0946ecc59", "title": "HTTP API Design Part 1: Requests", "url": "https://thomashunter.name/posts/2017-06-23-http-api-design-part-1-requests", "published_at": "2017-06-23T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd094dcc3e4", "title": "Advanced Microservices", "url": "https://thomashunter.name/posts/2017-06-19-advanced-microservices", "published_at": "2017-06-19T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd095beba95", "title": "Node.js, Redis, and You! at RedisConf17", "url": "https://thomashunter.name/posts/2017-05-31-node-redis-and-you-redisconf17", "published_at": "2017-05-31T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09630c8a2", "title": "Linux Mint Disable \"Recently Used\"", "url": "https://thomashunter.name/posts/2017-04-14-linux-mint-disable-recently-used", "published_at": "2017-04-14T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd096546fe5", "title": "Ubuntu 16.04 LTS Xen stuck on \"Loading Initial Ramdisk\"", "url": "https://thomashunter.name/posts/2017-04-05-ubuntu-16-04-lts-xen-stuck-on-loading-initial-ramdisk", "published_at": "2017-04-05T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd096e01de7", "title": "Service Discovery With Node.js and Consul at SF Node", "url": "https://thomashunter.name/posts/2017-03-02-service-discovery-nodejs-consul", "published_at": "2017-03-02T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0975a6819", "title": "Online Colorscheme Configurator for i3, i3status, dmenu", "url": "https://thomashunter.name/posts/2017-02-08-online-colorscheme-configurator-for-i3-i3status-dmenu", "published_at": "2017-02-08T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd097fbe17e", "title": "A Holistic Approach to Microservices", "url": "https://thomashunter.name/posts/2016-12-27-a-holistic-approach-to-microservices", "published_at": "2016-12-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd098de0874", "title": "Running a Node.js process on Debian as a Systemd Service", "url": "https://thomashunter.name/posts/2016-09-27-running-a-node-js-process-on-debian-as-a-systemd-service", "published_at": "2016-09-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd099ce96b2", "title": "My Trip to Japan", "url": "https://thomashunter.name/posts/2016-06-26-2016-my-trip-to-japan", "published_at": "2016-06-26T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09a476be9", "title": "Enabling Yubikey U2F support in Linux", "url": "https://thomashunter.name/posts/2016-06-14-enabling-yubikey-u2f-support-in-linux", "published_at": "2016-06-14T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09af5cbe0", "title": "The JavaScript Event Loop Presentation (2016 Edition)", "url": "https://thomashunter.name/posts/2016-02-24-the-javascript-event-loop-presentation-2016", "published_at": "2016-02-24T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09bc2ff7f", "title": "Installing Linux Mint on an XPS13 (9350)", "url": "https://thomashunter.name/posts/2016-01-31-installing-linux-mint-on-an-xps13-9350", "published_at": "2016-01-31T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09c930039", "title": "The only bad thing about ES7 Async/Await", "url": "https://thomashunter.name/posts/2016-01-18-the-only-bad-thing-about-es7-asyncawait", "published_at": "2016-01-18T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09cc3b86d", "title": "Upgrading to the XPS 13 (9350)", "url": "https://thomashunter.name/posts/2016-01-01-upgrading-to-the-xps-13-9350", "published_at": "2016-01-01T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09d4446e5", "title": "NextPlayer: A Node.js module for managing player turns", "url": "https://thomashunter.name/posts/2015-10-14-nextplayer-a-node-js-module-for-managing-player-turns", "published_at": "2015-10-14T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09dbdf556", "title": "HTML5 Mobile Apps, Part 5: Ecosystem Opinions", "url": "https://thomashunter.name/posts/2015-10-02-what-i-learned-while-publishing-an-html5-mobile-app-part-55-ecosystem-opinions", "published_at": "2015-10-02T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09e7d35e2", "title": "HTML5 Mobile Apps, Part 4: Live Operations", "url": "https://thomashunter.name/posts/2015-10-01-what-i-learned-while-publishing-an-html5-mobile-app-part-45-live-operations", "published_at": "2015-10-01T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09f2766a0", "title": "HTML5 Mobile Apps, Part 3: Distribution", "url": "https://thomashunter.name/posts/2015-09-30-what-i-learned-while-publishing-an-html5-mobile-app-part-35-distribution-and-marketplaces", "published_at": "2015-09-30T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09f5776dc", "title": "HTML5 Mobile Apps, Part 2: Performance", "url": "https://thomashunter.name/posts/2015-09-29-what-i-learned-while-publishing-an-html5-mobile-app-part-25-performance", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09f6fb2be", "title": "HTML5 Mobile Apps, Part 1: Development and Debugging", "url": "https://thomashunter.name/posts/2015-09-28-what-i-learned-while-publishing-an-html5-mobile-app-part-15-development-and-debugging", "published_at": "2015-09-28T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09f950ff9", "title": "Strategic Game of Life: Mobile Edition", "url": "https://thomashunter.name/posts/2015-08-19-strategic-game-of-life-mobile-edition", "published_at": "2015-08-19T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09fdb40d3", "title": "Upgrading Linode II: Xen to KVM", "url": "https://thomashunter.name/posts/2015-08-03-upgrading-linode-ii-xen-to-kvm", "published_at": "2015-08-03T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd09fe9e1a4", "title": "The long road to Async/Await in JavaScript", "url": "https://thomashunter.name/posts/2015-06-30-the-long-road-to-asyncawait-in-javascript", "published_at": "2015-06-30T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a07f0e16", "title": "Tips for Building Mobile Games in HTML5", "url": "https://thomashunter.name/posts/2015-04-13-tips-for-building-mobile-games-in-html5", "published_at": "2015-04-13T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a084db9e", "title": "Gridloche: Realtime Multiplayer Go-Like with RPG Elements", "url": "https://thomashunter.name/posts/2014-11-15-gridloche-realtime-multiplayer-go-like-with-rpg-elements", "published_at": "2014-11-15T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a0ac4e1d", "title": "Upgrading Linode", "url": "https://thomashunter.name/posts/2014-11-04-upgrading-linode", "published_at": "2014-11-04T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a17fa514", "title": "Robot Onslaught: Multiplayer twin-stick 2D shooter using PubNub", "url": "https://thomashunter.name/posts/2014-10-05-robot-onslaught-multiplayer-twin-stick-2d-shooter-using-pubnub", "published_at": "2014-10-05T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a259580f", "title": "Arpad: An ELO Ranking System for Node.js", "url": "https://thomashunter.name/posts/2014-08-25-arpad-an-elo-ranking-system-for-node-js", "published_at": "2014-08-25T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a25ff7fb", "title": "Consumer Centric API Design", "url": "https://thomashunter.name/posts/2014-08-09-consumer-centric-api-design-a-creative-commons-book", "published_at": "2014-08-09T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a2fb2816", "title": "Linux Kernel 3.15.3 on Linux Mint 17 (or other Debian-Based Distributions)", "url": "https://thomashunter.name/posts/2014-07-03-linux-kernel-3-15-3-on-linux-mint-17-or-other-debian-based-distributions", "published_at": "2014-07-03T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a38d978b", "title": "Running a Node.js process on Debian as an init.d Service", "url": "https://thomashunter.name/posts/2014-06-19-running-a-node-js-process-on-debian-as-an-init-d-service", "published_at": "2014-06-19T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a47c364d", "title": "What have I been up to? Early 2014 Edition", "url": "https://thomashunter.name/posts/2014-02-19-what-have-i-been-up-to-early-2014-edition", "published_at": "2014-02-19T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a496966e", "title": "Principles of good RESTful API Design", "url": "https://thomashunter.name/posts/2013-12-31-codeplanet-principles-of-good-restful-api-design", "published_at": "2013-12-31T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a5946918", "title": "Book Review: Debian 7: System Administration Best Practices", "url": "https://thomashunter.name/posts/2013-12-29-book-review-debian-7-system-administration-best-practices", "published_at": "2013-12-29T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a65b220a", "title": "JavaScript and Canvas version of Conway's Game of Life", "url": "https://thomashunter.name/posts/2013-12-12-javascript-and-canvas-version-of-conways-game-of-life", "published_at": "2013-12-12T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a6f43876", "title": "Letting PHP know that its connection behind NGINX is over HTTPS", "url": "https://thomashunter.name/posts/2013-12-03-letting-php-know-that-its-connection-behind-nginx-is-over-https", "published_at": "2013-12-03T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a7ee39b4", "title": "See which user accounts hackers try to access on your server the most", "url": "https://thomashunter.name/posts/2013-12-02-see-which-user-accounts-hackers-try-to-access-on-your-server-the-most", "published_at": "2013-12-02T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a8045ba8", "title": "Tips for assembling the O2 (Objective2) Headphone Amplifier Kit", "url": "https://thomashunter.name/posts/2013-12-01-assembling-the-o2-headphone-amplifier-kit", "published_at": "2013-12-01T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a8fab5f9", "title": "Only Push/Pull Current GIT Branch", "url": "https://thomashunter.name/posts/2013-11-01-only-pushpull-current-git-branch", "published_at": "2013-11-01T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0a9b5295e", "title": "Remove OpenDNS from Linux Mint", "url": "https://thomashunter.name/posts/2013-10-28-remove-opendns-from-linux-mint", "published_at": "2013-10-28T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0aa4c25a2", "title": "Enable Emoji fonts on Debian / Ubuntu / Mint Linux", "url": "https://thomashunter.name/posts/2013-10-21-enable-emoji-fonts-on-debian-ubuntu-mint-linux", "published_at": "2013-10-21T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ab1dc062", "title": "Border Patrol Saga", "url": "https://thomashunter.name/posts/2013-10-17-border-patrol-saga", "published_at": "2013-10-17T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ab3fcd05", "title": "Cheating at Cookie Clicker", "url": "https://thomashunter.name/posts/2013-09-05-cheating-at-cookie-clicker", "published_at": "2013-09-05T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ab712696", "title": "Recursively download website files using WGET", "url": "https://thomashunter.name/posts/2013-07-28-recursively-download-website-files-using-wget", "published_at": "2013-07-28T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ac05545a", "title": "Instant Backbone.js Application Development", "url": "https://thomashunter.name/posts/2013-07-27-i-wrote-a-book-instant-backbonejs-application-development", "published_at": "2013-07-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ac36dffb", "title": "Book Review: Hands-on Testing with PHPUnit How-to", "url": "https://thomashunter.name/posts/2013-07-22-book-review-hands-on-testing-with-phpunit-how-to", "published_at": "2013-07-22T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ac9e73b1", "title": "Installing Redis on Debian as a Service", "url": "https://thomashunter.name/posts/2013-06-15-installing-redis-on-debian", "published_at": "2013-06-15T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0ad920cb8", "title": "Fixing Homebrew", "url": "https://thomashunter.name/posts/2013-06-13-fixing-homebrew", "published_at": "2013-06-13T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0adb778cb", "title": "SSH into a machine with a dynamic IP", "url": "https://thomashunter.name/posts/2013-06-09-ssh-into-a-machine-with-a-dynamic-ip", "published_at": "2013-06-09T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0aeb69795", "title": "Setting up a Security Camera for a Linux Webcam", "url": "https://thomashunter.name/posts/2013-06-03-setting-up-a-security-camera-for-a-linux-webcam", "published_at": "2013-06-03T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0aef3bb50", "title": "Track IP Address using DD-WRT + CRON + WGET", "url": "https://thomashunter.name/posts/2013-05-16-track-ip-address-using-dd-wrt-cron-wget", "published_at": "2013-05-16T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0afb96138", "title": "Safely Parse Complex Objects and Arrays in PHP", "url": "https://thomashunter.name/posts/2013-05-13-safely-parse-complex-objects-and-arrays-in-php", "published_at": "2013-05-13T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0afbe6980", "title": "WordPress GET Variables with lighttpd", "url": "https://thomashunter.name/posts/2013-05-12-wordpress-get-variables-with-lighttpd", "published_at": "2013-05-12T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0aff19da2", "title": "The JavaScript Event Loop [Presentation]", "url": "https://thomashunter.name/posts/2013-04-27-the-javascript-event-loop-presentation", "published_at": "2013-04-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b0259832", "title": "How to \"Burn\" an ISO to a USB drive in OS X", "url": "https://thomashunter.name/posts/2013-04-04-how-to-burn-an-iso-to-a-usb-drive-in-osx", "published_at": "2013-04-04T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b0fa9d8c", "title": "Generate OAuth Consumer Key and Shared Secrets using PHP", "url": "https://thomashunter.name/posts/2013-02-28-generate-oauth-consumer-key-and-shared-secrets-using-php", "published_at": "2013-02-28T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b15d2b80", "title": "Set opendiff (FileMerge) as your git diff tool on OS X", "url": "https://thomashunter.name/posts/2013-02-27-set-opendiff-filemerge-as-your-git-diff-tool-on-os-x", "published_at": "2013-02-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b19b88b8", "title": "Lansing Startup Weekend February 2013: GeoMonsters Presentation", "url": "https://thomashunter.name/posts/2013-02-26-lansing-startup-weekend-february-2013-geomonsters-presentation", "published_at": "2013-02-26T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b28651a4", "title": "Lansing Startup Weekend", "url": "https://thomashunter.name/posts/2013-02-24-lansing-startup-weekend", "published_at": "2013-02-24T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b36619b7", "title": "SleekMVC, my PHP Framework, gets Routing support", "url": "https://thomashunter.name/posts/2013-02-02-sleekmvc-my-php-framework-gets-routing-support", "published_at": "2013-02-02T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b3790cb3", "title": "Enable PHP Mail on OS X Mountain Lion", "url": "https://thomashunter.name/posts/2013-01-27-enable-php-mail-on-os-x-mountain-lion", "published_at": "2013-01-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b43e4259", "title": "GeoLocation based Communication with Node.js, Redis", "url": "https://thomashunter.name/posts/2013-01-13-geolocation-based-communication-with-node-js-redis", "published_at": "2013-01-13T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b52f840f", "title": "What WordPress 4.x Could Be", "url": "https://thomashunter.name/posts/2013-01-09-what-wordpress-4-could-be", "published_at": "2013-01-09T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b5e8db07", "title": "I turned on a light", "url": "https://thomashunter.name/posts/2013-01-08-i-turned-on-a-light", "published_at": "2013-01-08T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b6121612", "title": "Programmer Religious Wars and the Abstraction Gradient", "url": "https://thomashunter.name/posts/2013-01-07-programmer-religious-wars-and-the-abstraction-gradient", "published_at": "2013-01-07T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b6793394", "title": "Node App Inspired by Daniel Suarez' Book Daemon", "url": "https://thomashunter.name/posts/2013-01-05-node-app-inspired-by-daniel-suarez-book-daemon", "published_at": "2013-01-05T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b685bfe6", "title": "Wacom Bamboo Splash Review", "url": "https://thomashunter.name/posts/2012-12-29-wacom-bamboo-splash-review", "published_at": "2012-12-29T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b75c3421", "title": "Subdomains and Google Apps with Gandi and Linode", "url": "https://thomashunter.name/posts/2012-12-27-subdomains-and-google-apps-with-gandi-and-linode", "published_at": "2012-12-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b7d7408f", "title": "Client-Side Terrain Tile Representation Algorithm", "url": "https://thomashunter.name/posts/2012-12-26-client-side-terrain-tile-representation-algorithm", "published_at": "2012-12-26T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b7e932da", "title": "A Better Debian SSH Login Message", "url": "https://thomashunter.name/posts/2012-12-24-a-better-debian-ssh-login-message", "published_at": "2012-12-24T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b7ed7872", "title": "Transitioning from MediaTemple to Linode", "url": "https://thomashunter.name/posts/2012-12-23-transitioning-from-mediatemple-to-linode", "published_at": "2012-12-23T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b85b49b4", "title": "Install Node.js on Debian 6", "url": "https://thomashunter.name/posts/2012-12-22-install-node-js-on-debian-6", "published_at": "2012-12-22T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b8e9f898", "title": "Visual Git History Log in Terminal Window", "url": "https://thomashunter.name/posts/2012-12-17-visual-git-history-log-in-terminal-window", "published_at": "2012-12-17T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0b9d485f3", "title": "Using authbind with Node.js", "url": "https://thomashunter.name/posts/2012-12-14-using-authbind-with-node-js", "published_at": "2012-12-14T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bacc94dd", "title": "Fun Timing Game in Canvas", "url": "https://thomashunter.name/posts/2012-12-11-fun-little-timing-game-in-canvas", "published_at": "2012-12-11T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0baf8e71b", "title": "Respond to JSON or XML requests from a Node.js API", "url": "https://thomashunter.name/posts/2012-12-09-respond-to-json-or-xml-requests-from-a-node-js-api", "published_at": "2012-12-09T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bb9b0082", "title": "Drop Root Privileges in Node.js", "url": "https://thomashunter.name/posts/2012-12-04-drop-root-privileges-in-node-js", "published_at": "2012-12-04T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bbb91a70", "title": "The Upcoming Parallel Digital Universe", "url": "https://thomashunter.name/posts/2012-12-01-the-upcoming-parallel-digital-universe", "published_at": "2012-12-01T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bbe6e4cc", "title": "Could JavaScript support Parallelism like in Haskell?", "url": "https://thomashunter.name/posts/2012-11-22-could-javascript-support-parallelism-like-in-haskell", "published_at": "2012-11-22T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bc121ba8", "title": "All Hands Active Board Member", "url": "https://thomashunter.name/posts/2012-11-06-all-hands-active-board-member", "published_at": "2012-11-06T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bd07537d", "title": "Configurable Object to XML Converter for Node.js", "url": "https://thomashunter.name/posts/2012-10-25-configurable-object-to-xml-converter-for-node-js", "published_at": "2012-10-25T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bd36c4de", "title": "How Cobalt Calibur uses Canvas to display Sprite-Based Graphics", "url": "http://davidwalsh.name/canvas-sprites", "published_at": "2012-10-12T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0be0dfa5d", "title": "MongoDB Node.js driver collection select doesn't require callback", "url": "https://thomashunter.name/posts/2012-09-27-mongodb-node-js-driver-collection-select-doesnt-require-callback", "published_at": "2012-09-27T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0beb430ee", "title": "GitHub Connection Timed Out", "url": "https://thomashunter.name/posts/2012-09-22-github-connection-timed-out", "published_at": "2012-09-22T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bf456c1b", "title": "CouchDB and PHP Web Development", "url": "https://thomashunter.name/posts/2012-09-22-book-review-couchdb-and-php-web-development-beginners-guide", "published_at": "2012-09-22T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0bf4ce3cb", "title": "Node.js Convert JSON to XML, Pluralize", "url": "https://thomashunter.name/posts/2012-09-21-node-js-convert-json-to-xml-and-pluralize", "published_at": "2012-09-21T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0c00abac8", "title": "Backup External Music Collection using Rsync", "url": "https://thomashunter.name/posts/2012-09-01-backup-external-music-collection-using-rsync", "published_at": "2012-09-01T00:00:00+00:00" }, { "id": "01a08c55-2b57-716a-afc8-2bd0c0aa9d39", "title": "Fixing ApacheBench on OS X Lion", "url": "https://thomashunter.name/posts/2012-08-29-fixing-apachebench-on-os-x-lion", "published_at": "2012-08-29T00:00:00+00:00" } ] posts Claim your blog
Back to tlhunter
Blog · corpus.blog/blogs/thomashunter.name/posts

tlhunter

thomashunter.name

2017

2016

2015

2014

2013

2012