41554 blogs · [ { "id": "01a08219-cdaa-7017-9dd2-6881bb9893ec", "title": "All my favorite tracing tools: eBPF, QEMU, Perfetto, new ones I built and more", "url": "https://thume.ca/2023/12/02/tracing-methods/", "published_at": "2023-12-02T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bbbcdfbd", "title": "Production Twitter on One Machine? 100Gbps NICs and NVMe are fast", "url": "https://thume.ca/2023/01/02/one-machine-twitter/", "published_at": "2023-01-02T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bc82d62b", "title": "My DIY ergonomic travel workstation with aluminum and magnets", "url": "https://thume.ca/2022/11/06/diy-travel-work-setup/", "published_at": "2022-11-06T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bcdf5b90", "title": "Latency testing remote browsing: Why display streaming is hard", "url": "https://thume.ca/2022/05/15/latency-testing-streaming/", "published_at": "2022-05-15T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bcfb9f65", "title": "Making reverse engineering tools for DEF CON Quals", "url": "https://thume.ca/2021/05/09/making-reverse-engineering-tools-for-def-con-quals/", "published_at": "2021-05-09T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bdf083ca", "title": "Implicit In-order Forests: Zooming a billion trace events at 60fps", "url": "https://thume.ca/2021/03/14/iforests/", "published_at": "2021-03-14T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881be9e4251", "title": "Hard to discover tips and apps for making macOS pleasant", "url": "https://thume.ca/2020/09/04/macos-tips/", "published_at": "2020-09-04T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bf6c157f", "title": "Reverse engineering an AI spaceship game at DEF CON CTF", "url": "https://thume.ca/2020/08/15/ropshipai/", "published_at": "2020-08-15T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881bfea721c", "title": "My tier list of interesting YouTube channels", "url": "https://thume.ca/2020/07/19/my-youtube-tier-list/", "published_at": "2020-07-19T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c04260b3", "title": "Measuring keyboard-to-photon latency with a light sensor", "url": "https://thume.ca/2020/05/20/making-a-latency-tester/", "published_at": "2020-05-20T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c046cbc3", "title": "Fragile narrow laggy asynchronous mismatched pipes kill productivity", "url": "https://thume.ca/2020/05/17/pipes-kill-productivity/", "published_at": "2020-05-17T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c093b12f", "title": "Teleforking a process onto a different computer!", "url": "https://thume.ca/2020/04/18/telefork-forking-a-process-onto-a-different-computer/", "published_at": "2020-04-18T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c09bb4d4", "title": "Numderline: Grouping digits using OpenType shaping", "url": "https://thume.ca/2019/11/02/numderline-grouping-digits-using-opentype-shaping/", "published_at": "2019-11-02T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c13354f0", "title": "Shenanigans With Hash Tables", "url": "https://thume.ca/2019/07/29/shenanigans-with-hash-tables/", "published_at": "2019-07-29T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c1b9b30f", "title": "Two Performance Aesthetics: Never Miss a Frame and Do Almost Nothing", "url": "https://thume.ca/2019/07/27/two-performance-aesthetics/", "published_at": "2019-07-27T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c2277e22", "title": "Writing a Beat Saber Patcher for the Oculus Quest", "url": "https://thume.ca/2019/07/26/writing-a-beat-saber-patcher/", "published_at": "2019-07-26T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c3144824", "title": "Models of Generics and Metaprogramming: Go, Rust, Swift, D and More", "url": "https://thume.ca/2019/07/14/a-tour-of-metaprogramming-models-for-generics/", "published_at": "2019-07-14T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c39570d4", "title": "Glitchless Metal Window Resizing", "url": "https://thume.ca/2019/06/19/glitchless-metal-window-resizing/", "published_at": "2019-06-19T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c3c7cefc", "title": "Comparing the Same Project in Rust, Haskell, C++, Python, Scala and OCaml", "url": "https://thume.ca/2019/04/29/comparing-compilers-in-rust-haskell-c-and-python/", "published_at": "2019-04-29T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c4a471cf", "title": "Writing a Compiler in Rust", "url": "https://thume.ca/2019/04/18/writing-a-compiler-in-rust/", "published_at": "2019-04-18T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c4dac2d7", "title": "My Tungsten Cube", "url": "https://thume.ca/2019/03/03/my-tungsten-cube/", "published_at": "2019-03-03T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c584f9cf", "title": "DEF CON 26 CTF Writeups: reverse, doublethink, bew, reeducation", "url": "https://thume.ca/2018/08/16/def-con-26-ctf-writeups/", "published_at": "2018-08-16T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c636eba6", "title": "Winning the DEF CON Quals CTF! Writeups: Easy Pisy, Flagsifier, Geckome", "url": "https://thume.ca/2018/05/13/winning-def-con-quals-writeups/", "published_at": "2018-05-13T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c69660a4", "title": "Fixing My Keyboard's Latency", "url": "https://thume.ca/2017/12/29/fixing-my-keyboards-latency/", "published_at": "2017-12-29T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c705ebc1", "title": "CVDisplayLink Doesn't Link To Your Display", "url": "https://thume.ca/2017/12/09/cvdisplaylink-doesnt-link-to-your-display/", "published_at": "2017-12-09T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c77237e0", "title": "Eye Tracking Mouse Control Ideas", "url": "https://thume.ca/2017/11/10/eye-tracking-mouse-control-ideas/", "published_at": "2017-11-10T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c84c2290", "title": "Designing a Tree Diff Algorithm Using Dynamic Programming and A*", "url": "https://thume.ca/2017/06/17/tree-diffing/", "published_at": "2017-06-17T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c8ef2577", "title": "Things I've Learned Doing Internships", "url": "https://thume.ca/2017/04/06/learning-through-job-diversity/", "published_at": "2017-04-06T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c99caeaf", "title": "My Text Editor Journey: Vim, Spacemacs, Atom and Sublime Text", "url": "https://thume.ca/2017/03/04/my-text-editor-journey-vim-spacemacs-atom-and-sublime-text/", "published_at": "2017-03-04T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881c9f07edc", "title": "Disassembling Sublime Text", "url": "https://thume.ca/2016/12/03/disassembling-sublime-text/", "published_at": "2016-12-03T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cabc4301", "title": "Advanced Hackery With The Hammerspoon Window Manager", "url": "https://thume.ca/2016/07/16/advanced-hackery-with-the-hammerspoon-window-manager/", "published_at": "2016-07-16T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cada0271", "title": "Simple Binary Formats and Terrible Hacks", "url": "https://thume.ca/2016/04/03/simple-binary-formats-and-terrible-hacks/", "published_at": "2016-04-03T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cb6fb86d", "title": "Eye Tracker Reviews: Pupil Labs, Tobii, Eye Tribe, XLabs", "url": "https://thume.ca/2016/03/24/eye-tracker-reviews-pupil-labs-tobii-eyex-eye-tribe-tobii-x2-30/", "published_at": "2016-03-24T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cb8ff5c4", "title": "A Reverse Engineering Adventure: Eye Tribe's USB Protocol", "url": "https://thume.ca/2016/02/02/a-reverse-engineering-adventure-eye-tribes-usb-protocol/", "published_at": "2016-02-02T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cbc99a70", "title": "Amazing Profs of Waterloo 2015", "url": "https://thume.ca/2015/11/19/amazing-profs-of-waterloo-2015/", "published_at": "2015-11-19T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cbe319bb", "title": "Wikipedia Link Graphs and Terrible Hacks", "url": "https://thume.ca/2015/03/30/wikipedia-link-graphs-and-terrible-hacks/", "published_at": "2015-03-30T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881ccce7093", "title": "Idea: A Viral Industrial Charity", "url": "https://thume.ca/2015/03/14/idea-a-viral-industrial-charity/", "published_at": "2015-03-14T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cd5e3119", "title": "Configuring Spacemacs: A Tutorial", "url": "https://thume.ca/howto/2015/03/07/configuring-spacemacs-a-tutorial/", "published_at": "2015-03-07T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cdf37207", "title": "Using Mjolnir: An Extensible OSX Window Manager", "url": "https://thume.ca/howto/2014/12/02/using-mjolnir-an-extensible-osx-window-manager/", "published_at": "2014-12-02T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cdfb80f0", "title": "Designing and Building a Keyboard: The Body", "url": "https://thume.ca/2014/09/08/creating-a-keyboard-1-hardware/", "published_at": "2014-09-08T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881ced67799", "title": "A Tour of the Ruby Standard Library", "url": "https://thume.ca/2014/06/25/a-tour-of-the-ruby-standard-library/", "published_at": "2014-06-25T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cfae652c", "title": "Hacking Math Homework", "url": "https://thume.ca/2013/12/09/math-summative-program/", "published_at": "2013-12-09T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881cfd967c3", "title": "Typing Faster", "url": "https://thume.ca/2013/09/30/learning-dvorak/", "published_at": "2013-09-30T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d04f8fde", "title": "The Best Search Engine For Programmers", "url": "https://thume.ca/2013/05/17/best-search-engine/", "published_at": "2013-05-17T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d10bf01e", "title": "Too Many Projects, Not Enough pro", "url": "https://thume.ca/2013/05/01/too-many-projects-not-enough-pro/", "published_at": "2013-05-01T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d16052cc", "title": "The Best Programming Game", "url": "https://thume.ca/2013/04/10/the-best-programming-videogame/", "published_at": "2013-04-10T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d1b2f0d5", "title": "Contributing to Eclipse", "url": "https://thume.ca/2013/03/29/contributing-to-eclipse/", "published_at": "2013-03-29T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d2952b3f", "title": "Ottawa Ruby Lightning Talks", "url": "https://thume.ca/2013/02/06/ottawa-ruby-lightning-talks/", "published_at": "2013-02-06T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d3233e97", "title": "Hacking English Class", "url": "https://thume.ca/2013/01/24/hacking-english-class/", "published_at": "2013-01-24T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d369591b", "title": "Using Slate: A Hacker's Window Manager for Macs", "url": "https://thume.ca/howto/2012/11/19/using-slate/", "published_at": "2012-11-19T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d3e7c0c6", "title": "Magic PNG Thumbnails", "url": "https://thume.ca/projects/2012/11/14/magic-png-files/", "published_at": "2012-11-14T00:00:00+00:00" }, { "id": "01a08219-cdaa-7017-9dd2-6881d4255e20", "title": "Simple, accurate eye center tracking in OpenCV", "url": "https://thume.ca/projects/2012/11/04/simple-accurate-eye-center-tracking-in-opencv/", "published_at": "2012-11-04T00:00:00+00:00" } ] posts Claim your blog
Back to Tristan Hume
Blog · corpus.blog/blogs/thume.ca/posts

Tristan Hume

thume.ca

2023

2022

2021

2020

2019

2018

2017

2016

2015

2014

2013

2012