57,803 blogs · [ { "id": "01a087d7-6f8b-731a-a279-2895d45c76a7", "title": "How to discover and search tmux key bindings?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/16/discover-tmux-key-bindings/", "published_at": "2026-07-16T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d52c90b1", "title": "How to run a tmux command from inside a session?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/15/run-tmux-command-interactively/", "published_at": "2026-07-15T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d6222882", "title": "How to reload your tmux config without restarting?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/14/reload-tmux-config/", "published_at": "2026-07-14T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d6f6b4ae", "title": "How to reorganize a tmux layout?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/13/tmux-layouts/", "published_at": "2026-07-13T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d73a55d0", "title": "How to swap two tmux panes?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/10/swap-tmux-panes/", "published_at": "2026-07-10T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d8380919", "title": "How to move a tmux pane to another session without restarting its process?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/09/move-tmux-pane-between-sessions/", "published_at": "2026-07-09T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d8b6a938", "title": "How to move a tmux pane with relative targets?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/08/move-tmux-pane-relative-targets/", "published_at": "2026-07-08T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d8d74b8d", "title": "How to move a pane from one tmux window to another?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/07/move-pane-between-tmux-windows/", "published_at": "2026-07-07T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895d99a7023", "title": "How to mark a tmux pane and target it from anywhere?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/06/mark-tmux-pane-target-anywhere/", "published_at": "2026-07-06T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895da593d01", "title": "How to target tmux windows with special tokens?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/03/target-tmux-windows-special-tokens/", "published_at": "2026-07-03T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895daf7581a", "title": "How to target the right tmux pane by number?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/02/target-tmux-pane-by-number/", "published_at": "2026-07-02T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895db234dbf", "title": "How to make tmux number windows and panes from 1?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/07/01/number-tmux-windows-panes-from-one/", "published_at": "2026-07-01T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895db83576a", "title": "How to select and copy text with the mouse in tmux?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/30/copy-text-with-the-mouse-in-tmux/", "published_at": "2026-06-30T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895dc765d50", "title": "How to resize a tmux pane?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/29/resize-tmux-pane/", "published_at": "2026-06-29T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895dd03a4ca", "title": "How to zoom a tmux pane to fullscreen?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/26/zoom-tmux-pane/", "published_at": "2026-06-26T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ddfa9b25", "title": "How to jump back to the last active tmux pane?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/25/return-to-last-active-tmux-pane/", "published_at": "2026-06-25T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895deeb768f", "title": "How to move between tmux panes?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/24/move-between-tmux-panes/", "published_at": "2026-06-24T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895df86756e", "title": "How to get notified of activity or silence in a tmux window?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/23/monitor-tmux-window-activity-silence/", "published_at": "2026-06-23T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895dfd561ff", "title": "How to stop tmux from renaming your windows?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/22/control-tmux-automatic-window-rename/", "published_at": "2026-06-22T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e002abd8", "title": "How to renumber tmux windows and close the gaps?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/19/renumber-tmux-windows/", "published_at": "2026-06-19T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e06b66d4", "title": "How to reorder tmux windows?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/18/reorder-tmux-windows/", "published_at": "2026-06-18T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e0a49acf", "title": "How to navigate between tmux windows?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/17/navigate-tmux-windows/", "published_at": "2026-06-17T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e104c725", "title": "How to split a tmux window into panes?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/16/split-tmux-window-into-panes/", "published_at": "2026-06-16T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e1aa16f6", "title": "How to control a nested tmux session (send the prefix to the inner one)?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/15/control-nested-tmux-send-prefix/", "published_at": "2026-06-15T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e1db3f89", "title": "How to kill a tmux session, or the whole server?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/12/kill-tmux-session-or-server/", "published_at": "2026-06-12T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e2441043", "title": "How to switch between tmux sessions without detaching?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/11/switch-tmux-session-without-detaching/", "published_at": "2026-06-11T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e321ea62", "title": "How to manage tmux clients (list, kick out, disconnect)?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/10/manage-tmux-clients/", "published_at": "2026-06-10T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e36df9bd", "title": "How to rename a tmux session or window?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/09/rename-tmux-session-window/", "published_at": "2026-06-09T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e380eab6", "title": "How to detach, list, and re-attach a tmux session?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/08/detach-list-attach-tmux-session/", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e47b16f1", "title": "How to start a named tmux session with a window name and a directory?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/05/start-named-tmux-session-window-directory/", "published_at": "2026-06-05T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e4a67f9c", "title": "How to create or attach to a tmux session in one command?", "url": "https://romain.dorgueil.net/blog/en/tips/2026/06/04/create-or-attach-tmux-session/", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e52b7701", "title": "Simple ETL with Bonobo - Europython 2017", "url": "https://romain.dorgueil.net/blog/en/talk/2017/07/12/simple-etl-with-bonobo-europython-2017/", "published_at": "2017-07-12T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e5c73126", "title": "Your best SEO strategy is to ignore it", "url": "https://romain.dorgueil.net/blog/en/startup/2016/10/10/your-best-seo-strategy-is-to-ignore-it/", "published_at": "2016-10-10T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e5ed27ce", "title": "How to hint search engines about pagination?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/09/12/meta-tags-pagination-canonical/", "published_at": "2016-09-12T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e6584876", "title": "How to clean up already merged git branches?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/09/09/cleanup-merged-git-branches/", "published_at": "2016-09-09T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e6b4bbbd", "title": "How to redirect non-www versions of your website in nginx?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/09/08/redirect-non-www-to-main/", "published_at": "2016-09-08T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e70bf1f0", "title": "Instrument, Measure and Learn", "url": "https://romain.dorgueil.net/blog/en/web-performance/2016/09/06/4-instrumentation-measure-learn/", "published_at": "2016-09-06T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e717e5c5", "title": "Amazon Cloudfront as our Content Delivery Network", "url": "https://romain.dorgueil.net/blog/en/web-performance/2016/09/06/3-amazon-cloudfront-cdn/", "published_at": "2016-09-06T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e7ca91fb", "title": "Nginx, pagespeed and a simple node.js backend", "url": "https://romain.dorgueil.net/blog/en/web-performance/2016/09/06/2-nginx-pagespeed-nodejs/", "published_at": "2016-09-06T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e81be582", "title": "Serving the web at light-speed", "url": "https://romain.dorgueil.net/blog/en/web-performance/2016/09/06/1-light-speed-web-performance/", "published_at": "2016-09-06T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e8cbc5f0", "title": "How to run asynchronous python callables in parallel?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/09/05/asynchronous-python-parralel/", "published_at": "2016-09-05T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e8fe034a", "title": "How to rollout or rollback a deployment on a Kubernetes cluster?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/08/27/rollout-rollback-kubernetes-deployment/", "published_at": "2016-08-27T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e91e408e", "title": "How to manage your releases using git-semver?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/08/20/releases-with-git-semver/", "published_at": "2016-08-20T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895e9c377df", "title": "How to retrieve the path where the running script is located?", "url": "https://romain.dorgueil.net/blog/en/tips/2016/08/16/retrieve-a-shell-script-current-path/", "published_at": "2016-08-16T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ea9db377", "title": "Planning poker is not about estimating", "url": "https://romain.dorgueil.net/blog/en/agile/2016/08/02/planning-poker-is-not-about-estimating/", "published_at": "2016-08-02T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895eb627b2e", "title": "Future is now", "url": "https://romain.dorgueil.net/blog/en/europython/2016/07/28/future-is-now/", "published_at": "2016-07-28T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ebb2d162", "title": "Asynchronous programming with python", "url": "https://romain.dorgueil.net/blog/en/europython/2016/07/27/asynchronous-programming/", "published_at": "2016-07-27T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ebf21a79", "title": "Data processing", "url": "https://romain.dorgueil.net/blog/en/europython/2016/07/27/data-processing/", "published_at": "2016-07-27T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ec4c0c11", "title": "Testing", "url": "https://romain.dorgueil.net/blog/en/europython/2016/07/27/testing/", "published_at": "2016-07-27T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ec8a5502", "title": "Web scraping", "url": "https://romain.dorgueil.net/blog/en/europython/2016/07/27/web-scraping/", "published_at": "2016-07-27T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ed6a0546", "title": "EuroPython 2016", "url": "https://romain.dorgueil.net/blog/en/europython/2016/07/26/europython-2016/", "published_at": "2016-07-26T00:00:00+00:00" }, { "id": "01a087d7-6f8b-731a-a279-2895ee35b8f7", "title": "Docker: The container (r)evolution", "url": "https://romain.dorgueil.net/blog/en/talk/2014/12/27/docker-the-container-revolution/", "published_at": "2014-12-27T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-86267fb071af", "title": "Private Registry 103: Nginx front container", "url": "https://romain.dorgueil.net/blog/en/docker/2014/12/22/docker-registry-nginx-front-container/", "published_at": "2014-12-22T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-86268019eb9b", "title": "Private Registry 102: Use Amazon S3 for data storage", "url": "https://romain.dorgueil.net/blog/en/docker/2014/12/21/docker-registry-amazon-s3-storage-backend/", "published_at": "2014-12-21T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-86268062f063", "title": "Private Registry 101: Setup a local private repository", "url": "https://romain.dorgueil.net/blog/en/docker/2014/12/20/docker-setup-a-private-registry/", "published_at": "2014-12-20T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-8626807441d0", "title": "Configuration and aliases", "url": "https://romain.dorgueil.net/blog/en/git/2014/12/16/git-config/", "published_at": "2014-12-16T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-8626810f8543", "title": "I see huge controllers ...", "url": "https://romain.dorgueil.net/blog/en/php/2011/09/05/i-see-huge-controllers/", "published_at": "2011-09-05T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-8626817864bb", "title": "Give your WSGI application super-powers", "url": "https://romain.dorgueil.net/blog/en/python/2011/08/29/give-your-app-superpowers/", "published_at": "2011-08-29T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-862681f7a28c", "title": "WSGI, the first steps", "url": "https://romain.dorgueil.net/blog/en/python/2011/08/22/wsgi-the-first-steps/", "published_at": "2011-08-22T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-86268268ba06", "title": "Handling empty WHERE IN clauses in DBALs", "url": "https://romain.dorgueil.net/blog/en/database/2011/01/10/handling-empty-where-in-clauses-in-dbals/", "published_at": "2011-01-10T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-862682bd6267", "title": "HTTP is the web's language", "url": "https://romain.dorgueil.net/blog/en/the-roots/2010/01/24/http-is-the-webs-language/", "published_at": "2010-01-24T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-862683494621", "title": "All about backward compatibility...", "url": "https://romain.dorgueil.net/blog/en/software/2009/09/23/all-about-backward-compatibility/", "published_at": "2009-09-23T00:00:00+00:00" }, { "id": "01a087d7-6f8c-734b-bb3b-8626843ea3c7", "title": "Foreign key's onDelete for dummies", "url": "https://romain.dorgueil.net/blog/en/database/2008/07/10/foreign-keys-ondelete-for-dummies/", "published_at": "2008-07-10T00:00:00+00:00" } ] posts Claim your blog
Back to romain.dorgueil.net
Blog · corpus.blog/blogs/romain.dorgueil.net/posts

romain.dorgueil.net

romain.dorgueil.net

2026

2017

2016

2014

2011

2010

2009

2008