Brian TakitaFull Stack Software, Design, Author, & SEOhttps://briantakita.meIntroducing agent-doc: Documents as the UI for AI Agentshttps://briantakita.me/posts/introducing-agent-dochttps://briantakita.me/posts/introducing-agent-docagent-doc turns markdown files into persistent, editable, version-controlled conversations with AI agents. No more ephemeral chat — your documents are the UI.Thu Mar 05 2026 14:00:00 GMT+0000 (Coordinated Universal Time)Signals Proposal Compared to rmemo/WeakRefhttps://briantakita.me/posts/signals-proposal-compared-to-rmemo-weak-refhttps://briantakita.me/posts/signals-proposal-compared-to-rmemo-weak-refWeakRef can simplify systems built using the Signals Proposal. By removing the need to unwatch live Signals. WeakRef is criticized for having extra memory allocations & being slow. This post shows benchmarks. Including the Signals Proposal polyfill & rmemo, a reactive library that uses WeakRef. Comparing performance, memory usage, & implementation. V8 & Javascript Core have different Garbage Collection behavior for WeakRef. This caused me confusion with my initial benchmarks which were only synchronous. Along with demonstrating the implementations. This post then highlights use cases where WeakRef can be used for simple & flexible reactive apis.Thu Jun 06 2024 06:56:43 GMT+0000 (Coordinated Universal Time)Squarespace Site Lighthouse Scoreshttps://briantakita.me/posts/squarespace-site-lighthouse-scoreshttps://briantakita.me/posts/squarespace-site-lighthouse-scoresLet's analyze the performance of some Squarespace sites. Along with the fastest WordPress & Shopify themes.Wed Mar 06 2024 01:41:02 GMT+0000 (Coordinated Universal Time)Tag Vector Interpreted by Chat GPThttps://briantakita.me/posts/tag-vector-interpreted-by-chat-gpthttps://briantakita.me/posts/tag-vector-interpreted-by-chat-gptAn experiment using Chat GPT 3.5 on a Tag Vector blog postSun Feb 18 2024 17:28:10 GMT+0000 (Coordinated Universal Time)Introducing rmemohttps://briantakita.me/posts/2023-12-04-introducing-rmemohttps://briantakita.me/posts/2023-12-04-introducing-rmemoIntroducing the rmemo reactive state management library.Mon Dec 04 2023 03:12:00 GMT+0000 (Coordinated Universal Time)Log 2023-11-06https://briantakita.me/posts/log-2023-11-06https://briantakita.me/posts/log-2023-11-06Data layer definitionsMon Nov 06 2023 14:43:00 GMT+0000 (Coordinated Universal Time)Log 2023-10-29https://briantakita.me/posts/log-2023-10-29https://briantakita.me/posts/log-2023-10-29CMS exploration: Strapi, GrapeJS, CodeMirror, Astrojs, Vite, Vercel, Fly.ioSun Oct 29 2023 08:31:00 GMT+0000 (Coordinated Universal Time)Tag Vector: Part 1: Tag Vector Conventionhttps://briantakita.me/posts/tag-vector-1-tag-vector-conventionhttps://briantakita.me/posts/tag-vector-1-tag-vector-conventionA technical description of the Tag Name ConventionFri Oct 20 2023 05:00:00 GMT+0000 (Coordinated Universal Time)Tag Vector: Part 0: Introductionhttps://briantakita.me/posts/tag-vector-0-introductionhttps://briantakita.me/posts/tag-vector-0-introductionTag Vector is a name system where tags connected as a vector form a name. Tag Vector can name variables, functions, components, network apis, low code apps, & prose.Fri Oct 20 2023 05:00:00 GMT+0000 (Coordinated Universal Time)My history with reactive state management & how I ended up using ctx-core & nanostoreshttps://briantakita.me/posts/my-history-with-state-management-and-ctx-core-nanostoreshttps://briantakita.me/posts/my-history-with-state-management-and-ctx-core-nanostoresA brief account of my history with state management & the road to building ctx-core & adopting nanostoresTue Oct 17 2023 15:35:28 GMT+0000 (Coordinated Universal Time)My new personal sitehttps://briantakita.me/posts/personal-site-written-with-astro-solidjs-ctx-core-nanostoreshttps://briantakita.me/posts/personal-site-written-with-astro-solidjs-ctx-core-nanostoresHow I built my new site, using Astrojs, Solidjs, ctx-core, Nanostores, Tailwind.Tue Oct 17 2023 15:35:28 GMT+0000 (Coordinated Universal Time)Multi Underscore Tag Naming Convention Analysishttps://briantakita.me/posts/multi-underscore-tag-naming-convention-analysishttps://briantakita.me/posts/multi-underscore-tag-naming-convention-analysisNaming Convention that utilizes underscores to articulate relationships to tags.Mon Apr 15 2019 20:20:00 GMT+0000 (Coordinated Universal Time)Log 2019-04-15https://briantakita.me/posts/log-2019-04-15https://briantakita.me/posts/log-2019-04-152019-04-15: Multi Underscore Tag Naming ConventionMon Apr 15 2019 12:00:00 GMT+0000 (Coordinated Universal Time)Log 2019-04-03https://briantakita.me/posts/log-2019-04-03https://briantakita.me/posts/log-2019-04-032019-04-03: Naming Conventions, Sveltejs, HolochainWed Apr 03 2019 12:00:00 GMT+0000 (Coordinated Universal Time)Naming Conventionshttps://briantakita.me/posts/naming-conventionshttps://briantakita.me/posts/naming-conventionsNaming Conventions to encode the meaning & context of abstractionsTue Feb 27 2018 20:30:00 GMT+0000 (Coordinated Universal Time)Svelte JS from Pughttps://briantakita.me/posts/sveltejs-from-pughttps://briantakita.me/posts/sveltejs-from-pugOn my current project, I will be migrating from Pug to Svelte. The key concepts are Server Side Rendering, Hydration, client/server architectural options.Sat Jul 22 2017 09:00:00 GMT+0000 (Coordinated Universal Time)Svelte JS from Riot JShttps://briantakita.me/posts/sveltejs-from-riotjshttps://briantakita.me/posts/sveltejs-from-riotjsCreating Web Components/Web Apps has never been more pleasurable. It's out with the old & in with the new. I converted my client's project to use Svelte JS from Riot JS. This post highlights some considerations why I chose Svelte & a sample web component using Svelte.Tue Jul 04 2017 00:30:00 GMT+0000 (Coordinated Universal Time)When We become a Muse to Our Toolshttps://briantakita.me/posts/when-we-become-a-muse-to-our-toolshttps://briantakita.me/posts/when-we-become-a-muse-to-our-toolsWhat happens when we become a muse to our tools?Sun Jun 11 2017 11:00:00 GMT+0000 (Coordinated Universal Time)Monorepo Static Sites using Svelte JS, Rollup, ctx-core, & Bashhttps://briantakita.me/posts/monorepo-static-sites-using-sveltejs-rollup-bashhttps://briantakita.me/posts/monorepo-static-sites-using-sveltejs-rollup-bashBuilding my old site briantakita.com using sveltejs, rollupjs, ctx-core, bashWed Jun 07 2017 05:30:00 GMT+0000 (Coordinated Universal Time)Github Pages Custom DNS Gotchahttps://briantakita.me/posts/github-pages-custom-dns-gotchahttps://briantakita.me/posts/github-pages-custom-dns-gotchaFixing a DNS-related 404 error with Github Pages.Mon Sep 05 2016 07:53:00 GMT+0000 (Coordinated Universal Time)Monorepo Musings with ctx-corehttps://briantakita.me/posts/monorepo-musings-with-ctx-corehttps://briantakita.me/posts/monorepo-musings-with-ctx-coreMonorepos Create a Holistic Way to Develop Domains & PlatformsThu Feb 25 2016 11:00:00 GMT+0000 (Coordinated Universal Time)Feeling Abstractionhttps://briantakita.me/posts/feeling-abstractionhttps://briantakita.me/posts/feeling-abstractionReductionist mechanisms in Physical Existence are Energy & Energy Transfer. We are all physically made of Energy. Feeling an abstract notion such as Energy Transfer may seem tricky; however, it's simply connection. A trick to feeling abstract terms is connect to something more familiar, such as a physical sensation.Sun Jan 18 2015 04:00:00 GMT+0000 (Coordinated Universal Time)Do Not Worry, Everything Existshttps://briantakita.me/posts/everything-existshttps://briantakita.me/posts/everything-existsDoes God exist? Surely, Santa Claus & Unicorns do not exist. Yet we are talking about them. If they don't exist, why & how am I talking about them? Santa Claus & Unicorns do exist, as fictional characters; more on God later. Everything Exists. The concept conceptually exists. It may also physically exist; like the men who name themselves Santa Claus.Sat Jan 03 2015 11:45:00 GMT+0000 (Coordinated Universal Time)Why Say History When You Can Say Story?https://briantakita.me/posts/why-say-history-when-you-can-say-storyhttps://briantakita.me/posts/why-say-history-when-you-can-say-storyIn culture, we are taught to distinguish history & story as two separate concepts. Some (falsely) think of history being a masculine version of story (his story). However, history & story can be used interchangeably. Here's why.Fri Dec 19 2014 05:50:00 GMT+0000 (Coordinated Universal Time)Magic Connections with the Philosophy of Languagehttps://briantakita.me/posts/magic-connections-with-the-philosophy-of-languagehttps://briantakita.me/posts/magic-connections-with-the-philosophy-of-languageMagic exists! Well, if you have listened to me lately, you will hear that everything exists (including fiction). When everything exists, we can recapture the entirety of language from those who impose restrictions on Existence. We have all heard "that does not exist". We can now say, "that" does exist & "that" is a useful concept.Wed Dec 10 2014 07:15:00 GMT+0000 (Coordinated Universal Time)Philosophy — Existence is God & God Existshttps://briantakita.me/posts/philosophy-existence-is-god-god-existshttps://briantakita.me/posts/philosophy-existence-is-god-god-existsI’m happy to utilize, and prove, God’s existence. Since Existence is God and Existence, well exists, God Exists in this Philosophy. It’s about how God & Existence is defined.Wed Dec 03 2014 12:00:00 GMT+0000 (Coordinated Universal Time)Automated Black Box Testinghttps://briantakita.me/posts/automated-black-box-testinghttps://briantakita.me/posts/automated-black-box-testingMy journey to preferring automated black box testing over white box testing.Sun Sep 15 2013 02:31:00 GMT+0000 (Coordinated Universal Time)Fast and Thorough Testing with Jasmine Flowhttps://briantakita.me/posts/jasmine-flow-fast-and-thourough-testinghttps://briantakita.me/posts/jasmine-flow-fast-and-thourough-testingFlow testing in Jasmine with Jasmine Flow.Sat Sep 14 2013 02:00:00 GMT+0000 (Coordinated Universal Time)Re: Doing Good in the Addiction Economyhttps://briantakita.me/posts/re-doing-good-in-the-addiction-economyhttps://briantakita.me/posts/re-doing-good-in-the-addiction-economyInteresting but long-winded post, IMO. But then, maybe my impatience toward long posts is telling in the short term rewards culture we live in. Of course, time is valuable, and trying to get to the core concept of some the writing is often the goal. We don’t seem to savor the journey as much, or the journey has changed to be our lives toward success…Sun Sep 08 2013 18:13:00 GMT+0000 (Coordinated Universal Time)Fractal Therapyhttps://briantakita.me/posts/fractal-therapyhttps://briantakita.me/posts/fractal-therapyWho knew that Fractal Zoom videos can be therapeutic?Sat Sep 07 2013 10:13:00 GMT+0000 (Coordinated Universal Time)backbone-signal - Practical Reactive Programming in Javascripthttps://briantakita.me/posts/backbone-signal-practical-reactive-programming-javascripthttps://briantakita.me/posts/backbone-signal-practical-reactive-programming-javascriptIntroducing backbone-signal, which adds Signals to Backbonejs.Sat Sep 07 2013 05:16:00 GMT+0000 (Coordinated Universal Time)There is no privacy! Control your internet facehttps://briantakita.me/posts/no-privacy-control-your-internet-facehttps://briantakita.me/posts/no-privacy-control-your-internet-faceWith all the revelations over how the NSA is snooping over your personal communications, companies storing and controlling your data, encryption backdoors and the fact that it's always crackable, one thing is becoming clear.Sat Sep 07 2013 04:39:00 GMT+0000 (Coordinated Universal Time)DIY SEO with BrandYourself.comhttps://briantakita.me/posts/diy-seo-brandyourselfhttps://briantakita.me/posts/diy-seo-brandyourselfPersonal SEO branding with brandyourself.com.Thu Sep 05 2013 05:07:00 GMT+0000 (Coordinated Universal Time)Javascript Design Idiom – Build Wide Not Deephttps://briantakita.me/posts/javascript-design-idiom-build-wide-not-deephttps://briantakita.me/posts/javascript-design-idiom-build-wide-not-deepProviding a rich user experience calls for good client side software. Javascript is a powerful language to provide the needed functionality. Like any other tool it has it’s strengths and weaknesses. Successful design in Javascript favors composition, loose coupling, and separation of concerns more so than in most other languages. To see why, let’s look at some properties of Javascript.Mon Mar 08 2010 12:00:00 GMT+0000 (Coordinated Universal Time)To Pair or Not to Pairhttps://briantakita.me/posts/to-pair-or-not-to-pairhttps://briantakita.me/posts/to-pair-or-not-to-pairHere at Honk, we have been transitioning away from pair programming. I do not think that this necessarily reflects badly on pair programming. We still do some pair programming. However, our current circumstances steered us away from pair programming being our primary development practice.Sun Jan 31 2010 12:00:00 GMT+0000 (Coordinated Universal Time)RR 0.6.0 Releasedhttps://briantakita.me/posts/rr-0-6-0-releasedhttps://briantakita.me/posts/rr-0-6-0-releasedRR version 0.6.0 is releasedMon Oct 13 2008 12:00:00 GMT+0000 (Coordinated Universal Time)Build Your Own Rails Plugin Platform with Deserthttps://briantakita.me/posts/build-your-own-rails-plugin-platform-with-deserthttps://briantakita.me/posts/build-your-own-rails-plugin-platform-with-desertCreate plugins-based platforms for Rails using DesertTue Jan 01 2008 05:30:00 GMT+0000 (Coordinated Universal Time)Introducing RRhttps://briantakita.me/posts/introducing-rrhttps://briantakita.me/posts/introducing-rrIntroducing RR (Double Ruby) library for testingTue Jan 01 2008 05:30:00 GMT+0000 (Coordinated Universal Time)Sake for Gems Downloads Listhttps://briantakita.me/posts/sake-gem-downloads-listhttps://briantakita.me/posts/sake-gem-downloads-listUse the ruby sake tool to list the total downloads of ruby gemsThu Oct 18 2007 02:16:00 GMT+0000 (Coordinated Universal Time)Cacheable Flashhttps://briantakita.me/posts/cacheable-flashhttps://briantakita.me/posts/cacheable-flashIntroducing Cacheable Flash. Send dynamic data over the Rails Flash cookie. Works with Page Caching.Mon Oct 08 2007 04:45:00 GMT+0000 (Coordinated Universal Time)Cacheable Flash 0.1.4 — Test Helpershttps://briantakita.me/posts/cacheable-flash-0-1-4-test-helpershttps://briantakita.me/posts/cacheable-flash-0-1-4-test-helpersCacheable Flash testingMon Oct 08 2007 04:45:00 GMT+0000 (Coordinated Universal Time)Redefining Constantshttps://briantakita.me/posts/redefining-constantshttps://briantakita.me/posts/redefining-constantsRedefining constants in RubyTue Apr 17 2007 12:54:00 GMT+0000 (Coordinated Universal Time)Generic Query Analyzer 0.2.1 releasedhttps://briantakita.me/posts/generic-query-analyzer-0-2-1-releasedhttps://briantakita.me/posts/generic-query-analyzer-0-2-1-releasedFollow release of the Generic Query Analyzer. An icon was added & a little-used dll was removed.Fri Nov 05 2004 07:54:00 GMT+0000 (Coordinated Universal Time)Generic Query Analyzer 0.1.1 releasedhttps://briantakita.me/posts/generic-query-analyzer-0-1-1-releasedhttps://briantakita.me/posts/generic-query-analyzer-0-1-1-releasedI developed a Query Analyzer that can Query any database that has an OleDb adapter. This means you can query an Excel spreadsheet or Access database.Thu Nov 04 2004 07:15:00 GMT+0000 (Coordinated Universal Time)Keeping in Control of Eventshttps://briantakita.me/posts/keeping-in-control-of-eventshttps://briantakita.me/posts/keeping-in-control-of-eventsAt work, I'm having an issue with losing control over events in my code. One big issue I'm having is recursion in the `DataRow.RowChanged` event.Thu Sep 23 2004 10:27:00 GMT+0000 (Coordinated Universal Time)The Third Sectorhttps://briantakita.me/posts/the-third-sectorhttps://briantakita.me/posts/the-third-sectorJeremy Rifkin wrote a book about how the private and public sector is unable to support productivity growth caused by technology. There is an abundance of unskilled and semiskilled laborers who find that their jobs are made redundant by advances in machinery and general productivity. There are not enough service and "silicon collared" jobs being created to balance the regular loss of jobs in the manufacturing and farming sector.Tue Sep 21 2004 12:32:00 GMT+0000 (Coordinated Universal Time)Deploy Any File Type using Whidbey Click Oncehttps://briantakita.me/posts/deploy-any-file-type-using-whidbey-click-oncehttps://briantakita.me/posts/deploy-any-file-type-using-whidbey-click-onceClickOnce can be used to not only deploy .NET applications, but also to deploy files. Yesterday, I deployed an Access adp application to our organization.Sun Sep 19 2004 03:21:00 GMT+0000 (Coordinated Universal Time)Subversion Source Controlhttps://briantakita.me/posts/subversion-source-controlhttps://briantakita.me/posts/subversion-source-controlI really like Subversion because is it is fast, lightweight, and, when coupled with Tortoise, easy to use, administer, and set up.Sat Sep 18 2004 21:31:00 GMT+0000 (Coordinated Universal Time)