41554 blogs · [ { "id": "01a0d0db-05d5-72fd-87ee-5eb0b45cf2a9", "title": "Ahmed El Gabri | Software Engineer", "url": "https://gabri.me", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0d0db-05d5-72fd-87ee-5eb0b475761d", "title": null, "url": "https://gabri.me/card", "published_at": "2026-09-20T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a6f61149", "title": "Introducing git-wt: Worktrees Simplified", "url": "https://gabri.me/blog/git-wt", "published_at": "2026-02-04T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a75f2a6b", "title": "Git Worktrees Done Right", "url": "https://gabri.me/blog/git-worktrees-done-right", "published_at": "2026-02-02T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a7b40fe2", "title": "RTL on the web, web related tools & maybe more...", "url": "https://gabri.me/blog/rtl-on-the-web-and-more", "published_at": "2018-03-28T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a7c3c4d0", "title": "Death by thousand config files", "url": "https://gabri.me/blog/death-by-thousand-config-files", "published_at": "2017-08-27T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a8353d72", "title": "Multiple files search and replace in vim", "url": "https://gabri.me/blog/multiple-files-search-and-replace-in-vim", "published_at": "2017-03-12T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a871b435", "title": "Analyzing & optimizing your webpack bundle", "url": "https://gabri.me/blog/analyzing-optimizing-your-webpack-bundle", "published_at": "2017-01-29T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a8d7202d", "title": "Migrating from Evernote", "url": "https://gabri.me/blog/evernote-to-jrnl", "published_at": "2015-11-08T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a96ee37c", "title": "DIY Vim statusline", "url": "https://gabri.me/blog/diy-vim-statusline", "published_at": "2015-10-05T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98a9eecaf2", "title": "Making the default gulp task useful", "url": "https://gabri.me/blog/making-the-default-gulp-task-useful", "published_at": "2014-07-26T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98aae11d32", "title": "No more hosts file with dnsmasq", "url": "https://gabri.me/blog/no-more-hosts-file-with-dnsmasq", "published_at": "2013-09-27T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98abbe7551", "title": "Global scope, namespacing & CSS", "url": "https://gabri.me/blog/global-scope-namespacing-css", "published_at": "2013-08-06T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98ac48efd0", "title": "Sass mixin for auto-numbering with CSS", "url": "https://gabri.me/blog/sass-mixin-for-auto-numbering-with-css", "published_at": "2013-05-25T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98acf62d86", "title": "Quick tip: VirtualBox & localhost", "url": "https://gabri.me/blog/quick-tip-virtualbox-localhost", "published_at": "2013-04-19T00:00:00+00:00" }, { "id": "01a0877b-2e91-70d2-a13a-0b98ad6ec928", "title": "Custom colors in your ZSH prompt", "url": "https://gabri.me/blog/custom-colors-in-your-zsh-prompt", "published_at": "2013-01-24T00:00:00+00:00" } ] posts Claim your blog
Back to gabri.me
Blog · corpus.blog/blogs/gabri.me/posts

gabri.me

gabri.me

2026

2018

2017

2015

2014

2013