<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://www.gmarik.info/blog/</loc><lastmod>2021-02-14T22:48:46-08:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/</loc><lastmod>2021-02-14T22:48:46-08:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2021/nand2tetris-part-2-review/</loc><lastmod>2021-02-14T22:48:46-08:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2020/understanding-quines/</loc><lastmod>2020-07-24T15:13:55-07:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2020/understanding-glob-matching/</loc><lastmod>2020-07-05T14:41:05-07:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2020/technical-writing-one-notes/</loc><lastmod>2020-05-16T14:09:09+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/sre-course-part-01-abstract/</loc><lastmod>2019-12-06T18:22:26-08:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/ambiguity-spoken-programming-languages/</loc><lastmod>2019-11-03T01:59:10+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/cdp-proxy-chrome-devtools-proxy-middleware-golang/</loc><lastmod>2019-10-07T19:10:04+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/12-factor-golang-flag-package/</loc><lastmod>2019-09-16T10:10:10+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/hosting-static-site-with-hugo-cloud-build-nginx-cloud-run-for-free/</loc><lastmod>2019-07-26T10:38:01+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/datadog-apm-traces-metrics/</loc><lastmod>2019-07-22T10:10:10+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/javascript-is-my-favorite-language/</loc><lastmod>2019-07-04T14:56:05+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/swiftui-hello-world/</loc><lastmod>2019-06-05T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2019/monotonic-time-perfect-model-vs-imperfect-reality/</loc><lastmod>2019-05-23T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2018/static-site-with-gcp-app-engine-cloud-build-hugo/</loc><lastmod>2018-12-02T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2017/testing-mongodb-queries-golang/</loc><lastmod>2017-08-19T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2017/wordfight-multiplayer-word-game/</loc><lastmod>2017-03-14T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2017/appengine-experience/</loc><lastmod>2017-03-11T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2017/how-to-code-review/</loc><lastmod>2017-01-23T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/understanding-golang-for-loop-with-closures/</loc><lastmod>2016-07-21T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/simple-execution-pipelines-with-ruby/</loc><lastmod>2016-07-11T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/using-vim-to-stream-process-text/</loc><lastmod>2016-06-09T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/experimenting-with-golang-pipelines/</loc><lastmod>2016-05-27T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/understanding-golang-nil-value/</loc><lastmod>2016-05-09T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/outsourcing-vociemail-to-twilio/</loc><lastmod>2016-04-24T16:09:04-04:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/iot-sensor-metrics-with-go-part2/</loc><lastmod>2016-04-09T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/iot-sensor-metrics-with-go-part1/</loc><lastmod>2016-04-07T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/sigterm-sigstop-process/</loc><lastmod>2016-03-08T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/go-testing-package-side-effects/</loc><lastmod>2016-02-23T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/autocompletion-request-cancellation-jquery-and-go/</loc><lastmod>2016-02-18T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/immutable-by-default/</loc><lastmod>2016-02-08T23:55:55+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2016/5-tips-for-solid-bash-code/</loc><lastmod>2016-01-27T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2015/test-driven-devops-with-ansible/</loc><lastmod>2015-12-03T19:25:59-05:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2015/gorack-go-webserver-rack/</loc><lastmod>2015-02-25T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2014/share-by-communicating/</loc><lastmod>2014-04-04T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2014/why-i-stopped-contributing-to-vundle/</loc><lastmod>2014-02-04T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2014/tls-auth-in-soa/</loc><lastmod>2014-01-14T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2013/three-ways-to-get-your-ios-app-data/</loc><lastmod>2013-08-19T00:00:02+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2013/mhaboutview-ios/</loc><lastmod>2013-08-19T00:00:01+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2013/regularly.me-or-how-to-get-things-done/</loc><lastmod>2013-05-26T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2012/recursive-data-structures-with-rails/</loc><lastmod>2012-10-14T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2012/orphan-vs-zombie-vs-daemon-processes/</loc><lastmod>2012-08-15T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2012/large-mysql-migrations/</loc><lastmod>2012-08-14T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2012/xtrabackup-to-backup-restore-mysql/</loc><lastmod>2012-07-27T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2012/gem-rails-like-sinatra-talk/</loc><lastmod>2012-01-26T21:01:01+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2012/map-as-presenter-and-more/</loc><lastmod>2012-01-16T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/vim-script-best-practices-rant/</loc><lastmod>2011-12-26T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/ruby-and-mysql-on-osx/</loc><lastmod>2011-11-11T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/how-to-make-xcode-4-default/</loc><lastmod>2011-10-14T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/design-for-developers/</loc><lastmod>2011-09-27T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/beginning-ios/</loc><lastmod>2011-09-16T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/vundle-0.9-got-awesome-installer/</loc><lastmod>2011-08-25T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/game-of-life-in-vim/</loc><lastmod>2011-05-22T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/chicken-or-egg-dilemma/</loc><lastmod>2011-05-17T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/vundle-is-bundle/</loc><lastmod>2011-05-16T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/windows-vim-plugins-vundle/</loc><lastmod>2011-04-10T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2011/vundle-0.7-out/</loc><lastmod>2011-03-19T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/grep-vs-ack-and-weird-homebrew-policy/</loc><lastmod>2010-12-18T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/scraping-asp-net-site-with-mechanize/</loc><lastmod>2010-10-16T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/migration-to-rspec2/</loc><lastmod>2010-10-10T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/ctags-on-osx/</loc><lastmod>2010-10-08T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/vim-scripts-github-mirror/</loc><lastmod>2010-09-24T00:00:03+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/ruby-magic/</loc><lastmod>2010-09-24T00:00:02+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/install-readline-with-ruby-on-osx/</loc><lastmod>2010-09-24T00:00:01+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/rack-mail-exceptions-notification-middleware/</loc><lastmod>2010-09-18T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/blogging-with-jekyll-and-heroku-for-free/</loc><lastmod>2010-05-10T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/tracking-dotfiles-with-git/</loc><lastmod>2010-05-02T00:00:02+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/installing-ruby-1.8.6-on-osx/</loc><lastmod>2010-05-02T00:00:01+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/building-rmagick-gem-and-memory-leak/</loc><lastmod>2010-04-22T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/irb-history-on-ruby-1.8.6/</loc><lastmod>2010-04-17T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/building-ruby-1.8.6-with-openssl-1-on-arch/</loc><lastmod>2010-04-16T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2010/ruby-retry-keyword-and-name-clash/</loc><lastmod>2010-03-02T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/vim-doesnt-copy-paste-from-x11-clipboard/</loc><lastmod>2009-10-12T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/rmagick-ruby-library-error/</loc><lastmod>2009-09-24T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/ruby-readline-5-missing/</loc><lastmod>2009-07-07T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/git-push-default/</loc><lastmod>2009-06-18T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/virtual-box-guest-os-startup-issues/</loc><lastmod>2009-06-15T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/time.today-rubygems-issue/</loc><lastmod>2009-05-12T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/jim-weirich-the-building-blocks-of-modularity/</loc><lastmod>2009-04-12T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/gnome-shell-installation/</loc><lastmod>2009-04-10T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/linode-setup-log/</loc><lastmod>2009-02-05T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/apache-server-fully-qualified-domain-name-warning/</loc><lastmod>2009-02-04T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/gem-update-system-error/</loc><lastmod>2009-02-03T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/about/</loc><lastmod>2009-01-31T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/blog/2009/new-blog/</loc><lastmod>2009-01-31T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/index.html</loc><lastmod>0001-01-01T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/../public/</loc><lastmod>0001-01-01T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url><url><loc>https://www.gmarik.info/true/</loc><lastmod>0001-01-01T00:00:00+00:00</lastmod><changefreq>weekly</changefreq><priority>0.5</priority></url></urlset>