41554 blogs · [ { "id": "01a0d526-f487-71d1-b7c9-c5545ab54179", "title": "My Local AI Setup, Six Months Later: 48 GB, Qwen3.8, and a Different Bottleneck", "url": "https://ammar-najjar.com/blog/local-ai-setup-six-months-later/", "published_at": "2026-09-22T08:00:00+00:00" }, { "id": "01a0d526-f487-71d1-b7c9-c5545b2a8f53", "title": "Technical Leadership: Give Autonomy a Time Boundary", "url": "https://ammar-najjar.com/blog/give-autonomy-a-time-boundary/", "published_at": "2026-09-17T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b40875f7f8", "title": "The Toyota Way", "url": "https://ammar-najjar.com/books/the-toyota-way/", "published_at": "2026-08-27T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315c6e35ad", "title": "My Local AI Coding Toolkit: How I Keep Agents Fast and Token-Efficient", "url": "https://ammar-najjar.com/blog/local-ai-coding-toolkit/", "published_at": "2026-08-23T08:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b408d2abf6", "title": "Rich Dad Poor Dad", "url": "https://ammar-najjar.com/books/rich-dad-poor-dad/", "published_at": "2026-08-20T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b409822b82", "title": "Create Space", "url": "https://ammar-najjar.com/books/create-space/", "published_at": "2026-08-14T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b409979556", "title": "How Google Works", "url": "https://ammar-najjar.com/books/how-google-works/", "published_at": "2026-08-10T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b40a600146", "title": "Thinking, Fast and Slow", "url": "https://ammar-najjar.com/books/thinking-fast-and-slow/", "published_at": "2026-08-08T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b40b5bbb0f", "title": "The Five Dysfunctions of a Team", "url": "https://ammar-najjar.com/books/the-five-dysfunctions-of-a-team/", "published_at": "2026-08-02T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315c84d8e5", "title": "ngrx-graph: Static Analysis and Graph Visualization for NgRx Applications", "url": "https://ammar-najjar.com/blog/ngrx-graph/", "published_at": "2026-07-31T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315ced762a", "title": "How I Configure Cloudflare for My Website", "url": "https://ammar-najjar.com/blog/how-i-configure-cloudflare/", "published_at": "2026-07-22T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315d777adc", "title": "How This Website Works: A Technical Look at the Stack", "url": "https://ammar-najjar.com/blog/website-architecture/", "published_at": "2026-07-19T23:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315dcee07c", "title": "A Lunch Conversation Changed My Website", "url": "https://ammar-najjar.com/blog/rebuilding-website-astro/", "published_at": "2026-07-19T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315e621a3a", "title": "Making Angular AI Work in Real Projects", "url": "https://ammar-najjar.com/blog/making-angular-ai-work-in-real-projects/", "published_at": "2026-07-13T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315eb2a396", "title": "Every Camera Tells a Story", "url": "https://ammar-najjar.com/blog/every-camera-tells-a-story/", "published_at": "2026-07-08T08:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315ee89e86", "title": "Nine Years on GitHub Pages, Why I Finally Moved to Cloudflare", "url": "https://ammar-najjar.com/blog/github-pages-to-cloudflare/", "published_at": "2026-07-03T08:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315f3f37bf", "title": "Local AI on a MacBook Pro with 16 GB RAM: What Actually Works", "url": "https://ammar-najjar.com/blog/local-ai-setup/", "published_at": "2026-06-14T10:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-63315fcc63e3", "title": "Essential Development Tools: My Brewfile Setup", "url": "https://ammar-najjar.com/blog/essential-dev-tools/", "published_at": "2026-02-23T09:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-633160c064ee", "title": "Portfolio: a lightweight personal portfolio tracker", "url": "https://ammar-najjar.com/blog/portfolio/", "published_at": "2025-12-12T11:10:00+00:00" }, { "id": "01a08727-3693-7097-a723-633161764858", "title": "Mastering Git Commands: A Practical Guide", "url": "https://ammar-najjar.com/blog/mastering-git/", "published_at": "2025-07-08T18:05:50+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b41293d7c8", "title": "Atomic Habits", "url": "https://ammar-najjar.com/books/atomic-habits/", "published_at": "2025-06-24T13:55:50+00:00" }, { "id": "01a08727-3693-7097-a723-6331620bf06d", "title": "Angular - Content Projection", "url": "https://ammar-najjar.com/blog/angular-content-projection/", "published_at": "2021-06-20T09:05:50+00:00" }, { "id": "01a08727-3693-7097-a723-6331625433db", "title": "Reactjs: Arrays in jsx", "url": "https://ammar-najjar.com/blog/arrays-in-jsx/", "published_at": "2019-11-24T18:03:52+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b4132365fe", "title": "The Pragmatic Programmer, 20th Anniversary Edition", "url": "https://ammar-najjar.com/books/pragmatic-programmer/", "published_at": "2019-09-23T20:44:23+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b413b1a9a4", "title": "Book Review: Introduction to Python for Science and Engineering", "url": "https://ammar-najjar.com/books/intro-python-science-and-engineering/", "published_at": "2019-09-10T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b4145c95d7", "title": "Book Review: Python Descriptors", "url": "https://ammar-najjar.com/books/python-descriptors/", "published_at": "2019-09-02T22:00:00+00:00" }, { "id": "01a08c6f-5dfc-7305-9192-64b41548592c", "title": "Book Review: Python Tricks, The Book", "url": "https://ammar-najjar.com/books/python-tricks/", "published_at": "2019-08-31T22:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-6331629ea49e", "title": "Fetch using Gitlab API", "url": "https://ammar-najjar.com/blog/fetch-with-gitlab-api/", "published_at": "2019-02-19T13:34:35+00:00" }, { "id": "01a08727-3693-7097-a723-6331630a0a2f", "title": "PyConDe & PyData 2019", "url": "https://ammar-najjar.com/blog/pyconde-pydata-2019/", "published_at": "2019-01-01T00:00:00+00:00" }, { "id": "01a08727-3693-7097-a723-6331633ae57f", "title": "RxJS Series - Observables", "url": "https://ammar-najjar.com/blog/rxjs-observables/", "published_at": "2019-01-01T00:00:00+00:00" }, { "id": "01a08727-3694-7292-b5e9-87e3a545f4af", "title": "Custom Selenium Webdrivers using Decorators", "url": "https://ammar-najjar.com/blog/custom-selenium-webdrivers/", "published_at": "2017-04-09T05:33:18+00:00" }, { "id": "01a08727-3694-7292-b5e9-87e3a5616ba9", "title": "Fedora23 Upgrade (unlabeled home)", "url": "https://ammar-najjar.com/blog/fedora23-upgrade/", "published_at": "2016-07-03T15:07:02+00:00" }, { "id": "01a08727-3694-7292-b5e9-87e3a5ad81a9", "title": "Build Vim from Source", "url": "https://ammar-najjar.com/blog/build-vim-from-source/", "published_at": "2016-06-23T16:22:02+00:00" }, { "id": "01a08727-3694-7292-b5e9-87e3a5dd893e", "title": "Lwa4p Robot Arm Setup", "url": "https://ammar-najjar.com/blog/lwa4p-robot/", "published_at": "2016-06-22T12:43:32+00:00" }, { "id": "01a08727-3694-7292-b5e9-87e3a68854b3", "title": "Adventure through my vimrc (nvimrc)", "url": "https://ammar-najjar.com/blog/vimrc-adventure/", "published_at": "2016-06-19T06:38:02+00:00" }, { "id": "01a08727-3694-7292-b5e9-87e3a73806c6", "title": "Opencv on Openshift", "url": "https://ammar-najjar.com/blog/opencv-on-openshift/", "published_at": "2016-06-17T16:02:02+00:00" } ] posts Claim your blog
Back to ammar-najjar.com
Blog · corpus.blog/blogs/ammar-najjar.com/posts

ammar-najjar.com

ammar-najjar.com

2026

2025

2021

2019

2017

2016