41554 blogs · [ { "id": "01a08769-890c-7080-b13a-7e8c666e3c05", "title": "SVG based Vector Scope", "url": "https://davidhampgonsalves.com/svg-based-vector-scope/", "published_at": "2026-04-11T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c66ecd61f", "title": "Neon Animated Eye", "url": "https://davidhampgonsalves.com/neon-animated-eye/", "published_at": "2026-04-06T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c67128c88", "title": "13 Years of Foxish", "url": "https://davidhampgonsalves.com/13-years-of-foxish/", "published_at": "2023-09-20T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c67bb3501", "title": "Solar Powered Conways Game of Life", "url": "https://davidhampgonsalves.com/solar-powered-conways-game-of-life/", "published_at": "2023-07-25T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c67c401ab", "title": "Junk Drawer Phone as a Music Streaming Server", "url": "https://davidhampgonsalves.com/junk-drawer-phone-as-a-music-streaming-server/", "published_at": "2023-04-23T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c67d6cdb3", "title": "Recharable Flame Jar", "url": "https://davidhampgonsalves.com/recharable-flame-jar/", "published_at": "2022-06-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c67f270ed", "title": "MidTBot Pen Plotter", "url": "https://davidhampgonsalves.com/midtbot-pen-plotter/", "published_at": "2022-03-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c68690bf4", "title": "Solar Lights for Sub-Zero Temperatures", "url": "https://davidhampgonsalves.com/solar-lights-for-sub-zero-temperatures/", "published_at": "2021-11-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c68cd2012", "title": "ESP Based Scheduling Thermostat", "url": "https://davidhampgonsalves.com/esp-based-scheduling-thermostat/", "published_at": "2019-04-01T23:02:31+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c693c1260", "title": "Life Dashboard", "url": "https://davidhampgonsalves.com/life-dashboard/", "published_at": "2019-02-01T23:02:31+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6971501a", "title": "Halloween Mask 2018", "url": "https://davidhampgonsalves.com/halloween-mask-2018/", "published_at": "2018-10-24T23:02:31+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6a687d02", "title": "Reverse Engineering Cat Genie 120 DRM", "url": "https://davidhampgonsalves.com/reverse-engineering-cat-genie-120-drm/", "published_at": "2018-07-17T23:02:31+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6a7d3379", "title": "Arduino Grow Clock", "url": "https://davidhampgonsalves.com/arduino-grow-clock/", "published_at": "2018-03-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6af72063", "title": "Harvest Automation", "url": "https://davidhampgonsalves.com/harvest-automation/", "published_at": "2017-11-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6b2dfd78", "title": "GCN Top 10 Cycling Apps", "url": "https://davidhampgonsalves.com/gcn-top-10-cycling-apps/", "published_at": "2017-10-05T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6b810de8", "title": "DIY Cycling Rollers", "url": "https://davidhampgonsalves.com/diy-cycling-rollers/", "published_at": "2017-07-16T22:51:50+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6bb952ab", "title": "Gif Twist", "url": "https://davidhampgonsalves.com/gif-twist/", "published_at": "2017-04-09T14:31:31+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6bbc608b", "title": "Cargo Bike in Canada", "url": "https://davidhampgonsalves.com/cargo-bike-in-canada/", "published_at": "2017-01-26T18:17:20+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6c2e6b13", "title": "A New Value Add for Being the Best", "url": "https://davidhampgonsalves.com/a-new-value-add-for-being-the-best/", "published_at": "2017-01-19T19:12:19+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6d17a81d", "title": "Hugo Black & Light", "url": "https://davidhampgonsalves.com/hugo-black-light/", "published_at": "2017-01-08T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6d239f87", "title": "Octopress to Hugo", "url": "https://davidhampgonsalves.com/octopress-to-hugo/", "published_at": "2017-01-06T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6d9d56b0", "title": "Webhook Liason", "url": "https://davidhampgonsalves.com/webhook-liason/", "published_at": "2016-05-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6e42b203", "title": "CircleCI vs Travis", "url": "https://davidhampgonsalves.com/circleci-vs-travis/", "published_at": "2016-04-16T04:12:01+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6efed4d4", "title": "Should You Move To San Francisco?", "url": "https://davidhampgonsalves.com/should-you-move-to-san-francisco/", "published_at": "2016-01-12T04:09:36+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c6fd4bfef", "title": "Hacktoberfest 2015", "url": "https://davidhampgonsalves.com/hacktoberfest-2015/", "published_at": "2015-11-24T04:14:38+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c703c833d", "title": "Java 8: The Good Parts", "url": "https://davidhampgonsalves.com/java-8-the-good-parts/", "published_at": "2015-09-06T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c70eba1b2", "title": "The Value of Failed Projects", "url": "https://davidhampgonsalves.com/the-value-of-failed-projects/", "published_at": "2015-08-03T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c71813767", "title": "Failed Projects: Open Mosaic", "url": "https://davidhampgonsalves.com/failed-projects-open-mosaic/", "published_at": "2015-08-02T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c71e1b474", "title": "Failed Projects: Tree Ring Generation", "url": "https://davidhampgonsalves.com/failed-projects-tree-ring-generation/", "published_at": "2015-08-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c72b1b807", "title": "The Longterm Costs of Personal Projects", "url": "https://davidhampgonsalves.com/the-longterm-costs-of-personal-projects/", "published_at": "2015-07-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c72d44a91", "title": "File to Knife Conversion", "url": "https://davidhampgonsalves.com/file-to-knife-conversion/", "published_at": "2015-06-05T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c73bd2264", "title": "WebRTC in 5 Minutes", "url": "https://davidhampgonsalves.com/webrtc-in-5-minutes/", "published_at": "2015-05-23T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c74b3ed3b", "title": "Terminal GIFs on OSX", "url": "https://davidhampgonsalves.com/terminal-gifs-on-osx/", "published_at": "2015-04-07T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c74fd3950", "title": "Ethical Apps on Greenpeace Podcast", "url": "https://davidhampgonsalves.com/ethical-apps-on-greenpeace-podcast/", "published_at": "2015-03-20T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7588f8c7", "title": "Docker Phusion Base", "url": "https://davidhampgonsalves.com/docker-phusion-base/", "published_at": "2015-03-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c75d9dee3", "title": "Launchd in 5 Minutes", "url": "https://davidhampgonsalves.com/launchd-in-5-minutes/", "published_at": "2015-02-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c76019173", "title": "OpenCV CompareHist Performance", "url": "https://davidhampgonsalves.com/opencv-comparehist-performance/", "published_at": "2015-01-31T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c76c388cc", "title": "Markov Chains in Clojure", "url": "https://davidhampgonsalves.com/markov-chains-in-clojure/", "published_at": "2015-01-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c774a6d84", "title": "If You Are Moving To San Francisco", "url": "https://davidhampgonsalves.com/if-you-are-moving-to-san-francisco/", "published_at": "2014-12-10T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c781f8bf5", "title": "The Music Player/Organizer For the Rest of Us", "url": "https://davidhampgonsalves.com/the-music-player/organizer-for-the-rest-of-us/", "published_at": "2014-05-02T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7830f131", "title": "Painless Resumes with Markdown", "url": "https://davidhampgonsalves.com/painless-resumes-with-markdown/", "published_at": "2014-04-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c787fcfc6", "title": "Postgresql Range Basics", "url": "https://davidhampgonsalves.com/postgresql-range-basics/", "published_at": "2014-03-18T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c787fd450", "title": "Dynamic CSS Reset", "url": "https://davidhampgonsalves.com/dynamic-css-reset/", "published_at": "2014-03-15T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c788991e0", "title": "Spritz like(RSVP) Reader Bookmarklet", "url": "https://davidhampgonsalves.com/spritz-likersvp-reader-bookmarklet/", "published_at": "2014-03-04T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c78de19be", "title": "Technical Interview Prep", "url": "https://davidhampgonsalves.com/technical-interview-prep/", "published_at": "2014-01-24T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c79cf86c8", "title": "Awesome Free Hosting Stacks", "url": "https://davidhampgonsalves.com/awesome-free-hosting-stacks/", "published_at": "2013-11-19T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c79f79b6e", "title": "Generating Identicons", "url": "https://davidhampgonsalves.com/generating-identicons/", "published_at": "2013-11-19T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7abc92d4", "title": "Apps4Halifax Crime Heatmaps", "url": "https://davidhampgonsalves.com/apps4halifax-crime-heatmaps/", "published_at": "2013-11-17T00:02:46+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7ba3fa77", "title": "Building a Basic Android Bot", "url": "https://davidhampgonsalves.com/building-a-basic-android-bot/", "published_at": "2013-11-14T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7c454a55", "title": "Compressing JSON into a Brittle Lightweight String", "url": "https://davidhampgonsalves.com/compressing-json-into-a-brittle-lightweight-string/", "published_at": "2013-11-07T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7d0f073e", "title": "Animated Javascript Heatmaps.js", "url": "https://davidhampgonsalves.com/animated-javascript-heatmaps.js/", "published_at": "2013-10-23T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7dec4ca4", "title": "Detecting Mobile Device from Javascript", "url": "https://davidhampgonsalves.com/detecting-mobile-device-from-javascript/", "published_at": "2013-10-21T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7e6a4e01", "title": "List Of Programming Competitions/Contests", "url": "https://davidhampgonsalves.com/list-of-programming-competitions/contests/", "published_at": "2013-09-03T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7eaa2015", "title": "Halifax Bus GPS Data", "url": "https://davidhampgonsalves.com/halifax-bus-gps-data/", "published_at": "2013-08-20T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c7f34f9ac", "title": "Drawing Region Polygons on Google Maps API v.3", "url": "https://davidhampgonsalves.com/drawing-region-polygons-on-google-maps-api-v.3/", "published_at": "2013-08-06T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c800c4b01", "title": "Generating Bitcoins using Online Ads", "url": "https://davidhampgonsalves.com/generating-bitcoins-using-online-ads/", "published_at": "2013-08-02T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8049772b", "title": "Building Phonegap/Cordova Apps for IOS", "url": "https://davidhampgonsalves.com/building-phonegap/cordova-apps-for-ios/", "published_at": "2013-07-05T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c80ddcda9", "title": "ASM.js in 30 Seconds", "url": "https://davidhampgonsalves.com/asm.js-in-30-seconds/", "published_at": "2013-05-22T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c81a330e1", "title": "RSS Luddite", "url": "https://davidhampgonsalves.com/rss-luddite/", "published_at": "2013-03-26T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c82257953", "title": "Building Dolphin-Emu on Fedora", "url": "https://davidhampgonsalves.com/building-dolphin-emu-on-fedora/", "published_at": "2013-01-20T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c82f83bf8", "title": "Phonegap and a Million Frameworks", "url": "https://davidhampgonsalves.com/phonegap-and-a-million-frameworks/", "published_at": "2013-01-09T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c83749062", "title": "Javascript Damerau Levenshtein Algorithim", "url": "https://davidhampgonsalves.com/javascript-damerau-levenshtein-algorithim/", "published_at": "2012-11-20T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c84120743", "title": "DIY Photobooth", "url": "https://davidhampgonsalves.com/diy-photobooth/", "published_at": "2012-11-12T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c84559225", "title": "The Magic of UPC/EAN Barcodes", "url": "https://davidhampgonsalves.com/the-magic-of-upc/ean-barcodes/", "published_at": "2012-11-12T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c84fac6ad", "title": "UPC/EAN Product Databases/API's", "url": "https://davidhampgonsalves.com/upc/ean-product-databases/apis/", "published_at": "2012-11-07T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8583c5ae", "title": "Install Node.js / NPM on Fedora Core 17", "url": "https://davidhampgonsalves.com/install-node.js-/-npm-on-fedora-core-17/", "published_at": "2012-10-18T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c865d6151", "title": "Updating Chrome Extension Manifest", "url": "https://davidhampgonsalves.com/updating-chrome-extension-manifest/", "published_at": "2012-08-29T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c867f8414", "title": "Awesome Ideas Market Halifax", "url": "https://davidhampgonsalves.com/awesome-ideas-market-halifax/", "published_at": "2012-06-21T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8686f80a", "title": "Iterative Javascript QuickSelect", "url": "https://davidhampgonsalves.com/iterative-javascript-quickselect/", "published_at": "2012-06-08T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c870741f7", "title": "Change Gnome Shell Dash Key Binding", "url": "https://davidhampgonsalves.com/change-gnome-shell-dash-key-binding/", "published_at": "2012-04-30T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c87c00bed", "title": "Pygmenter", "url": "https://davidhampgonsalves.com/pygmenter/", "published_at": "2012-02-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c87ec0bf5", "title": "HTML Sticky Headers", "url": "https://davidhampgonsalves.com/html-sticky-headers/", "published_at": "2012-01-22T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c88cd4cd6", "title": "Slimming Down JQuery Easing", "url": "https://davidhampgonsalves.com/slimming-down-jquery-easing/", "published_at": "2012-01-06T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c896d5cdb", "title": "Loading Indicator & CSS Animations", "url": "https://davidhampgonsalves.com/loading-indicator-css-animations/", "published_at": "2011-11-26T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8a594e7c", "title": "Weather Icon Set", "url": "https://davidhampgonsalves.com/weather-icon-set/", "published_at": "2011-11-22T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8a5a0bdd", "title": "SMTP Test/Usage Via Telnet", "url": "https://davidhampgonsalves.com/smtp-test/usage-via-telnet/", "published_at": "2011-11-09T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8b1c7499", "title": "Connecting to SVN with Scala/Java", "url": "https://davidhampgonsalves.com/connecting-to-svn-with-scala/java/", "published_at": "2011-08-25T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8bd49378", "title": "Injecting Live Metadata with Wowza (1/3)", "url": "https://davidhampgonsalves.com/injecting-live-metadata-with-wowza-1/3/", "published_at": "2011-08-03T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8ca69e93", "title": "Flash NetConnection for Wowza RMI (2/3)", "url": "https://davidhampgonsalves.com/flash-netconnection-for-wowza-rmi-2/3/", "published_at": "2011-08-02T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8d6b8ddc", "title": "Live Metadata Handling Using OSMF (3/3)", "url": "https://davidhampgonsalves.com/live-metadata-handling-using-osmf-3/3/", "published_at": "2011-08-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8e37125e", "title": "OpenCV/Python Color Tracking", "url": "https://davidhampgonsalves.com/opencv/python-color-tracking/", "published_at": "2011-05-30T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8e6e0ac6", "title": "PDF's using iText in 10 lines", "url": "https://davidhampgonsalves.com/pdfs-using-itext-in-10-lines/", "published_at": "2011-05-16T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8e736d84", "title": "Hourly Weather", "url": "https://davidhampgonsalves.com/hourly-weather/", "published_at": "2011-04-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8e7e7dc4", "title": "JQuery JFeed", "url": "https://davidhampgonsalves.com/jquery-jfeed/", "published_at": "2011-01-26T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8f78fb1c", "title": "Html5 Canvas Yule Log", "url": "https://davidhampgonsalves.com/html5-canvas-yule-log/", "published_at": "2010-12-25T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c8feab4e6", "title": "Notefeeder", "url": "https://davidhampgonsalves.com/notefeeder/", "published_at": "2010-12-01T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c901d9627", "title": "Foxish", "url": "https://davidhampgonsalves.com/foxish/", "published_at": "2010-05-30T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c90211aa2", "title": "Foxish FAQ", "url": "https://davidhampgonsalves.com/foxish-faq/", "published_at": "2010-05-29T00:00:00+00:00" }, { "id": "01a08769-890c-7080-b13a-7e8c90e24cf0", "title": "Projects", "url": "https://davidhampgonsalves.com/projects/", "published_at": null } ] posts Claim your blog
Back to davidhampgonsalves.com
Blog · corpus.blog/blogs/davidhampgonsalves.com/posts

davidhampgonsalves.com

davidhampgonsalves.com

2026

2023

2022

2021

2019

2018

2017

2016

2015

2014

2013

2012

2011

2010

Undated