<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://heckel.io/blog/</loc><lastmod>2021-10-19T20:58:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/</loc><lastmod>2021-10-19T20:58:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/distributed-systems/</loc><lastmod>2021-10-19T20:58:05-04:00</lastmod></url><url><loc>https://heckel.io/</loc><lastmod>2021-10-19T20:58:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/lossless-mysql-semi-sync-replication-and-automated-failover/</loc><lastmod>2021-10-19T20:58:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/elastictl-import-export-re-shard-and-performance-test-elasticsearch-indices/</loc><lastmod>2021-06-20T20:41:03-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/programming/</loc><lastmod>2021-06-20T20:41:03-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/code-snippets/</loc><lastmod>2020-12-17T02:44:14-05:00</lastmod></url><url><loc>https://heckel.io/blog/recursive-search-replace-tool-re/</loc><lastmod>2020-12-17T02:44:14-05:00</lastmod></url><url><loc>https://heckel.io/blog/calculating-public-key-hashes-for-public-key-pinning-in-curl/</loc><lastmod>2020-12-13T19:30:32-05:00</lastmod></url><url><loc>https://heckel.io/blog/categories/scripting/</loc><lastmod>2020-12-13T19:30:32-05:00</lastmod></url><url><loc>https://heckel.io/blog/categories/security/</loc><lastmod>2020-12-13T19:30:32-05:00</lastmod></url><url><loc>https://heckel.io/blog/categories/linux/</loc><lastmod>2020-10-08T18:05:48-04:00</lastmod></url><url><loc>https://heckel.io/blog/reliably-rebooting-ubuntu-using-watchdogs/</loc><lastmod>2020-10-08T18:05:48-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/cloud-computing/</loc><lastmod>2019-11-19T19:49:49-05:00</lastmod></url><url><loc>https://heckel.io/blog/providing-remote-access-to-devices-via-ssh-tunnels/</loc><lastmod>2019-11-19T19:49:49-05:00</lastmod></url><url><loc>https://heckel.io/blog/image-based-upgrades-upgrading-software-and-os-of-80k-servers-every-two-weeks/</loc><lastmod>2019-09-18T18:11:29-04:00</lastmod></url><url><loc>https://heckel.io/blog/deduplicating-ntfs-file-systems-fsdup/</loc><lastmod>2019-07-22T20:14:16-04:00</lastmod></url><url><loc>https://heckel.io/blog/booting-image-files-and-isos-with-kvm-qemu-efi-and-bios/</loc><lastmod>2018-08-06T02:12:10-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/virtualization/</loc><lastmod>2018-08-06T02:12:10-04:00</lastmod></url><url><loc>https://heckel.io/blog/issuing-lets-encrypt-certificates-for-65000-internal-servers/</loc><lastmod>2018-08-05T19:11:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/usb-disk-blinking-cursor-at-boot-fix-the-mbr-bootstrap-code/</loc><lastmod>2018-03-18T22:05:09-04:00</lastmod></url><url><loc>https://heckel.io/blog/creating-a-bios-gpt-and-uefi-gpt-grub-bootable-linux-system/</loc><lastmod>2017-05-28T17:52:50-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/administration/</loc><lastmod>2017-01-08T22:21:07-05:00</lastmod></url><url><loc>https://heckel.io/blog/zfs-encryption-openzfs-zfs-on-linux/</loc><lastmod>2017-01-08T22:21:07-05:00</lastmod></url><url><loc>https://heckel.io/blog/zfs-utils-offsite-backup-retention/</loc><lastmod>2017-01-01T17:50:15-05:00</lastmod></url><url><loc>https://heckel.io/blog/move-existing-linux-install-zfs-root/</loc><lastmod>2016-12-31T13:38:16-05:00</lastmod></url><url><loc>https://heckel.io/blog/your-own-dynamic-dns-server-powerdns-mysql/</loc><lastmod>2016-12-31T02:33:49-05:00</lastmod></url><url><loc>https://heckel.io/blog/php-json-rpc-api-with-auth-validation-logging/</loc><lastmod>2016-01-05T15:15:55-05:00</lastmod></url><url><loc>https://heckel.io/blog/lets-encrypt-5-min-guide-to-set-up-cronjob-based-certificate-renewal/</loc><lastmod>2015-12-04T02:57:37-05:00</lastmod></url><url><loc>https://heckel.io/blog/how-to-create-debian-package-and-debian-repository/</loc><lastmod>2015-10-18T18:15:21-04:00</lastmod></url><url><loc>https://heckel.io/blog/load-multiple-composer-json-files-at-runtime/</loc><lastmod>2015-08-22T10:18:13-04:00</lastmod></url><url><loc>https://heckel.io/blog/openssh-authorizedkeyscommand-with-fingerprint/</loc><lastmod>2015-05-04T01:52:04-04:00</lastmod></url><url><loc>https://heckel.io/blog/bash-completion-with-sub-commands-and-dynamic-options/</loc><lastmod>2015-03-24T00:20:37-04:00</lastmod></url><url><loc>https://heckel.io/blog/cryptography-dos-and-donts/</loc><lastmod>2015-03-23T01:57:00-04:00</lastmod></url><url><loc>https://heckel.io/blog/circumvent-internet-blockages-filters-censorship-socksproxy-netcat/</loc><lastmod>2015-03-22T21:16:45-04:00</lastmod></url><url><loc>https://heckel.io/blog/reading-a-zip-jar-file-with-php/</loc><lastmod>2015-01-24T16:38:33-05:00</lastmod></url><url><loc>https://heckel.io/blog/http-basic-auth-for-websocket-connections-with-undertow/</loc><lastmod>2014-10-30T17:21:39-04:00</lastmod></url><url><loc>https://heckel.io/blog/restart-docky-from-a-cronjob-when-it-crashed/</loc><lastmod>2014-10-25T17:10:57-04:00</lastmod></url><url><loc>https://heckel.io/blog/disable-sslv3-in-firefox-to-protect-against-poodle-attack/</loc><lastmod>2014-10-17T13:47:17-04:00</lastmod></url><url><loc>https://heckel.io/blog/windows-bat-check-if-process-running-pid-file/</loc><lastmod>2014-08-07T19:41:48-04:00</lastmod></url><url><loc>https://heckel.io/blog/run-sql-scripts-from-java-on-hsqldb-derby-mysql/</loc><lastmod>2014-06-22T22:10:46-04:00</lastmod></url><url><loc>https://heckel.io/blog/recursively-watch-folders-using-java-7-watchservice/</loc><lastmod>2014-06-17T07:33:36-04:00</lastmod></url><url><loc>https://heckel.io/blog/getting-the-java-process-pid-and-managing-pid-files-linux-windows/</loc><lastmod>2014-06-14T14:55:40-04:00</lastmod></url><url><loc>https://heckel.io/blog/undertow-an-embeddable-java-http-websocket-rest-server/</loc><lastmod>2014-06-14T01:13:31-04:00</lastmod></url><url><loc>https://heckel.io/blog/gradle-create-windows-installers-debian-packages-manage-a-ppa-and-optional-sub-projects/</loc><lastmod>2014-05-29T22:14:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/cipherinputstream-for-aead-modes-is-broken-in-jdk7-gcm/</loc><lastmod>2014-03-01T02:32:04-05:00</lastmod></url><url><loc>https://heckel.io/blog/deep-into-the-code-of-syncany-cli-application-flow-and-data-model/</loc><lastmod>2014-02-14T09:50:36-05:00</lastmod></url><url><loc>https://heckel.io/blog/categories/synchronization/</loc><lastmod>2014-02-14T09:50:36-05:00</lastmod></url><url><loc>https://heckel.io/blog/syncany-explained-idea-progress-development-future/</loc><lastmod>2013-10-18T22:46:31-04:00</lastmod></url><url><loc>https://heckel.io/blog/use-sslsplit-to-transparently-sniff-tls-ssl-connections/</loc><lastmod>2013-08-04T23:25:01-04:00</lastmod></url><url><loc>https://heckel.io/blog/how-to-dns-spoofing-with-a-simple-dns-server-using-dnsmasq/</loc><lastmod>2013-07-18T13:24:38-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/mobile/</loc><lastmod>2013-07-07T15:53:36-04:00</lastmod></url><url><loc>https://heckel.io/blog/send-whatsapp-messages-via-php-script-using-whatsapi/</loc><lastmod>2013-07-07T15:53:36-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/android/</loc><lastmod>2013-07-05T22:56:21-04:00</lastmod></url><url><loc>https://heckel.io/blog/how-to-sniff-the-whatsapp-password-from-your-android-phone-or-iphone/</loc><lastmod>2013-07-05T22:56:21-04:00</lastmod></url><url><loc>https://heckel.io/blog/how-to-use-mitmproxy-to-read-and-modify-https-traffic-of-your-phone/</loc><lastmod>2013-07-01T00:58:27-04:00</lastmod></url><url><loc>https://heckel.io/blog/script-run-rsnapshot-backups-only-once-and-rollback-failed-backups-using-rsnapshot-once/</loc><lastmod>2013-06-28T23:13:14-04:00</lastmod></url><url><loc>https://heckel.io/blog/minimizing-remote-storage-usage-and-synchronization-time-using-deduplication-and-multichunking-syncany-as-an-example/</loc><lastmod>2013-05-20T16:04:23-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/multimedia/</loc><lastmod>2013-03-24T20:03:53-04:00</lastmod></url><url><loc>https://heckel.io/blog/restart-lirc-if-remote-control-is-re-connected-udev-rule/</loc><lastmod>2013-03-24T20:03:53-04:00</lastmod></url><url><loc>https://heckel.io/blog/java-encode-any-byte-array-stream-or-file-into-a-24-bit-bitmap-bmp/</loc><lastmod>2013-03-02T01:48:37-05:00</lastmod></url><url><loc>https://heckel.io/blog/meet-my-first-htpc-fanless-nas-raid1-linux-30-watts-24x7-fc10-xbmc/</loc><lastmod>2013-01-27T03:02:33-05:00</lastmod></url><url><loc>https://heckel.io/blog/script-refresh-the-fritzmediaserver-dlna-index-of-the-fritzbox-6360-cable/</loc><lastmod>2012-12-07T20:50:30-05:00</lastmod></url><url><loc>https://heckel.io/blog/script-your-us-proxy-server-in-two-minutes-using-amazon-ec2/</loc><lastmod>2012-06-15T23:29:56-04:00</lastmod></url><url><loc>https://heckel.io/blog/android-example-communication-between-activity-and-service-using-messaging/</loc><lastmod>2012-06-10T17:47:47-04:00</lastmod></url><url><loc>https://heckel.io/blog/hacking-flash-games-a-case-study/</loc><lastmod>2011-03-01T07:00:40-05:00</lastmod></url><url><loc>https://heckel.io/blog/altering-old-svn-revisions-removing-confidental-data-from-subversion-repository/</loc><lastmod>2011-02-01T12:26:44-05:00</lastmod></url><url><loc>https://heckel.io/blog/picasa-for-linux-export-pictures-in-sort-order/</loc><lastmod>2011-01-12T20:00:47-05:00</lastmod></url><url><loc>https://heckel.io/blog/aware-context-api-acapi-using-the-sensors-in-java-me/</loc><lastmod>2010-08-22T06:43:33-04:00</lastmod></url><url><loc>https://heckel.io/blog/hybrid-clouds-comparing-cloud-toolkits/</loc><lastmod>2010-05-08T21:32:11-04:00</lastmod></url><url><loc>https://heckel.io/blog/wp-un-wordpress-version-update-notification-with-cron/</loc><lastmod>2010-01-29T14:32:30-05:00</lastmod></url><url><loc>https://heckel.io/blog/how-to-postfix-as-mail-relay-with-greylisting-support/</loc><lastmod>2010-01-28T21:35:11-05:00</lastmod></url><url><loc>https://heckel.io/blog/dell-latitude-e6400-the-ubuntu-fan-and-noise-problem/</loc><lastmod>2009-09-21T15:16:32-04:00</lastmod></url><url><loc>https://heckel.io/blog/extract-text-from-pdf-files/</loc><lastmod>2009-08-09T19:17:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/categories/office/</loc><lastmod>2009-08-09T19:17:05-04:00</lastmod></url><url><loc>https://heckel.io/blog/simsafe-simple-command-line-password-safe/</loc><lastmod>2009-04-07T02:20:29-04:00</lastmod></url><url><loc>https://heckel.io/blog/kads-a-secure-version-of-the-kademlia-protocol/</loc><lastmod>2009-03-16T16:56:40-04:00</lastmod></url><url><loc>https://heckel.io/blog/server-virtualization-with-vmware-infrastructure-vsphere/</loc><lastmod>2008-11-01T16:25:51-04:00</lastmod></url><url><loc>https://heckel.io/blog/unison-and-multiple-hosts-warning-inconsistent-state/</loc><lastmod>2008-10-25T17:18:34-04:00</lastmod></url><url><loc>https://heckel.io/blog/gcaldaemon-deb-package-for-ubuntu-kubuntu/</loc><lastmod>2008-09-30T17:50:38-04:00</lastmod></url><url><loc>https://heckel.io/blog/copy-videos-from-youtube-to-your-ipod-video-with-ubuntu/</loc><lastmod>2008-07-29T18:22:04-04:00</lastmod></url><url><loc>https://heckel.io/blog/excel-add-weekdays-to-date-vba/</loc><lastmod>2008-07-29T16:07:29-04:00</lastmod></url><url><loc>https://heckel.io/blog/launch-nautilus-with-the-current-working-directory/</loc><lastmod>2008-05-16T22:33:08-04:00</lastmod></url><url><loc>https://heckel.io/blog/unison-2-27-57-on-debian-etch-and-ubuntu-hardy/</loc><lastmod>2008-05-16T01:47:32-04:00</lastmod></url><url><loc>https://heckel.io/blog/roundcube-login-via-php-script/</loc><lastmod>2008-05-16T01:44:04-04:00</lastmod></url><url><loc>https://heckel.io/blog/switch-off-sound-on-ubuntu-before-login/</loc><lastmod>2008-05-15T22:53:06-04:00</lastmod></url><url><loc>https://heckel.io/blog/hello-world/</loc><lastmod>2008-05-13T15:51:50-04:00</lastmod></url><url><loc>https://heckel.io/papers/</loc></url><url><loc>https://heckel.io/projects/</loc></url><url><loc>https://heckel.io/travel-map/</loc></url></urlset>