René's URL Explorer Experiment


Title: John Freeman

Mail addresses
jfreeman08@gmail.com

Opengraph URL: https://jfreeman.dev/

X: @thejohnfreeman

direct link

Domain: jfreeman.dev

og:typearticle
article:authorJohn Freeman
og:imagehttps://jfreeman.dev/img/neuschwanstein.webp
og:image:typeimage/webp
og:image:width800
og:image:height534
og:image:altNeuschwanstein Castle
twitter:cardsummary
twitter:urlhttps://jfreeman.dev/
twitter:imagehttps://jfreeman.dev/img/neuschwanstein.webp
twitter:image:altNeuschwanstein Castle

Links:

John Freemanhttps://jfreeman.dev/
Bloghttps://jfreeman.dev/
A crash course in CMake and Conanhttps://jfreeman.dev/blog/2025/06/30/a-crash-course-in-cmake-and-conan/
Understanding the suite of copy functions in bazel-libhttps://jfreeman.dev/blog/2025/06/28/understanding-the-suite-of-copy-functions-in-bazel-lib/
Finding primes with template metaprogramming in modern C++https://jfreeman.dev/blog/2025/06/26/finding-primes-with-template-metaprogramming-in-modern-c++/
PGP key migration with GPGhttps://jfreeman.dev/blog/2025/05/20/pgp-key-migration-with-gpg/
A gentle introduction to GPGhttps://jfreeman.dev/blog/2025/05/19/a-gentle-introduction-to-gpg/
How do you stop a background process?https://jfreeman.dev/blog/2024/04/02/how-do-you-stop-a-background-process/
How can we pass a std::source_location as a template argument?https://jfreeman.dev/blog/2023/11/15/how-can-we-pass-a-std::source_location-as-a-template-argument/
Thread-local globalshttps://jfreeman.dev/blog/2023/06/07/thread-local-globals/
The trouble with CMake configurationshttps://jfreeman.dev/blog/2021/10/22/the-trouble-with-cmake-configurations/
A general build model for C++https://jfreeman.dev/blog/2021/10/15/a-general-build-model-for-c++/
C++ build hellhttps://jfreeman.dev/blog/2021/10/14/c++-build-hell/
How to run a Windows container from a Windows 10 virtual machinehttps://jfreeman.dev/blog/2021/09/01/how-to-run-a-windows-container-from-a-windows-10-virtual-machine/
How I debugged my Audioengine HD3 speakers in Linuxhttps://jfreeman.dev/blog/2021/07/13/how-i-debugged-my-audioengine-hd3-speakers-in-linux/
Balanced functions in C++https://jfreeman.dev/blog/2021/03/22/balanced-functions-in-c++/
What I learned by fixing my pool heaterhttps://jfreeman.dev/blog/2021/01/04/what-i-learned-by-fixing-my-pool-heater/
Python metaclasseshttps://jfreeman.dev/blog/2020/12/07/python-metaclasses/
Verifiable electionshttps://jfreeman.dev/blog/2020/11/05/verifiable-elections/
How to initialize a Docker container without building an imagehttps://jfreeman.dev/blog/2020/02/10/how-to-initialize-a-docker-container-without-building-an-image/
What I learned making a Docker container for building C++ on Windowshttps://jfreeman.dev/blog/2019/07/09/what-i-learned-making-a-docker-container-for-building-c++-on-windows/
Ad hoc polymorphism in Pythonhttps://jfreeman.dev/blog/2019/07/01/ad-hoc-polymorphism-in-python/
Trying Conan with Modern CMake: Packaginghttps://jfreeman.dev/blog/2019/06/27/trying-conan-with-modern-cmake:-packaging/
What is a binary software package?https://jfreeman.dev/blog/2019/06/05/what-is-a-binary-software-package/
Trying Conan with Modern CMake: Dependencieshttps://jfreeman.dev/blog/2019/05/22/trying-conan-with-modern-cmake:-dependencies/
Python on Railshttps://jfreeman.dev/blog/2019/05/13/python-on-rails/
Why is it so hard to write a scaffolding tool?https://jfreeman.dev/blog/2019/05/02/why-is-it-so-hard-to-write-a-scaffolding-tool/
Cookiecutter vs Yeomanhttps://jfreeman.dev/blog/2019/04/24/cookiecutter-vs-yeoman/
Endiannesshttps://jfreeman.dev/blog/2019/04/09/endianness/
Understanding GitLab Runnerhttps://jfreeman.dev/blog/2019/03/22/understanding-gitlab-runner/
A gentle introduction to scripting Amazon EC2https://jfreeman.dev/blog/2019/01/18/a-gentle-introduction-to-scripting-amazon-ec2/
Escaping pipeline hellhttps://jfreeman.dev/blog/2019/01/09/escaping-pipeline-hell/
The evolution of asynchronous programming in JavaScripthttps://jfreeman.dev/blog/2019/01/07/the-evolution-of-asynchronous-programming-in-javascript/
How to use an ignore file with treehttps://jfreeman.dev/blog/2018/12/26/how-to-use-an-ignore-file-with-tree/
Fact-checking Andrew Yang on Universal Basic Incomehttps://jfreeman.dev/blog/2018/07/22/fact-checking-andrew-yang-on-universal-basic-income/
The case for performance-enhancing drugshttps://jfreeman.dev/blog/2013/01/19/the-case-for-performance-enhancing-drugs/
QuickCheck for C++https://jfreeman.dev/blog/2013/01/15/quickcheck-for-c++/
Building libc++ on Mac OS X 10.6https://jfreeman.dev/blog/2012/11/07/building-libc++-on-mac-os-x-10.6/
Sculpting a documenthttps://jfreeman.dev/blog/2012/08/18/sculpting-a-document/
Efficient closures in JavaScripthttps://jfreeman.dev/blog/2012/08/18/efficient-closures-in-javascript/
Error-handling in JavaScripthttps://jfreeman.dev/blog/2012/04/26/error-handling-in-javascript/
Disqus with Markdownhttps://jfreeman.dev/blog/2012/04/25/disqus-with-markdown/
Moved to Jekyllhttps://jfreeman.dev/blog/2012/04/22/moved-to-jekyll/
Template inheritance for Handlebarshttps://jfreeman.dev/blog/2012/03/23/template-inheritance-for-handlebars/
The merits of inline documentationhttps://jfreeman.dev/blog/2012/03/21/the-merits-of-inline-documentation/
thejohnfreeman https://github.com/thejohnfreeman
thejohnfreeman https://twitter.com/thejohnfreeman
thejohnfreeman https://www.linkedin.com/in/thejohnfreeman
John Freeman https://stackoverflow.com/users/618906/john-freeman

Viewport: width=device-width, initial-scale=1, shrink-to-fit=no


URLs of crawlers that visited me.