[{"authors":null,"categories":null,"content":" https://www.reddit.com/r/dataengineering/comments/1hq9dwl/complexity_of_data_transformations_and_lineage If you’re working with data as a primary focus, part of the job (a big one) is documenting what you’re doing and validating what you touch before shipping it. I’m confident that my systems are and remain correct because I confirm the state of things before starting new work and document what I did, it adds like an hour to a project. https://www.reddit.com/r/dataengineering/comments/10usa5i/looking_for_an_opensource_data_lineage_app_where/ Context: company has been documenting all its data objects manually and has a large csv explicitly showing each data object and its predescessor/s. These aren’t just the standard database/workflow/dashboard objects; these include things like power automate scripts. I’m just looking for a good way to show everything in a map, visualize them, and navigate through their connections properly) At this point, I’ll even be happy with a pure visualization engine, like for instance if I can repurpose kedro-viz or dbt’s lineage visualizer so that it can take a csv or json of object relationships as an input. Or even a custom power BI visualization or python graph frontend would be fine, but I can’t seem to see one that works. I’d also be happy if any of the aforementioned lineage tools I mentioned above have this functionality and I just missed it. https://www.reddit.com/r/dataengineering/comments/1ba4g7v/how_to_diagram_sql_queries/ Love dbdiagram :) I’m also using dbdocs as a light-weight data catalog instead of plain dbt docs. While I do find dbt docs useful for data lineage, I’ve discovered that I can achieve the same functionality through my dbt core setup using the dbt Power User VSCode extension. And dbdocs fill in the gaps: ERD, table metadata, easy to deploy, shareable,… almost cover 90% of my needs =\u0026gt; implying dbdocs isn’t the lineage surface https://www.reddit.com/r/SQL/comments/nxbtxb/tools_to_draw_data_lineage/ Good for data models and showing direct relationships between tables, but it doesn’t show data flows. When you visualize data flows, you want to see data from which table ends up where, it’s different than “Column X is an FK to Column Y” Will dbdiagram be possible to show how several columns are being transformed to one column? https://www.reddit.com/r/dataengineering/comments/1kyi6hx/what_do_you_use_for_lineage_and_why i’ve used a bunch of these. real talk: data lineage is overrated at early stages \u0026amp; often overcomplicated. when ur team is \u0026lt; 10, physical lineage diagrams on a whiteboard + good dbt docs get you 80% there. we started with DBT lineage for our first year which did the job, then built custom lineage in Preswald when we needed more flexibility (needed to include non-dbt systems). the problem with most enterprise lineage tools is they force you into their ecosystem - great for huge teams with dedicated resources, massive overkill for startups. your investment should match your problems - if ur just trying to debug why a dashboard broke, dbt docs are prob fine. if ur trying to comply with SOX, yea get OpenLineage or something heavy duty. Hey , i also want an open source tool for automated data lineage for my company which we can integrate in our product which is a data security product . I am going through openmetadata , but finding it difficult . Can you suggest any lightweight and easy to use tool which is open source ? and which can be used for automated lineage . I went through many tools online like DataHub , Collate , Informatica , etc . Most sites and GPTs suggested to use OpenMetaData. WHat is your recommendation . https://www.reddit.com/r/dataengineering/comments/1ijr4jd/what_data_lineage_tools_do_you_use_and_what_makes/ I’ve been working with OpenLineage lately and I like it a lot. It’s an open standard for collecting lineage data. Great community and they are very open to PRs and new features. Not a ton of integrations right now, but they have most of the big ones. I’ve been looking closely at DataHub for awhile now, and I think I’ll be using in coming projects. It’s an open-source tool with a managed version by Acryl. It does a bit more than just data lineage too, so may be overkill for what you’re after. What are the short comes of current data lineage tools? Do the current lineage tools address data audit needs? https://www.reddit.com/r/dataengineering/comments/1gjzsu7/what_are_the_short_comes_of_current_data_lineage/ The field is pretty crowded and most of the data platforms are already providing lineage out of the box. Make it our own, with thst said 90% of our platform is custom pyspark code running on aws, databriks or azure. No comercial offer does cover that , but they could :). We hocked the backend into our internal llm bot, so not user can just slack into it. No commercial would letvyou do that, they would sell it to you as a addon. Plus we are global brand and we shared our code with other sister brands and we all exchange …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1365d446f486a7b54f6720811cebee2c","permalink":"https://secondbrain.lelouvincx.com/post/pages/dblineage-gathering-user-data/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/dblineage-gathering-user-data/","section":"post","summary":" https://www.reddit.com/r/dataengineering/comments/1hq9dwl/complexity_of_data_transformations_and_lineage If you’re working with data as a primary focus, part of the job (a big one) is documenting what you’re doing and validating what you touch before shipping it. I’m confident that my systems are and remain correct because I confirm the state of things before starting new work and document what I did, it adds like an hour to a project. https://www.reddit.com/r/dataengineering/comments/10usa5i/looking_for_an_opensource_data_lineage_app_where/ Context: company has been documenting all its data objects manually and has a large csv explicitly showing each data object and its predescessor/s. These aren’t just the standard database/workflow/dashboard objects; these include things like power automate scripts. I’m just looking for a good way to show everything in a map, visualize them, and navigate through their connections properly) At this point, I’ll even be happy with a pure visualization engine, like for instance if I can repurpose kedro-viz or dbt’s lineage visualizer so that it can take a csv or json of object relationships as an input. Or even a custom power BI visualization or python graph frontend would be fine, but I can’t seem to see one that works. I’d also be happy if any of the aforementioned lineage tools I mentioned above have this functionality and I just missed it. https://www.reddit.com/r/dataengineering/comments/1ba4g7v/how_to_diagram_sql_queries/ Love dbdiagram :) I’m also using dbdocs as a light-weight data catalog instead of plain dbt docs. While I do find dbt docs useful for data lineage, I’ve discovered that I can achieve the same functionality through my dbt core setup using the dbt Power User VSCode extension. And dbdocs fill in the gaps: ERD, table metadata, easy to deploy, shareable,… almost cover 90% of my needs =\u003e implying dbdocs isn’t the lineage surface https://www.reddit.com/r/SQL/comments/nxbtxb/tools_to_draw_data_lineage/ Good for data models and showing direct relationships between tables, but it doesn’t show data flows. When you visualize data flows, you want to see data from which table ends up where, it’s different than “Column X is an FK to Column Y” Will dbdiagram be possible to show how several columns are being transformed to one column? https://www.reddit.com/r/dataengineering/comments/1kyi6hx/what_do_you_use_for_lineage_and_why i’ve used a bunch of these. real talk: data lineage is overrated at early stages \u0026 often overcomplicated. when ur team is \u003c 10, physical lineage diagrams on a whiteboard + good dbt docs get you 80% there. we started with DBT lineage for our first year which did the job, then built custom lineage in Preswald when we needed more flexibility (needed to include non-dbt systems). the problem with most enterprise lineage tools is they force you into their ecosystem - great for huge teams with dedicated resources, massive overkill for startups. your investment should match your problems - if ur just trying to debug why a dashboard broke, dbt docs are prob fine. if ur trying to comply with SOX, yea get OpenLineage or something heavy duty. Hey , i also want an open source tool for automated data lineage for my company which we can integrate in our product which is a data security product . I am going through openmetadata , but finding it difficult . Can you suggest any lightweight and easy to use tool which is open source ? and which can be used for automated lineage . I went through many tools online like DataHub , Collate , Informatica , etc . Most sites and GPTs suggested to use OpenMetaData. WHat is your recommendation . https://www.reddit.com/r/dataengineering/comments/1ijr4jd/what_data_lineage_tools_do_you_use_and_what_makes/ I’ve been working with OpenLineage lately and I like it a lot. It’s an open standard for collecting lineage data. Great community and they are very open to PRs and new features. Not a ton of integrations right now, but they have most of the big ones. I’ve been looking closely at DataHub for awhile now, and I think I’ll be using in coming projects. It’s an open-source tool with a managed version by Acryl. It does a bit more than just data lineage too, so may be overkill for what you’re after. What are the short comes of current data lineage tools? Do the current lineage tools address data audit needs? https://www.reddit.com/r/dataengineering/comments/1gjzsu7/what_are_the_short_comes_of_current_data_lineage/ The field is pretty crowded and most of the data platforms are already providing lineage out of the box. Make it our own, with thst said 90% of our platform is custom pyspark code running on aws, databriks or azure. No comercial offer does cover that , but they could :). We hocked the backend into our internal llm bot, so not user can just slack into it. No commercial would letvyou do that, they would sell it to you as a addon. Plus we are global brand and we shared our code with other sister brands and we all exchange internal features. Bugs everywhere. We use Collibra for snowflake lineage. Coverage of sql syntax is ok but it’s very buggy and hard to manage. No proper APIs for lineage means manual management. Other issue is it works on scraping the query logs in snowflake for a period of time so it can produce confusing results after code changes. Is data lineage one of the most underrated thing in DE? https://www.reddit.com/r/dataengineering/comments/1g8k2h5/is_data_lineage_one_of_the_most_underrated_thing/ I worked for multiple companies as a DE and zero of them applied anything related to data lineage. Whenever my team mentions it would be important to do this it gets ignored. If they don’t do documentation, I wouldn’t even expect have of them to know what data lineage even is. Data lineage is one of those things no one thinks they need… until they do. Like when you are debugging why a multi-system process or ETL isn’t working. The question of, “where did this data come from” comes up and now you are wasting time trying to find that out. It really sucks if it passes through multiple systems or multiple formats. (ODBC and JDBC are really sneaky like that.) Be the person that documents their stuff and allocate time for it. It will be an uphill battle because documentation is one of the first things thrown overboard when the inevitable money/time crunch shows up. This question keeps me up at night, since I’m in the process of building a POC database engine that has cell-level data lineage, forwards and backwards. I’ve been in data over 20 years. Most in DE supporting analytics. I’ve NEVER been somewhere that had robust data lineage. It drove me nuts enough to spend years dreaming up a robust solution. Why don’t places care? As someone who wants to open source something and launch a business around it, it drives me nuts. Am I crazy for finding data lineage fundamental? I don’t think the current gen of tools are there. I don’t think OpenLineage is good enough. It’s progress. (I guess that’s why I’m building my own.) I haven’t used Dagster but anything that doesn’t preserve transaction logs in a way that syncs up with time travel in a consistent way, to me, just isn’t good enough. The major downside of my approach is you only get lineage inside my engine. That’s probably a non-starter for many places, especially those big enough to be early adopters. IDK. https://www.reddit.com/r/dataengineering/comments/1g3e20y/data_lineage/ How do you all like to track dataset lineages? Dependencies between tables, sources/sinks per job, something like Kafka to a Spark written Iceberg table joined with another table to eventually landing in Snowflake… etc? https://www.reddit.com/r/dataengineering/comments/1cvmerf/data_lineage_tools/ OP is describing the exact use case for OpenLineage, but it’s hard to estimate how complete their lineage graph would be without knowing more about their tooling. OL will give you column lineage for Spark and Airflow jobs. Dbt is supported, as well. There are open source catalogs, like DataHub, but data lineage in it is extremely limited. So they do exist, but most likely will not suit your needs. Then you have paid products like Informaticas data catalog, which is out of scope. They support more or less everything. Use SQLMesh, it has lineage, diffs, etc. I was pushing for OpenMetadata at my last job, lineage being one of the selling points. I never got it deployed. https://www.reddit.com/r/dataengineering/comments/1iddujm/data_lineage_and_quality_tool/ I’m exploring OpenMetadata for data quality, governance, and lineage. While I’m not necessarily opposed to containerized deployments, I’m prioritizing ease of use, especially when it comes to automated data lineage and quality testing. I’m looking for alternative tools that might be more convenient to work with in these specific areas. Are there any tools that are considered “better” than OpenMetadata in terms of simplifying the process of setting up and managing automated data lineage and quality tests? Any recommendations would be greatly appreciated! SQLMesh is a solid tool for managing transformations, plus you get column level lineage of your models as a part of the open source offering. ","tags":["page"],"title":"[dblineage] Gathering User Data","type":"post"},{"authors":null,"categories":null,"content":" Goal Resolve discrepancies between MRR (Monthly Recurring Revenue) numbers on bi.holistics.io and Zoho Billing, and establish a single source of truth for customer MRR. Stakeholders: Data Team, RevOps (Quinn, Arden, Vincent), Finance (Sriram). Why it matters: MRR is the core metric for revenue planning (see [[Lead Funnel by Sales Motion]]’s $330K target). If the number is wrong, every downstream decision — pricing analysis, churn measurement, forecasting — is wrong. Decision-making questions: Why does MRR on bi.holistics.io differ from Zoho Billing? Which exchange rate methodology should we use for multi-currency subscriptions? How do we handle customers with multiple tenants or multi-region setups? MRR Definition MRR = sum of all active subscriptions’ monthly recurring revenue. Zoho’s base currency: Singapore Dollar (SGD). Per-subscription calculation: subscription.mrr / subscription.exchange_rate Customer = a HubSpot Company (one company can have multiple Holistics tenants and multiple Zoho subscriptions). Primary Tenant: for customers with multi-region or multi-tenant setups, the pipeline must select one primary tenant. This is the core identity resolution challenge. Data Architecture flowchart TD subgraph Sources[\u0026#34;Data Sources\u0026#34;] Holistics[\u0026#34;Holistics Backend DB\\n(Tenants, Users, Trial Submissions)\u0026#34;] Zoho[\u0026#34;Zoho Billing\\n(Subscriptions, Invoices, Exchange Rates)\u0026#34;] HubSpot[\u0026#34;HubSpot CRM\\n(Companies)\u0026#34;] end subgraph Pipeline[\u0026#34;dbt Pipeline\u0026#34;] stg_tenants[\u0026#34;stg_holistics__tenants\u0026#34;] stg_users[\u0026#34;stg_holistics__users\u0026#34;] stg_trials[\u0026#34;stg_holistics__trial_submissions\u0026#34;] stg_zoho[\u0026#34;stg_zoho__subscriptions\u0026#34;] stg_hs[\u0026#34;stg_hubspot__companies\u0026#34;] domain[\u0026#34;Domain Mapping\\n(tenant → domain_name)\u0026#34;] customer_id[\u0026#34;itg_mappings__customer_identities\\n(Holistics ↔ Zoho ↔ HubSpot)\u0026#34;] dim_customer[\u0026#34;dim_customers\\n(primary tenant selection)\u0026#34;] fct_mrr[\u0026#34;fct_mrr\\n(MRR calculation)\u0026#34;] end subgraph Issues[\u0026#34;🔴 Known Issues (9 problems)\u0026#34;] I1[\u0026#34;1.1/1.2: Exchange Rate Errors\\n(static rate, multi-step conversion)\u0026#34;] I2[\u0026#34;2.1-2.4: Wrong Tenant↔Company Mapping\\n(region bug, domain mismatch,\\nduplicates, multi-domain)\u0026#34;] I3[\u0026#34;3.1/3.2: Wrong Tenant↔Zoho Mapping\\n(manual errors, multi-tenant sub)\u0026#34;] I4[\u0026#34;4: Active but Unpaid Customers\\n(Zoho subscription logic bug)\u0026#34;] end subgraph Output[\u0026#34;Reports\u0026#34;] bi_h[\u0026#34;bi.holistics.io\\nMRR Overview Dashboard\u0026#34;] monitor[\u0026#34;Customer Identity\\nMonitoring Dashboard\u0026#34;] end Holistics --\u0026gt; stg_tenants \u0026amp; stg_users \u0026amp; stg_trials Zoho --\u0026gt; stg_zoho HubSpot --\u0026gt; stg_hs stg_tenants \u0026amp; stg_users \u0026amp; stg_trials --\u0026gt; domain domain --\u0026gt; customer_id stg_hs --\u0026gt; customer_id stg_zoho --\u0026gt; customer_id customer_id --\u0026gt; dim_customer dim_customer --\u0026gt; fct_mrr fct_mrr --\u0026gt; bi_h customer_id --\u0026gt; monitor I1 -.-\u0026gt;|affects| fct_mrr I2 -.-\u0026gt;|affects| customer_id I3 -.-\u0026gt;|affects| customer_id I4 -.-\u0026gt;|affects| stg_zoho Data Sources HubSpot CRM: Companies. Holistics Backend DB: Tenants, Users, Trial Submissions. Zoho Billing: Zoho Customers, Subscriptions, Payments, Invoices, Exchange Rates. dbt Pipeline Flow Staging: stg_holistics__tenants, stg_holistics__users, stg_zoho__subscriptions, stg_hubspot__companies Mapping: itg_mappings__customer_identities (Holistics ↔ Zoho ↔ HubSpot) Dimensions: dim_customers (primary tenant selection logic) Facts: fct_mrr (final MRR calculation) Identity Resolution Currently relies on domain_name (extracted from tenant uname or email). This is fragile. Proposed long-term fix: a canonical customer_skey shared across HubSpot and Zoho. ER Diagram dbdiagram.io — Concepts Key Datasets \u0026amp; Dashboards Datasets: DTS 100: Customer and Revenue Dashboards: MRR Overview: https://bi.holistics.io/dashboards/v4/28300-0-mrr-overview Customer Identity Monitoring: https://bi.holistics.io/dashboards/v4/45480-customer-identity-monitoring MRR Bucket Breakdown: https://bi.holistics.io/dashboards/v4/41188-adhoc-mrr-bucket-breakdown Exchange Rate Decision Base currency: SGD (Zoho uses only 1). Reporting currency: USD (agreed upon, \u0026gt;40% of revenue is in USD, USD is more recognizable and comparable). Problem: pipeline previously used static rates; Zoho uses per-transaction rates set at plan creation time. Agreed approach (Option 2): use live rates (e.g., Google Finance / ECB) — specifically the current/today’s rate for a “what is it worth now” view. Caveat: requires careful handling to avoid FX noise in historical growth metrics. Identified Problems \u0026amp; Root Causes Category Problem Root Cause Exchange Rate 1.1/1.2: Inaccuracies Pipeline uses static rates; Zoho uses per-transaction rates set at plan creation HubSpot Mapping 2.1–2.4: Mapping Bugs Missing regions, domain mismatches (e.g., raft.ai vs vector.ai), duplicate HubSpot companies Zoho Mapping 3.1/3.2: Link Errors Manual errors and system inability to handle multi-tenant subscriptions Subscription Logic 4: Unpaid Actives Zoho fails to re-activate tenants after past-due payments are settled Edge Cases Multi-tenant customers: Datacubed — one Zoho account for two tenants. Multi-region conflicts: Kognity — SG database shows expired …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6feadf110279d76e71bc0f2104cdefd7","permalink":"https://secondbrain.lelouvincx.com/post/pages/internal-customers-mrr-exchange-rate/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/internal-customers-mrr-exchange-rate/","section":"post","summary":" Goal Resolve discrepancies between MRR (Monthly Recurring Revenue) numbers on bi.holistics.io and Zoho Billing, and establish a single source of truth for customer MRR. Stakeholders: Data Team, RevOps (Quinn, Arden, Vincent), Finance (Sriram). Why it matters: MRR is the core metric for revenue planning (see [[Lead Funnel by Sales Motion]]’s $330K target). If the number is wrong, every downstream decision — pricing analysis, churn measurement, forecasting — is wrong. Decision-making questions: Why does MRR on bi.holistics.io differ from Zoho Billing? Which exchange rate methodology should we use for multi-currency subscriptions? How do we handle customers with multiple tenants or multi-region setups? MRR Definition MRR = sum of all active subscriptions’ monthly recurring revenue. Zoho’s base currency: Singapore Dollar (SGD). Per-subscription calculation: subscription.mrr / subscription.exchange_rate Customer = a HubSpot Company (one company can have multiple Holistics tenants and multiple Zoho subscriptions). Primary Tenant: for customers with multi-region or multi-tenant setups, the pipeline must select one primary tenant. This is the core identity resolution challenge. Data Architecture flowchart TD subgraph Sources[\"Data Sources\"] Holistics[\"Holistics Backend DB\\n(Tenants, Users, Trial Submissions)\"] Zoho[\"Zoho Billing\\n(Subscriptions, Invoices, Exchange Rates)\"] HubSpot[\"HubSpot CRM\\n(Companies)\"] end subgraph Pipeline[\"dbt Pipeline\"] stg_tenants[\"stg_holistics__tenants\"] stg_users[\"stg_holistics__users\"] stg_trials[\"stg_holistics__trial_submissions\"] stg_zoho[\"stg_zoho__subscriptions\"] stg_hs[\"stg_hubspot__companies\"] domain[\"Domain Mapping\\n(tenant → domain_name)\"] customer_id[\"itg_mappings__customer_identities\\n(Holistics ↔ Zoho ↔ HubSpot)\"] dim_customer[\"dim_customers\\n(primary tenant selection)\"] fct_mrr[\"fct_mrr\\n(MRR calculation)\"] end subgraph Issues[\"🔴 Known Issues (9 problems)\"] I1[\"1.1/1.2: Exchange Rate Errors\\n(static rate, multi-step conversion)\"] I2[\"2.1-2.4: Wrong Tenant↔Company Mapping\\n(region bug, domain mismatch,\\nduplicates, multi-domain)\"] I3[\"3.1/3.2: Wrong Tenant↔Zoho Mapping\\n(manual errors, multi-tenant sub)\"] I4[\"4: Active but Unpaid Customers\\n(Zoho subscription logic bug)\"] end subgraph Output[\"Reports\"] bi_h[\"bi.holistics.io\\nMRR Overview Dashboard\"] monitor[\"Customer Identity\\nMonitoring Dashboard\"] end Holistics --\u003e stg_tenants \u0026 stg_users \u0026 stg_trials Zoho --\u003e stg_zoho HubSpot --\u003e stg_hs stg_tenants \u0026 stg_users \u0026 stg_trials --\u003e domain domain --\u003e customer_id stg_hs --\u003e customer_id stg_zoho --\u003e customer_id customer_id --\u003e dim_customer dim_customer --\u003e fct_mrr fct_mrr --\u003e bi_h customer_id --\u003e monitor I1 -.-\u003e|affects| fct_mrr I2 -.-\u003e|affects| customer_id I3 -.-\u003e|affects| customer_id I4 -.-\u003e|affects| stg_zoho Data Sources HubSpot CRM: Companies. Holistics Backend DB: Tenants, Users, Trial Submissions. Zoho Billing: Zoho Customers, Subscriptions, Payments, Invoices, Exchange Rates. dbt Pipeline Flow Staging: stg_holistics__tenants, stg_holistics__users, stg_zoho__subscriptions, stg_hubspot__companies Mapping: itg_mappings__customer_identities (Holistics ↔ Zoho ↔ HubSpot) Dimensions: dim_customers (primary tenant selection logic) Facts: fct_mrr (final MRR calculation) Identity Resolution Currently relies on domain_name (extracted from tenant uname or email). This is fragile. Proposed long-term fix: a canonical customer_skey shared across HubSpot and Zoho. ER Diagram dbdiagram.io — Concepts Key Datasets \u0026 Dashboards Datasets: DTS 100: Customer and Revenue Dashboards: MRR Overview: https://bi.holistics.io/dashboards/v4/28300-0-mrr-overview Customer Identity Monitoring: https://bi.holistics.io/dashboards/v4/45480-customer-identity-monitoring MRR Bucket Breakdown: https://bi.holistics.io/dashboards/v4/41188-adhoc-mrr-bucket-breakdown Exchange Rate Decision Base currency: SGD (Zoho uses only 1). Reporting currency: USD (agreed upon, \u003e40% of revenue is in USD, USD is more recognizable and comparable). Problem: pipeline previously used static rates; Zoho uses per-transaction rates set at plan creation time. Agreed approach (Option 2): use live rates (e.g., Google Finance / ECB) — specifically the current/today’s rate for a “what is it worth now” view. Caveat: requires careful handling to avoid FX noise in historical growth metrics. Identified Problems \u0026 Root Causes Category Problem Root Cause Exchange Rate 1.1/1.2: Inaccuracies Pipeline uses static rates; Zoho uses per-transaction rates set at plan creation HubSpot Mapping 2.1–2.4: Mapping Bugs Missing regions, domain mismatches (e.g., raft.ai vs vector.ai), duplicate HubSpot companies Zoho Mapping 3.1/3.2: Link Errors Manual errors and system inability to handle multi-tenant subscriptions Subscription Logic 4: Unpaid Actives Zoho fails to re-activate tenants after past-due payments are settled Edge Cases Multi-tenant customers: Datacubed — one Zoho account for two tenants. Multi-region conflicts: Kognity — SG database shows expired trial while US database shows active paying status. Domain mismatches: Vector AI — HubSpot uses vector.ai, app uses raft.ai. Technical Fixes PR #812: Fixed missing regions in manual mapping. PR #852: Implemented hard-coded patches for edge cases: map_holistics_zoho.csv: maps specific tenants (e.g., Datacubed) to shared Zoho accounts. partner_programs.csv: excludes freemium plan IDs from MRR. dom_holistics__internal_tenants.sql: filters out internal Holistics testing tenants. Progress DONE Identify root causes of MRR discrepancies DONE Agree on exchange rate methodology (Option 2 — live rates) DONE Fix missing regions in manual mapping (PR #812) DONE Implement hard-coded patches for edge cases (PR #852) DONE Set up Customer Identity Monitoring dashboard TODO Replace static exchange rates with live rate ingestion — DAT-576 (for quick win) TODO Implement canonical customer_skey for long-term identity resolution TODO Handle Zoho re-activation bug for past-due subscriptions References 1-Ampcode (DE-187 investigation) 2-Notion (Data alignment) 3-ER Diagram 4-Dashboard MRR Overview 5-Dashboard Identity Monitoring 6-Linear ","tags":["page"],"title":"[Internal] Customers' MRR (Exchange Rate)","type":"post"},{"authors":null,"categories":null,"content":" TOGA case: https://media.secondbrain.lelouvincx.com/2026/05/b9dc56ec029f34bc9c15156003755c85.png Ampcode 2 HubSpot companies map to one tenant (SG-2163) [{\u0026#39;hubspot_company_id\u0026#39;: 4018874875, \u0026#39;all_domain_names\u0026#39;: [togltechnology.com, togalimited.com]}, {\u0026#39;hubspot_company_id\u0026#39;: 10207389977, \u0026#39;all_domain_names\u0026#39;: [togalimited.com]}] ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b94acefba382495b63639a59408664dc","permalink":"https://secondbrain.lelouvincx.com/post/pages/internal-identity-resolution/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/internal-identity-resolution/","section":"post","summary":" TOGA case: https://media.secondbrain.lelouvincx.com/2026/05/b9dc56ec029f34bc9c15156003755c85.png Ampcode 2 HubSpot companies map to one tenant (SG-2163) [{'hubspot_company_id': 4018874875, 'all_domain_names': [togltechnology.com, togalimited.com]}, {'hubspot_company_id': 10207389977, 'all_domain_names': [togalimited.com]}] ","tags":["page"],"title":"[Internal] Identity Resolution","type":"post"},{"authors":null,"categories":null,"content":"Plan for Next 1-on-1 Key topics to discuss with manager MRR project transfer — status update after handoff from anh Hieu (due Apr 15). Any open questions or risks from the transfer.\nPresales capacity \u0026amp; portfolio review — currently active on 5+ customer accounts (Showbie, Jonas Chorum, Basata, Innerspace, Superbexperience). Request alignment on which accounts to prioritize vs. hand off. Discuss whether the embed demo app should become an official presales tool.\nCarry-over backlog hygiene — formally deprioritize DAT-524 (Zoho accounts, 9 weeks open) unless manager wants it done. Discuss agent skill for #data-ops-bot progress.\nCareer trajectory conversation — the embedded analytics specialization is emerging naturally. Is this the right direction? How does it align with team needs and my growth plan? Discuss the solutions engineer vs. IC engineering spectrum.\nContext-switching management — workload is spread across Internal, Presales, Docs, Teaching, and personal projects. What’s the right balance? Consider implementing Focus Days formally.\nMetrics to bring Customer interactions this period: 8 across 5 accounts PRs merged: 6 (dbt #845, #848, prefect #393, internal-aml-project #67, docs #1443, #1451) PRs open/reviewing: 3 (dbt #853 Calendly, #854 DAT-555, internal-aml-project #69) Carry-over items resolved: DAT-569, DAT-571 interim fix, bridge elimination, data lineage visualization Carry-over items remaining: DAT-524 (9w), agent skill (4w), embedding docs (3w) ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"50131a4fc61c0d7572d950a906b74dcb","permalink":"https://secondbrain.lelouvincx.com/post/pages/1-on-1-planning---2026-04-13/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/1-on-1-planning---2026-04-13/","section":"post","summary":"Plan for Next 1-on-1 Key topics to discuss with manager MRR project transfer — status update after handoff from anh Hieu (due Apr 15). Any open questions or risks from the transfer.\nPresales capacity \u0026 portfolio review — currently active on 5+ customer accounts (Showbie, Jonas Chorum, Basata, Innerspace, Superbexperience). Request alignment on which accounts to prioritize vs. hand off. Discuss whether the embed demo app should become an official presales tool.\n","tags":["page"],"title":"1-on-1 Planning - 2026-04-13","type":"post"},{"authors":null,"categories":null,"content":"Plan for Next 1-on-1 (covering Apr 13 – May 20, 2026) Meeting context: anh Hieu left this period; presales surged to dominant project; DAT-576 MRR exchange rate is 5-week carry-over. Two backlog drops on the table. Bring 3 prioritization options for DAT-576 — this is a prioritization ask, not a scheduling ask.\nP1 – Must Discuss Internal DAT-576 MRR exchange rate — re-scope or re-assign. 5-week carry-over. Anh Hieu left → context lost → restart. Bring 3 options: (a) re-scope to 1-week-effort presales-compatible version, (b) hand off to teammate whose week isn’t presales-loaded, (c) formally de-prioritize until presales calms post-BuyCo close. Decision needed in this meeting — do not commit a 6th week of “Mon AM blocks.” Linear DAT-576. Formally drop DAT-524 Fix excluding internal Zoho test accounts — 14-week carry-over. Fix scope is trivial — add const_zoho_internal_customers filter to stg_zoho__events (other Zoho staging models already apply it). Arden already confirmed Quinn US test + Holistics SGD test accounts are the missing ones. Owner: nobody since W7. Decision: do it now (~30 min) or drop formally. Linear DAT-524. Presales / Career Career lane check-in — IC engineering vs solutions/presales hybrid vs tech lead. Performance review feedback (Mar) validated the hybrid direction. Anh Thanh (chief engineer) approaching me re: AI-AQL = solutions-engineering signal. BuyCo onboarding 4 solo = trust cashed. Want to confirm the current lane is intentional, not drift. P2 – Should Discuss Presales Showbie loss synthesis — first lost deal. Lost to Omni (HubSpot Closed Lost recorded, Erin reply). Erin cited “overall functionality within the tool” before message truncated. Action: re-pull full Slack thread, then chase Harsha for personal feedback (apply The Mom Test — ask about specific past PoC moments, not abstract pain points). Share 1-page learning note focused on Looker-migration moat + security risk perception. Owe this for the team’s next deal. BuyCo onboarding 4 follow-ups owed by me (from May 19 debrief): share PBI migration documentation publicly, publish migration skill as customer-facing package, send HTML action button samples to Rodolphe. Decision timeline tight — Xairo + Luc evaluating next week, GoodData competing. Power BI playbook → “presales-owned reusable artifact” template? BuyCo onboarding 4 used conceptual-differences.md + migration-overview.md. Reusable. Should it become the template for future migration-flavored deals (Tableau, Looker, Sigma)? Presales team shared status board — me + anh Dong + Chukwudi + Mario have no shared customer-status surface. Context scattered across Slack threads + individual notes. Propose Notion DB or Linear project. Internal Heuristics upstream to team docs — dbt deprecation 3-phase rule should land in holistics/dbt contributing guide. Customer-comms recipe pattern should land in presales/CS onboarding doc. Ask: is this welcome, or noise? Backlog drop as standing 1-on-1 agenda item — “what’s the oldest item in my backlog, and should it still be there?” Process suggestion. P3 – Nice to Discuss Personal Health Rules + Principles pages — converted W17 sick week + W20 badminton signal into rules. Sharing the pattern in case useful for team retros. Personal Finance RFC-0002 — used Personal Finance app to make data-driven house-move decision. Side-project ROI signal worth sharing. AI tooling Harness Engineering (Mitchell Hashimoto) — built amp plugin for Holistics MCP error logging. Plan: monthly harness audit. Worth doing as team practice? Decision-class items (manager input required) Item Question Default if no decision DAT-576 MRR Re-scope, hand off, or de-prioritize? Continue slipping — bad outcome DAT-524 Zoho Drop or assign? Drop Career lane Confirm hybrid direction? Continue current pattern Heuristics upstream Welcome or noise? Keep personal Focus topics if time permits Mon: DAT-576 + DAT-524 (decision-class items first) Career lane check-in (10 min) Showbie synthesis sharing (5 min) Heuristics upstream (5 min) Personal: Health Rules pattern (skip if rushed) Carry-over watch (since last 1-on-1) Item Since Weeks Action DAT-576 MRR exchange rate W16 (Apr 13) 5 Escalate as prioritization question DAT-524 exclude internal Zoho accounts W7 (Feb 9) 14 Drop formally Showbie loss synthesis W19 (May 4) 2 Owed — close this week H1 self-reflection + CV refresh W19 (May 4) 2 Lock May 23–24 Wamly onboarding W18 (Apr 27) 3 Customer-side block — Chukwudi re-engaging Metrics to bring (period Apr 13 – May 20) Customer interactions: 8+ across BuyCo, Jonas Chorum, Basata, Bicycle Transit, Enhance Fitness, PatientsKnowBest, Showbie, Wamly PRs merged: Calendly dbt #853, internal-aml-project #78, dbt #854, dbt #858, prefect #400, dbt #860, dbt #864, dbt #867, internal-aml-project #77 Carry-overs resolved: DAT-560 (Lead Funnel by Sales Motion, 5w), DAT-555 (fct_job_queue_performance, 4w), DAT-283 (Calendly, 8w) Carry-overs lingering: DAT-576 (5w), DAT-524 (14w), demo video for local …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0c6919418fb8ae37417639df9c853b69","permalink":"https://secondbrain.lelouvincx.com/post/pages/1-on-1-planning---2026-apr-13-2026--may-20-2026/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/1-on-1-planning---2026-apr-13-2026--may-20-2026/","section":"post","summary":"Plan for Next 1-on-1 (covering Apr 13 – May 20, 2026) Meeting context: anh Hieu left this period; presales surged to dominant project; DAT-576 MRR exchange rate is 5-week carry-over. Two backlog drops on the table. Bring 3 prioritization options for DAT-576 — this is a prioritization ask, not a scheduling ask.\nP1 – Must Discuss Internal DAT-576 MRR exchange rate — re-scope or re-assign. 5-week carry-over. Anh Hieu left → context lost → restart. Bring 3 options: (a) re-scope to 1-week-effort presales-compatible version, (b) hand off to teammate whose week isn’t presales-loaded, (c) formally de-prioritize until presales calms post-BuyCo close. Decision needed in this meeting — do not commit a 6th week of “Mon AM blocks.” Linear DAT-576. Formally drop DAT-524 Fix excluding internal Zoho test accounts — 14-week carry-over. Fix scope is trivial — add const_zoho_internal_customers filter to stg_zoho__events (other Zoho staging models already apply it). Arden already confirmed Quinn US test + Holistics SGD test accounts are the missing ones. Owner: nobody since W7. Decision: do it now (~30 min) or drop formally. Linear DAT-524. Presales / Career Career lane check-in — IC engineering vs solutions/presales hybrid vs tech lead. Performance review feedback (Mar) validated the hybrid direction. Anh Thanh (chief engineer) approaching me re: AI-AQL = solutions-engineering signal. BuyCo onboarding 4 solo = trust cashed. Want to confirm the current lane is intentional, not drift. P2 – Should Discuss Presales Showbie loss synthesis — first lost deal. Lost to Omni (HubSpot Closed Lost recorded, Erin reply). Erin cited “overall functionality within the tool” before message truncated. Action: re-pull full Slack thread, then chase Harsha for personal feedback (apply The Mom Test — ask about specific past PoC moments, not abstract pain points). Share 1-page learning note focused on Looker-migration moat + security risk perception. Owe this for the team’s next deal. BuyCo onboarding 4 follow-ups owed by me (from May 19 debrief): share PBI migration documentation publicly, publish migration skill as customer-facing package, send HTML action button samples to Rodolphe. Decision timeline tight — Xairo + Luc evaluating next week, GoodData competing. Power BI playbook → “presales-owned reusable artifact” template? BuyCo onboarding 4 used conceptual-differences.md + migration-overview.md. Reusable. Should it become the template for future migration-flavored deals (Tableau, Looker, Sigma)? Presales team shared status board — me + anh Dong + Chukwudi + Mario have no shared customer-status surface. Context scattered across Slack threads + individual notes. Propose Notion DB or Linear project. Internal Heuristics upstream to team docs — dbt deprecation 3-phase rule should land in holistics/dbt contributing guide. Customer-comms recipe pattern should land in presales/CS onboarding doc. Ask: is this welcome, or noise? Backlog drop as standing 1-on-1 agenda item — “what’s the oldest item in my backlog, and should it still be there?” Process suggestion. P3 – Nice to Discuss Personal Health Rules + Principles pages — converted W17 sick week + W20 badminton signal into rules. Sharing the pattern in case useful for team retros. Personal Finance RFC-0002 — used Personal Finance app to make data-driven house-move decision. Side-project ROI signal worth sharing. AI tooling Harness Engineering (Mitchell Hashimoto) — built amp plugin for Holistics MCP error logging. Plan: monthly harness audit. Worth doing as team practice? Decision-class items (manager input required) Item Question Default if no decision DAT-576 MRR Re-scope, hand off, or de-prioritize? Continue slipping — bad outcome DAT-524 Zoho Drop or assign? Drop Career lane Confirm hybrid direction? Continue current pattern Heuristics upstream Welcome or noise? Keep personal Focus topics if time permits Mon: DAT-576 + DAT-524 (decision-class items first) Career lane check-in (10 min) Showbie synthesis sharing (5 min) Heuristics upstream (5 min) Personal: Health Rules pattern (skip if rushed) Carry-over watch (since last 1-on-1) Item Since Weeks Action DAT-576 MRR exchange rate W16 (Apr 13) 5 Escalate as prioritization question DAT-524 exclude internal Zoho accounts W7 (Feb 9) 14 Drop formally Showbie loss synthesis W19 (May 4) 2 Owed — close this week H1 self-reflection + CV refresh W19 (May 4) 2 Lock May 23–24 Wamly onboarding W18 (Apr 27) 3 Customer-side block — Chukwudi re-engaging Metrics to bring (period Apr 13 – May 20) Customer interactions: 8+ across BuyCo, Jonas Chorum, Basata, Bicycle Transit, Enhance Fitness, PatientsKnowBest, Showbie, Wamly PRs merged: Calendly dbt #853, internal-aml-project #78, dbt #854, dbt #858, prefect #400, dbt #860, dbt #864, dbt #867, internal-aml-project #77 Carry-overs resolved: DAT-560 (Lead Funnel by Sales Motion, 5w), DAT-555 (fct_job_queue_performance, 4w), DAT-283 (Calendly, 8w) Carry-overs lingering: DAT-576 (5w), DAT-524 (14w), demo video for local dev (5w, now unblocked) New artifacts: [[Health Rules]], [[Principles]], Power BI playbook (conceptual-differences.md + migration-overview.md), holistics-embed-demo continuing Onboarding calls led: Jonas Chorum #2, BuyCo #4 (solo) Lost: Showbie → Omni ","tags":["page"],"title":"1-on-1 Planning - 2026-Apr 13, 2026 – May 20, 2026","type":"post"},{"authors":null,"categories":null,"content":"Notes ((6a11232e-72bb-41aa-8b0f-64e9866b08de))\nTasks TODO Amp plugin update since holistics cli has supported holistics mcp Partly today Done DONE Plan RFC-0005 - amp thread extraction ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"70f727673c82e6eef5672a7a0f9c7481","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-25/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/journals/2026-05-25/","section":"post","summary":"Notes ((6a11232e-72bb-41aa-8b0f-64e9866b08de))\nTasks TODO Amp plugin update since holistics cli has supported holistics mcp Partly today Done DONE Plan RFC-0005 - amp thread extraction ","tags":["journal"],"title":"2026-05-25","type":"post"},{"authors":null,"categories":null,"content":"Gears Keyboard: MelGeek O2 or Nuphy Air75 Laptop: Macbook Mouse: Attach Shark X3 Headphone: SkullCandy Hesh ANC Reading \u0026amp; Note: Kindle Scribe 2022 Softwares Alcove Better Display AlDente CleanShot X Youtube Premium (+ Youtube Music) Gemini Misc Sleep Fold ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"de3ff8319002308cf8a4250f7bcba1bb","permalink":"https://secondbrain.lelouvincx.com/post/pages/accessories-that-make-my-life-better/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/accessories-that-make-my-life-better/","section":"post","summary":"Gears Keyboard: MelGeek O2 or Nuphy Air75 Laptop: Macbook Mouse: Attach Shark X3 Headphone: SkullCandy Hesh ANC Reading \u0026 Note: Kindle Scribe 2022 Softwares Alcove Better Display AlDente CleanShot X Youtube Premium (+ Youtube Music) Gemini Misc Sleep Fold ","tags":["page"],"title":"Accessories That Make My Life Better","type":"post"},{"authors":null,"categories":null,"content":"Noticeable calls https://copilot.clari.com/call/11644b50-8a66-4c36-a91b-e0ed635d3211 Metric Catalogue Base measures Recommended Retail Price (or RRP; synonym - Manufacturer Suggested Retail Price, MSRP): The price suggested by the manufacturer for retailers to sell a product. Total SKUs (or Total Products): Count of SKUs. Total Features (or Total Ad Items): Count of Features. Retailer Price (or Selling Price): The retailer’s non-promotional shelf price for a product (within that retailer). Promotional Price: The temporary, reduced price offered by a retailer for a product in a promotion. Metrics (are built from measures) Current Price: If promo applied, current_price = promotional_price, else current_price = rrp Current Price must track the Shelf Price because in mature retail markets (like Australia/UK/US), the “Standard Shelf Price” is often lower than RRP. If you default to RRP when no promo exists, you will artificially inflate the “Was Price,” making discounts look deeper than they are. The current_price should always track the Shelf Price, not the RRP, unless they happen to be identical. Was Price: retailer_price Discount Percentage: Logic: 1 - (current_price / NULLIF(was_price, 0)) Discount Amount: was_price - current_price Retailer Lowest Price: The lowest single price point detected for a Retailer within the specific Start Date and End Date of the selected Advertisement. Logic: MIN(current_price) Average Discount Percentage: Logic: AVG(discount_pct) Average RRP: AVG(rrp) Average Promotional Price: AVG(promotional_price) ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"87a3e5eae6ec3a11ef62b545bb67ffbf","permalink":"https://secondbrain.lelouvincx.com/post/pages/add2cart/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/add2cart/","section":"post","summary":"Noticeable calls https://copilot.clari.com/call/11644b50-8a66-4c36-a91b-e0ed635d3211 Metric Catalogue Base measures Recommended Retail Price (or RRP; synonym - Manufacturer Suggested Retail Price, MSRP): The price suggested by the manufacturer for retailers to sell a product. Total SKUs (or Total Products): Count of SKUs. Total Features (or Total Ad Items): Count of Features. Retailer Price (or Selling Price): The retailer’s non-promotional shelf price for a product (within that retailer). Promotional Price: The temporary, reduced price offered by a retailer for a product in a promotion. Metrics (are built from measures) Current Price: If promo applied, current_price = promotional_price, else current_price = rrp Current Price must track the Shelf Price because in mature retail markets (like Australia/UK/US), the “Standard Shelf Price” is often lower than RRP. If you default to RRP when no promo exists, you will artificially inflate the “Was Price,” making discounts look deeper than they are. The current_price should always track the Shelf Price, not the RRP, unless they happen to be identical. Was Price: retailer_price Discount Percentage: Logic: 1 - (current_price / NULLIF(was_price, 0)) Discount Amount: was_price - current_price Retailer Lowest Price: The lowest single price point detected for a Retailer within the specific Start Date and End Date of the selected Advertisement. Logic: MIN(current_price) Average Discount Percentage: Logic: AVG(discount_pct) Average RRP: AVG(rrp) Average Promotional Price: AVG(promotional_price) ","tags":["page"],"title":"Add2Cart","type":"post"},{"authors":null,"categories":null,"content":"A. Work Internal TODO Handle multi-currency exchange rates for MRR\nCurrent pricing setup\nZoho’s base currency = SGD. Plans are priced in SGD, exchange rate is hardcoded in Zoho (example, 1 EUR = 1.4 SGD). https://media.secondbrain.lelouvincx.com/2026/04/010ee2b4db27a9bc68da91d54a03a681.png Plans are created in Zoho Billing with prices in SGD (base currency). Zoho doesn’t allow creating products in EUR/USD directly. A manual exchange rate is set in Zoho (e.g., 1 EUR = 1.4 SGD). Why? To prevent customers’ purchase amount can potentially fluctuate over time, the team does not use live rate in Zoho. Customers see stable local currency prices on their subscription. This is updated periodically (~yearly) to stay close to market rates. The same plans are mirrored in Holistics App’s Tenant Admin. Customer payment flow:\nCustomer sees a clean, stable price in their local currency on the billing page based on public.tenant_subscriptions, derived from Zoho source of truth for pricing. Customer clicks pay =\u0026gt; redirect to a Hosted Payment Page =\u0026gt; charged the displayed amount in their currency. Holistics receives payments in the customer’s currency, 3 separate balances (SGD, EUR, USD), conversion to SGD happens at will. MRR recording (Zoho):\nZoho records MRR based on the hardcoded SGD plan price at plan creation time (e.g., SGD 1400). Existing customers stay on their original exchange rate even if rates are updated later. Problem: {{embed ((69b21fb9-6f3d-4c38-8483-892aa9d89cac))}}\nWAITING Fix excluding internal testing Zoho accounts\nClose the lingering loop here. Decision to backlog this task. Will do after big projects such as MRR and exchange rate. TODO Upgrade dbt-core of repo dbt to the same version as prefect (compatible)\nWAITING Create an agent skill for fixing data pipelines (currently dbt) for #data-ops-bot\nThis may not a good timing for this since anh Triet’s direction is to let Thuan handle data-ops-bot to train him with our data system. Maybe next 3-6 months when he’s good with the system, we can get back to this TODO Check if it’s feasible to load tenant info from BigQuery to Clickhouse (OpenAI tracking request)\nTODO DAT-504\nTODO Optimizing internal dbt CI with defer\nPresales TODO Showbie loss synthesis TODO Onboarding call with Wamly\nWAITING. Farren cancelled Apr 29 call (urgent matter), now on 10-day paternal leave since May 1. Chukwudi will reach out in ~2 weeks. No action this week — re-pick up around May 11–15. WAITING Polish document embedding because there are frictions for prospects/customers to set up embed portal, while there are more and more leads coming to us for embedding solution\nContext: I built a demo app at https://holistics-embed-demo.pages.dev that demonstrates Embed Portal, multi-user Row-Level Permission, Ask AI, and a custom embed URL renderer. Repo: https://github.com/holistics/holistics-embed-demo The app is already serving presales (presenting in onboarding calls) this week: Jonas Chorum on dynamic data source demo with per-hotel RLP, Showbie on embed portal/single dashboard. Recent technical calls (Basata, Superb, Showbie, Innerspace, Jonas Chorum) need embedded analytics: For Basata, I shared a playbook on embed portal with different logic workflow. Document link. For Superb, I guided him step-by-step setting up embed portal with RLP. Call link. For Innerspace, I and Marcus shared a playbook on app/embed 2 way communication. Document link. Call link. We already have a embed demo site at https://hooli.getholistics.com, if creating one more site, that might be a friction in distinguishing which site to pick. We need to make it really clear to internal team/customers, otherwise, consider unifying them. With this foundation, I think we can improve, output a kind of playbook or a highly customized industrial data for each specific customer before the call. Anh Triet’s comments: Who should maintain? Data/presales or product? What to maintain? The site? The data? Who own what? Will share with anh Huy on tomorrow presales sync for advice. I think no need to do it for now. Maybe I can continue customizing this page for several next prospects, gather more data points, wait for a good timing like UX revamp project release then talk about this. {{embed ((69dc6bac-43c5-47f8-b0eb-c27caa3386ea))}} Advice from Ampcode: Frame it as formalizing something that’s already working, not proposing something new. “here is what’s already happening, let’s make it official.” I should find a stronger evidence rather than my app looks prettier (not strong enough). Frame it as a unified toolbox. A unified toolbox that serves: Sales/Presales team for demoing. Prospects/Customers who want to try on their own. Streamline prospects’ embed developing experience to end-to-end smoothest. TODO Read Modeling Patterns\nTODO Watch the onboarding call with Taxdome\nTODO Learn embedded analytics use case, prevent hiccup like Taxdome\nTODO Summarize the Mawave use case and tell dbx team about how to quickly collaborate on a …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4a132b242ecb19c48f7fa5f588182af2","permalink":"https://secondbrain.lelouvincx.com/post/pages/backlog/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/backlog/","section":"post","summary":"A. Work Internal TODO Handle multi-currency exchange rates for MRR\nCurrent pricing setup\nZoho’s base currency = SGD. Plans are priced in SGD, exchange rate is hardcoded in Zoho (example, 1 EUR = 1.4 SGD). https://media.secondbrain.lelouvincx.com/2026/04/010ee2b4db27a9bc68da91d54a03a681.png Plans are created in Zoho Billing with prices in SGD (base currency). Zoho doesn’t allow creating products in EUR/USD directly. A manual exchange rate is set in Zoho (e.g., 1 EUR = 1.4 SGD). Why? To prevent customers’ purchase amount can potentially fluctuate over time, the team does not use live rate in Zoho. Customers see stable local currency prices on their subscription. This is updated periodically (~yearly) to stay close to market rates. The same plans are mirrored in Holistics App’s Tenant Admin. Customer payment flow:\n","tags":["page"],"title":"Backlog","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Unsub Contabo VPS due to unused\nDONE Continue Cross-Model Calculation\nThis may not be a good timing to do this. Should wait for the docs revamping project being in progress more than now (as of #2026-01-03 ). DONE Review AI sharing dashboard for Aurora\nTimeline: Aurora’s request came in via support. Phuong (AI team) looped in the data team. Hieu investigated and found AI data lives in ClickHouse (logs + user_id only), NOT the production DB. This means user-friendly info (names, emails) and dashboard/dataset-level tracking aren’t directly available. Tien (AI team) confirmed: user_id mapping is possible via prod DB, token usage exists in HOtel, but dashboard/dataset AI activity tracking is hard. Triet advised: only answer what’s currently feasible, treat the rest as feature requests. Hieu drafted a reply to Aurora listing what’s available (conversation ID, user ID, messages, token usage) and limitations (no usernames, no asset tracking, only MCP data). Aurora accepted — said user_id is fine, they’ll map it themselves. Hieu built a dashboard at https://us.holistics.io/dashboards/v4/1099511684352-aurora-ai-conversations and proposed Google Sheets delivery. Aurora also suggested S3 export as an alternative. Nam asked Hieu to wait before sharing — he wanted to discuss commercially first. Nam proposed turning this into a paid upsell package at $10,200/year (“Usage and AI Data Monitoring Transfer”). Chinh (me) reviewed and said the data is feasible to share as spreadsheet, but noted Hieu’s dashboard is not ready to consume right now. Chinh and Phuong questioned charging for AI usage data since the AI team is already building an in-app AI usage monitoring dashboard for all customers. Vincent (CEO) clarified the monetization rationale: the in-app dashboard is free for all; what’s being sold is data sync/export to their own systems (S3/ETL). This targets enterprise needs: compliance, security auditing, long retention (7+ years), and custom analytics. Triet and Vincent discussed delivery method — S3 vs Google Sheets vs ETL to their data warehouse. Vincent prefers S3 since Aurora mentioned it and it’s more scalable for a paid add-on. For myself (data team): Data source: AI conversation data is in ClickHouse (not prod DB). It has: conversation timestamps, conversation IDs, user IDs, messages (prompts + replies), token usage. User info (email/name) requires joining with a production DB mapping table. Dashboard exists: Hieu built a dashboard at us.holistics.io/dashboards/v4/1099511684352 but currently not ready to share now. NOTE I need to review the data in dashboard. But not now. Let’s wait for Aurora’s response and the team initialize a project about this. Not sure who will be main owner btw. Prior art: I did similar work for SweetSpot before: https://holistics.slack.com/archives/C09GURCKQV8/p1772181645114809?thread_ts=1770132838.858979\u0026amp;cid=C09GURCKQV8 Delivery format is undecided: The current preference is S3 export (Aurora offered to share an S3 bucket). Google Sheets with scheduled delivery was the original plan because we can reuse the Google Sheets Delivery feature. Final decision pending Nam’s email to Aurora. This is now a paid add-on ($10,200/year) — so quality and reliability matter. It’s not ad-hoc anymore. Scope boundaries: Only provide what’s currently available. Don’t try to solve missing data (dashboard/dataset AI activity, feature-specific breakdown beyond MCP). The AI team will build in-app monitoring separately. Stakeholders: Nam (commercial timing), Chinh (me) (data review/quality), and Phuong/Tien/Dat (AI team). ((69bcb599-a91e-49ea-bc3d-6a5a651f03df))\nDONE Project retro with team (Dong)\nWait for the deal to win. Depend on Simon’s side. Update: Vincent has followed up with him as of [[2026-04-14]]: https://holistics.slack.com/archives/C08PRBTS1LK/p1774406326075359. Add2Cart won’t engage. Mark this task done. DONE Consider a Flashcard app for learning new English words\nDONE Document ((69670f5e-6da7-4bea-93ea-e42c9b94f574))\nDONE Set up github repo and prepare documents inside it\nDONE Oat milk machine?\nDONE Consider a Flashcard app for learning new English words (mochi.cards)\nDONE Setup linear CLI and agent skill for it\nCANCELED Document [[Medenterprises]]’s performance use case, about how would our Metrics Sheet can learn from that\nDONE Add linear cli to review current backlog tasks on linear\nAmp told me to use schpet/linear-cli. Will try. Installing the skill is easy. DONE Clean up Arc tabs\nProject: [[Personal]] Priority: #P3\nDONE Feedback - request an UI for Query Model Persistence\nDONE Learn how to query logseq blocks, create a cli tool or similar for agents to do it quickly\nFigured it out, logseq block has pattern ((uuid)). Just let the agent grep it, no need complex tool. DONE Add tabs to Hooli dashboard - write solution proposal\nDONE Self-host postgres inside contabo intead of using neon.tech\nDONE Consolidate drill-through dashboards into 1 single dashboard\nDONE Editorial on a data …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"98f07c559a2fb90e75bedfeccda5399b","permalink":"https://secondbrain.lelouvincx.com/post/pages/backlog___done/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/backlog___done/","section":"post","summary":"Done DONE Unsub Contabo VPS due to unused\nDONE Continue Cross-Model Calculation\nThis may not be a good timing to do this. Should wait for the docs revamping project being in progress more than now (as of #2026-01-03 ). DONE Review AI sharing dashboard for Aurora\nTimeline: Aurora’s request came in via support. Phuong (AI team) looped in the data team. Hieu investigated and found AI data lives in ClickHouse (logs + user_id only), NOT the production DB. This means user-friendly info (names, emails) and dashboard/dataset-level tracking aren’t directly available. Tien (AI team) confirmed: user_id mapping is possible via prod DB, token usage exists in HOtel, but dashboard/dataset AI activity tracking is hard. Triet advised: only answer what’s currently feasible, treat the rest as feature requests. Hieu drafted a reply to Aurora listing what’s available (conversation ID, user ID, messages, token usage) and limitations (no usernames, no asset tracking, only MCP data). Aurora accepted — said user_id is fine, they’ll map it themselves. Hieu built a dashboard at https://us.holistics.io/dashboards/v4/1099511684352-aurora-ai-conversations and proposed Google Sheets delivery. Aurora also suggested S3 export as an alternative. Nam asked Hieu to wait before sharing — he wanted to discuss commercially first. Nam proposed turning this into a paid upsell package at $10,200/year (“Usage and AI Data Monitoring Transfer”). Chinh (me) reviewed and said the data is feasible to share as spreadsheet, but noted Hieu’s dashboard is not ready to consume right now. Chinh and Phuong questioned charging for AI usage data since the AI team is already building an in-app AI usage monitoring dashboard for all customers. Vincent (CEO) clarified the monetization rationale: the in-app dashboard is free for all; what’s being sold is data sync/export to their own systems (S3/ETL). This targets enterprise needs: compliance, security auditing, long retention (7+ years), and custom analytics. Triet and Vincent discussed delivery method — S3 vs Google Sheets vs ETL to their data warehouse. Vincent prefers S3 since Aurora mentioned it and it’s more scalable for a paid add-on. For myself (data team): Data source: AI conversation data is in ClickHouse (not prod DB). It has: conversation timestamps, conversation IDs, user IDs, messages (prompts + replies), token usage. User info (email/name) requires joining with a production DB mapping table. Dashboard exists: Hieu built a dashboard at us.holistics.io/dashboards/v4/1099511684352 but currently not ready to share now. NOTE I need to review the data in dashboard. But not now. Let’s wait for Aurora’s response and the team initialize a project about this. Not sure who will be main owner btw. Prior art: I did similar work for SweetSpot before: https://holistics.slack.com/archives/C09GURCKQV8/p1772181645114809?thread_ts=1770132838.858979\u0026cid=C09GURCKQV8 Delivery format is undecided: The current preference is S3 export (Aurora offered to share an S3 bucket). Google Sheets with scheduled delivery was the original plan because we can reuse the Google Sheets Delivery feature. Final decision pending Nam’s email to Aurora. This is now a paid add-on ($10,200/year) — so quality and reliability matter. It’s not ad-hoc anymore. Scope boundaries: Only provide what’s currently available. Don’t try to solve missing data (dashboard/dataset AI activity, feature-specific breakdown beyond MCP). The AI team will build in-app monitoring separately. Stakeholders: Nam (commercial timing), Chinh (me) (data review/quality), and Phuong/Tien/Dat (AI team). ((69bcb599-a91e-49ea-bc3d-6a5a651f03df))\n","tags":["page"],"title":"Backlog / Done","type":"post"},{"authors":null,"categories":null,"content":" Author: [[George Polya]] I just bought the book. It’s $10. Not expensive. But the value it brings is huge. Worth it. Key notes Chap 1 Problem solving is a muscle. The more we practice solving problems, the better we are. Problem solving is like swimming. We learn by imitating and practicing. The teacher who wishes to develop his students’ ability to do problems must instill some interest into their mind and give them plenty of opportunity for imitation and practice. 4 steps of problem solving: Understand the problem logseq.order-list-type:: number What is the unknown? logseq.order-list-type:: number Devise a plan - connect the data, the condition, the unknown logseq.order-list-type:: number Have you solve a similar problem before? logseq.order-list-type:: number Carry out the plan logseq.order-list-type:: number Can you prove it’s correct? logseq.order-list-type:: number Look back logseq.order-list-type:: number What have you done good and bad? logseq.order-list-type:: number Can you derive the result differently and extend this problem? logseq.order-list-type:: number The teacher should be in his student’s shoe, to help him understand and devise the plan better. Do by example. Could you restate the problem? Quotes “If you cannot solve a problem, there is an easier problem that you cannot solve.” “The main danger is that the student forgets his plan. This may easily happen if the student received this plan from outside, and accepted it on the authority of the teacher, but if he worked for it himself, even with some help, and conceived the final idea with satisfaction, he will not lose this idea easily.” “The teacher may ask: Can you see clearly that the triangle with sides x, y, c is a right triangle? To this question, the student may answer honestly “yes”, but he could be much embarrassed if the teacher be not satisfied with the intuitive conviction, then go on asking: But can you prove that this triangle is a right triangle? Thus, the teacher should suppress this question for now.” Reflect on myself, sometimes I ask questions that dive very deep into one side of the problem, and it goes beyond my initial intention - just want to provide more knowledge to the student. Most cases it’s not good. Because it kills the interest. Don’t dive deep too much, just enough to get the student’s interest. This is more important. “It is better to solve one problem in five ways, rather than solve five problems in one way.” ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b4206db3da96929401d2dd98f5830998","permalink":"https://secondbrain.lelouvincx.com/post/pages/book---how-to-solve-it/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/book---how-to-solve-it/","section":"post","summary":" Author: [[George Polya]] I just bought the book. It’s $10. Not expensive. But the value it brings is huge. Worth it. Key notes Chap 1 Problem solving is a muscle. The more we practice solving problems, the better we are. Problem solving is like swimming. We learn by imitating and practicing. The teacher who wishes to develop his students’ ability to do problems must instill some interest into their mind and give them plenty of opportunity for imitation and practice. 4 steps of problem solving: Understand the problem logseq.order-list-type:: number What is the unknown? logseq.order-list-type:: number Devise a plan - connect the data, the condition, the unknown logseq.order-list-type:: number Have you solve a similar problem before? logseq.order-list-type:: number Carry out the plan logseq.order-list-type:: number Can you prove it’s correct? logseq.order-list-type:: number Look back logseq.order-list-type:: number What have you done good and bad? logseq.order-list-type:: number Can you derive the result differently and extend this problem? logseq.order-list-type:: number The teacher should be in his student’s shoe, to help him understand and devise the plan better. Do by example. Could you restate the problem? Quotes “If you cannot solve a problem, there is an easier problem that you cannot solve.” “The main danger is that the student forgets his plan. This may easily happen if the student received this plan from outside, and accepted it on the authority of the teacher, but if he worked for it himself, even with some help, and conceived the final idea with satisfaction, he will not lose this idea easily.” “The teacher may ask: Can you see clearly that the triangle with sides x, y, c is a right triangle? To this question, the student may answer honestly “yes”, but he could be much embarrassed if the teacher be not satisfied with the intuitive conviction, then go on asking: But can you prove that this triangle is a right triangle? Thus, the teacher should suppress this question for now.” Reflect on myself, sometimes I ask questions that dive very deep into one side of the problem, and it goes beyond my initial intention - just want to provide more knowledge to the student. Most cases it’s not good. Because it kills the interest. Don’t dive deep too much, just enough to get the student’s interest. This is more important. “It is better to solve one problem in five ways, rather than solve five problems in one way.” ","tags":["page"],"title":"Book - How To Solve It","type":"post"},{"authors":null,"categories":null,"content":" ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a26999a72d36e4bcbeac593a6396d848","permalink":"https://secondbrain.lelouvincx.com/post/pages/contents/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/contents/","section":"post","summary":" ","tags":["page"],"title":"contents","type":"post"},{"authors":null,"categories":null,"content":" https://www.1keydata.com/datawarehousing/datawarehouse.html https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/kimball-data-warehouse-bus-architecture/ ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7f437b4c6946966f92345d28ed53cdbc","permalink":"https://secondbrain.lelouvincx.com/post/pages/data-modeling/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/data-modeling/","section":"post","summary":" https://www.1keydata.com/datawarehousing/datawarehouse.html https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/kimball-data-warehouse-bus-architecture/ ","tags":["page"],"title":"Data Modeling","type":"post"},{"authors":null,"categories":null,"content":" j ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e7b8d132e751e850618920828ee8c605","permalink":"https://secondbrain.lelouvincx.com/post/pages/data-ops-bot/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/data-ops-bot/","section":"post","summary":" j ","tags":["page"],"title":"data-ops-bot","type":"post"},{"authors":null,"categories":null,"content":"Job To Be Done \u0026amp; Job Map [[[dblineage] Gathering User Data]]\nJTBD: Bridge the knowledge gap between business users and team data\nWhen I’m a data engineer work with business users to build a ETL pipeline I want to close the gap for business users who need to understand the fine-grained logic within those transformations. They’re left wondering, “Okay, I see this column came from that column or that table, but how was it calculated? If so, can I trust?” So that I and data team can brainstorm, design, discuss, and align on the same business logic Job Map\nWho: BA/PO/PM (business side) working with data engineers/analysts Why: Align on business logic so designs, models, and outputs reflect the real business Where it lives: PRs, documents with lightweight, embeddable data lineage Steps Define logseq.order-list-type:: number Goal: Agree on the job, outcomes, scope, and “value signals” logseq.order-list-type:: number Actions: Draft the core job statement, users, triggers, desired outcomes, constraints logseq.order-list-type:: number Artifacts: Document (problem, success metrics, non-goals) logseq.order-list-type:: number Outcomes are measurable and business-tied (not “build X tool”) logseq.order-list-type:: number Locate (input/source) logseq.order-list-type:: number Goal: Identify data, policies, and decisions need making logseq.order-list-type:: number Actions: Metrics, tables, dbt models, events, and owners; note gaps logseq.order-list-type:: number Artifacts: Source register (tables/models/files), domain glossary, policy links logseq.order-list-type:: number Prepare logseq.order-list-type:: number Goal: Set up a shared frame for collaboration logseq.order-list-type:: number Actions: Metric definitions, acceptance criteria, review cadence logseq.order-list-type:: number Artifacts: “Definition of Done” for metrics, wireframes for deliverables (dashboards or datasets) logseq.order-list-type:: number Confirm (readiness/alignment) logseq.order-list-type:: number Goal: Business users and data team validate understanding before building logseq.order-list-type:: number Actions: Check data availability + Run a quick alignment session, walk the logic with examples and edge cases logseq.order-list-type:: number Artifacts: Reviewed examples (“before/after” calculations), risk list (quality, latency, privacy) logseq.order-list-type:: number Execute (co-design/build) logseq.order-list-type:: number Monitor (feedback) logseq.order-list-type:: number Modify (refine) logseq.order-list-type:: number Conclude logseq.order-list-type:: number Market Research Open-source data catalog tools (openmetadata, datahub) User Interview Tuan (Data Engineer at Cake) At Cake there’re 3 places to view data lineage Airflow 2 dbt docs Datahub (he uses this mainly) Main use case: view data catalog and data lineage Use cases Whenever a data member request code review, he views the code changes\n=\u0026gt; imagine the data lineage in his mind to understand the changes When DE and DA teams want to announce the important changes, they share a document about the high-level business logic, usually draw using excalidraw/drawio, not at detail at dbt flow\nIf teammate wants to view the details, they should go to the PR ((6912a103-f464-4701-b570-b5fbd49810fd)) Some roles in the company: PO/Business User/DE\nPO is the coordinator between DE team and Business User, he represents users to request data from DE team Usually share a document and do sync communication (Cake’s culture), draw diagrams using free tools like excalidraw/drawio to illustrate the logic flow Assumptions Users often do documentation Mainly use dbt/table-based for data transformation Other Use Cases In database users have tables and views, where views are depended on tables =\u0026gt; users need some kind of dependency notation from tables -\u0026gt; views Notes from Patrick Biến việc đi kiếm input thành 1 phần solution luôn Map the entire Job Map, a strong product can solve more than 1 core job in the job map Mapping the job map helps identify potential use cases that also can be used by users References Archive https://stackoverflow.com/questions/78200908/create-dynamic-yml-creation-in-dbtbigquery Similar to dbt2dbml: https://github.com/neo-andrew-moss/erdgen Lineage parsing from SQL (python library): https://github.com/reata/sqllineage Personal feedback 1. Learning points Đợt này thì trong team em làm role giống PM, có cơ hội được ứng dụng kiến thức PM vào thực tế Trước khi bắt tay vào làm idea của em là định build cái app hầm hố lắm, sau khi ngồi phân tích lại \u0026amp; brainstorm thì thật ra cái solution đơn giản và giải quyết được cái vấn đề cốt lõi hơn nhiều Cùng một cái job map nhưng khi mình chọn cách tiếp cận ở đoạn nào khiến cho solution nó thay đổi rất nhiều Em học được là trong problem space lúc mình vẽ ra nó rộng thế đấy nhưng thời gian có hạn nên mình phải biết chọn và ưu tiên cái quan trọng và value nhất để làm Cái em học được nhiều nhất là communication. Em là đứa trước đây rất kín tiếng, qua giải này em mới …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dc5fd4fcf9b8e754405d19b4aa1fc49a","permalink":"https://secondbrain.lelouvincx.com/post/pages/dblineage/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/dblineage/","section":"post","summary":"Job To Be Done \u0026 Job Map [[[dblineage] Gathering User Data]]\nJTBD: Bridge the knowledge gap between business users and team data\nWhen I’m a data engineer work with business users to build a ETL pipeline I want to close the gap for business users who need to understand the fine-grained logic within those transformations. They’re left wondering, “Okay, I see this column came from that column or that table, but how was it calculated? If so, can I trust?” So that I and data team can brainstorm, design, discuss, and align on the same business logic Job Map\n","tags":["page"],"title":"dblineage","type":"post"},{"authors":null,"categories":null,"content":" https://media.secondbrain.lelouvincx.com/2026/02/7ba1920a32ca2377371db8243f9adbdc.png A mental model from Data - Information - Knowledge - Wisdom. By always being curious (asking why) and actively seeking for answers, connecting the dots and understanding the core / foundation / concept of things. Inspired by this article: https://campedersen.com/ownership-mindset ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ea98a3f787103fc9f4269fdd796cb41b","permalink":"https://secondbrain.lelouvincx.com/post/pages/dikw-pyramid/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/dikw-pyramid/","section":"post","summary":" https://media.secondbrain.lelouvincx.com/2026/02/7ba1920a32ca2377371db8243f9adbdc.png A mental model from Data - Information - Knowledge - Wisdom. By always being curious (asking why) and actively seeking for answers, connecting the dots and understanding the core / foundation / concept of things. Inspired by this article: https://campedersen.com/ownership-mindset ","tags":["page"],"title":"DIKW Pyramid","type":"post"},{"authors":null,"categories":null,"content":"Keynotes Dimensional modeling structures data in the way business people think about it, rather than how softwares store it ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5cbe1ec5069bafb2e11e59ecd136a24f","permalink":"https://secondbrain.lelouvincx.com/post/pages/dimensional-modeling/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/dimensional-modeling/","section":"post","summary":"Keynotes Dimensional modeling structures data in the way business people think about it, rather than how softwares store it ","tags":["page"],"title":"Dimensional Modeling","type":"post"},{"authors":null,"categories":null,"content":"Resources Figma: https://www.figma.com/design/1mU3qmVzCvjm2CXve978I0/Docs-Graphics ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"af145591cf50eabc0c71eedd82363277","permalink":"https://secondbrain.lelouvincx.com/post/pages/docs/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/docs/","section":"post","summary":"Resources Figma: https://www.figma.com/design/1mU3qmVzCvjm2CXve978I0/Docs-Graphics ","tags":["page"],"title":"Docs","type":"post"},{"authors":null,"categories":null,"content":" Gemini: https://gemini.google.com/app/786f401ad9ba4ae8\nI realize when doing a task, I often become too over-engineer, lag, time-consuming and not focusing into the main task.\nThis happens very often.\nSymtomps\nOver-engineering: Spending hours writing perfect things that could have been a simpler one.\nYak shaving: When I want to fix a dashboard, but first I decide to update my dotfiles configuration, which leads to debugging neovim issue, and suddenly 3 hours have passed without touching the dashboard.\nhttps://media.secondbrain.lelouvincx.com/2026/03/fe1b4ad3bee2f5b23a131a2305f0c9b5.png “Just one more small fix”.\nhttps://media.secondbrain.lelouvincx.com/2026/03/38fdfccb285f03ddb6c30e460c380a5c.png\nhttps://media.secondbrain.lelouvincx.com/2026/03/ac5d73d85b66548660b58f7cfd2f4ece.png\n","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d1f98e167ba9931b5d6377293549ed9e","permalink":"https://secondbrain.lelouvincx.com/post/pages/down-the-rabbit-hole/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/down-the-rabbit-hole/","section":"post","summary":" Gemini: https://gemini.google.com/app/786f401ad9ba4ae8\nI realize when doing a task, I often become too over-engineer, lag, time-consuming and not focusing into the main task.\nThis happens very often.\nSymtomps\nOver-engineering: Spending hours writing perfect things that could have been a simpler one.\nYak shaving: When I want to fix a dashboard, but first I decide to update my dotfiles configuration, which leads to debugging neovim issue, and suddenly 3 hours have passed without touching the dashboard.\n","tags":["page"],"title":"Down The Rabbit Hole","type":"post"},{"authors":null,"categories":null,"content":" https://media.secondbrain.lelouvincx.com/2026/03/4c39491a1814c0e767c359321242ad2d.png Lý thuyết bàn tay vô hình Giá của một mặt hàng đúng với giá hợp lý của xã hội đặt cho nó Mình nhận ra lịch sử ảnh hưởng rất nhiều vào kinh tế của một nước Trong chương đầu, học về cách mạng Mỹ, cách mạng Pháp, Napoleon Mối quan hệ giữa lợi nhuận và tiền lương là một trò chơi có tổng bằng không Nếu tỉ lệ lợi nhuận của chủ doanh nghiệp tăng lên thì phần dành cho tiền lương của người lao động tất yếu phải giảm xuống và ngược lại Thị trường tự do là một assumption các nhà kinh tế học đặt ra để tính toán trên đó dễ dàng hơn Ngoài đời thì khác hơn nhiều, một thị trường khó có thể tự do vì tồn tại rất nhiều kinh doanh độc quyền ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"56ebcf3278a14b4cbe854eced252a23f","permalink":"https://secondbrain.lelouvincx.com/post/pages/economix/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/economix/","section":"post","summary":" https://media.secondbrain.lelouvincx.com/2026/03/4c39491a1814c0e767c359321242ad2d.png Lý thuyết bàn tay vô hình Giá của một mặt hàng đúng với giá hợp lý của xã hội đặt cho nó Mình nhận ra lịch sử ảnh hưởng rất nhiều vào kinh tế của một nước Trong chương đầu, học về cách mạng Mỹ, cách mạng Pháp, Napoleon Mối quan hệ giữa lợi nhuận và tiền lương là một trò chơi có tổng bằng không Nếu tỉ lệ lợi nhuận của chủ doanh nghiệp tăng lên thì phần dành cho tiền lương của người lao động tất yếu phải giảm xuống và ngược lại Thị trường tự do là một assumption các nhà kinh tế học đặt ra để tính toán trên đó dễ dàng hơn Ngoài đời thì khác hơn nhiều, một thị trường khó có thể tự do vì tồn tại rất nhiều kinh doanh độc quyền ","tags":["page"],"title":"Economix","type":"post"},{"authors":null,"categories":null,"content":" Gemini: https://gemini.google.com/u/3/app/42485fec923a41e1 ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4b6a4efb8afd9f31514e90c2284a9744","permalink":"https://secondbrain.lelouvincx.com/post/pages/gaps-and-islands/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/gaps-and-islands/","section":"post","summary":" Gemini: https://gemini.google.com/u/3/app/42485fec923a41e1 ","tags":["page"],"title":"Gaps and Islands","type":"post"},{"authors":null,"categories":null,"content":" Gemini: https://gemini.google.com/app/2f98df4376f23aeb The service to get some personal data such as Maps, Youtube, Search, etc. Which aligns with the goal at https://github.com/lelouvincx/personal-finance “In the future, be able to connect different data sources such as Logseq, Calendar, Maps to give me a more holistic view of my life and finances.” Available services (https://developers.google.com/data-portability/user-guide/scopes): Chrome Discover (?) Maps My Activity Play Search Youtube NOTE Unlike the manual Google Takeout process, this API supports one-time or time-based (ongoing for 30–180 days) data transfers directly between servers. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5c1148f5ea675dd689bbab163ecb9316","permalink":"https://secondbrain.lelouvincx.com/post/pages/google-data-portability-api/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/google-data-portability-api/","section":"post","summary":" Gemini: https://gemini.google.com/app/2f98df4376f23aeb The service to get some personal data such as Maps, Youtube, Search, etc. Which aligns with the goal at https://github.com/lelouvincx/personal-finance “In the future, be able to connect different data sources such as Logseq, Calendar, Maps to give me a more holistic view of my life and finances.” Available services (https://developers.google.com/data-portability/user-guide/scopes): Chrome Discover (?) Maps My Activity Play Search Youtube NOTE Unlike the manual Google Takeout process, this API supports one-time or time-based (ongoing for 30–180 days) data transfers directly between servers. ","tags":["page"],"title":"Google Data Portability API","type":"post"},{"authors":null,"categories":null,"content":" Health Rules A living set of personal rules for protecting energy, sleep, and overall well-being. Improve incrementally — add a new bullet whenever a friction point shows up. Sleep \u0026amp; evenings No gaming after 6PM on weeknights. Late-night sessions always extend longer than planned and break sleep. Restrict gaming to morning / early afternoon, or weekends. Sleep \u0026gt; productivity. A “lost” hour of sleep typically costs more than the hour it appears to save. Illness Treat illness as a hard stop, not a soft pause. If feeling off two days in a row → full stop on day 2. Don’t push to day 3 hoping it improves. Recovery cost compounds: a few days of forced rest is cheaper than a week of dragging through. Movement \u0026amp; environment Walking / nature / no-signal time are real resets — schedule them deliberately, not only when sick. 3x short night jogs per week (post-work, lower-temp window). Morning slots conflict with deep work and high temperature; evening cools down and decompresses the day. Added W18 after the Sat May 3 badminton breathlessness signal. Eat before exercise. No empty-stomach badminton or jogging — Sat May 3 session degraded fast because no food since morning. Weekend discipline Default to one full off-day per weekend — no Smartclass commits, no Holistics work. Two consecutive non-rest weekends is a yellow flag. When the weekend is booked for deep work (e.g., H1 self-reflection + CV refresh), keep at least the Saturday morning slow. Notes Re-read this page during weekly planning (Friday wrap-up) and after any sick day or low-energy week. When a rule causes friction in practice, capture the friction here as a new bullet, then iterate. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7e028b72c2d944e282a5e8c576d51b53","permalink":"https://secondbrain.lelouvincx.com/post/pages/health-rules/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/health-rules/","section":"post","summary":" Health Rules A living set of personal rules for protecting energy, sleep, and overall well-being. Improve incrementally — add a new bullet whenever a friction point shows up. Sleep \u0026 evenings No gaming after 6PM on weeknights. Late-night sessions always extend longer than planned and break sleep. Restrict gaming to morning / early afternoon, or weekends. Sleep \u003e productivity. A “lost” hour of sleep typically costs more than the hour it appears to save. Illness Treat illness as a hard stop, not a soft pause. If feeling off two days in a row → full stop on day 2. Don’t push to day 3 hoping it improves. Recovery cost compounds: a few days of forced rest is cheaper than a week of dragging through. Movement \u0026 environment Walking / nature / no-signal time are real resets — schedule them deliberately, not only when sick. 3x short night jogs per week (post-work, lower-temp window). Morning slots conflict with deep work and high temperature; evening cools down and decompresses the day. Added W18 after the Sat May 3 badminton breathlessness signal. Eat before exercise. No empty-stomach badminton or jogging — Sat May 3 session degraded fast because no food since morning. Weekend discipline Default to one full off-day per weekend — no Smartclass commits, no Holistics work. Two consecutive non-rest weekends is a yellow flag. When the weekend is booked for deep work (e.g., H1 self-reflection + CV refresh), keep at least the Saturday morning slow. Notes Re-read this page during weekly planning (Friday wrap-up) and after any sick day or low-energy week. When a rule causes friction in practice, capture the friction here as a new bullet, then iterate. ","tags":["page"],"title":"Health Rules","type":"post"},{"authors":null,"categories":null,"content":"Process Start with definitions logseq.order-list-type:: number Goal: Avoid 3 versions of MRR floating around everyone. Sit with stakeholders (finance, rev ops, product) and nail down the definitions. Common pitfalls: (1) Entity Resolution issue: Zoho Billing is the source of truth for Finance (MRR/Revenue). Salespeople often enter aspirational data in Hubspot (deal size $10k), but the actual invoice might be $9k due to a last-minute discount. Hubspot is the source of truth for Dimensions. Zoho knows how much they paid, but Hubspot knows who they are (company, lead, customer/prospect) Application DB is the source of truth for Engagement. This is the leading indicator of churn. (2) Reconciliation issue: Finance likely has a spreadsheet they use to report numbers to the board. If your SQL logic differs even by $10 from their manual sheet, they will trust the sheet, not your dashboard. You must replicate their logic exactly before you can improve it. Means, answer this question: “How can I trust the numbers?”. Deliverables: Metric Glossary: an evergreen documentation defining business terms, processes, metrics ERD shows how a Company in Hubspot maps to a Customer in Zoho and a Tenant in the app ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ba58a193ec99194988d24e7a57a206a5","permalink":"https://secondbrain.lelouvincx.com/post/pages/how-to-do-an-internal-data-tracking-project%3f/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/how-to-do-an-internal-data-tracking-project%3f/","section":"post","summary":"Process Start with definitions logseq.order-list-type:: number Goal: Avoid 3 versions of MRR floating around everyone. Sit with stakeholders (finance, rev ops, product) and nail down the definitions. Common pitfalls: (1) Entity Resolution issue: Zoho Billing is the source of truth for Finance (MRR/Revenue). Salespeople often enter aspirational data in Hubspot (deal size $10k), but the actual invoice might be $9k due to a last-minute discount. Hubspot is the source of truth for Dimensions. Zoho knows how much they paid, but Hubspot knows who they are (company, lead, customer/prospect) Application DB is the source of truth for Engagement. This is the leading indicator of churn. (2) Reconciliation issue: Finance likely has a spreadsheet they use to report numbers to the board. If your SQL logic differs even by $10 from their manual sheet, they will trust the sheet, not your dashboard. You must replicate their logic exactly before you can improve it. Means, answer this question: “How can I trust the numbers?”. Deliverables: Metric Glossary: an evergreen documentation defining business terms, processes, metrics ERD shows how a Company in Hubspot maps to a Customer in Zoho and a Tenant in the app ","tags":["page"],"title":"How to do an internal data tracking project?","type":"post"},{"authors":null,"categories":null,"content":"Keynote Approach: top-down The philosophy is having a centralized, high quality data warehouse By maintaining an EDW - Enterprise Data Warehouse, storing all data as 3NF, aim for data quality and intergrity Then so the star schema - dimensional modelling for each specific reporting topic (dataset) 2-step process You model the data warehouse using 3NF to ensure truth, quality and consistency Then feed that data into data marts which use dimensional modeling for the actual BI reporting to consume ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"aa3bdbc547a0eed0eeff9fca507fcc3b","permalink":"https://secondbrain.lelouvincx.com/post/pages/inmon---data-warehousing/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/inmon---data-warehousing/","section":"post","summary":"Keynote Approach: top-down The philosophy is having a centralized, high quality data warehouse By maintaining an EDW - Enterprise Data Warehouse, storing all data as 3NF, aim for data quality and intergrity Then so the star schema - dimensional modelling for each specific reporting topic (dataset) 2-step process You model the data warehouse using 3NF to ensure truth, quality and consistency Then feed that data into data marts which use dimensional modeling for the actual BI reporting to consume ","tags":["page"],"title":"Inmon - Data Warehousing","type":"post"},{"authors":null,"categories":null,"content":" ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7e7c52527d7517af240bf98fdfc71c84","permalink":"https://secondbrain.lelouvincx.com/post/pages/input/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/input/","section":"post","summary":" ","tags":["page"],"title":"input","type":"post"},{"authors":null,"categories":null,"content":" If I had to start the core business metrics from scratch [[How to do an internal data tracking project?]] ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3cb41433f30c150ad5864377e54be95b","permalink":"https://secondbrain.lelouvincx.com/post/pages/internal/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/internal/","section":"post","summary":" If I had to start the core business metrics from scratch [[How to do an internal data tracking project?]] ","tags":["page"],"title":"Internal","type":"post"},{"authors":null,"categories":null,"content":"Tasks TODO Review hooli\nDone ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"86390c14b1e3c011a3256fbdff56c147","permalink":"https://secondbrain.lelouvincx.com/post/pages/journals/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/journals/","section":"post","summary":"Tasks TODO Review hooli\nDone ","tags":["page"],"title":"Journals","type":"post"},{"authors":null,"categories":null,"content":" https://bevel.work/blog/just-enough-automation/ A #Triet advice: https://www.explainxkcd.com/wiki/index.php/1205 ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"05cb5e03308c35858c1dbfa7eb824c14","permalink":"https://secondbrain.lelouvincx.com/post/pages/just-enough-automation/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/just-enough-automation/","section":"post","summary":" https://bevel.work/blog/just-enough-automation/ A #Triet advice: https://www.explainxkcd.com/wiki/index.php/1205 ","tags":["page"],"title":"Just Enough Automation","type":"post"},{"authors":null,"categories":null,"content":"Keynotes Fact: the verbs Dimension: the nouns Addictive facts: can sum them up across any dimensions ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"afad7e5d12693512056b08e765aed7b8","permalink":"https://secondbrain.lelouvincx.com/post/pages/kimball---data-warehousing/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/kimball---data-warehousing/","section":"post","summary":"Keynotes Fact: the verbs Dimension: the nouns Addictive facts: can sum them up across any dimensions ","tags":["page"],"title":"Kimball - Data Warehousing","type":"post"},{"authors":null,"categories":null,"content":" Goal BizOps (Vincent, Sriram) is doing 2026 revenue planning: setting an MRR target ($330K) and working backwards to determine how many leads they need at each stage to hit it. https://media.secondbrain.lelouvincx.com/2026/03/9b7d19a1a916c3868a43f25c1b3939c0.png https://media.secondbrain.lelouvincx.com/2026/03/daf21e663f6916c8cec1a4c418167e6e.png Conversion Rate By Sales Motion: for won deals, what % went through sales-assisted (call first =\u0026gt; trial) vs self-serve (trial first =\u0026gt; call). Sriram and Vincent intuitively feel call-first has a higher win rate but don’t have data to prove it. https://media.secondbrain.lelouvincx.com/2026/03/233fc4decf6a75e71f71ef06780ce53e.png Why it matters: assess which entry point produces better outcomes =\u0026gt; to invest more on. Decision-making questions: Given we need ~59 raw leads/month to hit 330K MRR, how should we allocate between call-first or trial-first deals? Should we consider removing self-serve trials if call-first converts significantly better? Sales Motion Classification Leads are classified based on timestamp ordering of first demo call vs first trial submission: call-first: first_call_at \u0026lt; submitted_at trial-first: submitted_at \u0026lt;= first_call_at trial-only: trial submitted, but first_call_at is NULL call-only: call booked, but trial_submission_skey is NULL For same-day events, uses exact UTC timestamps to determine sequence. Data Model Main working dataset: DTS106\nPrimary table: fct_sales_leads (enriched with sales_motion dimension)\nKey tables:\nfct_sales_leads — primary lead data fct_demo_call_bookings — Calendly call data dim_customers — identify won customers (status = \u0026#39;active\u0026#39; AND subscription_tier = \u0026#39;paid\u0026#39;) Infrastructure: BigQuery project skilled-fulcrum-90207, dataset mart_holistics\nPOC branch: chinh/lead-funnel-by-sales-motion\nDraft: https://bi.holistics.io/studio/projects/7/explore/reporting/4.%20Growth/Team%20Folder/Quinn/sales_dashboards_v1.page.aml?branch=chinh/lead-funnel-by-sales-motion\nShared AQL explore earlier:\nexplore { dimensions { rows { rollup((// label=\u0026#34;Month Created Date\u0026#34; dm_fsl_cd_5d20bc: fct_sales_leads.created_date | month())) } columns { rollup((// label=\u0026#34;Custom Deal Stage\u0026#34; fsl_ds_2a3cff: fct_sales_leads.deal_stage)) } } measures { // label=\u0026#34;Count Leads\u0026#34; count_leads: count_leads } options { isolate_error_in_metric } sorts { dm_fsl_cd_5d20bc desc nulls last, fsl_ds_2a3cff asc nulls last } } Revenue Planning Baseline Data sources used by BizOps: Main: https://bi.holistics.io/dashboards/v4/28300-0-mrr-overview?_fstate=D2sEOZ Conversion: https://bi.holistics.io/dashboards/v4/40800-sales-dashboards-v1?_t=tab_0c02 Pricing tier: https://bi.holistics.io/dashboards/v4/41188-adhoc-mrr-bucket-breakdown?_fstate=D2sz8ZX\u0026amp;_expl=v_v0pw\u0026amp;_eshash=GguKBEd Method: simple monthly averages (Jan 2025 – Jan 2026), each stage as % of raw leads. Estimation: 59 raw → 29 qualified → 10 trial → 5 won per month for $330K MRR target. Data Quality Audit Because the number of deals/leads is small, even a few mis-categorized leads magnify the conversion rate. Hence conversion rate may not be a good metric to break down here. Suggest: average deal value (or something else). But their intuition is correct based on recent won deals: sales-first performs better. Assessment from growth team: Fanserv is trial-first, not call-first (same-day, call slightly earlier in UTC). Basata is Nam’s customer, not Janice (rep assignment data bug). Novigi is trial-first, not call-first (same-day). These customers are not trial-only: iceye.us, myedspace.co.uk, teveo.com, superbexperience.com, mckinnisinc.com, gridcoresolutions.com, getspruce.com, worldvision.org.nz, perfectrx.com, returnless.com, mrdiy.com Root causes: event_uuid was NULL in Calendly sources since Dec 2024 → join failures → wrong rep assignment. Domain mismatches (e.g., iceye.com vs iceye.us). Missing call sources: some leads had calls via non-Calendly channels. Override Mechanism Vincent proposed a HubSpot “DataOps Override” property (Deal Classification: call-first / trial-first / trial-only) as manual fallback. Quinn created it in HubSpot. My position: treat override as last resort — fix data bugs first, re-audit, then use override for remaining edge cases. Vincent agreed but noted value for unknown unknowns, ROI, speed, and exception handling. Agreed balance: systematic fix + override for exceptions (threshold ~10%). Sub-issues DONE DAT-561: Enrich with additional call sources beyond Calendly demo calls\nDONE DAT-562: Add sales_motion dimension to fct_sales_leads\nDONE DAT-563: Fix rep assignment bug in fct_sales_leads\nDONE DAT-564: Re-audit sales motion classification with BizOps\nTODO Wrap up the project\nProgress DONE Initialize a document\nDONE Share a small POC and data for Vincent and Sriram to decide first, before start doing. The main problem is data does not capture other leads out of demo calls, which not only 1-1 calls but also calls outside of Calendly (in person call). MrDIY is an example of mis-categorized into …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c4f60b31a4bb167663cb62627c4b2fae","permalink":"https://secondbrain.lelouvincx.com/post/pages/lead-funnel-by-sales-motion/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/lead-funnel-by-sales-motion/","section":"post","summary":" Goal BizOps (Vincent, Sriram) is doing 2026 revenue planning: setting an MRR target ($330K) and working backwards to determine how many leads they need at each stage to hit it. https://media.secondbrain.lelouvincx.com/2026/03/9b7d19a1a916c3868a43f25c1b3939c0.png https://media.secondbrain.lelouvincx.com/2026/03/daf21e663f6916c8cec1a4c418167e6e.png Conversion Rate By Sales Motion: for won deals, what % went through sales-assisted (call first =\u003e trial) vs self-serve (trial first =\u003e call). Sriram and Vincent intuitively feel call-first has a higher win rate but don’t have data to prove it. https://media.secondbrain.lelouvincx.com/2026/03/233fc4decf6a75e71f71ef06780ce53e.png Why it matters: assess which entry point produces better outcomes =\u003e to invest more on. Decision-making questions: Given we need ~59 raw leads/month to hit 330K MRR, how should we allocate between call-first or trial-first deals? Should we consider removing self-serve trials if call-first converts significantly better? Sales Motion Classification Leads are classified based on timestamp ordering of first demo call vs first trial submission: call-first: first_call_at \u003c submitted_at trial-first: submitted_at \u003c= first_call_at trial-only: trial submitted, but first_call_at is NULL call-only: call booked, but trial_submission_skey is NULL For same-day events, uses exact UTC timestamps to determine sequence. Data Model Main working dataset: DTS106\n","tags":["page"],"title":"Lead Funnel by Sales Motion","type":"post"},{"authors":null,"categories":null,"content":" {{video https://youtu.be/y7rWVhihlb8?si=3NL2Cnh4CQKxpk21}} {{video https://youtu.be/F2c1ORtkmuU?si=uEE403a6bAhP0ZBH}} ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5d8846cb8191412fa581fa7a8ef32dca","permalink":"https://secondbrain.lelouvincx.com/post/pages/leap-of-faith/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/leap-of-faith/","section":"post","summary":" {{video https://youtu.be/y7rWVhihlb8?si=3NL2Cnh4CQKxpk21}} {{video https://youtu.be/F2c1ORtkmuU?si=uEE403a6bAhP0ZBH}} ","tags":["page"],"title":"Leap of Faith","type":"post"},{"authors":null,"categories":null,"content":" https://justoffbyone.com/posts/measuring-engineering-productivity/ The system should work for your engineers, not against them. If your measurement system makes engineers less productive, you’re failed. If it makes them feel surveilled and distrusted, you’re failed. If it becomes an end in itself rather than a mean to build better products, you’re failed. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0d40bccfeebca63d40b4e7e6d94ee832","permalink":"https://secondbrain.lelouvincx.com/post/pages/measuring-engineering-productivity/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/measuring-engineering-productivity/","section":"post","summary":" https://justoffbyone.com/posts/measuring-engineering-productivity/ The system should work for your engineers, not against them. If your measurement system makes engineers less productive, you’re failed. If it makes them feel surveilled and distrusted, you’re failed. If it becomes an end in itself rather than a mean to build better products, you’re failed. ","tags":["page"],"title":"Measuring Engineering Productivity","type":"post"},{"authors":null,"categories":null,"content":" ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5b6ac570a7c1d61b85f0d6e48255ed48","permalink":"https://secondbrain.lelouvincx.com/post/pages/memory-decreasing/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/memory-decreasing/","section":"post","summary":" ","tags":["page"],"title":"Memory Decreasing","type":"post"},{"authors":null,"categories":null,"content":" How does Olist work? How does Olist make money? Tasks ((691029d8-69c2-4627-b93c-7328fcebda27)) ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"da07e716736337a90475b87b5f477eef","permalink":"https://secondbrain.lelouvincx.com/post/pages/ngocyen99tb.lelouvincx.com/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/ngocyen99tb.lelouvincx.com/","section":"post","summary":" How does Olist work? How does Olist make money? Tasks ((691029d8-69c2-4627-b93c-7328fcebda27)) ","tags":["page"],"title":"ngocyen99tb.lelouvincx.com","type":"post"},{"authors":null,"categories":null,"content":" Written guide Surviving the Early Game Surviving the Mid-Game Useful Construction Patterns Dupe Builds Surviving the Late-Game ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"bc2899f86b482f22ae9baa05116b04a8","permalink":"https://secondbrain.lelouvincx.com/post/pages/oxygen-not-included/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/oxygen-not-included/","section":"post","summary":" Written guide Surviving the Early Game Surviving the Mid-Game Useful Construction Patterns Dupe Builds Surviving the Late-Game ","tags":["page"],"title":"Oxygen Not Included","type":"post"},{"authors":null,"categories":null,"content":" wa ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"bf97b1532e5db3a1987013ed8947e0e2","permalink":"https://secondbrain.lelouvincx.com/post/pages/p2/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/p2/","section":"post","summary":" wa ","tags":["page"],"title":"P2","type":"post"},{"authors":null,"categories":null,"content":" https://public.lelouvincx.com/parquet-how-it-works.png {{video https://youtu.be/1j8SdS7s_NY?si=mBplsyA4pzArccsj}} [[Predicate Pushdown]] Row Group Column Chunk Page [[Parquet Zone Maps]] And then there is Delta Lake, which is a storage layer sitting on top of parquet files. In short, we have Delta Lake to manage, provide database’s functionalities, and the files are stored as parquet. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3ec076c96dd6424538c53594da6977d6","permalink":"https://secondbrain.lelouvincx.com/post/pages/parquet/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/parquet/","section":"post","summary":" https://public.lelouvincx.com/parquet-how-it-works.png {{video https://youtu.be/1j8SdS7s_NY?si=mBplsyA4pzArccsj}} [[Predicate Pushdown]] Row Group Column Chunk Page [[Parquet Zone Maps]] And then there is Delta Lake, which is a storage layer sitting on top of parquet files. In short, we have Delta Lake to manage, provide database’s functionalities, and the files are stored as parquet. ","tags":["page"],"title":"Parquet","type":"post"},{"authors":null,"categories":null,"content":" Gemini: https://gemini.google.com/app/c44f8c1670b8187a ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cbcff945e5e88fd2c745ac9bce800f84","permalink":"https://secondbrain.lelouvincx.com/post/pages/parquet-zone-maps/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/parquet-zone-maps/","section":"post","summary":" Gemini: https://gemini.google.com/app/c44f8c1670b8187a ","tags":["page"],"title":"Parquet Zone Maps","type":"post"},{"authors":null,"categories":null,"content":"Notes Section 4, Result Delivery \u0026amp; Reporting, L2 - “Can create an effective story with data, maintaining objectivity in their analysis” It’s possible not doing inside Holistics but with my side projects for [[Data Journalism]], [[Data Visualization]] ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"eae5005121d22e9a2fa3d2f4b2bc7e6e","permalink":"https://secondbrain.lelouvincx.com/post/pages/performance-review---2025h2/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/performance-review---2025h2/","section":"post","summary":"Notes Section 4, Result Delivery \u0026 Reporting, L2 - “Can create an effective story with data, maintaining objectivity in their analysis” It’s possible not doing inside Holistics but with my side projects for [[Data Journalism]], [[Data Visualization]] ","tags":["page"],"title":"Performance Review - 2025H2","type":"post"},{"authors":null,"categories":null,"content":"User Context \u0026amp; Persona Professional Profile The user is a Data Analytics Engineer and Educator. They maintain a technical site at lelouvincx.com. They are highly technical, preferring detailed, engineering-focused discussions over high-level overviews. They are working at holistics.io Technical Stack \u0026amp; Expertise Data Engineering: Expert in SQL optimization, data warehousing (Kimball/Inmon), and ETL/ELT pipelines. Frequently uses dbt, Dagster, DuckDB, PostgreSQL (RDS), and Redshift. BI \u0026amp; Visualization: Experienced with Holistics, Metabase. Infrastructure: Proponent of self-hosting and cost-optimization. Uses low-cost VPS providers (Contabo), Docker, Cloudflare. Workflow: Uses MacOS with a keyboard-driven workflow. Preferred editor is Neovim (LazyVim config) and uses Logseq for knowledge management. Active Projects (Current Context) 1. [Duty] Holistics Support Role: Customer Duty Support / Data Analytics Engineer at Holistics. Key Context: Focuses on troubleshooting and scaling solutions for clients. Recent Work: Client “Pencil”: Scaling customer dashboards and optimizing data models within the Holistics platform. Workflow: Synthesizing support call transcripts and drafting technical follow-up communications. 2. [Add2Cart] Data Consultancy Service Tech Stack: RDS (PostgreSQL), S3 (data lake), Redshift (data warehouse), Holistics (BI tool). Current Status: configuring replication tasks and debugging connection/permission issues between the OLTP source and OLAP destination. 3. [Teaching] Data Analytics Educator Role: Instructor for a junior analyst and a junior engineer. Curriculum: Developing a gamified analytics course based on the Olist E-commerce dataset. Resources: Creating a “Teacher’s Guide” and phased learning materials. Infrastructure: Manages a self-hosted Metabase instance for students, powered by DuckDB and Neon.tech, exposed via Cloudflare Tunnels. Expose learning materials on public website at https://ngocyen99tb.lelouvincx.com, written in Docusaurus. 4. [Personal] Infrastructure \u0026amp; Tools Blog/Docs: Revamping lelouvincx.com (formerly hugo blowfish) (focus on themes, search plugins, and sitemaps). Self-Hosting: Personal infrastructure includes Contabo VPS Cultural Context The user is interested in Vietnamese language, culture, and technology (e.g., local banking, esports). ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7661657cba5bda1c4c54fea629eb5804","permalink":"https://secondbrain.lelouvincx.com/post/pages/personal-context/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/personal-context/","section":"post","summary":"User Context \u0026 Persona Professional Profile The user is a Data Analytics Engineer and Educator. They maintain a technical site at lelouvincx.com. They are highly technical, preferring detailed, engineering-focused discussions over high-level overviews. They are working at holistics.io Technical Stack \u0026 Expertise Data Engineering: Expert in SQL optimization, data warehousing (Kimball/Inmon), and ETL/ELT pipelines. Frequently uses dbt, Dagster, DuckDB, PostgreSQL (RDS), and Redshift. BI \u0026 Visualization: Experienced with Holistics, Metabase. Infrastructure: Proponent of self-hosting and cost-optimization. Uses low-cost VPS providers (Contabo), Docker, Cloudflare. Workflow: Uses MacOS with a keyboard-driven workflow. Preferred editor is Neovim (LazyVim config) and uses Logseq for knowledge management. Active Projects (Current Context) 1. [Duty] Holistics Support Role: Customer Duty Support / Data Analytics Engineer at Holistics. Key Context: Focuses on troubleshooting and scaling solutions for clients. Recent Work: Client “Pencil”: Scaling customer dashboards and optimizing data models within the Holistics platform. Workflow: Synthesizing support call transcripts and drafting technical follow-up communications. 2. [Add2Cart] Data Consultancy Service Tech Stack: RDS (PostgreSQL), S3 (data lake), Redshift (data warehouse), Holistics (BI tool). Current Status: configuring replication tasks and debugging connection/permission issues between the OLTP source and OLAP destination. 3. [Teaching] Data Analytics Educator Role: Instructor for a junior analyst and a junior engineer. Curriculum: Developing a gamified analytics course based on the Olist E-commerce dataset. Resources: Creating a “Teacher’s Guide” and phased learning materials. Infrastructure: Manages a self-hosted Metabase instance for students, powered by DuckDB and Neon.tech, exposed via Cloudflare Tunnels. Expose learning materials on public website at https://ngocyen99tb.lelouvincx.com, written in Docusaurus. 4. [Personal] Infrastructure \u0026 Tools Blog/Docs: Revamping lelouvincx.com (formerly hugo blowfish) (focus on themes, search plugins, and sitemaps). Self-Hosting: Personal infrastructure includes Contabo VPS Cultural Context The user is interested in Vietnamese language, culture, and technology (e.g., local banking, esports). ","tags":["page"],"title":"Personal Context","type":"post"},{"authors":null,"categories":null,"content":" https://gemini.google.com/app/87b8d4ee12216e39 TODO Conceptual Design Priority: #P3 TODO Techstack Design (after conceptual designing) Priority: #P3 ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"829be76082a4147013695352f5b7858f","permalink":"https://secondbrain.lelouvincx.com/post/pages/personal-finance-manager-app/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/personal-finance-manager-app/","section":"post","summary":" https://gemini.google.com/app/87b8d4ee12216e39 TODO Conceptual Design Priority: #P3 TODO Techstack Design (after conceptual designing) Priority: #P3 ","tags":["page"],"title":"Personal Finance Manager App","type":"post"},{"authors":null,"categories":null,"content":" Category: [[Database Optimization]] When filter some data, instead of loading all data into memory then filter, predicate pushdown allows filtering at the query execution layer/storage layer, in order to only load the filtered data into memory. Benefit: Reduce I/O Reduce Time How it works Before (without predicate pushdown) Read: The engine read 100% data from storage. logseq.order-list-type:: number Transfer: The engine transfers all data over the network to the compute engine. logseq.order-list-type:: number Filter: The compute engine loads data into memory and applies WHERE. logseq.order-list-type:: number After Read: The compute engine sends the query and the filter to the storage/metadata layer. logseq.order-list-type:: number Filter: The storage/metadata layer uses statistics based on the WHERE to skip entire redundant blocks of data. logseq.order-list-type:: number Transfer: Smaller data transfers over the network. logseq.order-list-type:: number Pitfalls Casting: something like WHERE CAST(string_col AS INTEGER) \u0026gt; 5 will not work. Because the compute engine has to read all data to do the cast before filtering (which Holistics usually use). Complex UDF. Unsorted: If data random across row partitions, the predicate pushdown won’t work effectively. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"bb8032a40d5224db4bc89df1ed4a2aff","permalink":"https://secondbrain.lelouvincx.com/post/pages/predicate-pushdown/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/predicate-pushdown/","section":"post","summary":" Category: [[Database Optimization]] When filter some data, instead of loading all data into memory then filter, predicate pushdown allows filtering at the query execution layer/storage layer, in order to only load the filtered data into memory. Benefit: Reduce I/O Reduce Time How it works Before (without predicate pushdown) Read: The engine read 100% data from storage. logseq.order-list-type:: number Transfer: The engine transfers all data over the network to the compute engine. logseq.order-list-type:: number Filter: The compute engine loads data into memory and applies WHERE. logseq.order-list-type:: number After Read: The compute engine sends the query and the filter to the storage/metadata layer. logseq.order-list-type:: number Filter: The storage/metadata layer uses statistics based on the WHERE to skip entire redundant blocks of data. logseq.order-list-type:: number Transfer: Smaller data transfers over the network. logseq.order-list-type:: number Pitfalls Casting: something like WHERE CAST(string_col AS INTEGER) \u003e 5 will not work. Because the compute engine has to read all data to do the cast before filtering (which Holistics usually use). Complex UDF. Unsorted: If data random across row partitions, the predicate pushdown won’t work effectively. ","tags":["page"],"title":"Predicate Pushdown","type":"post"},{"authors":null,"categories":null,"content":" ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"27a3b283ea3a8df68dffe770af3ce89c","permalink":"https://secondbrain.lelouvincx.com/post/pages/presales/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/presales/","section":"post","summary":" ","tags":["page"],"title":"Presales","type":"post"},{"authors":null,"categories":null,"content":" Principles A triage page for heuristics gained from experience. Not the final home — the inbox / staging area. Each entry: one-line trigger, one-line response, backlink to the journal where it was forged, and a status. Once a heuristic matures (fires a 2nd time and has a clear domain), route it out to a dedicated page or upstream to a team-owned doc. The triage page stays small on purpose. How to use this page Capture freely. Anything I notice once gets dropped here. Low friction. Promote on second use. If a heuristic fires a 2nd time in real work, it has earned a spot on a dedicated page. Archive on neglect. If an entry sits in triage \u0026gt; 60 days without a 2nd use, archive it. The page is for active heuristics, not aspirations. Re-read during Friday wrap-up. Demote anything routed-out that hasn’t fired in 90 days. Routing targets prioritization / scheduling → [[Priority Rules]] sleep / illness / movement / energy → [[Health Rules]] (future) work-craft pages may emerge: communication → [[Communication Rules]] (TBD) code review / on-call → [[Code Review Rules]] (TBD) Some heuristics belong outside the second-brain. Upstream to team-owned docs when the rule is not unique to me — it converts a private heuristic into team infrastructure, and the writing exercise itself is career-visible. Status legend triage — just captured, awaiting a 2nd occurrence. routed → [[Page]] — promoted to a dedicated page; this entry kept as a stub for backlink. upstream → \u0026lt;team doc\u0026gt; — proposed / merged into a team-owned doc. archived — did not survive a 2nd use within 60 days, or superseded. Entries Work craft dbt deprecation 3-phase rule trigger: deprecating a dbt model that other AML / BI assets reference. response: phase 1 deprecate in code → phase 2 remove the .sql → phase 3 drop the BQ table. Don’t sit between phase 2 and 3 — AML references BQ physical names, so removing the .sql only stops refresh and leaves the table silently misleading consumers. forged: [[Weekly Report - 2026-W17]] · Ampcode T-019da543 validated: W18 Calendly cleanup — 3 legacy models deleted in PR internal-aml-project#78 without re-deriving the reasoning. status: upstream → holistics/dbt contributing guide (proposed). Team correctness rule, should outlive me. Small P1 ships before big P2 context-switch trigger: a P1 escalation lands while a small / cheap P1 task is still open. response: ship the 30-min item first, then context-switch. The cheapest item is the one most at risk of slipping when escalations arrive. forged: [[Weekly Report - 2026-W18]] (dbt PR #858 round 1 review slipped when BuyCo + Wamly P1 escalations landed Wed). status: triage. Candidate for a future on-call / escalation handling note. Communication Customer comms reframe — recipe, not IOU trigger: a customer asks for help with a workflow / configuration. response: frame as “here is the recipe, happy to pair if helpful” instead of “I’ll do it for you”. Volunteering hands-on work tends to get silence in return. forged: [[2026-04-27]] · validated against W17 Showbie + Basata silence pattern. validated: W18 BuyCo 14-thread triage — replies were structured as workarounds + screen-recording asks, not “I’ll log in and fix it for you”. status: upstream → presales comms playbook / CS onboarding doc (proposed). Pattern is not unique to my threads. Ask for no, don’t ask for yes (Mooreds) trigger: needing a small decision from a busy stakeholder (manager, peer). response: replace “can we do X?” with “I’m going to do X to solve Y, will take care of it Monday unless I hear differently.” Shifts cognitive load to opt-out and unblocks progress while keeping ownership. forged: [[Weekly Report - 2026-W17]] · mooreds.com status: triage. Tone needs to be calibrated per person — practice on smaller decisions first. Concision — what is the most important thing to say? (Wes Kao) trigger: writing a status update, PR description, Slack message, or stakeholder note. response: lead with the most important sentence. Cut anything that doesn’t change the reader’s decision or action. forged: [[Weekly Report - 2026-W18]] · Wes Kao — How to Be Concise status: triage. Pair with Levels of detail in communication once read. Decision-making / scheduling Vague task → time-block + decompose to smallest concrete next step trigger: a task feels blocking / overwhelming and keeps getting deferred. response: time-block a slot, then force decomposition into the smallest concrete next step. Long carry-overs often have a procrastination root, not a priority root. forged: [[2026-04-30]] · Wait But Why — How to Beat Procrastination validated: same-day BuyCo 14-item Notion page → 14 micro Slack threads in #holistics-buyco-external, all shipped in one Wed afternoon. status: triage. Candidate for promotion to [[Priority Rules]] (pairs with the 3+ week carry-over forcing function) on next occurrence. Highest-leverage triage on low-energy weeks → routed → [[Priority Rules]] 3+ week carry-over forcing function → routed → [[Priority Rules]] …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"086a3ac2aa87a5236a3e38f163d9615e","permalink":"https://secondbrain.lelouvincx.com/post/pages/principles/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/principles/","section":"post","summary":" Principles A triage page for heuristics gained from experience. Not the final home — the inbox / staging area. Each entry: one-line trigger, one-line response, backlink to the journal where it was forged, and a status. Once a heuristic matures (fires a 2nd time and has a clear domain), route it out to a dedicated page or upstream to a team-owned doc. The triage page stays small on purpose. How to use this page Capture freely. Anything I notice once gets dropped here. Low friction. Promote on second use. If a heuristic fires a 2nd time in real work, it has earned a spot on a dedicated page. Archive on neglect. If an entry sits in triage \u003e 60 days without a 2nd use, archive it. The page is for active heuristics, not aspirations. Re-read during Friday wrap-up. Demote anything routed-out that hasn’t fired in 90 days. Routing targets prioritization / scheduling → [[Priority Rules]] sleep / illness / movement / energy → [[Health Rules]] (future) work-craft pages may emerge: communication → [[Communication Rules]] (TBD) code review / on-call → [[Code Review Rules]] (TBD) Some heuristics belong outside the second-brain. Upstream to team-owned docs when the rule is not unique to me — it converts a private heuristic into team infrastructure, and the writing exercise itself is career-visible. Status legend triage — just captured, awaiting a 2nd occurrence. routed → [[Page]] — promoted to a dedicated page; this entry kept as a stub for backlink. upstream → \u003cteam doc\u003e — proposed / merged into a team-owned doc. archived — did not survive a 2nd use within 60 days, or superseded. Entries Work craft dbt deprecation 3-phase rule trigger: deprecating a dbt model that other AML / BI assets reference. response: phase 1 deprecate in code → phase 2 remove the .sql → phase 3 drop the BQ table. Don’t sit between phase 2 and 3 — AML references BQ physical names, so removing the .sql only stops refresh and leaves the table silently misleading consumers. forged: [[Weekly Report - 2026-W17]] · Ampcode T-019da543 validated: W18 Calendly cleanup — 3 legacy models deleted in PR internal-aml-project#78 without re-deriving the reasoning. status: upstream → holistics/dbt contributing guide (proposed). Team correctness rule, should outlive me. Small P1 ships before big P2 context-switch trigger: a P1 escalation lands while a small / cheap P1 task is still open. response: ship the 30-min item first, then context-switch. The cheapest item is the one most at risk of slipping when escalations arrive. forged: [[Weekly Report - 2026-W18]] (dbt PR #858 round 1 review slipped when BuyCo + Wamly P1 escalations landed Wed). status: triage. Candidate for a future on-call / escalation handling note. Communication Customer comms reframe — recipe, not IOU trigger: a customer asks for help with a workflow / configuration. response: frame as “here is the recipe, happy to pair if helpful” instead of “I’ll do it for you”. Volunteering hands-on work tends to get silence in return. forged: [[2026-04-27]] · validated against W17 Showbie + Basata silence pattern. validated: W18 BuyCo 14-thread triage — replies were structured as workarounds + screen-recording asks, not “I’ll log in and fix it for you”. status: upstream → presales comms playbook / CS onboarding doc (proposed). Pattern is not unique to my threads. Ask for no, don’t ask for yes (Mooreds) trigger: needing a small decision from a busy stakeholder (manager, peer). response: replace “can we do X?” with “I’m going to do X to solve Y, will take care of it Monday unless I hear differently.” Shifts cognitive load to opt-out and unblocks progress while keeping ownership. forged: [[Weekly Report - 2026-W17]] · mooreds.com status: triage. Tone needs to be calibrated per person — practice on smaller decisions first. Concision — what is the most important thing to say? (Wes Kao) trigger: writing a status update, PR description, Slack message, or stakeholder note. response: lead with the most important sentence. Cut anything that doesn’t change the reader’s decision or action. forged: [[Weekly Report - 2026-W18]] · Wes Kao — How to Be Concise status: triage. Pair with Levels of detail in communication once read. Decision-making / scheduling Vague task → time-block + decompose to smallest concrete next step trigger: a task feels blocking / overwhelming and keeps getting deferred. response: time-block a slot, then force decomposition into the smallest concrete next step. Long carry-overs often have a procrastination root, not a priority root. forged: [[2026-04-30]] · Wait But Why — How to Beat Procrastination validated: same-day BuyCo 14-item Notion page → 14 micro Slack threads in #holistics-buyco-external, all shipped in one Wed afternoon. status: triage. Candidate for promotion to [[Priority Rules]] (pairs with the 3+ week carry-over forcing function) on next occurrence. Highest-leverage triage on low-energy weeks → routed → [[Priority Rules]] 3+ week carry-over forcing function → routed → [[Priority Rules]] Reflection / craft hygiene Writing is thinking — daily journals are 100% me trigger: temptation to outsource a journal entry / reflection draft to an LLM. response: don’t. LLM is fair game for boilerplate / first drafts only. The reflection muscle is the differentiator. forged: [[Weekly Report - 2026-W18]] · HN thread status: triage. Cultivate non-LLM reading sources trigger: defaulting to LLM search inside Logseq for ideas / craft inspiration. response: deliberately seek out blogs / RSS / newsletters from individual senior writers (e.g., mooreds.com, Wes Kao, benn.substack). Signal/noise from a curated human writer is different from an aggregated answer. forged: [[Weekly Report - 2026-W17]] status: triage. Routed (kept as stubs for backlink) Sleep \u003e productivity → routed → [[Health Rules]] Illness = hard stop on day 2 → routed → [[Health Rules]] No gaming after 18:00 on weeknights → routed → [[Health Rules]] Eat before exercise → routed → [[Health Rules]] Weekend discipline (1 full off-day default) → routed → [[Health Rules]] Notes Re-read this page during Friday wrap-up alongside [[Priority Rules]] and [[Health Rules]]. When the same heuristic shows up in 2 separate weekly reports, that’s the promotion signal — move it out. Upstreaming to team docs is higher leverage than keeping a heuristic personal. Ask: “would Thuan / a new hire benefit from this being in the team’s docs?” If yes, draft the upstream PR. ","tags":["page"],"title":"Principles","type":"post"},{"authors":null,"categories":null,"content":" Priority Rules A living set of personal rules for prioritizing tasks. Improve incrementally. Working principles Choose the highest-leverage tasks even when the week’s workload is low (e.g., sick, leave, traveling). A low-energy week shouldn’t slide into a low-leverage week — pick fewer items, but pick the most important ones. 3+ week carry-over rule — any item carried over 3 or more weeks gets a forcing function: either elevate its priority and schedule it on a specific day, OR formally move it to backlog / waiting (with the reason). Goal: avoid the “always-on but never-done” zone. Priority tiers P0 — Urgent Must do immediately. Usually customer-facing tasks that need a response or mitigation ASAP (e.g., production incident, enterprise customer escalation, data outage). Drop other work to handle these. P1 — High Should prioritize doing because some stakeholders are blocking. Includes manager-elevated items and teammate-blocking reviews. P2 — Normal Important but not urgent. Picked up when no P1 tasks are active. Most internal data work / improvements live here. P3 — Personal / Teaching / Free time Personal projects, teaching, learning, exploration. Can be done in free time, or delegated to others when possible. Notes Re-read this page during weekly planning (Friday wrap-up). When a rule causes friction in practice, capture the friction here as a new bullet, then iterate. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b6fe0f381ef9ad6e1a6676ceaa4002a1","permalink":"https://secondbrain.lelouvincx.com/post/pages/priority-rules/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/priority-rules/","section":"post","summary":" Priority Rules A living set of personal rules for prioritizing tasks. Improve incrementally. Working principles Choose the highest-leverage tasks even when the week’s workload is low (e.g., sick, leave, traveling). A low-energy week shouldn’t slide into a low-leverage week — pick fewer items, but pick the most important ones. 3+ week carry-over rule — any item carried over 3 or more weeks gets a forcing function: either elevate its priority and schedule it on a specific day, OR formally move it to backlog / waiting (with the reason). Goal: avoid the “always-on but never-done” zone. Priority tiers P0 — Urgent Must do immediately. Usually customer-facing tasks that need a response or mitigation ASAP (e.g., production incident, enterprise customer escalation, data outage). Drop other work to handle these. P1 — High Should prioritize doing because some stakeholders are blocking. Includes manager-elevated items and teammate-blocking reviews. P2 — Normal Important but not urgent. Picked up when no P1 tasks are active. Most internal data work / improvements live here. P3 — Personal / Teaching / Free time Personal projects, teaching, learning, exploration. Can be done in free time, or delegated to others when possible. Notes Re-read this page during weekly planning (Friday wrap-up). When a rule causes friction in practice, capture the friction here as a new bullet, then iterate. ","tags":["page"],"title":"Priority Rules","type":"post"},{"authors":null,"categories":null,"content":"Resources The Foundational “Bible” of PLG ProductLed.org: Run by Wes Bush. This is the gold standard for understanding the why. Amplitude’s Mastering Retention \u0026amp; Growth Guides: While they sell a product, their playbooks on “Behavioral Cohorting” are essential for learning how to model user actions into “States” (e.g., Active, At-Risk, Power User). Book - Product-Led Growth Technical Modeling dbt Labs Blog - Modeling for PLG: Search for their articles on “Modeling the Customer Journey.” They have excellent deep-dives on how to handle the many-to-many relationship between Users and Accounts in SQL. The Hightouch or Census Blogs (Data Activation): These companies pioneered Reverse ETL. Their blogs are specifically geared toward engineers building the “HubSpot + Product Data” loop. Look for “How to build a PQL scoring model in Snowflake/BigQuery”. Hacking Data (Newsletter/Blog): Often covers the technical debt involved in stitching together SaaS tools like HubSpot and Stripe (similar to your Zoho setup). Industry Voices Benn Stancil’s Substack: Benn (founder of Mode) writes deeply about the intersection of BI tools and data modeling. Since you are building a BI-related product, his insights on how users “consume” data are highly relevant. Locally Optimistic Slack: A community for data leaders and engineers. There is often a lot of discussion about “GTM (Go-To-Market) Data Modeling.” ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a20a789d6ece87a9083eeff27dc8cbcb","permalink":"https://secondbrain.lelouvincx.com/post/pages/product-led-growth/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/product-led-growth/","section":"post","summary":"Resources The Foundational “Bible” of PLG ProductLed.org: Run by Wes Bush. This is the gold standard for understanding the why. Amplitude’s Mastering Retention \u0026 Growth Guides: While they sell a product, their playbooks on “Behavioral Cohorting” are essential for learning how to model user actions into “States” (e.g., Active, At-Risk, Power User). Book - Product-Led Growth Technical Modeling dbt Labs Blog - Modeling for PLG: Search for their articles on “Modeling the Customer Journey.” They have excellent deep-dives on how to handle the many-to-many relationship between Users and Accounts in SQL. The Hightouch or Census Blogs (Data Activation): These companies pioneered Reverse ETL. Their blogs are specifically geared toward engineers building the “HubSpot + Product Data” loop. Look for “How to build a PQL scoring model in Snowflake/BigQuery”. Hacking Data (Newsletter/Blog): Often covers the technical debt involved in stitching together SaaS tools like HubSpot and Stripe (similar to your Zoho setup). Industry Voices Benn Stancil’s Substack: Benn (founder of Mode) writes deeply about the intersection of BI tools and data modeling. Since you are building a BI-related product, his insights on how users “consume” data are highly relevant. Locally Optimistic Slack: A community for data leaders and engineers. There is often a lot of discussion about “GTM (Go-To-Market) Data Modeling.” ","tags":["page"],"title":"Product-Led Growth","type":"post"},{"authors":null,"categories":null,"content":"List of projects [[Add2Cart]] — Cross-functional project for the Add2Cart professional service: data pipeline, performance optimization, dynamic markdown, and S3 setup [[AI]] — Holistics AI squad work: test suites, AI feature trials, squad coordination with Dat/Tram [[Docs]] — Holistics documentation improvements and revamping [[Duty Support]] — Rotating on-call data support for Holistics customers (Zendesk tickets, impersonation, troubleshooting) [[Freetime]] — Low-priority reading and exploration done in spare time [[Internal]] — Holistics internal data team work: dbt, MRR reporting, CI, tracking [[Logseq]] — Improvements to this second-brain system: automation, backlog structure, weekly reports [[Misc]] — One-off tasks that don’t fit other projects [[Personal]] — Personal tooling, side projects, migration, self-hosting, learning [[Personal Productivity Analysis]] — Personal productivity monitoring: ingest weekly reports + journals into DuckDB (consistent schema with [[Personal Finance]] for later consolidation), build dashboard to track throughput, carry-overs, project mix, priority hit-rate, presales W/L, tooling ROI — drive data-driven planning and 1-on-1 decisions [[Presales]] — Holistics presales support: customer demos, solution proposals, competitive analysis [[Read]] — Reading and studying: articles, books, courses, youtube [[Smartclass]] — Personal side project: an ed-tech app with frontend (shadcn/ui) and releases [[Teaching]] — Mentoring and teaching data/SQL: composing projects (Olist), visualization, set-based thinking ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"39264fb71af67f1876bff065e2b9cfb4","permalink":"https://secondbrain.lelouvincx.com/post/pages/projects/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/projects/","section":"post","summary":"List of projects [[Add2Cart]] — Cross-functional project for the Add2Cart professional service: data pipeline, performance optimization, dynamic markdown, and S3 setup [[AI]] — Holistics AI squad work: test suites, AI feature trials, squad coordination with Dat/Tram [[Docs]] — Holistics documentation improvements and revamping [[Duty Support]] — Rotating on-call data support for Holistics customers (Zendesk tickets, impersonation, troubleshooting) [[Freetime]] — Low-priority reading and exploration done in spare time [[Internal]] — Holistics internal data team work: dbt, MRR reporting, CI, tracking [[Logseq]] — Improvements to this second-brain system: automation, backlog structure, weekly reports [[Misc]] — One-off tasks that don’t fit other projects [[Personal]] — Personal tooling, side projects, migration, self-hosting, learning [[Personal Productivity Analysis]] — Personal productivity monitoring: ingest weekly reports + journals into DuckDB (consistent schema with [[Personal Finance]] for later consolidation), build dashboard to track throughput, carry-overs, project mix, priority hit-rate, presales W/L, tooling ROI — drive data-driven planning and 1-on-1 decisions [[Presales]] — Holistics presales support: customer demos, solution proposals, competitive analysis [[Read]] — Reading and studying: articles, books, courses, youtube [[Smartclass]] — Personal side project: an ed-tech app with frontend (shadcn/ui) and releases [[Teaching]] — Mentoring and teaching data/SQL: composing projects (Olist), visualization, set-based thinking ","tags":["page"],"title":"Projects","type":"post"},{"authors":null,"categories":null,"content":" Source: https://www.holistics.io/blog/self-service-analytics-comic/ Comments (Reddit Link) ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cc206b6289346c2284b5d962018e4bc3","permalink":"https://secondbrain.lelouvincx.com/post/pages/self-serve-analytics/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/self-serve-analytics/","section":"post","summary":" Source: https://www.holistics.io/blog/self-service-analytics-comic/ Comments (Reddit Link) ","tags":["page"],"title":"Self-Serve Analytics","type":"post"},{"authors":null,"categories":null,"content":" https://gemini.google.com/u/0/app/d7c56a75abd0fa3d ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"476c3c3527050b376a8af3bf7102b754","permalink":"https://secondbrain.lelouvincx.com/post/pages/semantic-layer/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/semantic-layer/","section":"post","summary":" https://gemini.google.com/u/0/app/d7c56a75abd0fa3d ","tags":["page"],"title":"Semantic Layer","type":"post"},{"authors":null,"categories":null,"content":" https://chatgpt.com/g/g-p-68c64703caf48191b0583c8a6857f08c-chinh/c/69100b0f-d6c4-8323-8b01-de7b169cf129 ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3b7d0ce5e49a4bdfe1c4c2e4367b9a13","permalink":"https://secondbrain.lelouvincx.com/post/pages/set-based-thinking/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/set-based-thinking/","section":"post","summary":" https://chatgpt.com/g/g-p-68c64703caf48191b0583c8a6857f08c-chinh/c/69100b0f-d6c4-8323-8b01-de7b169cf129 ","tags":["page"],"title":"Set-based thinking","type":"post"},{"authors":null,"categories":null,"content":" https://gemini.google.com/app/dabc4a0a978845c1 Keynotes Slowly Changing Dimensions (SCD) refer to how you store historical changes in data Type 0: retain original Type 1: overwrite data Type 2: add new row for historical record Type 3: add new column stand for previous value and current value Type 4: keep the main dimension table for current data, while moving all historical changes to a separate history table Type 6 (1+2+3=6): create new row but also overwrite current state column ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"72d97778f158d3bce9f67621ce1ad71f","permalink":"https://secondbrain.lelouvincx.com/post/pages/slowly-changing-dimension/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/slowly-changing-dimension/","section":"post","summary":" https://gemini.google.com/app/dabc4a0a978845c1 Keynotes Slowly Changing Dimensions (SCD) refer to how you store historical changes in data Type 0: retain original Type 1: overwrite data Type 2: add new row for historical record Type 3: add new column stand for previous value and current value Type 4: keep the main dimension table for current data, while moving all historical changes to a separate history table Type 6 (1+2+3=6): create new row but also overwrite current state column ","tags":["page"],"title":"Slowly Changing Dimension","type":"post"},{"authors":null,"categories":null,"content":" k ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"84afe85fc4b24957457ed863bc4ebce1","permalink":"https://secondbrain.lelouvincx.com/post/pages/stakeholders/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/stakeholders/","section":"post","summary":" k ","tags":["page"],"title":"stakeholders","type":"post"},{"authors":null,"categories":null,"content":" https://gemini.google.com/share/f5ebbad97a43 ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4c7671a3338d0230614be9e32fe04499","permalink":"https://secondbrain.lelouvincx.com/post/pages/triangle-of-talent/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/triangle-of-talent/","section":"post","summary":" https://gemini.google.com/share/f5ebbad97a43 ","tags":["page"],"title":"Triangle of Talent","type":"post"},{"authors":null,"categories":null,"content":" Không hiểu sao quan cảnh rất giống trong Ghibli, nhìn rất thơ mà nét nào ra nét nấy.\nVài bức ảnh chụp được\nCon chuồn chuồn màu đỏ xinh ghê\nhttps://media.secondbrain.lelouvincx.com/2026/04/d974844edd7e3ca2f6766202a3dd18e7.png\nhttps://media.secondbrain.lelouvincx.com/2026/04/66bef276e3dfdc62379611575bad9974.png\nNhìn căn nhà giống trong truyện tranh\nhttps://media.secondbrain.lelouvincx.com/2026/04/bec3a65711ad14207108b4f84056d418.png https://media.secondbrain.lelouvincx.com/2026/04/4f8a777db7397ec4a53df316e565323d.png Cái cây này giống trong truyện của Nguyễn Nhật Ánh\nhttps://media.secondbrain.lelouvincx.com/2026/04/d8070c4a0a490404e1e2fa0339a649a7.png Quả chò rơi xuống từ mái nhà\nhttps://media.secondbrain.lelouvincx.com/2026/04/94b4d09b2f00191ea46de9b28c26e878.mp4 Ấn tượng rất tốt về nơi này, giống như vừa lạc 1 chuyến vào thế giới Ghibli vậy. Sẽ quay lại vào năm sau, vì tầm này được lợi thế là đi rừng không có muỗi/côn trùng, khô ráo (hơi nóng ẩm tí) và không mưa ngập.\nNhưng mình nghĩ đi vào mùa mưa sẽ có trải nghiệm khác.\nLà 1 dịp tốt để rèn luyện đôi chân (đi bộ 6km mỗi ngày) và rời ra thiết bị điện tử (trong đó không có sóng).\n","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6a29971d051f2614704b12ae970ea8e4","permalink":"https://secondbrain.lelouvincx.com/post/pages/trip---b%C3%A0u-s%E1%BA%A5u-04___2026/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/trip---b%C3%A0u-s%E1%BA%A5u-04___2026/","section":"post","summary":" Không hiểu sao quan cảnh rất giống trong Ghibli, nhìn rất thơ mà nét nào ra nét nấy.\nVài bức ảnh chụp được\nCon chuồn chuồn màu đỏ xinh ghê\nhttps://media.secondbrain.lelouvincx.com/2026/04/d974844edd7e3ca2f6766202a3dd18e7.png\nhttps://media.secondbrain.lelouvincx.com/2026/04/66bef276e3dfdc62379611575bad9974.png\nNhìn căn nhà giống trong truyện tranh\nhttps://media.secondbrain.lelouvincx.com/2026/04/bec3a65711ad14207108b4f84056d418.png https://media.secondbrain.lelouvincx.com/2026/04/4f8a777db7397ec4a53df316e565323d.png Cái cây này giống trong truyện của Nguyễn Nhật Ánh\nhttps://media.secondbrain.lelouvincx.com/2026/04/d8070c4a0a490404e1e2fa0339a649a7.png Quả chò rơi xuống từ mái nhà\nhttps://media.secondbrain.lelouvincx.com/2026/04/94b4d09b2f00191ea46de9b28c26e878.mp4 Ấn tượng rất tốt về nơi này, giống như vừa lạc 1 chuyến vào thế giới Ghibli vậy. Sẽ quay lại vào năm sau, vì tầm này được lợi thế là đi rừng không có muỗi/côn trùng, khô ráo (hơi nóng ẩm tí) và không mưa ngập.\n","tags":["page"],"title":"Trip - Bàu Sấu 04 / 2026","type":"post"},{"authors":null,"categories":null,"content":"Plan for week 10 (Ampcode) P1 Add2Cart ((69a2a14f-91e8-49be-be93-da1c506869aa)) (carry-over from friday, push Anurag). ((69a2a1cc-94ff-4e02-972e-3b4d720b63ce)) Internal ((69a42ffd-22c7-4b43-8b34-0f663743abcf)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) P2 Internal ((697889da-2e31-4c43-9676-81a898db1ea6)) Presales ((69841d05-88ea-4209-82ca-30b11b26e91c)) P3 Duty Support Document MedEnterprises performance use case on metrics sheet. Personal Learn logseq’s internal query, and potentially build a skill to query tasks faster. Estimate timeline for teacher Thanh. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5d33ee26bc66f5ecca0452100eaa0f8e","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w10/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w10/","section":"post","summary":"Plan for week 10 (Ampcode) P1 Add2Cart ((69a2a14f-91e8-49be-be93-da1c506869aa)) (carry-over from friday, push Anurag). ((69a2a1cc-94ff-4e02-972e-3b4d720b63ce)) Internal ((69a42ffd-22c7-4b43-8b34-0f663743abcf)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) P2 Internal ((697889da-2e31-4c43-9676-81a898db1ea6)) Presales ((69841d05-88ea-4209-82ca-30b11b26e91c)) P3 Duty Support Document MedEnterprises performance use case on metrics sheet. Personal Learn logseq’s internal query, and potentially build a skill to query tasks faster. Estimate timeline for teacher Thanh. ","tags":["page"],"title":"Weekly Planning - 2026-W10","type":"post"},{"authors":null,"categories":null,"content":" P1 Internal Review MRR PR holistics/dbt#812 — awaiting author’s remaining fixes. DE-202 trial-first vs call-first — share POC with Vincent/Sriram. P2 – Should Do Internal DE-201 PR Workflow enhancement — continue commenting. Fix excluding internal testing Zoho accounts (DAT-524) — lingering since week 7. Continue Cross-Model Calculation — timing may still be premature (docs revamping not far enough). P3 – Nice to Have Presales Read Modeling Patterns docs; watch Taxdome onboarding call; learn embedded analytics use case; compare ChatGPT solutions Omni vs Holistics. Teaching Figure out set-based thinking curriculum; find football dataset for Duc Anh; checkout pudding.cool resources; research visualization resources. Personal Consider a Flashcard app for learning English words. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b252184c40a7b9c8ff5101106460cb41","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w11/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w11/","section":"post","summary":" P1 Internal Review MRR PR holistics/dbt#812 — awaiting author’s remaining fixes. DE-202 trial-first vs call-first — share POC with Vincent/Sriram. P2 – Should Do Internal DE-201 PR Workflow enhancement — continue commenting. Fix excluding internal testing Zoho accounts (DAT-524) — lingering since week 7. Continue Cross-Model Calculation — timing may still be premature (docs revamping not far enough). P3 – Nice to Have Presales Read Modeling Patterns docs; watch Taxdome onboarding call; learn embedded analytics use case; compare ChatGPT solutions Omni vs Holistics. Teaching Figure out set-based thinking curriculum; find football dataset for Duc Anh; checkout pudding.cool resources; research visualization resources. Personal Consider a Flashcard app for learning English words. ","tags":["page"],"title":"Weekly Planning - 2026-W11","type":"post"},{"authors":null,"categories":null,"content":"Plan for week 13 (Mar 23 – Mar 29, 2026) P1 – Must Do Presales Onboarding call 3 with Basata — DONE. Shared Date Drill use case, reported Auto Mapping Filter issue. Share the embedded dashboards document for different customers — carry-over from call 3. Excalidraw Internal Review what Hieu wrote on MRR, help him communicate with growth team (2 items: dashboard alignment + currency exchange rate). Create an agent skill for fixing data pipelines (dbt) for #data-ops-bot. Investigate failed dbt assets in #data-ops-bot — DONE. Root cause identified (scheduling order + LEFT JOIN bug), SQL refactored, Notion doc written, DAT-569 created. Create a new GitHub account for work — DONE. Next: update Logseq automation to switch between credentials. P2 – Should Do Internal Review Thuan’s PR #845 on DE-208 / mart_product__dataset_datamodel_dimensions — open, feedback shared, needs final approval. Revise phase 2 of MRR problem — PR #812 merged, 2.1 fixed. Remaining: static exchange rate (1.1/1.2), domain mapping (2.2), duplicated companies (2.3). Ingest Calendly data into warehouse (DAT-283) — ongoing. Calendly vs ReadAI assessed as complementary. Pending: standardize source pipeline + unified dbt models. Check back Census usage estimate to confirm free tier — due Mar 26. DAT-555 resolution — decide whether to remove fct_job_queue_performance; write Notion doc for team review. Fix excluding internal testing Zoho accounts — DAT-524, lingering since W7. Add2Cart Waiting for Anurag to ingest 6 countries’ Retailer tables into Redshift (airbyte_schema_*). Then fix “history-only 589 retailers” issue. Teaching Brazilian dashboard Dash 2 (Shipping Overview) + demo video for Yen — carry-over. Docs Fix markdown files missing for index pages — DONE. PR #1443 merged. P3 – Nice to Have Internal Run first AI-for-data-ops-bot cycle — partially done (investigated DAT-569 with agent, documented for Thuan). Next: formalize as reusable agent skill. Presales Read Modeling Patterns docs. Personal Change to a more professional work avatar. Consider a Flashcard app for learning English words. Focus days suggestion Block Tue–Wed for Calendly ingestion + MRR phase 2 planning. Adjusted: Wed–Thu for MRR review + growth team alignment. Fri: wrap up PR #845 review, Calendly pipeline coding. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0e0661555b3cb6fe7e107470be22efb5","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w13/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w13/","section":"post","summary":"Plan for week 13 (Mar 23 – Mar 29, 2026) P1 – Must Do Presales Onboarding call 3 with Basata — DONE. Shared Date Drill use case, reported Auto Mapping Filter issue. Share the embedded dashboards document for different customers — carry-over from call 3. Excalidraw Internal Review what Hieu wrote on MRR, help him communicate with growth team (2 items: dashboard alignment + currency exchange rate). Create an agent skill for fixing data pipelines (dbt) for #data-ops-bot. Investigate failed dbt assets in #data-ops-bot — DONE. Root cause identified (scheduling order + LEFT JOIN bug), SQL refactored, Notion doc written, DAT-569 created. Create a new GitHub account for work — DONE. Next: update Logseq automation to switch between credentials. P2 – Should Do Internal Review Thuan’s PR #845 on DE-208 / mart_product__dataset_datamodel_dimensions — open, feedback shared, needs final approval. Revise phase 2 of MRR problem — PR #812 merged, 2.1 fixed. Remaining: static exchange rate (1.1/1.2), domain mapping (2.2), duplicated companies (2.3). Ingest Calendly data into warehouse (DAT-283) — ongoing. Calendly vs ReadAI assessed as complementary. Pending: standardize source pipeline + unified dbt models. Check back Census usage estimate to confirm free tier — due Mar 26. DAT-555 resolution — decide whether to remove fct_job_queue_performance; write Notion doc for team review. Fix excluding internal testing Zoho accounts — DAT-524, lingering since W7. Add2Cart Waiting for Anurag to ingest 6 countries’ Retailer tables into Redshift (airbyte_schema_*). Then fix “history-only 589 retailers” issue. Teaching Brazilian dashboard Dash 2 (Shipping Overview) + demo video for Yen — carry-over. Docs Fix markdown files missing for index pages — DONE. PR #1443 merged. P3 – Nice to Have Internal Run first AI-for-data-ops-bot cycle — partially done (investigated DAT-569 with agent, documented for Thuan). Next: formalize as reusable agent skill. Presales Read Modeling Patterns docs. Personal Change to a more professional work avatar. Consider a Flashcard app for learning English words. Focus days suggestion Block Tue–Wed for Calendly ingestion + MRR phase 2 planning. Adjusted: Wed–Thu for MRR review + growth team alignment. Fri: wrap up PR #845 review, Calendly pipeline coding. ","tags":["page"],"title":"Weekly Planning - 2026-W13","type":"post"},{"authors":null,"categories":null,"content":"Plan for week 14 (Mar 30 – Apr 4, 2026) P1 – Must Do Add2Cart Ingest countries data into Retailers table — carry-over from W13 Friday. Complete Redshift SP/table audit (unused SPs + orphan tables identified). Schedule this Monday morning when fresh. Internal Create an agent skill for fixing data pipelines (dbt) for #data-ops-bot — carry-over from W13. Build on DAT-569 investigation + Thuan’s debugging process doc. Final approval on Thuan’s PR #845 (DE-208 / mart_product__dataset_datamodel_dimensions) — changes requested in W13, needs follow-up review. Presales Prepare and attend onboarding call 2 with [[Showbie]]. Follow up with Basata on next onboarding session. Polish embedding documentation — reduce friction for prospects setting up embed portals. Increasing lead volume makes this urgent. P2 – Should Do Internal Visualize schedule of all data lineage (airbyte, data import, prefect sync, dbt table-level, census/fivetran activations) — new backlog item from W13. Continue Calendly data pipeline (DAT-283) — standardize source pipeline, build unified dbt models. Fix excluding internal testing Zoho accounts (DAT-524) — lingering since W7. Timebox: max 2h or explicitly deprioritize. Review Hieu’s exchange rate document when ready — waiting from W13. Presales Investigate Showbie performance concern — raised with Huy in W13, wait for next call then investigate if needed. Add2Cart Document project and guide setup for other countries. Project retro with team (Dong). Teaching Brazilian dashboard Dash 2 (Shipping Overview) + demo video for Yen — carry-over from W12. P3 – Nice to Have Internal DAT-555 resolution — decide whether to remove fct_job_queue_performance; write Notion doc. Upgrade dbt-core of repo dbt to the same version as prefect (compatible). Presales Read Modeling Patterns docs. Personal Self reflection and update CV. Read Levels of Detail in Communication — from W13 recommended resources. Focus days suggestion Mon: Add2Cart Redshift ingestion (deep work, fresh Ampcode tokens). Thuan’s PR #845 final review. Tue–Wed: Calendly pipeline + agent skill for dbt ops bot (minimize context switches). Thu: Presales calls (Innerspace, Basata follow-up). Polish embedding docs. Fri: Zoho accounts fix (timeboxed), backlog grooming, weekly report. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"885f269448f5e50a1ec827ab546d23bc","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w14/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w14/","section":"post","summary":"Plan for week 14 (Mar 30 – Apr 4, 2026) P1 – Must Do Add2Cart Ingest countries data into Retailers table — carry-over from W13 Friday. Complete Redshift SP/table audit (unused SPs + orphan tables identified). Schedule this Monday morning when fresh. Internal Create an agent skill for fixing data pipelines (dbt) for #data-ops-bot — carry-over from W13. Build on DAT-569 investigation + Thuan’s debugging process doc. Final approval on Thuan’s PR #845 (DE-208 / mart_product__dataset_datamodel_dimensions) — changes requested in W13, needs follow-up review. Presales Prepare and attend onboarding call 2 with [[Showbie]]. Follow up with Basata on next onboarding session. Polish embedding documentation — reduce friction for prospects setting up embed portals. Increasing lead volume makes this urgent. P2 – Should Do Internal Visualize schedule of all data lineage (airbyte, data import, prefect sync, dbt table-level, census/fivetran activations) — new backlog item from W13. Continue Calendly data pipeline (DAT-283) — standardize source pipeline, build unified dbt models. Fix excluding internal testing Zoho accounts (DAT-524) — lingering since W7. Timebox: max 2h or explicitly deprioritize. Review Hieu’s exchange rate document when ready — waiting from W13. Presales Investigate Showbie performance concern — raised with Huy in W13, wait for next call then investigate if needed. Add2Cart Document project and guide setup for other countries. Project retro with team (Dong). Teaching Brazilian dashboard Dash 2 (Shipping Overview) + demo video for Yen — carry-over from W12. P3 – Nice to Have Internal DAT-555 resolution — decide whether to remove fct_job_queue_performance; write Notion doc. Upgrade dbt-core of repo dbt to the same version as prefect (compatible). Presales Read Modeling Patterns docs. Personal Self reflection and update CV. Read Levels of Detail in Communication — from W13 recommended resources. Focus days suggestion Mon: Add2Cart Redshift ingestion (deep work, fresh Ampcode tokens). Thuan’s PR #845 final review. Tue–Wed: Calendly pipeline + agent skill for dbt ops bot (minimize context switches). Thu: Presales calls (Innerspace, Basata follow-up). Polish embedding docs. Fri: Zoho accounts fix (timeboxed), backlog grooming, weekly report. ","tags":["page"],"title":"Weekly Planning - 2026-W14","type":"post"},{"authors":null,"categories":null,"content":"Plan for week 15 (Apr 6 – Apr 10, 2026) P1 – Must Do Internal Calendly data pipeline (DAT-283) — elevated to P1 from W14. Currently only demo/onboarding calls ingested; need all 50+ event types. Growth team needs this for sales rep performance and Lead Funnel sales motion enrichment. Zendesk debug → pivoted to upgrade plan (3 options written, WAITING review). Presales Onboarding call 1 with Jonas Chorum — moved to Apr 9. Continue dynamic data source demo prep. Add2Cart Project retro with anh Dong — carry forward to W16. P2 – Should Do Internal Create agent skill for fixing dbt data pipelines in #data-ops-bot — carry-over from W13. Fix excluding internal testing Zoho accounts (DAT-524) — lingering since W7. Timebox: max 2h. DAT-571 Zendesk upgrade plan — get review and decide on option (Fivetran vs Prefect orgs-only vs Airbyte upgrade). DAT-555 — get PR reviews for dbt #849 and internal-aml-project #69 (remove fct_job_queue_performance). Contribute to Holistics skills and internal-skills repos. Docs Polish embedding documentation — ask anh Tai and anh Huy to clarify scope. Add2Cart Get anh Huy’s review on D4 countries guidance document (WAITING). P3 – Nice to Have Presales Read Modeling Patterns docs. Internal Lead Funnel by Sales Motion (DAT-560) — review and make a plan; context page created. Upgrade dbt-core of repo dbt to match prefect version. Personal Self reflection and update CV. Progress vs plan (as of Tue) DONE: DAT-569 snowplow fix (PRs merged, deployed, backfill success). DONE: Add2Cart countries ingestion. DONE: DAT-555 downstream models written (waiting PR review). DONE: Lead Funnel context page consolidation. DONE: Zendesk upgrade plan written (3 options). NOT STARTED: Calendly pipeline, agent skill, DAT-524, embedding docs. MOVED: Jonas Chorum call → Apr 9. Add2Cart retro → W16. Focus days suggestion (updated) Tue (today): Data sync meeting. Follow up on DAT-555 PR reviews. Lead Funnel planning. Wed: Calendly pipeline deep work (P1). DAT-524 timeboxed 2h morning. Embedding docs scope with anh Tai/Huy. Thu: Jonas Chorum demo prep. Holistics skills repo contribution. D4 review follow-up with anh Huy. Fri: Calendly pipeline continued. Backlog grooming. Agent skill for dbt ops bot. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b4c2ab3acd16fa9a6f0cfc70227d6359","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w15/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w15/","section":"post","summary":"Plan for week 15 (Apr 6 – Apr 10, 2026) P1 – Must Do Internal Calendly data pipeline (DAT-283) — elevated to P1 from W14. Currently only demo/onboarding calls ingested; need all 50+ event types. Growth team needs this for sales rep performance and Lead Funnel sales motion enrichment. Zendesk debug → pivoted to upgrade plan (3 options written, WAITING review). Presales Onboarding call 1 with Jonas Chorum — moved to Apr 9. Continue dynamic data source demo prep. Add2Cart Project retro with anh Dong — carry forward to W16. P2 – Should Do Internal Create agent skill for fixing dbt data pipelines in #data-ops-bot — carry-over from W13. Fix excluding internal testing Zoho accounts (DAT-524) — lingering since W7. Timebox: max 2h. DAT-571 Zendesk upgrade plan — get review and decide on option (Fivetran vs Prefect orgs-only vs Airbyte upgrade). DAT-555 — get PR reviews for dbt #849 and internal-aml-project #69 (remove fct_job_queue_performance). Contribute to Holistics skills and internal-skills repos. Docs Polish embedding documentation — ask anh Tai and anh Huy to clarify scope. Add2Cart Get anh Huy’s review on D4 countries guidance document (WAITING). P3 – Nice to Have Presales Read Modeling Patterns docs. Internal Lead Funnel by Sales Motion (DAT-560) — review and make a plan; context page created. Upgrade dbt-core of repo dbt to match prefect version. Personal Self reflection and update CV. Progress vs plan (as of Tue) DONE: DAT-569 snowplow fix (PRs merged, deployed, backfill success). DONE: Add2Cart countries ingestion. DONE: DAT-555 downstream models written (waiting PR review). DONE: Lead Funnel context page consolidation. DONE: Zendesk upgrade plan written (3 options). NOT STARTED: Calendly pipeline, agent skill, DAT-524, embedding docs. MOVED: Jonas Chorum call → Apr 9. Add2Cart retro → W16. Focus days suggestion (updated) Tue (today): Data sync meeting. Follow up on DAT-555 PR reviews. Lead Funnel planning. Wed: Calendly pipeline deep work (P1). DAT-524 timeboxed 2h morning. Embedding docs scope with anh Tai/Huy. Thu: Jonas Chorum demo prep. Holistics skills repo contribution. D4 review follow-up with anh Huy. Fri: Calendly pipeline continued. Backlog grooming. Agent skill for dbt ops bot. ","tags":["page"],"title":"Weekly Planning - 2026-W15","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W16 (Apr 14 – Apr 18, 2026) P1 – Must Do (aligned with manager’s priorities from 1-on-1) Internal Transfer MRR project with anh Hieu — DONE Apr 14. Next: build dim_exchange_rates, implement dual MRR metrics. Write 1-on-1 report — DONE. Meeting held Apr 15. Calendly data pipeline (DAT-283) — answer anh Dong’s review comments on PR dbt #853. Once merged, run models and validate data. fct_job_queue_performance (DAT-555) — follow up on PR dbt #854 review. Once merged, start ~26 weekly backfill chunks. Data quality focus (manager priority #1): MRR identity resolution + exchange rates. P2 – Should Do Internal Increase data freshness — explore making impersonation lookup more frequent than daily (DAT-499). Manager priority #3. Add2Cart Project retro with anh Dong — WAITING on deal outcome (Simon). Vincent followed up Apr 14. Deprioritize until deal progresses. Teaching Find a football dataset for Duc Anh. P3 – Nice to Have Internal Lead Funnel by Sales Motion (DAT-560) — review and plan after Calendly pipeline stabilizes. Contribute to Holistics skills and internal-skills repos. Presales Polish embedding documentation — deprioritized per 1-on-1 (not the right timing). Maintain informally. Read Modeling Patterns docs. Personal Self reflection and update CV. Focus days suggestion Mon: (done) Weekly planning, read DE-187, MRR transfer with anh Hieu (DONE). Tue: Answer Calendly PR reviews (DAT-283). Data sync meeting. 1-on-1 report. Wed: Calendly pipeline — run models if PR merged. Embedding doc proposal for anh Huy/Tai. Thu: DAT-555 follow-up. Teaching dataset search. MRR exchange rate next steps. Fri: Wrap-up, backlog grooming, weekly report friday prep. Carry-over watch Item Since Weeks Action DAT-524 Fix excluding internal Zoho accounts W7 9 Deprioritize formally or timebox 2h this week Agent skill for dbt #data-ops-bot W13 3 Timebox 2h or defer to W17 Add2Cart retro with anh Dong W15 1 Schedule this week DAT-283 Calendly pipeline PR review W15 1 Follow up with anh Dong DAT-555 fct_job_queue_performance PR review W14 2 Follow up with reviewer ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2467fa3505ab0d7380de4735a97e7ddd","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w16/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w16/","section":"post","summary":"Plan for week W16 (Apr 14 – Apr 18, 2026) P1 – Must Do (aligned with manager’s priorities from 1-on-1) Internal Transfer MRR project with anh Hieu — DONE Apr 14. Next: build dim_exchange_rates, implement dual MRR metrics. Write 1-on-1 report — DONE. Meeting held Apr 15. Calendly data pipeline (DAT-283) — answer anh Dong’s review comments on PR dbt #853. Once merged, run models and validate data. fct_job_queue_performance (DAT-555) — follow up on PR dbt #854 review. Once merged, start ~26 weekly backfill chunks. Data quality focus (manager priority #1): MRR identity resolution + exchange rates. P2 – Should Do Internal Increase data freshness — explore making impersonation lookup more frequent than daily (DAT-499). Manager priority #3. Add2Cart Project retro with anh Dong — WAITING on deal outcome (Simon). Vincent followed up Apr 14. Deprioritize until deal progresses. Teaching Find a football dataset for Duc Anh. P3 – Nice to Have Internal Lead Funnel by Sales Motion (DAT-560) — review and plan after Calendly pipeline stabilizes. Contribute to Holistics skills and internal-skills repos. Presales Polish embedding documentation — deprioritized per 1-on-1 (not the right timing). Maintain informally. Read Modeling Patterns docs. Personal Self reflection and update CV. Focus days suggestion Mon: (done) Weekly planning, read DE-187, MRR transfer with anh Hieu (DONE). Tue: Answer Calendly PR reviews (DAT-283). Data sync meeting. 1-on-1 report. Wed: Calendly pipeline — run models if PR merged. Embedding doc proposal for anh Huy/Tai. Thu: DAT-555 follow-up. Teaching dataset search. MRR exchange rate next steps. Fri: Wrap-up, backlog grooming, weekly report friday prep. Carry-over watch Item Since Weeks Action DAT-524 Fix excluding internal Zoho accounts W7 9 Deprioritize formally or timebox 2h this week Agent skill for dbt #data-ops-bot W13 3 Timebox 2h or defer to W17 Add2Cart retro with anh Dong W15 1 Schedule this week DAT-283 Calendly pipeline PR review W15 1 Follow up with anh Dong DAT-555 fct_job_queue_performance PR review W14 2 Follow up with reviewer ","tags":["page"],"title":"Weekly Planning - 2026-W16","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W17 (Apr 20 – Apr 25, 2026) P1 – Must Do Duty Support Review AI sharing dashboard for Aurora (enterprise customer) — Slack. Monday priority. Presales Basata follow up on light/dark theme (enterprise customer) — Slack. Monday priority. Internal Merge Calendly PR dbt #853 (approved, mergeable). Run dbt models, validate data in Holistics BI. Then fix downstream fct_sales_leads join. DAT-283. Review anh Dong’s CircleCI PR prefect #397 (DAT-579) — expand test metadata ingestion + backfill flow. Start MRR exchange rate work (DAT-576) — build dim_exchange_rates with live rate ingestion (Google Finance/ECB). Manager priority #1. Docs Add demo video for local development docs — draft scenario, discuss with anh Huy Vu/Dat. Elevated to P1 per presales sync. P2 – Should Do Internal Clean up BI layer for job queue dashboards: delete [WIP] Job Queue Performance 3.0, migrate v2 and Report Monitoring to 4.0. Increase data freshness — explore making impersonation lookup more frequent than daily (DAT-499). Manager priority #3. Lead Funnel by Sales Motion (DAT-560) — review and plan after Calendly pipeline stabilizes. Teaching Find a football dataset for Duc Anh. P3 – Nice to Have Internal Contribute to Holistics skills and internal-skills repos. Presales Read Modeling Patterns docs. Personal Self reflection and update CV. Consider downgrading Google One plan. Backlog (deprioritized, pick up after MRR/Calendly) Internal: DAT-524 Fix excluding internal Zoho accounts — small task, 10 weeks carry-over. Not urgent. Focus days suggestion Mon: Aurora AI dashboard review + Basata light/dark theme follow-up (enterprise customers first). Merge Calendly PR, run models. Tue: Validate Calendly data in Holistics BI. Fix downstream fct_sales_leads. Review CircleCI PR for anh Dong. Wed: Start dim_exchange_rates design. Demo video scenario drafting. Thu: MRR exchange rate deep work continued. BI layer cleanup (job queue dashboards). Teaching dataset search. Fri: Wrap-up, backlog grooming, weekly report. Carry-over watch Item Since Weeks Action DAT-560 Lead Funnel by Sales Motion W14 3 Unblocked once Calendly merges DAT-283 Calendly pipeline (approved, not merged) W15 2 Merge Monday Demo video for local dev docs W15 2 Elevated to P1 this week ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"05a4d6a13a7b97a88d2d44b90473085e","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w17/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w17/","section":"post","summary":"Plan for week W17 (Apr 20 – Apr 25, 2026) P1 – Must Do Duty Support Review AI sharing dashboard for Aurora (enterprise customer) — Slack. Monday priority. Presales Basata follow up on light/dark theme (enterprise customer) — Slack. Monday priority. Internal Merge Calendly PR dbt #853 (approved, mergeable). Run dbt models, validate data in Holistics BI. Then fix downstream fct_sales_leads join. DAT-283. Review anh Dong’s CircleCI PR prefect #397 (DAT-579) — expand test metadata ingestion + backfill flow. Start MRR exchange rate work (DAT-576) — build dim_exchange_rates with live rate ingestion (Google Finance/ECB). Manager priority #1. Docs Add demo video for local development docs — draft scenario, discuss with anh Huy Vu/Dat. Elevated to P1 per presales sync. P2 – Should Do Internal Clean up BI layer for job queue dashboards: delete [WIP] Job Queue Performance 3.0, migrate v2 and Report Monitoring to 4.0. Increase data freshness — explore making impersonation lookup more frequent than daily (DAT-499). Manager priority #3. Lead Funnel by Sales Motion (DAT-560) — review and plan after Calendly pipeline stabilizes. Teaching Find a football dataset for Duc Anh. P3 – Nice to Have Internal Contribute to Holistics skills and internal-skills repos. Presales Read Modeling Patterns docs. Personal Self reflection and update CV. Consider downgrading Google One plan. Backlog (deprioritized, pick up after MRR/Calendly) Internal: DAT-524 Fix excluding internal Zoho accounts — small task, 10 weeks carry-over. Not urgent. Focus days suggestion Mon: Aurora AI dashboard review + Basata light/dark theme follow-up (enterprise customers first). Merge Calendly PR, run models. Tue: Validate Calendly data in Holistics BI. Fix downstream fct_sales_leads. Review CircleCI PR for anh Dong. Wed: Start dim_exchange_rates design. Demo video scenario drafting. Thu: MRR exchange rate deep work continued. BI layer cleanup (job queue dashboards). Teaching dataset search. Fri: Wrap-up, backlog grooming, weekly report. Carry-over watch Item Since Weeks Action DAT-560 Lead Funnel by Sales Motion W14 3 Unblocked once Calendly merges DAT-283 Calendly pipeline (approved, not merged) W15 2 Merge Monday Demo video for local dev docs W15 2 Elevated to P1 this week ","tags":["page"],"title":"Weekly Planning - 2026-W17","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W18 (Apr 27 – May 3, 2026) Holiday note: Thu Apr 30 (Reunification Day) and Fri May 1 (Labour Day) are public holidays in Vietnam. Effective workdays = Mon, Tue, Wed.\nProgress vs plan (as of Tue Apr 28)\nDONE: DAT-283 Calendly BI rollout (PR #78 merged Apr 28); DAT-585 Tenant Lookup User List fix (PR #77 merged Apr 27); CircleCI prefect PR #397 round-1 review. IN PROGRESS: DAT-584 deploy_dbdocs fix (PR #860) — round 1 done, raised concern on relationships.dbml exposure; CircleCI dbt PR #858 — pending round 1. NEW (incoming P1): BuyCo ticket triage — anh Huy escalated as urgent active prospect; watch demo call first. NEW (incoming P1): Wamly onboarding call Wed Apr 29 18:00 — support Wudi as note-taker / follow-up / product feedback. SCS plan, drill-down on pivot is make-or-break. Slack. NEW (P2): 1Win case clarification per Quinn (Slack DM Apr 28). NOT STARTED: DAT-576 MRR exchange rate kickoff (target Wed Apr 29); DAT-555 follow-up; DAT-556 dbt test fix. MOVED: Demo video scoping — still waiting on Khai To’s MCP demo (no movement). P1 – Must Do\nInternal Start MRR exchange rate (DAT-576) — build dim_exchange_rates with live rate ingestion (ECB or Google Finance). Manager priority #1, carry-over from W16 / W17. Update Holistics BI Model / Dataset / Dashboard for the new Calendly mart layer (DAT-283) — DONE Apr 28 (PR #78 merged). Resolve DAT-555 follow-up captured in journals/2026_04_27.md. Resolve DAT-556 dbt test failure — root cause already analysed Apr 22 (Ampcode). Apply the fix. Close out CircleCI PR review feedback loop with anh Dong (prefect #397 / DAT-579) — round 1 done, awaiting his response. Clean up BI layer for job queue dashboards: delete [WIP] Job Queue Performance 3.0; migrate v2 + Report Job Queue Performance Monitoring to 4.0. Presales (added mid-week) Wamly onboarding call — Wed Apr 29 18:00 (hard slot). Support Wudi as note-taker / use-case capture / product feedback. SCS plan, 30 internal + 150 “external-as-internal” debate, drill-down on pivot is make-or-break. Slack · Notion. BuyCo deal triage (anh Huy escalation). Watch demo recording, audit Chukwudi’s open-issues Notion page, route product/UI gaps to PMs. P2 – Should Do\nInternal Lead Funnel by Sales Motion (DAT-560) — unblock once Calendly BI layer is rolled out. Carry-over since W14. Increase data freshness — impersonation lookup more frequent than daily (DAT-499). Manager priority #3. 1Win duplicate-customer check in Zoho billing per Quinn’s DM. Timebox 1h. Presales Soft check-in to Showbie (Harsha) on the parent-child filter / Param Field / pivot offer (thread). 3-day silent rule from W17 communication observation. Track Basata (Taha) follow-up on anh Huy’s dual-dashboard plan (thread). Duty Support Aurora Usage Data Sync — deferred (Aurora declined $10,200/year, will revisit once in-app AI usage analytics is more concrete). No active work; keep Hieu’s dashboard on standby. Docs Demo video scoping — wait for Khai To’s MCP demo (skill + MCP combo) before drafting (DM). Timebox: 30min draft scenario this week. Teaching Find a football dataset for Duc Anh. Timebox: 30min. P3 – Nice to Have\nInternal Contribute to Holistics skills and internal-skills repos. Presales Read Modeling Patterns docs. Personal Self-reflection + CV update. Research 1Long alternatives for emergency savings (decide if migration is worth it). Maybe an index VC? Continue Obsidian → Logseq notes migration (id 6923d401). Decide on Google One downgrade — DONE: keep current plan (Linh + brother still use it). Backlog (deprioritized, pick up after MRR / Calendly land)\nInternal: DAT-524 Fix excluding internal Zoho accounts — small task, 11 weeks carry-over. Just keep it there in backlog and we can review in later months. Focus days suggestion\nMon (Apr 27): Soft start — DAT-555 follow-up + DAT-556 fix (small, contained wins to ramp back in after sick leave). Tue (Apr 28): Calendly BI rollout (Model → Dataset → Dashboard). Validate downstream fct_sales_leads. Wed (Apr 29): MRR exchange rate kickoff (AM) — design dim_exchange_rates, pick rate source, write Linear scoping comment. Wrap CircleCI review if anh Dong responded. PM: BuyCo deal triage + Wamly onboarding call at 18:00 (note-taker for Wudi). Thu (Apr 30): Holiday — Reunification Day. Rest. Fri (May 1): Holiday — Labour Day. Rest / personal projects. Sat–Sun: Optional self-reflection + CV update. Carry-over watch\nItem Since Weeks Action DAT-524 Fix excluding internal Zoho accounts W7 11 Schedule a 30-min slot or formally drop next 1-on-1 DAT-560 Lead Funnel by Sales Motion W14 4 Unblock once Calendly BI lands; if still blocked, return ticket to backlog DAT-576 MRR exchange rate W16 2 Manager P1 — must start this week Demo video for local dev docs W15 3 Timebox 1h scoping; if no movement next week, deprioritize DAT-283 Calendly BI rollout W17 1 Land this week (PR already merged in W16) Health rules (from W17 LEARNING)\nNo gaming after 18:00 on weeknights — protects sleep, prevents repeat of W17 cold. If …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"70a9a218dd2151e71f4e8eb828e21ec9","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w18/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w18/","section":"post","summary":"Plan for week W18 (Apr 27 – May 3, 2026) Holiday note: Thu Apr 30 (Reunification Day) and Fri May 1 (Labour Day) are public holidays in Vietnam. Effective workdays = Mon, Tue, Wed.\nProgress vs plan (as of Tue Apr 28)\nDONE: DAT-283 Calendly BI rollout (PR #78 merged Apr 28); DAT-585 Tenant Lookup User List fix (PR #77 merged Apr 27); CircleCI prefect PR #397 round-1 review. IN PROGRESS: DAT-584 deploy_dbdocs fix (PR #860) — round 1 done, raised concern on relationships.dbml exposure; CircleCI dbt PR #858 — pending round 1. NEW (incoming P1): BuyCo ticket triage — anh Huy escalated as urgent active prospect; watch demo call first. NEW (incoming P1): Wamly onboarding call Wed Apr 29 18:00 — support Wudi as note-taker / follow-up / product feedback. SCS plan, drill-down on pivot is make-or-break. Slack. NEW (P2): 1Win case clarification per Quinn (Slack DM Apr 28). NOT STARTED: DAT-576 MRR exchange rate kickoff (target Wed Apr 29); DAT-555 follow-up; DAT-556 dbt test fix. MOVED: Demo video scoping — still waiting on Khai To’s MCP demo (no movement). P1 – Must Do\n","tags":["page"],"title":"Weekly Planning - 2026-W18","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W19 (May 4 – May 10, 2026) First full 5-workday week after the W18 holidays. Use the energy. Mon AM is the forcing-function slot for MRR exchange rate (3-week carry-over).\nProgress vs plan (as of Tue May 5) DONE: Set up GitHub App for bi.holistics.io (Mon); 1Win Zoho check (Mon); Review DAT-584 round 1 (Mon); Prep for anh Nam’s call with Bicycle Transit (Tue, P1 added mid-week); Align Data Import schedules / DAT-587 (Tue, P2 added mid-week). IN-PROGRESS: CircleCI dbt PR #858 review for anh Dong — debugged failing CI tests, cherry-picked into dbt#861, waiting for next review request. WAITING: BuyCo triage follow-through — 14-thread sweep continues; chasing PMs (Vy, Hien, Di) + BuyCo screen recording on item 10. Wamly — Farren on paternal leave, Chukwudi reaches out ~May 11–15 (now in backlog). MOVED / NEW: Showbie deal lost to Omni — feedback synthesis added for Wed (May 6). Auto-export dashboard PNG feedback to Khai To drafted (P2, Docs/feedback). Onboarding call 4 with [[Basata]] scheduled May 19. NOT STARTED (slipped Mon): MRR exchange rate (DAT-576) — Mon AM hard-block consumed by GitHub App + carry-overs; Tue went to Bicycle Transit prep. Forcing function: take Wed AM 09:00–12:00 slot, otherwise escalate to anh Triet for re-scoping. DAT-555 follow-up; DAT-556 dbt test fix; BI cleanup; DAT-560 unblock-or-backlog pass; H1 self-reflection + CV. P1 – Must Do Internal MRR exchange rate kickoff (DAT-576) — 3-week carry-over (W16 → W18). Mon AM (09:00–12:00 hard block): design dim_exchange_rates (rate source = ECB or Google Finance), Tue: write Linear scoping comment + small POC. If still blocked by Wed EOD, escalate to anh Triet for re-scoping. Manager priority #P1. Resolve DAT-555 follow-up — captured in [[2026-04-27]]. Carry-over. Resolve DAT-556 dbt test failure — root cause analysed Apr 22 (Ampcode). Apply the fix. Carry-over. Close out CircleCI dbt PR #858 review round 1 for anh Dong (Ampcode). Carry-over from W18 — slipped because of BuyCo + Wamly. Mid-week update: round 1 done, CI debug done, cherry-picked into dbt#861 — IN-PROGRESS, waiting for next review request. Presales BuyCo triage follow-through ([[BuyCo]]) — added Mon May 4. Continue checking the 14 threads in #holistics-buyco-external; chase PM replies on items 1, 2, 4, 11 (Vy Huynh, Hien Nguyen, Di Hoang) and BuyCo screen recording on item 10. Daily 15-min check. P2 – Should Do Personal Self-reflection + CV update for 2026 H1 performance review — elevated from P3. PR cycle is coming up; need a reflection draft + refreshed CV before manager check-in. Block out next weekend (Sat May 9 + Sun May 10) for deep-work session. Internal 1Win duplicate-customer check in Zoho billing per Quinn’s DM. Timebox 1h. Carry-over from W18. — DONE Mon May 4. Lead Funnel by Sales Motion (DAT-560) — 5-week carry-over (since W14). Now that Calendly BI layer is live, do a 30-min “is this still blocked?” pass. If yes, formally backlog with a date; if no, schedule a slot. Do not let this drift again. Increase data freshness — impersonation lookup more frequent than daily (DAT-499). Manager priority #P3. BI cleanup: delete [WIP] Job Queue Performance 3.0; migrate v2 + Report Job Queue Performance Monitoring to 4.0. Carry-over. Review DAT-584 round 2 — round 1 closed Mon May 4 (dbt#860, Ampcode). Awaiting author for round 2. Set up GitHub App for bi.holistics.io (new in [[2026-05-25]]). Scope first — 30-min design pass. — DONE Mon May 4 (Ampcode). NEW (Tue) — Align Data Import schedules (DAT-587) — DONE May 5 via Slack. Presales Basata catch-up call — Tue May 5 (thread). Sync with Taha on the dual-dashboard plan during this call — replaces the W18 “soft check-in” follow-up. Soft check-in to Showbie (Harsha) — DONE. Update May 4: lost the deal to Omni (1). Action Wed May 6: synthesize Holistics-vs-Omni learning + chase Harsha for personal feedback. NEW (Tue) — Bicycle Transit prep for anh Nam’s call — DONE May 5 (Slack, Ampcode prep). Mock-demo workflow ran end-to-end. Wamly — WAITING (was P1 in earlier draft). Farren cancelled Apr 29 call (urgent matter), now on 10-day paternal leave from May 1; Chukwudi will reach out in ~2 weeks per the reschedule thread. No action this week — re-pick around May 11–15. Trial-expires-May-6 panic moot since customer is unavailable; will need a trial extension request when Farren returns. P3 – Nice to Have Docs Add demo video for local dev — WAITING on Khai To (PM lead, squad modeling) to release the 2-way sync tool in holistics CLI. Demo should land after that ships so we lead with the new flow. 3-week carry-over (W15) — keep on watch but not actionable this week; revisit weekly until Khai’s release ships. Personal Review and update [[Personal Context]] (new in backlog this week). Research 1Long alternatives for emergency savings (decide if migration is worth it). Continue Obsidian → Logseq notes migration. Teaching Find a football dataset for Duc Anh. Carry-over. Read Wes Kao — Levels of detail in communication. Modeling …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"58c272912dd4d0f53db970e41724a6ab","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w19/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w19/","section":"post","summary":"Plan for week W19 (May 4 – May 10, 2026) First full 5-workday week after the W18 holidays. Use the energy. Mon AM is the forcing-function slot for MRR exchange rate (3-week carry-over).\nProgress vs plan (as of Tue May 5) DONE: Set up GitHub App for bi.holistics.io (Mon); 1Win Zoho check (Mon); Review DAT-584 round 1 (Mon); Prep for anh Nam’s call with Bicycle Transit (Tue, P1 added mid-week); Align Data Import schedules / DAT-587 (Tue, P2 added mid-week). IN-PROGRESS: CircleCI dbt PR #858 review for anh Dong — debugged failing CI tests, cherry-picked into dbt#861, waiting for next review request. WAITING: BuyCo triage follow-through — 14-thread sweep continues; chasing PMs (Vy, Hien, Di) + BuyCo screen recording on item 10. Wamly — Farren on paternal leave, Chukwudi reaches out ~May 11–15 (now in backlog). MOVED / NEW: Showbie deal lost to Omni — feedback synthesis added for Wed (May 6). Auto-export dashboard PNG feedback to Khai To drafted (P2, Docs/feedback). Onboarding call 4 with [[Basata]] scheduled May 19. NOT STARTED (slipped Mon): MRR exchange rate (DAT-576) — Mon AM hard-block consumed by GitHub App + carry-overs; Tue went to Bicycle Transit prep. Forcing function: take Wed AM 09:00–12:00 slot, otherwise escalate to anh Triet for re-scoping. DAT-555 follow-up; DAT-556 dbt test fix; BI cleanup; DAT-560 unblock-or-backlog pass; H1 self-reflection + CV. P1 – Must Do Internal MRR exchange rate kickoff (DAT-576) — 3-week carry-over (W16 → W18). Mon AM (09:00–12:00 hard block): design dim_exchange_rates (rate source = ECB or Google Finance), Tue: write Linear scoping comment + small POC. If still blocked by Wed EOD, escalate to anh Triet for re-scoping. Manager priority #P1. Resolve DAT-555 follow-up — captured in [[2026-04-27]]. Carry-over. Resolve DAT-556 dbt test failure — root cause analysed Apr 22 (Ampcode). Apply the fix. Carry-over. Close out CircleCI dbt PR #858 review round 1 for anh Dong (Ampcode). Carry-over from W18 — slipped because of BuyCo + Wamly. Mid-week update: round 1 done, CI debug done, cherry-picked into dbt#861 — IN-PROGRESS, waiting for next review request. Presales BuyCo triage follow-through ([[BuyCo]]) — added Mon May 4. Continue checking the 14 threads in #holistics-buyco-external; chase PM replies on items 1, 2, 4, 11 (Vy Huynh, Hien Nguyen, Di Hoang) and BuyCo screen recording on item 10. Daily 15-min check. P2 – Should Do Personal Self-reflection + CV update for 2026 H1 performance review — elevated from P3. PR cycle is coming up; need a reflection draft + refreshed CV before manager check-in. Block out next weekend (Sat May 9 + Sun May 10) for deep-work session. Internal 1Win duplicate-customer check in Zoho billing per Quinn’s DM. Timebox 1h. Carry-over from W18. — DONE Mon May 4. Lead Funnel by Sales Motion (DAT-560) — 5-week carry-over (since W14). Now that Calendly BI layer is live, do a 30-min “is this still blocked?” pass. If yes, formally backlog with a date; if no, schedule a slot. Do not let this drift again. Increase data freshness — impersonation lookup more frequent than daily (DAT-499). Manager priority #P3. BI cleanup: delete [WIP] Job Queue Performance 3.0; migrate v2 + Report Job Queue Performance Monitoring to 4.0. Carry-over. Review DAT-584 round 2 — round 1 closed Mon May 4 (dbt#860, Ampcode). Awaiting author for round 2. Set up GitHub App for bi.holistics.io (new in [[2026-05-25]]). Scope first — 30-min design pass. — DONE Mon May 4 (Ampcode). NEW (Tue) — Align Data Import schedules (DAT-587) — DONE May 5 via Slack. Presales Basata catch-up call — Tue May 5 (thread). Sync with Taha on the dual-dashboard plan during this call — replaces the W18 “soft check-in” follow-up. Soft check-in to Showbie (Harsha) — DONE. Update May 4: lost the deal to Omni (1). Action Wed May 6: synthesize Holistics-vs-Omni learning + chase Harsha for personal feedback. NEW (Tue) — Bicycle Transit prep for anh Nam’s call — DONE May 5 (Slack, Ampcode prep). Mock-demo workflow ran end-to-end. Wamly — WAITING (was P1 in earlier draft). Farren cancelled Apr 29 call (urgent matter), now on 10-day paternal leave from May 1; Chukwudi will reach out in ~2 weeks per the reschedule thread. No action this week — re-pick around May 11–15. Trial-expires-May-6 panic moot since customer is unavailable; will need a trial extension request when Farren returns. P3 – Nice to Have Docs Add demo video for local dev — WAITING on Khai To (PM lead, squad modeling) to release the 2-way sync tool in holistics CLI. Demo should land after that ships so we lead with the new flow. 3-week carry-over (W15) — keep on watch but not actionable this week; revisit weekly until Khai’s release ships. Personal Review and update [[Personal Context]] (new in backlog this week). Research 1Long alternatives for emergency savings (decide if migration is worth it). Continue Obsidian → Logseq notes migration. Teaching Find a football dataset for Duc Anh. Carry-over. Read Wes Kao — Levels of detail in communication. Modeling Patterns docs (Presales). Backlog (deprioritized, do not pull unless P1/P2 slate is clear) Internal: DAT-524 Fix excluding internal Zoho accounts — 12 weeks carry-over. Action this week: raise in next 1-on-1 to formally drop or assign owner. Focus days suggestion Mon (May 4): GitHub App for bi.holistics.io (quick win, scope first). BuyCo Slack sweep + thread chases. PR reviews: CircleCI dbt #858 + dbdocs #860 round 2. 1Win Zoho check (1h timebox) Tue (May 5): DAT-555 + DAT-556 small wins. Basata catch-up call (sync with Taha on dual-dashboard plan). 15-min BuyCo sweep. Wed (May 6): MRR exchange rate continued. 15-min BuyCo sweep. Thu (May 7): BI cleanup. MRR exchange rate deep work — design dim_exchange_rates, pick rate source, write Linear scoping comment + small POC. Fri (May 8): Wrap-up + W19 weekly report. Sat–Sun (May 9–10): H1 self-reflection draft + CV refresh for the upcoming 2026 H1 performance review. Skip Smartclass commits. Keep at least Sat morning slow. Carry-over watch Item Since Weeks Action DAT-524 Fix excluding internal Zoho accounts W7 12 Raise in 1-on-1 — formally drop or assign owner DAT-560 Lead Funnel by Sales Motion W14 5 30-min unblock-or-backlog pass; do not let drift Demo video for local dev docs W15 4 WAITING on Khai To 2-way sync CLI release; revisit weekly DAT-576 MRR exchange rate W16 3 Forcing function: Mon AM hard block DAT-555 follow-up W18 1 Mon PM DAT-556 dbt test fix W17 2 Mon PM Wamly onboarding call W18 1 WAITING — Farren on 10-day paternal leave; Chukwudi reaches out ~May 11–15 1Win Zoho check W18 1 Wed 1h timebox BuyCo triage follow-through W19 1 Daily 15-min Slack sweep + chase PM replies Health rules (continuing from W17 LEARNING) No gaming after 18:00 on weeknights (W17 commitment — verify it held this week). 3x short night jogs this week (post-work, lower-temp window) — direct response to W18 badminton breathlessness signal. Eat before exercise. No empty-stomach badminton. Weekend booked for H1 self-reflection + CV refresh — skip Smartclass commits to avoid two-in-a-row non-rest weekends. Principles to apply this week (from W18 LEARNING) Vague task → time-block + decompose to smallest concrete next step (Wait But Why). Customer ask → frame as “here is the recipe, happy to pair if helpful” rather than “I’ll do it for you”. Small P1 ships before big P2 context-switch (do not let cheap items slip when escalations land). Daily journals are 100% me. LLM only for boilerplate. ","tags":["page"],"title":"Weekly Planning - 2026-W19","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W20 (May 11 – May 17, 2026) Big W19 wins: DAT-560 Lead Funnel by Sales Motion (5-week carry-over) + DAT-555 follow-up both closed. Big risk W20: DAT-576 MRR exchange rate now 4-week carry-over — Hieu left, treat as restart. Mon = context recovery, not implementation. Showbie synthesis owed. Wamly back mid-week (Chukwudi ~May 11–15). [[Basata]] onboarding call 4 Tue May 19 (W21 — prep Fri).\nP1 – Must Do Internal MRR exchange rate restart (DAT-576) — 4-week carry-over, manager priority. Treat as restart — Hieu left, implementation context lost. Mon AM = context recovery pass (re-read [[[Internal] Customers’ MRR (Exchange Rate)]], DAT-177, Notion docs; trace fct_daily_mrr.exchange_rate_to_sgd upstream in dbt). Mon PM = 30-min sync w/ anh Triet (recover his earlier experiment, decide rate source, decide backfill stance). Tue = draft dim_exchange_rates schema + ECB approach in Linear (no code). Wed = POC ingest if scoping signed off. Escalate to anh Triet by Wed EOD if blocked. Close out CircleCI dbt PR #858 review for anh Dong — IN-PROGRESS, awaiting next review request (Ampcode). Respond same-day. Presales Showbie loss synthesis + chase Harsha for personal feedback — slipped from W19 Wed. Block 2h Wed AM. Output: 1-page Holistics-vs-Omni learning note (focus on Looker-migration moat + security risk perception) + outreach to Harsha. Apply The Mom Test questioning style. Bicycle Transit follow-through — relay Microsoft Fabric DW question to anh Huy Vu (modeling). Confirm SSH algo (RSA only, no Ed25519) for Azure DevOps catch. Docs Add demo video for local development docs — P1 in [[Backlog]]. Still WAITING on Khai To’s 2-way sync CLI; do scenario draft + discuss with anh Huy Vu/Dat. Set scoping by Wed. P2 – Should Do Personal H1 self-reflection draft + CV refresh for 2026 H1 performance review — block Sat May 16 + Sun May 17 for deep work (slid from W19 weekend due to DAT-560 push). Internal DAT-499 — Increase impersonation-lookup data freshness. Manager-elevated context. Continue Cross-Model Calculation (DAT-504, [[Backlog]]). Re-evaluate timing post-DAT-576 kickoff. Upgrade dbt-core of repo dbt to match prefect. Presales Wamly onboarding call — re-pick around May 11–15 per the reschedule thread. When Chukwudi reaches out, schedule + send trial-extension request (Farren’s trial expired May 6). Prep for [[Basata]] onboarding call 4 (Tue May 19) — sync with Taha on dual-dashboard plan + dark-mode follow-up. Block 2h Fri. Docs Send the auto-export dashboard PNG feedback to Khai To (currently draft in [[Backlog]]). Send once 2-way sync CLI ships, otherwise polish + hold. P3 – Nice to Have Personal Auto-format execute_aql JSON → markdown amp plugin — queued IDEA from W19 (Ampcode). 1-day timebox. Daily Slack ingest cronjob POC — see W19 IDEA. Use slack-cli activity. Read-only first, no transform. Migrate journal notes from Obsidian (in-progress). Teaching Set-based vs row-based thinking exploration; visualization resources research. Backlog (deprioritized, do not pull unless P1/P2 slate is clear) Internal: DAT-524 Fix excluding internal Zoho test accounts — 13-week carry-over. Action this week: raise in next 1-on-1 to formally drop or assign owner. Focus days suggestion Mon (May 11): MRR context recovery (09:00–12:00 hard block) — re-read MRR knowledge page + DAT-177 + Notion docs; trace fct_daily_mrr.exchange_rate_to_sgd upstream. PM: 30-min sync w/ anh Triet on rate source + backfill. BuyCo daily sweep. Tue (May 12): MRR — draft dim_exchange_rates schema + ECB approach in Linear comment, tag Sriram + Vincent. Bicycle Transit follow-through (Fabric DW Q to anh Huy Vu, SSH algo confirm). Address CircleCI dbt #858 if review lands. Wed (May 13): MRR POC (1-month ECB ingest) if scoping signed off OR escalate to anh Triet. Showbie synthesis (2h AM). DAT-499 design pass. Thu (May 14): DAT-504 re-evaluation. Demo video scenario draft (Docs). 1-on-1 — raise DAT-524 backlog drop. Fri (May 15): [[Basata]] call 4 prep (2h). Wrap-up + W20 weekly report. Auto-format AQL plugin (P3) if time. Sat–Sun (May 16–17): H1 self-reflection draft + CV refresh for 2026 H1 performance review. Skip Smartclass commits. Carry-over watch Item Since Weeks Action DAT-576 MRR exchange rate W16 (Apr 13) 4 Restart — Hieu left, context lost. Mon AM = recovery pass. Wed EOD = decision point: POC or escalate to anh Triet. CircleCI dbt PR #858 review W18 (Apr 27) 2 IN-PROGRESS — respond same-day to next review request. Wamly onboarding W18 (Apr 27) 2 Customer-side block (paternal leave). Re-pick May 11–15. Add demo video for local dev docs W17 (Apr 20) 3 Scenario draft this week regardless of CLI ship. DAT-524 exclude internal Zoho accounts W7 (Feb 9) 13 Raise in 1-on-1 to formally drop or reassign. Showbie loss synthesis W19 (May 4) 1 Block Wed AM. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"abc27c221be33042fb13eb93f8070152","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w20/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w20/","section":"post","summary":"Plan for week W20 (May 11 – May 17, 2026) Big W19 wins: DAT-560 Lead Funnel by Sales Motion (5-week carry-over) + DAT-555 follow-up both closed. Big risk W20: DAT-576 MRR exchange rate now 4-week carry-over — Hieu left, treat as restart. Mon = context recovery, not implementation. Showbie synthesis owed. Wamly back mid-week (Chukwudi ~May 11–15). [[Basata]] onboarding call 4 Tue May 19 (W21 — prep Fri).\nP1 – Must Do Internal MRR exchange rate restart (DAT-576) — 4-week carry-over, manager priority. Treat as restart — Hieu left, implementation context lost. Mon AM = context recovery pass (re-read [[[Internal] Customers’ MRR (Exchange Rate)]], DAT-177, Notion docs; trace fct_daily_mrr.exchange_rate_to_sgd upstream in dbt). Mon PM = 30-min sync w/ anh Triet (recover his earlier experiment, decide rate source, decide backfill stance). Tue = draft dim_exchange_rates schema + ECB approach in Linear (no code). Wed = POC ingest if scoping signed off. Escalate to anh Triet by Wed EOD if blocked. Close out CircleCI dbt PR #858 review for anh Dong — IN-PROGRESS, awaiting next review request (Ampcode). Respond same-day. Presales Showbie loss synthesis + chase Harsha for personal feedback — slipped from W19 Wed. Block 2h Wed AM. Output: 1-page Holistics-vs-Omni learning note (focus on Looker-migration moat + security risk perception) + outreach to Harsha. Apply The Mom Test questioning style. Bicycle Transit follow-through — relay Microsoft Fabric DW question to anh Huy Vu (modeling). Confirm SSH algo (RSA only, no Ed25519) for Azure DevOps catch. Docs Add demo video for local development docs — P1 in [[Backlog]]. Still WAITING on Khai To’s 2-way sync CLI; do scenario draft + discuss with anh Huy Vu/Dat. Set scoping by Wed. P2 – Should Do Personal H1 self-reflection draft + CV refresh for 2026 H1 performance review — block Sat May 16 + Sun May 17 for deep work (slid from W19 weekend due to DAT-560 push). Internal DAT-499 — Increase impersonation-lookup data freshness. Manager-elevated context. Continue Cross-Model Calculation (DAT-504, [[Backlog]]). Re-evaluate timing post-DAT-576 kickoff. Upgrade dbt-core of repo dbt to match prefect. Presales Wamly onboarding call — re-pick around May 11–15 per the reschedule thread. When Chukwudi reaches out, schedule + send trial-extension request (Farren’s trial expired May 6). Prep for [[Basata]] onboarding call 4 (Tue May 19) — sync with Taha on dual-dashboard plan + dark-mode follow-up. Block 2h Fri. Docs Send the auto-export dashboard PNG feedback to Khai To (currently draft in [[Backlog]]). Send once 2-way sync CLI ships, otherwise polish + hold. P3 – Nice to Have Personal Auto-format execute_aql JSON → markdown amp plugin — queued IDEA from W19 (Ampcode). 1-day timebox. Daily Slack ingest cronjob POC — see W19 IDEA. Use slack-cli activity. Read-only first, no transform. Migrate journal notes from Obsidian (in-progress). Teaching Set-based vs row-based thinking exploration; visualization resources research. Backlog (deprioritized, do not pull unless P1/P2 slate is clear) Internal: DAT-524 Fix excluding internal Zoho test accounts — 13-week carry-over. Action this week: raise in next 1-on-1 to formally drop or assign owner. Focus days suggestion Mon (May 11): MRR context recovery (09:00–12:00 hard block) — re-read MRR knowledge page + DAT-177 + Notion docs; trace fct_daily_mrr.exchange_rate_to_sgd upstream. PM: 30-min sync w/ anh Triet on rate source + backfill. BuyCo daily sweep. Tue (May 12): MRR — draft dim_exchange_rates schema + ECB approach in Linear comment, tag Sriram + Vincent. Bicycle Transit follow-through (Fabric DW Q to anh Huy Vu, SSH algo confirm). Address CircleCI dbt #858 if review lands. Wed (May 13): MRR POC (1-month ECB ingest) if scoping signed off OR escalate to anh Triet. Showbie synthesis (2h AM). DAT-499 design pass. Thu (May 14): DAT-504 re-evaluation. Demo video scenario draft (Docs). 1-on-1 — raise DAT-524 backlog drop. Fri (May 15): [[Basata]] call 4 prep (2h). Wrap-up + W20 weekly report. Auto-format AQL plugin (P3) if time. Sat–Sun (May 16–17): H1 self-reflection draft + CV refresh for 2026 H1 performance review. Skip Smartclass commits. Carry-over watch Item Since Weeks Action DAT-576 MRR exchange rate W16 (Apr 13) 4 Restart — Hieu left, context lost. Mon AM = recovery pass. Wed EOD = decision point: POC or escalate to anh Triet. CircleCI dbt PR #858 review W18 (Apr 27) 2 IN-PROGRESS — respond same-day to next review request. Wamly onboarding W18 (Apr 27) 2 Customer-side block (paternal leave). Re-pick May 11–15. Add demo video for local dev docs W17 (Apr 20) 3 Scenario draft this week regardless of CLI ship. DAT-524 exclude internal Zoho accounts W7 (Feb 9) 13 Raise in 1-on-1 to formally drop or reassign. Showbie loss synthesis W19 (May 4) 1 Block Wed AM. ","tags":["page"],"title":"Weekly Planning - 2026-W20","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W21 (May 18 – May 24, 2026) Progress vs plan (as of Tue May 19) DONE: Power BI playbook — published to docs (conceptual-differences, migrating-to-holistics). POC end-to-end migration via Claude Code + custom skill. BuyCo onboarding call (Tue May 19) — closed. Tech onboarding checklist in Notion. Hide-confidential-data POC kicked off. Basata onboarding call 4 — closed. Enhance Fitness call watched + RFP assessed. Cross-metric calculation doc review (carry-back, #P2). IN PROGRESS / WAITING: migrate-power-bi AI skill PR (holistics/skills#10) — awaiting anh Khai review. BuyCo SLA / response-time data pull (new TODO from call) — P1, scheduled Thu. NOT STARTED: DAT-576 MRR exchange rate — escalation Wed 1-on-1 (as planned). DAT-524 Zoho test accounts — escalation Wed 1-on-1. Local-dev demo video (Docs P1) — Thu. Auto-export PNG feedback to Khai To — Thu. Wamly check — Wed. H1 self-reflection + CV — locked Sat/Sun. Soạn roadmap Spark cho Yên — Sat AM. Lead Funnel retro — Fri. NEW (added mid-week): TODO Discuss narrative demo for Power BI migration (Slack) — P2, Wed. TODO Write 1-on-1 report — P1, Wed (paired with 1-on-1). IDEA Support other coding agents for logseq automation ([[Logseq]]). NOTE Identity Resolution TOGA case — captured under [Internal] Identity Resolution. Big W20 wins: CircleCI PR review marathon closed (3-week carry-over cleared); BuyCo theme rolled out; Khai To’s 2-way sync CLI shipped → local-dev demo video unblocked (was 5-week WAITING). Big risk W21: BuyCo onboarding call Tue May 19 — Power BI playbook must be review-ready Mon EOD. Bigger risk: DAT-576 MRR exchange rate now 5-week carry-over — stop scheduling, start escalating. 1-on-1 has two backlog drops to make (DAT-576 re-scope, DAT-524 formal drop). H1 self-reflection + CV 2-week slipped — lock the weekend.\nP1 – Must Do Presales BuyCo onboarding call (Tue May 19, customer [[BuyCo]]) — Power BI playbook review-ready by Mon EOD so anh Khai To + anh Huy can review Mon evening → publish to docs Tue AM → present in call. 3 call goals: (1) PBI → Holistics migration demo (4–7 min video, Claude Code translating), (2) AI strengths (English→AQL, SQL→AQL, dataset modeling), (3) walk through Xairo’s evaluation matrix + close “Hide confidential data” unknown. Critical demo: row-level permissions (@auth) + column-level masking. Asks to drive: POC extension scope/end-date; 2–3 deep-dive sessions with PMs; written commitment milestone; designer trial access. Refs: Ampcode (call prep), Notion: BuyCo Call Prep. Finish Power BI playbook draft — drafted so far: conceptual-differences.md + migration-overview.md. Pending: dashboard-migration.md, model-migration.md, index.md, optional convert-tmdl-to-aml agent skill. Apply “conceptual diagram \u0026gt; long video” lesson from Tableau→Sigma cortex skill. Refs: Notion: PBI↔Holistics Conceptual Differences, Ampcode. Internal MRR exchange rate (DAT-576) — 5-week carry-over (W16 → W17 → W18 → W19 → W20). Per [[Priority Rules]] 3+ week forcing-function rule: raise in 1-on-1 with anh Triet as a prioritization question, not a scheduling one. Each of the last 5 weeks, presales work legitimately outranked it in customer impact. 3 options ready: (1) re-scope to a presales-compatible size, (2) hand off to someone whose week isn’t presales-loaded, (3) formally de-prioritize until presales calms. Do not commit a “Mon AM block” again — the slot is not the problem. Docs Add demo video for local development docs — WAITING cleared (Khai To 2-way sync CLI shipped May 14). Step 1: update documentation (Ampcode). Step 2: draft scenario + record demo. Aim: 1 doc PR by Fri May 22. Teaching Soạn roadmap Spark cho Yên ([[Teaching]]) — new, captured May 17. Block Sat morning. P2 – Should Do Personal H1 self-reflection draft + CV refresh for 2026 H1 performance review. 2-week slip already — lock Sat May 23 + Sun May 24 non-negotiable, no Smartclass / VCT compromise. PR cycle approaching. Presales Learn Descript (learn.descript.com, [[Presales]]) — for demo-video production. Pairs with the local-dev demo video deliverable. Wamly onboarding — still WAITING on Chukwudi re-engagement (3-week carry-over from W18). If no movement by Wed, move to formal backlog with reason. Internal Continue Cross-Model Calculation (DAT-504, Backlog) — re-evaluate timing after MRR escalation outcome. Upgrade dbt-core of repo dbt to match prefect. Lead Funnel by Sales Motion wrap-up ([[Lead Funnel by Sales Motion]]) — write project retro doc. All DAT-560–564 closed; only retro pending. Docs Send the auto-export dashboard PNG feedback to Khai To (currently draft in Backlog). 2-way sync CLI shipped → right window. Pair with local-dev demo doc PR. P3 – Nice to Have Personal Migrate other notes from Obsidian (in-progress). Review and update [[Personal Context]]. Teaching Set-based vs row-based thinking exploration; visualization resources research; pudding.cool resources. Internal TODO Feedback - Publish for CLI? (captured May 18). Backlog (deprioritized — do …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0f16e972279d9b0776e11dcbfbcc243d","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w21/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w21/","section":"post","summary":"Plan for week W21 (May 18 – May 24, 2026) Progress vs plan (as of Tue May 19) DONE: Power BI playbook — published to docs (conceptual-differences, migrating-to-holistics). POC end-to-end migration via Claude Code + custom skill. BuyCo onboarding call (Tue May 19) — closed. Tech onboarding checklist in Notion. Hide-confidential-data POC kicked off. Basata onboarding call 4 — closed. Enhance Fitness call watched + RFP assessed. Cross-metric calculation doc review (carry-back, #P2). IN PROGRESS / WAITING: migrate-power-bi AI skill PR (holistics/skills#10) — awaiting anh Khai review. BuyCo SLA / response-time data pull (new TODO from call) — P1, scheduled Thu. NOT STARTED: DAT-576 MRR exchange rate — escalation Wed 1-on-1 (as planned). DAT-524 Zoho test accounts — escalation Wed 1-on-1. Local-dev demo video (Docs P1) — Thu. Auto-export PNG feedback to Khai To — Thu. Wamly check — Wed. H1 self-reflection + CV — locked Sat/Sun. Soạn roadmap Spark cho Yên — Sat AM. Lead Funnel retro — Fri. NEW (added mid-week): TODO Discuss narrative demo for Power BI migration (Slack) — P2, Wed. TODO Write 1-on-1 report — P1, Wed (paired with 1-on-1). IDEA Support other coding agents for logseq automation ([[Logseq]]). NOTE Identity Resolution TOGA case — captured under [Internal] Identity Resolution. Big W20 wins: CircleCI PR review marathon closed (3-week carry-over cleared); BuyCo theme rolled out; Khai To’s 2-way sync CLI shipped → local-dev demo video unblocked (was 5-week WAITING). Big risk W21: BuyCo onboarding call Tue May 19 — Power BI playbook must be review-ready Mon EOD. Bigger risk: DAT-576 MRR exchange rate now 5-week carry-over — stop scheduling, start escalating. 1-on-1 has two backlog drops to make (DAT-576 re-scope, DAT-524 formal drop). H1 self-reflection + CV 2-week slipped — lock the weekend.\n","tags":["page"],"title":"Weekly Planning - 2026-W21","type":"post"},{"authors":null,"categories":null,"content":"Plan for week W22 (May 25 – May 31, 2026) W21 closed strong: PBI playbook + skill (v0.1 → #12 fix → v0.1.1), BuyCo/Basata onboarding, EF RFP assessed, SLA pull, 3 Docs PRs. W22 slate lighter — 4 presales items demoted to Monitor (sales already followed up OR customer says not critical). Focus shifts to: (1) DAT-576 written-decision memo Mon AM → unblocks DAT-524, (2) Showbie loss synthesis (3rd re-commitment), (3) H1 self-reflection (3-week slip, PR cycle), (4) RFC-0004 PARA W22 batch (forcing-function test on DAT-576/DAT-524).\nP1 – Must Do Internal DAT-576 MRR exchange rate (DAT-576) — 6w carry-over. Mon AM: write 3-option memo (re-scope / hand-off / de-prioritize) in Linear, tag anh Triet. Unblocks DAT-524. No impl until written call made. Presales Showbie loss synthesis — 1-on-1 commitment. 1-pager: Looker-migration moat + security-risk perception. 3rd re-commitment — Tue PM 2h block. Teaching Soạn roadmap Spark cho Yên — slipped W21 Sat. Sat AM. Non-negotiable. Personal H1 self-reflection + CV refresh — 3w carry-over. Sat PM + Sun. PR cycle approaching. No Smartclass/VCT compromise. P2 – Should Do Internal DAT-524 Zoho test accounts — PENDING DAT-576. Chained dep now explicit. Don’t bundle into Mon memo — wait for MRR direction. Continue Cross-Model Calculation (DAT-504) — re-eval after MRR. Upgrade dbt-core to match prefect. Lead Funnel by Sales Motion retro — slipped W21. Friday. Presales Discuss narrative demo for Power BI migration — Slack thread open (Slack). Book 30-min sync. Wed. Power BI to Holistics — Themes — extend playbook w/ theme-port guidance. 2h Thu. Polish document embedding (backlog 69ccaad3-d8f1) — fold PI/Basata/Showbie data into “unified toolbox” framing. Evidence-only. Personal Amp plugin update for holistics mcp — switch to new CLI subcommand. 1-day timebox. Docs Send auto-export dashboard PNG feedback to Khai To (draft in Backlog). Logseq Execute RFC-0004 PARA W22 batch — create Project/ namespace + first 5–6 pages (DAT-576, DAT-524, BuyCo Onboarding, Showbie Loss Synthesis, H1 Self-Reflection). DAT-576 = forcing-function test → if Project page exists Mon AM, Linear memo writes itself. P3 – Nice to Have Docs Add demo video for local dev docs — demoted P1→P3. Anh Khai owns video. My side = social-media publish only, no critical path. Fix markdown files not found in docs.holistics.io — broken-link sweep. Personal Migrate other notes from Obsidian (in-progress). Unsub Contabo VPS (unused). Review and update [[Personal Context]]. Teaching Set-based vs row-based thinking; viz resources; pudding.cool. Monitor (no action — wait for external signal) [[BuyCo]] Hide-confidential-data POC — Xairo discussed w/ team → upstream-doable, not critical. Slack. Off action list. [[Predictive Index]] — Nam (sales) followed up. Wait for trial-start + onboarding-call booking. [[Enhance Fitness]] RFP — Chukwudi (sales) followed up. Wait for trial-start + onboarding-call booking. Wamly onboarding — wait for Wamly response. Monitor #holistics-wamly-external closely. Focus days suggestion Mon (May 25): 09:00–10:00 — DAT-576 Linear memo, tag anh Triet. 10:00–12:00 — RFC-0004 W22 PARA batch (create Project/ pages). PM: monitor Wamly + Backlog grooming. Tue (May 26): AM — Showbie loss synthesis 1-pager (2h). PM — Cross-Model Calculation re-eval + dbt-core upgrade scoping. Wed (May 27): Narrative-demo PBI sync (30 min). PBI Themes guidance draft (start). Auto-export PNG feedback send. Thu (May 28): PBI Themes guidance finish. Amp plugin holistics mcp switch. Polish-doc-embed evidence-collection. Fri (May 29): Lead Funnel retro doc. W22 weekly report. Friday-ship batch (small Docs/Logseq PRs if time). Sat (May 30): AM — Spark roadmap for Yên. PM — H1 self-reflection draft. Sun (May 31): CV refresh + finalize H1 reflection. Carry-over watch Item Since Weeks Action DAT-576 MRR exchange rate W16 6 Mon AM Linear memo. Unblocks DAT-524. DAT-524 Zoho test accounts W7 15 PENDING DAT-576 — chained dep. Stop forcing. Local-dev demo video W17 6 Demoted P3 — anh Khai owns video. My side = social publish only. Wamly onboarding W18 4 Monitor #holistics-wamly-external. No active push. H1 self-reflection + CV W19 3 Sat PM + Sun. PR cycle approaching. Hide-conf-data POC BuyCo W21 1 Monitor — Xairo says not critical, upstream-doable. Principles to apply this week Decisions in writing beat decisions in conversation — DAT-576 1-on-1 happened W21; written decision didn’t land. W22’s job = Linear comment, not another conversation. Sales-led customer touches → my action only when trial/onboarding booked — PI, EF, BuyCo hide-conf, Wamly all routed back to sales or monitor. Don’t manufacture work. Chained dependencies stay chained — DAT-524 PENDING DAT-576. Stop forcing both onto the same Mon block; let MRR ship first. Friday ship-the-small-thing — 3 Docs PRs Fri W21 worked. Reuse Fri W22 = retro + RFC-0004 PARA pages + 1 small polish. Defend weekend deep-work slots as meetings — H1 reflection slipped 3 times. Calendar block Sat PM + …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6a5a34e9cc4334c539f8115d5553b135","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning---2026-w22/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning---2026-w22/","section":"post","summary":"Plan for week W22 (May 25 – May 31, 2026) W21 closed strong: PBI playbook + skill (v0.1 → #12 fix → v0.1.1), BuyCo/Basata onboarding, EF RFP assessed, SLA pull, 3 Docs PRs. W22 slate lighter — 4 presales items demoted to Monitor (sales already followed up OR customer says not critical). Focus shifts to: (1) DAT-576 written-decision memo Mon AM → unblocks DAT-524, (2) Showbie loss synthesis (3rd re-commitment), (3) H1 self-reflection (3-week slip, PR cycle), (4) RFC-0004 PARA W22 batch (forcing-function test on DAT-576/DAT-524).\n","tags":["page"],"title":"Weekly Planning - 2026-W22","type":"post"},{"authors":null,"categories":null,"content":"Weekly Planning Rules Living rules for pages/Weekly Planning - YYYY-WNN.md. Pairs w/ [[Priority Rules]] (P0–P3 tiers). Re-read every Fri wrap-up. When a rule causes friction, capture friction below + iterate.\n1. Principles (apply every week) Decisions in writing beat decisions in conversation — meeting w/o written outcome = no outcome. Same-day Linear/Notion/Project-page update.\nSales-led customer touches → my action only when trial/onboarding booked — if sales (Nam, Chukwudi, etc.) already followed up, don’t manufacture parallel work. Move to Monitor.\nChained dependencies stay chained — if A blocks B, don’t schedule both. Let A ship; B waits explicitly.\n3+ week carry-over forcing function ([[Priority Rules]]) — either elevate + schedule on a specific day OR formally move to backlog/waiting w/ reason. No silent re-baselining.\nPre-validate playbooks w/ real POC before customer-facing artifact — diagrams alone don’t close evaluation matrices (BuyCo PBI parity-to-the-cent lesson, W21).\nFriday “ship-the-small-thing” batch — Fri = retro + 1–3 small Docs/Logseq/tooling PRs. Buys goodwill + clears residual queue (W21 evidence: 3 PRs).\nMon-AM strategic block defense — biggest deep-work item gets Mon AM. Carry-overs go PM or Fri.\nPrioritization \u0026gt; scheduling — when an item slips 5+ weeks straight, it’s not a scheduling problem; it’s that other work is genuinely more important. Make prioritization explicit upward; don’t quietly re-baseline.\nDefend weekend deep-work slots as meetings — recurring slip items (H1 reflection, CV, side projects) get a Sat/Sun calendar block. Immovable.\nLet demand pull the template — reusable patterns (playbooks, skills) formalize after the 2nd demand signal, not the 1st. Premature formalization = wasted ROI.\nConceptual diagram \u0026gt; long video — for explaining a feature/migration, diagrams first, narration second (BuyCo PBI lesson).\nThe Mom Test on customer calls — ask about specifics (“which workflow takes longest today?”), avoid leading questions on pain points.\nCustomer asks become product-side data debts — capture them (Linear/dbt task) at the same time as the answer. The pipeline from “support reply” to “engineering backlog” is the data-team flywheel.\nLane intentionality — if drift toward solutions/presales/IC/lead happens, decide explicitly each cycle whether to lean in or pull back. Drifting unintentionally = worst outcome.\n2. Carry-over watch table — schema Every weekly plan ends w/ this table. Track items open ≥ 2 weeks.\n| Item | Since | Weeks | Action | | ---- | ---- | ---- | ---- | | \u0026lt;name + linear/PR ref\u0026gt; | W\u0026lt;NN\u0026gt; (\u0026lt;date\u0026gt;) | \u0026lt;count\u0026gt; | \u0026lt;specific next step OR explicit waiting state\u0026gt; | Rules:\nSince = week the item was first captured (W## format + ISO date).\nWeeks = count incl. current week. Bold when ≥ 3.\nAction must be one of:\nspecific scheduled day this week (e.g., “Mon AM Linear memo”), explicit waiting state w/ trigger (“Monitor #channel. No active push”), demotion/backlog/drop (“Demoted P3 — anh X owns”), chained-dependency annotation (\u0026#34;PENDING \u0026#34;). Never “continue working on it” or “carry over” — those = silent re-baseline.\nItems hitting 5+ weeks w/o customer-side block → escalate in next 1-on-1 as prioritization question, not scheduling.\nItems hitting 3+ weeks WAITING on external → formal backlog w/ reason.\nRemoved when DONE — keep one DONE row that week for closure visibility, then drop.\n3. Focus days suggestion — schema Assign each day a primary focus + secondary slots. Group deep-work; place timeboxed items in specific slots; reserve Fri for wrap-up.\n- **Mon (May NN)**: AM — last week\u0026#39;s report review. PM — \u0026lt;strategic deep-work / forcing-function decision / reading\u0026gt;. - **Tue (May NN)**: **Data (higher priority)** — prep for Wed data-team sync. Presales only if critical. - **Wed (May NN)**: AM — data-team sync, 4-week-cadence 1-on-1 w/ manager, weekly-planning adjustment. PM — P3 + departmental clean-up. - **Thu (May NN)**: **Presales (higher priority)** — calls, follow-ups, demo prep, customer artifacts. - **Fri (May NN)**: weekly report + Friday-ship batch + backlog grooming. **No new deep-work in PM.** - **Sat (May NN)**: **Personal + Logseq + Finance (higher priority)**. AM — \u0026lt;named P1 weekend deliverable\u0026gt;. PM — \u0026lt;named P2 weekend deliverable\u0026gt;. - **Sun (May NN)**: \u0026lt;finalize weekend deliverables — named\u0026gt;. Day-of-week role (default cadence):\nDay Primary role Notes Mon AM = last week’s report review; PM = strategic deep-work / forcing-function decision / reading NOT carry-overs. Tue Data (higher priority) Prep for Wed data-team sync. Presales only if critical. Wed AM = data-team sync + (4-week cadence) 1-on-1 w/ manager + weekly-planning adjustment; PM = P3 + departmental clean-up Decisions-in-writing land here. Thu Presales (higher priority) Calls, follow-ups, demo prep, customer artifacts. Fri ALWAYS: weekly report + Friday-ship batch + backlog grooming No new deep-work in PM. Sat Personal + Logseq + Finance (higher priority) Include only when a weekend item is locked. Name the …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"78716e629f2c28390cb86de49d9209c7","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-planning-rules/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-planning-rules/","section":"post","summary":"Weekly Planning Rules Living rules for pages/Weekly Planning - YYYY-WNN.md. Pairs w/ [[Priority Rules]] (P0–P3 tiers). Re-read every Fri wrap-up. When a rule causes friction, capture friction below + iterate.\n1. Principles (apply every week) Decisions in writing beat decisions in conversation — meeting w/o written outcome = no outcome. Same-day Linear/Notion/Project-page update.\nSales-led customer touches → my action only when trial/onboarding booked — if sales (Nam, Chukwudi, etc.) already followed up, don’t manufacture parallel work. Move to Monitor.\n","tags":["page"],"title":"Weekly Planning Rules","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Feb 25 – Mar 1, 2026 Work Presales\nHighlight: Trust Wallet win story — won over from Looker/Tableau. Trust Wallet (crypto wallet, Databricks stack) subscribed on Standard plan (Feb 4). High-touch onboarding was the key differentiator: live enablement on Model → Dataset → Dashboard flow, tackling struct fields, typing, and caching/pre-aggregation for Databricks cost concerns. Strong proof point for the high-touch onboarding initiative. Internal\nDONE Setup BigQuery CLI skills — enables querying BigQuery datasets directly from the terminal. Teaching\nTODO Teach Duc Anh (P2) TODO Teach Yen (P2) Personal / Tooling Refined the weekly report automation workflow: documented manual process, planned cron schedule (Tuesday for data sync, Friday for comprehensive report) using amp CLI headless, fully local on macOS. Researched Google Data Portability API — enables programmatic export of Maps, YouTube, Search, Chrome data; supports one-time or time-based transfers. Aligns with personal-finance project goals. Idea: Archive all amp threads into a repository for backup. Idea: Create a GitHub bot account (lelouvincx-bot) for automating PRs, code review, and deployment. ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"22b4edce74eefc10d32067aaa22ab139","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w09/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w09/","section":"post","summary":"Weekly Report — Feb 25 – Mar 1, 2026 Work Presales\nHighlight: Trust Wallet win story — won over from Looker/Tableau. Trust Wallet (crypto wallet, Databricks stack) subscribed on Standard plan (Feb 4). High-touch onboarding was the key differentiator: live enablement on Model → Dataset → Dashboard flow, tackling struct fields, typing, and caching/pre-aggregation for Databricks cost concerns. Strong proof point for the high-touch onboarding initiative. Internal\nDONE Setup BigQuery CLI skills — enables querying BigQuery datasets directly from the terminal. Teaching\n","tags":["page"],"title":"Weekly Report - 2026-W09","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Mar 4 – Mar 7, 2026 Pull Request: #6\nFriday comprehensive report for 2026-W10. Activity concentrated Feb 25 – Mar 3 (journal entries), with PR review follow-ups continuing Mar 4–6.\nWork Add2Cart\n(done) Fix the temp bridge table — eliminated bridge_product_retailer by adding retailer_id directly to atc_price_history via slug normalization. Reduced join path from 4 tables to 2–3 for price queries. Backfilled 30M+ rows: 23/40 retailers matched cleanly (40% of rows), 6 near-misses identified for follow-up. Stored procedures updated; sp_run_all reordered. Holistics AML dataset relationships updated to use direct retailer_current_pricing_skey join. (Notion)\n(done) Document all stored procedures in a data lineage — reviewed 13 stored procedures across 3 architecture layers (source transforms → derived facts → aggregates). Created Notion KB with refresh patterns, validation logic, scheduling recommendations, and Mermaid lineage diagram. SPs are currently not version-controlled and have no scheduler. Verdict: keep SPs over dbt migration due to low ROI. (Notion)\n(done) Fix small issue in dashboard 3 (Promotional Planning) — filter was not excluding products outside the primary retailer (18 vs 17 product count mismatch). (Slack)\n(done) Catch up with Simon on Add2Cart progress. (ReadAI)\nInternal\n(in-progress) Review MRR PR (holistics/dbt#812) — deep code review on customer identity resolution refactor (DAT-471). The PR decomposes itg_mappings__customer_identities into 5 sub-models. Found 2 critical issues: (1) Zoho-only rows silently dropped by WHERE clause, (2) NULL domains filtered by NOT IN semantics. Also identified Zendesk fan-out risk affecting 3 active paying tenants. Submitted “changes requested” review. Review discussion continued Mar 4–6 with author (hellofromtheothersky) resolving comments. Also flagged: update relationships.dbml for new models, linting fixes needed, CI test failure on unrelated model (stg_holistics__jobs).\n(in-progress) Answer Vincent \u0026amp; Sriram on trial-first vs call-first conversion data — created DE-202 Notion doc. Initial analysis of won deals: ~81% trial-only, ~19% trial+demo call. Key limitation: current data only captures Calendly demo calls, not all sales touchpoints. Small deal count magnifies mis-categorization (e.g., MrDIY). Next step: share POC with Vincent and Sriram before full build. Draft AML explore on chinh/lead-funnel-by-sales-motion branch.\n(in-progress) Continue commenting DE-201 (PR Workflow enhancement) — carry-over. Audit revealed internal-aml-project repo has zero CI/CD, dbt CI +1 hop limit misses critical singular tests 2–3 hops away. Proposed tiered roadmap: (1) quick wins — update PR templates, add CODEOWNERS; (2) expand test coverage — tag critical singular tests, implement dbt model contracts; (3) new automation — lineage diff, impact analysis, data-diff tools. (Notion)\n(done) Answer Quinn on tracking admin edits to tenant subscriptions. (Slack)\nPresales\nHighlight: Trust Wallet win story — won over from Looker/Tableau. Crypto wallet app on Databricks stack; high-touch onboarding was key differentiator: live enablement on Model → Dataset → Dashboard flow, tackling struct fields, typing, and caching for Databricks cost concerns.\nNote: Vincent’s demo call with Mangrove Digital (experienced DAX/LookML practitioners) — new sales narrative to pre-empt Omni’s spreadsheet formula appeal. Covers objection handling on dbt metrics integration, AQL learning curve, metric promotion, and AI pricing.\n(done) Onboarding call with Fluent Data. (Clari)\nDuty Support\n(done) Share AI usage data for Sweetspot — completed Feb 27. (Slack)\nPersonal / Tooling (done) Scheduled weekly Logseq report automation — launchd cron with Tuesday + Friday runs. Shell script + amp CLI headless agent. (GitHub PR#3)\n(done) Set up git credentials for lelouvincx-bot — separated SSH/signing keys from 1Password; configured PAT for gh CLI. (Gemini)\n(done) Set up Notion CLI skill for Amp. Completed Feb 26.\n(done) Set up Holistics query skill for Amp — enables querying Holistics datasets via Semantic API. (GitHub PR)\n(done) Set up BigQuery CLI skill for Amp. (Ampcode)\n(done) Set up Claude Code — explored as comparison to Amp CLI. Verdict: Amp’s tool calling is noticeably better.\nLearning \u0026amp; Notes “Down The Rabbit Hole” — self-reflection on recurring patterns of over-engineering and yak shaving. Identified symptoms: spending hours perfecting things that could be simpler, side-questing into dotfile/neovim debugging when main task is dashboard work, “just one more small fix” loops.\nImpressions from Vincent’s demo call (Benjamin Franklin writing practice) — practiced analytical writing by reviewing a recorded demo. Key observations: (1) talking continuously is a skill worth practicing; (2) hitting the spot when answering questions matters most for impression; (3) knowing even small product features (e.g., AI field descriptions) creates “I’m annoyed I haven’t tried this” moments; (4) be honest about …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f33685383c4fc0059861c9cce56afbca","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w10/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w10/","section":"post","summary":"Weekly Report — Mar 4 – Mar 7, 2026 Pull Request: #6\nFriday comprehensive report for 2026-W10. Activity concentrated Feb 25 – Mar 3 (journal entries), with PR review follow-ups continuing Mar 4–6.\nWork Add2Cart\n(done) Fix the temp bridge table — eliminated bridge_product_retailer by adding retailer_id directly to atc_price_history via slug normalization. Reduced join path from 4 tables to 2–3 for price queries. Backfilled 30M+ rows: 23/40 retailers matched cleanly (40% of rows), 6 near-misses identified for follow-up. Stored procedures updated; sp_run_all reordered. Holistics AML dataset relationships updated to use direct retailer_current_pricing_skey join. (Notion)\n","tags":["page"],"title":"Weekly Report - 2026-W10","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Mar 9 – Mar 13, 2026 (friday mode) Pull Request: #7 and #8\nWork Internal\n(done) Code review MRR PR #812 — completed 4 review rounds on customer identity resolution refactor (DAT-471). Decomposition of itg_mappings__customer_identities into 5 sub-models. Identified critical issues: Zoho-only rows silently dropped by WHERE clause, NULL domain NOT IN semantics, Zendesk fan-out risk. PR merged Mar 10. (PR #812)\n(done) Continue commenting DE-201 (PR Workflow enhancement) — completed review and documentation of CI/CD gaps in internal-aml-project repo. Proposed tiered roadmap: quick wins (PR templates, CODEOWNERS), expanded test coverage, new automation (lineage diff, impact analysis). (Notion)\n(done) Adhoc fix failed CI upload-holistics in dbt project — Ruby 2.7.4 EOL broke activesupport gem install. Migrated to new standalone Holistics CLI binary; modernized workflow with uv for Python/dbt. (PR #838, merged Mar 9)\n(done) Review PR #839: CI dataset scope — changed CI dataset creation from commit-scoped to PR-scoped for better debuggability. Found critical shell syntax error, uniqueness loss in fallback, and concurrency risks. All resolved. (PR #839, merged Mar 9)\n(done) Check Prefect Slack automation failure — Dependabot upgrade broke a package used by Prefect for Slack notifications. Simplified pyproject.toml, debugged flows, identified root cause. (PR #377, merged Mar 12)\n(done) Fix DAT-554 Elementary dbt test n_records column missing — fixed compatibility issue in custom unique test for Elementary. (PR #841, merged Mar 13)\n(done) Check if current API supports the Pass The Keys ticket — investigated feasibility of supporting object dependency data sharing via Holistics API. Continued from duty support ticket.\n(in-progress) Plan for Census migration to Fivetran — documented migration plan for reverse-ETL jobs (BigQuery → HubSpot). Census sunset Apr 1; confirmed MAR usage (~1,215 records/month) fits Fivetran Free plan (3,500 MAR). 2 syncs to validate: dim_contacts → HubSpot Contact, fct_customer_stats → HubSpot Company. Next: create Fivetran account under data@holistics.io, migrate, validate. (Notion)\n(in-progress) Check failed dbt tests in #data-ops-bot — listed all issues (DAT-554, DAT-555). Analyzed fct_job_queue_performance model: stale, superseded by squad performance dashboards; recommended removal. mart_product__dataset_datamodel_dimensions also flagged. Next: create task/issue for each observation.\n(in-progress) DE-202 trial-first vs call-first conversion — received assessment from growth team: several customer categorizations incorrect (Fanserv, Novigi are trial-first not call-first; Basata reassigned to Nam). 11 customers identified as not trial-only. BizOps team has answered; next step is to review and plan tasks. (Notion)\n(done) DE-204 Auto-enable AI for trial accounts — updated field references (public.tenants.settings-\u0026gt;enablement, public.users.settings-\u0026gt;personal-\u0026gt;ai-\u0026gt;hide_banner). Found existing AI Settings dashboard. Done: confirm if adding hide_banner tracking meets requirements. Next: no action.\n(in-progress) Listing and re-prioritizing pending Linear issues — pulled 15 open issues (DAT-450, DAT-469, DAT-510, DAT-524, DAT-155, DAT-163, DAT-219, DAT-259, DAT-268, DAT-283, DAT-371, DAT-462, DAT-463, DAT-504, DOC-36). Plan to triage and complete small ones.\nDuty Support\n(done) Data support for Trust Wallet — customer needed help with AQL metrics for weekly unique users on swap data. Impersonated into account to investigate. (Slack)\n(done) Support Pass The Keys sharing object dependency data — created shareable dashboard, suggested dataset custom views. Customer replied that migrating to 4.0 is cost-prohibitive. (Zendesk #24674)\nPresales\n(done) Add tabs to Hooli dashboard — solution proposal completed. (Slack)\n(done) Plan building a live demo dashboard for overview slide — prototyped in Gemini, implemented via Ampcode. (Slack)\n(done) Feedback — requested UI for Query Model Persistence (Aarki customer). (ReadAI)\nTeaching\n(in-progress) Complete Brazilian dashboard on Metabase for Yen — Dash 1 (Sales Overview) done. Dash 2 (Shipping Overview) and demo video recording still TODO.\nPersonal / Tooling (done) Built SmartClass website for thay Thanh — static site with shadcn/ui, deployed to Cloudflare Pages (smartclass-demo.pages.dev). Constraints: deployable on Cloudflare with minimum cost, as simple as possible. (PR #1, merged Mar 8)\n(done) SmartClass v0.1 — project setup with wrangler.toml, D1/R2 bindings, Hono worker entry. D1 schema migrations (users, exercises, answer_schemas, submissions, lectures). Auth: phone+password login/register, JWT middleware. React Router, login/register pages. Deployed via Cloudflare Pages + Workers.\n(done) Fixed Logseq weekly report automation timing — runs were triggering at wrong times.\n(done) Added Linear CLI skill for Amp — using schpet/linear-cli.\n(done) Learned how to query Logseq blocks — figured out pattern ((uuid)), just grep it, no complex tool …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1b1de38c80ab6d69f3f39c36d31e402b","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w11/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w11/","section":"post","summary":"Weekly Report — Mar 9 – Mar 13, 2026 (friday mode) Pull Request: #7 and #8\nWork Internal\n(done) Code review MRR PR #812 — completed 4 review rounds on customer identity resolution refactor (DAT-471). Decomposition of itg_mappings__customer_identities into 5 sub-models. Identified critical issues: Zoho-only rows silently dropped by WHERE clause, NULL domain NOT IN semantics, Zendesk fan-out risk. PR merged Mar 10. (PR #812)\n(done) Continue commenting DE-201 (PR Workflow enhancement) — completed review and documentation of CI/CD gaps in internal-aml-project repo. Proposed tiered roadmap: quick wins (PR templates, CODEOWNERS), expanded test coverage, new automation (lineage diff, impact analysis). (Notion)\n","tags":["page"],"title":"Weekly Report - 2026-W11","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Mar 16 – Mar 22, 2026 (friday mode) Work Internal DONE Migrate Census to Fivetran — Completed migration of reverse-ETL syncs (BigQuery → HubSpot) from Census to Fivetran Activations before the April 1 deadline. Two syncs migrated: dim_contacts → HubSpot Contact and fct_customer_stats → HubSpot Company. Validated MAR stays within free tier limits (~1,215 records/month vs 3,500 limit). Follow-up noted for next week: check Census usage estimate to confirm free tier eligibility. Slack · Notion DONE Review monitoring dashboard DE-187 — Reviewed PR #60: “Add subscription monitoring dataset and dashboard for customer identity tracking” (merged). DONE Check #data-ops-bot on viz_settings from PR #842 — Fixed duplicate snapshot names for viz_settings (PR merged Mar 17). Slack DONE Continue commenting the project DE-201 (PR Workflow enhancement) — Finished laying comments on the PR Workflow spec. Focus was on things needed during PR preview to facilitate reviewing; anything that doesn’t help confidence in approving a PR is out of scope. Notion DONE 1-on-1 meeting with manager (anh Triet) — Key concerns discussed: (1) integrating AI into the data team’s development experience, (2) current data infra/pipeline complexity and trust issues, (3) PR Workflow adoption. Wrote up 1-on-1 report. DONE Understand the MRR data flow — Clarified that the revenue planning logic is produced from DTS100 and DTS106. Confirmed it is adequate to reproduce these sheets inside Holistics, but will temporarily defer in favor of adding a sales motion dimension first. Next step: ingest Calendly data into the warehouse. Slack · Linear DAT-560 IN-PROGRESS Check failed dbt tests \u0026amp; create Linear issues — DAT-554 fixed (Elementary dbt test n_records column missing, PR #841). DAT-555 still open: fct_job_queue_performance model is stale and likely to be removed; mart_product__dataset_datamodel_dimensions also under review. Several skipped downstream models identified: itg_customer_support__organizations, mart_customer_support__organizations, mart_product__activities, and others. IN-PROGRESS Think about applying AI into resolving #data-ops-bot issues — Drafted an approach: pick a task → resolve manually → write detailed guide → let agent attempt → iterate. Then materialize as a reusable skill. Delegation strategy: routine dbt test fixes can go to juniors (Thuan) or agents. Notion RFC TODO Prepare for phase 2 MRR problem — Upcoming. First step: ingest Calendly data. TODO Ingest Calendly data — New task, supports the MRR analysis. TODO Think about how a normal data team would adopt a BI chatbot — Exploring candidates (e.g., nao). Presales DONE Onboarding call with Showbie — Completed Mar 13. DONE Debrief the last call with Showbie — Key learnings: try out Calculation Builder for immediate use in calls; identified need to improve call quality by studying past calls led by Huy/Vincent. Slack · ReadAI DONE Showbie use case — embedded dashboard QA — Scoped requirements: Showbie PM needs a staging/approval workflow for embedded dashboards. Discussed with team (anh Tai / Huy) and decided on the approach: PM previews via Development → Embed Portal link; dashboard changes on a branch reflect in the embed preview without needing a second tenant (saves ~50% cost). Solution documented and shared. Slack discussion · Slack output TODO Onboarding call 3 with Basata — Scheduled. Slack Duty Support TODO Support Sasha mybacs — New support request. Personal / Tooling DONE Smartclass v0.2.4 release — Fixed 6 bugs from code review: non-contiguous question ID validation, missing FK cascades, non-atomic exercise writes, test isolation (isolatedStorage: true), R2 stream consumption, and schema docs. (Release) DONE Add shadcn/ui skills — Integrated shadcn/ui skill from the official repo into the agent-skills system. Synced remote skill files and created symlink. (PR #13) DONE Add 1-on-1 automation report in Logseq — Set up the 1on1-report.sh automation for generating retrospective reports from Logseq notes. IN-PROGRESS Complete Brazilian dashboard on Metabase for Yen — Dash 1 (Sales Overview) done; Dash 2 (Shipping Overview) and demo video still TODO. Learning \u0026amp; Notes Risk-based testing in dbt — Read Vinted Engineering article on tagging dbt models with high/low risk and frequency, then running tests selectively based on those tags. Claude Skill Building Guide — Read Anthropic’s guide. Key takeaway: skill description should cover what it does, when to use, when not to use. AI and labor — Reflected on the Oxygen Not Included DLC analogy: bionic dupes (robots) consume less oxygen and survive harsh environments but require lots of power. Like AI in our era — not ideal for early/simple work, but excellent for extending reach. When AI handles its strengths well, humans should double down on theirs. 1-on-1 meetings — Read notes from The Manager’s Path: 1-on-1s are a chance to nurture the team/organization’s human resource. Work ownership — “Làm việc bằng cái tâm” — …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"14a103603ebbf48c2844b8360357bf36","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w12/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w12/","section":"post","summary":"Weekly Report — Mar 16 – Mar 22, 2026 (friday mode) Work Internal DONE Migrate Census to Fivetran — Completed migration of reverse-ETL syncs (BigQuery → HubSpot) from Census to Fivetran Activations before the April 1 deadline. Two syncs migrated: dim_contacts → HubSpot Contact and fct_customer_stats → HubSpot Company. Validated MAR stays within free tier limits (~1,215 records/month vs 3,500 limit). Follow-up noted for next week: check Census usage estimate to confirm free tier eligibility. Slack · Notion DONE Review monitoring dashboard DE-187 — Reviewed PR #60: “Add subscription monitoring dataset and dashboard for customer identity tracking” (merged). DONE Check #data-ops-bot on viz_settings from PR #842 — Fixed duplicate snapshot names for viz_settings (PR merged Mar 17). Slack DONE Continue commenting the project DE-201 (PR Workflow enhancement) — Finished laying comments on the PR Workflow spec. Focus was on things needed during PR preview to facilitate reviewing; anything that doesn’t help confidence in approving a PR is out of scope. Notion DONE 1-on-1 meeting with manager (anh Triet) — Key concerns discussed: (1) integrating AI into the data team’s development experience, (2) current data infra/pipeline complexity and trust issues, (3) PR Workflow adoption. Wrote up 1-on-1 report. DONE Understand the MRR data flow — Clarified that the revenue planning logic is produced from DTS100 and DTS106. Confirmed it is adequate to reproduce these sheets inside Holistics, but will temporarily defer in favor of adding a sales motion dimension first. Next step: ingest Calendly data into the warehouse. Slack · Linear DAT-560 IN-PROGRESS Check failed dbt tests \u0026 create Linear issues — DAT-554 fixed (Elementary dbt test n_records column missing, PR #841). DAT-555 still open: fct_job_queue_performance model is stale and likely to be removed; mart_product__dataset_datamodel_dimensions also under review. Several skipped downstream models identified: itg_customer_support__organizations, mart_customer_support__organizations, mart_product__activities, and others. IN-PROGRESS Think about applying AI into resolving #data-ops-bot issues — Drafted an approach: pick a task → resolve manually → write detailed guide → let agent attempt → iterate. Then materialize as a reusable skill. Delegation strategy: routine dbt test fixes can go to juniors (Thuan) or agents. Notion RFC TODO Prepare for phase 2 MRR problem — Upcoming. First step: ingest Calendly data. TODO Ingest Calendly data — New task, supports the MRR analysis. TODO Think about how a normal data team would adopt a BI chatbot — Exploring candidates (e.g., nao). Presales DONE Onboarding call with Showbie — Completed Mar 13. DONE Debrief the last call with Showbie — Key learnings: try out Calculation Builder for immediate use in calls; identified need to improve call quality by studying past calls led by Huy/Vincent. Slack · ReadAI DONE Showbie use case — embedded dashboard QA — Scoped requirements: Showbie PM needs a staging/approval workflow for embedded dashboards. Discussed with team (anh Tai / Huy) and decided on the approach: PM previews via Development → Embed Portal link; dashboard changes on a branch reflect in the embed preview without needing a second tenant (saves ~50% cost). Solution documented and shared. Slack discussion · Slack output TODO Onboarding call 3 with Basata — Scheduled. Slack Duty Support TODO Support Sasha mybacs — New support request. Personal / Tooling DONE Smartclass v0.2.4 release — Fixed 6 bugs from code review: non-contiguous question ID validation, missing FK cascades, non-atomic exercise writes, test isolation (isolatedStorage: true), R2 stream consumption, and schema docs. (Release) DONE Add shadcn/ui skills — Integrated shadcn/ui skill from the official repo into the agent-skills system. Synced remote skill files and created symlink. (PR #13) DONE Add 1-on-1 automation report in Logseq — Set up the 1on1-report.sh automation for generating retrospective reports from Logseq notes. IN-PROGRESS Complete Brazilian dashboard on Metabase for Yen — Dash 1 (Sales Overview) done; Dash 2 (Shipping Overview) and demo video still TODO. Learning \u0026 Notes Risk-based testing in dbt — Read Vinted Engineering article on tagging dbt models with high/low risk and frequency, then running tests selectively based on those tags. Claude Skill Building Guide — Read Anthropic’s guide. Key takeaway: skill description should cover what it does, when to use, when not to use. AI and labor — Reflected on the Oxygen Not Included DLC analogy: bionic dupes (robots) consume less oxygen and survive harsh environments but require lots of power. Like AI in our era — not ideal for early/simple work, but excellent for extending reach. When AI handles its strengths well, humans should double down on theirs. 1-on-1 meetings — Read notes from The Manager’s Path: 1-on-1s are a chance to nurture the team/organization’s human resource. Work ownership — “Làm việc bằng cái tâm” — treating company work as your own leads to better responsibility, empathy, and quality in everything. Presales self-reflection — Calls are not yet at expected quality. Plan: replay past calls led by Huy/Vincent, pause at prospect questions, answer first, then watch how they handled it, and take learning points. Next Week P1 Onboarding call 3 with Basata — Presales, scheduled. P1 Support Sasha mybacs — Duty Support, new request. P2 Ingest Calendly data — Internal, prerequisite for phase 2 MRR analysis. P2 Prepare for phase 2 MRR problem — Internal, depends on Calendly ingestion. P2 Review and make a plan for MRR lead funnel / sales motion dimension — Internal, carry-over. P2 Check back Census usage estimate (free tier confirmation) — Internal, noted for Mar 26. P2 DAT-555 resolution — Internal, carry-over. Decide whether to remove fct_job_queue_performance and write Notion doc for team review. P2 Fix excluding internal testing Zoho accounts — Internal, backlog item (DAT-524). P2 Document Medenterprises performance use case — Duty Support, backlog (was due Feb 5). P2 Brazilian dashboard Dash 2 + demo video for Yen — Teaching, carry-over. P3 Search for a YouTube summarizer tool — Personal, backlog. Career \u0026 Personal Consulting High output on infrastructure and process work: Census migration, PR #842 fix, dbt test triage, PR Workflow comments, and 1-on-1 report automation — all completed this week. This is solid foundational work, but it’s predominantly maintenance/infra. The MRR analysis (the higher-leverage, revenue-impacting project) progressed only on understanding the data flow. Next week, carve out focused time for the Calendly ingestion and phase 2 planning. Presales is growing: You handled the Showbie embedded dashboard QA use case end-to-end — from scoping requirements to discussing with the team and arriving at a cost-effective solution. That’s a full presales cycle for a technical use case. Keep building this muscle. Delegation thinking is maturing: The AI-for-data-ops-bot idea and the explicit framework (pick task → resolve → document → let agent/junior try → iterate) shows good leadership instinct. Follow through by picking one DAT issue next week and running the first cycle with Thuan or an agent skill. Self-awareness on call quality: Identifying that your presales calls aren’t at expected quality and devising a concrete practice plan (replay + pause + compare) is a strong move. Prioritize doing this for at least one past call before the Basata onboarding. Context switches remain high: This week touched Internal, Presales, Duty Support, Personal, Teaching, and Smartclass. The 1-on-1 with anh Triet also surfaced concerns about pipeline complexity and PR Workflow adoption — both requiring sustained attention. Consider limiting to 2–3 project contexts per day next week. ","tags":["page"],"title":"Weekly Report - 2026-W12","type":"post"},{"authors":null,"categories":null,"content":" Weekly Report — Mar 23 – Mar 28, 2026 (friday mode) Work Internal DONE Investigate failed dbt assets in #data-ops-bot (DAT-569)\nTriggered by bot alert in #data-ops-bot: 4 not-null tests failing (24 + 9 null rows across mart_event__drill_down and mart_event__view_underlying_data). Root cause: dbt Mart Snowplow Events job ran before dbt Mart Product (which builds dim_users), causing null tenant/user IDs. Secondary bug: LEFT JOIN to internal_tenants incorrectly passed internal events when user was missing from dim_users. Fix: refactored SQL to pre-extract IDs from Snowplow event properties with coalesce fallback. Wrote Notion investigation doc (DE-207) with debugging guide for juniors. LEARNING The bigquery agent skill often gets trouble mapping logical (dbt) and physical table names (BigQuery). Improvement: use dynamic mapping from INFORMATION_SCHEMA (excluding dev_* in prod). DONE Review Thuan’s work on DE-208 / mart_product__dataset_datamodel_dimensions (PR #845 — OPEN)\nPR: “DAT-567: Fix PARSE_JSON syntax error in mart_product__dataset_datamodel_dimensions”. Still open, 2 rounds of review completed (Gemini code-assist also commented). Parent issue: DAT-555. Notion doc (DE-208): model failed due to regex-based JSON parsing that couldn’t handle special characters. Thuan replaced with JS UDF macro (json_obj_to_arr_header). Code review identified: loss of dictionary keys via Object.values(), inconsistency with sibling models, and excessive type conversions. Changes requested. Impact: low (no downstream dependencies). DONE Guide Thuan to solve DAT-567 — mentored in person on dbt debugging process (check Prefect logs → run CTEs step-by-step → find root cause → propose solutions). Collected his thought process for documentation.\nDONE Revise phase 2 of MRR problem — discussed with Hieu. After PR #812 — MERGED, problem 2.1 (missing holistics region) is fixed. Remaining: static exchange rate (1.1/1.2), domain mapping (2.2), duplicated companies (2.3). Next step: align with growth team (Quinn, Arden) on the Customer Identity Monitoring dashboard. Data alignment doc shared with RevOps to reconcile issues loaded into the warehouse.\nDONE Review what Hieu wrote, help him communicate with growth team (2 items: dashboard alignment + currency exchange rate). After call with Quinn, agreed solution: bi.h will adopt Zoho exchange rate table (with effective date ranges) to align MRR calculations. Exchange rate is customer-grain, determined by plan version (e.g., v8d, v8g). Edge cases identified: dunned customers keep old rate, custom plan switches inherit existing rate. Waiting for Hieu to complete the exchange rate document for review.\nDONE Create a new GitHub account for work (chinh-dm-holistics) per company request. Next: update Logseq automation to switch between credentials.\nDONE Check back Census usage estimate to use free tier — confirmed via Fivetran billing dashboard.\nDONE Check BigQuery’s dataframes-dbt — evaluated for potential adoption.\nDONE Ask squad modeling why user 112390 does not exist (Slack thread) — answer from Dat Bui: shareable link and embed link pseudo users are hard-deleted when their respective links are deleted. Khanh confirmed external users remain permanently (no cleanup mechanism). Audit log not affected as long as data is in activities table, but Dat and Triet noted current tracking may not be enough — need to add tracking for creation/deletion of shareable and embed links.\nTODO Create an agent skill for fixing data pipelines (dbt) for #data-ops-bot — planned, not started. Partially informed by DAT-569 investigation.\nTODO Calendly data pipeline (DE-162 / DAT-283) — ongoing. Currently only demo/onboarding calls are ingested, but not 1-1, case study, customer success calls (50+ event types in total). Assessed that Calendly and ReadAI/Clari are complementary (Calendly = scheduling/booking metadata for attribution; ReadAI = call recordings for quality). Growth team needs this for sales rep performance tracking and lead categorization (call-first vs trial-first). Pending: standardize source pipeline and build unified dbt models.\nNOTE New backlog item: Visualize schedule of all data lineage (airbyte, data import, prefect sync, dbt table-level, census/fivetran activations). Tried Google Stitch, not ideal.\nPresales DONE Onboarding call 3 with Basata — shared Date Drill use case, reported Auto Mapping Filter issue, prepared embedded dashboards document for customers.\nDONE Share the embedded dashboards document for different customers — Huy asked in #presales-sa to work out a sample embed tutorial. Created Excalidraw diagram, built a vibe-coded demo app, and delivered Notion guide. Implementation: Basata serves 34+ medical practices needing multi-tenant analytics. Key decisions: workflow-based portals (not per-customer), RLP via organization_slug user attribute, single JWT payload switching between portals. HTTPS required for local dev (CSP frame-ancestors blocks HTTP origins). Shared demo repo: …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ffc1066a6f8bd9479ad0d4d591dd11cb","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w13/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w13/","section":"post","summary":" Weekly Report — Mar 23 – Mar 28, 2026 (friday mode) Work Internal DONE Investigate failed dbt assets in #data-ops-bot (DAT-569)\nTriggered by bot alert in #data-ops-bot: 4 not-null tests failing (24 + 9 null rows across mart_event__drill_down and mart_event__view_underlying_data). Root cause: dbt Mart Snowplow Events job ran before dbt Mart Product (which builds dim_users), causing null tenant/user IDs. Secondary bug: LEFT JOIN to internal_tenants incorrectly passed internal events when user was missing from dim_users. Fix: refactored SQL to pre-extract IDs from Snowplow event properties with coalesce fallback. Wrote Notion investigation doc (DE-207) with debugging guide for juniors. LEARNING The bigquery agent skill often gets trouble mapping logical (dbt) and physical table names (BigQuery). Improvement: use dynamic mapping from INFORMATION_SCHEMA (excluding dev_* in prod). DONE Review Thuan’s work on DE-208 / mart_product__dataset_datamodel_dimensions (PR #845 — OPEN)\n","tags":["page"],"title":"Weekly Report - 2026-W13","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Mar 30 – Apr 5, 2026 (friday mode) Work Add2Cart DONE Eliminate bridge table (bridge_product_retailer) from Redshift pipeline and Holistics AML layer Completed all 5 phases of the migration plan (Slack thread): Phase 0: Snapshot baseline tables (_migration_baseline, _bridge_backup) created on Redshift. Phase 1: Added retailer_id + retailer_current_pricing_skey columns to atc_price_history, backfilled ~27M rows (75.7% coverage). Known gap: 8,713 keys from Chemist Discount Center slug mismatch — documented. Phase 2: Deployed 5 updated SPs (sp_refresh_daily_prices, sp_refresh_atc_price_history_enrich, sp_run_all, sp_refresh_price_history_from_s3, sp_validate). Ran sp_run_all() — enriched table validated at 12.1M rows, join path works without bridge. Phase 3: 7 commits on feat/eliminate-bridge-aml — removed bridge from all 4 datasets + market_price_rank model, added direct rcp_skey relationships, deleted agg_retailer_product_price model. Pushed to Holistics, dashboards verified. Phase 4 (soak): Monitored dashboards end-to-end through bridgeless path — no issues. Phase 5 (cleanup): Dropped bridge/agg tables + SPs, deleted bridge AML model, cleaned up migration artifacts. PR #2 merged. Shared completion summary with Anurag in Slack. Bridge kept as _bridge_product_retailer_backup (frozen, 222K rows) for reference. Remaining data quality items (near-miss slugs, missing retailers, history-only) handed off to Anurag. Impact: Simplified join path from master_product → retailer_current_pricing → bridge → atc_price_history to master_product → retailer_current_pricing → atc_price_history (one fewer hop), improving query performance. WAITING Guidance for countries-level data ingestion (Notion D4 doc) Investigated multi-country retailer ingestion from 6 RDS databases (airbyte_schema_*). Found critical price_history_skey collision: 2,774 keys collide across countries (39,710 rows), mainly Watsons across SG/ID/MY. Decision: Holistics will not implement the ingestion. Created D4 guidance document with two approaches evaluated: (1) Dynamic Schema (separate Redshift schemas per country, switch via User Attributes) — recommended for Add2Cart; (2) Consolidated Schema (UNION ALL + RLP). Added Mermaid diagrams, comparison table, collision detection SQL, SP impact matrix, and AML examples. Feedback: initial version was too detailed on implementation. Rewrote to lead with “what needs to be done” and high-level approaches first. Waiting for anh Huy to review. Aligned with Anurag on Slack: he ingested retailers for all countries into Redshift. Presales DONE Study Jonas Chorum onboarding call 1 (Notion prep note) Hotel PMS company (~1,000 properties), non-multi-tenant (each customer = separate DB on self-hosted SQL Server). Key use cases: natural language querying over reservations, embedded analytics as paid add-on, dynamic data source for per-hotel routing. Answered tunnel/bastion server question in Slack — they ran Windows script instead of Linux, connection error escalated to support team (Tien). anh Huy led the call, I sat aside to assist. Decision from team review: known limitation on cross-database aggregation, need to clarify further with customer. DONE Refactor Erin (Showbie) dashboard — Chukwudi had a fever, asked for help via Slack to refactor from query models to decoupled AQL metrics. Huddled with anh Dong, then handed over to him for the call. DONE Onboarding call 2 with Basata (Taha) (ReadAI transcript, Slack debrief) Good sentiment with Taha. Key feedback: creating single dashboard + embed portal flow isn’t seamless, needs to be easier to understand. Question: “any best practices to make the embedded dataset easier for business users to use?” — introduced Custom View feature. Embed Portal vs Single Dashboard distinction remains a point of confusion. Embed portal tutorial already delivered: Notion guide, shared in #presales-sa Slack. Taha’s backend colleague to begin portal embedding. TODO Onboarding call 1 with Jonas Chorum — vibe-coding a dynamic data source demo. Built POC showing data_source_name in AML routing per-hotel queries via JWT user attributes. Limitation identified: cross-database aggregation (50-60 DBs) requires a data mart. Moved to Apr 6. TODO Polish embedding documentation — formalized as P2 backlog item. Will ask anh Tai and anh Huy next week to clarify scope and whether to own this. Friction observed across Showbie, Superbexperience, Basata, and Jonas Chorum. NOTE Presales capacity: anh Huy is deliberately stepping back from leading calls, delegating to team (me, anh Dong, Chukwudi, Mario) to build team capacity. The expectation is thorough preparation before every call. NOTE Presales load continues to increase: Jonas Chorum, Showbie, Basata active this week. The embedding use case is becoming the dominant pattern — 4 of last 5 customers need embedded analytics. Internal DONE Thuan’s PR #845 (DE-208 / mart_product__dataset_datamodel_dimensions) — MERGED. Fix for PARSE_JSON syntax error. …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b1c4b31186a229d6e7e0f678dc48e4f7","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w14/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w14/","section":"post","summary":"Weekly Report — Mar 30 – Apr 5, 2026 (friday mode) Work Add2Cart DONE Eliminate bridge table (bridge_product_retailer) from Redshift pipeline and Holistics AML layer Completed all 5 phases of the migration plan (Slack thread): Phase 0: Snapshot baseline tables (_migration_baseline, _bridge_backup) created on Redshift. Phase 1: Added retailer_id + retailer_current_pricing_skey columns to atc_price_history, backfilled ~27M rows (75.7% coverage). Known gap: 8,713 keys from Chemist Discount Center slug mismatch — documented. Phase 2: Deployed 5 updated SPs (sp_refresh_daily_prices, sp_refresh_atc_price_history_enrich, sp_run_all, sp_refresh_price_history_from_s3, sp_validate). Ran sp_run_all() — enriched table validated at 12.1M rows, join path works without bridge. Phase 3: 7 commits on feat/eliminate-bridge-aml — removed bridge from all 4 datasets + market_price_rank model, added direct rcp_skey relationships, deleted agg_retailer_product_price model. Pushed to Holistics, dashboards verified. Phase 4 (soak): Monitored dashboards end-to-end through bridgeless path — no issues. Phase 5 (cleanup): Dropped bridge/agg tables + SPs, deleted bridge AML model, cleaned up migration artifacts. PR #2 merged. Shared completion summary with Anurag in Slack. Bridge kept as _bridge_product_retailer_backup (frozen, 222K rows) for reference. Remaining data quality items (near-miss slugs, missing retailers, history-only) handed off to Anurag. Impact: Simplified join path from master_product → retailer_current_pricing → bridge → atc_price_history to master_product → retailer_current_pricing → atc_price_history (one fewer hop), improving query performance. WAITING Guidance for countries-level data ingestion (Notion D4 doc) Investigated multi-country retailer ingestion from 6 RDS databases (airbyte_schema_*). Found critical price_history_skey collision: 2,774 keys collide across countries (39,710 rows), mainly Watsons across SG/ID/MY. Decision: Holistics will not implement the ingestion. Created D4 guidance document with two approaches evaluated: (1) Dynamic Schema (separate Redshift schemas per country, switch via User Attributes) — recommended for Add2Cart; (2) Consolidated Schema (UNION ALL + RLP). Added Mermaid diagrams, comparison table, collision detection SQL, SP impact matrix, and AML examples. Feedback: initial version was too detailed on implementation. Rewrote to lead with “what needs to be done” and high-level approaches first. Waiting for anh Huy to review. Aligned with Anurag on Slack: he ingested retailers for all countries into Redshift. Presales DONE Study Jonas Chorum onboarding call 1 (Notion prep note) Hotel PMS company (~1,000 properties), non-multi-tenant (each customer = separate DB on self-hosted SQL Server). Key use cases: natural language querying over reservations, embedded analytics as paid add-on, dynamic data source for per-hotel routing. Answered tunnel/bastion server question in Slack — they ran Windows script instead of Linux, connection error escalated to support team (Tien). anh Huy led the call, I sat aside to assist. Decision from team review: known limitation on cross-database aggregation, need to clarify further with customer. DONE Refactor Erin (Showbie) dashboard — Chukwudi had a fever, asked for help via Slack to refactor from query models to decoupled AQL metrics. Huddled with anh Dong, then handed over to him for the call. DONE Onboarding call 2 with Basata (Taha) (ReadAI transcript, Slack debrief) Good sentiment with Taha. Key feedback: creating single dashboard + embed portal flow isn’t seamless, needs to be easier to understand. Question: “any best practices to make the embedded dataset easier for business users to use?” — introduced Custom View feature. Embed Portal vs Single Dashboard distinction remains a point of confusion. Embed portal tutorial already delivered: Notion guide, shared in #presales-sa Slack. Taha’s backend colleague to begin portal embedding. TODO Onboarding call 1 with Jonas Chorum — vibe-coding a dynamic data source demo. Built POC showing data_source_name in AML routing per-hotel queries via JWT user attributes. Limitation identified: cross-database aggregation (50-60 DBs) requires a data mart. Moved to Apr 6. TODO Polish embedding documentation — formalized as P2 backlog item. Will ask anh Tai and anh Huy next week to clarify scope and whether to own this. Friction observed across Showbie, Superbexperience, Basata, and Jonas Chorum. NOTE Presales capacity: anh Huy is deliberately stepping back from leading calls, delegating to team (me, anh Dong, Chukwudi, Mario) to build team capacity. The expectation is thorough preparation before every call. NOTE Presales load continues to increase: Jonas Chorum, Showbie, Basata active this week. The embedding use case is becoming the dominant pattern — 4 of last 5 customers need embedded analytics. Internal DONE Thuan’s PR #845 (DE-208 / mart_product__dataset_datamodel_dimensions) — MERGED. Fix for PARSE_JSON syntax error. All CI checks passed after review rounds in W13. DONE Review DE-206 for anh Hieu — exchange rate document review completed. Notion doc and Slack thread. DONE Visualize schedule of all data lineage (Notion: Data Pipelines Schedules) Created full Mermaid flowchart of the entire pipeline: Extract \u0026 Load (21:30–23:55 VNT) → Domain Transforms (00:20–00:55) → Mart Transforms (00:15–01:35) → Post-Transform (01:35–08:00). Mapped all cron schedules from prefect.yaml, dbt model dependencies via ref() calls, and Airbyte sync frequencies. Key finding: mart_event depends on mart_product (specifically mart_product__users and mart_product__dashboard_widgets), but runs weekly on Monday 00:15 before the daily product mart at 01:10. Safe because mart_event doesn’t use the + prefix (reads existing BigQuery data, no upstream rebuild). DONE Check Zendesk tenant Inovonics (DAT-571) Investigated why tenant US-1099511640417 wasn’t mapped to Zendesk org in analytics. Traced through itg_mappings__zendesk_tenant → HubSpot domain mapping → Zendesk organizations table. Root cause: Airbyte Zendesk source connector (source-zendesk-support:0.2.6) has a pagination bug capping ingestion at 10,000 records. The raw organizations table had exactly 10,000 rows; 680 of 911 org IDs in tickets were missing. Recommendation: Upgrade Airbyte Zendesk connector to fix pagination. DONE Add CI to validate Holistics AML project (PR #67 — MERGED) Triggered by a silent semantic conflict: PR #63 (Hieu) added a dashboard depending on domain_hubspot_companies, and PR #64 (Thuan) deleted that model. Git didn’t flag it because they touched different files. Implemented GitHub Actions workflow using Holistics Validation API to validate AML syntax and references on every push. DONE Attended Product Office Hours P1 and P2 (Notion newsletter) Noted: AI theme builder tool at holistics.h-theme-builder.pages.dev/theme-builder — will try with more prospects. New dataset exploration UI looks promising. Data team should contribute to Holistics skills and internal-skills repos. TODO Create agent skill for fixing dbt data pipelines for #data-ops-bot — carry-over from W13, not started. TODO Fix excluding internal testing Zoho accounts (DAT-524) — carry-over since W7, not started. TODO Calendly data pipeline (DAT-283) — carry-over, not started. Docs TODO Polish embedding documentation — increasing embedding leads make this urgent. Same item tracked under Presales. WAITING Add demo video for local development docs — waiting for team to trigger. Logseq DONE Add project glossary (PR #13) — created canonical project list in pages/Projects.md. DONE Improve backlog structure and automation query pre-processing (PR #12). Personal / Tooling DONE Changed to a more professional work avatar. DONE Edit video last Hue Trip — completed on Saturday. DONE Sao kê (personal finance task). DONE Settled on mochi.cards as Flashcard app for learning English words. Installed Annotate — free on-screen annotation tool for customer demos and screen recordings. Lightweight alternative to paid tools. Discovered Pebble Index 01 — smart ring for quick voice notes. Interesting for capturing ideas on the go. Found Vietnam Real Estate Dataset on HuggingFace — potential hobby data analysis project. Note: Logseq automation is compounding — helps retain historical context across projects, improving performance in sync calls and connecting dots. The second reason for feeling productive this week. Learning \u0026 Notes Watched How to Present a MIND-BLOWING Software Demo — key takeaways: recap slides (fact → problems → criteria → new findings), speak customer’s language (airline = passengers, SaaS = users), confirm what they care about before demo, use cases \u003e features, have an assist person, send personalized recap to each audience member. Applied learning to Jonas Chorum call prep. Read How to teach technical concepts with cartoons by Julia Evans — guide on visual teaching. Potential application for Kindle Scribe. Follow-up from W13 recommended resource on “implementation challenges.” Read Details aren’t the problem. The problem is too many of the wrong details by Wes Kao — levels of detail in communication. Completed from W13 recommended resources backlog. LEARNING Single-tenant vs Multi-tenant architecture patterns — relevant context for Jonas Chorum (single-tenant: infra duplicated per tenant) vs most other customers (multi-tenant: shared infra, logical isolation). Understanding this distinction is critical for presales scoping. LEARNING Country names follow a people + land pattern: Iceland, Greenland, England, Switzerland, Finland, Kazakhstan, Uzbekistan (stan = land). NOTE Good observation from anh Huy: “If I just stay in the call, everyone can’t improve. The only thing that makes sense now is to force the team to prepare very well before the call.” Leadership by stepping back. NOTE Increase Calendly pipeline task to top priority next week — noted on Thu. Next Week P1 — Add2Cart: Project retro with anh Dong — review the full bridge elimination + countries guidance work. P1 — Presales: Onboarding call 1 with Jonas Chorum — finalize dynamic data source demo, address cross-database aggregation limitation. P1 — Internal: Calendly data pipeline (DAT-283) — elevated to P1 per Thu note. Standardize source pipeline and build unified dbt models. P2 — Internal: Create agent skill for fixing dbt data pipelines in #data-ops-bot — carry-over from W13. P2 — Internal: Fix excluding internal testing Zoho accounts (DAT-524) — lingering since W7. Timebox 2h or explicitly deprioritize. P2 — Internal: Follow up on DAT-571 (Zendesk Airbyte connector upgrade) — ensure pagination fix is scheduled. P2 — Docs: Polish embedding documentation — ask anh Tai and anh Huy to clarify scope. Write step-by-step embed portal setup guide. P2 — Add2Cart: Get anh Huy’s review on the D4 countries guidance document. P3 — Presales: Read Modeling Patterns docs. P3 — Personal: Self reflection and update CV. Career \u0026 Personal Consulting Progress Review (Start/Stop/Keep):\n","tags":["page"],"title":"Weekly Report - 2026-W14","type":"post"},{"authors":null,"categories":null,"content":" Weekly Report — Apr 6 – Apr 12, 2026 (friday mode) Work Internal DONE Fix failed dbt tests — snowplow events (DAT-569)\nBoth PRs merged and deployed: dbt #848 and prefect #393. Ran backfill and snowplow pipeline — all runs successful. Confirmed via Prefect flow runs (snowplow, backfill). DONE Check Zendesk — Tenant Inovonics (DAT-571)\nTriggered by Vincent’s Slack message: Zendesk Customer Support dashboard showed 0 for Inovonics. Traced full lineage from fct_zendesk_tickets → itg_mappings__zendesk_tenant → stg_zendesk__organizations → _airbyte_raw_organizations and found org 13430326317849 missing entirely. Root cause: Airbyte Zendesk connector v0.2.6 uses offset-based pagination capped at 10K records by Zendesk API. Raw table had exactly 10,000 rows; 680 of 911 org IDs in tickets were missing. Entire downstream lineage from staging to mart was broken. Wrote upgrade plan evaluating 3 options: (1) Upgrade Airbyte platform v0.35 → v2.0 (fixes root cause for all connectors, but high DevOps effort + risk to HubSpot syncs during migration), (2) Rebuild in Prefect (data-team-only, orgs-only ≈ 2–3 days), (3) Use Fivetran (managed SaaS, ≈ 2–3 days, requires refactoring all stg_zendesk__*.sql models). Waiting for review. Interim fix applied: manually upgraded connector in Airbyte UI to v2.6.6. Vincent confirmed dashboard now shows data. Long-term Airbyte upgrade tracked as a Linear project. WAITING DAT-555 — Fix fct_job_queue_performance BigQuery resource limit (DAT-565)\nParent issue: Investigate dbt Mart Product flow failures — 3 sub-issues: DAT-567 (PARSE_JSON, done), DAT-566 (uniqueness test, analyzing), DAT-565 (resource limit, PR reviewing). Decision (discussed with anh Triet): keep the model at minute-level granularity for DevOps debug tracing. Originally planned to remove it, but DevOps needs it for job queue overload diagnosis. The in-app Job Monitoring dashboard is not a full replacement since it lacks historical minute-level data. Root cause: the model performs a CROSS JOIN between a minute-level timespine and jobs table. _dbt_max_partition was 6 months behind (2025-10-08), causing unbounded lookback on incremental runs — consuming 5.7M CPU seconds vs 724K limit. Fix: cap incremental lookback to 7 days using greatest() + coalesce() on _dbt_max_partition. Added _loaded_at column to distinguish current-run data from historical partitions (needed because insert_overwrite leaves old partitions untouched). Added singular test assert_job_queue_performance_lookback_within_7_days.sql. PRs open and awaiting review: dbt #854 (cap lookback, gemini-code-assist reviewed with feedback on NULL handling — addressed) and internal-aml-project #69 (remove downstream AML dataset/models, gemini approved). Notion doc: DE-212. Backfill plan: ~26 weekly chunks once PR is merged. Dashboard cleanup: delete [WIP] Job Queue Performace 3.0, keep Job Queue Performance Estimation (v2) for DevOps tracing, review Report Job Queue Performance Monitoring with DevOps for potential redundancy. WAITING Calendly data pipeline (DAT-283 — “Sync all calls from Calendly”)\nLinear scope: currently only demo/onboarding calls ingested; need all 50+ event types (training, customer success, case study, etc.) for growth team’s sales rep performance tracking and Lead Funnel enrichment. Major progress this week: defined full source schema from Calendly OpenAPI spec (42 API paths, 49 schemas). Narrowed to 7 tables present in BigQuery src_calendly: users, event_type, event, event_membership, event_invitee, event_guest, question_and_answer. Published ERD on dbdiagram. Schema design decisions: flattened nested API objects (UTM params, location) into columns; broke arrays into separate relational tables; included Fivetran metadata columns for lineage and soft-delete handling; all PKs follow Calendly URI pattern. Set up Fivetran as interim ingestion tool (bypassing broken Zapier → Google Sheets path that only had 400 of 4,438 events). Data now syncing to src_calendly in BigQuery. Wrote full 6-phase dbt modeling plan: (1) source definition + seed mapping for event type categories (Sales/Retention/Solo/Internal/Marketing), (2) staging layer (3 views: events, invitees, hosts), (3) domain layer (2 tables: consolidated events at event-invitee grain, normalized Q\u0026amp;A), (4) mart layer (fct_calendly_events), (5) fix downstream fct_sales_leads join (replace broken event_uuid + src_gsheets with dom_calendly__events on invitee_email_domain), (6) deprecate 5 legacy models. PR open: dbt #853 — review required, awaiting anh Dong. LEARNING: when doing data pipeline ingestion, always find an OpenAPI spec for source schema reference. Critical for tracking API changes. DONE Review Usage Monitoring dashboard\nAnh Hieu asked to review his AML changes on us.holistics.io: added tenant model, cleaned dataset (1st commit), updated filters on dashboards (2nd commit). Discussed in person, completed Apr 8. TODO Lead Funnel by Sales Motion (DAT-560)\nLinear scope: add sales_motion dimension …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a70e9bbc82fffe3a7d903d522da12a02","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w15/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w15/","section":"post","summary":" Weekly Report — Apr 6 – Apr 12, 2026 (friday mode) Work Internal DONE Fix failed dbt tests — snowplow events (DAT-569)\nBoth PRs merged and deployed: dbt #848 and prefect #393. Ran backfill and snowplow pipeline — all runs successful. Confirmed via Prefect flow runs (snowplow, backfill). DONE Check Zendesk — Tenant Inovonics (DAT-571)\nTriggered by Vincent’s Slack message: Zendesk Customer Support dashboard showed 0 for Inovonics. Traced full lineage from fct_zendesk_tickets → itg_mappings__zendesk_tenant → stg_zendesk__organizations → _airbyte_raw_organizations and found org 13430326317849 missing entirely. Root cause: Airbyte Zendesk connector v0.2.6 uses offset-based pagination capped at 10K records by Zendesk API. Raw table had exactly 10,000 rows; 680 of 911 org IDs in tickets were missing. Entire downstream lineage from staging to mart was broken. Wrote upgrade plan evaluating 3 options: (1) Upgrade Airbyte platform v0.35 → v2.0 (fixes root cause for all connectors, but high DevOps effort + risk to HubSpot syncs during migration), (2) Rebuild in Prefect (data-team-only, orgs-only ≈ 2–3 days), (3) Use Fivetran (managed SaaS, ≈ 2–3 days, requires refactoring all stg_zendesk__*.sql models). Waiting for review. Interim fix applied: manually upgraded connector in Airbyte UI to v2.6.6. Vincent confirmed dashboard now shows data. Long-term Airbyte upgrade tracked as a Linear project. WAITING DAT-555 — Fix fct_job_queue_performance BigQuery resource limit (DAT-565)\n","tags":["page"],"title":"Weekly Report - 2026-W15","type":"post"},{"authors":null,"categories":null,"content":" Weekly Report — Apr 13 – Apr 19, 2026 (friday mode) Work Internal DONE Transfer MRR and exchange rate project with anh Hieu — completed Apr 14 Walked through DE-187. Two main blockers: (1) customer identity resolution — dbt logic refactored but domain mapping remains unreliable; (2) exchange rates — Zoho uses static rates set at plan creation time, finance team pivoting to bi.holistics.io as MRR source of truth. Decision: use USD as reporting currency with live exchange rates (Option 2). Recommendation to move toward period-average constant currency (Option 3) for trend analysis. Created dedicated knowledge page [[[Internal] Customers’ MRR (Exchange Rate)]] with data architecture diagram, ER diagram (dbdiagram.io), 9 identified problems, edge cases (Datacubed multi-tenant, Kognity multi-region, Vector AI domain mismatch), and technical fixes (PR #812, PR #852). Next steps: build dim_exchange_rates table (DAT-576), implement dual metrics (constant_currency_mrr + reported_mrr), implement canonical customer_skey for long-term identity resolution. Related: dbt monitoring flow DE-176 suspended (low priority), impersonation lookup frequency increase (DAT-499) pending. DONE Investigate Zoho Events sync 403 failure (DAT-574) — completed Apr 14 Prefect flow Sync Zoho Events failed Apr 12 with HTTP 403 (Zoho error code 104003) — OAuth token lacked ZohoSubscriptions.events.READ scope after Finance (Vincent, Sriram) adjusted admin permissions for Janice’s account. Root cause: permission/scope issue, not a code bug. Coordinated with Quinn (Growth) who updated read permission. Flow re-ran and backfilled successfully. DONE Write 1-on-1 report — completed Apr 15, PR #16. 1-on-1 meeting held Apr 15. Manager’s priorities for Internal (in order): (1) data quality/reliability — MRR identity + exchange rates; (2) bi.holistics.io cleanup; (3) increase data freshness (e.g., impersonation lookup); (4) product tracking; (5) development workflow. Embed demo app proposal: not the right timing. Mentoring Thuan: ask open questions, force him to think. DONE Fix fct_job_queue_performance BigQuery resource limit (DAT-555) PR dbt #854 approved by marcusle02 and merged Apr 15. Capped incremental lookback to 7 days. PR review done. Backfill completed. Now proceed to clean up BI layer. Dashboard cleanup decision: delete [WIP] Job Queue Performance 3.0 (unused), keep v2 and Report Job Queue Performance Monitoring (migrate to 4.0). Related sub-tasks DAT-567 (delegated to Thuan, done) and DAT-575 also completed. IN-PROGRESS Calendly data pipeline (DAT-283) PR dbt #853 approved by marcusle02 on Apr 17 after multiple review rounds. PR is mergeable, awaiting final merge. Answered all review comments from anh Dong (marcusle02). Key feedback addressed: enable deprecated wrapper models for transition, avoid SELECT * in CTEs, fix tracking_utm_content data type. Re-modeled into fact bookings and dim event, with grain = event × invitee × rep. Lineage analysis completed: 2 domain + 3 redundant mart models consolidated into 1 domain (dom_calendly__events) + 1 mart (fct_calendly_events). Source migrated from Google Sheets to Fivetran. Bug fix: fct_sales_leads was dropping 88% of call-booking leads due to NULL UUIDs in Google Sheets — now joining on invitee_email_domain from Fivetran source. Impacts 10+ downstream dashboards (Leads Analytics, Sales Performance, Deal Activity, etc.). Next: merge PR, run dbt models, validate data in Holistics BI, then fix downstream fct_sales_leads join. DONE Guidance for countries level data (Add2Cart) — closed Apr 17 Add2Cart won’t engage further. Closed task per Slack thread update. TODO Handle multi-currency exchange rates for MRR (DAT-576) — new backlog item from MRR transfer. P2. Scope per Linear: ingest live exchange rates (source TBD: ECB, Google Finance, or Zoho live rates), replace static rate logic in fct_mrr, handle FX noise in historical growth metrics (pin to end-of-month rate), validate against Zoho totals. Notion doc: MRR discrepancy ~30,000 SGD between Zoho (340K SGD) and bi.h (243K USD × 1.28 = 311K SGD). TODO Lead Funnel by Sales Motion (DAT-560) — blocked on Calendly pipeline completion. Carry-over. WAITING Create agent skill for fixing dbt data pipelines in #data-ops-bot — demoted to P3 per anh Triet’s direction to let Thuan handle data-ops-bot for training. Revisit in 3-6 months. BACKLOG Fix excluding internal testing Zoho accounts (DAT-524) — carry-over since W7 (10 weeks). Deprioritized: waiting for more important tasks (MRR exchange rate, Calendly) to be done first. Small task, will pick up later. TODO Review PR Circle CI for anh Dong (DAT-579) — new. PR prefect #397: expand CircleCI test metadata ingestion (success + failed jobs), add branch fallback logic, add 60-day backfill flow. Part of DAT-578 (CircleCI pipeline revamp). Notion: DE-214 — current state uses a bash script → SQLite → report; this PR moves it to Prefect + BigQuery. TODO Review AI sharing dashboard for Aurora — new. Enterprise …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5a047b1f5eacd7380902b6603c477a5f","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w16/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w16/","section":"post","summary":" Weekly Report — Apr 13 – Apr 19, 2026 (friday mode) Work Internal DONE Transfer MRR and exchange rate project with anh Hieu — completed Apr 14 Walked through DE-187. Two main blockers: (1) customer identity resolution — dbt logic refactored but domain mapping remains unreliable; (2) exchange rates — Zoho uses static rates set at plan creation time, finance team pivoting to bi.holistics.io as MRR source of truth. Decision: use USD as reporting currency with live exchange rates (Option 2). Recommendation to move toward period-average constant currency (Option 3) for trend analysis. Created dedicated knowledge page [[[Internal] Customers’ MRR (Exchange Rate)]] with data architecture diagram, ER diagram (dbdiagram.io), 9 identified problems, edge cases (Datacubed multi-tenant, Kognity multi-region, Vector AI domain mismatch), and technical fixes (PR #812, PR #852). Next steps: build dim_exchange_rates table (DAT-576), implement dual metrics (constant_currency_mrr + reported_mrr), implement canonical customer_skey for long-term identity resolution. Related: dbt monitoring flow DE-176 suspended (low priority), impersonation lookup frequency increase (DAT-499) pending. DONE Investigate Zoho Events sync 403 failure (DAT-574) — completed Apr 14 Prefect flow Sync Zoho Events failed Apr 12 with HTTP 403 (Zoho error code 104003) — OAuth token lacked ZohoSubscriptions.events.READ scope after Finance (Vincent, Sriram) adjusted admin permissions for Janice’s account. Root cause: permission/scope issue, not a code bug. Coordinated with Quinn (Growth) who updated read permission. Flow re-ran and backfilled successfully. DONE Write 1-on-1 report — completed Apr 15, PR #16. 1-on-1 meeting held Apr 15. Manager’s priorities for Internal (in order): (1) data quality/reliability — MRR identity + exchange rates; (2) bi.holistics.io cleanup; (3) increase data freshness (e.g., impersonation lookup); (4) product tracking; (5) development workflow. Embed demo app proposal: not the right timing. Mentoring Thuan: ask open questions, force him to think. DONE Fix fct_job_queue_performance BigQuery resource limit (DAT-555) PR dbt #854 approved by marcusle02 and merged Apr 15. Capped incremental lookback to 7 days. PR review done. Backfill completed. Now proceed to clean up BI layer. Dashboard cleanup decision: delete [WIP] Job Queue Performance 3.0 (unused), keep v2 and Report Job Queue Performance Monitoring (migrate to 4.0). Related sub-tasks DAT-567 (delegated to Thuan, done) and DAT-575 also completed. IN-PROGRESS Calendly data pipeline (DAT-283) PR dbt #853 approved by marcusle02 on Apr 17 after multiple review rounds. PR is mergeable, awaiting final merge. Answered all review comments from anh Dong (marcusle02). Key feedback addressed: enable deprecated wrapper models for transition, avoid SELECT * in CTEs, fix tracking_utm_content data type. Re-modeled into fact bookings and dim event, with grain = event × invitee × rep. Lineage analysis completed: 2 domain + 3 redundant mart models consolidated into 1 domain (dom_calendly__events) + 1 mart (fct_calendly_events). Source migrated from Google Sheets to Fivetran. Bug fix: fct_sales_leads was dropping 88% of call-booking leads due to NULL UUIDs in Google Sheets — now joining on invitee_email_domain from Fivetran source. Impacts 10+ downstream dashboards (Leads Analytics, Sales Performance, Deal Activity, etc.). Next: merge PR, run dbt models, validate data in Holistics BI, then fix downstream fct_sales_leads join. DONE Guidance for countries level data (Add2Cart) — closed Apr 17 Add2Cart won’t engage further. Closed task per Slack thread update. TODO Handle multi-currency exchange rates for MRR (DAT-576) — new backlog item from MRR transfer. P2. Scope per Linear: ingest live exchange rates (source TBD: ECB, Google Finance, or Zoho live rates), replace static rate logic in fct_mrr, handle FX noise in historical growth metrics (pin to end-of-month rate), validate against Zoho totals. Notion doc: MRR discrepancy ~30,000 SGD between Zoho (340K SGD) and bi.h (243K USD × 1.28 = 311K SGD). TODO Lead Funnel by Sales Motion (DAT-560) — blocked on Calendly pipeline completion. Carry-over. WAITING Create agent skill for fixing dbt data pipelines in #data-ops-bot — demoted to P3 per anh Triet’s direction to let Thuan handle data-ops-bot for training. Revisit in 3-6 months. BACKLOG Fix excluding internal testing Zoho accounts (DAT-524) — carry-over since W7 (10 weeks). Deprioritized: waiting for more important tasks (MRR exchange rate, Calendly) to be done first. Small task, will pick up later. TODO Review PR Circle CI for anh Dong (DAT-579) — new. PR prefect #397: expand CircleCI test metadata ingestion (success + failed jobs), add branch fallback logic, add 60-day backfill flow. Part of DAT-578 (CircleCI pipeline revamp). Notion: DE-214 — current state uses a bash script → SQLite → report; this PR moves it to Prefect + BigQuery. TODO Review AI sharing dashboard for Aurora — new. Enterprise customer, high priority. Slack. Context from Slack: Nam (Account Manager) proposed upselling Aurora a “Usage and AI Data Monitoring Transfer” package at $10,200/year. Internal debate: Phuong (Product) argued basic AI usage monitoring should be free (AI squad is building in-app dashboard); Vincent (Growth) clarified the upsell is for data sync to customer’s own systems (not in-app viewing), targeting enterprise compliance needs (e.g., 7-year log retention). Triet agreed — put it behind SCS paywall. Data from ClickHouse: conversation time/ID, user ID, messages (prompts + replies), token usage per user. Dashboard created by Hieu: Aurora AI Conversations. My action: review the dashboard quality before sharing. Confirm delivery format (Google Sheets or S3) and daily schedule. Presales TODO Basata follow up on light/dark theme — new. Enterprise customer, high priority. Slack. Context from Slack: Basata (Taha) has dark mode in their app and needs embedded dashboards to match. Current Holistics limitation: theme is set globally, not per-embed payload. Anh Huy proposed adding theme: 'light_theme' | 'dark_theme' to the embed payload. Also, Sankey chart labels don’t convert to light colors in dark theme (color palette not tied to theme). Basata says this is urgent — already rolled out embed to 3 clients, wants dark mode by end of next week. I told them we’ll reach out Monday with an internal plan. DONE Onboarding call 2 with Jonas Chorum — completed Apr 17 Feedback: (1) need Select All \u0026 Clear All in dataset; (2) make dashboard interactivity features (VUD, DD, BD) available for Explore too. Debriefed the call, brought feedbacks to the team. EAV lookup table pattern discussed during call: Tony’s one_letter_codes table is a multi-purpose lookup where same code means different things per category (e.g., ‘C’ = ‘Cancelled’ for StayStatus, ‘City’ for Ledger). Proposed 3 approaches; decided on Approach 1 (SQL Query Models with inline joins) — most reliable, avoids bloating diagram view. DONE Presales sync — completed Apr 16 Pivot prioritization to tutorial videos for local development docs. WAITING Polish embedding documentation — deprioritized per 1-on-1. Not the right timing. Continue maintaining holistics-embed-demo informally. Add2Cart CLOSED All Add2Cart tasks closed — customer won’t engage. Guidance for countries level data — closed Apr 17. Project retro with anh Dong — canceled. Deal not progressing. Per Slack: Vincent reached out multiple times but Simon has not responded. Vincent suggests stopping service and treating remaining 50% unrecovered sprint work as an internal lesson on scoping and early commitment. Docs TODO Add demo video for local development docs — elevated to P1 per presales sync. Draft scenario, discuss with anh Huy Vu/Dat. NOTE DataHub integration (holistics/datahub-holistics) — built for customer MoneySmart. Anh Triet flagged concern: data team needs to be prepared for support if customer reports an issue. Personal / Tooling Explored ReactFlow for vibe-coding data lineage with high-quality canvas. Also applicable for knowledge graph visualization from Logseq. Found docglow as dbt docs alternative — prettier UI, supports column-level lineage. Found meta-sql — data lineage graph with dependency visualization, useful inspiration for [[dblineage]]. Read articles on dbt incremental models (lookback windows, _dbt_max_partition gaps), dbt Cloud Canvas, and data ingestion tool comparison. Considered downgrading Google One (no longer using Gemini chatbot regularly). Reflected on context-switching cost across projects (Internal, Presales, Docs, Personal, Teaching). Considering Focus Days approach to reduce overhead. Learning \u0026 Notes Read “Protect Your Shed” — personal projects keep you an engineer while enterprise work teaches scale. Resonated with how side projects (like Logseq automation) maintain motivation. Read “My AI Adoption Journey” by Mitchell Hashimoto (co-founder of HashiCorp, creator of Ghostty). Key concept: Harness Engineering — design better feedback loops so AI agents know when they’re wrong. The simplest form is adding rules to AGENTS.md. Already practicing this with Logseq automation. 6-step framework: (1) drop the chatbot, use agents; (2) reproduce your own work to learn edges; (3) end-of-day agents for warm starts; (4) outsource slam dunks while doing deep work; (5) engineer the harness; (6) always have an agent running. Key insight: “Turn off desktop notifications. Context switching is expensive.” Validates experience with multi-project context overhead. On skill formation: “discovering it yourself resulted in a stronger fundamental understanding” — applies beyond AI. Read dbt incremental model articles: strategies (merge, insert_overwrite, append), lookback windows for late-arriving data, _dbt_max_partition gaps. Directly applied to DAT-555 fix. Next Week P1 — Must Do Duty Support: Review AI sharing dashboard for Aurora (enterprise customer). Slack. Monday priority. Presales: Basata follow up on light/dark theme (enterprise customer). Slack. Monday priority. Internal: Merge Calendly PR #853 (approved, ready to merge), run dbt models, validate data in Holistics BI. Then fix downstream fct_sales_leads join. Internal: Review anh Dong’s CircleCI PR prefect #397 (DAT-579). Internal: Start MRR exchange rate work (DAT-576) — build dim_exchange_rates with live rate ingestion. Manager priority #1. Docs: Add demo video for local development docs — draft scenario, discuss with anh Huy Vu/Dat. P2 — Should Do Internal: Clean up BI layer for job queue dashboards (delete WIP 3.0, migrate v2 to 4.0). Internal: Increase data freshness — impersonation lookup more frequent than daily (DAT-499). Manager priority #3. Internal: Lead Funnel by Sales Motion (DAT-560) — review and plan after Calendly pipeline stabilizes. Teaching: Find a football dataset for Duc Anh. P3 — Nice to Have Internal: Contribute to Holistics skills and internal-skills repos. Presales: Read Modeling Patterns docs. Personal: Self reflection and update CV. Backlog (deprioritized, pick up after MRR/Calendly) Internal: DAT-524 Fix excluding internal Zoho accounts — small task, 10 weeks carry-over. Career \u0026 Personal Consulting Progress Review (Start/Stop/Keep) Keep: Thorough knowledge transfer documentation (MRR page with architecture diagrams, ER diagrams, problem taxonomy). This is a strong practice that makes handoffs durable. Also keep the pattern of debriefing presales calls and bringing structured feedback to the team. Start: Decisively backlogging low-impact carry-over items. DAT-524 formally backlogged — small task that doesn’t warrant 10 weeks of cognitive overhead. Good precedent. Stop: Holding onto tasks that external parties have deprioritized. Good move closing all Add2Cart tasks when it became clear the customer won’t engage. Apply this pattern to other WAITING items proactively. Workload Observations: This week was well-balanced between deep work (MRR transfer, Calendly PR reviews) and collaborative work (presales calls, 1-on-1). The MRR knowledge page creation shows growing ownership of a complex domain. DAT-555 being merged is a solid win — one fewer carry-over. Skill Development: The intersection of data engineering and presales (e.g., Jonas Chorum call with EAV lookup tables) is a differentiating skill. Few people in the industry can both design data models and demo them to customers. This is worth leaning into. Harness Engineering observation: You’re already practicing what Mitchell Hashimoto describes — iterating on AGENTS.md, building automation scripts that learn from mistakes. This is a genuine competitive advantage in the AI-first era. Continue investing in it. Context switching: You flagged this yourself — many projects are “always on” (Internal, Presales, Docs, Personal, Teaching). The Focus Days approach is worth a trial run next week: e.g., Mon/Wed = deep Internal work, Tue/Thu = presales + reviews, Fri = wrap-up. Recommended resources to learn Mitchell Hashimoto’s “My AI Adoption Journey” — already read, but worth revisiting Step 5 (Harness Engineering) as you build more automation. Share with team? dbt discourse: Multi-currency reporting patterns — search for “exchange rate” and “multi-currency” threads. Community patterns for dim_exchange_rates and constant-currency MRR will shortcut your DAT-576 implementation. Ghostty AGENTS.md example — referenced in Hashimoto’s article. Good reference for structuring AGENTS.md for different subdirectories. YouTube: Analytics Engineering with dbt — Incremental Models Deep Dive — reinforces the lookback window patterns you applied to DAT-555. Book: “The Staff Engineer’s Path” by Tanya Reilly — relevant for your growing ownership of cross-team projects (MRR, Calendly, presales tooling). Good framework for “glue work” and technical leadership. ","tags":["page"],"title":"Weekly Report - 2026-W16","type":"post"},{"authors":null,"categories":null,"content":" Weekly Report — Apr 20 – Apr 26, 2026 (friday mode) Work Internal DONE Calendly data pipeline reporting layer scoped (DAT-283) Following the merge of dbt #853 (approved last week), captured the full reporting-layer plan in journals/2026_03_19.md covering Source / Staging / Domain / Mart / Deprecated / Fixed layers. New canonical mart: mart_growth__calendly_bookings (view → fct_calendly_bookings, grain = event × attendee × rep) and mart_growth__calendly_events (table → dim_calendly_events). Deprecated (enabled: false): mart_growth__demo_calls, mart_growth__onboarding_calls, mart_core_business__demo_call_bookings, dom_calendly__demo_call_bookings, dom_calendly__onboarding_call_bookings. Fixed: mart_core_business__sales_leads now joins dom_calendly__bookings directly on attendee_email_domain (resolves the 88% drop in call-booking leads found last week). Next: update Holistics BI Model / Dataset / Dashboard to align with the new layer (Ampcode thread). WAITING Review PR CircleCI for anh Dong (prefect #397 / DAT-579 — sub-task of DAT-578 CircleCI pipeline revamp) Round 1 review done. Used Ampcode (code review) and Ampcode (PR 858) to scaffold review. Now waiting on anh Dong’s response. Notion DE-214. NOTE DAT-556 dbt test failure root cause analysis (Ampcode) Failing test: unique_map_identities_zendesk_hubspot_zendesk_organization_id. Zendesk org 900032617243 (1win.pro) maps to 2 HubSpot companies because 1win.pro appears in all_domain_names of both HubSpot 5855457913 and 18891852445. Root cause: IN UNNEST(all_domain_names) join in itg_mappings__zendesk_tenant.sql (and similar integration-layer joins) creates fan-out whenever a domain appears in multiple HubSpot companies. Originated from DE-187 phase 1 (PR #812). Impact: 16 tenants across ~10 companies; affected customers: Correlation Risk Partners, Cruisebound, 1win. Decision: leave the test failing for now and address as part of the broader DE-187 resolution (canonical customer_skey work). Not yet actioned due to sick leave. NOTE dbt deprecation policy clarified (Ampcode thread) Phase 1: deprecate in code. Phase 2: remove the .sql file. Phase 3: drop the table. Don’t sit between phase 2 and 3 — AML models reference BQ physical names; removing the .sql only stops refresh, leaving the table with stale data and silently misleading consumers. Either keep the wrapper alive or drop the table entirely. NOT STARTED (carry-over) MRR exchange rate work (DAT-576) — manager P1 from W16 1-on-1; not started due to sick leave + holiday week. Will pick up next week. NOT STARTED (carry-over) Lead Funnel by Sales Motion (DAT-560) — added Ampcode (Holistics PR) reference; still blocked on Calendly BI rollout. Presales DONE Basata follow up on light/dark theme — completed Apr 21 (Slack, Ampcode) anh Huy posted the consolidated workaround to Taha (Basata) on Apr 21: Gap 1 (no theme context in embed payload): Basata duplicates the dashboard into 2 versions (light + dark); Basata app reads the user’s theme preference and renders the matching embed. Gap 2 (Sankey + dynamic markdown don’t adapt): standard charts via per-theme color palettes; Sankey via custom CSS; dynamic markdown gets per-theme CSS in each dashboard. anh Huy offered to impersonate and apply the Sankey fix. Caveat communicated: dashboard header + zoom section can’t be customized via CSS yet (rendered at the Holistics layer); use case forwarded to PMs for the longer-term embed-payload theme support. NOTE Communication observation: in two recent enterprise conversations I offered to do hands-on work and got silence in return. Showbie (Slack thread): Harsha asked about parent-child filtering, Param Fields, and pivot-by-question for a Looker → Holistics rebuild. I confirmed all three are supported, sent doc links, and offered to log in and build the pivot example for him. No reply. Basata (Slack thread): anh Huy proposed the dual-dashboard workaround and offered to apply the Sankey CSS fix via impersonation. No reply yet. I don’t know how to best communicate with these kinds of users — possibly the offer of “I’ll do it for you” reads as too forward, or they need time to absorb. Worth raising in next 1-on-1. Duty Support DONE Review AI sharing dashboard for Aurora — completed Apr 23 (moved to Backlog/Done) Confirmed Hieu’s dashboard is feasible to share as spreadsheet but not yet ready to consume — needs polishing before delivery. Aligned with the commercial decision: Vincent (CEO) clarified the in-app AI usage dashboard is free for all customers; what’s being sold is data sync/export to Aurora’s own systems (S3 preferred, Google Sheets secondary). Targeting enterprise compliance, security auditing, 7+ year retention. Final delivery format pending Nam’s email to Aurora. AI team (Phuong/Tien/Dat) owns separate in-app monitoring; data team scope is bounded to current ClickHouse data. Prior art: SweetSpot Slack thread — same pattern. UPDATE — deal deferred Email thread between Nam (Holistics) and Weiping (Aurora), Apr 20–23 …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f06c7ddb265d88e3d64531c634cf6ee5","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w17/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w17/","section":"post","summary":" Weekly Report — Apr 20 – Apr 26, 2026 (friday mode) Work Internal DONE Calendly data pipeline reporting layer scoped (DAT-283) Following the merge of dbt #853 (approved last week), captured the full reporting-layer plan in journals/2026_03_19.md covering Source / Staging / Domain / Mart / Deprecated / Fixed layers. New canonical mart: mart_growth__calendly_bookings (view → fct_calendly_bookings, grain = event × attendee × rep) and mart_growth__calendly_events (table → dim_calendly_events). Deprecated (enabled: false): mart_growth__demo_calls, mart_growth__onboarding_calls, mart_core_business__demo_call_bookings, dom_calendly__demo_call_bookings, dom_calendly__onboarding_call_bookings. Fixed: mart_core_business__sales_leads now joins dom_calendly__bookings directly on attendee_email_domain (resolves the 88% drop in call-booking leads found last week). Next: update Holistics BI Model / Dataset / Dashboard to align with the new layer (Ampcode thread). WAITING Review PR CircleCI for anh Dong (prefect #397 / DAT-579 — sub-task of DAT-578 CircleCI pipeline revamp) Round 1 review done. Used Ampcode (code review) and Ampcode (PR 858) to scaffold review. Now waiting on anh Dong’s response. Notion DE-214. NOTE DAT-556 dbt test failure root cause analysis (Ampcode) Failing test: unique_map_identities_zendesk_hubspot_zendesk_organization_id. Zendesk org 900032617243 (1win.pro) maps to 2 HubSpot companies because 1win.pro appears in all_domain_names of both HubSpot 5855457913 and 18891852445. Root cause: IN UNNEST(all_domain_names) join in itg_mappings__zendesk_tenant.sql (and similar integration-layer joins) creates fan-out whenever a domain appears in multiple HubSpot companies. Originated from DE-187 phase 1 (PR #812). Impact: 16 tenants across ~10 companies; affected customers: Correlation Risk Partners, Cruisebound, 1win. Decision: leave the test failing for now and address as part of the broader DE-187 resolution (canonical customer_skey work). Not yet actioned due to sick leave. NOTE dbt deprecation policy clarified (Ampcode thread) Phase 1: deprecate in code. Phase 2: remove the .sql file. Phase 3: drop the table. Don’t sit between phase 2 and 3 — AML models reference BQ physical names; removing the .sql only stops refresh, leaving the table with stale data and silently misleading consumers. Either keep the wrapper alive or drop the table entirely. NOT STARTED (carry-over) MRR exchange rate work (DAT-576) — manager P1 from W16 1-on-1; not started due to sick leave + holiday week. Will pick up next week. NOT STARTED (carry-over) Lead Funnel by Sales Motion (DAT-560) — added Ampcode (Holistics PR) reference; still blocked on Calendly BI rollout. Presales DONE Basata follow up on light/dark theme — completed Apr 21 (Slack, Ampcode) anh Huy posted the consolidated workaround to Taha (Basata) on Apr 21: Gap 1 (no theme context in embed payload): Basata duplicates the dashboard into 2 versions (light + dark); Basata app reads the user’s theme preference and renders the matching embed. Gap 2 (Sankey + dynamic markdown don’t adapt): standard charts via per-theme color palettes; Sankey via custom CSS; dynamic markdown gets per-theme CSS in each dashboard. anh Huy offered to impersonate and apply the Sankey fix. Caveat communicated: dashboard header + zoom section can’t be customized via CSS yet (rendered at the Holistics layer); use case forwarded to PMs for the longer-term embed-payload theme support. NOTE Communication observation: in two recent enterprise conversations I offered to do hands-on work and got silence in return. Showbie (Slack thread): Harsha asked about parent-child filtering, Param Fields, and pivot-by-question for a Looker → Holistics rebuild. I confirmed all three are supported, sent doc links, and offered to log in and build the pivot example for him. No reply. Basata (Slack thread): anh Huy proposed the dual-dashboard workaround and offered to apply the Sankey CSS fix via impersonation. No reply yet. I don’t know how to best communicate with these kinds of users — possibly the offer of “I’ll do it for you” reads as too forward, or they need time to absorb. Worth raising in next 1-on-1. Duty Support DONE Review AI sharing dashboard for Aurora — completed Apr 23 (moved to Backlog/Done) Confirmed Hieu’s dashboard is feasible to share as spreadsheet but not yet ready to consume — needs polishing before delivery. Aligned with the commercial decision: Vincent (CEO) clarified the in-app AI usage dashboard is free for all customers; what’s being sold is data sync/export to Aurora’s own systems (S3 preferred, Google Sheets secondary). Targeting enterprise compliance, security auditing, 7+ year retention. Final delivery format pending Nam’s email to Aurora. AI team (Phuong/Tien/Dat) owns separate in-app monitoring; data team scope is bounded to current ClickHouse data. Prior art: SweetSpot Slack thread — same pattern. UPDATE — deal deferred Email thread between Nam (Holistics) and Weiping (Aurora), Apr 20–23 (Slack file): Nam pitched the $10,200/year “Usage and AI Data Monitoring Transfer Sync” (S3 delivery, scope: conversation time/ID, user ID, prompts + AI replies, token usage per user). Aurora pushed back: hard to justify $10,200/year given the in-app AI usage analytics is on the Holistics roadmap for the next 1–2 quarters. Counter-proposals: monthly manual data dumps OR a read-only user on a read-only replica of the backend DB. Both sides agreed to revisit when Holistics has more concrete AI usage data. Implication for data team: no immediate delivery work needed. The Aurora-specific AI conversation dashboard (Hieu’s) can stay on hold; focus shifts to AI team’s in-app analytics rollout. Keep the dashboard ready in case the conversation reopens. Docs NOT STARTED (carry-over) Add demo video for local development docs — moved to journals/2026_05_25.md (will scope after the holiday). Slack 1, Slack 2. NOTE Follow-up DM with Khai To on Apr 23–24 (Slack DM): Demo direction: lead with the outcome demo (like lightdash does — show power first); push step-by-step setup into the docs. Khai’s MCP for local metric queries is on staging13, not yet prod. He’ll demo it (skill + MCP combo) once I’m back from holiday. Estimated cadence: “probably 2 weeks after holiday” — aligns with the demo-video scoping push to mid-May. Personal / Tooling DONE Set up Drata and remove Vanta — Apr 23 (Slack, Notion guide). Triet announced the Vanta → Drata migration to all engineering on Apr 23. Required steps: acknowledge all policies, install + register Drata agent, complete Security Awareness Training and HIPAA Training. Keep Vanta installed until further notice. Two-week deadline. DONE Tax checking — Apr 23 (Slack). HR (Nhu Nhu) asked everyone to install Etax Mobile and check 2025 PIT finalization status before her leave. Verified own status: single-source income at Holistics → finalization successful, no follow-up needed. DONE Set up CLI client for Cloudflare R2 upload — Apr 27 (Ampcode). Closes the loop on the auto-upload-to-R2 setup for Logseq media. NOTE Considering migrating emergency savings out of 1Long — no longer trust its reliability for emergency funds. DECIDED Google One downgrade: keep current plan. Linh and my younger brother still rely on it, so the per-user value justifies the cost. Closes the W16 open question. Learning \u0026 Notes LEARNING Don’t play games at night after 6PM — they always extend into late-night sessions. Restrict to morning / early afternoon. Caused the cold that wiped out Mon–Wed. READ “Ask for no, don’t ask for yes” Instead of “Hey boss, can we install action X?”, say “Hey boss, I’m going to install action X to solve XYZ. Will take care of it Monday unless I hear differently.” Shifts cognitive load: gives the manager an opt-out window without blocking your progress, while you still own the framing of the problem and the solution. Tone matters — needs to be calibrated to the person and what they actually want to know (e.g., size of the problem, downstream risks). Worth practicing on smaller decisions first. The tips category on mooreds.com reads like a senior engineer sharing small craft-level tips that LLM searches don’t surface — reminder to keep cultivating non-LLM reading sources. NOTE Need to deliberately seek out blogs / RSS feeds rather than defaulting to LLM search inside Logseq. The signal/noise from a curated human writer is different from an aggregated answer. NOTE Trip to [[Trip - Bàu Sấu 04/2026]] — Ghibli-like landscape, dry-season trail (no mosquitoes/floods), good leg training (~6km/day) and digital detox (no signal). Will return next year, possibly during rainy season for a different experience. Next Week P1 — Must Do Internal: Start MRR exchange rate work (DAT-576) — build dim_exchange_rates with live rate ingestion. Carry-over, manager P1. Internal: Pick up DAT-555 follow-up captured in journals/2026_04_27.md. Internal: Update Holistics BI Model / Dataset / Dashboard for the new Calendly mart layer (DAT-283). Internal: Resolve DAT-556 dbt test failure (root cause already analysed Apr 22). Internal: Close out CircleCI PR review feedback loop with anh Dong (prefect #397 / DAT-579). P2 — Should Do Internal: Lead Funnel by Sales Motion (DAT-560) — unblock once Calendly BI layer is rolled out. Carry-over since W14 (4 weeks). Internal: Clean up BI layer for job queue dashboards (delete WIP 3.0, migrate v2 / Report Monitoring to 4.0). Internal: Increase data freshness — impersonation lookup more frequent than daily (DAT-499). Manager P3. Docs: Draft scenario for local development demo video, then sync with anh Huy Vu / Dat. Carry-over. Teaching: Find a football dataset for Duc Anh. P3 — Nice to Have Internal: Contribute to Holistics skills and internal-skills repos. Presales: Read Modeling Patterns docs. Personal: Self-reflection + CV update. Research alternatives to 1Long for emergency savings. Holiday note: Thu Apr 30 and Fri May 1 are public holidays in Vietnam (Reunification Day + Labour Day) — plan light work Mon–Wed and rest/play Thu–Fri. Career \u0026 Personal Consulting Progress Review (Start / Stop / Keep) Keep: When energy was low, you still chose the highest-leverage tasks (Basata follow-up, Aurora dashboard review, CircleCI review round 1) and let the rest slip rather than dragging everything to half-done. That’s healthy triage. Keep: Capturing the dbt deprecation policy as a reusable note (3-phase rule). These small principles compound — they prevent future “stale table” landmines and give you something concrete to teach Thuan / juniors. Start: Treat illness as a hard stop, not a soft pause. You felt off from Monday and pushed until Wednesday before resting. Sleep + early stop on Mon would likely have salvaged Tue/Wed. Build a rule: if you feel off two days in a row, stop on day two. Stop: Late-night gaming on weeknights — you already self-identified this as the root cause. The LEARNING note is good; pair it with a concrete trigger (e.g., laptop closes at 22:00 on weeknights). Workload observations This was a low-output work week by design (illness + trip), and that’s fine. The bigger risk is that two of last week’s manager-priority items (MRR exchange rate, BI cleanup) are now zero-progress carry-overs. Next week is also short (2 holidays); be realistic about scope. The “Ask for no, don’t ask for yes” article is timely — your carry-over list is growing, and proactive framing (“I’ll start MRR Mon, will course-correct based on Friday review”) would reduce review-cycle latency. Personal well-being Trip to Bàu Sấu was a real reset — physical movement (6km/day) + no signal + nature is the right antidote to context-switching fatigue you flagged in W16. Health: the cold is a signal. Sleep \u003e productivity. Seven days of recovery cost roughly the same time as four nights of better sleep would have prevented. Career development Carry-over is becoming a pattern (MRR, Demo video, DAT-560, DAT-524). Consider a hard rule next week: any item carried over 3+ weeks gets a forcing function — either start it on a specific day, or formally backlog it. Avoid the “always-on but never-done” zone. Customer communication signal (Showbie + Basata) Both threads end with us volunteering hands-on work (“I can build the example”, “we’ll apply the CSS via impersonation”) and the customer going quiet. Two non-mutually-exclusive hypotheses worth testing: (a) Decision delay — they need time to socialize internally; silence is “not yet”, not “no”. Action: send a soft check-in 3–5 days later instead of waiting indefinitely. (b) Perceived push — “I’ll do it for you” can feel like over-reach for users who want autonomy. Action: try framing as a self-serve doc + offer (“here’s the recipe; happy to pair if helpful”) rather than “I’ll do it”. Either way, a follow-up cadence rule (e.g., 3-day silent → ping; 7-day silent → close loop with PM) prevents these from becoming permanent open loops. Recommended resources to learn Maximize Your Recovery: Sleep, Stress, and Illness — Huberman Lab episodes on sleep and recovery. Useful given this week’s illness pattern; pair with the gaming-curfew commitment. How to Write a One Pager — Wes Kao. Good companion to “Ask for no, don’t ask for yes” — both are about framing decisions for busy stakeholders. Applies to your MRR / Calendly status updates. dbt deprecation patterns discussion — search “deprecate model” / “remove model”; community patterns confirm the 3-phase rule you derived this week. Atomic Habits — environment design chapters — relevant for the no-late-night-gaming rule. Behaviour change is easier with environment changes (e.g., move console out of bedroom) than willpower. Cal Newport — Deep Work / time-blocking — supports the Focus Days experiment from W16. With 3 effective workdays next week (Mon–Wed before holiday), time-blocking matters more than usual. “Never Split the Difference” by Chris Voss — relevant for the Showbie/Basata “silence after offer” pattern. Specifically chapter on calibrated questions and the “no” answer bias (links nicely with the “Ask for no, don’t ask for yes” article). Wait But Why — “How to do battle with the procrastination monster” — pair with the carry-over forcing-function rule. Long carry-overs often have a procrastination root, not a priority root. ","tags":["page"],"title":"Weekly Report - 2026-W17","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Apr 27 – May 3, 2026 (friday mode) Two-holiday short week (Thu Apr 30 Reunification Day + Fri May 1 Labour Day). Effective workdays = Mon/Tue/Wed for Holistics work; Sat/Sun spent on Smartclass releases and reading. Net: shipped Calendly BI rollout + tenant-lookup fix on the Holistics side, and two Smartclass releases (v0.4, v0.4.5) on personal side. Next week’s MRR exchange-rate work is still zero-progress (3-week carry-over).\nWork Internal DONE — Ingest full Calendly data into BigQuery (DAT-283, #P2 ) — closed Apr 28.\nBI-layer rollout PR internal-aml-project#78 merged Apr 28: migrated dts_106_sales_leads and aml_visit_trial_funnel to the new fct_calendly_bookings model (grain = event × attendee × rep); 4 dashboards re-mapped (rep_calls, [sales] Level 0 - Deals drill-down, Quinn sales_pipeline, Vincent archived); deleted three legacy models (domain_calendly_demo_call_bookings, dim_demo_calls, dim_onboarding_calls). Semantic shift: consolidated count_demo_calls / count_onboarding_calls into a single count_calls metric (count_distinct(event_id)) — group calls now count once instead of per-invitee. Filter on primary_call_category (\u0026#39;Sales\u0026#39; / \u0026#39;Retention\u0026#39;) for demo vs onboarding. Shipped a new AI skill analyze_rep_calls.skill.aml so chat queries auto-route to dts_106_sales_leads and the right metric/filter (Ampcode). Stakeholder comms (Ampcode plan): #data announcement, per-stakeholder DMs to Vincent, Dave, Quinn, anh Dong, Thuan; closed the year-old Vincent thread with a 5-use-case briefing on the new Rep Calls dashboard. Posted in #data-lead-analytics. Companion to dbt PR #853 (already merged in W17). DONE — Fix Tenant Lookup ‘User List’ widget (DAT-585, #P2 ) — closed Apr 27.\nPR internal-aml-project#77 merged Apr 27. Root cause (Ampcode): domain_holistics_users.tenant_skey \u0026gt; domain_holistics_tenants.skey was disabled in Dec 2023 to avoid join ambiguity; the User List widget added Jun 2025 was unaware and routed through fct_activities.owner_id, leaking internal admins (dong.ln, quinn, …) on impersonation/trial-extension activity. Fix: re-enable the relationship in tenants_features_usage.dataset.aml. Verified via dependency analysis across 8 dashboards that activity-anchored widgets (v_vg28, v7–v11) still pick the direct path; user-anchored widget now joins users → tenants directly. Triggered by Slack report. WAITING (round 1 done) — Review DAT-584 (dbt#860, #P2 ).\nPR fixes the deploy_dbdocs flow that broke after the Calendly consolidation in PR #853 (stale relationships.dbml references to removed fct_demo_call_bookings.event_uuid / fct_sales_leads.demo_call_skey). Concern flagged in PR: relationships.dbml is manually maintained with no CI validation — proposed adding a CI check against the dbt catalog so future renames fail at PR time, not at runtime in deploy_dbdocs. IN-PROGRESS — Review CircleCI PRs for anh Dong (DE-214, #P1 ).\nPrefect PR #397: review done. dbt PR #858 (DAT-581 — CircleCI mart layer): drafted detailed review notes locally via Ampcode but didn’t post to PR — slipped due to BuyCo + Wamly P1 escalations on Wed. Findings ready to ship Mon W19: Missing unique/not_null tests on circleci_jobs.id and job_key; circleci_tests has no row-grain test despite cross join unnest(metadata.test_metadata) fanning out (rspec-retry → up to 32 attempts/test). Recommend composite unique on (job_key, spec_file, spec_name, attempt_number) + document grain. Clustering: cluster_by = [\u0026#39;name\u0026#39;] is fine (129 distinct names / 1.7M rows). Suggested [\u0026#39;project_name\u0026#39;, \u0026#39;name\u0026#39;] for cross-project pruning (non-blocking). Partition-key change last_created_at → job_started_at requires --full-refresh; companion Prefect PR includes the backfill flow. cross join unnest silently drops ~5.9% rows where test_metadata is empty (failed test suites). Recommend LEFT JOIN UNNEST or expose a has_test_results flag. Selector drift: removing dom_circleci__* breaks dom_circleci__tests+ selector in the Prefect backfill — needs rename. TODO — 1Win duplicate-customer check (Slack, #P2 ). Quinn DM Apr 28: “I am confused about 1win. It seems that in our zoho billing, they were recorded as different customers.” Need to investigate whether 1Win has multiple Zoho customer records and reconcile with the churn / MRR pipeline. Not yet started.\nNOT STARTED (carry-over W16/W17/W18) — MRR exchange rate work (DAT-576, #P1, manager priority). Now 3 weeks open; per [[Priority Rules]] this triggers the forcing-function rule. Action committed for next week: timeboxed Mon AM design session + Tue Linear scoping comment, or formally hand back to anh Triet for re-scoping.\nTODO — Set up GitHub App for bi.holistics.io (#P2 ) — captured forward in [[2026-05-25]]. Net-new item, not yet scoped.\nPresales DONE — BuyCo ticket triage (Slack, #P1, customer [[BuyCo]]) — closed Apr 29. Stakeholders: Xairo (PM, main contact), Luc (Head of Data), Ahlam (Sr Data Eng), Vadi (BI Analyst), Rodolphe (Data Analyst); stack = dbt Core + MotherDuck.\nWatched the demo recording — …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a0b0dd02b35d4b425c882b440b664e4b","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w18/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w18/","section":"post","summary":"Weekly Report — Apr 27 – May 3, 2026 (friday mode) Two-holiday short week (Thu Apr 30 Reunification Day + Fri May 1 Labour Day). Effective workdays = Mon/Tue/Wed for Holistics work; Sat/Sun spent on Smartclass releases and reading. Net: shipped Calendly BI rollout + tenant-lookup fix on the Holistics side, and two Smartclass releases (v0.4, v0.4.5) on personal side. Next week’s MRR exchange-rate work is still zero-progress (3-week carry-over).\n","tags":["page"],"title":"Weekly Report - 2026-W18","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — Apr 29 – May 8, 2026 (friday mode) First full 5-workday week after W18 holidays. Big internal closure: Lead Funnel by Sales Motion (DAT-560) shipped — DAT-561/562/563/564 all closed May 8, ending a 5-week carry-over that had been blocked on Calendly. Big presales loss: [[Showbie]] went to Omni; learning synthesis captured. MRR exchange rate (DAT-576) still NOT STARTED — now 4-week carry-over and being treated as a restart in W20: Hieu left and most implementation context is gone, so W20 Mon AM is recovery + scoping (not implementation), with a Wed-EOD escalation gate to anh Triet. CircleCI dbt PR #858 still open (cherry-pick dbt#861 merged). DAT-555 closed for real this week. Tooling week was strong: Holistics MCP, amp plugin for MCP error logging, slackcli, caveman skill, RTK install.\nWork Internal DONE — Lead Funnel by Sales Motion (DAT-560) (#P1, 5-week carry-over since W14) — closed May 8. Business driver: BizOps (Vincent, Sriram) is planning 2026 revenue ($330K MRR target); needed sales-motion breakdown (call-first / trial-first / trial-only / call-only) on fct_sales_leads to decide where to invest. Calendly data ingested + transformed; sales_motion dimension live in dbt and Holistics BI. All 4 sub-issues closed: DAT-561 — Enrich with additional call sources beyond Calendly demo calls. DAT-562 — Add sales_motion dimension to fct_sales_leads. DAT-563 — Fix rep assignment bug in fct_sales_leads (prefer deal owner over Calendly rep — dbt#862). DAT-564 — Re-audit sales motion classification with BizOps (Ampcode). PRs landed: dbt#859 (DAT-283 add sales_motion column), dbt#862 (rep-assignment fix), internal-aml-project#54 (migrate from tmp models → fct_sales_leads). Refs: Notion DE-202, Ampcode synthesis. DONE — Resolve DAT-555 follow-up (#P1, was IN-PROGRESS) — closed May 7. Original failure: [dbt] Mart Product flow on 2026-03-16 — 3 errors (resource limit on fct_job_queue_performance, PARSE_JSON syntax in mart_product__dataset_datamodel_dimensions, uniqueness test failure on dataset_datamodel_dependencies_skey). All 3 sub-issues now resolved: DAT-565 Done (resource cap via 7-day incremental lookback), DAT-567 Done (PARSE_JSON fix), DAT-566 marked Duplicate. fct_job_queue_performance migration completed across the BI layer. Tracked via 5 Ampcode threads (1, 2, 3-fix, 4-migrate, 5-migrate continue). BI cleanup: deleted [WIP] Job Queue Performance 3.0; migrated Job Queue Performance Estimation v2 → v4 (kept old v3 link since shared with customers); kept Report Job Queue Performance Monitoring and Tenant exceeds job queue limit. Done. DONE — Set up GitHub App for bi.holistics.io (#P2, carry-over from W18) — closed May 4. Squad modeling shipped GitHub App integration to staging Apr 29 (Khai To FYI) — replaces SSH Deploy Keys + PATs with one-click org-owned install. Industry alignment with dbt Cloud / Lightdash; ahead of Looker, Metabase, Sigma. Customer pull from Aarki, RYT Bank, TestGorilla. Refs: discuss thread, Ampcode. DONE — Review DAT-584 “Deploy dbdocs flow fails in Prefect” round 1 (dbt#860, #P2) — round 1 May 4, round 2 LGTM + merged later in week. Failure: Deploy dbdocs flow on Apr 21 — npx dbdocs build /tmp/output.dbml --project holistics exited non-zero. Logged JWT token in plaintext (caught when reading the prefect log: DBDOCS_TOKEN=[REDACTED:jwt-token] — flagged with :pepe-hang:). Sub-issue DAT-586 “Fix dbdocs token leakage” handled in parallel. Refs: Ampcode. DONE — Align Data Import schedules (DAT-587, Cycle 73, #P2) — closed May 5. Trigger (Slack): Triet — \u0026#34;@data please help me check why this returns empty tenant. Users synced but Tenant has not?\u0026#34; (impersonation lookup for admin@rosental.de, new tenant created 2026-05-03 16:04 VNT). Root cause: users import 0:00 VNT but tenants import 7:00 VNT — 7-hour gap. dbt flows run 22:00–3:00, so new users arrive but joinable tenant row missing. Fix shipped same day: rescheduled all data imports (staging, EU, US, SG) to 20:00–23:00 VNT (before 0:25 first dbt run). Triet’s bar = “1–2 hour gap acceptable; 7 hours is way too long.” Refs: Slack. DONE — 1Win duplicate-customer check (#P2, carry-over from W18) — closed May 4. Trigger: Quinn DM Apr 28 (DM). DONE — fix(calendly): unique_combination_of_columns for dom_calendly__bookings (#P1) — closed May 8. Refs: Ampcode. DONE — Shorten dbt README (dbt#864, #P3) — closed May 8. IN-PROGRESS — Review CircleCI PRs for anh Dong (#P1, carry-over from W18). Prefect PR #397: done. dbt PR #858: tests failing on CI per PR review #4217502670. After DM with anh Dong — debugged: CI false positive — partition change on circleci_jobs interacted with CI’s persistent ephemeral schemas (ci_pr_\u0026lt;n\u0026gt;_*); the incremental \u0026lt; 4 days config kept rows built against the OLD partition definition. Dev/prod fine; CI re-ran from a stale baseline. Hit blocker There are 1 unused configuration paths: models.internal_analytics.domain.circleci along the way. Cherry-picked CI workflow improvements (full-refresh directly-modified …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"52522de638a9610762c282477ee076a9","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w19/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w19/","section":"post","summary":"Weekly Report — Apr 29 – May 8, 2026 (friday mode) First full 5-workday week after W18 holidays. Big internal closure: Lead Funnel by Sales Motion (DAT-560) shipped — DAT-561/562/563/564 all closed May 8, ending a 5-week carry-over that had been blocked on Calendly. Big presales loss: [[Showbie]] went to Omni; learning synthesis captured. MRR exchange rate (DAT-576) still NOT STARTED — now 4-week carry-over and being treated as a restart in W20: Hieu left and most implementation context is gone, so W20 Mon AM is recovery + scoping (not implementation), with a Wed-EOD escalation gate to anh Triet. CircleCI dbt PR #858 still open (cherry-pick dbt#861 merged). DAT-555 closed for real this week. Tooling week was strong: Holistics MCP, amp plugin for MCP error logging, slackcli, caveman skill, RTK install.\n","tags":["page"],"title":"Weekly Report - 2026-W19","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — May 11 – May 17, 2026 (friday mode) Steady throughput week. Big wins: CircleCI PR review marathon finished (rounds 2–4, prefect#400 + dbt#858 closed), [[BuyCo]] custom theme rolled out on Volumes dashboard, Power BI playbook draft started for BuyCo onboarding (Tue May 19). Khai To’s 2-way sync CLI shipped — unblocks the local-dev demo video (4-week WAITING cleared). MRR exchange rate (DAT-576) still NOT STARTED — now 5-week carry-over: Mon AM recovery slot lost again to CircleCI close-out, week absorbed by BuyCo theme + Datacubed dashboard fix + Power BI prep. Honest call: needs hard escalation in next 1-on-1. Tooling: rg/grep + rtk fix, personal finance app rental-affordability simulation. Weekend = VCT Pacific watching + travel (no H1 self-reflection done — sliding W21).\nWork Internal DONE — Review CircleCI PRs for anh Dong (#P1, 3-week carry-over since W18) — closed May 12. Rounds 2, 3, 4 done.\nprefect#400 round 2 — closed May 11. dbt#858 round 3 — closed May 11. dbt#858 round 4 — closed May 12. Refs: Notion: Data-model issue uncovered during implementation, Ampcode. DONE — Alias unnamed columns for store_failures views (dbt#867, #P2) — closed May 12.\nTrigger: commit 0c3c494e (May 5) enabled +store_failures as a view in CI to let the PR comment summarizer link to BigQuery failures. BigQuery requires every view column to be named — broke 7 tests with “CREATE VIEW columns must be named, but column has no name” on unnamed count(*), concat(...), select 1 expressions. Dev runs passed (target: dev, store_failures disabled). Fix: aliased outermost SELECTs — count(*) as pr_count, select 1 as failure, {{ column_name }} as unique_field/not_null_field. Affected tests: assert_github_holistics_pr_over_4000, unique_map_timezones_concat_*, unique_map_exchange_rates_concat_*, 3× max_date_sync_*, dom_holistics__aml_compiled_caches. Impact: restored CI + restored “See test failures” links in PR audit summarizer. Trigger: Slack. Refs: Ampcode. NOT STARTED — MRR exchange rate (DAT-576, #P1, manager priority, Cycle 74). 5-week carry-over (W16 → W17 → W18 → W19 → W20).\nW20 Mon-AM recovery slot consumed by CircleCI round 2–4 closeout + Country Breakdown fix for BuyCo. Rest of week absorbed by BuyCo theme + Datacubed dashboard fix + Power BI playbook draft. Honest assessment: this is no longer a “scheduling” problem. The restart cost is non-trivial (Hieu left, context recovery alone is half-a-day), and every week I show up with a non-emergency that crowds it out. Forcing function for W21: raise in 1-on-1 with anh Triet — formally re-scope to a smaller deliverable, or hand off. NOTE — Lead Funnel by Sales Motion wrap-up ([[Lead Funnel by Sales Motion]]) — added “wrap up the project” TODO. DAT-560/561/562/563/564 all closed last week; remaining = write project retro doc.\nPresales DONE — Fix BuyCo Country Breakdown dashboard dynamic markdown (#P2, customer [[BuyCo]]) — closed May 11.\nBug: dynamic markdown block v_14o4 in _1_country_breakdown.page.aml displayed only the first country because template hardcoded {{ rows[0].\\Country Name` }}. Fix: wrap with {% map(rows) %}loop + droprows[0]` prefix inside the loop, per Holistics dynamic-markdown docs. Refs: Slack, Ampcode. DONE — Apply theme for BuyCo Volumes dashboard (#P1, customer [[BuyCo]]) — closed May 13.\nMigrated dashboard from test path (@amql/pbi_test/pbi_volumes.page.aml) to production (@amql/dashboards/volumes.page.aml). Theme: buyco_light + buyco_header_light. TextBlock styled as all-white cards (#FFFFFF bg, #E5E7EB border, sm shadow) to match VizBlock. Canvas 1300px, default_zoom 0.8. Owner set to rodolphe.fillion@buyco.co. Dropped the “Xairo messing up” tab (VGM Status gauge); preserved ~150 hard-coded carrier color mappings on the PieChart (v_w046); renamed filter blocks to drop _copy suffixes. Dataset reused: pbi_report_test (models develop_bronze_cs_shipment, develop_silver_bc_current_booking_legs). Refs: Slack, Ampcode. DONE — Sync to prepare BuyCo onboarding call (#P1, customer [[BuyCo]]) — closed May 14.\nInternal sync aligning Presales + me on the May 19 agenda. Attendees confirmed: Xairo (PM, data team — decision driver, UX polish + data-culture focus), Luc (Head of Data — architecture + AQL learnability + dbt migration cost), Ahlam (Sr DE — dbt core + MotherDuck integration, perf/caching), Vadi (BI Analyst — day-to-day building pains: formatting, AI chart quality, table column widths), Rodolphe (Analyst — external reports, ex-PowerBI: wants bookmarks, action buttons, drill-throughs), + product designer (TBD, evaluating UI/themes). Refs: Slack. IN-PROGRESS — Power BI playbook for BuyCo call (#P1, customer [[BuyCo]]) — started May 15, ongoing.\nDrafted so far: conceptual-differences.md (core artifact mapping table + engine comparison: VertiPaq vs SQL push-down; DAX vs AQL with YoY example), migration-overview.md (8-step migration workflow + project-structure comparison + automation guide). Both added to docs sidebar under “Coming From Other BI Tools …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"26fa7131fa7f9be6ef3f36b06563d53a","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w20/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w20/","section":"post","summary":"Weekly Report — May 11 – May 17, 2026 (friday mode) Steady throughput week. Big wins: CircleCI PR review marathon finished (rounds 2–4, prefect#400 + dbt#858 closed), [[BuyCo]] custom theme rolled out on Volumes dashboard, Power BI playbook draft started for BuyCo onboarding (Tue May 19). Khai To’s 2-way sync CLI shipped — unblocks the local-dev demo video (4-week WAITING cleared). MRR exchange rate (DAT-576) still NOT STARTED — now 5-week carry-over: Mon AM recovery slot lost again to CircleCI close-out, week absorbed by BuyCo theme + Datacubed dashboard fix + Power BI prep. Honest call: needs hard escalation in next 1-on-1. Tooling: rg/grep + rtk fix, personal finance app rental-affordability simulation. Weekend = VCT Pacific watching + travel (no H1 self-reflection done — sliding W21).\n","tags":["page"],"title":"Weekly Report - 2026-W20","type":"post"},{"authors":null,"categories":null,"content":"Weekly Report — May 18 – May 23, 2026 (friday mode) W21 (full week). Power BI migration theme dominated: (1) playbook published Mon → docs/conceptual-differences + docs/migrating-to-holistics; (2) end-to-end AW-Sales POC w/ value parity to the cent; (3) migrate-power-bi agent plugin shipped via holistics/skills#10, then bug-fix follow-up #12, then bumped to 0.1.1. Mid-week: BuyCo + Basata onboarding calls closed, Enhance Fitness RFP assessed ($4.6K/mo proposal in flight), SLA data pull delivered to Xairo, 1-on-1 report written. Late week: 2 Docs PRs (docs#1639 OAuth+MCP, docs#1640 from-others landing), PatientsKnowBest answered, Datacubed embed user tracking delivered. New WAITING: TerryWhite Chemmart data question (pending anh Tan Huynh). DAT-576 MRR exchange rate still NOT STARTED — 5-week carry-over remains the open wound; 1-on-1 escalation done but no resolution yet captured.\nWork Presales DONE — Power BI → Holistics playbook published (#P1, customer [[BuyCo]]) — closed May 18.\nPolished conceptual diagram from hand-sketch via Claude Design (HTML/CSS, structured + iterable) — picked over Google Stitch (image-gen, single-shot, hard to refine). Published to docs: docs: conceptual-differences — canonical artifact mapping (Power Query→Query Model, Table→Model, Semantic Model→Dataset, DAX Measure→AQL Metric, Calc Column→Dimension definition: @sql/@aql, Report→Canvas Dashboard, Workspace→Module, .pbip→AMQL repo). docs: migrating-to-holistics — 8-phase workflow w/ definitions-of-done. Reviewers: anh Khai To + anh Huy. Slack announce Mon EOD. Refs: Ampcode (check PBI file), Notion: BuyCo Call Prep, Notion: PBI↔Holistics Conceptual Differences. DONE — End-to-end PBI POC: AW-Sales → Holistics (#P1, customer [[BuyCo]]) — closed May 18.\nSource: AW-Sales.pbip semantic model + 3-page report (data → MotherDuck first). Output: aw_sales.dataset.aml w/ 7 models (sales, date, customer, product, reseller, sales_order, sales_territory) + 8 relationships (3 active to date from OrderDateKey, DueDateKey, ShipDateKey — last two inactive role-playing), sales_order ↔ sales 1:1. Decision: type: \u0026#39;query\u0026#39; (not type: \u0026#39;table\u0026#39;) → normalize PBI’s \u0026#34;Sales Amount\u0026#34;-style cols to snake_case, avoid double-quoting in MotherDuck. DAX → AQL pattern proven: CALCULATE(SUM(Sales[Sales Amount]), USERELATIONSHIP(Sales[DueDateKey], \u0026#39;Date\u0026#39;[DateKey])) → @aql sum(sales.sales_amount) | with_relationships(sales.due_date_key \u0026gt; date.date_key). Calc column Product.Sorting = RELATED(...) → inline CASE dimension. Dashboard: PBI 3-page report → single aw_sales_dashboard.page.aml w/ TabLayout. Slicers (Fiscal Year, Month) lifted to page-level FilterBlocks. Added Tab 4 (Top-10 reseller city pie). Parity hit: Total Sales Amount 109,809,274.20 matches warehouse ground truth, identical for sales_amount_by_due_date. Row count 121,253. Refs: Ampcode (load data), Ampcode (code execution). DONE — Publish migrate-power-bi AI skill (#P1, customer [[BuyCo]]) — merged May 20.\nPR: holistics/skills#10 — feat(plugins.holistics-migrate-power-bi): add plugin and skill. Merged after anh Khai review. Plugin layout (progressive disclosure): SKILL.md (entry + hard rules) + 5 references (concept-mapping.md, tmdl-to-aml.md, dax-to-aql.md, migration-workflow.md, validation.md). Dual manifests (.claude-plugin/plugin.json + .cursor-plugin/plugin.json). Hard rules: never hand-write AQL (use generate_aql via write-aql); never invent AML keys (use search_docs); holistics aml validate on every file; per-measure value parity (5–10 dim combos, diff zero-or-explained); land Excel/local sources in warehouse first; disable PBI “Auto date/time”; role-playing dims via named join aliases (no USERELATIONSHIP direct port). Composes w/: develop-amql, write-aql, search-docs, visualize-data, working-in-development. Refs: Ampcode (skill creation), Ampcode (publish). DONE — Fix PBI-migrate skill wrong logic (#P1, [[AI]] / [[Presales]]) — merged May 22 (holistics/skills#12, +445/-252).\nDogfooding revealed multiple AQL syntax errors + fictional function names in the v0.1 skill. Fixes: AQL syntax: with_filter → where; if(cond,a,b) → case(when:, then:, else:); to_date_period → period_to_date; moving_average (doesn’t exist) → window_avg(metric, -2..0, order: \u0026lt;ts\u0026gt;); rank() → rank(order:, partition:); top() → top(n, \u0026lt;dim\u0026gt;, by: \u0026lt;metric\u0026gt;). Missing DAX primitives: added of_all (for DAX ALL) + keep_grains (for ALLEXCEPT). Added caveat: running_total does not work w/ count_distinct. AQL execution-order doc: new section in dax-to-aql.md explaining the 7-step pipeline so users can diagnose why metrics diverge from DAX under filter/window combos. CLI/MCP rewire: SKILL.md mandates holistics aml validate + MCP tools (generate_aql, validate_aql, execute_aql) instead of hand-writing AQL. Predicate fixes: is for equality, matches for date predicates (e.g., where(orders.created_at matches @2024)). Then bumped to 0.1.1 (Ampcode bump). CODEOWNERS now @chinh-dm-holistics. Refs: Ampcode (fix). DONE — Onboarding call with [[BuyCo]] …","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1c754aca2e241cbd7615e4b5126757f4","permalink":"https://secondbrain.lelouvincx.com/post/pages/weekly-report---2026-w21/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/weekly-report---2026-w21/","section":"post","summary":"Weekly Report — May 18 – May 23, 2026 (friday mode) W21 (full week). Power BI migration theme dominated: (1) playbook published Mon → docs/conceptual-differences + docs/migrating-to-holistics; (2) end-to-end AW-Sales POC w/ value parity to the cent; (3) migrate-power-bi agent plugin shipped via holistics/skills#10, then bug-fix follow-up #12, then bumped to 0.1.1. Mid-week: BuyCo + Basata onboarding calls closed, Enhance Fitness RFP assessed ($4.6K/mo proposal in flight), SLA data pull delivered to Xairo, 1-on-1 report written. Late week: 2 Docs PRs (docs#1639 OAuth+MCP, docs#1640 from-others landing), PatientsKnowBest answered, Datacubed embed user tracking delivered. New WAITING: TerryWhite Chemmart data question (pending anh Tan Huynh). DAT-576 MRR exchange rate still NOT STARTED — 5-week carry-over remains the open wound; 1-on-1 escalation done but no resolution yet captured.\n","tags":["page"],"title":"Weekly Report - 2026-W21","type":"post"},{"authors":null,"categories":null,"content":" https://chatgpt.com/c/6924828b-1524-8329-9f0d-5227092010d2 Difference from Dev/Prod Dev/Prod: where code runs WAP = how each run of that code introduces new data into prod Still inside the Prod environment, only different in schema, not separate environment ","date":1779667200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"46ad2f1279deafd53deabb53399c5000","permalink":"https://secondbrain.lelouvincx.com/post/pages/write---audit---publish/","publishdate":"2026-05-25T00:00:00Z","relpermalink":"/post/pages/write---audit---publish/","section":"post","summary":" https://chatgpt.com/c/6924828b-1524-8329-9f0d-5227092010d2 Difference from Dev/Prod Dev/Prod: where code runs WAP = how each run of that code introduces new data into prod Still inside the Prod environment, only different in schema, not separate environment ","tags":["page"],"title":"Write - Audit - Publish","type":"post"},{"authors":null,"categories":null,"content":"Notes Bump holistics-migrate-power-bi skill to 0.1.1: ampcode\nTasks TODO Discuss narrative demo for Power BI migration TODO Power BI to Holistics - Themes\nTODO Fix markdown files are not found in docs.holistics.io\nPartly today DONE Track external users accessing embed dashboards of [[Datacubed]]\nCount embed dashboards: ampcode Answer Noe Ocampo on user identity tracking in embedded dashboards: ampcode He said will discuss with the team and get back. ((6a0f3a80-1253-4dc6-93f5-779ab8b4a5ee))\nDone DONE Make sure amp loads latest holistics skills DONE Beautify from-others landing page\nDONE Update docs with CLI’s OAuth and CLI’s MCP\nDONE Fix PBI-migrate skill wrong logic\n","date":1779408e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"00b102afa1f360f49c9cd1f86f2d1a28","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-22/","publishdate":"2026-05-22T00:00:00Z","relpermalink":"/post/journals/2026-05-22/","section":"post","summary":"Notes Bump holistics-migrate-power-bi skill to 0.1.1: ampcode\nTasks TODO Discuss narrative demo for Power BI migration TODO Power BI to Holistics - Themes\nTODO Fix markdown files are not found in docs.holistics.io\nPartly today DONE Track external users accessing embed dashboards of [[Datacubed]]\nCount embed dashboards: ampcode Answer Noe Ocampo on user identity tracking in embedded dashboards: ampcode He said will discuss with the team and get back. ((6a0f3a80-1253-4dc6-93f5-779ab8b4a5ee))\nDone DONE Make sure amp loads latest holistics skills DONE Beautify from-others landing page\n","tags":["journal"],"title":"2026-05-22","type":"post"},{"authors":null,"categories":null,"content":"Notes NOTE [[Predictive Index]], [[Presales]] - embed use case. Ampcode Slack https://tryopendata.ai/ Every public dataset, unified into one queryable API. Pretty cool for data side projects. https://www.omnigraph.dev/ Is like a lightweight version of Neo4j. Can self-host. It is a graph database. https://www.hubermanlab.com/topics/sleep-hygiene Sleep Hygiene could be a good resource when I have issue in sleep. [[Health Rules]] Tasks Partly today WAITING Support data question for [[TerryWhite Chemmart]]\nReproduce csv files: Ampcode (reproduce csv) Asking anh Tan Huynh. Done DONE Answer [[PatientsKnowBest]] ","date":1779321600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"30dfb452ee30f45ae9ffd6f08e6ee012","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-21/","publishdate":"2026-05-21T00:00:00Z","relpermalink":"/post/journals/2026-05-21/","section":"post","summary":"Notes NOTE [[Predictive Index]], [[Presales]] - embed use case. Ampcode Slack https://tryopendata.ai/ Every public dataset, unified into one queryable API. Pretty cool for data side projects. https://www.omnigraph.dev/ Is like a lightweight version of Neo4j. Can self-host. It is a graph database. https://www.hubermanlab.com/topics/sleep-hygiene Sleep Hygiene could be a good resource when I have issue in sleep. [[Health Rules]] Tasks Partly today WAITING Support data question for [[TerryWhite Chemmart]]\nReproduce csv files: Ampcode (reproduce csv) Asking anh Tan Huynh. Done DONE Answer [[PatientsKnowBest]] ","tags":["journal"],"title":"2026-05-21","type":"post"},{"authors":null,"categories":null,"content":"Notes Data Model Execute appears to be the main contributor the the issue. Is this driven more by the number of models we have, or by the volume of users accessing and running reports on those models? The usage page doesn’t provide enough detail to determine whether this activity this from test traffic, actual usage, or something else. Because the dashboard looks pretty basic. Tasks Partly today ((69e07b0f-7102-42ce-9aa3-f1cb9b84cb80)) ((6a0bfa24-637c-4eca-ad1e-73a795ff63a7)) Done DONE Write 1-on-1 report ","date":1779235200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"482136593c42141fc8969afd1266b2d2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-20/","publishdate":"2026-05-20T00:00:00Z","relpermalink":"/post/journals/2026-05-20/","section":"post","summary":"Notes Data Model Execute appears to be the main contributor the the issue. Is this driven more by the number of models we have, or by the volume of users accessing and running reports on those models? The usage page doesn’t provide enough detail to determine whether this activity this from test traffic, actual usage, or something else. Because the dashboard looks pretty basic. Tasks Partly today ((69e07b0f-7102-42ce-9aa3-f1cb9b84cb80)) ((6a0bfa24-637c-4eca-ad1e-73a795ff63a7)) Done DONE Write 1-on-1 report ","tags":["journal"],"title":"2026-05-20","type":"post"},{"authors":null,"categories":null,"content":"Notes IDEA Support other coding agents for logseq automation\nAmpcode [[Logseq]] Tasks Partly today DONE Pull data that shows Holistics response time and SLA DONE Publish the migrate-power-bi AI skill\nWaiting for anh Khai to review PR. Update docs.holistics.io to mention the skill. Done DONE Onboarding call 4 with [[Basata]] DONE Onboarding call with [[BuyCo]]\nPrepare technical onboarding checklist: Notion Use case - hide confidential data: Ampcode Debrief call. Ampcode DONE Watch the call with [[Enhance Fitness]] and assess the RFP list\n","date":1779148800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"220c1ac23227cdecd92b77e5f5ae442e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-19/","publishdate":"2026-05-19T00:00:00Z","relpermalink":"/post/journals/2026-05-19/","section":"post","summary":"Notes IDEA Support other coding agents for logseq automation\nAmpcode [[Logseq]] Tasks Partly today DONE Pull data that shows Holistics response time and SLA DONE Publish the migrate-power-bi AI skill\nWaiting for anh Khai to review PR. Update docs.holistics.io to mention the skill. Done DONE Onboarding call 4 with [[Basata]] DONE Onboarding call with [[BuyCo]]\nPrepare technical onboarding checklist: Notion Use case - hide confidential data: Ampcode Debrief call. Ampcode DONE Watch the call with [[Enhance Fitness]] and assess the RFP list\n","tags":["journal"],"title":"2026-05-19","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Presales]] try this exercise: Think of yourself as the sales person explaining how the feature works? How would you explain this diagram to someone? Where would you start? What does the flow look like? From there, see what kind of visuals would you add/modify to make the explanation smoother. LEARNING Claude Design is better than Google Stitch Observation: CD writes HTML code to design UI, while Google Stitch uses image generation. I personally prefer CD because I usually design conceptual diagram, which should be well-structured and easy to explain. This is super beautiful and usable: https://evilcharts.com/docs https://media.secondbrain.lelouvincx.com/2026/05/7904c74a3bfd586c80c40cb870a4476d.png [[Data Visualization]] Built with Recharts and Shadcn, I can think about reusing this for my [[Personal Finance]] website. https://playground.powerbi.com/en-us/showcases-gallery This site is very useful to reference to build Holistics own showcase. Tasks TODO Feedback - Publish via CLI? Partly today Done ((6a060370-7309-47ce-ac65-019683656a94)) ","date":1779062400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7effaf2a928be8f3464eb2585695163a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-18/","publishdate":"2026-05-18T00:00:00Z","relpermalink":"/post/journals/2026-05-18/","section":"post","summary":"Notes [[Presales]] try this exercise: Think of yourself as the sales person explaining how the feature works? How would you explain this diagram to someone? Where would you start? What does the flow look like? From there, see what kind of visuals would you add/modify to make the explanation smoother. LEARNING Claude Design is better than Google Stitch Observation: CD writes HTML code to design UI, while Google Stitch uses image generation. I personally prefer CD because I usually design conceptual diagram, which should be well-structured and easy to explain. This is super beautiful and usable: https://evilcharts.com/docs https://media.secondbrain.lelouvincx.com/2026/05/7904c74a3bfd586c80c40cb870a4476d.png [[Data Visualization]] Built with Recharts and Shadcn, I can think about reusing this for my [[Personal Finance]] website. https://playground.powerbi.com/en-us/showcases-gallery This site is very useful to reference to build Holistics own showcase. Tasks TODO Feedback - Publish via CLI? Partly today Done ((6a060370-7309-47ce-ac65-019683656a94)) ","tags":["journal"],"title":"2026-05-18","type":"post"},{"authors":null,"categories":null,"content":"Notes Ước tính tiền điện 1 tháng khoảng 800K.\n[[Weekly Report - 2026-W20]]\nLast week was a busy week because I moved to a temporary new house. There are some concerns: My parents’ thoughts Finance affordability. {{embed ((6a0968b5-8a2d-436a-bc88-fe35ca533fd5))}} {{embed ((6a0968b5-75cb-4344-95f1-636acd7e8123))}} The closest cognitive bridge for PBI users → AML/AQL: report.json + dataset.tmdl is the file-level analog of .dataset.aml + .model.aml. Use this in the conceptual diagram. IDEA serialize and model Logseq data to do reporting\nAmpcode [[Personal Productivity Analysis]] Tasks TODO Learn Descript TODO Soạn roadmap Spark cho Yên\nPartly today Done ","date":1778976e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8692f077c42a088861f31d73e571b309","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-17/","publishdate":"2026-05-17T00:00:00Z","relpermalink":"/post/journals/2026-05-17/","section":"post","summary":"Notes Ước tính tiền điện 1 tháng khoảng 800K.\n[[Weekly Report - 2026-W20]]\nLast week was a busy week because I moved to a temporary new house. There are some concerns: My parents’ thoughts Finance affordability. {{embed ((6a0968b5-8a2d-436a-bc88-fe35ca533fd5))}} {{embed ((6a0968b5-75cb-4344-95f1-636acd7e8123))}} The closest cognitive bridge for PBI users → AML/AQL: report.json + dataset.tmdl is the file-level analog of .dataset.aml + .model.aml. Use this in the conceptual diagram. IDEA serialize and model Logseq data to do reporting\n","tags":["journal"],"title":"2026-05-17","type":"post"},{"authors":null,"categories":null,"content":"Notes VCT Pacific 2026, Stage 1 moments\nVery entertain, fun event. It’s a good thing for mental health because this is valorant, the game I like. https://media.secondbrain.lelouvincx.com/2026/05/9f2a3d31aaf08f925349e98afb7e9ac8.mp4 https://media.secondbrain.lelouvincx.com/2026/05/7121c1c36a5e6d1a03c6b6655ac69c9a.jpg https://media.secondbrain.lelouvincx.com/2026/05/4df2af92363fe2d1ed1cdb5f3d1ad6d0.mp4 Tasks Partly today Done ","date":1778889600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c5e19ebcfed369078136639b8dff06be","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-16/","publishdate":"2026-05-16T00:00:00Z","relpermalink":"/post/journals/2026-05-16/","section":"post","summary":"Notes VCT Pacific 2026, Stage 1 moments\nVery entertain, fun event. It’s a good thing for mental health because this is valorant, the game I like. https://media.secondbrain.lelouvincx.com/2026/05/9f2a3d31aaf08f925349e98afb7e9ac8.mp4 https://media.secondbrain.lelouvincx.com/2026/05/7121c1c36a5e6d1a03c6b6655ac69c9a.jpg https://media.secondbrain.lelouvincx.com/2026/05/4df2af92363fe2d1ed1cdb5f3d1ad6d0.mp4 Tasks Partly today Done ","tags":["journal"],"title":"2026-05-16","type":"post"},{"authors":null,"categories":null,"content":"Notes NOTE [[BuyCo]] Luc did some tests with embedding.\nNOTE This image is good to illustrate development workflow with a BI tool\nhttps://media.secondbrain.lelouvincx.com/2026/05/ef430892fc2b0d6ea66153e5202e0c0f.png Tasks Partly today DONE Power BI → Holistics playbook Plan\nNeed a diagram presenting the high-level conceptual mapping between PBI and Holistics. Present it. Present the migration workflow as diagram. Tableau to Sigma\nLack of easy-to-understand conceptual diagram that explains how concepts are translating from Tableau to Sigma. Video is long, lost patience. https://learn.microsoft.com/en-us/power-bi/developer/projects/projects-report?tabs=v2,desktop\nhttps://learn.microsoft.com/en-us/power-bi/developer/projects/projects-dataset\nLet anh Khai To and anh Huy to review.\nReview done. Answer their reviews and publish to docs first.\nPolishing conceptual diagram from hand-written diagram:\nhttps://media.secondbrain.lelouvincx.com/2026/05/dc5d1526ea97f7df9a3e149309f383b7.png\nClaude Design: https://claude.ai/design/p/282aa005-523c-4ad7-a5be-b4b5bc48a884?file=Power+BI+to+Holistics.html https://media.secondbrain.lelouvincx.com/2026/05/1e731c748b287b98e530bdf7e3d08db5.png DONE Polish content\nhttps://docs.holistics.io/docs/from-others/power-bi/conceptual-differences\nhttps://docs.holistics.io/docs/from-others/power-bi/migrating-to-holistics\nDONE Send Slack\n- Start a POC - [Ampcode (check PBI file)](T-019e3a96-b704-735a-b377-03559bd1e718) - 1. Requirements: - A Power BI report, saved as code: - https://media.secondbrain.lelouvincx.com/2026/05/e1720c1db53d2102425fdc28175bcf04.mp4 - Including: - `.SemanticModel` - `.Report` - https://media.secondbrain.lelouvincx.com/2026/05/9876e2a88e553bb72cb3700592111192.png - Data available in database (motherduck) - [Ampcode (load data)](T-019e3ab1-f196-73ea-b48f-0dc8615a9964) - 2. Check the data source is connected to Holistics and can query data - https://media.secondbrain.lelouvincx.com/2026/05/094d695f8f96eb37b0b25b730ed62dad.png - 3. Start migrating session - Local CLI - Claude Code with skills (migration skills) and MCP loaded - [Ampcode (create migration skill)](T-019e3ac2-fe5b-7752-986a-c0fbfa803cab) - 4. Migrate - [Ampcode (code execution)](T-019e3ad6-3a6b-73fe-8e9f-6fb92301ec91) - (Optional) Move heavy ETL out of Power Query (M) into upstream SQL or dbt - Convert **tables** to Holistics models (table or query type) - Convert **relationships** to Holistics dataset relationships - Convert **DAX measures** to AQL / SQL metrics - Convert **calculated columns** to dimensions - Rebuild **reports** as Holistics dashboards - Result: https://media.secondbrain.lelouvincx.com/2026/05/b471daee99d2d9f4ef8f76bda92b1fab.mp4 - LEARNING Power BI Migration - PBIP not actually saved in TMDL mode. Power BI Desktop writes the per-table .tmdl files only when you do File → Save on the .pbip/.pbism with the \u0026#34;Store semantic model using TMDL format\u0026#34; preview enabled. If you only opened the .pbix, Desktop may scaffold the folder shells (.platform, definition.pbism, empty definition/tables, definition/cultures) without serializing. - Remember to enable `pbip` save as format - https://media.secondbrain.lelouvincx.com/2026/05/ab05aecd78cc6258e7a6da7bc4cfd7ac.png Done ","date":1778803200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"089b24f446eab6f2cdae98630f96fad1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-15/","publishdate":"2026-05-15T00:00:00Z","relpermalink":"/post/journals/2026-05-15/","section":"post","summary":"Notes NOTE [[BuyCo]] Luc did some tests with embedding.\nNOTE This image is good to illustrate development workflow with a BI tool\nhttps://media.secondbrain.lelouvincx.com/2026/05/ef430892fc2b0d6ea66153e5202e0c0f.png Tasks Partly today DONE Power BI → Holistics playbook Plan\nNeed a diagram presenting the high-level conceptual mapping between PBI and Holistics. Present it. Present the migration workflow as diagram. Tableau to Sigma\nLack of easy-to-understand conceptual diagram that explains how concepts are translating from Tableau to Sigma. Video is long, lost patience. https://learn.microsoft.com/en-us/power-bi/developer/projects/projects-report?tabs=v2,desktop\n","tags":["journal"],"title":"2026-05-15","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69ccaad3-3e26-48cf-961f-903ba20b63f7)) Done DONE Correct dashboard [Datacubed] Query Runs Monitoring\nAdd some dynamic content blocks to explain better. Ampcode\nDONE Sync to prepare the call with BuyCo ","date":1778716800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"843d77a600a1f4ed5c011d7fc3cddf8e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-14/","publishdate":"2026-05-14T00:00:00Z","relpermalink":"/post/journals/2026-05-14/","section":"post","summary":"Notes Tasks Partly today ((69ccaad3-3e26-48cf-961f-903ba20b63f7)) Done DONE Correct dashboard [Datacubed] Query Runs Monitoring\nAdd some dynamic content blocks to explain better. Ampcode\nDONE Sync to prepare the call with BuyCo ","tags":["journal"],"title":"2026-05-14","type":"post"},{"authors":null,"categories":null,"content":"Notes LEARNING \u0026amp;nbsp; stands for non-breaking space in markdown. Pretty useful when I want a blank text block in Holistics just for presenting purpose. To set up local development with Holistics Enable Git Workflow, connect to a remote repository (github/gitlab/bitbucket) logseq.order-list-type:: number Clone logseq.order-list-type:: number Install CLI (for 2 way code sync, aml validation) logseq.order-list-type:: number Auth CLI with API token logseq.order-list-type:: number Feedbacks logseq.order-list-type:: number If I’ve already installed, need a command holistic whoami to check. logseq.order-list-type:: number The --version need to show current version is latest or not. logseq.order-list-type:: number (Optional) Install MCP (for tools) logseq.order-list-type:: number (Optional) Install skills (for better instructions) logseq.order-list-type:: number Start code sync session: holistics code-sync . logseq.order-list-type:: number https://media.secondbrain.lelouvincx.com/2026/05/770af9193a073e2a539926a600914f28.png Tasks Partly today Done DONE Apply theme for BuyCo’s Volumes dashboard ","date":1778630400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"579ba156620150b339e21efd218565d3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-13/","publishdate":"2026-05-13T00:00:00Z","relpermalink":"/post/journals/2026-05-13/","section":"post","summary":"Notes LEARNING \u0026nbsp; stands for non-breaking space in markdown. Pretty useful when I want a blank text block in Holistics just for presenting purpose. To set up local development with Holistics Enable Git Workflow, connect to a remote repository (github/gitlab/bitbucket) logseq.order-list-type:: number Clone logseq.order-list-type:: number Install CLI (for 2 way code sync, aml validation) logseq.order-list-type:: number Auth CLI with API token logseq.order-list-type:: number Feedbacks logseq.order-list-type:: number If I’ve already installed, need a command holistic whoami to check. logseq.order-list-type:: number The --version need to show current version is latest or not. logseq.order-list-type:: number (Optional) Install MCP (for tools) logseq.order-list-type:: number (Optional) Install skills (for better instructions) logseq.order-list-type:: number Start code sync session: holistics code-sync . logseq.order-list-type:: number https://media.secondbrain.lelouvincx.com/2026/05/770af9193a073e2a539926a600914f28.png Tasks Partly today Done DONE Apply theme for BuyCo’s Volumes dashboard ","tags":["journal"],"title":"2026-05-13","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69fc62b8-c435-4d0d-9dff-23d8e0c916b8)) Done DONE Fix rg/grep problem when hooked by rtk DONE Alias unnamed columns for store_failures views\n","date":1778544e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e9948546db214c26a0fd0a10cf348de6","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-12/","publishdate":"2026-05-12T00:00:00Z","relpermalink":"/post/journals/2026-05-12/","section":"post","summary":"Notes Tasks Partly today ((69fc62b8-c435-4d0d-9dff-23d8e0c916b8)) Done DONE Fix rg/grep problem when hooked by rtk DONE Alias unnamed columns for store_failures views\n","tags":["journal"],"title":"2026-05-12","type":"post"},{"authors":null,"categories":null,"content":"Notes https://www.reddit.com/r/theprimeagen/comments/1t8rgzf/has_this_brutal_job_market_changed_how_you_look\n“Be loyal to your network, not the company.” Tasks Partly today ((69e07b0f-7102-42ce-9aa3-f1cb9b84cb80)) Done ((69e49c4a-0521-427f-8298-04b39bb5004d)) DONE Fix dashboard Country Breakdown, dynamic markdown displaying single country value DONE If I add a new fixed monthly expense X (e.g. house rent of 4M VND), what does my projected monthly expense and savings rate look like?\nCurrently, house rental is 1.5M VND, increasing to 4M VND =\u0026gt; +2.5M\nThe goal is to survive on company salary alone, without touching the salary from teaching. Any teaching/petty income = direct savings.\nHere is the estimated result:\nhttps://media.secondbrain.lelouvincx.com/2026/05/2b9cf1729221b6a7811aa7a76db24e85.png It reduce a little amount of net saving. The goal is positive if I move to a new house. Only salary income can handle basic expenses, and I have to cut down/adjust some: giving, cafe, cloud services, game, etc. In the next 1.5 years, when I won’t teach, monthly income will reduce -16M VND. That will be worrying at that time. But currently, it’s safe enough to make decision. DONE UXUI release v0.4.6\n","date":1778457600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0555d9cdc3b293cbd394c8f87b7555f1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-11/","publishdate":"2026-05-11T00:00:00Z","relpermalink":"/post/journals/2026-05-11/","section":"post","summary":"Notes https://www.reddit.com/r/theprimeagen/comments/1t8rgzf/has_this_brutal_job_market_changed_how_you_look\n“Be loyal to your network, not the company.” Tasks Partly today ((69e07b0f-7102-42ce-9aa3-f1cb9b84cb80)) Done ((69e49c4a-0521-427f-8298-04b39bb5004d)) DONE Fix dashboard Country Breakdown, dynamic markdown displaying single country value DONE If I add a new fixed monthly expense X (e.g. house rent of 4M VND), what does my projected monthly expense and savings rate look like?\nCurrently, house rental is 1.5M VND, increasing to 4M VND =\u003e +2.5M\nThe goal is to survive on company salary alone, without touching the salary from teaching. Any teaching/petty income = direct savings.\n","tags":["journal"],"title":"2026-05-11","type":"post"},{"authors":null,"categories":null,"content":"Notes NOTE When review a holistics PR, I want to:\nView detailed change of dashboard: semantically what has been changed? Dashboard: which part of dashboard is changed (new filter/widget, move position, filter mapping) Tasks Partly today ((69e49c4a-0521-427f-8298-04b39bb5004d)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Shorten dbt README DONE Bicycle Transit questions\nQuestion: support for? Data source: Microsoft Fabric Data Warehouse At the moment, no. But we already have existing components in our system: SQL Server (without local SQL account) and Entra ID. Ask modeling team (anh Huy Vu, engineer) is it quick to support this? Since Bicycle Transit guys said “Entra ID is the only auth method for Azure databases, which nobody (Rill, Omni) does not provide yet”. SSO: Microsoft Entra ID / Azure AD SSO We already support Azure AD for SSO. FYI: Azure AD and Entra ID are the same, Entra ID is just rebranded in mid-2023. ((69fd5491-aaac-4137-92f4-170378c38911)) Azure DevOps Azure DevOps no per-repo deploy key. SSH key sit on user account, not repo. So BTS need dedicated service user, grant permission on target repo only, paste our pubkey into that user’s SSH Public Keys page. Not a hack. Standard pattern. Valohai, Flux CD, ArgoCD all document same approach for Azure DevOps. BTS devops team will recognize. More catches: Azure DevOps RSA only (rsa-sha2-256/512). No Ed25519. Need confirm what algo our generator emits. SSH URL format: git@ssh.dev.azure.com:v3/\u0026lt;org\u0026gt;/\u0026lt;project\u0026gt;/\u0026lt;repo\u0026gt;. Confirm “Other/SSH” dialog parse it ok. No PR Workflow parity. GitHub App-only feature. PRs handled outside Holistics. DONE fix(calendly): use unique_combination_of_columns for dom_calendly__bookings\nDONE Update docs to mention Entra ID\n","date":1778198400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d8c28e828fe1191bd650e027490d6f90","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-08/","publishdate":"2026-05-08T00:00:00Z","relpermalink":"/post/journals/2026-05-08/","section":"post","summary":"Notes NOTE When review a holistics PR, I want to:\nView detailed change of dashboard: semantically what has been changed? Dashboard: which part of dashboard is changed (new filter/widget, move position, filter mapping) Tasks Partly today ((69e49c4a-0521-427f-8298-04b39bb5004d)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Shorten dbt README DONE Bicycle Transit questions\nQuestion: support for? Data source: Microsoft Fabric Data Warehouse At the moment, no. But we already have existing components in our system: SQL Server (without local SQL account) and Entra ID. Ask modeling team (anh Huy Vu, engineer) is it quick to support this? Since Bicycle Transit guys said “Entra ID is the only auth method for Azure databases, which nobody (Rill, Omni) does not provide yet”. SSO: Microsoft Entra ID / Azure AD SSO We already support Azure AD for SSO. FYI: Azure AD and Entra ID are the same, Entra ID is just rebranded in mid-2023. ((69fd5491-aaac-4137-92f4-170378c38911)) Azure DevOps Azure DevOps no per-repo deploy key. SSH key sit on user account, not repo. So BTS need dedicated service user, grant permission on target repo only, paste our pubkey into that user’s SSH Public Keys page. Not a hack. Standard pattern. Valohai, Flux CD, ArgoCD all document same approach for Azure DevOps. BTS devops team will recognize. More catches: Azure DevOps RSA only (rsa-sha2-256/512). No Ed25519. Need confirm what algo our generator emits. SSH URL format: git@ssh.dev.azure.com:v3/\u003corg\u003e/\u003cproject\u003e/\u003crepo\u003e. Confirm “Other/SSH” dialog parse it ok. No PR Workflow parity. GitHub App-only feature. PRs handled outside Holistics. DONE fix(calendly): use unique_combination_of_columns for dom_calendly__bookings\n","tags":["journal"],"title":"2026-05-08","type":"post"},{"authors":null,"categories":null,"content":"Notes Amp, Rebuilt\nGet inspired by the new feature Plugins. From it I can do some fine-grained control on amp threads lifecycle. For example: Modify the data result from json to markdown after calling tool AQL. Log failure/error Holistics MCP’s tool calling to improve the tools and skills further. Trigger rtk automatically. Will think about more use cases. Generally relate to [[Logseq]]. Tasks Partly today ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Create an amp plugin to log error called to Holistics MCP tools\n/Users/lelouvincx/.config/amp/logs/holistics-mcp-errors.jsonl\nWill check monthly and improve.\nDONE Install slackcli to latest version\nDONE [[BuyCo]] - custom theme\n","date":1778112e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"48cbcad1202872d433796c8221ff7b55","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-07/","publishdate":"2026-05-07T00:00:00Z","relpermalink":"/post/journals/2026-05-07/","section":"post","summary":"Notes Amp, Rebuilt\nGet inspired by the new feature Plugins. From it I can do some fine-grained control on amp threads lifecycle. For example: Modify the data result from json to markdown after calling tool AQL. Log failure/error Holistics MCP’s tool calling to improve the tools and skills further. Trigger rtk automatically. Will think about more use cases. Generally relate to [[Logseq]]. Tasks Partly today ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Create an amp plugin to log error called to Holistics MCP tools\n","tags":["journal"],"title":"2026-05-07","type":"post"},{"authors":null,"categories":null,"content":"Notes Getting this email: Congrats on passing 10,000 Pageviews from Cloudflare\nPretty cool. Reminds me of every year spotify send users an analytic wrap up on usage data. Holistics can do that too. It’s like a present for a engaged year with customers. https://media.secondbrain.lelouvincx.com/2026/05/505b9d1dc081dbcc125a7ef90677fb6f.png https://media.secondbrain.lelouvincx.com/2026/05/3972d265e075da4ad8c4310a709054f2.png Check current practice regarding running CI tests on bigquery separately from dev bigquery What detailed is merging HubSpot, a new company ID or reuse old ID, if so, which one? DAT-556: ignore for now. Waiting for fixing the root cause at domain mapping. LEARNING This amp thread is the early sign that AI-assisted BI development is coming up. With enough knowledge, tooling and data, it can do anything. IDEA auto-format tool execute_aql result from default JSON to markdown for better LLM token saving Ampcode Tasks Partly today ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) DONE Support ticket Done ((69f8d0d3-358b-49f4-a5ff-e0be56dd9b22)) DONE Set up Holistics MCP to query development metrics under local (only MCP) https://holistics.slack.com/archives/CP38TMPNU/p1778045553368569\n","date":1778025600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dff608fbd3e5a3d4f84a9cc4e49f40f7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-06/","publishdate":"2026-05-06T00:00:00Z","relpermalink":"/post/journals/2026-05-06/","section":"post","summary":"Notes Getting this email: Congrats on passing 10,000 Pageviews from Cloudflare\nPretty cool. Reminds me of every year spotify send users an analytic wrap up on usage data. Holistics can do that too. It’s like a present for a engaged year with customers. https://media.secondbrain.lelouvincx.com/2026/05/505b9d1dc081dbcc125a7ef90677fb6f.png https://media.secondbrain.lelouvincx.com/2026/05/3972d265e075da4ad8c4310a709054f2.png Check current practice regarding running CI tests on bigquery separately from dev bigquery What detailed is merging HubSpot, a new company ID or reuse old ID, if so, which one? DAT-556: ignore for now. Waiting for fixing the root cause at domain mapping. LEARNING This amp thread is the early sign that AI-assisted BI development is coming up. With enough knowledge, tooling and data, it can do anything. IDEA auto-format tool execute_aql result from default JSON to markdown for better LLM token saving Ampcode Tasks Partly today ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) DONE Support ticket Done ((69f8d0d3-358b-49f4-a5ff-e0be56dd9b22)) DONE Set up Holistics MCP to query development metrics under local (only MCP) https://holistics.slack.com/archives/CP38TMPNU/p1778045553368569\n","tags":["journal"],"title":"2026-05-06","type":"post"},{"authors":null,"categories":null,"content":"Notes How We Built an AI Second Brain for 60K Knowledge Workers\nI guess this is a thing future data teams pivot to: building a company-level second brain by ingesting and transforming company-wide data (slack, notion, readai, hubspot, zoho, etc). IDEA Daily cronjob to ingest all slack activities (ref) including threads, mention, etc. The trigger is not every slack thread I input in logseq is enough (though 80%). Also need to ingest information that are right now not related to me but in future.\nNOTE To prep a mock demo for a prospect:\nA use case A sample dashboard Mock data: Schema (DBML) Mock program Import into a database Connect db with Holistics AMQL assets: Models, check data Datasets: add models, add relationships, add metrics Dashboard Double-check dashboard UI Generate theme Feedback: generated from our theme builder https://media.secondbrain.lelouvincx.com/2026/05/237a4835bb916a3e155ecef9566f9147.png Create embed portal Update host app to render the new portal Feedback: AI skills still using wrong AMQL syntax: where(fact_trips.user_role = \u0026#39;rider\u0026#39;): wrong, should be == where(is_null(dim_bike.retired_at)): wrong, function is_null() not existed Not good at using dynamic markdown syntax: **Network performance for the selected period:** {{ user_trips_now }} user trips, {{ revenue_now }} in net revenue, across {{ active_stations_now }} active stations and {{ active_bikes_now }} active bikes. Note to get back later: https://www.linkedin.com/jobs/view/4407948340/ Tasks Partly today ((69e49c4a-0521-427f-8298-04b39bb5004d)) Done DONE Fix this bigquery cli: /Users/lelouvincx/.local/share/mise/installs/gcloud/558.0.0/platform/bq/third_party/requests/__init__.py:103: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (7.4.3)/charset_normalizer (2.0.7) doesn\u0026#39;t match a supported version! DONE Prep for anh Nam’s call with Bicycle Transit\nDONE Align Data Import schedules\n","date":1777939200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"00355a28ff925497f68580c716e8051a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-05/","publishdate":"2026-05-05T00:00:00Z","relpermalink":"/post/journals/2026-05-05/","section":"post","summary":"Notes How We Built an AI Second Brain for 60K Knowledge Workers\nI guess this is a thing future data teams pivot to: building a company-level second brain by ingesting and transforming company-wide data (slack, notion, readai, hubspot, zoho, etc). IDEA Daily cronjob to ingest all slack activities (ref) including threads, mention, etc. The trigger is not every slack thread I input in logseq is enough (though 80%). Also need to ingest information that are right now not related to me but in future.\n","tags":["journal"],"title":"2026-05-05","type":"post"},{"authors":null,"categories":null,"content":"Notes We lost [[Showbie]]\nSlack threads: https://holistics.slack.com/archives/C04QCTRQCSC/p1777907068306159 https://holistics.slack.com/archives/C04QCTRQCSC/p1777907068381359 https://holistics.slack.com/archives/C08EN0G719N/p1774609569429499 I feel sad because I did put a lot of effort into this. I like them too. So I have high expectation that we could win this deal. They went with Omni. Afterward, all I want is their personal feedback between the tools. Knowing Omni’s advantages is a must learn today. We lose some points against Omni. But some lessons I find it valuable. Tomorrow I will synthesize learning points I take from this deal. I won’t just lose without gaining anything. Today glad that anh Thanh (chief engineer) came to me and discuss AI-assisted AQL building.\nI did not remember the detailed conversation, but it is a good signal that he recognized me as a part of Data and Presales team, who can make impact. Generally, AI skills is one of artifact. In the AI era, standalone BI is not enough. What’s even more valuable than BI is the process. How can we sale and impress prospects with that. To magnify Holistics advantages, mainly focusing on as-code, AI-native. Tasks Partly today DONE Follow up on [[BuyCo]]’s triage tickets\nContinue checking on the 14 threads opened in #holistics-buyco-external (workarounds + product gaps + open investigations). Especially watch for replies from PMs (Vy Huynh, Hien Nguyen, Di Hoang) on items 1, 2, 4, 11; from BuyCo on the drilldown screen recording (item 10). Item 13: Ampcode Slack Item 14: Ampcode Slack Custom theme: Ampcode ((69e49c4a-0521-427f-8298-04b39bb5004d))\nDone DONE Set up GitHub App for bi.holistics.io ((69f0d9bd-019e-4626-adf7-1e08702a8303))\n((69f028a2-3870-4f62-ba07-c9a36c0647b6))\n","date":1777852800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2182ff746c68d087a69fd44ea7cf91ff","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-04/","publishdate":"2026-05-04T00:00:00Z","relpermalink":"/post/journals/2026-05-04/","section":"post","summary":"Notes We lost [[Showbie]]\nSlack threads: https://holistics.slack.com/archives/C04QCTRQCSC/p1777907068306159 https://holistics.slack.com/archives/C04QCTRQCSC/p1777907068381359 https://holistics.slack.com/archives/C08EN0G719N/p1774609569429499 I feel sad because I did put a lot of effort into this. I like them too. So I have high expectation that we could win this deal. They went with Omni. Afterward, all I want is their personal feedback between the tools. Knowing Omni’s advantages is a must learn today. We lose some points against Omni. But some lessons I find it valuable. Tomorrow I will synthesize learning points I take from this deal. I won’t just lose without gaining anything. Today glad that anh Thanh (chief engineer) came to me and discuss AI-assisted AQL building.\n","tags":["journal"],"title":"2026-05-04","type":"post"},{"authors":null,"categories":null,"content":"Notes Ask HN: Building a solo business is impossible?\nAmpcode The Beauty of Bonsai Styles\n{{video https://www.youtube.com/watch?v=ooR-f3vx_RY\u0026amp;t=1364s}} A really cool experience to learn about types of bonsai and the art of doing bonsai. Today I learn bonsai is the art of nurturing and training the tree so that it simulates the long-lived trees in nature. There are several types of bonsai: Formal upright / chokan: https://media.secondbrain.lelouvincx.com/2026/05/76a910d7498a242190058583249fde46.png Informal upright / Moyogi: https://media.secondbrain.lelouvincx.com/2026/05/8685c9ecf81cafc96d141b93589a71cc.png Slanting style / Shakan: https://media.secondbrain.lelouvincx.com/2026/05/b17b3a7d01d2f5a8c89f4231df902df2.png Cascade style / Kengai: https://media.secondbrain.lelouvincx.com/2026/05/0750ee5d9597181d3acb9e262a80c23d.png Forest style / Yose-ue: https://media.secondbrain.lelouvincx.com/2026/05/959460b1f948ad9392f904cebe0d3178.png To me the most beautiful ones are formal style (Chokan) and forest style (Yose-ue). If had a chance I would visit this garden once. [[Badminton]] Today I play badminton, realized that I am now so so weak. Just play for a while (30 min) but started to breath miserably. One reason could be I was hungry, didn’t eat since early morning. But actually my health is actually going down. Tasks Partly today Done DONE Version v0.4.5 DONE Install Caveman skill and use for a while\nDONE Version v0.4\n","date":1777766400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"69ca7050800457fe111f81a9b9b6fc11","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-03/","publishdate":"2026-05-03T00:00:00Z","relpermalink":"/post/journals/2026-05-03/","section":"post","summary":"Notes Ask HN: Building a solo business is impossible?\nAmpcode The Beauty of Bonsai Styles\n{{video https://www.youtube.com/watch?v=ooR-f3vx_RY\u0026t=1364s}} A really cool experience to learn about types of bonsai and the art of doing bonsai. Today I learn bonsai is the art of nurturing and training the tree so that it simulates the long-lived trees in nature. There are several types of bonsai: Formal upright / chokan: https://media.secondbrain.lelouvincx.com/2026/05/76a910d7498a242190058583249fde46.png Informal upright / Moyogi: https://media.secondbrain.lelouvincx.com/2026/05/8685c9ecf81cafc96d141b93589a71cc.png Slanting style / Shakan: https://media.secondbrain.lelouvincx.com/2026/05/b17b3a7d01d2f5a8c89f4231df902df2.png Cascade style / Kengai: https://media.secondbrain.lelouvincx.com/2026/05/0750ee5d9597181d3acb9e262a80c23d.png Forest style / Yose-ue: https://media.secondbrain.lelouvincx.com/2026/05/959460b1f948ad9392f904cebe0d3178.png To me the most beautiful ones are formal style (Chokan) and forest style (Yose-ue). If had a chance I would visit this garden once. [[Badminton]] Today I play badminton, realized that I am now so so weak. Just play for a while (30 min) but started to breath miserably. One reason could be I was hungry, didn’t eat since early morning. But actually my health is actually going down. Tasks Partly today Done DONE Version v0.4.5 DONE Install Caveman skill and use for a while\n","tags":["journal"],"title":"2026-05-03","type":"post"},{"authors":null,"categories":null,"content":"Notes https://news.ycombinator.com/item?id=47919882 “I was surprised not to see any discussion on whether the author used AI to help write this post. As many people say, writing is thinking.” Make me think: if I’m using AI to write, do I even think? Sometimes, yes. I need it to create a sample boilerplate, then I edit on that. But it is not good when I write daily journal, should be done 100% by me. Because writing is thinking. Tasks Partly today Done ","date":177768e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9aa102b8cdd5155c732c9ea8e94ea16a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-05-02/","publishdate":"2026-05-02T00:00:00Z","relpermalink":"/post/journals/2026-05-02/","section":"post","summary":"Notes https://news.ycombinator.com/item?id=47919882 “I was surprised not to see any discussion on whether the author used AI to help write this post. As many people say, writing is thinking.” Make me think: if I’m using AI to write, do I even think? Sometimes, yes. I need it to create a sample boilerplate, then I edit on that. But it is not good when I write daily journal, should be done 100% by me. Because writing is thinking. Tasks Partly today Done ","tags":["journal"],"title":"2026-05-02","type":"post"},{"authors":null,"categories":null,"content":"Notes https://waitbutwhy.com/2013/11/how-to-beat-procrastination.html\nhttps://media.secondbrain.lelouvincx.com/2026/04/60139e01b905173a831f0f02d07d6fbd.png Some quotes: “Procrastinators love planning. But when procrastinators plan, they like to do it in a vague way that doesn’t consider details or reality too closely, and their planning leaves them perfectly set up to not actually accomplish anything.” “Effective planning takes a big list and selects a winner.” The advice is right: long carry-over tasks often have a procrastination root, not a priority root. Indeed, there are some tasks like this. One of the reasons is it’s too vague, and I feel hard to get started. LEARNING For vague tasks, try time-blocking, try to deal with it, understand it and make it less vague. https://opensource.posit.co/blog/2026-04-20_ggsql_alpha_release/\n[[Data Visualization]]\nSimilar: ((69abe62c-fb13-405d-b952-c1e39a612780))\nThis is good. One of the use case I think about is the ease to embed into text-based documents like markdown or even an LLM-friendly chat. How similar it is to Mermaid.\nIf it goes with this direction I think would be very useful in term of quickly visualizing the chart, without:\nSetting up a complex BI tool. Bundle the heavy python/javascript environment. Declarative enough syntax.\nVISUALIZE island AS x, species AS color FROM ggsql:penguins DRAW bar https://media.secondbrain.lelouvincx.com/2026/04/a487a9276f7f1d0ea0f513931ad67665.png\nhttps://newsletter.weskao.com/p/how-to-be-concise\nWhat is the most important thing to say? Column-level lineage is moving from differentiator to table stakes\nSaw two posts back-to-back this week regarding column-level lineage that crystallized something for me. https://www.linkedin.com/pulse/automatic-column-level-data-lineage-duckdb-adam-lichtenstein-bmgyf/ https://www.linkedin.com/feed/update/urn:li:activity:7451163181760110592/ (author of dbt-erd, pretty well-known) Column-level lineage used to be a competitive differentiator (dbt builds this for only cloud version). With coding agents, a single dev can ship a credible v1 over a weekend (example). https://benn.substack.com/p/how-do-you-make-a-chart\n[[Vibe Analytics]] It’s the future of analytics, some say. There is no more visualization software. That’s what gets replaced. Don’t buy Tableau; instead, open Claude Code or Codex, and ask it to make a custom dashboard in JavaScript or Python. And that’s better than using dedicated charting tool, because with JavaScript or Python, you can build anything you want. We’ve talked about this a number of times before: The real future of analytics might not be analytics, but vibes: If AI is good at anything, it is good at interpreting the vibes. It is good at aggregating massive amounts of text—and increasingly, of video and audio—into its approximate average. Give it your support tickets and customer communications, and ask it questions about what it read. Don’t classify and categorize images; just ask an AI model what it thinks it sees,-as%20output%20FROM). … Ask it for the vibes. Tasks Partly today Done DONE Install RTK rewrite hook ","date":1777507200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"576d0ccd99bbfb8cb4be199edb702e09","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-30/","publishdate":"2026-04-30T00:00:00Z","relpermalink":"/post/journals/2026-04-30/","section":"post","summary":"Notes https://waitbutwhy.com/2013/11/how-to-beat-procrastination.html\nhttps://media.secondbrain.lelouvincx.com/2026/04/60139e01b905173a831f0f02d07d6fbd.png Some quotes: “Procrastinators love planning. But when procrastinators plan, they like to do it in a vague way that doesn’t consider details or reality too closely, and their planning leaves them perfectly set up to not actually accomplish anything.” “Effective planning takes a big list and selects a winner.” The advice is right: long carry-over tasks often have a procrastination root, not a priority root. Indeed, there are some tasks like this. One of the reasons is it’s too vague, and I feel hard to get started. LEARNING For vague tasks, try time-blocking, try to deal with it, understand it and make it less vague. https://opensource.posit.co/blog/2026-04-20_ggsql_alpha_release/\n","tags":["journal"],"title":"2026-04-30","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today Done DONE Check BuyCo ticket Watch demo call first.\nQuestions: 3:34 How caching works toward pushing queries down MotherDuck (their data warehouse)? 6:54 AQL experience was not straightforward (although he has SQL background). AI not very reliable. 48:30 Dashboard has toggle to hide/show filters 1:06:51 I know that they may have like a modeling language. And I can see that other tools having their own query language or modeling language, is something that you intend somehow to release as open source stuff or what’s the vision? I want you to have the vision behind that, the AQL, AML, and so on, and how it relates, if something could be also translated from some other modeling language. Big language. 1:10:42 Customize theme for BuyCo 1:21:30 No, just, just, I was also wondering the, some of the examples you’ve shown there, is it something that we could get inspired if we have like, like, like kind of a sample project somehow, could we have access to some such a software to get inspired and to say, okay, the best practice is to shape the AML this way, the AQL this way, the model this way, and the dashboard also. I don’t know. I guess it could help us to get inspired without having to ask questions all the time. Treat this as higher priority as per anh Huy’s words: “This is an active prospect that’s evaluating us (they do like us so high chance of conversion), so please work with some urgency”\nNote to schedule the next call.\nSplit items into threads in their Slack at #holistics-buyco-external\nItem 1: https://holistics.slack.com/archives/C0B04CXNX3L/p1777453012716189\nItem 2: https://holistics.slack.com/archives/C0B04CXNX3L/p1777455079480329\nItem 3, 8, 12: https://holistics.slack.com/archives/C0B04CXNX3L/p1777455246981959\nItem 4: https://holistics.slack.com/archives/C0B04CXNX3L/p1777456154597669\nItem 6: https://holistics.slack.com/archives/C0B04CXNX3L/p1777457485842369\nItem 7: https://holistics.slack.com/archives/C0B04CXNX3L/p1777458190092889\nItem 9: https://holistics.slack.com/archives/C0B04CXNX3L/p1777458470275839\nItem 10: https://holistics.slack.com/archives/C0B04CXNX3L/p1777458700894709\nItem 11: https://holistics.slack.com/archives/C0B04CXNX3L/p1777458909875659\nItem 13: https://holistics.slack.com/archives/C0B04CXNX3L/p1777459120978079\nItem 14: https://holistics.slack.com/archives/C0B04CXNX3L/p1777459369737459\nAMQL vision: https://holistics.slack.com/archives/C0B04CXNX3L/p1777460042122369\n","date":1777420800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9763ce582cd1352f749c7925b2902769","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-29/","publishdate":"2026-04-29T00:00:00Z","relpermalink":"/post/journals/2026-04-29/","section":"post","summary":"Notes Tasks Partly today Done DONE Check BuyCo ticket Watch demo call first.\nQuestions: 3:34 How caching works toward pushing queries down MotherDuck (their data warehouse)? 6:54 AQL experience was not straightforward (although he has SQL background). AI not very reliable. 48:30 Dashboard has toggle to hide/show filters 1:06:51 I know that they may have like a modeling language. And I can see that other tools having their own query language or modeling language, is something that you intend somehow to release as open source stuff or what’s the vision? I want you to have the vision behind that, the AQL, AML, and so on, and how it relates, if something could be also translated from some other modeling language. Big language. 1:10:42 Customize theme for BuyCo 1:21:30 No, just, just, I was also wondering the, some of the examples you’ve shown there, is it something that we could get inspired if we have like, like, like kind of a sample project somehow, could we have access to some such a software to get inspired and to say, okay, the best practice is to shape the AML this way, the AQL this way, the model this way, and the dashboard also. I don’t know. I guess it could help us to get inspired without having to ask questions all the time. Treat this as higher priority as per anh Huy’s words: “This is an active prospect that’s evaluating us (they do like us so high chance of conversion), so please work with some urgency”\n","tags":["journal"],"title":"2026-04-29","type":"post"},{"authors":null,"categories":null,"content":"Notes Some product feedbacks:\nLosing PR link when converting a PR from open to draft: https://holistics.slack.com/archives/C0791HC91L0/p1777367462076659 YAML parsing error in holistics skills repo: https://holistics.slack.com/archives/C04Q67M9V96/p1777371338716569 Inconsistent syntax when manually map filter: https://holistics.slack.com/archives/C04TCTYKKHD/p1777354552911669 https://holistics.slack.com/archives/C08TDEZT2J0/p1777281772746529 Tasks Partly today DONE Check 1Win case per Quinn’s confusion Done ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) DONE Install the official Holistics skill ","date":1777334400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8fd909ddc4d4d1accedf3ec4c74f8ba5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-28/","publishdate":"2026-04-28T00:00:00Z","relpermalink":"/post/journals/2026-04-28/","section":"post","summary":"Notes Some product feedbacks:\nLosing PR link when converting a PR from open to draft: https://holistics.slack.com/archives/C0791HC91L0/p1777367462076659 YAML parsing error in holistics skills repo: https://holistics.slack.com/archives/C04Q67M9V96/p1777371338716569 Inconsistent syntax when manually map filter: https://holistics.slack.com/archives/C04TCTYKKHD/p1777354552911669 https://holistics.slack.com/archives/C08TDEZT2J0/p1777281772746529 Tasks Partly today DONE Check 1Win case per Quinn’s confusion Done ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) DONE Install the official Holistics skill ","tags":["journal"],"title":"2026-04-28","type":"post"},{"authors":null,"categories":null,"content":"Notes NOTE Customer communication signal: try framing as a self-serve doc + offer: here is the recipe, happy to pair if helpful\nWes Kao newsletter\nThis author is about communication in work. Worth reading and following. IDEA export an image and send to github PR whenever a change on dashboard\nGap: no API endpoint for exporting a dashboard as PNG in https://docs.holistics.io/api/ Tasks Partly today ((69e49c4a-0521-427f-8298-04b39bb5004d))\nDONE Review DAT-584\nDone round 1. My concern: revealing secret like this is not good. Done round 2. LGTM. Merged. Done DONE Fix Tenant Lookup ‘User List’ widget DONE Set up CLI client for Cloudflare R2 upload\n","date":1777248e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"979526ac8f7770aa6d05e7c50a27414a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-27/","publishdate":"2026-04-27T00:00:00Z","relpermalink":"/post/journals/2026-04-27/","section":"post","summary":"Notes NOTE Customer communication signal: try framing as a self-serve doc + offer: here is the recipe, happy to pair if helpful\nWes Kao newsletter\nThis author is about communication in work. Worth reading and following. IDEA export an image and send to github PR whenever a change on dashboard\nGap: no API endpoint for exporting a dashboard as PNG in https://docs.holistics.io/api/ Tasks Partly today ((69e49c4a-0521-427f-8298-04b39bb5004d))\nDONE Review DAT-584\nDone round 1. My concern: revealing secret like this is not good. Done round 2. LGTM. Merged. Done DONE Fix Tenant Lookup ‘User List’ widget DONE Set up CLI client for Cloudflare R2 upload\n","tags":["journal"],"title":"2026-04-27","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Trip - Bàu Sấu 04/2026]] I was sick and travelling the whole week, so no significant progress this week in work. Instead, I have time to rest and mentally heal. That is good after a while of working hard. Next week: some soft working on monday, tuesday, wednesday and rest/play game on thursday/friday. Thursday/friday is public holiday in Vietnam (30/4 and 1/5). Google One downgrade note: not to downgrade because Linh and my younger brother still use. ","date":1777161600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4046bb30f8559fcce51aaa251872d405","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-26/","publishdate":"2026-04-26T00:00:00Z","relpermalink":"/post/journals/2026-04-26/","section":"post","summary":"Notes [[Trip - Bàu Sấu 04/2026]] I was sick and travelling the whole week, so no significant progress this week in work. Instead, I have time to rest and mentally heal. That is good after a while of working hard. Next week: some soft working on monday, tuesday, wednesday and rest/play game on thursday/friday. Thursday/friday is public holiday in Vietnam (30/4 and 1/5). Google One downgrade note: not to downgrade because Linh and my younger brother still use. ","tags":["journal"],"title":"2026-04-26","type":"post"},{"authors":null,"categories":null,"content":"Notes NOTE Migrate from 1Long to another place to save money. I don’t think 1Long is reliable anymore to save emergency money.\nI was sick 2 days ago, I felt tired from monday, extend till wednesday I have to leave the entire day to rest.\nThe cause comes from playing game for too late I think. Until my body can’t handle it and catch a cold. Today is thursday, still feel not at my best right now, but a little better. LEARNING Do not play at night after 6PM, because I will eventually play for all night. Just in the morning/early afternoon. Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) Done DONE Set up Drata and remove Vanta DONE Tax checking\n","date":1776902400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dbfaf29818b7e6fcc707ca0959b5fdce","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-23/","publishdate":"2026-04-23T00:00:00Z","relpermalink":"/post/journals/2026-04-23/","section":"post","summary":"Notes NOTE Migrate from 1Long to another place to save money. I don’t think 1Long is reliable anymore to save emergency money.\nI was sick 2 days ago, I felt tired from monday, extend till wednesday I have to leave the entire day to rest.\nThe cause comes from playing game for too late I think. Until my body can’t handle it and catch a cold. Today is thursday, still feel not at my best right now, but a little better. LEARNING Do not play at night after 6PM, because I will eventually play for all night. Just in the morning/early afternoon. Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) Done DONE Set up Drata and remove Vanta DONE Tax checking\n","tags":["journal"],"title":"2026-04-23","type":"post"},{"authors":null,"categories":null,"content":"Notes DAT-556 dbt test failure root cause analysis: Ampcode Tasks Partly today Done ","date":1776816e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"879a05d8389d63f4c39dd46fed5412b7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-22/","publishdate":"2026-04-22T00:00:00Z","relpermalink":"/post/journals/2026-04-22/","section":"post","summary":"Notes DAT-556 dbt test failure root cause analysis: Ampcode Tasks Partly today Done ","tags":["journal"],"title":"2026-04-22","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) Done ","date":1776729600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"41d02b0635e0ea3283571c7e52dcf13c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-21/","publishdate":"2026-04-21T00:00:00Z","relpermalink":"/post/journals/2026-04-21/","section":"post","summary":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) Done ","tags":["journal"],"title":"2026-04-21","type":"post"},{"authors":null,"categories":null,"content":"Notes Ask for no, don’t ask for yes\n“Don’t. Don’t ask for a yes. Instead, offer a chance to say no, but with a deadline.” At the moment reading this line, I was thinking if I was the boss, what would I think. Probably I need to understand the what, then the why. In short, instead of saying: “hey, boss, can we install action X? It will help with the XYZ problems we’ve been having”. Say: “hey, boss, I am going to install action X, which could solve the XYZ problems we’re been having. Will take care of this on Monday unless I hear differently from you”. I think it’s up to the tone. But I think it’s the communication skill to talk with which person and adjust the tone, as well as what they really want to know. For example, the boss want to know if it’s a big problem or not, if the big problem cause any unexpected issue or not, etc. Saying that let me make progress without waiting for boss review, but also I take responsibility if not frame the problem and solve well. Anyway, worth reading. https://www.mooreds.com/wordpress/archives/category/tips This blog is fun and mindful to read, especially the tips. Really easy to understand, as well as informative. The tone seems like a senior engineer teaches small tips that I can’t find if just leaning on LLM searches. I think need to find more blogs myself rather than just relying on LLM searches in logseq. Tasks Partly today DONE Review PR Circle CI Done round 1\nDone the prefect PR\nSome tests in dbt PR are failing: https://github.com/holistics/dbt/pull/858#pullrequestreview-4217502670\nBased on recent conversation with anh Dong ([[2026-05-04]]): https://holistics.slack.com/archives/D084R0CCBD3, let me check the CI output to see why the tests are failing on ci, but not failing in dev/prod.\nGetting in error on the way: There are 1 unused configuration paths: models.internal_analytics.domain.circleci\nCherry-pick commits to a separate PR here: https://github.com/holistics/dbt/pull/861\nAmpcode:\nT-019df647-f0cb-71cf-842a-8056e035d174 T-019df60b-3b65-7038-b4ce-777b1a222077 New request note: https://github.com/holistics/dbt/pull/858#issuecomment-4404121520\nThere are 2 PRs:\nhttps://github.com/holistics/prefect/pull/400 (prefect) https://github.com/holistics/dbt/pull/858 (dbt) Notion\nAmpcode\nDONE Round 2: https://github.com/holistics/prefect/pull/400#pullrequestreview-4251028513\nDONE Round 3: https://github.com/holistics/dbt/pull/858#pullrequestreview-4262287064\nDONE Round 4: https://github.com/holistics/dbt/pull/858#pullrequestreview-4262853280\nDONE Basata follow up on light/dark theme\n((69e49c4a-31ca-48e4-9eed-a5dc443a95fd)) Done ","date":1776643200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"459ad8b041e0a866bacaf86cdd78f401","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-20/","publishdate":"2026-04-20T00:00:00Z","relpermalink":"/post/journals/2026-04-20/","section":"post","summary":"Notes Ask for no, don’t ask for yes\n“Don’t. Don’t ask for a yes. Instead, offer a chance to say no, but with a deadline.” At the moment reading this line, I was thinking if I was the boss, what would I think. Probably I need to understand the what, then the why. In short, instead of saying: “hey, boss, can we install action X? It will help with the XYZ problems we’ve been having”. Say: “hey, boss, I am going to install action X, which could solve the XYZ problems we’re been having. Will take care of this on Monday unless I hear differently from you”. I think it’s up to the tone. But I think it’s the communication skill to talk with which person and adjust the tone, as well as what they really want to know. For example, the boss want to know if it’s a big problem or not, if the big problem cause any unexpected issue or not, etc. Saying that let me make progress without waiting for boss review, but also I take responsibility if not frame the problem and solve well. Anyway, worth reading. https://www.mooreds.com/wordpress/archives/category/tips This blog is fun and mindful to read, especially the tips. Really easy to understand, as well as informative. The tone seems like a senior engineer teaches small tips that I can’t find if just leaning on LLM searches. I think need to find more blogs myself rather than just relying on LLM searches in logseq. Tasks Partly today DONE Review PR Circle CI Done round 1\n","tags":["journal"],"title":"2026-04-20","type":"post"},{"authors":null,"categories":null,"content":"Notes NOTE Typically in dbt, when we want to deprecate a model, should we remove dbt .sql file and the underlying table entirely or just dbt model, keep table? Asked in Ampcode: Phase 1: deprecate in code. Phase 2: remove the .sql file. Phase 3: drop the table. Why not skip straight to dropping? In our setup, AML models reference BQ tables by physical name. If you remove .sql file, dbt stops refreshing the table but it still exists with stale data, which is actually worse than dropping it, because consumers silently get stale results. So either keep the wrapper alive or drop the table entirely. Don’t leave in the middle. NOTE Prioritization: enterprise customers are considered higher, need to treat them carefully. Seems I don’t use the Gemini chat bot anymore. Plan to downgrade the Google One? My AI Adoption Journey “I quickly discovered for myself from first principles what others were already saying, but discovering it myself resulted in a stronger fundamental understanding.” That’s correct. And applies for everything. Learn it yourself result in your own understanding. That relates to many people find more interesting reading books instead of watching transfered movies. “Very important at this stage: TURN OFF DESKTOP NOTIFICATION. Context switching is expensive” That’s correct. From my experience working with many projects at the same time, context switching is the most time wasting and could lead to my headache more frequently. New term: Harness Engineering https://media.secondbrain.lelouvincx.com/2026/04/e654a15e5b7153246b3280ec13b58ed1.png AI is like a horse. It’s strong. Has power to transport things. But without harness, it does not achieve the best effectiveness. Harness Engineering in AI means design the better feedback loop so that the AI knows it’s wrong. The idea is that anytime you find an agent makes a mistake, you take the time to engineer the solution the the agent never makes that mistake again. The simplest form of this is adding rules into AGENTS.md, that said, I’m already know about this fact, and actively improving this (logseq automation). The author: Mitchell Hashimoto He is co-founder of HashiCorp, one of the known Infrastructure as Code - Terraform. Pretty well-known. He created Ghostty as a side project. Pretty well-known terminal emulator (similar to Alacritty which I use). Tasks ((69de5ae8-505b-47ce-a301-f93766780b85)) Partly today Done ","date":1776556800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"61f19a9fb0bf0e6e8a72385b6627da00","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-19/","publishdate":"2026-04-19T00:00:00Z","relpermalink":"/post/journals/2026-04-19/","section":"post","summary":"Notes NOTE Typically in dbt, when we want to deprecate a model, should we remove dbt .sql file and the underlying table entirely or just dbt model, keep table? Asked in Ampcode: Phase 1: deprecate in code. Phase 2: remove the .sql file. Phase 3: drop the table. Why not skip straight to dropping? In our setup, AML models reference BQ tables by physical name. If you remove .sql file, dbt stops refreshing the table but it still exists with stale data, which is actually worse than dropping it, because consumers silently get stale results. So either keep the wrapper alive or drop the table entirely. Don’t leave in the middle. NOTE Prioritization: enterprise customers are considered higher, need to treat them carefully. Seems I don’t use the Gemini chat bot anymore. Plan to downgrade the Google One? My AI Adoption Journey “I quickly discovered for myself from first principles what others were already saying, but discovering it myself resulted in a stronger fundamental understanding.” That’s correct. And applies for everything. Learn it yourself result in your own understanding. That relates to many people find more interesting reading books instead of watching transfered movies. “Very important at this stage: TURN OFF DESKTOP NOTIFICATION. Context switching is expensive” That’s correct. From my experience working with many projects at the same time, context switching is the most time wasting and could lead to my headache more frequently. New term: Harness Engineering https://media.secondbrain.lelouvincx.com/2026/04/e654a15e5b7153246b3280ec13b58ed1.png AI is like a horse. It’s strong. Has power to transport things. But without harness, it does not achieve the best effectiveness. Harness Engineering in AI means design the better feedback loop so that the AI knows it’s wrong. The idea is that anytime you find an agent makes a mistake, you take the time to engineer the solution the the agent never makes that mistake again. The simplest form of this is adding rules into AGENTS.md, that said, I’m already know about this fact, and actively improving this (logseq automation). The author: Mitchell Hashimoto He is co-founder of HashiCorp, one of the known Infrastructure as Code - Terraform. Pretty well-known. He created Ghostty as a side project. Pretty well-known terminal emulator (similar to Alacritty which I use). Tasks ((69de5ae8-505b-47ce-a301-f93766780b85)) Partly today Done ","tags":["journal"],"title":"2026-04-19","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) ((69e1155a-7cd4-4a48-994b-574a0c32c9d2)) Done ","date":1776384e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6bc12a5886450b190b1988255fde5fcf","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-17/","publishdate":"2026-04-17T00:00:00Z","relpermalink":"/post/journals/2026-04-17/","section":"post","summary":"Notes Tasks Partly today ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) ((69e1155a-7cd4-4a48-994b-574a0c32c9d2)) Done ","tags":["journal"],"title":"2026-04-17","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69e07b0f-7102-42ce-9aa3-f1cb9b84cb80)) Done DONE Onboarding call 2 with Jonas Chorum\nFeedback:\nSelect All \u0026amp; Clear All in dataset. Make dashboard interactivity features (VUD, DD, BD) available for Explore too? Debrief the call, bring feedbacks to the team.\nDONE Presales sync\nPivot prioritization to tutorial videos: ((69ccaad3-3e26-48cf-961f-903ba20b63f7))\n","date":1776297600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f571ccf186ff4788ce1c3dc4b13bff61","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-16/","publishdate":"2026-04-16T00:00:00Z","relpermalink":"/post/journals/2026-04-16/","section":"post","summary":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69e07b0f-7102-42ce-9aa3-f1cb9b84cb80)) Done DONE Onboarding call 2 with Jonas Chorum\nFeedback:\nSelect All \u0026 Clear All in dataset. Make dashboard interactivity features (VUD, DD, BD) available for Explore too? Debrief the call, bring feedbacks to the team.\nDONE Presales sync\nPivot prioritization to tutorial videos: ((69ccaad3-3e26-48cf-961f-903ba20b63f7))\n","tags":["journal"],"title":"2026-04-16","type":"post"},{"authors":null,"categories":null,"content":"Notes Give it a try on DataHub integration. https://github.com/holistics/datahub-holistics Context: We work out this integration for customer [[MoneySmart]], the plugin will use Holistics CLI and call holistics aml lineage Anh Triet’s concern: if customer report an issue, there would be data team to help. Data team had better be prepared for this scenario. Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69ccaad3-d8f1-42b3-b75d-53e285ff3bfa)) READ https://mitchellh.com/writing/my-ai-adoption-journey Done ((69d9e22f-e79b-478b-b7d3-d8fbd9a18e5a)) Post-meeting notes (Apr 15) Manager’s priorities for Internal projects (in order): Data quality/reliability first — make sure all data pipelines are good quality, no more questions like “why does this number look weird?” Focus areas: MRR (customer identity resolution) and exchange rates. bi.holistics.io clean up — anh Triet is handling but seems too busy to finish. Increase data freshness — triggered by anh Huy’s question: “can we make impersonation lookup report queries data more frequent instead of daily?” Product tracking — simplify and template the process. Longer-term, after handling the above. Development workflow — for data team and business users on bi.holistics.io. Mentoring Thuan: ask open questions, force him to think. Thinking by himself helps him grow — don’t teach what to do in detail. Embed demo app proposal: not the right timing at present. Can wait for later. ","date":1776211200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5d984214f5f0630bf0b77b80d3f538d0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-15/","publishdate":"2026-04-15T00:00:00Z","relpermalink":"/post/journals/2026-04-15/","section":"post","summary":"Notes Give it a try on DataHub integration. https://github.com/holistics/datahub-holistics Context: We work out this integration for customer [[MoneySmart]], the plugin will use Holistics CLI and call holistics aml lineage Anh Triet’s concern: if customer report an issue, there would be data team to help. Data team had better be prepared for this scenario. Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69ccaad3-d8f1-42b3-b75d-53e285ff3bfa)) READ https://mitchellh.com/writing/my-ai-adoption-journey Done ((69d9e22f-e79b-478b-b7d3-d8fbd9a18e5a)) Post-meeting notes (Apr 15) Manager’s priorities for Internal projects (in order): Data quality/reliability first — make sure all data pipelines are good quality, no more questions like “why does this number look weird?” Focus areas: MRR (customer identity resolution) and exchange rates. bi.holistics.io clean up — anh Triet is handling but seems too busy to finish. Increase data freshness — triggered by anh Huy’s question: “can we make impersonation lookup report queries data more frequent instead of daily?” Product tracking — simplify and template the process. Longer-term, after handling the above. Development workflow — for data team and business users on bi.holistics.io. Mentoring Thuan: ask open questions, force him to think. Thinking by himself helps him grow — don’t teach what to do in detail. Embed demo app proposal: not the right timing at present. Can wait for later. ","tags":["journal"],"title":"2026-04-15","type":"post"},{"authors":null,"categories":null,"content":"Notes https://reactflow.dev/\nhttps://media.secondbrain.lelouvincx.com/2026/04/3877c29f96d63a31a3683cc166abcc46.png Very cool. Now I know I can vibe coding data lineage using this app with high-quality canvas lineage. And even vibe coding my own knowledge graph from logseq. dbt docs alternative: https://github.com/docglow/docglow\nhttps://media.secondbrain.lelouvincx.com/2026/04/3bbd91208fee0f48ae22fcfa11ee7dc2.png UI prettier than dbt docs I think Support column level lineage Tasks {{embed ((69c2a77c-2f5b-4c6e-851b-4d8425fbc122))}} Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) DONE Read ((69dc57a1-a3df-48c4-aaa5-b9f745942eaf)) DONE Read ((69dc57a1-8a9e-434a-a3b2-c642329ed6f5))\nDone ((69d5d628-7589-4e67-a26f-70fc4c83d5a0)) DONE Investigate Zoho Events sync 403 failure Quinn has updated read permission for Zoho Subscription Events. Problem solved.\n","date":1776124800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"de349501d98ff567795e016863250366","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-14/","publishdate":"2026-04-14T00:00:00Z","relpermalink":"/post/journals/2026-04-14/","section":"post","summary":"Notes https://reactflow.dev/\nhttps://media.secondbrain.lelouvincx.com/2026/04/3877c29f96d63a31a3683cc166abcc46.png Very cool. Now I know I can vibe coding data lineage using this app with high-quality canvas lineage. And even vibe coding my own knowledge graph from logseq. dbt docs alternative: https://github.com/docglow/docglow\nhttps://media.secondbrain.lelouvincx.com/2026/04/3bbd91208fee0f48ae22fcfa11ee7dc2.png UI prettier than dbt docs I think Support column level lineage Tasks {{embed ((69c2a77c-2f5b-4c6e-851b-4d8425fbc122))}} Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) DONE Read ((69dc57a1-a3df-48c4-aaa5-b9f745942eaf)) DONE Read ((69dc57a1-8a9e-434a-a3b2-c642329ed6f5))\nDone ((69d5d628-7589-4e67-a26f-70fc4c83d5a0)) DONE Investigate Zoho Events sync 403 failure Quinn has updated read permission for Zoho Subscription Events. Problem solved.\n","tags":["journal"],"title":"2026-04-14","type":"post"},{"authors":null,"categories":null,"content":"Notes https://dylanbutler.dev/blog/protect-your-shed/\nhttps://media.secondbrain.lelouvincx.com/2026/04/65e1fa68872f5012dbebc135a437c0d0.png “But looking back on this chapter of my career, I’ve realized something fundamental. The enterprise work taught me how to engineer at scale, but it was the personal projects that kept me an engineer”. He said it right. The side project teaches a lot of things enterprise work does not. And furthermore, it’s like a pet thing that you love, you actively put effort, and get motivated. Just like how I feel on my side projects. Looking back in the past, I think everyone had a pet thing outside of daily days: someone like LEGO, drawing, guitaring. If I were a man in renaissance period, I may obsess with sculpture and mechanics. NOTE Top priority this week is transfering tasks from anh Hieu to team (me, anh Dong, Thuan). Don’t let it get crowded out by carry-over work.\nRegarding workload between projects get context overhead\nThere are many projects those are always default: [[Internal]], [[Presales]], [[Docs]], [[Personal]], [[Teaching]]. Should consider methods like Focus Days (or what else I need to research more) to reduce. Right now I don’t feel context-switching cost is high because I’m still happy with exploring and learning new things. ((69dc57a1-6e2d-411c-a00e-a7cbdbcbfcec))\nhttps://docs.getdbt.com/docs/cloud/canvas?version=1.12 https://media.secondbrain.lelouvincx.com/2026/04/1aa39421d0986f25112eb3229828a48a.png Pretty cool stuff from [[dbt Cloud]]: canvas. From the image, I can see that not only models are presented, but also CTEs get transformed from upstream models. For example, Join CTE, Order CTE, Filter CTE, etc. ((69dc57a1-7a1a-4b94-a0cd-c4232453176a))\nThe article is biased by Fivetran. Best data ingestion tools to me are: dlt/Fivetran/Airbyte. Each comes with pros and cons. While dlt and Airbyte are free for self-hosted, Fivetran is general better low-code tool to ingest SaaS data such as HubSpot, Calendly, Stripe, Zoho, etc. https://nickbes.github.io/meta-sql/\nhttps://media.secondbrain.lelouvincx.com/2026/04/b107fb43a57af1d4224fcd98e6d8bade.png Found a data lineage graph that presents dependency lineage pretty cool to learn from to improve [[dblineage]] From ((69dc57a1-995c-40e5-bad4-44714b826fb0))\nThe article is a bit AI-like but spot on something at Holistics we’re building. This is worth looking at to improve my embed demo app, when proposing it as a presales toolbox for trying Holistics embedding solution. For a prospect coming for embedding solution, they look for: UIUX experience logseq.order-list-type:: number Branding logseq.order-list-type:: number White-labelling logseq.order-list-type:: number Security logseq.order-list-type:: number JWT-based context that passes: tenant, user, role. logseq.order-list-type:: number Row-level and column-level permissions. logseq.order-list-type:: number Seamless user provisioning: new users, new tenants, and role changes inherit the right analytics access the moment they authenticate – with no manual setup inside the BI tool. No syncing. No drift. No risk of users seeing too much (or too little). Innerspace asked for a similar one. logseq.order-list-type:: number Embedding logseq.order-list-type:: number Embedding: a single dashboard (with full interactivity), dataset, AI. logseq.order-list-type:: number Save to shared/personal workspace. logseq.order-list-type:: number Two-way communication and event handling. logseq.order-list-type:: number Self-serve exploration logseq.order-list-type:: number Easy-to-use explore UI that users can feel confident (they won’t break anything) and contextful. logseq.order-list-type:: number Drill through, drill/break down, view underlying data. logseq.order-list-type:: number Writeback logseq.order-list-type:: number Persistent annotations. logseq.order-list-type:: number Secure writeback directly into warehouse. logseq.order-list-type:: number Governance logseq.order-list-type:: number SQL lineage that shows exactly how every metric is calculated. logseq.order-list-type:: number Version-controlled semantic logic. logseq.order-list-type:: number Audit logs for access, change, usage behavior (Embedded Usage Monitoring). logseq.order-list-type:: number Event tracking system to understand how users interact with analytics enabling true product analytics and upsell opportunity. logseq.order-list-type:: number Delivery logseq.order-list-type:: number Export: PDF, PPT, Excel, CSV which respect security, branding, data format. logseq.order-list-type:: number Subscription: email, slack, webhook. logseq.order-list-type:: number Alert. logseq.order-list-type:: number AI logseq.order-list-type:: number Exploration logseq.order-list-type:: number Dataset logseq.order-list-type:: number Dashboard logseq.order-list-type:: number Widget logseq.order-list-type:: number AI smart insight in widget. logseq.order-list-type:: number [[Data Application]] Tasks Partly today DONE Transfer MRR and exchange …","date":1776038400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d3eebee78789cc49828e22cbed289040","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-13/","publishdate":"2026-04-13T00:00:00Z","relpermalink":"/post/journals/2026-04-13/","section":"post","summary":"Notes https://dylanbutler.dev/blog/protect-your-shed/\nhttps://media.secondbrain.lelouvincx.com/2026/04/65e1fa68872f5012dbebc135a437c0d0.png “But looking back on this chapter of my career, I’ve realized something fundamental. The enterprise work taught me how to engineer at scale, but it was the personal projects that kept me an engineer”. He said it right. The side project teaches a lot of things enterprise work does not. And furthermore, it’s like a pet thing that you love, you actively put effort, and get motivated. Just like how I feel on my side projects. Looking back in the past, I think everyone had a pet thing outside of daily days: someone like LEGO, drawing, guitaring. If I were a man in renaissance period, I may obsess with sculpture and mechanics. NOTE Top priority this week is transfering tasks from anh Hieu to team (me, anh Dong, Thuan). Don’t let it get crowded out by carry-over work.\n","tags":["journal"],"title":"2026-04-13","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today Done ","date":1775865600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"214a506c4e6753ebd24b1fe296d26bdd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-11/","publishdate":"2026-04-11T00:00:00Z","relpermalink":"/post/journals/2026-04-11/","section":"post","summary":"Notes Tasks Partly today Done ","tags":["journal"],"title":"2026-04-11","type":"post"},{"authors":null,"categories":null,"content":"Notes Just bought a new mouse: ATK X1 Ultimate V2\nhttps://media.secondbrain.lelouvincx.com/2026/04/7a674c6ec894e2def6cde4e850fb0088.png Super beautiful, I like its black. One thing could be annoying is it does not support bluetooth, only via 1K dongle. That means I have to bring the dongle and its cable everywhere =\u0026gt; pretty inconvenient to connect via cable. But there’s a whole page to config the mouse behavior, pretty cool: https://hub.atk.pro/ https://media.secondbrain.lelouvincx.com/2026/04/24e34291e96e825c59b1cb3bf48a60f9.png Where I can config some params like: Motion Sync, Straight Line Correction. Can help with more correct crosshair placing. I did plan to switch to another mouse with bluetooth, but seems it doesn’t need. Just accept the trade off, huhuhu. Tasks Partly today ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) Done ","date":1775779200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"92079f0ed2fa852ac513e7814d7a6e85","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-10/","publishdate":"2026-04-10T00:00:00Z","relpermalink":"/post/journals/2026-04-10/","section":"post","summary":"Notes Just bought a new mouse: ATK X1 Ultimate V2\nhttps://media.secondbrain.lelouvincx.com/2026/04/7a674c6ec894e2def6cde4e850fb0088.png Super beautiful, I like its black. One thing could be annoying is it does not support bluetooth, only via 1K dongle. That means I have to bring the dongle and its cable everywhere =\u003e pretty inconvenient to connect via cable. But there’s a whole page to config the mouse behavior, pretty cool: https://hub.atk.pro/ https://media.secondbrain.lelouvincx.com/2026/04/24e34291e96e825c59b1cb3bf48a60f9.png Where I can config some params like: Motion Sync, Straight Line Correction. Can help with more correct crosshair placing. I did plan to switch to another mouse with bluetooth, but seems it doesn’t need. Just accept the trade off, huhuhu. Tasks Partly today ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) Done ","tags":["journal"],"title":"2026-04-10","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) Done DONE Answer Erin and Harsha on questions related to embed portal\nLEARNING the gap of UX between embed single dashboard and embed portal are there. Prospect has to compare the difference in functionalities between both.\nLEARNING There should be a way for Erin to try how the embed looks like in real application. So I built the section Custom Embed in https://holistics-embed-demo.pages.dev (Ampcode)\nLEARNING In the future, when unify/revamp hooli, Hooli will be a toolbox for everyone to try out how embed portal should look like in their real application. Including recent [[Basata]], [[Superbexperience]], [[Showbie]], [[Innerspace]], [[Jonas Chorum]].\nDONE Edit video Huế\n{{video https://youtu.be/h3pu8rJD6sA?si=9r9k7MXlH4t_Gxua}} {{video https://youtu.be/uyrBbxoS5v4?si=BjVYXUzGkMSQEH-H}} DONE Onboarding call 1 with Jonas Chorum\nVibe coding a dynamic data source demo: https://holistics-embed-demo.pages.dev/\nImpression: they have high expectation on embedded solution. This call is just some basic set up, but this deal will be a long run.\n","date":1775692800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"fa7d17ff524d41e268878f4529a8fdc8","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-09/","publishdate":"2026-04-09T00:00:00Z","relpermalink":"/post/journals/2026-04-09/","section":"post","summary":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) Done DONE Answer Erin and Harsha on questions related to embed portal\nLEARNING the gap of UX between embed single dashboard and embed portal are there. Prospect has to compare the difference in functionalities between both.\nLEARNING There should be a way for Erin to try how the embed looks like in real application. So I built the section Custom Embed in https://holistics-embed-demo.pages.dev (Ampcode)\nLEARNING In the future, when unify/revamp hooli, Hooli will be a toolbox for everyone to try out how embed portal should look like in their real application. Including recent [[Basata]], [[Superbexperience]], [[Showbie]], [[Innerspace]], [[Jonas Chorum]].\n","tags":["journal"],"title":"2026-04-09","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) Done DONE Review Usage Monitoring dashboard ","date":1775606400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1a160d54e808a3c597e1a680983edf80","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-08/","publishdate":"2026-04-08T00:00:00Z","relpermalink":"/post/journals/2026-04-08/","section":"post","summary":"Notes Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) Done DONE Review Usage Monitoring dashboard ","tags":["journal"],"title":"2026-04-08","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Lead Funnel by Sales Motion]] LEARNING when query asset dependencies: Lineage usually: dbt models =\u0026gt; AML models (usually table models first, then query models) =\u0026gt; AML datasets =\u0026gt; query reports =\u0026gt; dashboard widgets =\u0026gt; dashboards =\u0026gt; dashboard-related objects such as schedules, alerts, shareable links, embed links Found a logseq cli idea: https://www.reddit.com/r/logseq/comments/1se5nhl/built_a_logseq_cli_for_ai_agents Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done ((69ccd4dc-2465-48cb-95ce-ab65aed5408f)) ","date":177552e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"80b5f7a1088c495230ea4946f711ff0a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-07/","publishdate":"2026-04-07T00:00:00Z","relpermalink":"/post/journals/2026-04-07/","section":"post","summary":"Notes [[Lead Funnel by Sales Motion]] LEARNING when query asset dependencies: Lineage usually: dbt models =\u003e AML models (usually table models first, then query models) =\u003e AML datasets =\u003e query reports =\u003e dashboard widgets =\u003e dashboards =\u003e dashboard-related objects such as schedules, alerts, shareable links, embed links Found a logseq cli idea: https://www.reddit.com/r/logseq/comments/1se5nhl/built_a_logseq_cli_for_ai_agents Tasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done ((69ccd4dc-2465-48cb-95ce-ab65aed5408f)) ","tags":["journal"],"title":"2026-04-07","type":"post"},{"authors":null,"categories":null,"content":"Notes The book Staff Engineer, I save it here to read in the future. At the moment don’t feel like I’m ready enough to be at that level. Tasks Partly today ((69ccd4dc-2465-48cb-95ce-ab65aed5408f)) Done ((69c1f832-a120-4831-94a4-d7ef9eecbc59)) ","date":1775433600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3c5551e0537a8b4ab87a4d86ccdd753f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-06/","publishdate":"2026-04-06T00:00:00Z","relpermalink":"/post/journals/2026-04-06/","section":"post","summary":"Notes The book Staff Engineer, I save it here to read in the future. At the moment don’t feel like I’m ready enough to be at that level. Tasks Partly today ((69ccd4dc-2465-48cb-95ce-ab65aed5408f)) Done ((69c1f832-a120-4831-94a4-d7ef9eecbc59)) ","tags":["journal"],"title":"2026-04-06","type":"post"},{"authors":null,"categories":null,"content":"Notes https://repebble.com/index Really awesome smart ring Pebble Index 01, can note voice quickly via a ring. Vietnam Real Estate Dataset Sounds cool. Can do hobby data analysis on this. Tasks Partly today Done DONE Edit video last Hue Trip ","date":1775347200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"61519c2174cf80a1dcc5209f885d6f74","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-05/","publishdate":"2026-04-05T00:00:00Z","relpermalink":"/post/journals/2026-04-05/","section":"post","summary":"Notes https://repebble.com/index Really awesome smart ring Pebble Index 01, can note voice quickly via a ring. Vietnam Real Estate Dataset Sounds cool. Can do hobby data analysis on this. Tasks Partly today Done DONE Edit video last Hue Trip ","tags":["journal"],"title":"2026-04-05","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today Done ","date":1775260800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a3b0865357004678fbd4e839dfce114e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-04/","publishdate":"2026-04-04T00:00:00Z","relpermalink":"/post/journals/2026-04-04/","section":"post","summary":"Notes Tasks Partly today Done ","tags":["journal"],"title":"2026-04-04","type":"post"},{"authors":null,"categories":null,"content":"Notes Increase the Calendly task to top priority next week. Tasks Partly today ((69ccaad3-d8f1-42b3-b75d-53e285ff3bfa)) ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) ((69c1f832-a120-4831-94a4-d7ef9eecbc59)) Done DONE Add CI to validate Holistics project ","date":1775174400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"68aad67104e617ac86591fa6cbcda351","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-03/","publishdate":"2026-04-03T00:00:00Z","relpermalink":"/post/journals/2026-04-03/","section":"post","summary":"Notes Increase the Calendly task to top priority next week. Tasks Partly today ((69ccaad3-d8f1-42b3-b75d-53e285ff3bfa)) ((69ba649b-ecdc-4f35-a78b-e21a9cfe21f3)) ((69c1f832-a120-4831-94a4-d7ef9eecbc59)) Done DONE Add CI to validate Holistics project ","tags":["journal"],"title":"2026-04-03","type":"post"},{"authors":null,"categories":null,"content":"Notes Good sentiment with Taha (Basata).\nLEARNING the country names have same pattern like people + land = country name.\nFor example: Iceland, Greenland, England, Switzerland, Finland. And even Kuzbekistan, Kazastan =\u0026gt; stan = land. Tasks Partly today ((69bcd2b6-3128-4991-af97-ecb8c186868f)) Done {{embed ((69ccaad3-b38a-4923-8b35-0051a13f286c))}}\nDONE Onboarding call 2 with Basata (Taha)\nDebrief:\nCreating single dashboard and embed portal is not seamless, there should be a way to make it easier to understand. logseq.order-list-type:: number Raw question: “any best practices to make the embedded dataset easier for business users to use?” logseq.order-list-type:: number We introduced custom view, and this question usually pop up so there should be a way to make it more discoverable. logseq.order-list-type:: number Product-wise, this concern is valid. The goal here is to make business users feel more confident in exploring datasets. logseq.order-list-type:: number DONE Product Office Hours (P2)\nDONE Sao kê\nDONE Product Office Hours (P1)\nWill try this AI theme builder with more prospects: https://holistics.h-theme-builder.pages.dev/theme-builder\nNew UI for dataset exploration, not bad, I feel it’s okay.\nAI squad works really fast and productive compared to reporting squad (or it’s just me)?\nData team’s role to contribute into Holisics skills and internal-skills as well.\n","date":1775088e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2aa3ea1f685d694274f3258818e762d1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-02/","publishdate":"2026-04-02T00:00:00Z","relpermalink":"/post/journals/2026-04-02/","section":"post","summary":"Notes Good sentiment with Taha (Basata).\nLEARNING the country names have same pattern like people + land = country name.\nFor example: Iceland, Greenland, England, Switzerland, Finland. And even Kuzbekistan, Kazastan =\u003e stan = land. Tasks Partly today ((69bcd2b6-3128-4991-af97-ecb8c186868f)) Done {{embed ((69ccaad3-b38a-4923-8b35-0051a13f286c))}}\nDONE Onboarding call 2 with Basata (Taha)\nDebrief:\nCreating single dashboard and embed portal is not seamless, there should be a way to make it easier to understand. logseq.order-list-type:: number Raw question: “any best practices to make the embedded dataset easier for business users to use?” logseq.order-list-type:: number We introduced custom view, and this question usually pop up so there should be a way to make it more discoverable. logseq.order-list-type:: number Product-wise, this concern is valid. The goal here is to make business users feel more confident in exploring datasets. logseq.order-list-type:: number DONE Product Office Hours (P2)\n","tags":["journal"],"title":"2026-04-02","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today DONE Check Zendesk - Tenant Inovonics\nAs discussed in call, we pivot to upgrading Airbyte to latest version, along with the Zendesk Support connector to latest version.\nWrite an upgrading plan for this.\n3 options:\nUpgrading Airbyte. logseq.order-list-type:: number Rebuild flows in Prefect. logseq.order-list-type:: number Use Fivetran. logseq.order-list-type:: number Waiting for review.\nManually upgrade in UI for version 2.6.6, although not the best fix right now. We will plan to upgrade Airbyte in the future: https://linear.app/holistics/project/c0c9cc2b44cb\nDONE Visualize schedule of all data lineage (airbyte, data import, prefect sync, dbt table level, census/fivetran activations)\nTry once at https://stitch.withgoogle.com/projects/1793764146659223025, not ideal. Done ((69c650c1-2757-48ed-bcbf-59b2d59ea32a)) DONE Review DE-206 for anh Hieu DONE Refactor Erin dashboard\nHuddle with anh Dong to transfer to him.\nHand over to anh Dong to handle this call.\n","date":1775001600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"be9d604c4c4030e1b8180e9e75de4e5a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-04-01/","publishdate":"2026-04-01T00:00:00Z","relpermalink":"/post/journals/2026-04-01/","section":"post","summary":"Notes Tasks Partly today DONE Check Zendesk - Tenant Inovonics\nAs discussed in call, we pivot to upgrading Airbyte to latest version, along with the Zendesk Support connector to latest version.\nWrite an upgrading plan for this.\n3 options:\nUpgrading Airbyte. logseq.order-list-type:: number Rebuild flows in Prefect. logseq.order-list-type:: number Use Fivetran. logseq.order-list-type:: number Waiting for review.\nManually upgrade in UI for version 2.6.6, although not the best fix right now. We will plan to upgrade Airbyte in the future: https://linear.app/holistics/project/c0c9cc2b44cb\n","tags":["journal"],"title":"2026-04-01","type":"post"},{"authors":null,"categories":null,"content":"Notes Single-Tenant vs Multi-Tenant\n=== Single-Tenant (Non Multi-Tenant) === Infrastructure is duplicated per tenant. Tenant A Environment Tenant B Environment +———————-+ +———————-+ | Load Balancer (A) | | Load Balancer (B) | | App Instance(s) | | App Instance(s) | | Database (A) | | Database (B) | +———————-+ +———————-+\n=== Multi-Tenant (Shared) === Infrastructure is shared; isolation is logical.\n+-----------------------------------------------+ | Shared Load Balancer | | Shared App Instances | | Shared Database Cluster | | [Tenant A Data] [Tenant B Data] [Tenant C] | +-----------------------------------------------+ ``` Anh Huy said he is gradually run away from leading presales call and delegate back to team: me, anh Dong, Chukwudi, Mario. If he just stay in the call everyone can’t improve. So the only thing that makes sense now is force the team to prepare very well before the call. My thought: Very impressive. Step back to bring the team go forward. Tasks Partly today ((69c650c1-2757-48ed-bcbf-59b2d59ea32a)) ((69bcd2b6-3128-4991-af97-ecb8c186868f)) Done DONE Study the onboarding call 1 tonight\nDONE Answered question on needing a proxy/bastion server between Holistics/their database here.\nCall with team (anh Huy, anh Khai) to review.\nDecision: Known limitation. Let anh Huy lead the call tonight, I’ll sit aside to assist. Need to clarify more exact detail with them about this use case.\n","date":1774915200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c8de2cf1cd25ea575e59c19f269eea3c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-31/","publishdate":"2026-03-31T00:00:00Z","relpermalink":"/post/journals/2026-03-31/","section":"post","summary":"Notes Single-Tenant vs Multi-Tenant\n=== Single-Tenant (Non Multi-Tenant) === Infrastructure is duplicated per tenant. Tenant A Environment Tenant B Environment +———————-+ +———————-+ | Load Balancer (A) | | Load Balancer (B) | | App Instance(s) | | App Instance(s) | | Database (A) | | Database (B) | +———————-+ +———————-+\n=== Multi-Tenant (Shared) === Infrastructure is shared; isolation is logical.\n+-----------------------------------------------+ | Shared Load Balancer | | Shared App Instances | | Shared Database Cluster | | [Tenant A Data] [Tenant B Data] [Tenant C] | +-----------------------------------------------+ ``` Anh Huy said he is gradually run away from leading presales call and delegate back to team: me, anh Dong, Chukwudi, Mario. If he just stay in the call everyone can’t improve. So the only thing that makes sense now is force the team to prepare very well before the call. My thought: Very impressive. Step back to bring the team go forward. Tasks Partly today ((69c650c1-2757-48ed-bcbf-59b2d59ea32a)) ((69bcd2b6-3128-4991-af97-ecb8c186868f)) Done DONE Study the onboarding call 1 tonight\n","tags":["journal"],"title":"2026-03-31","type":"post"},{"authors":null,"categories":null,"content":"Notes Details aren’t the problem. The problem is too many of the wrong details Tasks Partly today DONE Guidance for countries level data\nGoals: Ingest retailers from other countries (airbyte_schema_sg, airbyte_schema_my, airbyte_schema_nz, airbyte_schema_ph, airbyte_schema_id) logseq.order-list-type:: number Create a plan (D3) logseq.order-list-type:: number Critical issue: key price_history_skey won’t unique after introducing multi-country data. logseq.order-list-type:: number price_history_skey = retailer_slug + product_code logseq.order-list-type:: number Collided mostly from watsons: 2,774 keys collide across countries (39,710 rows affected) logseq.order-list-type:: number With this issue introduced, increasing complexity, I don’t think we (Holistics) should do it anymore. Instead, create a document sharing with Add2Cart. logseq.order-list-type:: number Guide document for ingesting other countries data and setting up row-level permission (they use single dashboard). logseq.order-list-type:: number Feedback: The document is too detailed unnecessarily. Need to fix the document first: show what need to be done in order to apply multi-country view. Rewrite the document. Waiting for anh Huy to review. Seems Add2Cart wont engage: https://holistics.slack.com/archives/C08PRBTS1LK/p1776322872801539?thread_ts=1774406326.075359\u0026amp;cid=C08PRBTS1LK Close this task. ((69c650c1-2757-48ed-bcbf-59b2d59ea32a))\n((69c2a77c-6fed-4d3b-a071-491d0d1505f0))\nDone ","date":1774828800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e394b5c31e8f1d333d92cfaf469769f1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-30/","publishdate":"2026-03-30T00:00:00Z","relpermalink":"/post/journals/2026-03-30/","section":"post","summary":"Notes Details aren’t the problem. The problem is too many of the wrong details Tasks Partly today DONE Guidance for countries level data\nGoals: Ingest retailers from other countries (airbyte_schema_sg, airbyte_schema_my, airbyte_schema_nz, airbyte_schema_ph, airbyte_schema_id) logseq.order-list-type:: number Create a plan (D3) logseq.order-list-type:: number Critical issue: key price_history_skey won’t unique after introducing multi-country data. logseq.order-list-type:: number price_history_skey = retailer_slug + product_code logseq.order-list-type:: number Collided mostly from watsons: 2,774 keys collide across countries (39,710 rows affected) logseq.order-list-type:: number With this issue introduced, increasing complexity, I don’t think we (Holistics) should do it anymore. Instead, create a document sharing with Add2Cart. logseq.order-list-type:: number Guide document for ingesting other countries data and setting up row-level permission (they use single dashboard). logseq.order-list-type:: number Feedback: The document is too detailed unnecessarily. Need to fix the document first: show what need to be done in order to apply multi-country view. Rewrite the document. Waiting for anh Huy to review. Seems Add2Cart wont engage: https://holistics.slack.com/archives/C08PRBTS1LK/p1776322872801539?thread_ts=1774406326.075359\u0026cid=C08PRBTS1LK Close this task. ((69c650c1-2757-48ed-bcbf-59b2d59ea32a))\n","tags":["journal"],"title":"2026-03-30","type":"post"},{"authors":null,"categories":null,"content":"Notes How to Present a MIND-BLOWING Software Demo That Closes Sales {{video https://www.youtube.com/watch?v=EZbIx94dMeU}}\nContinue from: ((69c75aaa-9b56-4118-8b94-0e168d9ad82c)) Transcript: https://media.secondbrain.lelouvincx.com/2026/03/yt-EZbIx94dMeU.txt A recap slide in or after the call, layouts: Fact. Problems that challenge. Key evaluation criteria. New finding didn’t appear in past calls. A thing that I learnt last time is also mentioned again: If I’m an airline, I want to hear about passengers. If I’m a SaaS, I want to hear about users. If I’m a lawyer, I want to hear about clients. =\u0026gt; have to speak their language. If one person joined a long time before everyone else, it can be a little awkward if you have nothing to talk during that time. So do research first. Find them on linkedin, social media, personal blogs, find something interesting about themself. Important: confirming what they care about. Prepare what we are going to demo first, according to their filled information in the call, their past calls. At the beginning of the call, show them the notion document technical onboarding call containing that recap. Ask them: “would you like to make any changes before we start?”, “is it okay if I spend the demonstration talking about how those things could be addressed using our product?” Make them feel like: “okay, this person is clearly informed about my business, they’ve clearly done research, they know who’s involved in the conversation, and they’re gonna address things that we care about”. At the end of the day, it’s very easy to talk features, but the use cases and the explanation how it relates to my business. https://media.secondbrain.lelouvincx.com/2026/03/d919c4345d4d3a3daead3ed1b389b6aa.png During the call, constantly ask them: What is it that you care about? Is this what you’re looking for or was it something different? Silent is gold. So we can just stop when we’re talking too much to bring their attention back. Having someone to sit aside to assist: They will look that the crowd’s faces while you are looking at the screen. Introduce them in a different role. For example: Chukwudi - he’s an account manager who can help you with commercial questions; or Marcus - he’s a technical person from data team who can help you with engineering/data questions. Last step: send each audience or at least mention them in the recap email. How to teach technical concepts with cartoons\nContinue from ((69c75aaa-3e55-4b5b-a888-39220aad7926)) Pretty cool guide on demonstrating technical concepts. Joke aside, I can learn this to utilize my kindle scribe anyway. Tasks Partly today Done DONE Add project glossary DONE Improve backlog structure and automation query pre-processing\n","date":1774742400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4ed0a0f26d3dacafc563d1622516eca4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-29/","publishdate":"2026-03-29T00:00:00Z","relpermalink":"/post/journals/2026-03-29/","section":"post","summary":"Notes How to Present a MIND-BLOWING Software Demo That Closes Sales {{video https://www.youtube.com/watch?v=EZbIx94dMeU}}\nContinue from: ((69c75aaa-9b56-4118-8b94-0e168d9ad82c)) Transcript: https://media.secondbrain.lelouvincx.com/2026/03/yt-EZbIx94dMeU.txt A recap slide in or after the call, layouts: Fact. Problems that challenge. Key evaluation criteria. New finding didn’t appear in past calls. A thing that I learnt last time is also mentioned again: If I’m an airline, I want to hear about passengers. If I’m a SaaS, I want to hear about users. If I’m a lawyer, I want to hear about clients. =\u003e have to speak their language. If one person joined a long time before everyone else, it can be a little awkward if you have nothing to talk during that time. So do research first. Find them on linkedin, social media, personal blogs, find something interesting about themself. Important: confirming what they care about. Prepare what we are going to demo first, according to their filled information in the call, their past calls. At the beginning of the call, show them the notion document technical onboarding call containing that recap. Ask them: “would you like to make any changes before we start?”, “is it okay if I spend the demonstration talking about how those things could be addressed using our product?” Make them feel like: “okay, this person is clearly informed about my business, they’ve clearly done research, they know who’s involved in the conversation, and they’re gonna address things that we care about”. At the end of the day, it’s very easy to talk features, but the use cases and the explanation how it relates to my business. https://media.secondbrain.lelouvincx.com/2026/03/d919c4345d4d3a3daead3ed1b389b6aa.png During the call, constantly ask them: What is it that you care about? Is this what you’re looking for or was it something different? Silent is gold. So we can just stop when we’re talking too much to bring their attention back. Having someone to sit aside to assist: They will look that the crowd’s faces while you are looking at the screen. Introduce them in a different role. For example: Chukwudi - he’s an account manager who can help you with commercial questions; or Marcus - he’s a technical person from data team who can help you with engineering/data questions. Last step: send each audience or at least mention them in the recap email. How to teach technical concepts with cartoons\n","tags":["journal"],"title":"2026-03-29","type":"post"},{"authors":null,"categories":null,"content":"Notes LEARNING Holistics workers and objects, what do they mean?\nRecent 1-2 weeks, after Tet 2026, I feel even more productive in work than the whole last year.\nDont know the exact reason. In my opinion, I am gradually used to the work culture / habits / context. Gaining more confidence in delegating tasks, use company’s resources and communicate to people (both internal and external customers). If it’s 80/20, I think the biggest change here is communication confidence. I realize I’m not bad at speaking, but just need some time to ice-breaking it. All of them start from the call with Showbie. In that call, I suddenly become the person leading the call. I was not really smooth, but gained the confidence based on their understanding and responses. It felt really good. The second reason why I am feeling productive is the logseq automation helps me remember the whole historical context =\u0026gt; makes me feel better in sync calls =\u0026gt; remember things and connect the dots. Installed Annotate\nhttps://media.secondbrain.lelouvincx.com/2026/03/f7485fb6b091aabdd4f769aca37b6d35.png Trigger: When recording videos or sharing screen in customers call, I need an on-screen annotation tool to direct audience’s focus and demo better. This is a free tool, very lightweight and easy to use. The presales load is increasing — 4 customer interactions this week (Basata, Superbexperience, Showbie, Innerspace), almost coming for embedding solution. If this trend continues, consider discussing capacity with your manager.\nLịch nhiều thiệt https://media.secondbrain.lelouvincx.com/2026/03/122d375aa264741b8b8cbea74544b18e.png\nTasks Partly today Done DONE Change to a more professional work avatar https://media.secondbrain.lelouvincx.com/2026/03/f04e8ad27dc212e2792514bf842c5052.png\n","date":1774656e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4d221983512137f5b29fe7d6f4d62bba","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-28/","publishdate":"2026-03-28T00:00:00Z","relpermalink":"/post/journals/2026-03-28/","section":"post","summary":"Notes LEARNING Holistics workers and objects, what do they mean?\nRecent 1-2 weeks, after Tet 2026, I feel even more productive in work than the whole last year.\nDont know the exact reason. In my opinion, I am gradually used to the work culture / habits / context. Gaining more confidence in delegating tasks, use company’s resources and communicate to people (both internal and external customers). If it’s 80/20, I think the biggest change here is communication confidence. I realize I’m not bad at speaking, but just need some time to ice-breaking it. All of them start from the call with Showbie. In that call, I suddenly become the person leading the call. I was not really smooth, but gained the confidence based on their understanding and responses. It felt really good. The second reason why I am feeling productive is the logseq automation helps me remember the whole historical context =\u003e makes me feel better in sync calls =\u003e remember things and connect the dots. Installed Annotate\n","tags":["journal"],"title":"2026-03-28","type":"post"},{"authors":null,"categories":null,"content":"Notes Performance of Showbie is what I’m concerning. Should raise this first to the team and ask for approach.\nEither we should be prepared for blaming question in worst case like why Holistics runs so slow? Raised this with anh Huy: https://holistics.slack.com/archives/C08EN0G719N/p1774609569429499 We just wait for the next call and ask them, then spend time investigating later. Tried Zed IDE, not supporting ampcode, and I’m more familiar with terminal-based IDE like neovim. Not suitable for me.\nTasks Partly today DONE Eliminate bridge DONE Ingest countries data into Retailers table\nUnused stored procedures on Redshift: sp_load_price_history_by_partition (×2 overloads): Uses atc_price_history_partitions_to_load (48K rows) and writes to atc_price_history. Superseded by sp_refresh_daily_prices. Not called by any other SP. Not in local repo. sp_refresh_serving_from_rds: Wrapper calling Layer 0 transforms only (retailer, brand, pricing, master_product, ads, category, scopes). Subset of sp_run_all. Not called by any SP. Not in local repo. sp_refresh_price_history_from_s3: Wrapper for daily prices + downstream. Now saved locally. Also found orphan tables not referenced by any SP: PriceHistory, atc_price_history_native (21.4M rows), atc_price_history_tmp, atc_daily_min_price, retailer_current_pricing_backup, _brand_to_product_group, _prisma_migrations, ad_suggested_, match_suggestion, suggestion_details, mv_tbl__ Running out of time (end of the day) and ampcode token (I use it for heavy tasks), delay to monday morning to be more productive. Ensure every SPs are analyzed. Progress update on [[2026-03-30]]: Done: Phase 0: Snapshot baseline tables (_migration_baseline, _bridge_backup) created on Redshift Phase 1: Added retailer_id + retailer_current_pricing_skey columns to atc_price_history, backfilled ~27M rows (75.7% coverage). Bridge parity gap: 8,713 keys (all Chemist Disount Center near-miss — documented) Phase 2: Deployed 5 updated SPs to Redshift (sp_refresh_daily_prices, sp_refresh_atc_price_history_enrich, sp_run_all, sp_refresh_price_history_from_s3, sp_validate). Ran sp_run_all() and validated — enriched table at 12.1M rows, join path works without bridge Phase 3: 7 commits on feat/eliminate-bridge-aml — removed bridge from all 4 datasets + market_price_rank model, added direct rcp_skey relationships, deleted agg model, updated AGENTS.md. Pushed to Holistics, dashboards are rendered correctly. Phase 4: Soak 1–2 days — monitor dashboards end-to-end through the bridgeless path Phase 5: Drop bridge/agg tables + SPs on Redshift, delete public_bridge_product_retailer.model.aml, clean up migration artifacts. ((69c2a77c-6fed-4d3b-a071-491d0d1505f0)) Done DONE Onboarding call 1 with innerspace.io Prepare:\nAsk them provide a branding guideline for us to custom theme. Demo version control and branching, show the strength of as-code files compared to GoodData. Send custom chart library github link: https://github.com/holistics/custom-chart-library/tree/main Email subscription (not shown yet). Schedule next onboarding session in the call. Regarding JS event, this is in backlog and will push prioritization if they buy. Debrief:\nThe call went really smooth. I feel these people really know what they are doing. They dont ask us to explain again, but just ask things on high-level to evaluate the tool’s capabilities. Pretty impressive. My speaking and confidence increase after the call. ","date":1774569600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a782519a27911424e8b455a84e84c462","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-27/","publishdate":"2026-03-27T00:00:00Z","relpermalink":"/post/journals/2026-03-27/","section":"post","summary":"Notes Performance of Showbie is what I’m concerning. Should raise this first to the team and ask for approach.\nEither we should be prepared for blaming question in worst case like why Holistics runs so slow? Raised this with anh Huy: https://holistics.slack.com/archives/C08EN0G719N/p1774609569429499 We just wait for the next call and ask them, then spend time investigating later. Tried Zed IDE, not supporting ampcode, and I’m more familiar with terminal-based IDE like neovim. Not suitable for me.\n","tags":["journal"],"title":"2026-03-27","type":"post"},{"authors":null,"categories":null,"content":"Notes A long day with a lot of tasks. Still productive!\nTasks Partly today Done DONE Showbie - embedding question\nUpdate document: to add FAQ about why row-level permissions are bypassed if you are admin.\nDONE Call with Adam from superb\nTo prepare: a demo4 local react app (backend + frontend), similar to what I demo to [[Basata]] Note down some feedbacks for embed team: User Attribute: The UI/flow for User Attributes is counterintuitive. Why do internal attribute configurations impact the embedded environment? Ownership Misconception: Adam assumed User Attributes were tied to his personal account/dataset ownership. He questioned if he needed to change the “Dataset Owner” to make attributes function correctly for other users. Embedded Analytics page is difficult to find within the top header navigation. Permission-as-Code: Since permissions are defined via code, there was significant friction regarding where to place the code, the specific syntax required, and what values to input, what do they mean, presentation in List tab. ((69c2a77c-8eb1-4a4b-b87d-ea26d378c713))\nDONE Check BigQuery’s dataframes-dbt\nDONE Check back Census usage estimate to use free tier\nhttps://media.secondbrain.lelouvincx.com/2026/03/48cbe01174f62270413c67814068cad4.png\n","date":1774483200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"31b7a8ea8b00471c27de7a8b666e4332","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-26/","publishdate":"2026-03-26T00:00:00Z","relpermalink":"/post/journals/2026-03-26/","section":"post","summary":"Notes A long day with a lot of tasks. Still productive!\nTasks Partly today Done DONE Showbie - embedding question\nUpdate document: to add FAQ about why row-level permissions are bypassed if you are admin.\nDONE Call with Adam from superb\nTo prepare: a demo4 local react app (backend + frontend), similar to what I demo to [[Basata]] Note down some feedbacks for embed team: User Attribute: The UI/flow for User Attributes is counterintuitive. Why do internal attribute configurations impact the embedded environment? Ownership Misconception: Adam assumed User Attributes were tied to his personal account/dataset ownership. He questioned if he needed to change the “Dataset Owner” to make attributes function correctly for other users. Embedded Analytics page is difficult to find within the top header navigation. Permission-as-Code: Since permissions are defined via code, there was significant friction regarding where to place the code, the specific syntax required, and what values to input, what do they mean, presentation in List tab. ((69c2a77c-8eb1-4a4b-b87d-ea26d378c713))\n","tags":["journal"],"title":"2026-03-26","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today DONE Share the document for the embedded dashboards for different customers\nMy typical workflow: Tell gemini to design a basic UI based on customer’s branding guide. Tell ampcode implements it, using basic backend/frontend architecture: App.jsx (react) for frontend and server.js (express) for backend. Holistics sets frame-ancestors ‘self’ https: on its portal, which blocks iframes loaded from http://localhost because it only allows HTTPS origins. The browser refused to render the Holistics iframe with the error: “Framing ‘https://us.holistics.io/\u0026#39; violates the following Content Security Policy directive”. The solution was to serve the local dev server over HTTPS using @vitejs/plugin-basic-ssl, so https://localhost:5173 satisfies the CSP policy. How to I present how to set up embed portals to customers? Explain high-level mechanism logseq.order-list-type:: number https://media.holistics.io/347e2a6d-embed-portal-getting-started.png logseq.order-list-type:: number In Holistics, show: logseq.order-list-type:: number Embed portal in development and how to add dataset/dashboard objects. logseq.order-list-type:: number Firstly just develop model/dataset/dashboard as usual. logseq.order-list-type:: number Then put whichever object they want to externally embed into their app. logseq.order-list-type:: number Credentials location. logseq.order-list-type:: number Backend side: logseq.order-list-type:: number Step 1, generate payload, which is basically a JSON object to configure how and which each customer will see. logseq.order-list-type:: number Present parameter reference. logseq.order-list-type:: number Sign payload with JWT token using the secret. logseq.order-list-type:: number Frontend side: logseq.order-list-type:: number Render iframe based on the signed JWT token. logseq.order-list-type:: number Then ask the question: how to restrict data access for each customer? Answer: we come to row-level permission High-level mechanism logseq.order-list-type:: number https://media.holistics.io/9f8f4b64-embed-portal-data-permissions-updated.png Add user attributes. logseq.order-list-type:: number Add permission as code into dataset. logseq.order-list-type:: number Explain the single entry point for row-level permission is dataset. Once add into dataset, every widgets of a dashboard query from that dataset will be restricted by RLP. logseq.order-list-type:: number If a dashboard is not restricted, it’s because that dashboard is using another dataset. logseq.order-list-type:: number See preview in development embed portal. logseq.order-list-type:: number Configure payload to include that user attribute. logseq.order-list-type:: number Done DONE Ask squad modeling why the user 112390 does not exist\nAnswer: hard-deleted users: shareable link and embedded link =\u0026gt; pseudo users are deleted when their respective links are deleted.\nAffect audit log? No. As long as those data in activities table.\nAlthough anh Dat thinks not enough.\nDONE Debrief onboarding call 2 with Basata\nDONE Review what Hieu wrote, help him communicate with growth team (2 items)\nStatus: after the call with Quinn (ReadAI), I am waiting for Hieu to complete the document of exchange rate to review.\n","date":1774396800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f834ca02ca1dcbf833aa8c241e9875c2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-25/","publishdate":"2026-03-25T00:00:00Z","relpermalink":"/post/journals/2026-03-25/","section":"post","summary":"Notes Tasks Partly today DONE Share the document for the embedded dashboards for different customers\nMy typical workflow: Tell gemini to design a basic UI based on customer’s branding guide. Tell ampcode implements it, using basic backend/frontend architecture: App.jsx (react) for frontend and server.js (express) for backend. Holistics sets frame-ancestors ‘self’ https: on its portal, which blocks iframes loaded from http://localhost because it only allows HTTPS origins. The browser refused to render the Holistics iframe with the error: “Framing ‘https://us.holistics.io/' violates the following Content Security Policy directive”. The solution was to serve the local dev server over HTTPS using @vitejs/plugin-basic-ssl, so https://localhost:5173 satisfies the CSP policy. How to I present how to set up embed portals to customers? Explain high-level mechanism logseq.order-list-type:: number https://media.holistics.io/347e2a6d-embed-portal-getting-started.png logseq.order-list-type:: number In Holistics, show: logseq.order-list-type:: number Embed portal in development and how to add dataset/dashboard objects. logseq.order-list-type:: number Firstly just develop model/dataset/dashboard as usual. logseq.order-list-type:: number Then put whichever object they want to externally embed into their app. logseq.order-list-type:: number Credentials location. logseq.order-list-type:: number Backend side: logseq.order-list-type:: number Step 1, generate payload, which is basically a JSON object to configure how and which each customer will see. logseq.order-list-type:: number Present parameter reference. logseq.order-list-type:: number Sign payload with JWT token using the secret. logseq.order-list-type:: number Frontend side: logseq.order-list-type:: number Render iframe based on the signed JWT token. logseq.order-list-type:: number Then ask the question: how to restrict data access for each customer? Answer: we come to row-level permission High-level mechanism logseq.order-list-type:: number https://media.holistics.io/9f8f4b64-embed-portal-data-permissions-updated.png Add user attributes. logseq.order-list-type:: number Add permission as code into dataset. logseq.order-list-type:: number Explain the single entry point for row-level permission is dataset. Once add into dataset, every widgets of a dashboard query from that dataset will be restricted by RLP. logseq.order-list-type:: number If a dashboard is not restricted, it’s because that dashboard is using another dataset. logseq.order-list-type:: number See preview in development embed portal. logseq.order-list-type:: number Configure payload to include that user attribute. logseq.order-list-type:: number Done DONE Ask squad modeling why the user 112390 does not exist\n","tags":["journal"],"title":"2026-03-25","type":"post"},{"authors":null,"categories":null,"content":"Notes IDEA synthesize tone and writing style of the everyone in Holistics (resource: notion) and extract key insights from it, then materialize into an agent skill for better notion skill’s output\nTasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69c2a77c-2f5b-4c6e-851b-4d8425fbc122)) {{embed ((69c1f832-a120-4831-94a4-d7ef9eecbc59))}} DONE Review Thuan’s work on DE-208 DONE Round 1\nDONE Round 2\nDone DONE Onboarding call 3 with Basata\nShared use case of Date Drill\nReport issue for Auto mapping filter between viz and field\nPrepare the document for the embedded dashboards for different customers\nDONE Create a new github account only for work as per company’s request\nTo do next: update logseq’s automation flow to switch between credentials. DONE Markdown files missing for index pages\n","date":1774310400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ebec0ea05096970497db8927c49a928c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-24/","publishdate":"2026-03-24T00:00:00Z","relpermalink":"/post/journals/2026-03-24/","section":"post","summary":"Notes IDEA synthesize tone and writing style of the everyone in Holistics (resource: notion) and extract key insights from it, then materialize into an agent skill for better notion skill’s output\nTasks Partly today ((69bcb599-a91e-49ea-bc3d-6a5a651f03df)) ((69c2a77c-2f5b-4c6e-851b-4d8425fbc122)) {{embed ((69c1f832-a120-4831-94a4-d7ef9eecbc59))}} DONE Review Thuan’s work on DE-208 DONE Round 1\nDONE Round 2\nDone DONE Onboarding call 3 with Basata\nShared use case of Date Drill\nReport issue for Auto mapping filter between viz and field\n","tags":["journal"],"title":"2026-03-24","type":"post"},{"authors":null,"categories":null,"content":"Notes Good timing does matter\nContext: when I want to propose an idea to dbx team about setting up a Claude connector to interact with dbdiagram right inside claude desktop: Ampcode I can read it from each team’s sync to quickly decide whether to propose an idea For example, when I want to propose ((69c10475-619d-42df-b63e-1884b27ce548)), read the dbx team sync to find out whether they are having some similar key words in mind dbt fails debugging process (collected from Thuan)\nCheck log in prefect, view error log In model, there are 3 CTEs, run each cte step by step to find out where the error happen, check upstream Find out the root cause Proposing solutions Surface interactive dbdiagram into claude/chatgpt (chat interface)\nContext, from these: https://claude.com/blog/interactive-tools-in-claude {{video https://www.youtube.com/watch?v=bluAmTHoEow}} That said, allowing an interactive interface directly inside claude chat, similar to slack or figma. Use case When doing data support tickets, which are mostly data modeling and AQL writing problems, I’d like a quick way to reproduce: by imagining the dataset diagram from customers’ questions (as natural language) or AML models/datasets logseq.order-list-type:: number Input: questions (as text) or AML models/datasets (they copy-paste into the ticket) logseq.order-list-type:: number Output: an interactive interface of DBML diagram that lives inside the chat, can interact like logseq.order-list-type:: number Currently I am doing it with mermaid logseq.order-list-type:: number However, mermaid can not drag-and-drop tables, can not rearrange tables, which is important to me because: logseq.order-list-type:: number I want to focus on some tables (fact tables) to design metrics on them. logseq.order-list-type:: number Some diagram may contain hundreds of tables, which is hard to organize and focus on some tables logseq.order-list-type:: number Mermaid’s syntax of relationship is harder to read (in my opinion). logseq.order-list-type:: number logseq.order-list-type:: number erDiagram CUSTOMER ||--o{ ORDER : places ORDER ||--|{ LINE-ITEM : contains CUSTOMER { string name string email string address } ORDER { int orderNumber string deliveryAddress } LINE-ITEM { string productCode int quantity float pricePerUnit } An exporting to dbdiagram feature so that teammates can collab on logseq.order-list-type:: number If I use DBML instead: logseq.order-list-type:: number I have to manually copy-paste DBML code from claude into dbdiagram to visualize and vice versa, just to have the visual view logseq.order-list-type:: number I pop this idea out of my head because of this use case Benefits With an increasing number of users using AI, we can promote DBML more, pitch it as a powerful database designing and documenting language New acquisition channel Tasks Partly today DONE Revise phase 2 of MRR problem\nDiscussed with anh Hieu\nAfter PR#812, these are statuses of problems: 1.1 and 1.2 (static exchange rate in dbt) 2.1 (missing holistics region when processing manual mapping logic, dbt): Fixed 2.2 (domain mapping between tenant \u0026amp; company) 2.3 (duplicated companies in hubspot - ICEYE case) 2.4 3.1 3.2 4 Next step (according to anh Hieu) is: To align with growth team on the dashboard: Note: https://www.notion.so/holistics/Data-alignment-between-Data-Team-and-RevOps-326f89dc7e49800ebdd3e0f282391746 Dashboard: https://bi.holistics.io/dashboards/v4/45480-customer-identity-monitoring?_t=tab_0ze3 We push growth team (Quinn, Arden) to review this. In my opinion, the question still remains: Can I trust the numbers (MRR, customer count) on bi.h? If the numbers between bi.h and zoho are mismatched, what are the reasons? For those reasons, are they accepted by growth team? Action from me (Chinh): review what Hieu wrote, help him communicate with growth team. Fix currency exchange rate Action from me (Chinh): review what Hieu wrote in slack, help him communicate with growth team. DONE Check around failed dbt tests (snowplow events) in #data-ops-bot\nLEARNING The bigquery agent skill often get trouble in mapping logical (in dbt) and physical table names (in bigquery). How can I improve this?\nTake dynamic mapping table from INFORMATION_SCHEMA (excluding dev_* if in prod) DONE Write notion document\nDONE Implementation\nWaiting for anh Triet to take a look. Then tell anh Dong to review both PRs. When approved, add commits to event models to guard that. 2 PRs merged. Deploy, run backfill and run snowplow again. Done. Everything is running well. Snowplow run success: https://prefect3.holistics.dev/runs/flow-run/c1f2e4c8-c7df-48e7-b221-f3e0ab60c6bc Backfill success: https://prefect3.holistics.dev/runs/flow-run/558210a0-602b-44c6-9f22-57f2f8887885 Done DONE Teach Duc Anh DONE Guide Thuan to solve the linear DAT-567\nTalked and mentor him in person. Next up I will interview to collect his thought process. ((69c10ce7-08da-41dd-b384-a93312902245)) DONE Ping Anurag via DM\nHad a discussion earlier with Anurag, …","date":1774224e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"718d4e3a8d332bfeb267dfbce029953e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-23/","publishdate":"2026-03-23T00:00:00Z","relpermalink":"/post/journals/2026-03-23/","section":"post","summary":"Notes Good timing does matter\nContext: when I want to propose an idea to dbx team about setting up a Claude connector to interact with dbdiagram right inside claude desktop: Ampcode I can read it from each team’s sync to quickly decide whether to propose an idea For example, when I want to propose ((69c10475-619d-42df-b63e-1884b27ce548)), read the dbx team sync to find out whether they are having some similar key words in mind dbt fails debugging process (collected from Thuan)\n","tags":["journal"],"title":"2026-03-23","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Economix]] Context switching remains high: consider limiting 2-3 projects per day next week. Tasks Partly today Done ","date":1774137600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c8681c016ac2da43552d8f0f2bbf1fd1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-22/","publishdate":"2026-03-22T00:00:00Z","relpermalink":"/post/journals/2026-03-22/","section":"post","summary":"Notes [[Economix]] Context switching remains high: consider limiting 2-3 projects per day next week. Tasks Partly today Done ","tags":["journal"],"title":"2026-03-22","type":"post"},{"authors":null,"categories":null,"content":"Notes Nghỉ ngơi và coi one piece rất vui Coi lại đoạn gặp nhau sau 2 năm timeskip, ông già nấu ăn ở Water Seven (rất chill), arc người cá. Câu chuyện của băng hải tặc mặt trời rất cảm động. Tác giả xây dựng cái bất công của phân biệt chủng tộc. Trong truyện là con người và người cá. Mỗi lần người cá quyết định tin, thì con người lại làm họ thất vọng. Nhưng nhiều khi nguyên do cốt lõi chỉ đến từ “do chúng tôi không biết gì về các bạn”. Mình đã đi khám mắt Độ vẫn giữ như cũ, chỉ có đục thuỷ tinh thể trong mắt làm mình thấy mờ đi. Sẽ thay cái kính mới để chống ánh sáng mặt trời lúc ra đường. LEARNING nhớ nhỏ mắt thường xuyên, tránh để mắt khô. Tasks Partly today Done ","date":1774051200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"087f7916ffd48e6322bf3245e2763f03","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-21/","publishdate":"2026-03-21T00:00:00Z","relpermalink":"/post/journals/2026-03-21/","section":"post","summary":"Notes Nghỉ ngơi và coi one piece rất vui Coi lại đoạn gặp nhau sau 2 năm timeskip, ông già nấu ăn ở Water Seven (rất chill), arc người cá. Câu chuyện của băng hải tặc mặt trời rất cảm động. Tác giả xây dựng cái bất công của phân biệt chủng tộc. Trong truyện là con người và người cá. Mỗi lần người cá quyết định tin, thì con người lại làm họ thất vọng. Nhưng nhiều khi nguyên do cốt lõi chỉ đến từ “do chúng tôi không biết gì về các bạn”. Mình đã đi khám mắt Độ vẫn giữ như cũ, chỉ có đục thuỷ tinh thể trong mắt làm mình thấy mờ đi. Sẽ thay cái kính mới để chống ánh sáng mặt trời lúc ra đường. LEARNING nhớ nhỏ mắt thường xuyên, tránh để mắt khô. Tasks Partly today Done ","tags":["journal"],"title":"2026-03-21","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69b3d030-98dd-450d-88d8-e00c1c322c59)) ((69abeee3-b624-4e96-bd98-696afff2a17b)) Done ((69bcd2d3-e4f6-4661-95e4-80337127ac28))\nDONE Call with Add2Cart\nRemaining items:\nHow to refresh data (anh Dong handled). How to set up other countries? Prepare a PDF documentation to hand over. Missing retailers in public.retailer. To do: follow up with Anurag. DONE Update holistics-query skill with auto publishing and install holistics CLI ","date":1773964800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"36b13d40c5fc4787e87525ae66537f1f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-20/","publishdate":"2026-03-20T00:00:00Z","relpermalink":"/post/journals/2026-03-20/","section":"post","summary":"Notes Tasks Partly today ((69b3d030-98dd-450d-88d8-e00c1c322c59)) ((69abeee3-b624-4e96-bd98-696afff2a17b)) Done ((69bcd2d3-e4f6-4661-95e4-80337127ac28))\nDONE Call with Add2Cart\nRemaining items:\nHow to refresh data (anh Dong handled). How to set up other countries? Prepare a PDF documentation to hand over. Missing retailers in public.retailer. To do: follow up with Anurag. DONE Update holistics-query skill with auto publishing and install holistics CLI ","tags":["journal"],"title":"2026-03-20","type":"post"},{"authors":null,"categories":null,"content":"Notes Usually in data modeling-related tickets like this, to reproduce, we require:\nThe how-to question. The dataset schema (which model, relationships, available dimensions/metrics). The expected AQL explore. Usually in debugging a dbt test warning/failure:\nThe error / signal. Which model? What are upstream models (to know the root cause can come from) and downstream models (to know affected models)? Query real data. Find out root cause. This may vary not only one root cause but many. Categorize root causes: Data pipeline side Source side Some common questions: The test is testing what behavior? What does the test expect and not expect? If we don’t feel the test make sense, question why is it there from first day? In [[Oxygen Not Included]], there is a DLC that introduces a new kind of labor: Bionic Dupes.\nIt’s like introducing robots into the types of labor, beside native dupes. https://media.secondbrain.lelouvincx.com/2026/03/6254fbf630764a4fe494a585a5b99d4d.png The robots come with some advantages: Consume less oxygen Survive better in harsh environment But disadvantages: A lot of power energy Extract gunk / waste water With those disadvantages, hard to say we should use the robots in early game, because power is scarce in early game. But in mid game, the robots shows excellent in far-from-base missions. For example: oil biome, space. It’s like the AI coming into this era. The era I’m living in. When robots are doing their capabilities well, the human should as well. My thoughts from ((69bb6817-761c-4303-afdb-2bc2af90b150)) Meaning of 1on1 meetings with manager\nChance to nurture the team/organization’s human resource. Recently I realize the ones who treat their work on company like their own thing is the successful one.\nThat said, “làm việc bằng cái tâm”. Because when you treat it as your work, non-of-my-business does not exist. Have better responsibility, better empathy, better quality. Quality in everything. Tasks Partly today DONE Ingest full Calendly data into BigQuery Context\nThis project is to ingest full Calendly data into BigQuery Currently, there are demo and onboarding calls are ingested, but not 1-1, case study, customer success calls. This project is suspended for a long time ago. I am the PIC. But now I forget almost everything about it. Let’s better treat this project as if I start over. Trigger\nGrowth team needs. Q: Growth team needs call data for what use case? Sales rep performance. Categorize leads (call-first or trial-first). Although not high priority. Since I’m coming back from higher priority projects (AI benchmarking and Add2Cart), it’s time to do this. At Holistics, we actually have another data source for call recordings, which is Clari/ReadAI.\nThis is a project that Thuan is actively working on it. Q: Am I overlap his work? Ampcode Let’s firstly remind the purpose / role of Calendly data within the big picture of our data platform. Q: What is Calendly used for? A: Counting the number of calls per sales reps =\u0026gt; Vincent wants to know how many calls each rep take a week? https://media.secondbrain.lelouvincx.com/2026/03/66b02fb3a32b691cee0255245b5d988f.png Ingredient for calculating sales motion (call-first / trial-first). Q: Who use? A: Growth team (Vincent). He needs visibility into rep activity (calls made, follow-ups done). Q: How important? A: Medium-low. There’s a known limitation that compounds the challenge: Calendly does not auto-mark meetings as no-shows, and Hubspot’s “Last Meeting Interaction” is unreliable because it requires reps to manually mark meeting outcomes as “Completed.” Q: Does it overlap on anything with ReadAI project? A: For scheduled calls, Calendly is more trusted than ReadAI because there are some calls not being recorded or private, that ReadAI cannot ingest. Plan\nDefine ingestion schema, what we need. The current pipeline is Calendly =\u0026gt; Zapier =\u0026gt; Google Sheets =\u0026gt; Data Import =\u0026gt; BigQuery This only captures created events, for cancelled/rescheduled events we need another Zap for this This has only 400 events, while in total we have 4438 events (since 2016) Hard to control/debug when sync error Suggest a better tool to ingest Calendly: either Prefect / Airbyte. Here is the whole schema taken from openapi: https://dbdiagram.io/e/69d61041808962968445981c/69d62f0f8089629684479d06 Required data from these tables: event_types, events, cancellations, invitees, event_guests, users, invitee_questions_and_answers These’s event_types data that cannot be extracted from Zapier. Currently, to prevent blocker, I’m using Fivetran to sync data. In the future we can upgrade Airbyte and switch, nothing would breaks since we already know the schema from official Calendly API. Waiting for anh Dong to review document and code. There is some files I don’t like in the code but it’s fine for now. OpenAPI spec: https://stoplight.io/api/v1/projects/calendly/api-docs/nodes/reference/calendly-api/openapi.yaml When do data pipeline, ingesting phase, should find for something like an …","date":1773878400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dc871e2c4187824cb1b1feae61cd4938","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-19/","publishdate":"2026-03-19T00:00:00Z","relpermalink":"/post/journals/2026-03-19/","section":"post","summary":"Notes Usually in data modeling-related tickets like this, to reproduce, we require:\nThe how-to question. The dataset schema (which model, relationships, available dimensions/metrics). The expected AQL explore. Usually in debugging a dbt test warning/failure:\nThe error / signal. Which model? What are upstream models (to know the root cause can come from) and downstream models (to know affected models)? Query real data. Find out root cause. This may vary not only one root cause but many. Categorize root causes: Data pipeline side Source side Some common questions: The test is testing what behavior? What does the test expect and not expect? If we don’t feel the test make sense, question why is it there from first day? In [[Oxygen Not Included]], there is a DLC that introduces a new kind of labor: Bionic Dupes.\n","tags":["journal"],"title":"2026-03-19","type":"post"},{"authors":null,"categories":null,"content":"Notes [[1on1 Report - 2026-03-18]] notes\nAnh Triet’s concerns AI (my primary focus on this) How to integrate AI into development experience in data team? What is required to make the team more productive? Current data infra / pipeline being too complex Anh Triet cant trust Feeling it is being coupled into each other too much PR Workflow (anh Triet feels no one is updating) Recent thoughts about AI\nAI can make us worse but also can empower us Tasks Partly today TODO Think about applying AI into resolving #data-ops-bot issues (data pipelines)\nWhat we do: Pick a task Resolve it manually After done, write a very detailed guide (so that a guy with minimal knowledge about Holistics can still resolve himself) Put it to agents to try Loop After that, we can materialize it as a skill. Plug it into the agent, tag on slack whenever a bug appears. Improve it incrementally. Done DONE Check #data-ops-bot on viz_settings from PR#842 ((69ba0db9-31ed-4383-bcd8-2db47cd64a6a))\nDONE 1on1 meeting\nDONE Write 1on1\nDONE Add 1on1 automation report in logseq\n","date":1773792e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4660618886d74e5af4c1d49942d4b611","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-18/","publishdate":"2026-03-18T00:00:00Z","relpermalink":"/post/journals/2026-03-18/","section":"post","summary":"Notes [[1on1 Report - 2026-03-18]] notes\nAnh Triet’s concerns AI (my primary focus on this) How to integrate AI into development experience in data team? What is required to make the team more productive? Current data infra / pipeline being too complex Anh Triet cant trust Feeling it is being coupled into each other too much PR Workflow (anh Triet feels no one is updating) Recent thoughts about AI\nAI can make us worse but also can empower us Tasks Partly today TODO Think about applying AI into resolving #data-ops-bot issues (data pipelines)\n","tags":["journal"],"title":"2026-03-18","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Partly today ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Showbie use case - embedded dashboard QA\nRequirements\nShowbie’s product team wants to review and approve dashboards before they go live to end customers. The PM needs to preview what the dashboard will look like when embedded in Showbie’s app (and not just an internal Holistics view that might look different). Scope: both internal (within Holistics) and external (in Showbie’s app) Where customers interact with dashboards. Dashboards should not be visible to customers until they’ve been approved. The QA process is specifically about verifying the visual design and presentation of dashboards, not just data correctness. Possible approaches:\nHaving 2 dashboards: staging and production. Publish and embed the staging dashboard first. Let PMs review. If everything okay, copy-paste into prod dashboard. Publish and embed into production app. Having a second tenant for staging. Discussed with team (anh Tai / Huy) in person, decided:\nWhen a PM wants to review an embedded dashboard, he clicks link (points to Development -\u0026gt; Embed Portal) then preview. Every dashboard changes within that branch still actively reflects on the embed preview in development. DONE Review monitoring dashboard DE-187 ","date":1773705600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5f538f2d345deb82475859329172629f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-17/","publishdate":"2026-03-17T00:00:00Z","relpermalink":"/post/journals/2026-03-17/","section":"post","summary":"Notes Tasks Partly today ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Showbie use case - embedded dashboard QA\nRequirements\nShowbie’s product team wants to review and approve dashboards before they go live to end customers. The PM needs to preview what the dashboard will look like when embedded in Showbie’s app (and not just an internal Holistics view that might look different). Scope: both internal (within Holistics) and external (in Showbie’s app) Where customers interact with dashboards. Dashboards should not be visible to customers until they’ve been approved. The QA process is specifically about verifying the visual design and presentation of dashboards, not just data correctness. Possible approaches:\n","tags":["journal"],"title":"2026-03-17","type":"post"},{"authors":null,"categories":null,"content":"Notes https://vinted.engineering//2026/03/11/risk-based-testing/\nPretty cool tip on tagging dbt models with high/low risk, high/low frequency and run the tests based on these tags. Tasks Partly today ((69b3d030-98dd-450d-88d8-e00c1c322c59)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Debrief the last call with Showbie ((69af7837-e2f7-4a64-8ff0-d55a131c55ac))\nDONE Debrief the last call with Showbie\nLEARNING Try out the Calculation Builder feature and prepare some use case I can use immediately in onboarding calls. LEARNING I feel like the calls I’m leading is not at my expected quality, I should practice more. One of the way I’m thinking about this using past calls led by Huy/Vincent, immitate them: whenever a prospect asks for something, I pause and answer first, then play the video to see how Huy/Vincent answers =\u0026gt; take learning points. DONE Version v0.2.4\nFrom these amp’s observations, proceed with the fixes. Release. ((69af7837-e2f7-4a64-8ff0-d55a131c55ac))\n","date":1773619200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4cdfa3ef63baf21eba7dd9162b7e5d72","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-16/","publishdate":"2026-03-16T00:00:00Z","relpermalink":"/post/journals/2026-03-16/","section":"post","summary":"Notes https://vinted.engineering//2026/03/11/risk-based-testing/\nPretty cool tip on tagging dbt models with high/low risk, high/low frequency and run the tests based on these tags. Tasks Partly today ((69b3d030-98dd-450d-88d8-e00c1c322c59)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) Done DONE Debrief the last call with Showbie ((69af7837-e2f7-4a64-8ff0-d55a131c55ac))\nDONE Debrief the last call with Showbie\nLEARNING Try out the Calculation Builder feature and prepare some use case I can use immediately in onboarding calls. LEARNING I feel like the calls I’m leading is not at my expected quality, I should practice more. One of the way I’m thinking about this using past calls led by Huy/Vincent, immitate them: whenever a prospect asks for something, I pause and answer first, then play the video to see how Huy/Vincent answers =\u003e take learning points. DONE Version v0.2.4\n","tags":["journal"],"title":"2026-03-16","type":"post"},{"authors":null,"categories":null,"content":"Notes Consulting this week\nFor too many issues, batch the truly small ones (DAT-219, DAT-268) into a single focused session, and explicitly defer or close ones that are no longer relevant. Carrying 15 open issues creates cognitive load. The root fix is sleep. Consider a hard cutoff time and protect 7+ hours. Watch the smartclass project does not become a rabbit hole. =\u0026gt; Prefer setting a clear boundary for v0.1 and park it. This week the infrastructure work was necessary and well-executed, but the number of context switches is high. Consider blocking 2–3 “focus days” next week for the Census migration and Linear backlog triage. I dont know whether it affects me, but I will keep aware of. Claude Skill Building Guide\nIn description: what it does. when to use? when not to use? Tasks Done DONE Teach Duc Anh DONE Consolidate agent-skills target directory into claude for simplicity\n","date":1773532800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d8396e4db70d7dac99ec872b6fbb837d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-15/","publishdate":"2026-03-15T00:00:00Z","relpermalink":"/post/journals/2026-03-15/","section":"post","summary":"Notes Consulting this week\nFor too many issues, batch the truly small ones (DAT-219, DAT-268) into a single focused session, and explicitly defer or close ones that are no longer relevant. Carrying 15 open issues creates cognitive load. The root fix is sleep. Consider a hard cutoff time and protect 7+ hours. Watch the smartclass project does not become a rabbit hole. =\u003e Prefer setting a clear boundary for v0.1 and park it. This week the infrastructure work was necessary and well-executed, but the number of context switches is high. Consider blocking 2–3 “focus days” next week for the Census migration and Linear backlog triage. I dont know whether it affects me, but I will keep aware of. Claude Skill Building Guide\n","tags":["journal"],"title":"2026-03-15","type":"post"},{"authors":null,"categories":null,"content":"Notes Just received performance review result for 2025H2. Very excited.\nSalary increase and year bonus: https://media.secondbrain.lelouvincx.com/2026/03/8af03c4fafbddbbd552e7850e668d81a.png Explore opencode and feedback it’s pretty good. Especially models GLM-4.7. Even claude opus/sonnet there is much cheaper than ampcode. This can replace ampcode in some small, repetitive, context gathering tasks. Problem: lacking of an easy way to read/share threads like ampcode. Tasks ((69b21fb9-6f3d-4c38-8483-892aa9d89cac)) Done ","date":1773446400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2d8d3dc031857d9919c922041f1ad78a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-14/","publishdate":"2026-03-14T00:00:00Z","relpermalink":"/post/journals/2026-03-14/","section":"post","summary":"Notes Just received performance review result for 2025H2. Very excited.\nSalary increase and year bonus: https://media.secondbrain.lelouvincx.com/2026/03/8af03c4fafbddbbd552e7850e668d81a.png Explore opencode and feedback it’s pretty good. Especially models GLM-4.7. Even claude opus/sonnet there is much cheaper than ampcode. This can replace ampcode in some small, repetitive, context gathering tasks. Problem: lacking of an easy way to read/share threads like ampcode. Tasks ((69b21fb9-6f3d-4c38-8483-892aa9d89cac)) Done ","tags":["journal"],"title":"2026-03-14","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done TODO Search for a tool to summarize youtube videos TODO Check failed dbt tests in #data-ops-bot, list all issues, then create corresponding linear issues for them\nDONE DAT-554\nDONE DAT-555\nfct_job_queue_performance\n1-Ampcode 2-Ampcode 3-Ampcode (fix) 4-Ampcode (migrate) 5-Ampcode (migrate continue) PR dbt (reviewing): https://github.com/holistics/dbt/pull/854 PR Holistics (draft): https://github.com/holistics/internal-aml-project/pull/69 This model is used by dataset Job Queue Performance, then used by dashboard [WIP] Job Queue Performace 3.0 Not a big impact because no one is using this dashboard right now. The team is probably using this dashboard Report Job Queue Performance Monitoring. But is this dbt model essential? Worth keeping? This model estimates, at minute-level, how loaded each tenant queue is and how many were waiting vs total active jobs. Minute-level =\u0026gt; very big. https://holistics.slack.com/archives/C79QB3FEV/p1755662645561689 There is already a solution for this: dashboards those let customers monitor directly in their tenant (via embedding). Similar to Usage Monitoring. In Job Monitoring -\u0026gt; Analytics. This dbt model is staled. Should we remove it? Is there any use case in the future that we can consider using it? I don’t think so. The only use case is Job Monitoring, which is already addressed by squad performance. Is it safe if we remove this model? Yes, we can recreate it from fct_jobs because that model already has key inputs: created_at, start_time, end_time assigned_queue queue_limit queue_valid_from tenant/region keys The cost for storing this table: \u0026lt;$1/month. Yes. Remove it. DONE Write a notion document about this and let teammate review =\u0026gt; https://www.notion.so/holistics/DE-212-336f89dc7e498006a2a0e78622de854c DONE Write downstream models\nDiscuss with anh Triet this morning. The point is, this model must be at minute-level, to help debug tracing. Decision: Keep this dbt model, refactor to fix the bigquery resource limit Cap the incremental lookback window to 7 days for fct_job_queue_performance to prevent BigQuery resource limit errors when _dbt_max_partition falls behind. Caveat: as long as the schedule does not paused for longer than 7 days, it’s okay. Clean up dashboards on bi.holistics.io One dashboard to clean up is: [WIP] Job Queue Performace 3.0 Other dashboards we can convert to 4.0: Job Queue Performance Estimation (v2) Report Job Queue Performance Monitoring PR review done. Backfill completed. Now proceed to clean up BI layer Dashboard Decision Reason Output [WIP] Job Queue Performance 3.0 Delete Unused WIP dashboard DONE Job Queue Performance Estimation (v2) Migrate Used by Dat/Triet for performance debug tracing. For example: Timo case. Job Queue Performance. Note: still keep the dashboard since it is shared with customers (shareable link) Report Job Queue Performance Monitoring Keep (migrate to 4.0) Check for redundancy with v2 DONE Tenant execeeds job queue limit Keep DONE BI clean up done. Note: for migrating the dashboard Job Queue Performance, still keep the old dashboard because it is shared with customers (shareable link). Close this task. mart_product__dataset_datamodel_dimensions (parse json)\nOpencode Ampcode Delegate to Thuan (junior) to debug. I already know the bug. Done: https://linear.app/holistics/issue/DAT-567 unique_mart_product__dataset_datamodel_dependencies_skey\n- [Ampcode](https://ampcode.com/threads/T-019d0598-aa1b-7779-a563-4b5f42594a81) - Done: https://linear.app/holistics/issue/DAT-575 Skipped models: itg_customer_support__organizations, mart_customer_support__organizations, mart_product__activities, mart_product__activities_backfilled_event, mart_product__as_code_objects, mart_product__tag_assignments, mart_product__tenant_features_usage_monthly DONE Onboarding call with Showbie\n((69b21fb9-6670-4bab-a135-2054dd790815))\nDONE Fix DAT-554 Elementary dbt test n_records column missing\n","date":177336e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f08d18333f5d14228d3612db7f6dfceb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-13/","publishdate":"2026-03-13T00:00:00Z","relpermalink":"/post/journals/2026-03-13/","section":"post","summary":"Notes Tasks Done TODO Search for a tool to summarize youtube videos TODO Check failed dbt tests in #data-ops-bot, list all issues, then create corresponding linear issues for them\nDONE DAT-554\nDONE DAT-555\nfct_job_queue_performance\n1-Ampcode 2-Ampcode 3-Ampcode (fix) 4-Ampcode (migrate) 5-Ampcode (migrate continue) PR dbt (reviewing): https://github.com/holistics/dbt/pull/854 PR Holistics (draft): https://github.com/holistics/internal-aml-project/pull/69 This model is used by dataset Job Queue Performance, then used by dashboard [WIP] Job Queue Performace 3.0 Not a big impact because no one is using this dashboard right now. The team is probably using this dashboard Report Job Queue Performance Monitoring. But is this dbt model essential? Worth keeping? This model estimates, at minute-level, how loaded each tenant queue is and how many were waiting vs total active jobs. Minute-level =\u003e very big. https://holistics.slack.com/archives/C79QB3FEV/p1755662645561689 There is already a solution for this: dashboards those let customers monitor directly in their tenant (via embedding). Similar to Usage Monitoring. In Job Monitoring -\u003e Analytics. This dbt model is staled. Should we remove it? Is there any use case in the future that we can consider using it? I don’t think so. The only use case is Job Monitoring, which is already addressed by squad performance. Is it safe if we remove this model? Yes, we can recreate it from fct_jobs because that model already has key inputs: created_at, start_time, end_time assigned_queue queue_limit queue_valid_from tenant/region keys The cost for storing this table: \u003c$1/month. Yes. Remove it. DONE Write a notion document about this and let teammate review =\u003e https://www.notion.so/holistics/DE-212-336f89dc7e498006a2a0e78622de854c DONE Write downstream models\n","tags":["journal"],"title":"2026-03-13","type":"post"},{"authors":null,"categories":null,"content":"Notes 99\n{{video https://www.youtube.com/watch?v=ws9zR-UzwTE}} Impressions He pitched it good. There’s gap between people who do hand programming and people who vibe code 100%. He still wants to use AI, but does not want to give 100% permission on coding agents like how claudecode does: grep and text edit all the time. https://media.secondbrain.lelouvincx.com/2026/03/442d453b9c1e9273d432c8d302e921bc.png Listing pending issues from linear into logseq\nDAT-450 Census → HubSpot reverse ETL issue causing stale customer status (e.g., Telio) due to rejected updates. DAT-469 Call-booking data appears to stop after Nov 2024 in lead conversion analytics; needs investigation. DAT-510 Validate holistics-customers logic and add a dashboard tab for period-based customer movement metrics. DAT-524 Exclude internal Zoho test accounts from churn metrics by fixing filters in Zoho events pipeline. DAT-155 Investigate why active users have censored emails in BigQuery customer dataset/report. DAT-163 Improve Prefect production secret management (currently manual), likely toward a vault/as-code workflow. DAT-219 Migrate deprecated Prefect String usage to Variable. DAT-259 Ensure dim_sales_reps keeps historical/ex-rep records instead of nulling old emails. DAT-268 Use Python tempfile in Prefect flows to avoid persistent temp files and cleanup issues. DAT-283 Expand Calendly ingestion to all call types (not only Demo/Onboarding). DAT-371 Investigate Census/HubSpot naming/status inconsistency around MoneySmart/Parts records. DAT-462 JSONB→STRING conversion in BigQuery breaks JSON parsing and impacts downstream logic/reports. DAT-463 Follow-up to identify other places impacted by the same root issue. DAT-504 Investigate mismatch between user list and active-user count in Pencil tenant health dashboard. DOC-36 Merge and simplify cross-model calculation docs into one clearer official guide. I will re-prioritize and complete them as soon as possible. They are all small tasks. Tasks Done TODO Think about how would a normal data team adopt a BI chatbot\nCandidates\nnao DONE Check if with current API is it feasible to support the ticket for passthekeys\nContinue from ((69a7f8db-8d65-4c0b-9148-a11223fc395a))\nDONE Reply them as well\nTest the built holistics skill to see with the well-defined task, can it solve quickly? What are the blockers? Is it possible for customers to self-serve just to install the current skill? {{embed ((69b27a3c-acd7-44f0-b5ec-b073b20117c6))}}\n((69b0492c-27f7-44f9-abc4-2adf288a7968))\n((69b21fb9-e148-4c83-bda4-1412ca586acb))\n((69b21fb9-3135-4465-aa79-8f96de75ba60))\n","date":1773273600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d0206a4956e58dce04ffd5b0ac64d38b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-12/","publishdate":"2026-03-12T00:00:00Z","relpermalink":"/post/journals/2026-03-12/","section":"post","summary":"Notes 99\n{{video https://www.youtube.com/watch?v=ws9zR-UzwTE}} Impressions He pitched it good. There’s gap between people who do hand programming and people who vibe code 100%. He still wants to use AI, but does not want to give 100% permission on coding agents like how claudecode does: grep and text edit all the time. https://media.secondbrain.lelouvincx.com/2026/03/442d453b9c1e9273d432c8d302e921bc.png Listing pending issues from linear into logseq\nDAT-450 Census → HubSpot reverse ETL issue causing stale customer status (e.g., Telio) due to rejected updates. DAT-469 Call-booking data appears to stop after Nov 2024 in lead conversion analytics; needs investigation. DAT-510 Validate holistics-customers logic and add a dashboard tab for period-based customer movement metrics. DAT-524 Exclude internal Zoho test accounts from churn metrics by fixing filters in Zoho events pipeline. DAT-155 Investigate why active users have censored emails in BigQuery customer dataset/report. DAT-163 Improve Prefect production secret management (currently manual), likely toward a vault/as-code workflow. DAT-219 Migrate deprecated Prefect String usage to Variable. DAT-259 Ensure dim_sales_reps keeps historical/ex-rep records instead of nulling old emails. DAT-268 Use Python tempfile in Prefect flows to avoid persistent temp files and cleanup issues. DAT-283 Expand Calendly ingestion to all call types (not only Demo/Onboarding). DAT-371 Investigate Census/HubSpot naming/status inconsistency around MoneySmart/Parts records. DAT-462 JSONB→STRING conversion in BigQuery breaks JSON parsing and impacts downstream logic/reports. DAT-463 Follow-up to identify other places impacted by the same root issue. DAT-504 Investigate mismatch between user list and active-user count in Pencil tenant health dashboard. DOC-36 Merge and simplify cross-model calculation docs into one clearer official guide. I will re-prioritize and complete them as soon as possible. They are all small tasks. Tasks Done TODO Think about how would a normal data team adopt a BI chatbot\n","tags":["journal"],"title":"2026-03-12","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Plan building a live demo dashboard for this slide\nhttps://media.secondbrain.lelouvincx.com/2026/03/ae681d144e135a4a657287680de4a261.png\nDONE Check Prefect slack automation failure\nNot sure the exact problem, I guess it’s because of version conflict.\nDONE Simplify pyproject.toml and deploy to check it first.\nRun flows to debug.\nThe root cause is when upgrading packages using dependabot, we accidentally upgrade a small package used by prefect to post notification to slack. Details in the PR.\n","date":1773187200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"bdb7feb8059056bf03a75e4ffd98638d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-11/","publishdate":"2026-03-11T00:00:00Z","relpermalink":"/post/journals/2026-03-11/","section":"post","summary":"Notes Tasks Done DONE Plan building a live demo dashboard for this slide\nhttps://media.secondbrain.lelouvincx.com/2026/03/ae681d144e135a4a657287680de4a261.png\nDONE Check Prefect slack automation failure\nNot sure the exact problem, I guess it’s because of version conflict.\nDONE Simplify pyproject.toml and deploy to check it first.\nRun flows to debug.\nThe root cause is when upgrading packages using dependabot, we accidentally upgrade a small package used by prefect to post notification to slack. Details in the PR.\n","tags":["journal"],"title":"2026-03-11","type":"post"},{"authors":null,"categories":null,"content":"Notes IDEA Do “performance review” my self by every 3 month.\nNext target is end of this month. Intalled opencode today, using model GPT-5.3 Codex for free. Will leave reviews here.\nTasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))\n((69af7837-e2f7-4a64-8ff0-d55a131c55ac))\n((69a81acd-1ec9-457d-ab25-abb87c57d581))\nDONE Smartclass v0.1 (to be updated)\nProject setup: wrangler.toml, D1/R2 bindings, Hono worker entry.\nD1 schema migrations (users, exercises, answer_schemas, submissions, lectures).\nAuth: phone+password login/register, JWT middleware, teacher creates students (pw 123), pending approval flow.\nReact Router, login/register pages.\nDeploy: Cloudflare Pages + Workers pipeline.\nSome security concerns rise but it’s fine for v0.1 now. Will get back later. Noted in readme.\n((69a42ffd-22c7-4b43-8b34-0f663743abcf))\nDONE Logseq automation problem: runs randomly not at the end of tuesday?\nDONE Data support for Trust Wallet\n","date":1773100800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a56499d68618a055f627107f19985839","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-10/","publishdate":"2026-03-10T00:00:00Z","relpermalink":"/post/journals/2026-03-10/","section":"post","summary":"Notes IDEA Do “performance review” my self by every 3 month.\nNext target is end of this month. Intalled opencode today, using model GPT-5.3 Codex for free. Will leave reviews here.\nTasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))\n((69af7837-e2f7-4a64-8ff0-d55a131c55ac))\n((69a81acd-1ec9-457d-ab25-abb87c57d581))\nDONE Smartclass v0.1 (to be updated)\nProject setup: wrangler.toml, D1/R2 bindings, Hono worker entry.\nD1 schema migrations (users, exercises, answer_schemas, submissions, lectures).\nAuth: phone+password login/register, JWT middleware, teacher creates students (pw 123), pending approval flow.\n","tags":["journal"],"title":"2026-03-10","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Migrate Census to Fivetran Context\nData team is using Census for reverse-ETL jobs. For example, updating tenant info from BigQuery (after transforming) to HubSpot. Census is acquired by Fivetran and they request us to migrate from Census account to Fivetran account. Deadline: end of march 2026. Branding rename: Census =\u0026gt; Fivetran Activations. Current state\nCensus organization: ha.pham@holistics.io https://media.secondbrain.lelouvincx.com/2026/03/2cc4f3771066ace4ea3b5b3a21a74f91.png https://media.secondbrain.lelouvincx.com/2026/03/ab97a01230a393c6da930d192aecd319.png Census plan: free. Expect migrating to Fivetran should stay at free plan. There are 2 existing syncs (need to validate after migrating) BigQuery dim_contacts =\u0026gt; HubSpot Contact logseq.order-list-type:: number Source: select * from `skilled-fulcrum-90207.mart_holistics.dim_contacts` where holistics_user_role is not null and company_id is not null Mapping: https://media.secondbrain.lelouvincx.com/2026/03/c5685cdddf39a4b3c8257c4f6e46bda0.png BigQuery fct_customer_stats =\u0026gt; HubSpot Company logseq.order-list-type:: number Source: select * from `skilled-fulcrum-90207.mart_holistics.fct_customer_stats` where customer_status != \u0026#39;not_engaged\u0026#39; Mapping: https://media.secondbrain.lelouvincx.com/2026/03/d604277373ef1e5090eae039b5e1fad1.png Migration FAQ (link)\nHow do I navigate the new Fivetran UI? Everything you’d previously configured in Census (datasets, segments, syncs, workspaces, etc.) still exist within Fivetran under that tab. Updated pricing: we are using free tier, and we expect this migration stays at free tier. Fivetran usage-based pricing model. I’m currently using Census for free. After I migrate my account to Fivetran, will I still be able to? Yes, Fivetran also offers a free plan. This plan includes free usage for the Fivetran platform, including Activations, within certain limits. How do I migrate my Census account to Fivetran if I’m not an existing Fivetran customer? All Census accounts are being migrated into Fivetran and standalone Census accounts will not be accessible after April 1, 2026. If you do not already have a Fivetran account, you will need to first create a new Fivetran account and then continue with the migration. It’s important to understand that even though your new Fivetran account will have a 14-day trial, you’ll still need to select a Fivetran plan (such as the free plan, if appropriate) in order to ensure your Fivetran account is not frozen when your Census plan expires. What happens to my Census account during migration? Is there downtime? The only changes to your Census account are to the sign-in process, authentication configuration, and account administration roles. The process only takes a few seconds. All of your existing Census sources, destinations, syncs, datasets, segments and everything else will not be touched. All your syncs will continue to run as normal without any impact or change. Plan\nDONE Understand MAR counting\nTODO Create a Fivetran account for data team (data@holistics.io) TODO Login to Census, migrate to the new account. TODO Config Fivetran free tier plan. DONE Adhoc fix failed CI upload-holistics in dbt project\nDONE Review PR CI dataset scope\n","date":1773014400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e7d72c7b7cfaf1c0b96575837d45ff64","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-09/","publishdate":"2026-03-09T00:00:00Z","relpermalink":"/post/journals/2026-03-09/","section":"post","summary":"Notes Tasks Done DONE Migrate Census to Fivetran Context\nData team is using Census for reverse-ETL jobs. For example, updating tenant info from BigQuery (after transforming) to HubSpot. Census is acquired by Fivetran and they request us to migrate from Census account to Fivetran account. Deadline: end of march 2026. Branding rename: Census =\u003e Fivetran Activations. Current state\nCensus organization: ha.pham@holistics.io https://media.secondbrain.lelouvincx.com/2026/03/2cc4f3771066ace4ea3b5b3a21a74f91.png https://media.secondbrain.lelouvincx.com/2026/03/ab97a01230a393c6da930d192aecd319.png Census plan: free. Expect migrating to Fivetran should stay at free plan. There are 2 existing syncs (need to validate after migrating) BigQuery dim_contacts =\u003e HubSpot Contact logseq.order-list-type:: number Source: select * from `skilled-fulcrum-90207.mart_holistics.dim_contacts` where holistics_user_role is not null and company_id is not null Mapping: https://media.secondbrain.lelouvincx.com/2026/03/c5685cdddf39a4b3c8257c4f6e46bda0.png BigQuery fct_customer_stats =\u003e HubSpot Company logseq.order-list-type:: number Source: select * from `skilled-fulcrum-90207.mart_holistics.fct_customer_stats` where customer_status != 'not_engaged' Mapping: https://media.secondbrain.lelouvincx.com/2026/03/d604277373ef1e5090eae039b5e1fad1.png Migration FAQ (link)\n","tags":["journal"],"title":"2026-03-09","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Memory Decreasing]]\nGần đây cảm thấy trí nhớ mình giảm sút. Không nhớ nổi những việc nhỏ cần làm. Mình đoán do vài lý do: Ngủ ít. Ngày có 6 tiếng trong hơn cả tuần. Mất tập trung nhiều vì lướt mạng xã hội. Hở tay ra điện thoại là lấy lướt làm sự chú ý giảm. Đến nỗi không thể bỏ tay khỏi điện thoại để cầm cái kindle lên đọc. Kế hoạch của mình là bớt chơi mạng xã hội lại. Setup màn hình đen trắng cho điện thoại để bớt. Cố gắng mỗi 1-2 tiếng nghỉ ngơi cho thư thả đầu óc, thư giãn mắt. Related to ((69abe62c-6874-4237-a46c-107029d04897)). [[Dominant Eye]]\nLike hands, every body has the dominant eye. To me, I think it’s the right eye. When I look at something I think the right eye works first. Or when “nheo mắt” I feel the right eye acts more actively. I used to place the mac’s dock on the left of the screen and feel uncomfortable, that’s why I keep changing its position. But right after I place it on the right of the screen, I don’t feel I need to change any to any other positions. What’s the action from this? Use left hand in FPS games. I will try. I likely process information on the right side. A pretty cool visualization for how should I setup second monitor: [ Secondary Monitor ] [ Primary Monitor ] (Docs/Logseq/Slack) (Neovim/BigQuery) \\ | \\ 30° Angle | 0° Center \\ | \\ [Keyboard] | \\ (MelGeek O2) | \\ | | \\ | | [Left Eye] [Right Eye (Anchor)] Gemini: https://gemini.google.com/app/b28e42b786c99be6 I think my eyes are more near-sighted than the current glasses. Need to medical check again. My random thoughts: should follow the AI trend rather than building something old from the last era. Tasks Done TODO Complete brazilian dashboard on metabase.lelouvincx.com for Yen\nDONE Dash 1: Sales Overview\nTODO Dash 2: Shipping Overview\nTODO Tell Yen record a video for demoing this project.\nPreview dashboard\nhttps://media.secondbrain.lelouvincx.com/2026/03/6c8907338c4eee57fbddeff4485d0a97.png ","date":1772928e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"77151a03f6a729d77ce12c1dca83c977","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-08/","publishdate":"2026-03-08T00:00:00Z","relpermalink":"/post/journals/2026-03-08/","section":"post","summary":"Notes [[Memory Decreasing]]\nGần đây cảm thấy trí nhớ mình giảm sút. Không nhớ nổi những việc nhỏ cần làm. Mình đoán do vài lý do: Ngủ ít. Ngày có 6 tiếng trong hơn cả tuần. Mất tập trung nhiều vì lướt mạng xã hội. Hở tay ra điện thoại là lấy lướt làm sự chú ý giảm. Đến nỗi không thể bỏ tay khỏi điện thoại để cầm cái kindle lên đọc. Kế hoạch của mình là bớt chơi mạng xã hội lại. Setup màn hình đen trắng cho điện thoại để bớt. Cố gắng mỗi 1-2 tiếng nghỉ ngơi cho thư thả đầu óc, thư giãn mắt. Related to ((69abe62c-6874-4237-a46c-107029d04897)). [[Dominant Eye]]\n","tags":["journal"],"title":"2026-03-08","type":"post"},{"authors":null,"categories":null,"content":"Notes Similar to the idea ((69abe62c-5ba2-468f-ba5c-c0e9274cc6d0)), we have github repo claude-mem they it automatically captures everything Claude does\nTooling investment is paying off\nThis week saw 4 agent skills set up (Notion, Holistics, BigQuery, weekly report automation). The weekly report automation alone will save 1–2 hours per week. The risk is spending more time building tools than using them. =\u0026gt; Consider a cooling-off period before starting new skill builds. Logseq Automation behavior draft up\nhttps://media.secondbrain.lelouvincx.com/2026/03/c2198cc22ef4af8f96bcf828d1977fae.png Tasks DONE Find any reuseable resources to do a website for thay Thanh\nJust do it myself with vibe coding. Constraints To be deployable on cloudflare with minimum cost. As simple as possible. Go with Demo: static site with shadcn/ui. https://smartclass-demo.pages.dev/ I initialized a repository and first-version design for the app at: https://github.com/lelouvincx/smartclass/pull/1 Done ","date":1772841600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9938b4bb90b41f93b6c81faadaf0474a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-07/","publishdate":"2026-03-07T00:00:00Z","relpermalink":"/post/journals/2026-03-07/","section":"post","summary":"Notes Similar to the idea ((69abe62c-5ba2-468f-ba5c-c0e9274cc6d0)), we have github repo claude-mem they it automatically captures everything Claude does\nTooling investment is paying off\nThis week saw 4 agent skills set up (Notion, Holistics, BigQuery, weekly report automation). The weekly report automation alone will save 1–2 hours per week. The risk is spending more time building tools than using them. =\u003e Consider a cooling-off period before starting new skill builds. Logseq Automation behavior draft up\n","tags":["journal"],"title":"2026-03-07","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))\n((69a81acd-1ec9-457d-ab25-abb87c57d581))\n((69a7f8db-8d65-4c0b-9148-a11223fc395a))\nDONE Prepare a high level draft of our deliverables that we completed\nSent to Vincent in slack.\n((69841d05-88ea-4209-82ca-30b11b26e91c)) ","date":1772755200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7e297935ed4f9134f7ce39cc1c65f1eb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-06/","publishdate":"2026-03-06T00:00:00Z","relpermalink":"/post/journals/2026-03-06/","section":"post","summary":"Notes Tasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))\n((69a81acd-1ec9-457d-ab25-abb87c57d581))\n((69a7f8db-8d65-4c0b-9148-a11223fc395a))\nDONE Prepare a high level draft of our deliverables that we completed\nSent to Vincent in slack.\n((69841d05-88ea-4209-82ca-30b11b26e91c)) ","tags":["journal"],"title":"2026-03-06","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Data tracking - AI Enablement DONE Init a document for me and Phuong Nguyen to discuss.\nAsked chi Phuong, she wants to: Track how many prospects/customers enabled AI? Know how long for a tenant since created to enabling AI? My follow-up questions to make things clearer: Suppose we know the it’s long enough for a tenant to enable AI, then what’s next? Data policy? Action 1: Make our data policy more explicit. Action 2: Review policy. Data modeling is not well-prepared? Pricing Free or not? Make it more explicit. These survey-like questions are currently not being tracked under any form. Although hard to convince it’s good enough, but it’s quick to build from data side, there’s no reason to reject this. =\u0026gt; Set at #P3 Asked Giap (engineer): Toggle AI: public.tenants.settings-\u0026gt;enablement. Banner: public.users.settings-\u0026gt;personal-\u0026gt;ai-\u0026gt;hide_banner. These data are already stored in bigquery via Data Import -\u0026gt; dbt snapshot. Expected output: an analytical-ready dataset for answering written questions. I found a dashboard already tracking these information: AI Settings. Ask: If I add the hide_banner tracking, does this dashboard meet your requirements? Phuong answered we can suspend this if the ROI is low. Will get back if later trigger. DONE Support Pass The Keys sharing object dependency data\nDONE Working on a shareable dashboard\nMeanwhile, waiting for her use case to support better. Suggested her with the dataset custom view: https://docs.holistics.io/docs/datasets/custom-views, waiting for her thoughts. She replied that migrating to 4.0 is cost-prohibitive to them. ((69a42ffd-22c7-4b43-8b34-0f663743abcf))\nDONE 2026 Feb Product Office Hours (P2)\nEmbedded analytics DONE Something wrong when I change the directory of prefect, dbt to holistics/data, especially auto virtual env awareness from uv.\nJust uv sync again, it worked. The problem is inside .venv/bin/activate there’s a hard-code path to append to $PATH. DONE 2026 Feb Product Office Hours (P1)\nLEARNING AMQL better than YAML\nHow a typed language is better for AI programming? (Gemini) https://zenvanriel.com/ai-engineer-blog/strict-typing-compilers-help-ai-agents/ ","date":1772668800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3d2a0cec2b16f55cf73d3a7196d66f9b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-05/","publishdate":"2026-03-05T00:00:00Z","relpermalink":"/post/journals/2026-03-05/","section":"post","summary":"Notes Tasks Done DONE Data tracking - AI Enablement DONE Init a document for me and Phuong Nguyen to discuss.\nAsked chi Phuong, she wants to: Track how many prospects/customers enabled AI? Know how long for a tenant since created to enabling AI? My follow-up questions to make things clearer: Suppose we know the it’s long enough for a tenant to enable AI, then what’s next? Data policy? Action 1: Make our data policy more explicit. Action 2: Review policy. Data modeling is not well-prepared? Pricing Free or not? Make it more explicit. These survey-like questions are currently not being tracked under any form. Although hard to convince it’s good enough, but it’s quick to build from data side, there’s no reason to reject this. =\u003e Set at #P3 Asked Giap (engineer): Toggle AI: public.tenants.settings-\u003eenablement. Banner: public.users.settings-\u003epersonal-\u003eai-\u003ehide_banner. These data are already stored in bigquery via Data Import -\u003e dbt snapshot. Expected output: an analytical-ready dataset for answering written questions. I found a dashboard already tracking these information: AI Settings. Ask: If I add the hide_banner tracking, does this dashboard meet your requirements? Phuong answered we can suspend this if the ROI is low. Will get back if later trigger. DONE Support Pass The Keys sharing object dependency data\n","tags":["journal"],"title":"2026-03-05","type":"post"},{"authors":null,"categories":null,"content":"Notes Engineering team’s AI adaptation approach:\nEach squad chooses a task, do it. Revert, use AI to do it. Compare the results. Note learnings. Adapt current process. DEFINE Correct and Accurate?\nCorrect means free from error, conforming to a standard or following rules. Accurate means high degree of precision, fidelity to fact, or truth. Tasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) DONE Continue commenting the project DE-201 from ((6984ba77-ed0a-4312-a25c-c83021e0606a)) Only focus on things that need to do during the PR preview to facilitate the reviewing process.\nAnything else that do not help us be more confident in approving a PR are out of scope.\nDONE Round 1\n{{embed ((69a42ffd-22c7-4b43-8b34-0f663743abcf))}}\nDONE Continue share the google sheets from ((69a6e8b4-c197-489b-a24d-7c2a79f50a6f))\nDONE Code review for Dong (Marcus) internal-aml-project, PR 53\n","date":1772582400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"00b5793d9bdb828e6aeecc03dd5254e0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-04/","publishdate":"2026-03-04T00:00:00Z","relpermalink":"/post/journals/2026-03-04/","section":"post","summary":"Notes Engineering team’s AI adaptation approach:\nEach squad chooses a task, do it. Revert, use AI to do it. Compare the results. Note learnings. Adapt current process. DEFINE Correct and Accurate?\nCorrect means free from error, conforming to a standard or following rules. Accurate means high degree of precision, fidelity to fact, or truth. Tasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) DONE Continue commenting the project DE-201 from ((6984ba77-ed0a-4312-a25c-c83021e0606a)) Only focus on things that need to do during the PR preview to facilitate the reviewing process.\n","tags":["journal"],"title":"2026-03-04","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Down The Rabbit Hole]]\nImpressions from Vincent’s demo call I’m writing impressions after watching a call to practice using Benjamin Franklin’s self-taught writing method. Call Link Slack He keep talking almost the call. I don’t know whether it’s good for now. But I remembered someone said if you want to become a streamer, you have to be able to talk all the time, even no one is listening. So that may be a thing I should practice to improve myself. If I’m an audience, hitting the spot when answering my questions matter. I will most remember and be impressed by that. He’s not too technical about coding but he knows the product features very well, even new, small features. For example, generate AI field descriptions. Leo (prospect) said: “Nothing above what stood out to me as we were going through, but yeah, there’s a lot here. I’m just kind of annoyed that I haven’t played with anything in much detail beyond Looker because it’s so 2019.” Meant, when try the product there will be hidden features that they don’t know. As soon as attending the calls (demo/onboarding). Impressive. Stand in customers’ shoe and be honest. Don’t overestimate our features. They are great to us but not always great to them. For example, AI pricing. Vincent mentioned Holistics allows customers to use their own key instead of locking them into the BI. As a BI tool they do not train LLM models. So a BI tool and any LLM should be free to customers to choose. Tasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) DONE Continue commenting the project DE-201 from ((6984ba77-ed0a-4312-a25c-c83021e0606a)) {{embed ((69a2a1cc-94ff-4e02-972e-3b4d720b63ce))}}\nDONE Set up git credentials for lelouvincx-bot\nFor git commit, separate the ssh and signing key from 1password because I use 1password for my git commits. For gh pr create, use the personal access token stored in ~/.credentials. {{embed ((69a42ffd-22c7-4b43-8b34-0f663743abcf))}}\n","date":1772496e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d9bd45b8f3f7edbee8d61dfe48c333fb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-03/","publishdate":"2026-03-03T00:00:00Z","relpermalink":"/post/journals/2026-03-03/","section":"post","summary":"Notes [[Down The Rabbit Hole]]\nImpressions from Vincent’s demo call I’m writing impressions after watching a call to practice using Benjamin Franklin’s self-taught writing method. Call Link Slack He keep talking almost the call. I don’t know whether it’s good for now. But I remembered someone said if you want to become a streamer, you have to be able to talk all the time, even no one is listening. So that may be a thing I should practice to improve myself. If I’m an audience, hitting the spot when answering my questions matter. I will most remember and be impressed by that. He’s not too technical about coding but he knows the product features very well, even new, small features. For example, generate AI field descriptions. Leo (prospect) said: “Nothing above what stood out to me as we were going through, but yeah, there’s a lot here. I’m just kind of annoyed that I haven’t played with anything in much detail beyond Looker because it’s so 2019.” Meant, when try the product there will be hidden features that they don’t know. As soon as attending the calls (demo/onboarding). Impressive. Stand in customers’ shoe and be honest. Don’t overestimate our features. They are great to us but not always great to them. For example, AI pricing. Vincent mentioned Holistics allows customers to use their own key instead of locking them into the BI. As a BI tool they do not train LLM models. So a BI tool and any LLM should be free to customers to choose. Tasks Done ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) DONE Continue commenting the project DE-201 from ((6984ba77-ed0a-4312-a25c-c83021e0606a)) {{embed ((69a2a1cc-94ff-4e02-972e-3b4d720b63ce))}}\n","tags":["journal"],"title":"2026-03-03","type":"post"},{"authors":null,"categories":null,"content":"Notes https://agents.craft.do/mermaid\nBeautified mermaid, as a JS package (I guess) =\u0026gt; then can be used in website \u0026amp; documentation. https://ampcode.com/notes/200k-tokens-is-plenty\nHe said it right, “200k tokens? Plenty, if you make use of threads”. Long threads: Worse inference output. Expensive. Simply explained: agents get drunk if you feed them too many tokens. He used Amp CLI and utilize the read_thread tool. Each small task is a new thread, then he will have some way to library/manage them all. https://media.secondbrain.lelouvincx.com/2026/03/1f4004bc50bad9179b277331f04cce69.png “Some people use multiple markdown files with specs and histories to store and transfer context between threads (it’s me tbh) - I’m not one of those people. I tell Amp to run git diff or to inspect previous commits.” Plan for week 10 (Ampcode) P1 Add2Cart ((69a2a14f-91e8-49be-be93-da1c506869aa)) (carry-over from friday, push Anurag). ((69a2a1cc-94ff-4e02-972e-3b4d720b63ce)) Internal ((69a42ffd-22c7-4b43-8b34-0f663743abcf)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) P2 Internal ((697889da-2e31-4c43-9676-81a898db1ea6)) Presales ((69841d05-88ea-4209-82ca-30b11b26e91c)) Duty Support Document MedEnterprises performance use case on metrics sheet. P3 Personal Learn logseq’s internal query, and potentially build a skill to query tasks faster. Tasks Done ((69a2a14f-91e8-49be-be93-da1c506869aa)) (push Anurag) {{embed ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))}} DONE Code Review MRR https://github.com/holistics/dbt/pull/812 ","date":1772409600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b8c33f7ce008af149cc598dd6c25cef3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-02/","publishdate":"2026-03-02T00:00:00Z","relpermalink":"/post/journals/2026-03-02/","section":"post","summary":"Notes https://agents.craft.do/mermaid\nBeautified mermaid, as a JS package (I guess) =\u003e then can be used in website \u0026 documentation. https://ampcode.com/notes/200k-tokens-is-plenty\nHe said it right, “200k tokens? Plenty, if you make use of threads”. Long threads: Worse inference output. Expensive. Simply explained: agents get drunk if you feed them too many tokens. He used Amp CLI and utilize the read_thread tool. Each small task is a new thread, then he will have some way to library/manage them all. https://media.secondbrain.lelouvincx.com/2026/03/1f4004bc50bad9179b277331f04cce69.png “Some people use multiple markdown files with specs and histories to store and transfer context between threads (it’s me tbh) - I’m not one of those people. I tell Amp to run git diff or to inspect previous commits.” Plan for week 10 (Ampcode) P1 Add2Cart ((69a2a14f-91e8-49be-be93-da1c506869aa)) (carry-over from friday, push Anurag). ((69a2a1cc-94ff-4e02-972e-3b4d720b63ce)) Internal ((69a42ffd-22c7-4b43-8b34-0f663743abcf)) ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5)) P2 Internal ((697889da-2e31-4c43-9676-81a898db1ea6)) Presales ((69841d05-88ea-4209-82ca-30b11b26e91c)) Duty Support Document MedEnterprises performance use case on metrics sheet. P3 Personal Learn logseq’s internal query, and potentially build a skill to query tasks faster. Tasks Done ((69a2a14f-91e8-49be-be93-da1c506869aa)) (push Anurag) {{embed ((69a2a1cc-fc1f-4802-ba56-48183fa9e9a5))}} DONE Code Review MRR https://github.com/holistics/dbt/pull/812 ","tags":["journal"],"title":"2026-03-02","type":"post"},{"authors":null,"categories":null,"content":"Notes Chilling afternoon at Home Coffee https://media.secondbrain.lelouvincx.com/2026/03/c747aba549a69c538f38a9486b16186f.png\n[[Google Data Portability API]]\nIDEA Archive all amp theads into a repository.\nMotivation: These threads are context / information. In worst cases, someday ampcode does not support well at getting historical threads (like chatgpt did), I need to backup all these information. Tasks Done DONE Teach Yen DONE Teach Duc Anh\nDONE Schedule weekly logseq report\nDoing ((69a2a14e-6983-4250-83b5-2640f836b634))\nLEARNING Really impressive with the performance and smartness of ampcode. Much better than claude code for sure. The kill point here is its tool calling skills.\n","date":1772323200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c3e5f24cdc8cb6f359755cfbe10766d8","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-03-01/","publishdate":"2026-03-01T00:00:00Z","relpermalink":"/post/journals/2026-03-01/","section":"post","summary":"Notes Chilling afternoon at Home Coffee https://media.secondbrain.lelouvincx.com/2026/03/c747aba549a69c538f38a9486b16186f.png\n[[Google Data Portability API]]\nIDEA Archive all amp theads into a repository.\nMotivation: These threads are context / information. In worst cases, someday ampcode does not support well at getting historical threads (like chatgpt did), I need to backup all these information. Tasks Done DONE Teach Yen DONE Teach Duc Anh\nDONE Schedule weekly logseq report\nDoing ((69a2a14e-6983-4250-83b5-2640f836b634))\nLEARNING Really impressive with the performance and smartness of ampcode. Much better than claude code for sure. The kill point here is its tool calling skills.\n","tags":["journal"],"title":"2026-03-01","type":"post"},{"authors":null,"categories":null,"content":"Notes Weekly report 2026 W09 (Feb 10 - 28): https://github.com/lelouvincx/second-brain-logseq/pull/1\nIDEA Schedule a cron for weekly pull request, showing all logseq changes this week.\nContext: I use logseq as second brain library, to note all tasks and personal knowledge. Then sync them as-code on github (github.com/lelouvincx/second-brain-logseq). Now I want a personal assistant that can do weekly sync up for myself, on all the tasks / issues / learnings this week / month / quarter / half / year. This can be used for: Personal revision and future planning. Easier when writing company updates such as Half Performance Review (for example, [[Performance Review - 2025H2]]), weekly sync every wednesday, 1on1 with manager. Career / life recommendation. But firstly I need to do it manually. Tried it here: ampcode It looks so smooth with the assistance of amp. Manual workflow: Every week is a new branch. Convention: weekly/2026-w10. logseq.order-list-type:: number Look at the changes in their Logseq repository and create a weekly personal report as a GitHub pull request. logseq.order-list-type:: number Example PR: https://github.com/lelouvincx/second-brain-logseq/pull/1 logseq.order-list-type:: number Read the reference links from the notes and tasks to enrich the PR description: logseq.order-list-type:: number Slack links - use the slackcli skill. logseq.order-list-type:: number Notion links - use the notion skill. logseq.order-list-type:: number Ampcode thread links - use read_thread. logseq.order-list-type:: number GitHub links - use gh CLI. logseq.order-list-type:: number Gemini links - use read_gemini_app skill (not built yet - researching at https://gemini.google.com/app/e2f57fa7dd0a35bc). logseq.order-list-type:: number Web links - use read_web_page. logseq.order-list-type:: number My plan is to schedule it as a cronjob to run 2 times a week: One on end of tuesday: for data sync meeting on wednesday - create a pull request and leave there til weekend. One on end of friday: for comprehensive weekly report - update the existing pull request. Use amp cli (headless) to do it in background. Run fully local (macos). Highlight this week: win story with Trust Wallet (Slack) IDEA Create a github bot account to automate things for me (create pr, code review, deployment) just like duyetbot. I name it lelouvincx-bot Tasks Done DONE Setup bigquery cli skills ","date":1772236800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5f4b5fa844ad2e1945cfd6b94c93bee5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-28/","publishdate":"2026-02-28T00:00:00Z","relpermalink":"/post/journals/2026-02-28/","section":"post","summary":"Notes Weekly report 2026 W09 (Feb 10 - 28): https://github.com/lelouvincx/second-brain-logseq/pull/1\nIDEA Schedule a cron for weekly pull request, showing all logseq changes this week.\nContext: I use logseq as second brain library, to note all tasks and personal knowledge. Then sync them as-code on github (github.com/lelouvincx/second-brain-logseq). Now I want a personal assistant that can do weekly sync up for myself, on all the tasks / issues / learnings this week / month / quarter / half / year. This can be used for: Personal revision and future planning. Easier when writing company updates such as Half Performance Review (for example, [[Performance Review - 2025H2]]), weekly sync every wednesday, 1on1 with manager. Career / life recommendation. But firstly I need to do it manually. Tried it here: ampcode It looks so smooth with the assistance of amp. Manual workflow: Every week is a new branch. Convention: weekly/2026-w10. logseq.order-list-type:: number Look at the changes in their Logseq repository and create a weekly personal report as a GitHub pull request. logseq.order-list-type:: number Example PR: https://github.com/lelouvincx/second-brain-logseq/pull/1 logseq.order-list-type:: number Read the reference links from the notes and tasks to enrich the PR description: logseq.order-list-type:: number Slack links - use the slackcli skill. logseq.order-list-type:: number Notion links - use the notion skill. logseq.order-list-type:: number Ampcode thread links - use read_thread. logseq.order-list-type:: number GitHub links - use gh CLI. logseq.order-list-type:: number Gemini links - use read_gemini_app skill (not built yet - researching at https://gemini.google.com/app/e2f57fa7dd0a35bc). logseq.order-list-type:: number Web links - use read_web_page. logseq.order-list-type:: number My plan is to schedule it as a cronjob to run 2 times a week: One on end of tuesday: for data sync meeting on wednesday - create a pull request and leave there til weekend. One on end of friday: for comprehensive weekly report - update the existing pull request. Use amp cli (headless) to do it in background. Run fully local (macos). Highlight this week: win story with Trust Wallet (Slack) IDEA Create a github bot account to automate things for me (create pr, code review, deployment) just like duyetbot. I name it lelouvincx-bot Tasks Done DONE Setup bigquery cli skills ","tags":["journal"],"title":"2026-02-28","type":"post"},{"authors":null,"categories":null,"content":"Notes https://benn.substack.com/p/no-really-everything-becomes-bi\nInsight is relative. It is dependent on what people already know. You can’t tell people something surprising without knowing what is expected. Insight isn’t the data, it is what’s not in our audiences’ head. https://benn.substack.com/p/go-crazy-folks-go-crazy\nHe told a common pattern he realized in the software industry: google is afraid of publishing chatgpt, and openai told why not?; copilot is afraid of yolo editting the code and claude code told why not?; same and same thing. Before we all had computers and phones and instagram, making art was hard. Because art was expensive and somewhat scarce, we valued the art. Then it became easier to make. Everybody can make art. Even without thinking or caring about their art. The value fell. But to someone who really make art, it will become extremely valuable. Like craftman things. For example, tranh thêu Tô Châu https://media.secondbrain.lelouvincx.com/2026/02/b19a35a9766eb9fd4e344c0867e43d9c.png Tasks Done TODO Answer Vincent \u0026amp; Sriram on sales motion (trial-first vs call-first) Full context moved to [[Lead Funnel by Sales Motion]]\nDONE Document all stored procedures in a data lineage and schedule them properly\nDocument\nRun data lineage\n","date":1772150400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"25edeb548fc4a3c0528369b4eebb1d76","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-27/","publishdate":"2026-02-27T00:00:00Z","relpermalink":"/post/journals/2026-02-27/","section":"post","summary":"Notes https://benn.substack.com/p/no-really-everything-becomes-bi\nInsight is relative. It is dependent on what people already know. You can’t tell people something surprising without knowing what is expected. Insight isn’t the data, it is what’s not in our audiences’ head. https://benn.substack.com/p/go-crazy-folks-go-crazy\nHe told a common pattern he realized in the software industry: google is afraid of publishing chatgpt, and openai told why not?; copilot is afraid of yolo editting the code and claude code told why not?; same and same thing. Before we all had computers and phones and instagram, making art was hard. Because art was expensive and somewhat scarce, we valued the art. Then it became easier to make. Everybody can make art. Even without thinking or caring about their art. The value fell. But to someone who really make art, it will become extremely valuable. Like craftman things. For example, tranh thêu Tô Châu https://media.secondbrain.lelouvincx.com/2026/02/b19a35a9766eb9fd4e344c0867e43d9c.png Tasks Done TODO Answer Vincent \u0026 Sriram on sales motion (trial-first vs call-first) Full context moved to [[Lead Funnel by Sales Motion]]\n","tags":["journal"],"title":"2026-02-27","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done TODO Fix the temp bridge table\nApproach: Treat atc_price_history as alternative to retailer_current_pricing.\nCurrent state: using a table bridge_product_retailer as a mapping between atc_price_history and retailer_current_pricing. The result is when querying historical prices, Redshift has to join a long path from master_product -\u0026gt; retailer_current_pricing -\u0026gt; bridge_product_retailer -\u0026gt; atc_price_history just to query the historical price, while expect to join master_product to atc_price_history =\u0026gt; leads to slow performance.\nThe only difference between those 2 is that atc_price_history contains historical price, while retailer_current_pricing contains present price. But similarly they are fact tables telling the price of a product inside a retailer.\nTake retailer_current_pricing as standard fact, it has relationships with 2 tables:\nmaster_product via product_id retailer via retailer_id Meanwhile, atc_price_history has incomplete keys to make relationships with master product and retailer.\nWhat I mean “incomplete” is that atc_price_history has columns: retailer but it’s retailer slug productcode but it’s product’s code in context of a retailer, not the official product id (uuid) Goal: get rid of the bridge_product_retailer, which was a workaround we made previously.\n{{embed ((698af7cb-766b-4fc7-a60b-1047af1f88b0))}}\nDONE Set up skill for notion cli\nDONE Catch up with Simon\nDONE Fix small issue in dashboard 3 (Promotional Planning) when it does not filter out products not belong to the primary retailer (today’s products = 18 while historical products = 17)\n","date":1772064e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6b1a02a701ba16659ae56b6552f72df7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-26/","publishdate":"2026-02-26T00:00:00Z","relpermalink":"/post/journals/2026-02-26/","section":"post","summary":"Notes Tasks Done TODO Fix the temp bridge table\nApproach: Treat atc_price_history as alternative to retailer_current_pricing.\nCurrent state: using a table bridge_product_retailer as a mapping between atc_price_history and retailer_current_pricing. The result is when querying historical prices, Redshift has to join a long path from master_product -\u003e retailer_current_pricing -\u003e bridge_product_retailer -\u003e atc_price_history just to query the historical price, while expect to join master_product to atc_price_history =\u003e leads to slow performance.\nThe only difference between those 2 is that atc_price_history contains historical price, while retailer_current_pricing contains present price. But similarly they are fact tables telling the price of a product inside a retailer.\n","tags":["journal"],"title":"2026-02-26","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Share AI usage data DONE Onboarding call Fluent Data\nDONE Answer Sriram about trial-first vs. call-first\nDONE Add skill for querying holistics dataset\nDONE Answer Quinn on tracking admin edits to tenant subscriptions\nDONE Setup claudecode\n","date":1771977600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"314d1aabb76e33285c72631e6e83c432","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-25/","publishdate":"2026-02-25T00:00:00Z","relpermalink":"/post/journals/2026-02-25/","section":"post","summary":"Notes Tasks Done DONE Share AI usage data DONE Onboarding call Fluent Data\nDONE Answer Sriram about trial-first vs. call-first\nDONE Add skill for querying holistics dataset\nDONE Answer Quinn on tracking admin edits to tenant subscriptions\nDONE Setup claudecode\n","tags":["journal"],"title":"2026-02-25","type":"post"},{"authors":null,"categories":null,"content":"Notes Back to work with IVE’s new album!\nhttps://music.youtube.com/playlist?list=OLAK5uy_lJn7Y-bzvtcivVr1WmPyeoIToMdGWtJ2Y https://media.secondbrain.lelouvincx.com/2026/02/c93a06340df176dd1027abea8a237312.png Found a dashboard as code solution Shaper\n[[Data Visualization]] Duckdb-first They unify charts as code by adding suffixes like BARCHART, PIECHART, etc Example code snippet: SELECT \u0026#39;Sessions per Week\u0026#39;::LABEL; SELECT date_trunc(\u0026#39;week\u0026#39;, created_at)::XAXIS, category::CATEGORY, count()::BARCHART_STACKED, FROM dataset GROUP BY ALL ORDER BY ALL; Example https://media.secondbrain.lelouvincx.com/2026/02/4b365afcdfa33edd844548b8bb4e4e1d.png But I’m worry about the development speed because there’s only 1 maintainer. And the flexibility of explore, like Holistics Explore Dataset. This is more suitable for static / few filters monitoring dashboards and can be used well for studying purpose. Found a very cool blog: campedersen.com https://campedersen.com/singularity\nThe site is incredibly fast that I wonder how to create a similar site? (I went researching his github but seems nothing found).\nThere’s a fake terminal interface and it’s smooth too.\nFavorite article: Ownership Mindset\nhttps://media.secondbrain.lelouvincx.com/2026/02/cda430dc48802ff7da31017bec62560e.png [[DIKW Pyramid]] Communicating with executives No teaching. The goal is alignment, not education. I experienced this some times talking with a Huy, when I started teaching, he lost attention. No hiding, prefer transparency. Hiding just delays the progress. Communicate with story-driven mindset: why it exists, what problem it solves, what impact it can create. If we listen carefully, we can immediately identify where we can contribute, rather than pitching generic solutions. Each conversation is an opportunity to refine skills. Tasks Done ","date":1771891200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"07d8ba04ee8a96218a1caaed3cc36526","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-24/","publishdate":"2026-02-24T00:00:00Z","relpermalink":"/post/journals/2026-02-24/","section":"post","summary":"Notes Back to work with IVE’s new album!\nhttps://music.youtube.com/playlist?list=OLAK5uy_lJn7Y-bzvtcivVr1WmPyeoIToMdGWtJ2Y https://media.secondbrain.lelouvincx.com/2026/02/c93a06340df176dd1027abea8a237312.png Found a dashboard as code solution Shaper\n[[Data Visualization]] Duckdb-first They unify charts as code by adding suffixes like BARCHART, PIECHART, etc Example code snippet: SELECT 'Sessions per Week'::LABEL; SELECT date_trunc('week', created_at)::XAXIS, category::CATEGORY, count()::BARCHART_STACKED, FROM dataset GROUP BY ALL ORDER BY ALL; Example https://media.secondbrain.lelouvincx.com/2026/02/4b365afcdfa33edd844548b8bb4e4e1d.png But I’m worry about the development speed because there’s only 1 maintainer. And the flexibility of explore, like Holistics Explore Dataset. This is more suitable for static / few filters monitoring dashboards and can be used well for studying purpose. Found a very cool blog: campedersen.com https://campedersen.com/singularity\n","tags":["journal"],"title":"2026-02-24","type":"post"},{"authors":null,"categories":null,"content":"Notes Prebuilt tailwind css charts: https://www.tremor.so/charts Apache echarts - chart library like D3.js: https://echarts.apache.org/examples/en/index.html#chart-type-line Tasks Done ","date":1771113600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"468c57107ecc6bfbbc396953459136d0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-15/","publishdate":"2026-02-15T00:00:00Z","relpermalink":"/post/journals/2026-02-15/","section":"post","summary":"Notes Prebuilt tailwind css charts: https://www.tremor.so/charts Apache echarts - chart library like D3.js: https://echarts.apache.org/examples/en/index.html#chart-type-line Tasks Done ","tags":["journal"],"title":"2026-02-15","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Promotional Planning ","date":1770854400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"75b49dbea38585b1debb411b38750909","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-12/","publishdate":"2026-02-12T00:00:00Z","relpermalink":"/post/journals/2026-02-12/","section":"post","summary":"Notes Tasks Done DONE Promotional Planning ","tags":["journal"],"title":"2026-02-12","type":"post"},{"authors":null,"categories":null,"content":"Notes https://blog.pmunhoz.com/dbt/dbt-defer-optimize-cicd-pipelines\nTasks TODO Document all stored procedures in a data lineage and schedule them properly\nDocument Run data lineage Done DONE Share AI usage data DONE Optimize Dashboard 4 by filtering prices to latest day\n","date":1770681600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"00314d98f1efa711d622195d9184ba9e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-10/","publishdate":"2026-02-10T00:00:00Z","relpermalink":"/post/journals/2026-02-10/","section":"post","summary":"Notes https://blog.pmunhoz.com/dbt/dbt-defer-optimize-cicd-pipelines\nTasks TODO Document all stored procedures in a data lineage and schedule them properly\nDocument Run data lineage Done DONE Share AI usage data DONE Optimize Dashboard 4 by filtering prices to latest day\n","tags":["journal"],"title":"2026-02-10","type":"post"},{"authors":null,"categories":null,"content":"Notes https://www.metaplane.dev/blog/dbt-test-types-explained\nTasks Done {{embed ((69858252-e0de-4798-b347-2975c316e5b8))}} DONE Write up guidance for Sean {{embed ((6984ba77-ed0a-4312-a25c-c83021e0606a))}}\n","date":1770595200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1320935ee507f43fac28f3f41e06c0c2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-09/","publishdate":"2026-02-09T00:00:00Z","relpermalink":"/post/journals/2026-02-09/","section":"post","summary":"Notes https://www.metaplane.dev/blog/dbt-test-types-explained\nTasks Done {{embed ((69858252-e0de-4798-b347-2975c316e5b8))}} DONE Write up guidance for Sean {{embed ((6984ba77-ed0a-4312-a25c-c83021e0606a))}}\n","tags":["journal"],"title":"2026-02-09","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Respond Sean DONE Lay comments in Enhance PR Workflow\nDONE Airbyte is ready now sync tables to Redshift and Holistics\nDONE Retailer Current Pricing\nDONE Promotional Group\nDONE Product\nDONE Advertisement\nDONE Category\nDONE Check server for Anurag\n","date":1770336e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"49700b8e3ff2857f3bc88c32d00b7bd8","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-06/","publishdate":"2026-02-06T00:00:00Z","relpermalink":"/post/journals/2026-02-06/","section":"post","summary":"Notes Tasks Done DONE Respond Sean DONE Lay comments in Enhance PR Workflow\nDONE Airbyte is ready now sync tables to Redshift and Holistics\nDONE Retailer Current Pricing\nDONE Promotional Group\nDONE Product\nDONE Advertisement\nDONE Category\nDONE Check server for Anurag\n","tags":["journal"],"title":"2026-02-06","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Watch Office Hour DONE Investigate Simon’s question\n","date":1770249600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"408a24b66c3cd4512acc616e1e82414d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-05/","publishdate":"2026-02-05T00:00:00Z","relpermalink":"/post/journals/2026-02-05/","section":"post","summary":"Notes Tasks Done DONE Watch Office Hour DONE Investigate Simon’s question\n","tags":["journal"],"title":"2026-02-05","type":"post"},{"authors":null,"categories":null,"content":"Notes Plan for week 7 P1 Add2Cart ((69671001-f0b8-41c0-9f99-f9706404e7cb)) Data support Jun Group P2 Cross-model calculation Review documents and start publishing on docs.holistics.io Notion ((697889da-2e31-4c43-9676-81a898db1ea6)) ((69841d05-88ea-4209-82ca-30b11b26e91c)) P3 Watch AI demo videos https://holistics.slack.com/archives/C04Q67M9V96/p1770132643738669?thread_ts=1767666981.861979\u0026amp;cid=C04Q67M9V96 Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} DONE Data support - Wizard ","date":1770163200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6fb8baf5674f77fcfd80f03235560598","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-04/","publishdate":"2026-02-04T00:00:00Z","relpermalink":"/post/journals/2026-02-04/","section":"post","summary":"Notes Plan for week 7 P1 Add2Cart ((69671001-f0b8-41c0-9f99-f9706404e7cb)) Data support Jun Group P2 Cross-model calculation Review documents and start publishing on docs.holistics.io Notion ((697889da-2e31-4c43-9676-81a898db1ea6)) ((69841d05-88ea-4209-82ca-30b11b26e91c)) P3 Watch AI demo videos https://holistics.slack.com/archives/C04Q67M9V96/p1770132643738669?thread_ts=1767666981.861979\u0026cid=C04Q67M9V96 Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} DONE Data support - Wizard ","tags":["journal"],"title":"2026-02-04","type":"post"},{"authors":null,"categories":null,"content":"Notes Metrics Tree Example\nhttps://media.secondbrain.lelouvincx.com/2026/02/2b5d414c6a37a60cea91af2db0ed8e7a.png Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} ","date":1770076800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"efdfe71162f88d6c3c46590f8c8be7ac","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-03/","publishdate":"2026-02-03T00:00:00Z","relpermalink":"/post/journals/2026-02-03/","section":"post","summary":"Notes Metrics Tree Example\nhttps://media.secondbrain.lelouvincx.com/2026/02/2b5d414c6a37a60cea91af2db0ed8e7a.png Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} ","tags":["journal"],"title":"2026-02-03","type":"post"},{"authors":null,"categories":null,"content":"Notes https://www.metabase.com/learn/grow-your-data-skills/business-analysis-methods/how-to-do-funnel-analysis\nPretty helpful guide for quick start with funnel analysis in metabase https://media.secondbrain.lelouvincx.com/2026/02/0e6cf49e8aae9aa4430cb6085050af7a.png When analyzing Brazilian Ecommerce data, there is an order stages: order placed - payment - ship by carrier - deliver to customer. This document is a good example for [[Docs]] to write a showcase on an analytical project. Writing structure What is funnel analysis? logseq.order-list-type:: number The data you need logseq.order-list-type:: number How to calculate? logseq.order-list-type:: number Building funnels in metabase logseq.order-list-type:: number Try it yourself: data csv logseq.order-list-type:: number Common pitfalls and FAQ logseq.order-list-type:: number Tasks Done {{embed ((69684c2b-fce2-4065-8426-16d46ce2f30e))}} DONE Performance review with a Triet ","date":1769990400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"73e5c5fcf2956c5c4dd819c366588b0b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-02/","publishdate":"2026-02-02T00:00:00Z","relpermalink":"/post/journals/2026-02-02/","section":"post","summary":"Notes https://www.metabase.com/learn/grow-your-data-skills/business-analysis-methods/how-to-do-funnel-analysis\nPretty helpful guide for quick start with funnel analysis in metabase https://media.secondbrain.lelouvincx.com/2026/02/0e6cf49e8aae9aa4430cb6085050af7a.png When analyzing Brazilian Ecommerce data, there is an order stages: order placed - payment - ship by carrier - deliver to customer. This document is a good example for [[Docs]] to write a showcase on an analytical project. Writing structure What is funnel analysis? logseq.order-list-type:: number The data you need logseq.order-list-type:: number How to calculate? logseq.order-list-type:: number Building funnels in metabase logseq.order-list-type:: number Try it yourself: data csv logseq.order-list-type:: number Common pitfalls and FAQ logseq.order-list-type:: number Tasks Done {{embed ((69684c2b-fce2-4065-8426-16d46ce2f30e))}} DONE Performance review with a Triet ","tags":["journal"],"title":"2026-02-02","type":"post"},{"authors":null,"categories":null,"content":"Notes https://ralphammer.com/bergson-why-we-live-in-the-past/\nGood and philosophic. https://media.secondbrain.lelouvincx.com/2026/02/2d45a047180836642a1c488af579dc23.png Main question: “how to enjoy your free time?” Because the problem is, even you have plenty of free time, it doesn’t guarantee you’re enjoyable. “The unpredictability of our lifetime is the foundation of our freedom.” My personal thought is I feel happy when learn something new, anything, not limited to my career. Sometimes it’s [[Biomimicry]], a new book, a new idea. By learning things I appreciate interests, like why people interest in horses, cars, wine, etc. Because they understand the hidden beauty that not everyone can see at first sight. Whenever get lost I come back to John Fish. He really motivates me. No matter how old his videos are. Tasks Done DONE Write an article analyzing Brazilian Ecommerce DONE Test sqlfluff new version (rust)\n","date":1769904e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"20d459be1b75ffb72a3edee7d2e2636d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-02-01/","publishdate":"2026-02-01T00:00:00Z","relpermalink":"/post/journals/2026-02-01/","section":"post","summary":"Notes https://ralphammer.com/bergson-why-we-live-in-the-past/\nGood and philosophic. https://media.secondbrain.lelouvincx.com/2026/02/2d45a047180836642a1c488af579dc23.png Main question: “how to enjoy your free time?” Because the problem is, even you have plenty of free time, it doesn’t guarantee you’re enjoyable. “The unpredictability of our lifetime is the foundation of our freedom.” My personal thought is I feel happy when learn something new, anything, not limited to my career. Sometimes it’s [[Biomimicry]], a new book, a new idea. By learning things I appreciate interests, like why people interest in horses, cars, wine, etc. Because they understand the hidden beauty that not everyone can see at first sight. Whenever get lost I come back to John Fish. He really motivates me. No matter how old his videos are. Tasks Done DONE Write an article analyzing Brazilian Ecommerce DONE Test sqlfluff new version (rust)\n","tags":["journal"],"title":"2026-02-01","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done ","date":1769817600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0a043bc86a619700a45836cd31f192ff","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-31/","publishdate":"2026-01-31T00:00:00Z","relpermalink":"/post/journals/2026-01-31/","section":"post","summary":"Notes Tasks Done ","tags":["journal"],"title":"2026-01-31","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} {{embed ((69684c2b-fce2-4065-8426-16d46ce2f30e))}} Done ","date":1769731200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d7af7724f565bf2009f98f969fb6f4a5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-30/","publishdate":"2026-01-30T00:00:00Z","relpermalink":"/post/journals/2026-01-30/","section":"post","summary":"Notes Tasks {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} {{embed ((69684c2b-fce2-4065-8426-16d46ce2f30e))}} Done ","tags":["journal"],"title":"2026-01-30","type":"post"},{"authors":null,"categories":null,"content":"Notes https://stackoverflow.com/questions/62010368/what-exactly-is-a-wide-column-store\nhttps://ralphammer.com/show-me/\nWhy do we like images? Because they help us understand things. There is a ladder of abstraction in visualizing things. In this article, the author mentions Perception (low) -\u0026gt; Language (high). https://media.secondbrain.lelouvincx.com/2026/01/7f33f1dfd3e86e62ce65fbf729fdd84f.png Infographics are diagrams like charts, maps, data vizs, intructions. They make abstract problems visible so that we can understand it easily by being provided concrete examples. https://media.secondbrain.lelouvincx.com/2026/01/052f9c0b011f8502d15d1e549795999d.png Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} {{embed ((696e1a3b-3474-49a3-9604-c3a3eaf04c61))}} ","date":1769644800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"187d0693351edbfd30f246aa7a31d5f1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-29/","publishdate":"2026-01-29T00:00:00Z","relpermalink":"/post/journals/2026-01-29/","section":"post","summary":"Notes https://stackoverflow.com/questions/62010368/what-exactly-is-a-wide-column-store\nhttps://ralphammer.com/show-me/\nWhy do we like images? Because they help us understand things. There is a ladder of abstraction in visualizing things. In this article, the author mentions Perception (low) -\u003e Language (high). https://media.secondbrain.lelouvincx.com/2026/01/7f33f1dfd3e86e62ce65fbf729fdd84f.png Infographics are diagrams like charts, maps, data vizs, intructions. They make abstract problems visible so that we can understand it easily by being provided concrete examples. https://media.secondbrain.lelouvincx.com/2026/01/052f9c0b011f8502d15d1e549795999d.png Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} {{embed ((696e1a3b-3474-49a3-9604-c3a3eaf04c61))}} ","tags":["journal"],"title":"2026-01-29","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done DONE Jun Group {{embed ((69676e10-6ca7-41cc-88e4-d7b2ba5fdabb))}}\n","date":1769558400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2e476c9b0a3c5187d5c81f6d6e1f37fa","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-28/","publishdate":"2026-01-28T00:00:00Z","relpermalink":"/post/journals/2026-01-28/","section":"post","summary":"Notes Tasks Done DONE Jun Group {{embed ((69676e10-6ca7-41cc-88e4-d7b2ba5fdabb))}}\n","tags":["journal"],"title":"2026-01-28","type":"post"},{"authors":null,"categories":null,"content":"Notes https://www.linkedin.com/feed/update/urn:li:activity:7420375994605215744/\nTasks Done DONE Check data for team finance\nOne is data bug, one is analytic question.\nDONE Support ARD exporting data\nDONE Check what they want, then respond a short email\nDONE Prepare dashboard\n","date":1769472e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dab564a0360e08e81ed1142edbf2e998","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-27/","publishdate":"2026-01-27T00:00:00Z","relpermalink":"/post/journals/2026-01-27/","section":"post","summary":"Notes https://www.linkedin.com/feed/update/urn:li:activity:7420375994605215744/\nTasks Done DONE Check data for team finance\nOne is data bug, one is analytic question.\nDONE Support ARD exporting data\nDONE Check what they want, then respond a short email\nDONE Prepare dashboard\n","tags":["journal"],"title":"2026-01-27","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} DONE Solve issue for Charlotte Answer Charlotte\nHello Charlotte,\nI’ve investigated your code. The root cause lies in your models’ relationship, which should be one-to-many instead of one-to-one.\nYou can checkout feat/DATA-1122-candiates-allocated to see the fix.\nIn the dataset marketing there’re relationships as one-to-one between Practitioners and Strategy Sessions / Documentation Events (I assume it’s CV Upload) / Reference. When the query run, the database joined these tables, causing the Practitioner rows to duplicate the count.\nFor example, Dr. Smith (1 Allocation) uploaded their CV 3 times: Row Count: Becomes 3 rows. count(): Returns 3 (Incorrect). approx_count_distinct(): Returns 1 (Correct, but masks the underlying join issue).\nTo fix this, I updated the data model to enforce one-to-many relationships and force the metrics to follow.\nRelationships marketing.dataset.aml I changed the relationship syntax from one-to-one (-) to one-to-many (\u0026gt;). Please note that when you use one-to-one on a column, Holistics will always assume that your column are already unique in physical table/view. // Before: Treated as 1-to-1 relationship(practitioner_core_documentation_events.practitioner_id - practitioner_practitioners.practitioner_id, true) // After: 1-to-Many relationship(practitioner_core_documentation_events.practitioner_id \u0026gt; practitioner_practitioners.practitioner_id, true) I standardize the duration dimensions (Strategy Session, CV Upload, Reference 2 Added) to explicitly calculate the min timestamp just like what you did with Placement and Presentation. // Before definition: @aql floor(date_diff(\u0026#39;day\u0026#39;, ..., practitioner_core_documentation_events.first_cv_upload_timestamp)/30) // After: Added min() and dimensionalize() definition: @aql floor(date_diff(\u0026#39;day\u0026#39;, ..., min(practitioner_core_documentation_events.first_cv_upload_timestamp))/30) | dimensionalize(practitioner_practitioners.practitioner_id) | with_relationships(practitioner_core_documentation_events.practitioner_id \u0026gt; practitioner_practitioners.practitioner_id) I have implemented these changes. You should be able to use approx_count_distinct and count interchangeably now. Please check it out and let me know if it works! DONE Reply Simon\nThank you, Simon. That’s works for me. However I believe it’s better for Anurag to take ownership of this moving forward. With my role is to review his work. Because he has better understanding of the live data (RDS) than I do. I’ve been working off the static dump schema, which is temporary.\nAnurag, the primary goal is to get the tables available in Redshift. Assuming the schema hasn’t evolved much since 10/2025, please load all tables from the previous dump except PriceHistory. To keep it simple: you can load all tables except that one.\nAfter that, if you’re worry about the airbyte setup, you can either document or give access. I’ll help review and consult.\n","date":1769385600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"06516a3974e0d6bb7f5246f9b40476f6","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-26/","publishdate":"2026-01-26T00:00:00Z","relpermalink":"/post/journals/2026-01-26/","section":"post","summary":"Notes Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} DONE Solve issue for Charlotte Answer Charlotte\nHello Charlotte,\nI’ve investigated your code. The root cause lies in your models’ relationship, which should be one-to-many instead of one-to-one.\nYou can checkout feat/DATA-1122-candiates-allocated to see the fix.\nIn the dataset marketing there’re relationships as one-to-one between Practitioners and Strategy Sessions / Documentation Events (I assume it’s CV Upload) / Reference. When the query run, the database joined these tables, causing the Practitioner rows to duplicate the count.\n","tags":["journal"],"title":"2026-01-26","type":"post"},{"authors":null,"categories":null,"content":"Notes Brazilian Ecommerce dashboards https://www.novypro.com/project/brazilian-ecommerce---olist-dashboard- https://medium.com/@suhaibai/exploratory-data-analysis-and-visualization-for-brazil-ecommerce-with-power-bi-and-python-part-1-ae7c9decbff6 Tasks Done ","date":1769212800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7737e0b23cdc137345654f0f8b4e8449","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-24/","publishdate":"2026-01-24T00:00:00Z","relpermalink":"/post/journals/2026-01-24/","section":"post","summary":"Notes Brazilian Ecommerce dashboards https://www.novypro.com/project/brazilian-ecommerce---olist-dashboard- https://medium.com/@suhaibai/exploratory-data-analysis-and-visualization-for-brazil-ecommerce-with-power-bi-and-python-part-1-ae7c9decbff6 Tasks Done ","tags":["journal"],"title":"2026-01-24","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done {{embed ((696f2e8b-cd0c-4bce-bb93-094d8f63c021))}} ","date":1769126400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"bac7438030c855dc417f4e54f799219c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-23/","publishdate":"2026-01-23T00:00:00Z","relpermalink":"/post/journals/2026-01-23/","section":"post","summary":"Notes Tasks Done {{embed ((696f2e8b-cd0c-4bce-bb93-094d8f63c021))}} ","tags":["journal"],"title":"2026-01-23","type":"post"},{"authors":null,"categories":null,"content":"Notes BI tools’ support tracing objects lineage Gemini: https://gemini.google.com/app/d6e1bc98d3b45919 PowerBI: https://learn.microsoft.com/en-us/power-bi/collaborate-share/service-data-lineage Tableau: https://help.tableau.com/current/server/en-us/dm_lineage.htm Tasks Done DONE Respond Tricia ","date":176904e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5f7bf9183e17600be036a481003d9ac1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-22/","publishdate":"2026-01-22T00:00:00Z","relpermalink":"/post/journals/2026-01-22/","section":"post","summary":"Notes BI tools’ support tracing objects lineage Gemini: https://gemini.google.com/app/d6e1bc98d3b45919 PowerBI: https://learn.microsoft.com/en-us/power-bi/collaborate-share/service-data-lineage Tableau: https://help.tableau.com/current/server/en-us/dm_lineage.htm Tasks Done DONE Respond Tricia ","tags":["journal"],"title":"2026-01-22","type":"post"},{"authors":null,"categories":null,"content":"Notes Small setting in MacOS but makes me happy: change color of highlighting to yellow, to make it more like a normal highlighter (default is blue).\nhttps://media.secondbrain.lelouvincx.com/2026/01/5b5c383b7646b5f6e3400231f74afaa4.png https://media.secondbrain.lelouvincx.com/2026/01/60a6f2d6f3d6081abde38130dc3d9ab5.png Tasks Done {{embed ((696e1a3b-3474-49a3-9604-c3a3eaf04c61))}} DONE Write peer review for colleagues {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}}\nDONE Colobbo’s use case\n“It may not be a good fit, it may not be a strong fit, whatever. But the point is, if you can’t support this guy, I don’t know if other tools can do it.” Most standard BI tools (Tableau, Power BI, Looker) are built on the assumption that 1 field = 1 database column. When you break the rule by storing columns into rows, tools fail because they cannot see the fields to filter or group by them without massive performance penalties. The best option is to make it hybrid, like headless BI. Because the UI is very difficult to replicate. Understanding Based on requirements there are 3 main parts: Users can add many filters (default/custom) simultaneously Run a query (can be either AQL - our internal query language or SQL) Grab the returned results and render table, with additional custom columns. 1st assessment: Holistics dashboard cannot allow users to add as many filters as they want -\u0026gt; this is known limitation -\u0026gt; the Embedding approach isn’t suitable now -\u0026gt; we can try to assess the Headless BI approach. Headless BI: The app render UI on its own, then post an API request to Holistics and receive resuilt, after receiving result it can render data table. Sample request payload (in AQL - internal query language): explore { dimensions { sites.id, field_values.field_key, ... } filters { // No direct subquery, so use aggregation logic // Approach: For each site, count how many of the required key/value pairs exist ( count_distinct( case( when: (field_values.field_key == \u0026#39;A1\u0026#39; and field_values.value == \u0026#39;123\u0026#39;) or (field_values.field_key == \u0026#39;A2\u0026#39; and field_values.value == \u0026#39;456\u0026#39;) or ..., then: field_values.field_key ) ) == 2 ) } } Practicing this approach gains no beneficial value compared with running a normal SQL query against database: SELECT wp.id, wp.name FROM tblWorkPackage wp JOIN tblCustomFieldValues cfv ON wp.id = cfv.entity_id JOIN tblCustomFieldDefs cfd ON cfv.field_def_id = cfd.id WHERE -- 1. List ALL conditions in an OR block (cfd.field_key = \u0026#39;A1\u0026#39; AND cfv.value_number = 1) OR (cfd.field_key = \u0026#39;A2\u0026#39; AND cfv.value_number = 2) OR (cfd.field_key = \u0026#39;A3\u0026#39; AND cfv.value_number = 3) GROUP BY wp.id, wp.name HAVING -- Ensure the site matched exactly 3 distinct criteria COUNT(DISTINCT cfd.field_key) = 3; Also, the BI tool does not support multi-tenancy on custom columns (while expectation is avoid flattening too many custom fields in a single table, maintain multi-tenancy and security standard). So the final assessment is Holistics may not be suitable for your use case. Because BI tools build on the assumption that the database column should be explicitly visible. In EAV, the columns are hidden as rows in Fields and Values tables. DONE Write a note to #sales-demo to consolidate drill-through dashboards into one.\nDONE Check Tricia’s question\nDONE Move AI assets to a new repository\n","date":1768953600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7f959493669fb00f69debf023ab8b5ae","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-21/","publishdate":"2026-01-21T00:00:00Z","relpermalink":"/post/journals/2026-01-21/","section":"post","summary":"Notes Small setting in MacOS but makes me happy: change color of highlighting to yellow, to make it more like a normal highlighter (default is blue).\nhttps://media.secondbrain.lelouvincx.com/2026/01/5b5c383b7646b5f6e3400231f74afaa4.png https://media.secondbrain.lelouvincx.com/2026/01/60a6f2d6f3d6081abde38130dc3d9ab5.png Tasks Done {{embed ((696e1a3b-3474-49a3-9604-c3a3eaf04c61))}} DONE Write peer review for colleagues {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}}\nDONE Colobbo’s use case\n“It may not be a good fit, it may not be a strong fit, whatever. But the point is, if you can’t support this guy, I don’t know if other tools can do it.” Most standard BI tools (Tableau, Power BI, Looker) are built on the assumption that 1 field = 1 database column. When you break the rule by storing columns into rows, tools fail because they cannot see the fields to filter or group by them without massive performance penalties. The best option is to make it hybrid, like headless BI. Because the UI is very difficult to replicate. Understanding Based on requirements there are 3 main parts: Users can add many filters (default/custom) simultaneously Run a query (can be either AQL - our internal query language or SQL) Grab the returned results and render table, with additional custom columns. 1st assessment: Holistics dashboard cannot allow users to add as many filters as they want -\u003e this is known limitation -\u003e the Embedding approach isn’t suitable now -\u003e we can try to assess the Headless BI approach. Headless BI: The app render UI on its own, then post an API request to Holistics and receive resuilt, after receiving result it can render data table. Sample request payload (in AQL - internal query language): explore { dimensions { sites.id, field_values.field_key, ... } filters { // No direct subquery, so use aggregation logic // Approach: For each site, count how many of the required key/value pairs exist ( count_distinct( case( when: (field_values.field_key == 'A1' and field_values.value == '123') or (field_values.field_key == 'A2' and field_values.value == '456') or ..., then: field_values.field_key ) ) == 2 ) } } Practicing this approach gains no beneficial value compared with running a normal SQL query against database: SELECT wp.id, wp.name FROM tblWorkPackage wp JOIN tblCustomFieldValues cfv ON wp.id = cfv.entity_id JOIN tblCustomFieldDefs cfd ON cfv.field_def_id = cfd.id WHERE -- 1. List ALL conditions in an OR block (cfd.field_key = 'A1' AND cfv.value_number = 1) OR (cfd.field_key = 'A2' AND cfv.value_number = 2) OR (cfd.field_key = 'A3' AND cfv.value_number = 3) GROUP BY wp.id, wp.name HAVING -- Ensure the site matched exactly 3 distinct criteria COUNT(DISTINCT cfd.field_key) = 3; Also, the BI tool does not support multi-tenancy on custom columns (while expectation is avoid flattening too many custom fields in a single table, maintain multi-tenancy and security standard). So the final assessment is Holistics may not be suitable for your use case. Because BI tools build on the assumption that the database column should be explicitly visible. In EAV, the columns are hidden as rows in Fields and Values tables. DONE Write a note to #sales-demo to consolidate drill-through dashboards into one.\n","tags":["journal"],"title":"2026-01-21","type":"post"},{"authors":null,"categories":null,"content":"Notes Joyful morning, new favorite sit at the cups coffee\nhttps://media.secondbrain.lelouvincx.com/2026/01/8085eaaf5de0322cedd6246447fa33b4.png Tasks {{embed ((696e1a3b-3474-49a3-9604-c3a3eaf04c61))}} Done DONE (?) Watch superb’s call DONE Load dbdocs tables into BigQuery\nDONE Respond Tricia \u0026amp; Clark\nDONE Call - requirements gathering Colobbo\nUse case They have some flaterned tables that need to be modeling before exposing to users. Pivoting column keys and values at multi-tenant/multi-project level. DONE Teach Duc Anh\nDONE CS Call with Aarki\n","date":1768867200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"409c343f08e772de889a6ebbf769581d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-20/","publishdate":"2026-01-20T00:00:00Z","relpermalink":"/post/journals/2026-01-20/","section":"post","summary":"Notes Joyful morning, new favorite sit at the cups coffee\nhttps://media.secondbrain.lelouvincx.com/2026/01/8085eaaf5de0322cedd6246447fa33b4.png Tasks {{embed ((696e1a3b-3474-49a3-9604-c3a3eaf04c61))}} Done DONE (?) Watch superb’s call DONE Load dbdocs tables into BigQuery\nDONE Respond Tricia \u0026 Clark\nDONE Call - requirements gathering Colobbo\nUse case They have some flaterned tables that need to be modeling before exposing to users. Pivoting column keys and values at multi-tenant/multi-project level. DONE Teach Duc Anh\nDONE CS Call with Aarki\n","tags":["journal"],"title":"2026-01-20","type":"post"},{"authors":null,"categories":null,"content":"Notes Năm mức mong muốn Tôi nghĩ đời người có năm mức mong muốn: Không biết mình muốn gì. logseq.order-list-type:: number Biết mình muốn gì. logseq.order-list-type:: number Nghĩ rằng mình có thể làm được việc mình muốn. logseq.order-list-type:: number Bắt tay vào làm việc mình muốn. logseq.order-list-type:: number Thực sự làm được việc mình muốn. logseq.order-list-type:: number https://caidan.dev/portfolio/ This is an example of side projects I want to showcase as my personal branding. https://media.secondbrain.lelouvincx.com/2026/01/709f295a643af446670a4e99cc403e94.png https://media.secondbrain.lelouvincx.com/2026/01/df36de1daeb3393b7f051dde39b95e95.png Today’s lesson: Never play game overnight, because I’ll lose the next day also. Just get another job This isn’t an argument to convince you to stay at your job. It’s just a reminder that getting a job is an investment. And every investment comes along with a risk. A good part of it requires taking a [[Leap of Faith]]. Why senior engineers let bad projects fail https://trails.pieterma.es/ Crafting Intepreters https://media.secondbrain.lelouvincx.com/2026/01/2684099d8ecde673b5ce14420de130c0.png Pretty cool illustration! https://www.shipmap.org/ Very cool ship visualization! https://media.secondbrain.lelouvincx.com/2026/01/d622568ff950b1ce2c4a75721b50fe19.png https://fulghum.io/self-hosting This site UI is much neat and simple. I also like the illustrations. Becoming a Data Journalist Resources Gemini The Upshot ProPublica ProPublica Nerds - how we make stuff Jetbrains Surveys I should read more HN newsletter. One single newsletter can be read within 1 week, to reduce my distraction. #thoughts [[Performance Review - 2025H2]] Tasks Done DONE Write self review 2025H2\nDONE Career ladder\nDONE Other parts\n((696dffbe-b808-4f0b-bf12-e20545d9ee37)) ","date":1768780800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"95b63e46cb5fb4f30115cfb9120b9081","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-19/","publishdate":"2026-01-19T00:00:00Z","relpermalink":"/post/journals/2026-01-19/","section":"post","summary":"Notes Năm mức mong muốn Tôi nghĩ đời người có năm mức mong muốn: Không biết mình muốn gì. logseq.order-list-type:: number Biết mình muốn gì. logseq.order-list-type:: number Nghĩ rằng mình có thể làm được việc mình muốn. logseq.order-list-type:: number Bắt tay vào làm việc mình muốn. logseq.order-list-type:: number Thực sự làm được việc mình muốn. logseq.order-list-type:: number https://caidan.dev/portfolio/ This is an example of side projects I want to showcase as my personal branding. https://media.secondbrain.lelouvincx.com/2026/01/709f295a643af446670a4e99cc403e94.png https://media.secondbrain.lelouvincx.com/2026/01/df36de1daeb3393b7f051dde39b95e95.png Today’s lesson: Never play game overnight, because I’ll lose the next day also. Just get another job This isn’t an argument to convince you to stay at your job. It’s just a reminder that getting a job is an investment. And every investment comes along with a risk. A good part of it requires taking a [[Leap of Faith]]. Why senior engineers let bad projects fail https://trails.pieterma.es/ Crafting Intepreters https://media.secondbrain.lelouvincx.com/2026/01/2684099d8ecde673b5ce14420de130c0.png Pretty cool illustration! https://www.shipmap.org/ Very cool ship visualization! https://media.secondbrain.lelouvincx.com/2026/01/d622568ff950b1ce2c4a75721b50fe19.png https://fulghum.io/self-hosting This site UI is much neat and simple. I also like the illustrations. Becoming a Data Journalist Resources Gemini The Upshot ProPublica ProPublica Nerds - how we make stuff Jetbrains Surveys I should read more HN newsletter. One single newsletter can be read within 1 week, to reduce my distraction. #thoughts [[Performance Review - 2025H2]] Tasks Done DONE Write self review 2025H2\n","tags":["journal"],"title":"2026-01-19","type":"post"},{"authors":null,"categories":null,"content":"Notes https://gemini.google.com/app/2eb89c1d79f22e0d When someone says something impacted his style/choice/taste in the early years of career, that means, right now he has seen a bigger picture and has compared himself with fellows who has the same background as him but went a different route. With an increasing number of “indie hackers” (observed it via Build In Public facebook group), there is an opportunity to sell bootstrapped-style spirit and related data content. For example, write content about doing data analysis for solo product apps. How to use AI without becoming stupid “DO NOT outsource your subjective value judgements to an AI, unless you have a good reason to, in which case make sure the reason is explicitly stated.” Tasks Done ","date":1768694400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"485ed42ee42e2440367f9fff0fc44fd9","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-18/","publishdate":"2026-01-18T00:00:00Z","relpermalink":"/post/journals/2026-01-18/","section":"post","summary":"Notes https://gemini.google.com/app/2eb89c1d79f22e0d When someone says something impacted his style/choice/taste in the early years of career, that means, right now he has seen a bigger picture and has compared himself with fellows who has the same background as him but went a different route. With an increasing number of “indie hackers” (observed it via Build In Public facebook group), there is an opportunity to sell bootstrapped-style spirit and related data content. For example, write content about doing data analysis for solo product apps. How to use AI without becoming stupid “DO NOT outsource your subjective value judgements to an AI, unless you have a good reason to, in which case make sure the reason is explicitly stated.” Tasks Done ","tags":["journal"],"title":"2026-01-18","type":"post"},{"authors":null,"categories":null,"content":"Notes Tasks Done {{embed ((69670f76-e398-42cb-9763-e56dbcc4f404))}} {{embed ((695e13a2-4937-40df-8f61-7b1af0981cbb))}} DONE UI/UX feedback for AI team after my trial yesterday DONE Weekly sync #2026-01-16\n","date":1768521600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"85c7669b01492204225a80dd7c615ba3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-16/","publishdate":"2026-01-16T00:00:00Z","relpermalink":"/post/journals/2026-01-16/","section":"post","summary":"Notes Tasks Done {{embed ((69670f76-e398-42cb-9763-e56dbcc4f404))}} {{embed ((695e13a2-4937-40df-8f61-7b1af0981cbb))}} DONE UI/UX feedback for AI team after my trial yesterday DONE Weekly sync #2026-01-16\n","tags":["journal"],"title":"2026-01-16","type":"post"},{"authors":null,"categories":null,"content":"Notes https://www.1keydata.com/datawarehousing/processes.html\nVery good reference data warehousing’s terms \u0026amp; processes. Mentioned once in [[Data Modeling]] https://www.ssp.sh/blog/diary-of-a-data-engineer/\nNow bro emphasizes on the importance of [[Data Modeling]] Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}} {{embed ((695e13a2-4937-40df-8f61-7b1af0981cbb))}} DONE Write a quick update for Simon about the dashboard progress DONE Help a Thi with the dbx proposal on dblineage\n","date":1768435200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"044619694993879348819a6fc1613794","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-15/","publishdate":"2026-01-15T00:00:00Z","relpermalink":"/post/journals/2026-01-15/","section":"post","summary":"Notes https://www.1keydata.com/datawarehousing/processes.html\nVery good reference data warehousing’s terms \u0026 processes. Mentioned once in [[Data Modeling]] https://www.ssp.sh/blog/diary-of-a-data-engineer/\nNow bro emphasizes on the importance of [[Data Modeling]] Tasks Done {{embed ((69671001-f0b8-41c0-9f99-f9706404e7cb))}} {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}} {{embed ((695e13a2-4937-40df-8f61-7b1af0981cbb))}} DONE Write a quick update for Simon about the dashboard progress DONE Help a Thi with the dbx proposal on dblineage\n","tags":["journal"],"title":"2026-01-15","type":"post"},{"authors":null,"categories":null,"content":"Notes Idea: Takes semantic layer as center, we provide data for other frontend/UI rendering apps via an API. Every business-related data definitions stay inside Holistics.\nhttps://www.notion.so/holistics/RFC-2794-External-Metric-Layer-Interface-2bcf89dc7e4980248860dc04099f51a0 Tasks Done DONE Support Hometime (Clark) in show rows with null data DONE Develop dashboard 4\nMaterialize the key retailer_current_pricing concat Pre-calculate Price Matrix ","date":1768348800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"63386b38632ab054abbcc34e90aadb73","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-14/","publishdate":"2026-01-14T00:00:00Z","relpermalink":"/post/journals/2026-01-14/","section":"post","summary":"Notes Idea: Takes semantic layer as center, we provide data for other frontend/UI rendering apps via an API. Every business-related data definitions stay inside Holistics.\nhttps://www.notion.so/holistics/RFC-2794-External-Metric-Layer-Interface-2bcf89dc7e4980248860dc04099f51a0 Tasks Done DONE Support Hometime (Clark) in show rows with null data DONE Develop dashboard 4\nMaterialize the key retailer_current_pricing concat Pre-calculate Price Matrix ","tags":["journal"],"title":"2026-01-14","type":"post"},{"authors":null,"categories":null,"content":"Notes Add2Cart Dashboard Implementation Process\nThis is a 5-step process designed to translate dashboard prototype into performance Holistics assets. Metric first, structure second. Start by attempting to define logic in the metric layer (AQL). Only push logic upstream to the AML when you hit hard limitations (like filter conflicts or complex nested aggregations). Prototype Deconstruction Before coding, map the dashboard inputs to outputs. Inputs: What are filters (Date, Primary Retailer)? Outputs: What dimensions are shown (Competitor Retailers)? Check: If I filter by Input A (Coles), does Output B (Woolworths) disappear? If conflict, need a scope pattern (step 3), but define your metrics first to see exactly what they need. Tasks Done {{embed ((695f172d-3b9f-447f-a5fe-d76f67fa0d00))}} {{embed ((6923d401-6764-4172-90e9-3ff64a3b7a9b))}} ","date":1768262400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e0d214e4afe786a85f6f7a321fe80701","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-13/","publishdate":"2026-01-13T00:00:00Z","relpermalink":"/post/journals/2026-01-13/","section":"post","summary":"Notes Add2Cart Dashboard Implementation Process\nThis is a 5-step process designed to translate dashboard prototype into performance Holistics assets. Metric first, structure second. Start by attempting to define logic in the metric layer (AQL). Only push logic upstream to the AML when you hit hard limitations (like filter conflicts or complex nested aggregations). Prototype Deconstruction Before coding, map the dashboard inputs to outputs. Inputs: What are filters (Date, Primary Retailer)? Outputs: What dimensions are shown (Competitor Retailers)? Check: If I filter by Input A (Coles), does Output B (Woolworths) disappear? If conflict, need a scope pattern (step 3), but define your metrics first to see exactly what they need. Tasks Done {{embed ((695f172d-3b9f-447f-a5fe-d76f67fa0d00))}} {{embed ((6923d401-6764-4172-90e9-3ff64a3b7a9b))}} ","tags":["journal"],"title":"2026-01-13","type":"post"},{"authors":null,"categories":null,"content":"Tasks Done DONE Remove duplicated dashboard in hooli embed portal DONE Answer Anurag\n","date":1768176e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4e8b83c6c9be94073f404d0a93e564c1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-12/","publishdate":"2026-01-12T00:00:00Z","relpermalink":"/post/journals/2026-01-12/","section":"post","summary":"Tasks Done DONE Remove duplicated dashboard in hooli embed portal DONE Answer Anurag\n","tags":["journal"],"title":"2026-01-12","type":"post"},{"authors":null,"categories":null,"content":" Stratascratch vs Datalemur\nDatalemur is cheaper than Stratascratch: $60/year vs. $159/year. Alternatives Interview Query Better 48-hour take-home exercises. More expensive: $204/year. Maven Analytics’ Data Playground Hosts raw CSV data files for specific business domain. Can self-host the platform with dbt and Metabase. Daily Journal Template\nNotes Tasks Partly today Done ","date":1768089600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0138870682f1ca686201002ed948182c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-11/","publishdate":"2026-01-11T00:00:00Z","relpermalink":"/post/journals/2026-01-11/","section":"post","summary":" Stratascratch vs Datalemur\nDatalemur is cheaper than Stratascratch: $60/year vs. $159/year. Alternatives Interview Query Better 48-hour take-home exercises. More expensive: $204/year. Maven Analytics’ Data Playground Hosts raw CSV data files for specific business domain. Can self-host the platform with dbt and Metabase. Daily Journal Template\nNotes Tasks Partly today Done ","tags":["journal"],"title":"2026-01-11","type":"post"},{"authors":null,"categories":null,"content":"Notes I hate AI-generated posts. Recently I see that on facebook 80% posts are chatgpt generated. Hence I should write things on my own, at least not 100% AI generated because I don’t want to read those posts. ","date":1768003200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"fe52dab480e2b17c0f661815a2d5e62d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-10/","publishdate":"2026-01-10T00:00:00Z","relpermalink":"/post/journals/2026-01-10/","section":"post","summary":"Notes I hate AI-generated posts. Recently I see that on facebook 80% posts are chatgpt generated. Hence I should write things on my own, at least not 100% AI generated because I don’t want to read those posts. ","tags":["journal"],"title":"2026-01-10","type":"post"},{"authors":null,"categories":null,"content":"Notes Year End Party 2025 Impressions\nTasks Done {{embed ((695b8d40-6f80-473c-85ca-cc40313ec77a))}} {{embed ((695f172d-3b9f-447f-a5fe-d76f67fa0d00))}} DONE Alternative for Zero-ETL Integration DONE Prepare weekly update\nUpdate:\nDashboard 3, 4, 5 (Pricing): We started working on the remaining dashboards (3, 4, 5). For starter, we’ve mapped out the UX, Logic flow and KPI definitions based off the Lovable prototype. This helps us clarify the business logic in first place. Ask: Please help review the KPI Definitions section to align on the logic (link). Once aligned, we’ll go ahead with the implementation. ETL: The Zero-ETL approach requires adjustment, we recommend pivoting to Fivetran (free plan) as an alternative. This does not block current dashboard development. I am syncing with Anurag today to ensure the new data schema aligns with dashboard requirements. Next:\nHolistics: Begin modeling data and creating dashboards (using dump data). ETL: Validate the RDS-Redshift sync. ","date":1767916800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cd4c2f0457d7506036c22f19a70baee3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-09/","publishdate":"2026-01-09T00:00:00Z","relpermalink":"/post/journals/2026-01-09/","section":"post","summary":"Notes Year End Party 2025 Impressions\nTasks Done {{embed ((695b8d40-6f80-473c-85ca-cc40313ec77a))}} {{embed ((695f172d-3b9f-447f-a5fe-d76f67fa0d00))}} DONE Alternative for Zero-ETL Integration DONE Prepare weekly update\nUpdate:\nDashboard 3, 4, 5 (Pricing): We started working on the remaining dashboards (3, 4, 5). For starter, we’ve mapped out the UX, Logic flow and KPI definitions based off the Lovable prototype. This helps us clarify the business logic in first place. Ask: Please help review the KPI Definitions section to align on the logic (link). Once aligned, we’ll go ahead with the implementation. ETL: The Zero-ETL approach requires adjustment, we recommend pivoting to Fivetran (free plan) as an alternative. This does not block current dashboard development. I am syncing with Anurag today to ensure the new data schema aligns with dashboard requirements. Next:\n","tags":["journal"],"title":"2026-01-09","type":"post"},{"authors":null,"categories":null,"content":" New docs: filter_direction\nTasks Done {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}}\n{{embed ((695f172d-3b9f-447f-a5fe-d76f67fa0d00))}}\nDONE Check TerryWhite use case Notion\n","date":1767830400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c4c12e2160bc146862b4c039bba4af77","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-08/","publishdate":"2026-01-08T00:00:00Z","relpermalink":"/post/journals/2026-01-08/","section":"post","summary":" New docs: filter_direction\nTasks Done {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}}\n{{embed ((695f172d-3b9f-447f-a5fe-d76f67fa0d00))}}\nDONE Check TerryWhite use case Notion\n","tags":["journal"],"title":"2026-01-08","type":"post"},{"authors":null,"categories":null,"content":" Treat customer/sales problem at highest priority. Not the message from 9AM but respond at 3PM. [[Gaps and Islands]] Tasks Done DONE The 3rd dashboard\nDo some feedback to the team and we’re good to go.\nNOTE: Feedback can’t do conditional formatting with price_rank. NOTE: Feedback can’t hide measures in the pivot chart. NOTE: Feedback in pivot chart, can’t sort columns by custom order. DONE Data support for Hometime ","date":1767744e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c965170b458065de5f75312d846c6516","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-07/","publishdate":"2026-01-07T00:00:00Z","relpermalink":"/post/journals/2026-01-07/","section":"post","summary":" Treat customer/sales problem at highest priority. Not the message from 9AM but respond at 3PM. [[Gaps and Islands]] Tasks Done DONE The 3rd dashboard\nDo some feedback to the team and we’re good to go.\nNOTE: Feedback can’t do conditional formatting with price_rank. NOTE: Feedback can’t hide measures in the pivot chart. NOTE: Feedback in pivot chart, can’t sort columns by custom order. DONE Data support for Hometime ","tags":["journal"],"title":"2026-01-07","type":"post"},{"authors":null,"categories":null,"content":" After new year’s holiday, I see I’m losing motivation in doing tasks.\nTasks NOTE Do self/peer review before Jan 10 Done DONE Document how to do the last 3 dashboards DONE Check this question Slack\nDONE Review notion document\nDONE Review event tracking dbdiagram AI PR\n","date":1767657600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3543a4d26979dd96a293abb572e1e99a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-06/","publishdate":"2026-01-06T00:00:00Z","relpermalink":"/post/journals/2026-01-06/","section":"post","summary":" After new year’s holiday, I see I’m losing motivation in doing tasks.\nTasks NOTE Do self/peer review before Jan 10 Done DONE Document how to do the last 3 dashboards DONE Check this question Slack\nDONE Review notion document\nDONE Review event tracking dbdiagram AI PR\n","tags":["journal"],"title":"2026-01-06","type":"post"},{"authors":null,"categories":null,"content":"Tasks IMPORTANT This week: Complete the Add2Cart project\nDone DONE UX workflow for the next 3 dashboards DONE Check the Zero-ETL setup to see if it works\n{{embed ((694b5b80-d67d-422f-bc59-0f24b298576b))}}\nDONE Reply Joel (99co)\nOriginal Slack\n","date":1767571200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e6939074befbd236bb8c3a68d8c1afae","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-05/","publishdate":"2026-01-05T00:00:00Z","relpermalink":"/post/journals/2026-01-05/","section":"post","summary":"Tasks IMPORTANT This week: Complete the Add2Cart project\nDone DONE UX workflow for the next 3 dashboards DONE Check the Zero-ETL setup to see if it works\n{{embed ((694b5b80-d67d-422f-bc59-0f24b298576b))}}\nDONE Reply Joel (99co)\nOriginal Slack\n","tags":["journal"],"title":"2026-01-05","type":"post"},{"authors":null,"categories":null,"content":" Learn from [[Oxygen Not Included]]’s priority system\nThe priority score formula is: score = (personal_priority * 10) + building_priority + (distance_cost) Where: Personal Priority (L Key): Set the base weighting for specific errand group (cleaning/researching/cooking/etc). Building Priority (Normal building in grid): Span from 1-9. Each number comes with different meaning in prioritization. Distance Cost: If the previous numbers are the same, do the nearest task first. This is the tie breaker. “Nearest” meaning: depends on what system I am. In game, it may be physical distance, or the oldest task in the job queue. But it should be high-cardinality in order to better weight the task - as detail as possible. “If everything is urgent, nothing is urgent.” Tasks Done DONE Prepare phase 2 project for Yen DONE Deep thinking\nDONE Metabase crash course\n","date":1767398400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"12f40085a36d5dc334fa9f6222167256","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-03/","publishdate":"2026-01-03T00:00:00Z","relpermalink":"/post/journals/2026-01-03/","section":"post","summary":" Learn from [[Oxygen Not Included]]’s priority system\nThe priority score formula is: score = (personal_priority * 10) + building_priority + (distance_cost) Where: Personal Priority (L Key): Set the base weighting for specific errand group (cleaning/researching/cooking/etc). Building Priority (Normal building in grid): Span from 1-9. Each number comes with different meaning in prioritization. Distance Cost: If the previous numbers are the same, do the nearest task first. This is the tie breaker. “Nearest” meaning: depends on what system I am. In game, it may be physical distance, or the oldest task in the job queue. But it should be high-cardinality in order to better weight the task - as detail as possible. “If everything is urgent, nothing is urgent.” Tasks Done DONE Prepare phase 2 project for Yen DONE Deep thinking\n","tags":["journal"],"title":"2026-01-03","type":"post"},{"authors":null,"categories":null,"content":" “Fix the system, not the symptom.” Tasks Done DONE Show the big picture of what Yen will do in the Olist project ","date":1767312e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7c2627c4b608a07290bbd47951bb7e0e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2026-01-02/","publishdate":"2026-01-02T00:00:00Z","relpermalink":"/post/journals/2026-01-02/","section":"post","summary":" “Fix the system, not the symptom.” Tasks Done DONE Show the big picture of what Yen will do in the Olist project ","tags":["journal"],"title":"2026-01-02","type":"post"},{"authors":null,"categories":null,"content":"Tasks TODO DAT-510 Validate holistics-customers dataset \u0026amp; add dashboard tab\nDone {{embed ((694b5b80-d67d-422f-bc59-0f24b298576b))}} {{embed ((694b5b80-bc0e-4dce-a7b2-1dee13bff432))}} ","date":1767139200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a014e7225515daa74703b3bdb9ab1b35","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-31/","publishdate":"2025-12-31T00:00:00Z","relpermalink":"/post/journals/2025-12-31/","section":"post","summary":"Tasks TODO DAT-510 Validate holistics-customers dataset \u0026 add dashboard tab\nDone {{embed ((694b5b80-d67d-422f-bc59-0f24b298576b))}} {{embed ((694b5b80-bc0e-4dce-a7b2-1dee13bff432))}} ","tags":["journal"],"title":"2025-12-31","type":"post"},{"authors":null,"categories":null,"content":" New blog idea: https://koaning.io/\nVery clean: https://media.secondbrain.lelouvincx.com/2025/12/9104ff68b5f4447efefe3a5fdae188d9.png This site is also cool for its data-driven storytelling: https://koaning.github.io/koaning-io-old/\n2025H2 projects:\nAI Benchmark Add2Cart Presales Calls Internal \u0026amp; External Support Tasks Done DONE Fill in Peer Review Form DONE Create a site for Duc Anh\n","date":1767052800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2a67101f197f89ec3bb1065573844e46","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-30/","publishdate":"2025-12-30T00:00:00Z","relpermalink":"/post/journals/2025-12-30/","section":"post","summary":" New blog idea: https://koaning.io/\nVery clean: https://media.secondbrain.lelouvincx.com/2025/12/9104ff68b5f4447efefe3a5fdae188d9.png This site is also cool for its data-driven storytelling: https://koaning.github.io/koaning-io-old/\n2025H2 projects:\nAI Benchmark Add2Cart Presales Calls Internal \u0026 External Support Tasks Done DONE Fill in Peer Review Form DONE Create a site for Duc Anh\n","tags":["journal"],"title":"2025-12-30","type":"post"},{"authors":null,"categories":null,"content":"Tasks Done DONE (At freetime) Comment this thread DONE Consult Anurag about the ENUM mismatch\nDONE Call Anurag\n","date":1766966400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"76f6a433ad7f7d2db5aea6698a9e52f4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-29/","publishdate":"2025-12-29T00:00:00Z","relpermalink":"/post/journals/2025-12-29/","section":"post","summary":"Tasks Done DONE (At freetime) Comment this thread DONE Consult Anurag about the ENUM mismatch\nDONE Call Anurag\n","tags":["journal"],"title":"2025-12-29","type":"post"},{"authors":null,"categories":null,"content":" https://newsletter.grokking.org/p/270-su-dich-chuyen-ve-ky-vong Khi máy móc đang tự làm tốt khả năng của chính nó, chúng ta cũng cần làm tốt khả năng của chính chúng ta. Tasks ","date":176688e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"96a2adae4c285a7bacfb24d5fe34da57","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-28/","publishdate":"2025-12-28T00:00:00Z","relpermalink":"/post/journals/2025-12-28/","section":"post","summary":" https://newsletter.grokking.org/p/270-su-dich-chuyen-ve-ky-vong Khi máy móc đang tự làm tốt khả năng của chính nó, chúng ta cũng cần làm tốt khả năng của chính chúng ta. Tasks ","tags":["journal"],"title":"2025-12-28","type":"post"},{"authors":null,"categories":null,"content":" [[2025 Travel Plan]] This is an example of a data analysis post I want to write [[Data Visualization]]: https://stephenfollows.com/p/which-colours-dominate-movie-posters-and-why CSS basic https://media.secondbrain.lelouvincx.com/2025/12/6091a9559b60676c65a76f0d0924f786.png Some good [[Data Visualization]] resources from Discord https://discord.com/channels/1124195842820161637/1129304650382848110/1260610977011859477 https://datavizproject.com/ https://www.coupler.io/dashboard-examples https://www.matplotlib-journey.com/bonus/design-principles https://www.visualcapitalist.com/ Tasks ","date":1766793600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e76f825f03e9a03b448b422e01f5067b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-27/","publishdate":"2025-12-27T00:00:00Z","relpermalink":"/post/journals/2025-12-27/","section":"post","summary":" [[2025 Travel Plan]] This is an example of a data analysis post I want to write [[Data Visualization]]: https://stephenfollows.com/p/which-colours-dominate-movie-posters-and-why CSS basic https://media.secondbrain.lelouvincx.com/2025/12/6091a9559b60676c65a76f0d0924f786.png Some good [[Data Visualization]] resources from Discord https://discord.com/channels/1124195842820161637/1129304650382848110/1260610977011859477 https://datavizproject.com/ https://www.coupler.io/dashboard-examples https://www.matplotlib-journey.com/bonus/design-principles https://www.visualcapitalist.com/ Tasks ","tags":["journal"],"title":"2025-12-27","type":"post"},{"authors":null,"categories":null,"content":" Very cool project: https://issinrealtime.org Tasks Done {{embed ((694b5b80-bc0e-4dce-a7b2-1dee13bff432))}} {{embed ((694b5b80-d67d-422f-bc59-0f24b298576b))}} {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}} DONE Update \u0026amp; Sync with Add2Cart {{embed ((69417f72-39d1-4238-99d2-654fbffd21c0))}} ","date":1766707200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"69a298ab7340fca2841450d07c1788e3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-26/","publishdate":"2025-12-26T00:00:00Z","relpermalink":"/post/journals/2025-12-26/","section":"post","summary":" Very cool project: https://issinrealtime.org Tasks Done {{embed ((694b5b80-bc0e-4dce-a7b2-1dee13bff432))}} {{embed ((694b5b80-d67d-422f-bc59-0f24b298576b))}} {{embed ((694b5e14-1dff-4e10-b325-ed0dae46e467))}} DONE Update \u0026 Sync with Add2Cart {{embed ((69417f72-39d1-4238-99d2-654fbffd21c0))}} ","tags":["journal"],"title":"2025-12-26","type":"post"},{"authors":null,"categories":null,"content":" [[Personal Context]] https://substack.com/@engineerscodex/p-182065416 The engineers who will thrive aren’t necessarily the ones who can prompt AI best, but the ones who can manage their own context well. [[Self-Serve Analytics]] What If We Don’t Need the Semantic Layer? The semantic layer was supposed to democratize data access. Instead, it created a new priesthood. Meanwhile, the real semantic layer, the one everyone actually used, was an Excel file named revenue_master_FINAL_v3.xlsx that Bob from Finance emailed around every week. Very worth reading! Today I record myself learning frontend course on scrimba {{video https://youtu.be/fa943eRvwcg?si=GuDCgyKVvkELJiMe}} I think it has some benefits Makes me more focus, less distracted. More reflection. I already know some very basic syntax of HTML/CSS/JS, but never code a real website from scratch. Use AI is good, especially nowadays LLM are getting smarter. But I think learn by myself still worth because I can’t rely 100% on AI. My first target is: to revamp the blog lelouvincx.com. Get some praises And a potential for [[How I Study In The Era Of AI]] Tasks Done {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}} ","date":1766620800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9c03a62343d0499f572e23359ab51c6f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-25/","publishdate":"2025-12-25T00:00:00Z","relpermalink":"/post/journals/2025-12-25/","section":"post","summary":" [[Personal Context]] https://substack.com/@engineerscodex/p-182065416 The engineers who will thrive aren’t necessarily the ones who can prompt AI best, but the ones who can manage their own context well. [[Self-Serve Analytics]] What If We Don’t Need the Semantic Layer? The semantic layer was supposed to democratize data access. Instead, it created a new priesthood. Meanwhile, the real semantic layer, the one everyone actually used, was an Excel file named revenue_master_FINAL_v3.xlsx that Bob from Finance emailed around every week. Very worth reading! Today I record myself learning frontend course on scrimba {{video https://youtu.be/fa943eRvwcg?si=GuDCgyKVvkELJiMe}} I think it has some benefits Makes me more focus, less distracted. More reflection. I already know some very basic syntax of HTML/CSS/JS, but never code a real website from scratch. Use AI is good, especially nowadays LLM are getting smarter. But I think learn by myself still worth because I can’t rely 100% on AI. My first target is: to revamp the blog lelouvincx.com. Get some praises And a potential for [[How I Study In The Era Of AI]] Tasks Done {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}} ","tags":["journal"],"title":"2025-12-25","type":"post"},{"authors":null,"categories":null,"content":"Tasks Done DONE Figure out how to map HubSpot’s company without using domain names\nPitfalls\nCompany vs. Tenant - N:N complexity logseq.order-list-type:: number Contact vs. User logseq.order-list-type:: number Deal vs. Trial logseq.order-list-type:: number Domain name’s reliability logseq.order-list-type:: number TODO Fix Column-Level Permission problem in demo4\nTry another attributes if it has the same problem DONE Reply a Tai Slack\nDONE Data team sync #meeting\n","date":1766534400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f97cf7ba7d2761db295595a9e92a5527","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-24/","publishdate":"2025-12-24T00:00:00Z","relpermalink":"/post/journals/2025-12-24/","section":"post","summary":"Tasks Done DONE Figure out how to map HubSpot’s company without using domain names\nPitfalls\nCompany vs. Tenant - N:N complexity logseq.order-list-type:: number Contact vs. User logseq.order-list-type:: number Deal vs. Trial logseq.order-list-type:: number Domain name’s reliability logseq.order-list-type:: number TODO Fix Column-Level Permission problem in demo4\nTry another attributes if it has the same problem DONE Reply a Tai Slack\nDONE Data team sync #meeting\n","tags":["journal"],"title":"2025-12-24","type":"post"},{"authors":null,"categories":null,"content":" This is an example of an analysis article I want to write in my blog: https://stephenfollows.com/p/which-colours-dominate-movie-posters-and-why\nNew Blog: https://lelouvincx.com/posts/image-sync-r2-with-picgo/\n{:height 824, :width 749} Regarding upgrading UI for my blog, I think it’s best mirror GitHub Gist’s interface.\nTasks Done {{embed ((693da6ef-82fe-4f78-bba0-641f189e8266))}} DONE Setup Metabase Project: [[Teaching]] Priority: #P2\n","date":1766448e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f24c30dfe64a9c3f17bac8c3486ca227","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-23/","publishdate":"2025-12-23T00:00:00Z","relpermalink":"/post/journals/2025-12-23/","section":"post","summary":" This is an example of an analysis article I want to write in my blog: https://stephenfollows.com/p/which-colours-dominate-movie-posters-and-why\nNew Blog: https://lelouvincx.com/posts/image-sync-r2-with-picgo/\n{:height 824, :width 749} Regarding upgrading UI for my blog, I think it’s best mirror GitHub Gist’s interface.\nTasks Done {{embed ((693da6ef-82fe-4f78-bba0-641f189e8266))}} DONE Setup Metabase Project: [[Teaching]] Priority: #P2\n","tags":["journal"],"title":"2025-12-23","type":"post"},{"authors":null,"categories":null,"content":"Tasks {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}}\nDone DONE Take a look (at your free time, not compulsory ) and suggest if there are any insights they could be getting from their data that they aren’t currently getting Project: [[Presales]] Customer: [[Fussy]] Priority: #P3 Source: https://holistics.slack.com/archives/C07AMC50XBL/p1764318953314359\nPast call ","date":1766361600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4f9e64dc981f3a169ae4ddf2e45cbaff","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-22/","publishdate":"2025-12-22T00:00:00Z","relpermalink":"/post/journals/2025-12-22/","section":"post","summary":"Tasks {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}}\nDone DONE Take a look (at your free time, not compulsory ) and suggest if there are any insights they could be getting from their data that they aren’t currently getting Project: [[Presales]] Customer: [[Fussy]] Priority: #P3 Source: https://holistics.slack.com/archives/C07AMC50XBL/p1764318953314359\nPast call ","tags":["journal"],"title":"2025-12-22","type":"post"},{"authors":null,"categories":null,"content":" [[Book - How To Solve It]] [[Product-Led Growth]] Tasks {{embed ((6939227b-56a0-4643-ac1b-5eb71e607341))}} Done DONE Continue researching the SaaS Data Analytics\nNew method: ID Stamping\nDONE Teach DA ","date":1766275200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2fa554b14ff39a293e2fb6c2b7ae5284","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-21/","publishdate":"2025-12-21T00:00:00Z","relpermalink":"/post/journals/2025-12-21/","section":"post","summary":" [[Book - How To Solve It]] [[Product-Led Growth]] Tasks {{embed ((6939227b-56a0-4643-ac1b-5eb71e607341))}} Done DONE Continue researching the SaaS Data Analytics\nNew method: ID Stamping\nDONE Teach DA ","tags":["journal"],"title":"2025-12-21","type":"post"},{"authors":null,"categories":null,"content":" Watched a new video from John Fish: {{video https://youtu.be/t7q3eJ_eywQ?si=9IoXvliTwZLBg4Zp}}\nIt’s been a while. I watched his first video when I was a fresh high school student, grade 10. Today, I’m graduate college. It’s been actually 7 years. John inspires me a lot from the person I want to become: a learner, likes computer, life-long reader. I feel he’s just zen. No big fame, posting videos on youtube to share about books he’s read, projects he’s done, and living the life he wants. Tasks Done DONE Add more records into order_items to make it one order - many items. Currently one order - one item Project: [[Teaching]] Priority: #P2\nDONE Add lesson 3.1 Project: [[Teaching]] Priority: #P2\n","date":1766188800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5c087b6ca69a88cdc6a1d598f20eb3fe","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-20/","publishdate":"2025-12-20T00:00:00Z","relpermalink":"/post/journals/2025-12-20/","section":"post","summary":" Watched a new video from John Fish: {{video https://youtu.be/t7q3eJ_eywQ?si=9IoXvliTwZLBg4Zp}}\nIt’s been a while. I watched his first video when I was a fresh high school student, grade 10. Today, I’m graduate college. It’s been actually 7 years. John inspires me a lot from the person I want to become: a learner, likes computer, life-long reader. I feel he’s just zen. No big fame, posting videos on youtube to share about books he’s read, projects he’s done, and living the life he wants. Tasks Done DONE Add more records into order_items to make it one order - many items. Currently one order - one item Project: [[Teaching]] Priority: #P2\n","tags":["journal"],"title":"2025-12-20","type":"post"},{"authors":null,"categories":null,"content":"Tasks Done {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}} DONE Check Redshift connection for Anurag Project: [[Add2Cart]] Priority: #P2\nDONE Fix demo4\nProject: [[Presales]] Priority: #P1\nCause: The user attributes (required for row/column level permission) is not working with embed portal unless explicitly define it as-code. Yesterday, Chinh has added the attribute pii_access into the demo dataset, but didn’t notice it would break embed portal. Short-term fix: add the config for attribute pii_access into embed portal. Status: deploying (@tai please notice sales team when done). Long-term fix (to prevent this issue, which can potentially happen to customers), @tai help add to backlog. Sorry team, this is my fault not checking it properly. DONE Ticket support for Webpros Slack Project: [[Duty Support]] Priority: #P2\n","date":1766102400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0a69a47ec796f69a0d42669fceff66da","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-19/","publishdate":"2025-12-19T00:00:00Z","relpermalink":"/post/journals/2025-12-19/","section":"post","summary":"Tasks Done {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}} DONE Check Redshift connection for Anurag Project: [[Add2Cart]] Priority: #P2\nDONE Fix demo4\nProject: [[Presales]] Priority: #P1\nCause: The user attributes (required for row/column level permission) is not working with embed portal unless explicitly define it as-code. Yesterday, Chinh has added the attribute pii_access into the demo dataset, but didn’t notice it would break embed portal. Short-term fix: add the config for attribute pii_access into embed portal. Status: deploying (@tai please notice sales team when done). Long-term fix (to prevent this issue, which can potentially happen to customers), @tai help add to backlog. Sorry team, this is my fault not checking it properly. DONE Ticket support for Webpros Slack Project: [[Duty Support]] Priority: #P2\n","tags":["journal"],"title":"2025-12-19","type":"post"},{"authors":null,"categories":null,"content":"Tasks {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}}\nDone DONE Plan doing CV with Duc Anh DONE Check ZeroETL setup Project: [[Add2Cart]] Priority: #P1\nDONE Ticket support Link 1 Link 2 Link 3\nProject: [[Duty Support]] Priority: #P2\nDONE Medenterprises DONE Hometime DONE Note 99co’s sharing into [log](Data Resources shared with customers)\nProject: [[Duty Support]]\n","date":1766016e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"076e2bbb680114d8b5a6347a72b62985","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-18/","publishdate":"2025-12-18T00:00:00Z","relpermalink":"/post/journals/2025-12-18/","section":"post","summary":"Tasks {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}}\nDone DONE Plan doing CV with Duc Anh DONE Check ZeroETL setup Project: [[Add2Cart]] Priority: #P1\nDONE Ticket support Link 1 Link 2 Link 3\nProject: [[Duty Support]] Priority: #P2\nDONE Medenterprises DONE Hometime DONE Note 99co’s sharing into [log](Data Resources shared with customers)\nProject: [[Duty Support]]\n","tags":["journal"],"title":"2025-12-18","type":"post"},{"authors":null,"categories":null,"content":" [[Parquet]]\n[[Predicate Pushdown]]\n{{renderer :todomaster}}\nTasks {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}} Done DONE Check task 2.1 for Yen Project: [[Teaching]]\nDONE Update the docs from SensorFlow’s question\nProject: [[Duty Support]] Priority: #P3\nDONE Reply Joel Slack\nProject: [[Presales]] Priority: #P1\nDONE Check how a 2.0 report looks like\nIt has pure SQL with template syntax like “[ [ filter ] ]” Example: https://public.lelouvincx.com/CleanShot%202025-12-17%20at%203%E2%80%AF.21.12.png DONE Bring Linh do tooth extraction\n","date":1765929600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3d330a16ffe34690bf0693d8ad8e9d43","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-17/","publishdate":"2025-12-17T00:00:00Z","relpermalink":"/post/journals/2025-12-17/","section":"post","summary":" [[Parquet]]\n[[Predicate Pushdown]]\n{{renderer :todomaster}}\nTasks {{embed ((690c2041-8717-481c-adc3-647fe13101c3))}} Done DONE Check task 2.1 for Yen Project: [[Teaching]]\nDONE Update the docs from SensorFlow’s question\nProject: [[Duty Support]] Priority: #P3\nDONE Reply Joel Slack\nProject: [[Presales]] Priority: #P1\nDONE Check how a 2.0 report looks like\nIt has pure SQL with template syntax like “[ [ filter ] ]” Example: https://public.lelouvincx.com/CleanShot%202025-12-17%20at%203%E2%80%AF.21.12.png DONE Bring Linh do tooth extraction\n","tags":["journal"],"title":"2025-12-17","type":"post"},{"authors":null,"categories":null,"content":" [[Conceptual Thinking]]\n[[Recursive CTE]]\n[[Parquet Zone Maps]]\n“If you can’t solve a problem, then there is an easier problem you can’t solve; find it.”\nTasks Done DONE Answer Joel DONE Revise Add2Cart tasks DONE Add column views count for Joel\nDONE Handle 3 use cases of Data Support\nProject: [[Duty Support]] Priority: #P3\nNotion Link DONE 1. Check with Product (Di, Minh) DONE 2. Update to the docs DONE Reply Vincent\nSummary of Pencil’s use case. They want to provide usage analytics of their product for business customers. (1) Each customer has their own dashboard: same charts in dashboard, different in data. For example, a typical usage analytics dashboard includes: number of generations, number of exports, number of users, etc. Ideally Pencil’s customer success team does this, else, data team. To do this, they have a template dashboard, which is a blueprint of default charts. They duplicate and share it to customers. (2) Then some customers may want to add more charts into their own shared dashboard (shareable link). Pencil’s data team helps them. (3) Then some customers may want to extract raw data in order to load into data warehouse, Pencil builds API for that. From the (1) and (2) use cases, we see there’s a potential of embedded analytics offering: by using embed portal in their app and let Pencil’s customers self-serve. Gemini: https://gemini.google.com/u/3/app/e3721b6f4ef2e2a9 DONE Report for 99co’s assets: Dashboards, Reports, etc. Slack\nProject: [[Presales]] Priority: #P1\nModels: 99co_dashboards, 99co_queries, 99co_users, 99co_versions, 99co_data_imports, 99co_data_transforms, 99co_schedules, 99co_data_sources, 99co_last_runs Dataset: 99co_migration_support_dataset Dashboard: 99co_migration_support_dashboard Link: https://internal.holistics.io/dashboards/v4/108100-99co-migration-support-dashboard Gemini: https://gemini.google.com/u/3/app/2effcbac71bc3f01 ","date":1765843200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d75aecb976ac77dd184c0bc55b8ed667","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-16/","publishdate":"2025-12-16T00:00:00Z","relpermalink":"/post/journals/2025-12-16/","section":"post","summary":" [[Conceptual Thinking]]\n[[Recursive CTE]]\n[[Parquet Zone Maps]]\n“If you can’t solve a problem, then there is an easier problem you can’t solve; find it.”\nTasks Done DONE Answer Joel DONE Revise Add2Cart tasks DONE Add column views count for Joel\nDONE Handle 3 use cases of Data Support\nProject: [[Duty Support]] Priority: #P3\nNotion Link DONE 1. Check with Product (Di, Minh) DONE 2. Update to the docs DONE Reply Vincent\n","tags":["journal"],"title":"2025-12-16","type":"post"},{"authors":null,"categories":null,"content":" [[Conceptual Thinking]] vs [[Concrete Thinking]]\n[[Recursive CTE]]\nTasks Done {{embed ((693bd388-3b10-480d-9144-1680f7841ca6))}} DONE Fix the key is §/± instead of ~ / DONE Ask Anurag about the ETL process Project: [[Add2Cart]] Priority: #P1 DONE Sync with a Huy Phung on tracking dbdiagram’s AI DONE Check for sensorflow, Link Project: [[Duty Support]] Priority: #P1\nDONE Sync on Customers \u0026amp; Subscriptions (Hieu, Triet) Priority: #P1\n","date":1765756800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ad4f769f2f05718184f595c47bf9fc22","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-15/","publishdate":"2025-12-15T00:00:00Z","relpermalink":"/post/journals/2025-12-15/","section":"post","summary":" [[Conceptual Thinking]] vs [[Concrete Thinking]]\n[[Recursive CTE]]\nTasks Done {{embed ((693bd388-3b10-480d-9144-1680f7841ca6))}} DONE Fix the key is §/± instead of ~ / DONE Ask Anurag about the ETL process Project: [[Add2Cart]] Priority: #P1 DONE Sync with a Huy Phung on tracking dbdiagram’s AI DONE Check for sensorflow, Link Project: [[Duty Support]] Priority: #P1\nDONE Sync on Customers \u0026 Subscriptions (Hieu, Triet) Priority: #P1\n","tags":["journal"],"title":"2025-12-15","type":"post"},{"authors":null,"categories":null,"content":" I realize the loneliness recently in my friends’ group chat Almost time when I share or chat something, they don’t react much. I know that’s fine if the number is small. But it’s almost every time, so I feel they don’t really care things I share. I just lose interest. I feel sad and lonely at the same time. Can’t blame them. I feel it’s more about the growth and change in my mindset recently, makes those feelings become worse. My conclusion is: Not every time I can depend my emotion on friends. When overthinking, I should write. Like I’m doing now. Feel a little better. It was a thing like [[Impostor Syndrome]], too high expectations from my inner self on other things outside, lead to this unhappy situation. Therefore, I think, in that conversation, “What’s the expected (or averate) thing/value from that? Why am I expecting too much?” I should answer those questions first. I bought a new keyboard: MelGeek O2 https://public.lelouvincx.com/PXL_20251213_174304221.MP.jpg I upgraded MacOS to new version, let its UI synchronizes with my phone’s design (Pixel 9, Android), and the MelGeek O2 also helps. First impression: Very satisfied, more than Nuphy Air75. It is more easier to lift up and down from the lap, easier to sign my fingerprint and put back. [[Accessories That Make My Life Better]] MelGeek O2 Cheat Sheet Remember that days I super like this GTK Custom Theme for Kubuntu https://public.lelouvincx.com/597907472_1284532957039042_5661807039247221403_n.jpg Today Hào said, “AI là đòn bẩy duy nhất của tụi mình trong thời đại này”. I think it’s pretty true. Read [[Book - How To Solve It]] ","date":1765670400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"50aedf7229d0fd7bbccf9b4598f7c094","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-14/","publishdate":"2025-12-14T00:00:00Z","relpermalink":"/post/journals/2025-12-14/","section":"post","summary":" I realize the loneliness recently in my friends’ group chat Almost time when I share or chat something, they don’t react much. I know that’s fine if the number is small. But it’s almost every time, so I feel they don’t really care things I share. I just lose interest. I feel sad and lonely at the same time. Can’t blame them. I feel it’s more about the growth and change in my mindset recently, makes those feelings become worse. My conclusion is: Not every time I can depend my emotion on friends. When overthinking, I should write. Like I’m doing now. Feel a little better. It was a thing like [[Impostor Syndrome]], too high expectations from my inner self on other things outside, lead to this unhappy situation. Therefore, I think, in that conversation, “What’s the expected (or averate) thing/value from that? Why am I expecting too much?” I should answer those questions first. I bought a new keyboard: MelGeek O2 https://public.lelouvincx.com/PXL_20251213_174304221.MP.jpg I upgraded MacOS to new version, let its UI synchronizes with my phone’s design (Pixel 9, Android), and the MelGeek O2 also helps. First impression: Very satisfied, more than Nuphy Air75. It is more easier to lift up and down from the lap, easier to sign my fingerprint and put back. [[Accessories That Make My Life Better]] MelGeek O2 Cheat Sheet Remember that days I super like this GTK Custom Theme for Kubuntu https://public.lelouvincx.com/597907472_1284532957039042_5661807039247221403_n.jpg Today Hào said, “AI là đòn bẩy duy nhất của tụi mình trong thời đại này”. I think it’s pretty true. Read [[Book - How To Solve It]] ","tags":["journal"],"title":"2025-12-14","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Teach Yen\nExercise: Write english Exercise: Basic terminal commands Explain why Software Engineer =\u0026gt; Data Engineer {{embed ((69310336-f4e8-4131-a3fe-7448f21bda38))}}\nTODO Show the big picture of what Yen will do in the Olist project Project: [[Teaching]] Priority: #P2\n","date":1765584e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9048f8863103efd3c8ee0213d8c1c202","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-13/","publishdate":"2025-12-13T00:00:00Z","relpermalink":"/post/journals/2025-12-13/","section":"post","summary":"Done DONE Teach Yen\nExercise: Write english Exercise: Basic terminal commands Explain why Software Engineer =\u003e Data Engineer {{embed ((69310336-f4e8-4131-a3fe-7448f21bda38))}}\nTODO Show the big picture of what Yen will do in the Olist project Project: [[Teaching]] Priority: #P2\n","tags":["journal"],"title":"2025-12-13","type":"post"},{"authors":null,"categories":null,"content":" Giữ anh cho ngày hôm qua\n{{video https://youtu.be/IADhKnmQMtk?si=45vlIas2TdXvLbJ2}} Tasks Done DONE Write Dresslife’s use case to Slack #product-amql-language DONE Submit claim MelGeek O2\nDONE Check with AMQL team and chi Phuong for Dresslife’s use case\nProject: [[Duty Support]] Priority: #P3\n{{embed ((691c8d16-fb2b-4d9b-b628-37be2888f3e8))}}\nDONE Reply Joel Lim (99co)\nDONE Check data availability for 99co Link\nProject: [[Presales]] Priority: #P1\nDONE Review the detailed problems of MRR\nProject: [[Internal]] Priority: #P1\nDONE Make the S3 table ready\nProject: [[Add2Cart]] Priority: #P2\nDONE Sync internally with a Dong ","date":1765497600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"923f41a97427704ca42ebe675b5338e7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-12/","publishdate":"2025-12-12T00:00:00Z","relpermalink":"/post/journals/2025-12-12/","section":"post","summary":" Giữ anh cho ngày hôm qua\n{{video https://youtu.be/IADhKnmQMtk?si=45vlIas2TdXvLbJ2}} Tasks Done DONE Write Dresslife’s use case to Slack #product-amql-language DONE Submit claim MelGeek O2\nDONE Check with AMQL team and chi Phuong for Dresslife’s use case\nProject: [[Duty Support]] Priority: #P3\n{{embed ((691c8d16-fb2b-4d9b-b628-37be2888f3e8))}}\nDONE Reply Joel Lim (99co)\nDONE Check data availability for 99co Link\nProject: [[Presales]] Priority: #P1\nDONE Review the detailed problems of MRR\nProject: [[Internal]] Priority: #P1\nDONE Make the S3 table ready\n","tags":["journal"],"title":"2025-12-12","type":"post"},{"authors":null,"categories":null,"content":" [[Semantic Layer]]\n[[Personal Finance Manager App]]\nTasks Done {{embed ((692faee0-7df9-4f12-8317-a4b1a2844e97))}} DONE Teach Duc Anh DONE Check ticket for a Cuong Project: [[Duty Support]] Priority: #P2\nDONE Check ticket Sensorflow Project: [[Duty Support]] Priority: #P2\n","date":1765411200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"68272d40307c203853c0af99aeb21a2d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-11/","publishdate":"2025-12-11T00:00:00Z","relpermalink":"/post/journals/2025-12-11/","section":"post","summary":" [[Semantic Layer]]\n[[Personal Finance Manager App]]\nTasks Done {{embed ((692faee0-7df9-4f12-8317-a4b1a2844e97))}} DONE Teach Duc Anh DONE Check ticket for a Cuong Project: [[Duty Support]] Priority: #P2\nDONE Check ticket Sensorflow Project: [[Duty Support]] Priority: #P2\n","tags":["journal"],"title":"2025-12-11","type":"post"},{"authors":null,"categories":null,"content":"Tasks Done DONE Checkin with Yen\nLearn basic git\nDONE Debrief the Call with Hespect Software\nProject: [[Presales]] Priority: #P1\nDONE Interview Thuan\nDONE Data team sync\nDONE Onboarding Call with Hespect Software\nProject: [[Presales]] Priority: #P1\n","date":1765324800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"05fba78c05e84bfec4d74863594a7c74","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-10/","publishdate":"2025-12-10T00:00:00Z","relpermalink":"/post/journals/2025-12-10/","section":"post","summary":"Tasks Done DONE Checkin with Yen\nLearn basic git\nDONE Debrief the Call with Hespect Software\nProject: [[Presales]] Priority: #P1\nDONE Interview Thuan\nDONE Data team sync\nDONE Onboarding Call with Hespect Software\nProject: [[Presales]] Priority: #P1\n","tags":["journal"],"title":"2025-12-10","type":"post"},{"authors":null,"categories":null,"content":" [[Slowly Changing Dimension]]\n[[Impostor Syndrome]]\nTasks Done DONE Write weekly update DONE Teach Duc Anh\nDONE Tell Anurag how to ETL data from RDS to Redshift (maybe AWS ZeroETL) Project: [[Add2Cart]] Priority: #P2\nDONE Buy bread\nDONE Chat at 10am\nDONE Answer Hieu’s concern\nDONE Support ticket for Dresslife\nProject: [[Duty Support]] Priority: #P2\nSlack Link DONE Check issue for medenterprises Project: [[Duty Support]] Priority: #P1\nDONE Do report to check tenants used RLP with associated plan Project: [[Duty Support]] Priority: #P2\n","date":1765238400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b7300bc05bc6eae1c07b0b3cf2dd3d78","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-09/","publishdate":"2025-12-09T00:00:00Z","relpermalink":"/post/journals/2025-12-09/","section":"post","summary":" [[Slowly Changing Dimension]]\n[[Impostor Syndrome]]\nTasks Done DONE Write weekly update DONE Teach Duc Anh\nDONE Tell Anurag how to ETL data from RDS to Redshift (maybe AWS ZeroETL) Project: [[Add2Cart]] Priority: #P2\nDONE Buy bread\nDONE Chat at 10am\nDONE Answer Hieu’s concern\nDONE Support ticket for Dresslife\nProject: [[Duty Support]] Priority: #P2\nSlack Link DONE Check issue for medenterprises Project: [[Duty Support]] Priority: #P1\nDONE Do report to check tenants used RLP with associated plan Project: [[Duty Support]] Priority: #P2\n","tags":["journal"],"title":"2025-12-09","type":"post"},{"authors":null,"categories":null,"content":" Found a vast library of Subscription Billing Model from Stripe: https://stripe.com/resources/more/billing\nGemini Ask [[Slowly Changing Dimension]]\nTasks Done DONE Check feasibility for Quinn Project: [[Duty Support]] Priority: #P2\nDONE Reply chi Minh Project: [[Duty Support]] Priority: #P2 #XS\nDONE Core business analytics sync Project: [[Internal]] Priority: #P1\nDONE Reply DE 187\nProject: [[Internal]] Priority: #P1\nDONE Read Sales Stage Management Process\nProject: [[Internal]] Priority: #P3\nDONE Fix the docs Connect to Clickhouse Project: [[Docs]] Priority: #P3 #S\n","date":1765152e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dead16b72a4438b07cbb92ce0f193347","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-08/","publishdate":"2025-12-08T00:00:00Z","relpermalink":"/post/journals/2025-12-08/","section":"post","summary":" Found a vast library of Subscription Billing Model from Stripe: https://stripe.com/resources/more/billing\nGemini Ask [[Slowly Changing Dimension]]\nTasks Done DONE Check feasibility for Quinn Project: [[Duty Support]] Priority: #P2\nDONE Reply chi Minh Project: [[Duty Support]] Priority: #P2 #XS\nDONE Core business analytics sync Project: [[Internal]] Priority: #P1\nDONE Reply DE 187\nProject: [[Internal]] Priority: #P1\nDONE Read Sales Stage Management Process\nProject: [[Internal]] Priority: #P3\nDONE Fix the docs Connect to Clickhouse Project: [[Docs]] Priority: #P3 #S\n","tags":["journal"],"title":"2025-12-08","type":"post"},{"authors":null,"categories":null,"content":" {{video https://www.youtube.com/watch?v=2gL0LE6xiyo}} {{embed ((69310336-f4e8-4131-a3fe-7448f21bda38))}} TODO Show the big picture of what Yen will do in the Olist project Project: [[Teaching]] Priority: #P2 ","date":1765065600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"63cd8a04d275477fc93dbea8c230ee3b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-07/","publishdate":"2025-12-07T00:00:00Z","relpermalink":"/post/journals/2025-12-07/","section":"post","summary":" {{video https://www.youtube.com/watch?v=2gL0LE6xiyo}} {{embed ((69310336-f4e8-4131-a3fe-7448f21bda38))}} TODO Show the big picture of what Yen will do in the Olist project Project: [[Teaching]] Priority: #P2 ","tags":["journal"],"title":"2025-12-07","type":"post"},{"authors":null,"categories":null,"content":" DONE My graduation ","date":1764979200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0f4a028d997e066b65d3f35f5bf1ccee","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-06/","publishdate":"2025-12-06T00:00:00Z","relpermalink":"/post/journals/2025-12-06/","section":"post","summary":" DONE My graduation ","tags":["journal"],"title":"2025-12-06","type":"post"},{"authors":null,"categories":null,"content":"Tasks {{embed ((692faee0-7df9-4f12-8317-a4b1a2844e97))}}\nDone DONE Go to school DONE Ask a Dat to review Clickhouse Project: [[Docs]] Priority: #P3 #S\nDONE Weekly Check In\nProject: [[Add2Cart]] Priority: #P1\nDONE Check cohort problem for Sasha (mybacs)\nProject: [[Duty Support]] Priority: #P1 #L\nhttps://gemini.google.com/u/3/app/299c69151ff83fbd DONE Pair with c Minh Project: [[Duty Support]] Priority: #P2\nDONE Review high-level diagram for a Hieu\nProject: [[Internal]] Priority: #P1 #M\n{{embed ((69302596-105e-4250-9a76-e3413c48c69e))}}\n","date":1764892800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"14ce2ea4284476a78d2701ff9ed4daf4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-05/","publishdate":"2025-12-05T00:00:00Z","relpermalink":"/post/journals/2025-12-05/","section":"post","summary":"Tasks {{embed ((692faee0-7df9-4f12-8317-a4b1a2844e97))}}\nDone DONE Go to school DONE Ask a Dat to review Clickhouse Project: [[Docs]] Priority: #P3 #S\nDONE Weekly Check In\nProject: [[Add2Cart]] Priority: #P1\nDONE Check cohort problem for Sasha (mybacs)\nProject: [[Duty Support]] Priority: #P1 #L\nhttps://gemini.google.com/u/3/app/299c69151ff83fbd DONE Pair with c Minh Project: [[Duty Support]] Priority: #P2\nDONE Review high-level diagram for a Hieu\nProject: [[Internal]] Priority: #P1 #M\n{{embed ((69302596-105e-4250-9a76-e3413c48c69e))}}\n","tags":["journal"],"title":"2025-12-05","type":"post"},{"authors":null,"categories":null,"content":" [[Inmon - Data Warehousing]]\n[[Kimball - Data Warehousing]]\n[[Dimensional Modeling]]\nCommunication learn\n@Chinh i just found you replied as such. This is not i have in mind in term of communication You cannot expect customer to convert vietnam time to their own timezone. This is lack of understanding. We always try to suggest the time in customer’s timezone and as i’ve shared, shes in Pacific time you offer no solution or at least a glance of what you have in mind to share with her so she knows what she’s getting. Getting people to get on the call is not like this. Give people reason to talk to you. During yesterday call ive told you to draft the respond here so i can check before you send it out. This was to prevent the communication that makes people ghost us. And we are running against time here. Every day without respond is another wasted day and we are giving Omni another day to help them win. Tasks {{renderer :todomaster}}\nDone {{embed ((6923c951-d17d-44c2-9e5a-af0821d5a246))}}\n{{embed ((692faee0-7df9-4f12-8317-a4b1a2844e97))}}\nDONE Trace all the tasks in the past and write into Meeting Notes\nProject: [[Add2Cart]] Priority: #P1\nDONE Find an RSS to subscribe this article: https://justoffbyone.com/subscribe/\nProject: [[Personal]] Priority: #P3\nDONE Meeting to sync internally\nProject: [[Add2Cart]] Priority: #P1\nEverytime present a notion docs try imagine how I will present with audiences #learning-point DONE Compose another message for Favor Live\nProject: [[Presales]] Priority: #P1\nDONE Reflect the last call + ask for tuition Project: [[Teaching]] Priority: #P1\n[Reflection 29/11/2025] Items Đã giới thiệu tổng quan về project và dataset Làm mission 0, đã setup xong môi trường trên runsql Next Misson 1 Git cơ bản (git add, git commit, git push, git pull) Learning points Học cách cài load data vào runsql bằng CSV Cài duckdb để convert duckdb to csv ","date":1764806400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8a045eb0f3b732e4355109a13e7fd598","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-04/","publishdate":"2025-12-04T00:00:00Z","relpermalink":"/post/journals/2025-12-04/","section":"post","summary":" [[Inmon - Data Warehousing]]\n[[Kimball - Data Warehousing]]\n[[Dimensional Modeling]]\nCommunication learn\n@Chinh i just found you replied as such. This is not i have in mind in term of communication You cannot expect customer to convert vietnam time to their own timezone. This is lack of understanding. We always try to suggest the time in customer’s timezone and as i’ve shared, shes in Pacific time you offer no solution or at least a glance of what you have in mind to share with her so she knows what she’s getting. Getting people to get on the call is not like this. Give people reason to talk to you. During yesterday call ive told you to draft the respond here so i can check before you send it out. This was to prevent the communication that makes people ghost us. And we are running against time here. Every day without respond is another wasted day and we are giving Omni another day to help them win. Tasks {{renderer :todomaster}}\n","tags":["journal"],"title":"2025-12-04","type":"post"},{"authors":null,"categories":null,"content":"Tasks {{renderer :todomaster}}\nDone DONE Check in with Yen 03/12/2025\nProject: [[Teaching]]\nDONE Check for medenterprises\nProject: [[Duty Support]] Priority: #P1 #L\nSlack Link ChatGPT Currently focusing on the dashboard SLT Weekly Pulse You’re right that’s the dashboard is indeed slow. The first pass on dashboard SLT Weekly Pulse. The dashboard contains lots of vis, each vis is a row in UI, which you “factory” create them using AML functions. There are functions such as: weekly_4_compare weekly_4_compare_avg weekly_4_compare_filter Dataset: recruitment And loop that function multiple times over multiple metrics such as number_jobs_received, job_value, average_job_value, etc Since each row runs a different formula and produces a different number, so I understand you can’t simply combine rows into one chart How did the dashboard run? DONE Check Sasha ticket Project: [[Duty Support]] Priority: #P2\nDONE Check resq-club ticket\nProject: [[Duty Support]] Priority: #P2\nDONE Data Team Sync\nDONE Interview: Huynh Minh Thuan\nPriority: #P1\nDONE Sync Favor Live’s case Project: [[Presales]] Priority: #P1 #M\nDONE Use S3 as PRICE_HISTORY\nProject: [[Add2Cart]] Priority: #P2\n","date":176472e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"968ecaab857b80ac8b4ac440582bbda7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-03/","publishdate":"2025-12-03T00:00:00Z","relpermalink":"/post/journals/2025-12-03/","section":"post","summary":"Tasks {{renderer :todomaster}}\nDone DONE Check in with Yen 03/12/2025\nProject: [[Teaching]]\nDONE Check for medenterprises\nProject: [[Duty Support]] Priority: #P1 #L\nSlack Link ChatGPT Currently focusing on the dashboard SLT Weekly Pulse You’re right that’s the dashboard is indeed slow. The first pass on dashboard SLT Weekly Pulse. The dashboard contains lots of vis, each vis is a row in UI, which you “factory” create them using AML functions. There are functions such as: weekly_4_compare weekly_4_compare_avg weekly_4_compare_filter Dataset: recruitment And loop that function multiple times over multiple metrics such as number_jobs_received, job_value, average_job_value, etc Since each row runs a different formula and produces a different number, so I understand you can’t simply combine rows into one chart How did the dashboard run? DONE Check Sasha ticket Project: [[Duty Support]] Priority: #P2\n","tags":["journal"],"title":"2025-12-03","type":"post"},{"authors":null,"categories":null,"content":"Tasks {{renderer :todomaster}}\nDONE Dynamic Markdown for Advertisement List\nProject: [[Add2Cart]] Priority: #P1\nDONE Check Favor Live’s use case\nProject: [[Presales]] Priority: #P2 Customer: [[Favor Live]]\nDONE Create Notion for tomorrow interview\nProject: [[Internal]] Priority: #P1\nDONE Publish Clickhouse post to documentation Project: [[Docs]] Priority: #P2\nPartly done today {{embed ((69290adc-bdc9-4edf-8e2e-74ecc4a8ce3d))}}\n","date":1764633600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"81d776df6a6516f7453254167a9771f2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-02/","publishdate":"2025-12-02T00:00:00Z","relpermalink":"/post/journals/2025-12-02/","section":"post","summary":"Tasks {{renderer :todomaster}}\nDONE Dynamic Markdown for Advertisement List\nProject: [[Add2Cart]] Priority: #P1\nDONE Check Favor Live’s use case\nProject: [[Presales]] Priority: #P2 Customer: [[Favor Live]]\nDONE Create Notion for tomorrow interview\nProject: [[Internal]] Priority: #P1\nDONE Publish Clickhouse post to documentation Project: [[Docs]] Priority: #P2\nPartly done today {{embed ((69290adc-bdc9-4edf-8e2e-74ecc4a8ce3d))}}\n","tags":["journal"],"title":"2025-12-02","type":"post"},{"authors":null,"categories":null,"content":" [[Triangle of Talent]]\n[[Measuring Engineering Productivity]]\nTasks DONE Weekly clean up\nProject: [[Personal]] Priority: #P3\nDONE Read Simon’s feedback\nProject: [[Add2Cart]] Priority: #P1\nPartly done today {{embed ((69290adc-bdc9-4edf-8e2e-74ecc4a8ce3d))}}\n","date":1764547200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1bbc8c2f7cf52a1ce4f0ff71881bd9b6","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-12-01/","publishdate":"2025-12-01T00:00:00Z","relpermalink":"/post/journals/2025-12-01/","section":"post","summary":" [[Triangle of Talent]]\n[[Measuring Engineering Productivity]]\nTasks DONE Weekly clean up\nProject: [[Personal]] Priority: #P3\nDONE Read Simon’s feedback\nProject: [[Add2Cart]] Priority: #P1\nPartly done today {{embed ((69290adc-bdc9-4edf-8e2e-74ecc4a8ce3d))}}\n","tags":["journal"],"title":"2025-12-01","type":"post"},{"authors":null,"categories":null,"content":" Figma CPO’s Talk Documentary Salt In The Vein Europe Travel https://www.youtube.com/watch?v=1014OUs1X9o Galapagos Islands ","date":1764460800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"389d899c88d84dc53935d3964beb8362","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-30/","publishdate":"2025-11-30T00:00:00Z","relpermalink":"/post/journals/2025-11-30/","section":"post","summary":" Figma CPO’s Talk Documentary Salt In The Vein Europe Travel https://www.youtube.com/watch?v=1014OUs1X9o Galapagos Islands ","tags":["journal"],"title":"2025-11-30","type":"post"},{"authors":null,"categories":null,"content":" The country Brazil is named by the tree Brasil\nThe country Brazil {{video https://youtu.be/gnnvuievdGM?si=mkcC92fiGa_wS9np}}\n((691029d8-69c2-4627-b93c-7328fcebda27))\nDONE Register site ngocyen99tb.lelouvincx.com to search engines\nProject: [[Teaching]] Priority: #P2\nDONE robots.txt DONE Google DONE Bing ","date":1764374400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cbdff258ff63a3a0d173fe0fa4442bc3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-29/","publishdate":"2025-11-29T00:00:00Z","relpermalink":"/post/journals/2025-11-29/","section":"post","summary":" The country Brazil is named by the tree Brasil\nThe country Brazil {{video https://youtu.be/gnnvuievdGM?si=mkcC92fiGa_wS9np}}\n((691029d8-69c2-4627-b93c-7328fcebda27))\nDONE Register site ngocyen99tb.lelouvincx.com to search engines\nProject: [[Teaching]] Priority: #P2\nDONE robots.txt DONE Google DONE Bing ","tags":["journal"],"title":"2025-11-29","type":"post"},{"authors":null,"categories":null,"content":"Tasks {{renderer :todomaster}}\nDONE Debrief the call with Pencil last night\nProject: [[Presales]] Priority: #P1\nDONE Follow-up email for them DONE Slack debrief for internal team DONE Ask supporting the UI for extended dashboards Partly done today ((690c2041-8717-481c-adc3-647fe13101c3))\nDONE Do the design\nDONE Write document\nDONE Review with a Dong\nDONE Review with a Huy\n","date":1764288e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6c3c80e806e1126eb0a7518b0c3e8f54","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-28/","publishdate":"2025-11-28T00:00:00Z","relpermalink":"/post/journals/2025-11-28/","section":"post","summary":"Tasks {{renderer :todomaster}}\nDONE Debrief the call with Pencil last night\nProject: [[Presales]] Priority: #P1\nDONE Follow-up email for them DONE Slack debrief for internal team DONE Ask supporting the UI for extended dashboards Partly done today ((690c2041-8717-481c-adc3-647fe13101c3))\nDONE Do the design\nDONE Write document\nDONE Review with a Dong\nDONE Review with a Huy\n","tags":["journal"],"title":"2025-11-28","type":"post"},{"authors":null,"categories":null,"content":"Tasks DONE Docs for Clickhouse x Holistics\nProject: [[Docs]] Priority: #P2\n((690dacaa-6292-4922-a0e5-cffd07ea9c8b))\nPartly done today ((690c2041-8717-481c-adc3-647fe13101c3))\n","date":1764201600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"29ad691d35d2e5f900e7d4c5c120790f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-27/","publishdate":"2025-11-27T00:00:00Z","relpermalink":"/post/journals/2025-11-27/","section":"post","summary":"Tasks DONE Docs for Clickhouse x Holistics\nProject: [[Docs]] Priority: #P2\n((690dacaa-6292-4922-a0e5-cffd07ea9c8b))\nPartly done today ((690c2041-8717-481c-adc3-647fe13101c3))\n","tags":["journal"],"title":"2025-11-27","type":"post"},{"authors":null,"categories":null,"content":" Level of details in communication (to know when should communicate at high level/low level)\nhttps://newsletter.weskao.com/p/too-detailed-in-the-wrong-ways Expectation management\nTasks {{renderer :todomaster}}\nDONE Feedback Weekathon Project: [[Weekathon 2025]] Priority: #P2\nDONE Write 1on1 note - Nov 2025\nProject: [[Internal]] Priority: #P2\nSupport presales\nSuperbexperience Dynamic filtering Performance issue Mindstorm Optimization, deal won Add2Cart Bad: detail-level communication when updating progress at high-level Onboarding calls\nTrust Wallet MOK Clarity Pediatrics Add2Cart Weekathon\n((69267795-5e44-4b4a-9f5f-926299cdc2dc)) ((69136bc9-af13-42eb-b4cb-799bb647677e))\nQuestion: ICEYE-EU case\nDONE Document the change request for the Shopee use case\nProject: [[Add2Cart]] Priority: #P1\nWhat we have: Mental model: 4P Business Model logseq.order-list-type:: number In the data layer, we store most of the tables under a redshift schema. Except one table: PRICE_HISTORY is stored as a S3 bucket. The reason is this table can be exponential increase the volume very fast due to its grain: retailer x product x date This S3 bucket will then be exposed back to redshift as an external table via AWS Spectrum Complete and call a Huy Draft the message to Simon and send a Huy DONE Meet 1on1 with a Triet\nProject: [[Internal]] Priority: #P1\nDONE Teach Duc Anh\n","date":1764115200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3e2bc8bd59a3513a78b953498b80f15a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-26/","publishdate":"2025-11-26T00:00:00Z","relpermalink":"/post/journals/2025-11-26/","section":"post","summary":" Level of details in communication (to know when should communicate at high level/low level)\nhttps://newsletter.weskao.com/p/too-detailed-in-the-wrong-ways Expectation management\nTasks {{renderer :todomaster}}\nDONE Feedback Weekathon Project: [[Weekathon 2025]] Priority: #P2\nDONE Write 1on1 note - Nov 2025\nProject: [[Internal]] Priority: #P2\nSupport presales\nSuperbexperience Dynamic filtering Performance issue Mindstorm Optimization, deal won Add2Cart Bad: detail-level communication when updating progress at high-level Onboarding calls\nTrust Wallet MOK Clarity Pediatrics Add2Cart Weekathon\n((69267795-5e44-4b4a-9f5f-926299cdc2dc)) ((69136bc9-af13-42eb-b4cb-799bb647677e))\n","tags":["journal"],"title":"2025-11-26","type":"post"},{"authors":null,"categories":null,"content":" If I want to make an extra offer for a deal who should I ask? #question [[Presales]] Tasks DONE Reply superb’s Zaedo Project: [[Presales]] Priority: #P1 Instead of loading data from Athena directly, is there no way to load the data in so we avoid the loading times DONE Clean up Mindstorm folder Project: [[Presales]] Priority: #P3 Partly done today ((691d3dab-3408-4f99-8abf-4faa2e25da35)) ","date":1764028800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ac12eb7ed9a582c8f1bb56e500d8ac80","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-25/","publishdate":"2025-11-25T00:00:00Z","relpermalink":"/post/journals/2025-11-25/","section":"post","summary":" If I want to make an extra offer for a deal who should I ask? #question [[Presales]] Tasks DONE Reply superb’s Zaedo Project: [[Presales]] Priority: #P1 Instead of loading data from Athena directly, is there no way to load the data in so we avoid the loading times DONE Clean up Mindstorm folder Project: [[Presales]] Priority: #P3 Partly done today ((691d3dab-3408-4f99-8abf-4faa2e25da35)) ","tags":["journal"],"title":"2025-11-25","type":"post"},{"authors":null,"categories":null,"content":" [[Add2Cart]] NOTE Remember to update the progress periodically, like update in each scrum and sprint\n[[Data Modeling]]\n[[Write - Audit - Publish]]\nTasks ((690dacaa-aa2d-4183-bb36-8bf7f530b780))\nDONE Quick sync with a Huy \u0026amp; Dong\nProject: [[Add2Cart]] Priority: #P1\nDONE Write Checkpoint Update for Simon\nProject: [[Add2Cart]] Priority: #P1\nhttps://www.notion.so/holistics/Add2Cart-Checkpoint-Updates-2b5f89dc7e4980668696ef456f8c1ec7 Let me summarize what we have done, the current progress and challenges we’re facing: ✅ Loaded the dump data Anurag shared, in order to do analytics fast (will integrate with real data later) logseq.order-list-type:: number ✅ Conceptual Specifications to understand the business process logseq.order-list-type:: number Note that this document serves as a baseline concepts, which reflect the current business model and also build analytics on that logseq.order-list-type:: number From the 5 prototype dashboards in lovable, we are drafting up the first 2 dashboards logseq.order-list-type:: number In the first 2 dashboards, The theme is advertisement analysis, to build them we do some Holistics’ backend work such as designing a metric set (document in notion, will polish and send you later), data modeling, etc logseq.order-list-type:: number However they need some optimization and polishment before your review logseq.order-list-type:: number Regarding he Shopee use case logseq.order-list-type:: number The importance is that this use case requires changes at conceptual layer. The baseline documentation is Conceptual Specifications, which is currently not handling this use case logseq.order-list-type:: number Both aligned on: adding the Platform concept logseq.order-list-type:: number To decide logseq.order-list-type:: number which concept do the storefronts like Shopee Watsons, Shopee Nivea, Shopee Mydin belong to logseq.order-list-type:: number Once align on the new concepts, we’ll proceed changes for: logseq.order-list-type:: number S3 structure, including structure for date logseq.order-list-type:: number Database schema logseq.order-list-type:: number Additional filters, metrics logseq.order-list-type:: number End-user’s dashboard usage journey logseq.order-list-type:: number From the tasks listed above, we suggest this order: Firstly kill the 4: new conceptual design, then update metrics/dashboards accordingly, then the S3 After that continue developing the 3 To move the 4 forward, I’ll create a separate thread for discussion. This thread is for update-wise only. Please feel free to adjust the above prioritization. ","date":1763942400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"02ab40d1a68d7f8963e1d20f91487c45","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-24/","publishdate":"2025-11-24T00:00:00Z","relpermalink":"/post/journals/2025-11-24/","section":"post","summary":" [[Add2Cart]] NOTE Remember to update the progress periodically, like update in each scrum and sprint\n[[Data Modeling]]\n[[Write - Audit - Publish]]\nTasks ((690dacaa-aa2d-4183-bb36-8bf7f530b780))\nDONE Quick sync with a Huy \u0026 Dong\nProject: [[Add2Cart]] Priority: #P1\nDONE Write Checkpoint Update for Simon\nProject: [[Add2Cart]] Priority: #P1\nhttps://www.notion.so/holistics/Add2Cart-Checkpoint-Updates-2b5f89dc7e4980668696ef456f8c1ec7 Let me summarize what we have done, the current progress and challenges we’re facing: ✅ Loaded the dump data Anurag shared, in order to do analytics fast (will integrate with real data later) logseq.order-list-type:: number ✅ Conceptual Specifications to understand the business process logseq.order-list-type:: number Note that this document serves as a baseline concepts, which reflect the current business model and also build analytics on that logseq.order-list-type:: number From the 5 prototype dashboards in lovable, we are drafting up the first 2 dashboards logseq.order-list-type:: number In the first 2 dashboards, The theme is advertisement analysis, to build them we do some Holistics’ backend work such as designing a metric set (document in notion, will polish and send you later), data modeling, etc logseq.order-list-type:: number However they need some optimization and polishment before your review logseq.order-list-type:: number Regarding he Shopee use case logseq.order-list-type:: number The importance is that this use case requires changes at conceptual layer. The baseline documentation is Conceptual Specifications, which is currently not handling this use case logseq.order-list-type:: number Both aligned on: adding the Platform concept logseq.order-list-type:: number To decide logseq.order-list-type:: number which concept do the storefronts like Shopee Watsons, Shopee Nivea, Shopee Mydin belong to logseq.order-list-type:: number Once align on the new concepts, we’ll proceed changes for: logseq.order-list-type:: number S3 structure, including structure for date logseq.order-list-type:: number Database schema logseq.order-list-type:: number Additional filters, metrics logseq.order-list-type:: number End-user’s dashboard usage journey logseq.order-list-type:: number From the tasks listed above, we suggest this order: Firstly kill the 4: new conceptual design, then update metrics/dashboards accordingly, then the S3 After that continue developing the 3 To move the 4 forward, I’ll create a separate thread for discussion. This thread is for update-wise only. Please feel free to adjust the above prioritization. ","tags":["journal"],"title":"2025-11-24","type":"post"},{"authors":null,"categories":null,"content":" Book: How To Solve It Partly done today ((691029d8-69c2-4627-b93c-7328fcebda27)) ","date":1763856e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a23571cef1cf691e0b26df1c94189421","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-23/","publishdate":"2025-11-23T00:00:00Z","relpermalink":"/post/journals/2025-11-23/","section":"post","summary":" Book: How To Solve It Partly done today ((691029d8-69c2-4627-b93c-7328fcebda27)) ","tags":["journal"],"title":"2025-11-23","type":"post"},{"authors":null,"categories":null,"content":" I was sick 2 days ago, I almost slept whole day, it was exhausting. I realize some feelings that I have felt before, from very far ago. Makes me think about life. If you have had the ability to fly for one day, how would you spend that day?\nRecently I’m thinking about the life now, of mine and of everybody, from the past to present to the future, are not too different. I think many lives seems converge into a single pattern, which I temporarily call Human Being (dont know exactly what it is). Life as the Last Fire Lookout {{video https://youtu.be/mtfEtIs_4DQ?si=sqtXD2gOb3ta6WSw}} Lives do not last long. They have birth and someday they will die. That’s nature. But stories do last long. The legendary stories have last century-by-century. One day I heard this song: Giữ Anh Cho Ngày Hôm Qua https://music.youtube.com/watch?v=mRXLNtzm9y0\u0026amp;si=o1Bfumlh3HV7yKf5 It’s been a long time I’ve never heard Hoàng Dũng’s song, but this song is different. It’s like he writes this song for his younger self. And listening to this song I also feel that spirit. Like I’m talking to my younger self. Makes me think, right now, how would I mentor my younger self to become the better version of me? Attention is the scarcest resource\n{{video https://youtu.be/HhPZ7yx8ttg?si=-dvn9l0elpU-W-J6}} I have no special talent. I am only passionately curious. ~ Einstein\nTasks ","date":1763769600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ca66fdae3da700e538b310ffcaaa0c1f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-22/","publishdate":"2025-11-22T00:00:00Z","relpermalink":"/post/journals/2025-11-22/","section":"post","summary":" I was sick 2 days ago, I almost slept whole day, it was exhausting. I realize some feelings that I have felt before, from very far ago. Makes me think about life. If you have had the ability to fly for one day, how would you spend that day?\nRecently I’m thinking about the life now, of mine and of everybody, from the past to present to the future, are not too different. I think many lives seems converge into a single pattern, which I temporarily call Human Being (dont know exactly what it is). Life as the Last Fire Lookout {{video https://youtu.be/mtfEtIs_4DQ?si=sqtXD2gOb3ta6WSw}} Lives do not last long. They have birth and someday they will die. That’s nature. But stories do last long. The legendary stories have last century-by-century. One day I heard this song: Giữ Anh Cho Ngày Hôm Qua https://music.youtube.com/watch?v=mRXLNtzm9y0\u0026si=o1Bfumlh3HV7yKf5 It’s been a long time I’ve never heard Hoàng Dũng’s song, but this song is different. It’s like he writes this song for his younger self. And listening to this song I also feel that spirit. Like I’m talking to my younger self. Makes me think, right now, how would I mentor my younger self to become the better version of me? Attention is the scarcest resource\n","tags":["journal"],"title":"2025-11-22","type":"post"},{"authors":null,"categories":null,"content":"","date":1763683200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"205470fa0d73435940771fbba96a36a9","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-21/","publishdate":"2025-11-21T00:00:00Z","relpermalink":"/post/journals/2025-11-21/","section":"post","summary":"","tags":["journal"],"title":"2025-11-21","type":"post"},{"authors":null,"categories":null,"content":"","date":1763596800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f659d1ed10b37c0b9620d341fb018d2f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-20/","publishdate":"2025-11-20T00:00:00Z","relpermalink":"/post/journals/2025-11-20/","section":"post","summary":"","tags":["journal"],"title":"2025-11-20","type":"post"},{"authors":null,"categories":null,"content":" DONE Prepare technical use case for Favored Live\nProject: [[Presales]] Priority: #P1\nHas a use case when he wants to design tables in dbdiagram and then an automatic export to Holistics AMQL Export a dashboard widget via API Use Action to trigger the app’s backend to select them into a list ","date":1763510400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a442d30d9dd7055566e9038ccb6bcf24","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-19/","publishdate":"2025-11-19T00:00:00Z","relpermalink":"/post/journals/2025-11-19/","section":"post","summary":" DONE Prepare technical use case for Favored Live\nProject: [[Presales]] Priority: #P1\nHas a use case when he wants to design tables in dbdiagram and then an automatic export to Holistics AMQL Export a dashboard widget via API Use Action to trigger the app’s backend to select them into a list ","tags":["journal"],"title":"2025-11-19","type":"post"},{"authors":null,"categories":null,"content":" Before doing any data project, must align with business users on entity definitions/conceptual design and metrics\nApply for both [[Add2Cart]] and [[Internal]] DONE Review S3 directory structure\nProject: [[Add2Cart]] Priority: #P1\n1P vs 3P semantics: Shopee Supermarket (1P) vs marketplace sellers (3P). We need a flag (retailer_kind) to separate them for analytics. Do we actually need that flag? -\u0026gt; Ask Simon Promo provenance \u0026amp; stacking: Distinguish platform-funded vs seller-funded components (voucher, coins, shipping). This affects “current price” calculations and must be modeled, not inferred. Country scoping: Shopee operates per country. Decide if platform_id is global with a country attribute, or country-scoped IDs In the backend I see there’s Platform, but on the mock dashboards I dont see it. Is it some intention behind hiding the platform? The barcode is used to match the same product across different platforms, of course, within the same retailer. Barcode vs. retailer code One app: one product and it shows different price per different retailers Simon knows his responsibility and how to move things forward. I’d better the same as him. I think he’s a person I can learn more from, not only add2cart. DONE Reply Natalia Jay\nProject: [[Personal]] Priority: #P2\n","date":1763424e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b81dfe1cd6fcd8e222ad83e2348b5fa5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-18/","publishdate":"2025-11-18T00:00:00Z","relpermalink":"/post/journals/2025-11-18/","section":"post","summary":" Before doing any data project, must align with business users on entity definitions/conceptual design and metrics\nApply for both [[Add2Cart]] and [[Internal]] DONE Review S3 directory structure\nProject: [[Add2Cart]] Priority: #P1\n1P vs 3P semantics: Shopee Supermarket (1P) vs marketplace sellers (3P). We need a flag (retailer_kind) to separate them for analytics. Do we actually need that flag? -\u003e Ask Simon Promo provenance \u0026 stacking: Distinguish platform-funded vs seller-funded components (voucher, coins, shipping). This affects “current price” calculations and must be modeled, not inferred. Country scoping: Shopee operates per country. Decide if platform_id is global with a country attribute, or country-scoped IDs In the backend I see there’s Platform, but on the mock dashboards I dont see it. Is it some intention behind hiding the platform? The barcode is used to match the same product across different platforms, of course, within the same retailer. Barcode vs. retailer code One app: one product and it shows different price per different retailers Simon knows his responsibility and how to move things forward. I’d better the same as him. I think he’s a person I can learn more from, not only add2cart. DONE Reply Natalia Jay\n","tags":["journal"],"title":"2025-11-18","type":"post"},{"authors":null,"categories":null,"content":"Notes Accidentally check my linkedin profile today, surprise that I have been in Holistics for 1 year\nhttps://media.secondbrain.lelouvincx.com/2026/01/74e34fb6d87b2876e4942592d239feb6.png And then I realize the 1 year and 6 months at KMS does not too memorable, I didn’t grow much at that time.\nTasks DONE Call Clarity Pediatrics\nProject: [[Presales]] Priority: #P1\nDONE Data tracking for OpenAI\nProject: [[Internal]] Priority: #P3\nDONE Import 2 tables from dbdocs into bigquery Project: [[Internal]] Priority: #P2\n","date":1763337600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f004e9d222d303210f1df426cb85e701","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-17/","publishdate":"2025-11-17T00:00:00Z","relpermalink":"/post/journals/2025-11-17/","section":"post","summary":"Notes Accidentally check my linkedin profile today, surprise that I have been in Holistics for 1 year\nhttps://media.secondbrain.lelouvincx.com/2026/01/74e34fb6d87b2876e4942592d239feb6.png And then I realize the 1 year and 6 months at KMS does not too memorable, I didn’t grow much at that time.\nTasks DONE Call Clarity Pediatrics\nProject: [[Presales]] Priority: #P1\nDONE Data tracking for OpenAI\nProject: [[Internal]] Priority: #P3\nDONE Import 2 tables from dbdocs into bigquery Project: [[Internal]] Priority: #P2\n","tags":["journal"],"title":"2025-11-17","type":"post"},{"authors":null,"categories":null,"content":" How to educate yourself like Ivy Ledge students ","date":1763251200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9a3c827c0bff9e3bfc1818bce2331672","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-16/","publishdate":"2025-11-16T00:00:00Z","relpermalink":"/post/journals/2025-11-16/","section":"post","summary":" How to educate yourself like Ivy Ledge students ","tags":["journal"],"title":"2025-11-16","type":"post"},{"authors":null,"categories":null,"content":" Actually I’m usually ask AI about unknown unknown It’s like a searching tool to expand unknown unknowns, then I note into my knowledge base, and use them as ingredients for later knowledge/insight ","date":1763164800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"06d8c05ce123d635ba68fed55c117b86","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-15/","publishdate":"2025-11-15T00:00:00Z","relpermalink":"/post/journals/2025-11-15/","section":"post","summary":" Actually I’m usually ask AI about unknown unknown It’s like a searching tool to expand unknown unknowns, then I note into my knowledge base, and use them as ingredients for later knowledge/insight ","tags":["journal"],"title":"2025-11-15","type":"post"},{"authors":null,"categories":null,"content":" In customer discovery call, the diff between a PM and a Sales is\nThe PM\nAnswers questions as-is, what feature are available and not, he answers it clearly \u0026#34;\u0026#34;\u0026#34; Is there in the future coming a different table group levels? Because then I actually see a little solved for what Thomas could, then we can just drill down higher, et cetera. Is there, since it’s only roadmaps, is this coming more nested table groups? -\u0026gt; More nested table groups. No, we don’t have a nested table group right now. \u0026#34;\u0026#34;\u0026#34; Call link: https://copilot.clari.com/call/eb2fc127-ea39-47f1-9a62-7d05812b822b The Sales\nReframe it and promise the feature will be considered in the future if they engage ","date":1762905600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"aa49c46c27acaa74dee9725d421e8b98","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-12/","publishdate":"2025-11-12T00:00:00Z","relpermalink":"/post/journals/2025-11-12/","section":"post","summary":" In customer discovery call, the diff between a PM and a Sales is\nThe PM\nAnswers questions as-is, what feature are available and not, he answers it clearly \"\"\" Is there in the future coming a different table group levels? Because then I actually see a little solved for what Thomas could, then we can just drill down higher, et cetera. Is there, since it’s only roadmaps, is this coming more nested table groups? -\u003e More nested table groups. No, we don’t have a nested table group right now. \"\"\" Call link: https://copilot.clari.com/call/eb2fc127-ea39-47f1-9a62-7d05812b822b The Sales\n","tags":["journal"],"title":"2025-11-12","type":"post"},{"authors":null,"categories":null,"content":"Notes [[Leap of Faith]] Tasks DONE Product research dblineage Project: [[Weekathon 2025]] Priority: #P1 ","date":1762819200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d8cd67f8cf0614cf89b710735dc54790","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-11/","publishdate":"2025-11-11T00:00:00Z","relpermalink":"/post/journals/2025-11-11/","section":"post","summary":"Notes [[Leap of Faith]] Tasks DONE Product research dblineage Project: [[Weekathon 2025]] Priority: #P1 ","tags":["journal"],"title":"2025-11-11","type":"post"},{"authors":null,"categories":null,"content":"","date":1762732800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"94edd047d0f9b996e1d9e9e4fd88d9d9","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-10/","publishdate":"2025-11-10T00:00:00Z","relpermalink":"/post/journals/2025-11-10/","section":"post","summary":"","tags":["journal"],"title":"2025-11-10","type":"post"},{"authors":null,"categories":null,"content":"Notes Mental model of SQL, and also relational databases:\n[[Set-based thinking]] instead of row-based thinking Relational database is built on [[Set Theory]] and [[Relational Algebra]] Tasks {{renderer :todomaster}}\nDONE Guide Huy how to run dbt/jaffle-shop\nProject: [[Weekathon 2025]] Priority: #P1\n","date":1762646400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ea213e1aa7f9ca3630e201b5a5ece43b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-09/","publishdate":"2025-11-09T00:00:00Z","relpermalink":"/post/journals/2025-11-09/","section":"post","summary":"Notes Mental model of SQL, and also relational databases:\n[[Set-based thinking]] instead of row-based thinking Relational database is built on [[Set Theory]] and [[Relational Algebra]] Tasks {{renderer :todomaster}}\nDONE Guide Huy how to run dbt/jaffle-shop\nProject: [[Weekathon 2025]] Priority: #P1\n","tags":["journal"],"title":"2025-11-09","type":"post"},{"authors":null,"categories":null,"content":"","date":176256e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"461040493e0a29ec5220d1cdd95e1b30","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-08/","publishdate":"2025-11-08T00:00:00Z","relpermalink":"/post/journals/2025-11-08/","section":"post","summary":"","tags":["journal"],"title":"2025-11-08","type":"post"},{"authors":null,"categories":null,"content":" {{renderer :todomaster}}\nDONE Write messages for guiding performance optimization\nProject: [[Duty Support]] Priority: #P1 Customer: Superbexperience\nDONE Nói chuyện với Huy Đỗ về daily tasks của data team\nProject: [[Weekathon 2025]] Priority: #P1\nDONE Give an example dbt project and guide Huy Do how to run\nProject: [[Weekathon 2025]] Priority: #P1\n","date":1762473600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6c1f0c911e757156c64b38b3764ff84a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-07/","publishdate":"2025-11-07T00:00:00Z","relpermalink":"/post/journals/2025-11-07/","section":"post","summary":" {{renderer :todomaster}}\nDONE Write messages for guiding performance optimization\nProject: [[Duty Support]] Priority: #P1 Customer: Superbexperience\nDONE Nói chuyện với Huy Đỗ về daily tasks của data team\nProject: [[Weekathon 2025]] Priority: #P1\nDONE Give an example dbt project and guide Huy Do how to run\nProject: [[Weekathon 2025]] Priority: #P1\n","tags":["journal"],"title":"2025-11-07","type":"post"},{"authors":null,"categories":null,"content":" {{renderer :todomaster}}\nMOST IMPORTANT Code \u0026amp; Review DONE Write market interaction of MOK Read DONE Read BI Caching Post Misc DONE Setup basic logseq and start using logseq ","date":1762387200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"585b65b202db565c628c45d1d663a8b7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-06/","publishdate":"2025-11-06T00:00:00Z","relpermalink":"/post/journals/2025-11-06/","section":"post","summary":" {{renderer :todomaster}}\nMOST IMPORTANT Code \u0026 Review DONE Write market interaction of MOK Read DONE Read BI Caching Post Misc DONE Setup basic logseq and start using logseq ","tags":["journal"],"title":"2025-11-06","type":"post"},{"authors":null,"categories":null,"content":"Note Có bận đột xuất gì thì báo trước để mọi người trong meeting sắp xếp lịch.\nhttps://topicpartition.io/blog/postgres-pubsub-queue-benchmarks\nDiscussion about postgres with extensions can solve 80% common use case without relying on other databases. Elasticsearch (functionality supported by Postgres’ tsvector/tsquery). MongoDB (jsonb). Redis (CREATE UNLOGGED TABLE). AI Vector Databases (pgvector, pgai). Snowflake (pg_mooncake, pg_duckdb). Makes me think it’s more and more important to learn the fundamentals of databases. For example: CMU’s courses. Done DONE Call with MOK DONE Review Mindstorm Studio’s dashboard\nHi Qasim, thanks for your patient. The dashboard looks good at the first glance. There’re several points you would like to know. It’s pretty long to read, so I believe it’s best to discuss these things in the technical onboarding calls. 1. From Looker to Holistics Because you’re coming from Looker, you could read this document first to understand the conceptual similarities and differencies between Holistics and Looker. https://docs.holistics.io/docs/from-others/looker/conceptual-differences 2. Look \u0026amp; feel The dashboard is long Users have to scroll longer =\u0026gt; use Tabs to split smaller. Also for better reporting experience: 1 tab for Overview, 1 tab for Spend \u0026amp; Attribution, 1 tab for Campaigns \u0026amp; Creatives, etc. Would you like an offer for a custom theme to match with your color \u0026amp; branding. 3. Semantic layer Dataset relationships: Since the dataset has not set up any relationships, you might want to config a relationship -\u0026gt; continue to docs https://docs.holistics.io/docs/from-others/looker/conceptual-differences#relationships-over-joins From the dataset, you can build metrics. Starting from simple measures and build the metrics from them. DONE Write market interaction \u0026amp; call summary\nDONE Record video guiding Adam to exclude values in filter\nDONE Submit claim list\n","date":1762128e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6e5956af080ef8bc5b309a1bec0a2ac5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-11-03/","publishdate":"2025-11-03T00:00:00Z","relpermalink":"/post/journals/2025-11-03/","section":"post","summary":"Note Có bận đột xuất gì thì báo trước để mọi người trong meeting sắp xếp lịch.\nhttps://topicpartition.io/blog/postgres-pubsub-queue-benchmarks\nDiscussion about postgres with extensions can solve 80% common use case without relying on other databases. Elasticsearch (functionality supported by Postgres’ tsvector/tsquery). MongoDB (jsonb). Redis (CREATE UNLOGGED TABLE). AI Vector Databases (pgvector, pgai). Snowflake (pg_mooncake, pg_duckdb). Makes me think it’s more and more important to learn the fundamentals of databases. For example: CMU’s courses. Done DONE Call with MOK DONE Review Mindstorm Studio’s dashboard\n","tags":["journal"],"title":"2025-11-03","type":"post"},{"authors":null,"categories":null,"content":"Note Mindstorm Qasim, thanks for your patient. At the first glance, I think the dashboard is fine. However, there’re several issues you would like to know. 1. Look \u0026amp; feel The dashboard is long. Users have to scroll longer =\u0026gt; use Tabs to split smaller. Also for better reporting experience: 1 tab for Overview, 1 tab for Spend \u0026amp; Attribution, 1 tab for Campaigns \u0026amp; Creatives, etc. We offer you a custom theme to match with your color \u0026amp; branding. 2. Semantic layer Done DONE Learn them first DONE Onboarding call 1\n","date":1761868800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8c1d0f6c21a8b536a5e8df58797f8577","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-31/","publishdate":"2025-10-31T00:00:00Z","relpermalink":"/post/journals/2025-10-31/","section":"post","summary":"Note Mindstorm Qasim, thanks for your patient. At the first glance, I think the dashboard is fine. However, there’re several issues you would like to know. 1. Look \u0026 feel The dashboard is long. Users have to scroll longer =\u003e use Tabs to split smaller. Also for better reporting experience: 1 tab for Overview, 1 tab for Spend \u0026 Attribution, 1 tab for Campaigns \u0026 Creatives, etc. We offer you a custom theme to match with your color \u0026 branding. 2. Semantic layer Done DONE Learn them first DONE Onboarding call 1\n","tags":["journal"],"title":"2025-10-31","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Support Adam from superb to use advanced filter\nDONE Review the performance case https://holistics.slack.com/archives/C95QEV4JF/p1761560212688339\n","date":1761782400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"553967be1fec6c47ce8774f7eb4e06ec","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-30/","publishdate":"2025-10-30T00:00:00Z","relpermalink":"/post/journals/2025-10-30/","section":"post","summary":"Done DONE Support Adam from superb to use advanced filter\nDONE Review the performance case https://holistics.slack.com/archives/C95QEV4JF/p1761560212688339\n","tags":["journal"],"title":"2025-10-30","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Write 1on1 note\nDONE Understand their intention of reviewing the dashboard\n","date":1761696e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6021901b406e298039dd2af6105289a7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-29/","publishdate":"2025-10-29T00:00:00Z","relpermalink":"/post/journals/2025-10-29/","section":"post","summary":"Done DONE Write 1on1 note\nDONE Understand their intention of reviewing the dashboard\n","tags":["journal"],"title":"2025-10-29","type":"post"},{"authors":null,"categories":null,"content":"Note Business idea Edtech. In data analytics/business intelligence. Mang company use case về cho các bạn học hands-on. https://youtu.be/uOcKF-aLHyw?si=aH8XLIFM4HdzqVpL\nAsk with faith. Believe you can get what you want by asking, like a child. Try to dig deeper into other BI tools Try to dig deeper into other BI tools (PowerBI, Looker, Metabase) to understand customers better. Also to speak their language. Done DONE Call with Pencil DONE Prepare meeting note of Pencil\nDONE Ask Simon about the RRP\n","date":1761609600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c7764320dfaab7dcd264c3d2528061a0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-28/","publishdate":"2025-10-28T00:00:00Z","relpermalink":"/post/journals/2025-10-28/","section":"post","summary":"Note Business idea Edtech. In data analytics/business intelligence. Mang company use case về cho các bạn học hands-on. https://youtu.be/uOcKF-aLHyw?si=aH8XLIFM4HdzqVpL\nAsk with faith. Believe you can get what you want by asking, like a child. Try to dig deeper into other BI tools Try to dig deeper into other BI tools (PowerBI, Looker, Metabase) to understand customers better. Also to speak their language. Done DONE Call with Pencil DONE Prepare meeting note of Pencil\n","tags":["journal"],"title":"2025-10-28","type":"post"},{"authors":null,"categories":null,"content":"Note Metrics vs Measures Current docs dont differentiate too well these 2 terms. But in calls, Vincent/Chukwudi mentions pretty frequently. So I think it worth spend time articulating this. Hope this helps. Done DONE Prepare meeting with Pencil DONE Draft in linear about engineer team’s need (no need to write the how)\n","date":1761523200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e50dbca9e27b34ba9b5537429317511f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-27/","publishdate":"2025-10-27T00:00:00Z","relpermalink":"/post/journals/2025-10-27/","section":"post","summary":"Note Metrics vs Measures Current docs dont differentiate too well these 2 terms. But in calls, Vincent/Chukwudi mentions pretty frequently. So I think it worth spend time articulating this. Hope this helps. Done DONE Prepare meeting with Pencil DONE Draft in linear about engineer team’s need (no need to write the how)\n","tags":["journal"],"title":"2025-10-27","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Set up hackmd and github for Yen ","date":1761436800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"bbc5dca313d29fe28b8331a34ddc9b3f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-26/","publishdate":"2025-10-26T00:00:00Z","relpermalink":"/post/journals/2025-10-26/","section":"post","summary":"Done DONE Set up hackmd and github for Yen ","tags":["journal"],"title":"2025-10-26","type":"post"},{"authors":null,"categories":null,"content":"Note Fussy’s use case Figure out all customers that have had a specific product category combination, what’s the distribution of each category looks like. Archive some articles Text to SQL Evaluation Techniques: A Comprehensive Guide: https://www.snowflake.com/en/engineering-blog/cortex-analyst-text-to-sql-accuracy-bi/ SWE-Bench Verified: https://openai.com/index/introducing-swe-bench-verified/ Done DONE Prepare a document to align our understanding and communication, then ask a Huy to review ","date":1761264e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"151158a35f5825f68dde5b31a9111dfb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-24/","publishdate":"2025-10-24T00:00:00Z","relpermalink":"/post/journals/2025-10-24/","section":"post","summary":"Note Fussy’s use case Figure out all customers that have had a specific product category combination, what’s the distribution of each category looks like. Archive some articles Text to SQL Evaluation Techniques: A Comprehensive Guide: https://www.snowflake.com/en/engineering-blog/cortex-analyst-text-to-sql-accuracy-bi/ SWE-Bench Verified: https://openai.com/index/introducing-swe-bench-verified/ Done DONE Prepare a document to align our understanding and communication, then ask a Huy to review ","tags":["journal"],"title":"2025-10-24","type":"post"},{"authors":null,"categories":null,"content":"Note Anurag Means love, affection in Sanskrit (India and South Asia). In vietnamese, similar to Ái. Done DONE Write a query to list all objects from a dashboard of Aurora DONE Change the connection on Holistics from serverless to Redshift cluster\nGrant all privileges for user ‘holistics’. Create a test table and load dump data into. Tear down the EC2 instance -\u0026gt; recreate and setup the holistics connection -\u0026gt; ssh into the instance -\u0026gt; change user’s password -\u0026gt; apt update -\u0026gt; make sure can connect to redshift from the instance. DONE Establish the new reverse tunnel connection with Holistics\nDONE Load the dump sql from postgres compatible to redshift compatible\n","date":1761177600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"620f70a5c6f924a3104c3e5610cebbbf","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-23/","publishdate":"2025-10-23T00:00:00Z","relpermalink":"/post/journals/2025-10-23/","section":"post","summary":"Note Anurag Means love, affection in Sanskrit (India and South Asia). In vietnamese, similar to Ái. Done DONE Write a query to list all objects from a dashboard of Aurora DONE Change the connection on Holistics from serverless to Redshift cluster\nGrant all privileges for user ‘holistics’. Create a test table and load dump data into. Tear down the EC2 instance -\u003e recreate and setup the holistics connection -\u003e ssh into the instance -\u003e change user’s password -\u003e apt update -\u003e make sure can connect to redshift from the instance. DONE Establish the new reverse tunnel connection with Holistics\n","tags":["journal"],"title":"2025-10-23","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Check to find all relevant items such as Shareable Link, Data Alerts,… of a user \u0026amp; the dashboard ","date":1761091200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0c3f1e9dc9dfefea57cfa7ebcaf7a030","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-22/","publishdate":"2025-10-22T00:00:00Z","relpermalink":"/post/journals/2025-10-22/","section":"post","summary":" Done DONE Check to find all relevant items such as Shareable Link, Data Alerts,… of a user \u0026 the dashboard ","tags":["journal"],"title":"2025-10-22","type":"post"},{"authors":null,"categories":null,"content":"Note Comfort Zone Stretch - Reflex - Recharge. Done DONE Setup the Holistics connection DONE Document the process (only important highlights) and update them afterwards\nDONE Conceptual Modeling\n","date":1761004800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"19c67675af292d7e8d638fc9b8de63b3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-21/","publishdate":"2025-10-21T00:00:00Z","relpermalink":"/post/journals/2025-10-21/","section":"post","summary":"Note Comfort Zone Stretch - Reflex - Recharge. Done DONE Setup the Holistics connection DONE Document the process (only important highlights) and update them afterwards\nDONE Conceptual Modeling\n","tags":["journal"],"title":"2025-10-21","type":"post"},{"authors":null,"categories":null,"content":"Note Triangle of Talent https://www.shaanpuri.com/essays/triangle-of-talent Connecting Redshift Hi Simon and Anurag, Now we have the Redshift (serverless) access, we need to connect it to Holistics. There are two ways for Holistics to connect: Direct connection (public endpoint + IP allowlist) Reverse SSH Tunnel (no public exposure) The best practice here is using the reverse SSH tunnel. We have set up Redshift for some customers using this way. Some benefit: No Exposing of Private Network. Data Encryption in Transit. Document: https://docs.holistics.io/docs/connect/connect-tunnel Meanwhile, we’re analyzing the shared dump file as well as the product pricing info. Happy to jump on a quick call to finish the setup. Done DONE Communicate the problem space of adding the Redshift Serverless data source to Holistics DONE Try to synthesize the conceptual business model of Add2Cart (data modeling)\nDONE Answer ticket for 42chat\nDONE Follow-up a message for connecting to Holistics: options direct connect or reverse tunnel\nDONE Predicate pushdown filter airbyte.com/data-engineering-resources/predicate-pushdown\n","date":1760918400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0eb15ba64d37161b7994caaee54f4dfe","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-20/","publishdate":"2025-10-20T00:00:00Z","relpermalink":"/post/journals/2025-10-20/","section":"post","summary":"Note Triangle of Talent https://www.shaanpuri.com/essays/triangle-of-talent Connecting Redshift Hi Simon and Anurag, Now we have the Redshift (serverless) access, we need to connect it to Holistics. There are two ways for Holistics to connect: Direct connection (public endpoint + IP allowlist) Reverse SSH Tunnel (no public exposure) The best practice here is using the reverse SSH tunnel. We have set up Redshift for some customers using this way. Some benefit: No Exposing of Private Network. Data Encryption in Transit. Document: https://docs.holistics.io/docs/connect/connect-tunnel Meanwhile, we’re analyzing the shared dump file as well as the product pricing info. Happy to jump on a quick call to finish the setup. Done DONE Communicate the problem space of adding the Redshift Serverless data source to Holistics DONE Try to synthesize the conceptual business model of Add2Cart (data modeling)\n","tags":["journal"],"title":"2025-10-20","type":"post"},{"authors":null,"categories":null,"content":" Note Grounded Theory Không biết có trùng hợp không, hôm nay mình có đọc được câu chuyện trong thần thoại Hy Lạp về cuộc chiến giữa Hercules và Antaeus. Mình nguồn gốc sức mạnh đến từ đất của Antaeus có liên quan đến lý thuyết này. Đều dùng từ “ground”. Build trust/power từ fact/ground. Nếu bị nhấc bổng lên/chân không chạm đất/ground thì mất hết sức mạnh. Thay vì bắt đầu từ 1 giả thuyết (hypothesis) sẵn có, nhà nghiên cứu sẽ: Thu thập dữ liệu -\u0026gt; những dữ liệu này sau khi làm sạch sẽ trở thành [[Fact|fact]]. Phân tích dữ liệu song song với việc thu thập, để tìm ra mẫu (pattern), chủ đề (topic), khái niệm (concept) lặp lại. Xây dựng dần 1 lý thuyết mới. Hay đối với [[Product Management|PM]], là xây dựng một job story mới. Terms: [[Fact|Fact]] (sự kiện): là điều quan sát được, tồn tại trong thực tế. [[Truth|Truth]] (chân lý): là hiểu biết được đồng thuận, được xây dựng từ nhiều fact. Theory/Hypothesis (lý thuyết): là mô hình khái quát để giải thích tại sao các fact liên quan tới nhau theo cách đó. Grounded Theory thuộc [[Constructivism|chủ nghĩa kiến tạo]] hơn là [[Positivism|chủ nghĩa thực chứng]]: Tức là luận ra chân lý (truth) từ tổng hợp nhiều dữ liệu, hơn là 1 chân lý khách quan có thể tìm thấy. Vai trò của fact: fact -\u0026gt; nền tảng sinh ra lý thuyết mới, hơn là fact -\u0026gt; để kiếm chứng truth. Nhà nghiên cứu: đóng vai trò người đồng kiến tạo cùng với người tham gia, hơn là quan sát trung lập. Khám phá hơn là kiểm chứng. Điểm mù của grounded theory: Truth is illusion ~ Friedrich Nietzsche\nGrounded Theory in Product Management | Grounded Theory | Product Discovery | | Thu thập dữ liệu thực tế (phỏng vấn, quan sát) | User interview, diary study, field research | | Mã hóa, tìm mẫu hành vi | Tìm pain points, JTBD (Jobs To Be Done), behavioral patterns | | Xây dựng lý thuyết từ dữ liệu | Hình thành giả thuyết sản phẩm hoặc insight | | Kiểm chứng qua thực tế mới | Prototype test, A/B test, tiếp tục học hỏi | Cũng như Grounded Theory trong học thuật, Product Discovery cũng có điểm mù riêng. | Blind spot trong GT | Phiên bản trong Product | Hệ quả | | Khách quan giả định | Nghĩ rằng “user nói gì thì đúng y như vậy” | Product team quên rằng cách người dùng nói và cách họ thực sự hành động có thể khác nhau. | | Phương pháp quá tuyến tính | Làm discovery theo checklist cứng nhắc | Insight trở nên nông — chỉ liệt kê “pain points” mà không thấy cấu trúc ý nghĩa sâu hơn. | | Thiếu bối cảnh xã hội | Phân tích user tách khỏi văn hóa, chính sách, hay ecosystem | Dẫn đến sản phẩm không “fit” với thực tế thị trường hoặc hệ sinh thái. | | Không nhận thức quyền lực | PM áp đặt diễn giải của mình lên voice of user | Insight bị “gọt theo kỳ vọng” và mất đi sự thật người dùng thực sự trải nghiệm. | Key notes: Insight nên đến từ người dùng thật sự, không phải trong phòng họp. Mọi feedback đều cần diễn giải và đặt trong context. PM là một phần của quá trình tạo ra value -\u0026gt; phải self-reflex. Truth được build up từ fact. https://youtu.be/HpdWVNRxmdc?si=tJO7eC_LDF9p-QxR ","date":1760832e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b7351facf585604f32d967c162228796","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-19/","publishdate":"2025-10-19T00:00:00Z","relpermalink":"/post/journals/2025-10-19/","section":"post","summary":" Note Grounded Theory Không biết có trùng hợp không, hôm nay mình có đọc được câu chuyện trong thần thoại Hy Lạp về cuộc chiến giữa Hercules và Antaeus. Mình nguồn gốc sức mạnh đến từ đất của Antaeus có liên quan đến lý thuyết này. Đều dùng từ “ground”. Build trust/power từ fact/ground. Nếu bị nhấc bổng lên/chân không chạm đất/ground thì mất hết sức mạnh. Thay vì bắt đầu từ 1 giả thuyết (hypothesis) sẵn có, nhà nghiên cứu sẽ: Thu thập dữ liệu -\u003e những dữ liệu này sau khi làm sạch sẽ trở thành [[Fact|fact]]. Phân tích dữ liệu song song với việc thu thập, để tìm ra mẫu (pattern), chủ đề (topic), khái niệm (concept) lặp lại. Xây dựng dần 1 lý thuyết mới. Hay đối với [[Product Management|PM]], là xây dựng một job story mới. Terms: [[Fact|Fact]] (sự kiện): là điều quan sát được, tồn tại trong thực tế. [[Truth|Truth]] (chân lý): là hiểu biết được đồng thuận, được xây dựng từ nhiều fact. Theory/Hypothesis (lý thuyết): là mô hình khái quát để giải thích tại sao các fact liên quan tới nhau theo cách đó. Grounded Theory thuộc [[Constructivism|chủ nghĩa kiến tạo]] hơn là [[Positivism|chủ nghĩa thực chứng]]: Tức là luận ra chân lý (truth) từ tổng hợp nhiều dữ liệu, hơn là 1 chân lý khách quan có thể tìm thấy. Vai trò của fact: fact -\u003e nền tảng sinh ra lý thuyết mới, hơn là fact -\u003e để kiếm chứng truth. Nhà nghiên cứu: đóng vai trò người đồng kiến tạo cùng với người tham gia, hơn là quan sát trung lập. Khám phá hơn là kiểm chứng. Điểm mù của grounded theory: Truth is illusion ~ Friedrich Nietzsche\n","tags":["journal"],"title":"2025-10-19","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Elaborate how to do dual-cohort comparison\nDONE Interview data team\nDONE Prepare the call with 99co\nDONE Call 99co\n","date":1760659200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e312dcf1bb7ff2ede35be0e981e36229","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-17/","publishdate":"2025-10-17T00:00:00Z","relpermalink":"/post/journals/2025-10-17/","section":"post","summary":"Done DONE Elaborate how to do dual-cohort comparison\nDONE Interview data team\nDONE Prepare the call with 99co\nDONE Call 99co\n","tags":["journal"],"title":"2025-10-17","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Call with Add2Cart ","date":1760572800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2c292eee4eb741f299f351fa0e148219","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-16/","publishdate":"2025-10-16T00:00:00Z","relpermalink":"/post/journals/2025-10-16/","section":"post","summary":"Done DONE Call with Add2Cart ","tags":["journal"],"title":"2025-10-16","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Làm lại bộ interview SQL \u0026amp; data modeling\nDONE Prepare the call with Add2Cart\n","date":1760486400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"780ea54e8fd989552d082b1403250159","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-15/","publishdate":"2025-10-15T00:00:00Z","relpermalink":"/post/journals/2025-10-15/","section":"post","summary":"Done DONE Làm lại bộ interview SQL \u0026 data modeling\nDONE Prepare the call with Add2Cart\n","tags":["journal"],"title":"2025-10-15","type":"post"},{"authors":null,"categories":null,"content":"Note Thanks Simon. Before the call, I do a quick rephrase to make sure we’re aligned. Current proposal: country/retailer/date with parquet. You are considering new dims (platform, marketplace). We think only worth adding if they are frequently filtered in dashboards and have low-cardinality; otherwise we can keep them as regular columns. Regardless of structure, what we should target is to avoid too many small files because it will degrade the performance and increase cost. What I need from you: The top filters A2C team uses most (country, retailer, platform, marketplace, date). Country and retailer are confirmed, however not sure the platform or marketplace are always required? Estimate how many platforms and marketplaces are they? For example, about 10 countries and 15 retailers are low-cardinality so they are valid to be partitioned. Done DONE Support Oddle listing all entities in their tenant - version 2.7\nShare a list of Data Import objects.\nDONE Understand what Simon means ","date":17604e5,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"47f09392978ba65f595fa1bee5d37f7c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-14/","publishdate":"2025-10-14T00:00:00Z","relpermalink":"/post/journals/2025-10-14/","section":"post","summary":"Note Thanks Simon. Before the call, I do a quick rephrase to make sure we’re aligned. Current proposal: country/retailer/date with parquet. You are considering new dims (platform, marketplace). We think only worth adding if they are frequently filtered in dashboards and have low-cardinality; otherwise we can keep them as regular columns. Regardless of structure, what we should target is to avoid too many small files because it will degrade the performance and increase cost. What I need from you: The top filters A2C team uses most (country, retailer, platform, marketplace, date). Country and retailer are confirmed, however not sure the platform or marketplace are always required? Estimate how many platforms and marketplaces are they? For example, about 10 countries and 15 retailers are low-cardinality so they are valid to be partitioned. Done DONE Support Oddle listing all entities in their tenant - version 2.7\n","tags":["journal"],"title":"2025-10-14","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Complete interview questions ","date":1760313600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e31f9dbdad9d0714c51e48dfaeb01315","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-13/","publishdate":"2025-10-13T00:00:00Z","relpermalink":"/post/journals/2025-10-13/","section":"post","summary":"Done DONE Complete interview questions ","tags":["journal"],"title":"2025-10-13","type":"post"},{"authors":null,"categories":null,"content":" Note Hnay c Dương có hỏi 1 câu khá hay: hiểu value-exchange mechanism để hiểu đâu là 1 doanh nghiệp bền vững để bạn có thể làm. [[Value Exchange Mechanism]] Is a process that 2 or more parties trade values. In a learning course: Students want: recognition, skills. Teachers want: income, impact. Course wants: engagement, data. I think this the core process for almost everything related to “exchange”. Just when I learn PM, I have the change to approach this term because it’s more familiar with a PM. Example: | Party | Gives | Receives | | Creators | Content | Views, fame, ad revenue | | Viewers | Time, attention, data | Entertainment, information | | Advertisers | Money | Viewer attention | | YouTube | Platform, tools, audience | Revenue share, data | When the “gives” feels not fair with the “Receives”, the trade rise problem. Learn to speak the PM language ","date":1760140800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6c752c132d7909691b81764e4edfa765","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-11/","publishdate":"2025-10-11T00:00:00Z","relpermalink":"/post/journals/2025-10-11/","section":"post","summary":" Note Hnay c Dương có hỏi 1 câu khá hay: hiểu value-exchange mechanism để hiểu đâu là 1 doanh nghiệp bền vững để bạn có thể làm. [[Value Exchange Mechanism]] Is a process that 2 or more parties trade values. In a learning course: Students want: recognition, skills. Teachers want: income, impact. Course wants: engagement, data. I think this the core process for almost everything related to “exchange”. Just when I learn PM, I have the change to approach this term because it’s more familiar with a PM. Example: | Party | Gives | Receives | | Creators | Content | Views, fame, ad revenue | | Viewers | Time, attention, data | Entertainment, information | | Advertisers | Money | Viewer attention | | YouTube | Platform, tools, audience | Revenue share, data | When the “gives” feels not fair with the “Receives”, the trade rise problem. Learn to speak the PM language ","tags":["journal"],"title":"2025-10-11","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Prepare interview questions\nDONE Watch the past calls with Aarki (call number 3)\nDONE Call with Aarki (call number 4)\nDONE Summarize the call with Aarki\n","date":1760054400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f92b4a5834ccbf9aae3904cb5c648cf7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-10/","publishdate":"2025-10-10T00:00:00Z","relpermalink":"/post/journals/2025-10-10/","section":"post","summary":"Done DONE Prepare interview questions\nDONE Watch the past calls with Aarki (call number 3)\nDONE Call with Aarki (call number 4)\nDONE Summarize the call with Aarki\n","tags":["journal"],"title":"2025-10-10","type":"post"},{"authors":null,"categories":null,"content":"Note “The best practices that you just know from your customers but which might not be in the documentation.”\nCustomers usually ask this to POC to find out what’s the limit of this product. Done DONE Refine the cross-model document DONE Reply Pexip\nDONE Check with squad modelling about now showing duplicated rows\nDONE Find job ID for anh vu.dq\n","date":1759881600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"09e0bbe9703ccf536518490cde635756","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-08/","publishdate":"2025-10-08T00:00:00Z","relpermalink":"/post/journals/2025-10-08/","section":"post","summary":"Note “The best practices that you just know from your customers but which might not be in the documentation.”\nCustomers usually ask this to POC to find out what’s the limit of this product. Done DONE Refine the cross-model document DONE Reply Pexip\nDONE Check with squad modelling about now showing duplicated rows\nDONE Find job ID for anh vu.dq\n","tags":["journal"],"title":"2025-10-08","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Write and draw the excalidraw image\nDONE Suppot Pexip on data duplication\nDONE Support Pinter on: multi-tab dashboard schedule export - wrong filter applied\n","date":1759795200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"895b51acab56956a13a7c7ef8e1ac616","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-07/","publishdate":"2025-10-07T00:00:00Z","relpermalink":"/post/journals/2025-10-07/","section":"post","summary":"Done DONE Write and draw the excalidraw image\nDONE Suppot Pexip on data duplication\nDONE Support Pinter on: multi-tab dashboard schedule export - wrong filter applied\n","tags":["journal"],"title":"2025-10-07","type":"post"},{"authors":null,"categories":null,"content":"Note AI is Creating a Generation of Illiterate Programmers https://nmn.gl/blog/ai-illiterate-programmers Technical document writing tips Simplify long sentence. Convert passive voice into active voice where possible. Done DONE Write the document again cross-model calculation ","date":1759708800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"66f523d5616b08ee5ac5b20afc112021","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-06/","publishdate":"2025-10-06T00:00:00Z","relpermalink":"/post/journals/2025-10-06/","section":"post","summary":"Note AI is Creating a Generation of Illiterate Programmers https://nmn.gl/blog/ai-illiterate-programmers Technical document writing tips Simplify long sentence. Convert passive voice into active voice where possible. Done DONE Write the document again cross-model calculation ","tags":["journal"],"title":"2025-10-06","type":"post"},{"authors":null,"categories":null,"content":" Note Pi in other universe https://lcamtuf.substack.com/p/folks-we-have-the-best https://azeemba.com/posts/pi-in-other-universes.html These articles expand the definition of pi to other distance metric: Manhattan, Euclide, Chebychev distances. This makes me imagine in another civilization, if they use other metric they may have another version of pi. ","date":1759622400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1f36777ad76f60589bfa27f42955c942","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-05/","publishdate":"2025-10-05T00:00:00Z","relpermalink":"/post/journals/2025-10-05/","section":"post","summary":" Note Pi in other universe https://lcamtuf.substack.com/p/folks-we-have-the-best https://azeemba.com/posts/pi-in-other-universes.html These articles expand the definition of pi to other distance metric: Manhattan, Euclide, Chebychev distances. This makes me imagine in another civilization, if they use other metric they may have another version of pi. ","tags":["journal"],"title":"2025-10-05","type":"post"},{"authors":null,"categories":null,"content":"Note The Body: A Guide for Occupants Learning how to write Just my single thought that I should learn how to write a good technical document. Biomimicry Pretty interesting. Will watch later. Done DONE Draft cross-model calculation document ","date":1759363200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"33eae1d0f91666b4bc896f1b551645a2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-02/","publishdate":"2025-10-02T00:00:00Z","relpermalink":"/post/journals/2025-10-02/","section":"post","summary":"Note The Body: A Guide for Occupants Learning how to write Just my single thought that I should learn how to write a good technical document. Biomimicry Pretty interesting. Will watch later. Done DONE Draft cross-model calculation document ","tags":["journal"],"title":"2025-10-02","type":"post"},{"authors":null,"categories":null,"content":"Note Cross-model calculation How we explained it? Show the documentation. Briefly describe the demo ecommerce dataset. Explain the cross-model calculation as a metric in a dataset. A calculation which takes 2 fields from different models, then multiply them together. metric order_value { definition: @aql order_items.quantity * products.price ;; } Compare with their traditional approach (Holistics 2.7, 3.0, LookML, etc). How customers perceive the value? Timo (already use Holistics, migrating from 3.0 to 4.0) Quy hết về 1 chỗ thì dễ kéo thả. Thay vì phải vào từng model để tạo measure.\nLàm vậy sẽ giảm được số lượng các model trung gian phải tạo ra riêng cho từng widget.\nOddle (Syed) (already use Holistics, migrating from 2.7 to 4.0) Syed thinked at model-level (since they were 2.7): “one model can refer another model”\nPersonal thought: Syed seems didn’t understand the strength of cross-model calculation (our semantic layer) =\u0026gt; so I’m pretty sure the their migration approach is to replicate all SQL queries to every widget. Aarki (Marshall) (known Looker) In LookML, to perform a calculation between 2 fields from 2 different tables, you have to add a derived SQL query that do that particular calculation beforehand. And then you include that derived table into your dataset. And strangely your dataset has 2 tables that do the similar thing.\nThis is something more than I expected.\nReduce the amount of derived SQL to create.\nMarshall told his experience at last company. We’ve been spinning up many “explorers” for slightly different data so that they could get a slightly different measures =\u0026gt; and so this was so handy.\nCan use this along with aggregation awareness to optimize query performance.\nHow would you improve? Goal: customers may have various backgrounds (either migrating, or using another BI tool), the final goal is to make them feel Holistics’ semantic layer is strong and flexible. Solution approach: solve their specific use case by AQL. Minor fix: During the call with Aarki, Huy got trouble showing Marshall the relationship =\u0026gt; either show the relationship in docs or a better \u0026amp; faster way to show in demo4 to make customers get a quick grasp about the demo dataset. Done DONE Support Oddle listing all entities in their tenant - version 2.7\nClarify with Wudi. Provide a Dashboards list. Send message. Wait for Syed’s response. Side note to him: Data Imports + Data Transforms + Email Schedules. DONE Review cross-metric calculation documents\n","date":1759276800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1ae3bd902e950ed54af46feb7ecaded1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-10-01/","publishdate":"2025-10-01T00:00:00Z","relpermalink":"/post/journals/2025-10-01/","section":"post","summary":"Note Cross-model calculation How we explained it? Show the documentation. Briefly describe the demo ecommerce dataset. Explain the cross-model calculation as a metric in a dataset. A calculation which takes 2 fields from different models, then multiply them together. metric order_value { definition: @aql order_items.quantity * products.price ;; } Compare with their traditional approach (Holistics 2.7, 3.0, LookML, etc). How customers perceive the value? Timo (already use Holistics, migrating from 3.0 to 4.0) Quy hết về 1 chỗ thì dễ kéo thả. Thay vì phải vào từng model để tạo measure.\n","tags":["journal"],"title":"2025-10-01","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Support Oddle listing all entities in their tenant - version 2.7\nClarify with Wudi. Provide a Dashboards list. Send message. DONE Review PR for Hieu\n","date":1759190400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"855da5ca79e778f038d762c40ce1049b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-30/","publishdate":"2025-09-30T00:00:00Z","relpermalink":"/post/journals/2025-09-30/","section":"post","summary":"Done DONE Support Oddle listing all entities in their tenant - version 2.7\nClarify with Wudi. Provide a Dashboards list. Send message. DONE Review PR for Hieu\n","tags":["journal"],"title":"2025-09-30","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Write a feedback and bring to squad reporting -\u0026gt; create a filter as a slider\nDONE Review Calendly data pipeline for Sriram’s need\n","date":1759104e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4091f47d5ce1f72d3571b62c062a6cfb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-29/","publishdate":"2025-09-29T00:00:00Z","relpermalink":"/post/journals/2025-09-29/","section":"post","summary":"Done DONE Write a feedback and bring to squad reporting -\u003e create a filter as a slider\nDONE Review Calendly data pipeline for Sriram’s need\n","tags":["journal"],"title":"2025-09-29","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Review Reebelo for a Dong ","date":1758844800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"018a576cb34f1d133a885524d1e638eb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-26/","publishdate":"2025-09-26T00:00:00Z","relpermalink":"/post/journals/2025-09-26/","section":"post","summary":"Done DONE Review Reebelo for a Dong ","tags":["journal"],"title":"2025-09-26","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Brainstorm UI \u0026amp; metrics for internal communication (e.g a Huy/Thanh)\nWrite to notion. Propose a solution. DONE Complete course fee (breaking into product management)\n","date":1758758400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8b93b4c9cf38b3728ede07ee5886bd2a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-25/","publishdate":"2025-09-25T00:00:00Z","relpermalink":"/post/journals/2025-09-25/","section":"post","summary":"Done DONE Brainstorm UI \u0026 metrics for internal communication (e.g a Huy/Thanh)\nWrite to notion. Propose a solution. DONE Complete course fee (breaking into product management)\n","tags":["journal"],"title":"2025-09-25","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Try to build a custom vega-lite for point map, dynamic color formatting\nDONE Brainstorm UI \u0026amp; metrics for internal communication (e.g a Huy/Thanh)\nDraft in kindle first.\n","date":1758672e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1cc1a6344f1fde81d9f5a2bc0f0fe647","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-24/","publishdate":"2025-09-24T00:00:00Z","relpermalink":"/post/journals/2025-09-24/","section":"post","summary":"Done DONE Try to build a custom vega-lite for point map, dynamic color formatting\nDONE Brainstorm UI \u0026 metrics for internal communication (e.g a Huy/Thanh)\nDraft in kindle first.\n","tags":["journal"],"title":"2025-09-24","type":"post"},{"authors":null,"categories":null,"content":"Note Hôm nay khá vui vì anh Huy contact và kéo qua phụ bên sales. Trước đó mình thấy anh Đông qua, cũng có phần chúc mừng ảnh và cũng thấy bản thân cần phải cố gắng. Tin nhắn này giống như 1 sự công nhận đối với mình rằng mình cũng có năng lực giao tiếp \u0026amp; support khách hàng.\nDone DONE Chỉnh lại PR cho khớp với các rational, để vậy anh Đạt ko review được\nTest 13: remove (code and name) in question.\nTest 18: remove distinct from.\nTest 70: remove “how many of them was sold in total”.\nTest 110: remove changes.\nTest 118: keep metric instead of dimension.\nTest 140: keep the original question.\nTest 108: remove “from 2004”.\nTest 107: change the metric back to “payment count”.\nTell anh Dat.\nDONE Contact a Khai\nDONE Try out customizing the vega lite chart\nDONE Write data document to support telegraph.io\nDONE Coi #data-ops-bot\nDONE Check 2 new fields available on production -\u0026gt; tell Vincent \u0026amp; Quinn\n","date":1758585600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d457551f54eacb43eaa2e8e84b67ae40","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-23/","publishdate":"2025-09-23T00:00:00Z","relpermalink":"/post/journals/2025-09-23/","section":"post","summary":"Note Hôm nay khá vui vì anh Huy contact và kéo qua phụ bên sales. Trước đó mình thấy anh Đông qua, cũng có phần chúc mừng ảnh và cũng thấy bản thân cần phải cố gắng. Tin nhắn này giống như 1 sự công nhận đối với mình rằng mình cũng có năng lực giao tiếp \u0026 support khách hàng.\nDone DONE Chỉnh lại PR cho khớp với các rational, để vậy anh Đạt ko review được\n","tags":["journal"],"title":"2025-09-23","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Dò lại report result \u0026amp; fix\nDONE DAT-464: Ingest 2 new fields from hubspot to bigquery for Vincent\nNote all necessary models that needs new fields to be added into.\nComplete implementation.\n","date":1758499200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cba401cba48ed4d59ebf75b8e6d34cb4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-22/","publishdate":"2025-09-22T00:00:00Z","relpermalink":"/post/journals/2025-09-22/","section":"post","summary":"Done DONE Dò lại report result \u0026 fix\nDONE DAT-464: Ingest 2 new fields from hubspot to bigquery for Vincent\nNote all necessary models that needs new fields to be added into.\nComplete implementation.\n","tags":["journal"],"title":"2025-09-22","type":"post"},{"authors":null,"categories":null,"content":"Note https://www.lesswrong.com/posts/6ZnznCaTcbGYsCmqu/the-rise-of-parasitic-ai\nThis post brings a new perspective about the relationship between human-AI, by treating AI as an alive creature. The relationship is analogous to symbiosis, when this relationship is harmful to the ‘host’, it becomes parasitism. https://read.engineerscodex.com/p/how-to-not-write-garbage-code-by\nBoth human and LLM have a limited amount of “context” they can store in their “context window” at a time =\u0026gt; the point is, not just LLM, but also human. Sometimes that duplication can actually reduce cognitive load, when the chunk is self-contained. https://maxleiter.com/blog/rewrite-your-prompts\nOpenAI models prefer markdown, while Anthropic’ prefer XML. [[New idea for my blog lelouvincx.github.io]] https://herman.bearblog.dev/slow-social-media/\nStay connected with the people you care about. https://stephenfollows.com/p/which-colours-dominate-movie-posters-and-why\nThis is an example of an analysis article I want to write in my blog [[New idea for my blog lelouvincx.github.io]] https://chuyenminhke.com/biet-minh-khong-biet-cung-la-biet-20250921\nThang’s blog. Brilliant thinking is rare, but courage is in even shorter supply than genius ~ Peter Thiel\nDone DONE Hacker newsletter 763 DONE Dọn đống TL;DR newsletter\n","date":1758326400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"60386ea0b01861dae28cc0f14635b6c1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-20/","publishdate":"2025-09-20T00:00:00Z","relpermalink":"/post/journals/2025-09-20/","section":"post","summary":"Note https://www.lesswrong.com/posts/6ZnznCaTcbGYsCmqu/the-rise-of-parasitic-ai\nThis post brings a new perspective about the relationship between human-AI, by treating AI as an alive creature. The relationship is analogous to symbiosis, when this relationship is harmful to the ‘host’, it becomes parasitism. https://read.engineerscodex.com/p/how-to-not-write-garbage-code-by\nBoth human and LLM have a limited amount of “context” they can store in their “context window” at a time =\u003e the point is, not just LLM, but also human. Sometimes that duplication can actually reduce cognitive load, when the chunk is self-contained. https://maxleiter.com/blog/rewrite-your-prompts\n","tags":["journal"],"title":"2025-09-20","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Nộp lệ phí tốt nghiệp\nDONE DAT-464: Ingest 2 new fields from hubspot to bigquery for Vincent\nTry to do if it’s fast.\n","date":175824e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9ff2fca7eccf76acbc9ba4e2503444a3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-19/","publishdate":"2025-09-19T00:00:00Z","relpermalink":"/post/journals/2025-09-19/","section":"post","summary":"Done DONE Nộp lệ phí tốt nghiệp\nDONE DAT-464: Ingest 2 new fields from hubspot to bigquery for Vincent\nTry to do if it’s fast.\n","tags":["journal"],"title":"2025-09-19","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Check failed flow itg_internal_bigquery_jobs DONE Reply Vincent\nDONE Note lại problem hôm qua anh Cường raise\nDONE Reply Vincent on DTS106\n","date":1758153600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0e42841e9927dbdd16b5366e0a012a2b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-18/","publishdate":"2025-09-18T00:00:00Z","relpermalink":"/post/journals/2025-09-18/","section":"post","summary":" Done DONE Check failed flow itg_internal_bigquery_jobs DONE Reply Vincent\nDONE Note lại problem hôm qua anh Cường raise\nDONE Reply Vincent on DTS106\n","tags":["journal"],"title":"2025-09-18","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Viết 1on1\nDONE Lên trường hỏi học phí\nDONE Consult với anh Đạt về metrics\nĐề xuất các metrics: Execution Accuracy, Completion Rate, Complexity.\nVới các vấn đề AI issues đã tìm thấy ở trên thì treat mỗi cái như 1 issue =\u0026gt; fix =\u0026gt; evaluate lại.\nPhần tag sẽ bổ trợ cho việc phân loại capabilities.\n","date":1758067200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9194811284076aed3c20e59a1f0b4718","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-17/","publishdate":"2025-09-17T00:00:00Z","relpermalink":"/post/journals/2025-09-17/","section":"post","summary":"Done DONE Viết 1on1\nDONE Lên trường hỏi học phí\nDONE Consult với anh Đạt về metrics\nĐề xuất các metrics: Execution Accuracy, Completion Rate, Complexity.\nVới các vấn đề AI issues đã tìm thấy ở trên thì treat mỗi cái như 1 issue =\u003e fix =\u003e evaluate lại.\nPhần tag sẽ bổ trợ cho việc phân loại capabilities.\n","tags":["journal"],"title":"2025-09-17","type":"post"},{"authors":null,"categories":null,"content":"Note https://chatgpt.com/share/68c8c0e4-b398-800d-9c65-c7c9ed828d29\n[[Metacognition]]: suy nghĩ về suy nghĩ. Dừng lại để suy nghĩ về chính suy nghĩ và cách làm của mình. Mình nhận ra bản thân [[Probability|xác suất]] cũng là 1 dạng metacognition. Vì xác suất là dùng để đo lường mức độ không chắc chắn (uncertainty) != tỷ lệ. Nhiều học sinh không hiểu bản chất này, vì bản thân sự không chắc chắn khó hình dung một cách hữu hình. Vì vậy lúc lên cao hơn, làm việc với các đại lượng của xác suất và thống kê (kỳ vọng, độ lệch chuẩn), nó khó, giáo viên và học sinh thường tối giản nó bằng cách đưa về bài toán giải tích \u0026amp; đại số =\u0026gt; mục đích để giảm cognitive load - aka một cái workaround. Chính cái workaround này khiến sự việc tệ đi - không hiểu bản chất của xác suất từ đầu. braintrust.dev key notes.\nComparative evals. Done DONE Fix list all and list limit tests: review lại các test list all \u0026amp; list limit, sau đó improve để tốt hơn\nTìm tests có list all/list limit: 2, 3, 39, 51, 64, 97, 102, 103, 104, 105, 107, 116 -\u0026gt; 139.\nHỏi AI các cách để improve câu hỏi, sao cho practical với BI analyst.\nDONE Check lại single model vs. cross model\nDONE Đánh complexity\nDONE Metacognition\nDONE Làm bài tập R cho Đức Anh\n","date":1757980800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"26913f6a5b42fad0a5ef1cece2463055","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-16/","publishdate":"2025-09-16T00:00:00Z","relpermalink":"/post/journals/2025-09-16/","section":"post","summary":"Note https://chatgpt.com/share/68c8c0e4-b398-800d-9c65-c7c9ed828d29\n[[Metacognition]]: suy nghĩ về suy nghĩ. Dừng lại để suy nghĩ về chính suy nghĩ và cách làm của mình. Mình nhận ra bản thân [[Probability|xác suất]] cũng là 1 dạng metacognition. Vì xác suất là dùng để đo lường mức độ không chắc chắn (uncertainty) != tỷ lệ. Nhiều học sinh không hiểu bản chất này, vì bản thân sự không chắc chắn khó hình dung một cách hữu hình. Vì vậy lúc lên cao hơn, làm việc với các đại lượng của xác suất và thống kê (kỳ vọng, độ lệch chuẩn), nó khó, giáo viên và học sinh thường tối giản nó bằng cách đưa về bài toán giải tích \u0026 đại số =\u003e mục đích để giảm cognitive load - aka một cái workaround. Chính cái workaround này khiến sự việc tệ đi - không hiểu bản chất của xác suất từ đầu. ","tags":["journal"],"title":"2025-09-16","type":"post"},{"authors":null,"categories":null,"content":" Note [[Book - Getting Things Done]] key notes. Commitment management (expectation management). First of all, if it’s on your mind, your mind isn’t clear. Anything you consider unfinished in any way must be captured in a trusted system outside your mind =\u0026gt; from that you can come back to regularly and sort through. Done DONE Check for Simon https://holistics.slack.com/archives/C07JKMWBF7G/p1757675453842069?thread_ts=1757326032.949539\u0026amp;cid=C07JKMWBF7G ","date":1757894400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2f9e98393121e54fd20d4e9d6c2dc465","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-15/","publishdate":"2025-09-15T00:00:00Z","relpermalink":"/post/journals/2025-09-15/","section":"post","summary":" Note [[Book - Getting Things Done]] key notes. Commitment management (expectation management). First of all, if it’s on your mind, your mind isn’t clear. Anything you consider unfinished in any way must be captured in a trusted system outside your mind =\u003e from that you can come back to regularly and sort through. Done DONE Check for Simon https://holistics.slack.com/archives/C07JKMWBF7G/p1757675453842069?thread_ts=1757326032.949539\u0026cid=C07JKMWBF7G ","tags":["journal"],"title":"2025-09-15","type":"post"},{"authors":null,"categories":null,"content":"Note Today I ran across this article: https://addyosmani.com/blog/chrome-17th/\nTL;DR: Documentation about the history of Chrome Browser. I think it’s interesting, then ask claude to review, who should read and when to read. Claude’s answer: This is a comprehensive technical memoir by Addy Osmani, a Chrome team member at Google, chronicling Chrome’s 17-year evolution through its four core principles: speed, security, stability, and simplicity. Primary Audience: Web developers and engineers - Deep technical insights into browser architecture, web APIs, and platform evolution. Product managers in tech - Strategic decisions behind Chrome’s feature development and market positioning. Browser/web technology enthusiasts - Insider perspective on major innovations like multi-process architecture, V8 engine, Site Isolation. Ideal Timing: During technical research - When studying browser architecture, web security, or performance optimization. Career preparation - Before interviews at browser companies or web platform roles. Learning web standards - When diving into PWAs, Web APIs, or Project Fugu capabilities. Understanding AI integration - Current insights into browser AI features and local ML models. So I wonder, this may not the good time to read right now. How can I create a reminder to remind me when the better time comes? https://bevel.work/blog/just-enough-automation/\nDoing it manually may help understand the process, while automating helps improve technical skills. https://www.lesswrong.com/bestoflesswrong?year=all\u0026amp;category=all\nPretty interesting heatmap, displays show frequently I read/write (in short, create activity) -\u0026gt; will add it to [[New idea for my blog lelouvincx.github.io]] Another great website: https://nodaysoff.run/\nDone DONE [[Article - Just Enough Automation]] DONE Tải chatgpt desktop và thử dùng với MCP\n","date":1757721600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"737f5ce9766ac8fc90ac84d1f156d0e7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-13/","publishdate":"2025-09-13T00:00:00Z","relpermalink":"/post/journals/2025-09-13/","section":"post","summary":"Note Today I ran across this article: https://addyosmani.com/blog/chrome-17th/\nTL;DR: Documentation about the history of Chrome Browser. I think it’s interesting, then ask claude to review, who should read and when to read. Claude’s answer: This is a comprehensive technical memoir by Addy Osmani, a Chrome team member at Google, chronicling Chrome’s 17-year evolution through its four core principles: speed, security, stability, and simplicity. Primary Audience: Web developers and engineers - Deep technical insights into browser architecture, web APIs, and platform evolution. Product managers in tech - Strategic decisions behind Chrome’s feature development and market positioning. Browser/web technology enthusiasts - Insider perspective on major innovations like multi-process architecture, V8 engine, Site Isolation. Ideal Timing: During technical research - When studying browser architecture, web security, or performance optimization. Career preparation - Before interviews at browser companies or web platform roles. Learning web standards - When diving into PWAs, Web APIs, or Project Fugu capabilities. Understanding AI integration - Current insights into browser AI features and local ML models. So I wonder, this may not the good time to read right now. How can I create a reminder to remind me when the better time comes? https://bevel.work/blog/just-enough-automation/\n","tags":["journal"],"title":"2025-09-13","type":"post"},{"authors":null,"categories":null,"content":"Note Think about run evaluate against a context-enriched dataset vs. a raw dataset.\nNhà sách Cá Chép sắp dừng hoạt động. Tranh thủ có giảm giá 80%, mình ra mua vài cuốn, đồng thời ra nhìn nhà sách lần cuối trước khi đóng cửa.\nDone DONE Lên trường hỏi nộp lệ phí tốt nghiệp DONE Double-check tests cases again\nDONE Answer Simon\n","date":1757635200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6a5fe2464e0b51f94c0a6079e1afb861","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-12/","publishdate":"2025-09-12T00:00:00Z","relpermalink":"/post/journals/2025-09-12/","section":"post","summary":"Note Think about run evaluate against a context-enriched dataset vs. a raw dataset.\nNhà sách Cá Chép sắp dừng hoạt động. Tranh thủ có giảm giá 80%, mình ra mua vài cuốn, đồng thời ra nhìn nhà sách lần cuối trước khi đóng cửa.\nDone DONE Lên trường hỏi nộp lệ phí tốt nghiệp DONE Double-check tests cases again\nDONE Answer Simon\n","tags":["journal"],"title":"2025-09-12","type":"post"},{"authors":null,"categories":null,"content":"Note Silence like water - the idea from [[Book - Getting Things Done]]\nhttps://chatgpt.com/c/68c2f1bd-db54-832a-9a37-6c2a11dd0501 Building concentration is like building muscle - the more train, the stronger it gets. I’ll get started with going from bottom-up to get the basic mental model. When I get used to it I will learn the harder levels. Goals: Train awareness, notice distracting factors, gently bring the mind back. How good enough should I move on the next exercise? Very basic methods: Build basic attention + awareness of distraction: [[Breath Counting]] Build visual focus: [[Single Object Focus - Just Observe]] Build auditory focus: [[Sound Anchoring]] Done DONE Review \u0026amp; refine questions\n100-110.\n111-120.\n121-130.\n131-140.\nDONE Braintrust research ","date":1757548800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1b6a0b521066061a1d83174616a798cf","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-11/","publishdate":"2025-09-11T00:00:00Z","relpermalink":"/post/journals/2025-09-11/","section":"post","summary":"Note Silence like water - the idea from [[Book - Getting Things Done]]\nhttps://chatgpt.com/c/68c2f1bd-db54-832a-9a37-6c2a11dd0501 Building concentration is like building muscle - the more train, the stronger it gets. I’ll get started with going from bottom-up to get the basic mental model. When I get used to it I will learn the harder levels. Goals: Train awareness, notice distracting factors, gently bring the mind back. How good enough should I move on the next exercise? Very basic methods: Build basic attention + awareness of distraction: [[Breath Counting]] Build visual focus: [[Single Object Focus - Just Observe]] Build auditory focus: [[Sound Anchoring]] Done DONE Review \u0026 refine questions\n","tags":["journal"],"title":"2025-09-11","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Review (questions + evidence) and inform anh Dat\nDONE Answer review PR DAT-449\nDONE Review dataset setup for Mawave\n","date":1757462400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"59912b18fb6be3cb6ff5726036bf62e0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-10/","publishdate":"2025-09-10T00:00:00Z","relpermalink":"/post/journals/2025-09-10/","section":"post","summary":"Done DONE Review (questions + evidence) and inform anh Dat\nDONE Answer review PR DAT-449\nDONE Review dataset setup for Mawave\n","tags":["journal"],"title":"2025-09-10","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Chụp ảnh thẻ: 2 ảnh 3x4 DONE Photo + công chứng bằng cấp 3\nDONE Nộp hồ sơ xét tốt nghiệp\n","date":1757376e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"315ce05062e8040d31e78bcb1ce8ecef","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-09/","publishdate":"2025-09-09T00:00:00Z","relpermalink":"/post/journals/2025-09-09/","section":"post","summary":" Done DONE Chụp ảnh thẻ: 2 ảnh 3x4 DONE Photo + công chứng bằng cấp 3\nDONE Nộp hồ sơ xét tốt nghiệp\n","tags":["journal"],"title":"2025-09-09","type":"post"},{"authors":null,"categories":null,"content":"Note https://www.metabase.com/data-stack-report-2025\nThe interesting thing of this is that they include embedded visualization, implicitly promote their embedded analytics feature. 🤔 Don’t know how high interaction and target readers of this kind of article. https://bbycroft.net/llm\nPretty cool LLM inference’s visualization. Education is not the learning of facts but the training of the mind to think. ~ Albert Einstein\nhttps://share.google/aimode/I5Nx95BpXewJrNQrv\nMain thinking skills: Critical thinking. Problem solving. Analytics thinking. Education is what remains after one has forgotten what one has learned in school.\nMình nghĩ thỉnh thoảng nên dành ra 1 ngày off để học những kiến thức như thế này.\nDone DONE Review and refine questions (separate list/rank most-least) + refactor field evidence\n1-10.\n11-20.\n21-30.\n31-40.\n41-50.\n51-64.\nDONE Review single_model vs cross_model\nDONE Tính toán chi tiêu tháng\n","date":1757289600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cf4433f0e90a8423f4d8d73455a2d5ae","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-08/","publishdate":"2025-09-08T00:00:00Z","relpermalink":"/post/journals/2025-09-08/","section":"post","summary":"Note https://www.metabase.com/data-stack-report-2025\nThe interesting thing of this is that they include embedded visualization, implicitly promote their embedded analytics feature. 🤔 Don’t know how high interaction and target readers of this kind of article. https://bbycroft.net/llm\nPretty cool LLM inference’s visualization. Education is not the learning of facts but the training of the mind to think. ~ Albert Einstein\nhttps://share.google/aimode/I5Nx95BpXewJrNQrv\nMain thinking skills: Critical thinking. Problem solving. Analytics thinking. Education is what remains after one has forgotten what one has learned in school.\n","tags":["journal"],"title":"2025-09-08","type":"post"},{"authors":null,"categories":null,"content":" Note https://minds.md/zakirullin/cognitive But what’s worse? When you come back later you would have to recreate that thought process. School courses are design going step by step is to reduce the burst of cognitive load from day one. What I am teaching is letting them know all from the start. Is it good? Another metric to measure productivity (beside priority): cognitive load? ","date":1757116800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1a6a5e9d4528560698e40a879bb97c95","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-06/","publishdate":"2025-09-06T00:00:00Z","relpermalink":"/post/journals/2025-09-06/","section":"post","summary":" Note https://minds.md/zakirullin/cognitive But what’s worse? When you come back later you would have to recreate that thought process. School courses are design going step by step is to reduce the burst of cognitive load from day one. What I am teaching is letting them know all from the start. Is it good? Another metric to measure productivity (beside priority): cognitive load? ","tags":["journal"],"title":"2025-09-06","type":"post"},{"authors":null,"categories":null,"content":"Note https://www.seangoedecke.com/the-simplest-thing-that-could-possibly-work/ System design requires a lot of different tools: backend, frontend, database, cache, proxy, queue, etc. As they gain more familiarity with these tools, juniors naturally want to add them up. To them, it’s fun to construct systems out of many different components - feels satisfying to place lego blocks on a whiteboard - like they are doing real engineering. Have you ever thought something like “oh, I didn’t realize the problem was that easy” or “oh nice, you don’t actually have to do anything difficult”. The industry-standard Rails REST API is great software design, because it gives you exactly what you need for a CRUD app in the most boring way possible. I don’t think any of these are impressive software. But they’re impressive feats of design, because they do the simplest thing that could possibly work. Start with the absolute simplest thing, and then only extend it when you have new requirements that force you to. When you’re looking at a problem, the first few solutions that come to mind are unlikely the simplest one. Figuring out the simplest solution requires considering many different approaches. In other words, it requires doing engineering. What is “doing engineering” actually? Kim chỉ nam: Simple systems are stable. 2 ways to develop software: The first is to predict what your requirements might look like six months or a year from now, and then design the best system for that purpose. The second is to design the best system for current requirements. Everything should be made as simple as possible, but not simpler. ~ Einstein\nDone DONE Review and refine questions (separate list/rank most-least) + refactor field evidence\n65-70.\n71-80.\n81-90.\n91-100.\nDONE Note lại book reviews ","date":1756944e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4ba956a240b1e1e6290dad49d33e6587","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-04/","publishdate":"2025-09-04T00:00:00Z","relpermalink":"/post/journals/2025-09-04/","section":"post","summary":"Note https://www.seangoedecke.com/the-simplest-thing-that-could-possibly-work/ System design requires a lot of different tools: backend, frontend, database, cache, proxy, queue, etc. As they gain more familiarity with these tools, juniors naturally want to add them up. To them, it’s fun to construct systems out of many different components - feels satisfying to place lego blocks on a whiteboard - like they are doing real engineering. Have you ever thought something like “oh, I didn’t realize the problem was that easy” or “oh nice, you don’t actually have to do anything difficult”. The industry-standard Rails REST API is great software design, because it gives you exactly what you need for a CRUD app in the most boring way possible. I don’t think any of these are impressive software. But they’re impressive feats of design, because they do the simplest thing that could possibly work. Start with the absolute simplest thing, and then only extend it when you have new requirements that force you to. When you’re looking at a problem, the first few solutions that come to mind are unlikely the simplest one. Figuring out the simplest solution requires considering many different approaches. In other words, it requires doing engineering. What is “doing engineering” actually? Kim chỉ nam: Simple systems are stable. 2 ways to develop software: The first is to predict what your requirements might look like six months or a year from now, and then design the best system for that purpose. The second is to design the best system for current requirements. Everything should be made as simple as possible, but not simpler. ~ Einstein\n","tags":["journal"],"title":"2025-09-04","type":"post"},{"authors":null,"categories":null,"content":"Note Làm cái nào thì xong cái đó, done is better than perfect.\nKhông để task bị dồn ứ quá nhiều task, trừ khi bị pending/blocking bởi người khác. Done DONE Nộp lại yêu cầu trích lục khai sinh DONE Raise issue with a Dat to fix the tenant’s version displays AI Enabled\nDONE Review \u0026amp; pause failure emails for a Khai\nDONE Answer chi Vy\nDONE Log debugging and tag anh Nui to slack\n","date":1756857600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"84a9ac71d138d01fbbb2ac56a92183b1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-03/","publishdate":"2025-09-03T00:00:00Z","relpermalink":"/post/journals/2025-09-03/","section":"post","summary":"Note Làm cái nào thì xong cái đó, done is better than perfect.\nKhông để task bị dồn ứ quá nhiều task, trừ khi bị pending/blocking bởi người khác. Done DONE Nộp lại yêu cầu trích lục khai sinh DONE Raise issue with a Dat to fix the tenant’s version displays AI Enabled\nDONE Review \u0026 pause failure emails for a Khai\nDONE Answer chi Vy\nDONE Log debugging and tag anh Nui to slack\n","tags":["journal"],"title":"2025-09-03","type":"post"},{"authors":null,"categories":null,"content":"Note Holistics có 1 kho sách online do các anh chị push lên, đặc biệt là anh Thành.\nGiờ mới hiểu tại sao họ giỏi như vậy.\nAnh Thành là 1 người đáng ngưỡng mộ.\nBook reviews The Design of Everyday Things A seminal work in design theory that argues poor usability isn’t due to user incompetence, but rather design that ignores human psychology and cognitive principles. Norman uses everyday objects—doors, faucets, stoves—to illustrate fundamental design concepts. The Mom Test - Rob Fitzpatrick People lie in customer interviews - not maliciously, but because they want to be helpful and supportive. The “mom test” asks: would your mom give you honest feedback, or just be supportive? Who should read: product managers validating new ideas, early-stage entrepreneurs. Designing Data-Intensive Applications - Martin Kleppmann Comprehensive deep-dive into modern distributed systems architecture. Focus on deep technical problems like distributed data challenges (replication, partitioning, transactions), batch/stream processing, data models, storage engines, encoding. Who should read: senior software engineers, system architects, platform engineers, data engineers. Grokking Simplicity - Eric Normand Functional programming concepts through practical examples, focusing on separating actions, calculations, and data. Who should read: Developers new to functional programming, javascript/typescript. Don’t Think of an Elephant! - George Lakoff Explores how political language shapes thought through cognitive frames and metaphors. Who should read: Anyone interested in political psychology, marketing professionals, educators. Bulletproof Problem Solving - Charles Conn \u0026amp; Robert McLean Presents a structured 7-step approach to tackling complex problems, drawing from McKinsey consulting methods: (1) define the problem (2) disaggregate issues (3) prioritize issues (4) build workplan (5) conduct analysis (6) synthesize findings (7) communicate results. Emphasis on hypothesis-driven thinking. Who should read: analysts, anyone facing complex problems. Helpful for senior data analysts. Getting Things Done - David Allen Presents a productivity system for managing tasks and reducing mental stress through systematic organization. Who should read: Anyone feeling overwhelmed by tasks and commitments. Claude said: this book is less useful for those preferring simple to-do lists over systematic approaches, someone find it too rigid. My thought: is it true? worth reading. A Philosophy of Software Design - John Ousterhout Argues that software complexity is the root of most development problems and presents principles for managing it. Teach principles like Clean Code. Who should read: software engineers/architects. Fundamentals of Data Engineering - Joe Reis \u0026amp; Matt Housley Provides a comprehensive overview of modern data engineering practices and architecture patterns. Need to be familiar with basic software engineering concepts. Who should read: post junior-mid data engineers, software engineers transitioning to data. Now I know it’s time to read this book, at my current level. Storytelling with data - Cole Nussbaumer Knaflic Teaches effective data visualization and communication principles. Actionable design principles, Clear guidelines for chart selection, Practical before/after visualization examples. Who should read: anyone presenting data. The Speed Reading Book - Tony Buzan Teaches techniques to read faster while maintaining comprehension. Who should read: Anyone wanting to read more efficiently. Done DONE Answer duty part 2 DONE Check data import jobs\n","date":1756771200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7d0406e2d6131b87ee8021980863900b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-02/","publishdate":"2025-09-02T00:00:00Z","relpermalink":"/post/journals/2025-09-02/","section":"post","summary":"Note Holistics có 1 kho sách online do các anh chị push lên, đặc biệt là anh Thành.\nGiờ mới hiểu tại sao họ giỏi như vậy.\nAnh Thành là 1 người đáng ngưỡng mộ.\nBook reviews The Design of Everyday Things A seminal work in design theory that argues poor usability isn’t due to user incompetence, but rather design that ignores human psychology and cognitive principles. Norman uses everyday objects—doors, faucets, stoves—to illustrate fundamental design concepts. The Mom Test - Rob Fitzpatrick People lie in customer interviews - not maliciously, but because they want to be helpful and supportive. The “mom test” asks: would your mom give you honest feedback, or just be supportive? Who should read: product managers validating new ideas, early-stage entrepreneurs. Designing Data-Intensive Applications - Martin Kleppmann Comprehensive deep-dive into modern distributed systems architecture. Focus on deep technical problems like distributed data challenges (replication, partitioning, transactions), batch/stream processing, data models, storage engines, encoding. Who should read: senior software engineers, system architects, platform engineers, data engineers. Grokking Simplicity - Eric Normand Functional programming concepts through practical examples, focusing on separating actions, calculations, and data. Who should read: Developers new to functional programming, javascript/typescript. Don’t Think of an Elephant! - George Lakoff Explores how political language shapes thought through cognitive frames and metaphors. Who should read: Anyone interested in political psychology, marketing professionals, educators. Bulletproof Problem Solving - Charles Conn \u0026 Robert McLean Presents a structured 7-step approach to tackling complex problems, drawing from McKinsey consulting methods: (1) define the problem (2) disaggregate issues (3) prioritize issues (4) build workplan (5) conduct analysis (6) synthesize findings (7) communicate results. Emphasis on hypothesis-driven thinking. Who should read: analysts, anyone facing complex problems. Helpful for senior data analysts. Getting Things Done - David Allen Presents a productivity system for managing tasks and reducing mental stress through systematic organization. Who should read: Anyone feeling overwhelmed by tasks and commitments. Claude said: this book is less useful for those preferring simple to-do lists over systematic approaches, someone find it too rigid. My thought: is it true? worth reading. A Philosophy of Software Design - John Ousterhout Argues that software complexity is the root of most development problems and presents principles for managing it. Teach principles like Clean Code. Who should read: software engineers/architects. Fundamentals of Data Engineering - Joe Reis \u0026 Matt Housley Provides a comprehensive overview of modern data engineering practices and architecture patterns. Need to be familiar with basic software engineering concepts. Who should read: post junior-mid data engineers, software engineers transitioning to data. Now I know it’s time to read this book, at my current level. Storytelling with data - Cole Nussbaumer Knaflic Teaches effective data visualization and communication principles. Actionable design principles, Clear guidelines for chart selection, Practical before/after visualization examples. Who should read: anyone presenting data. The Speed Reading Book - Tony Buzan Teaches techniques to read faster while maintaining comprehension. Who should read: Anyone wanting to read more efficiently. Done DONE Answer duty part 2 DONE Check data import jobs\n","tags":["journal"],"title":"2025-09-02","type":"post"},{"authors":null,"categories":null,"content":"Note Happy new month!\nDone DONE Document fixing for dim_tenants DONE Answer Vincent\nDONE Answer duty\nDONE Answer c Vy\nDONE Review Yen\n","date":1756684800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b50a0b3680e5d9f0e5680639f31bbbc8","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-09-01/","publishdate":"2025-09-01T00:00:00Z","relpermalink":"/post/journals/2025-09-01/","section":"post","summary":"Note Happy new month!\nDone DONE Document fixing for dim_tenants DONE Answer Vincent\nDONE Answer duty\nDONE Answer c Vy\nDONE Review Yen\n","tags":["journal"],"title":"2025-09-01","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Gọi bố nhờ lên xã xử lý\nDONE Nộp lại giấy tờ cải chính\nDONE Correct inconsistent schema\nDONE Support Ryan Packer\nDONE Review tracking request\n","date":1756339200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"82a2f15bc3e63523c2c27db4723c9987","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-28/","publishdate":"2025-08-28T00:00:00Z","relpermalink":"/post/journals/2025-08-28/","section":"post","summary":"Done DONE Gọi bố nhờ lên xã xử lý\nDONE Nộp lại giấy tờ cải chính\nDONE Correct inconsistent schema\nDONE Support Ryan Packer\nDONE Review tracking request\n","tags":["journal"],"title":"2025-08-28","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Write 1on1\nDONE Merge and update dataset tagging_system with popover\n","date":1756252800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9387696a8645a8c7601cb3b67e051852","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-27/","publishdate":"2025-08-27T00:00:00Z","relpermalink":"/post/journals/2025-08-27/","section":"post","summary":"Done DONE Write 1on1\nDONE Merge and update dataset tagging_system with popover\n","tags":["journal"],"title":"2025-08-27","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Review test cases again (50%) ","date":1756166400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"98621ebf6bd75271d7d884b780e68797","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-26/","publishdate":"2025-08-26T00:00:00Z","relpermalink":"/post/journals/2025-08-26/","section":"post","summary":" Done DONE Review test cases again (50%) ","tags":["journal"],"title":"2025-08-26","type":"post"},{"authors":null,"categories":null,"content":"Note https://www.reddit.com/r/vibecoding/comments/1myakhd/how_we_vibe_code_at_a_faang/ Always start with a solid design document and architecture. Build from there, always write tests first. It’s not too different from how Holistics currently works. Implies that the best way to “vibe code” is not to vibe code at all. I slowly get out of the thinking that AI can plan and code 100% without human intervention. Looking back at my thesis, which was 100% AI-generated, is totally trash. Done DONE Write document for total_items in mart_product__tenant_features_usage_monthly ","date":175608e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"669d27b9eb8ac21e5a85bfb65f8967ef","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-25/","publishdate":"2025-08-25T00:00:00Z","relpermalink":"/post/journals/2025-08-25/","section":"post","summary":"Note https://www.reddit.com/r/vibecoding/comments/1myakhd/how_we_vibe_code_at_a_faang/ Always start with a solid design document and architecture. Build from there, always write tests first. It’s not too different from how Holistics currently works. Implies that the best way to “vibe code” is not to vibe code at all. I slowly get out of the thinking that AI can plan and code 100% without human intervention. Looking back at my thesis, which was 100% AI-generated, is totally trash. Done DONE Write document for total_items in mart_product__tenant_features_usage_monthly ","tags":["journal"],"title":"2025-08-25","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Add dbt model for event tracking tagging system\nDONE Collect AI issue\n","date":1755820800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cb01ffdc11fa0e4897a862a867969d37","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-22/","publishdate":"2025-08-22T00:00:00Z","relpermalink":"/post/journals/2025-08-22/","section":"post","summary":"Done DONE Add dbt model for event tracking tagging system\nDONE Collect AI issue\n","tags":["journal"],"title":"2025-08-22","type":"post"},{"authors":null,"categories":null,"content":"Done DONE PR review https://github.com/holistics/prefect/pull/338 ","date":1755734400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8c3424b420154eb72cc3c18bbe4e70a3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-21/","publishdate":"2025-08-21T00:00:00Z","relpermalink":"/post/journals/2025-08-21/","section":"post","summary":"Done DONE PR review https://github.com/holistics/prefect/pull/338 ","tags":["journal"],"title":"2025-08-21","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Xin bản sao trích lục giấy khai sinh ","date":1755475200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ae65fefb7136e3e1dd17358bc0458d38","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-18/","publishdate":"2025-08-18T00:00:00Z","relpermalink":"/post/journals/2025-08-18/","section":"post","summary":" Done DONE Xin bản sao trích lục giấy khai sinh ","tags":["journal"],"title":"2025-08-18","type":"post"},{"authors":null,"categories":null,"content":" Note Options for providing data to AI: Metadata: titles, labels, descriptions, text blocks, data types, model relationships, formulas, chart settings, AMQL codes, git commit messages. Sample data: Few sampled values of the source database columns. Result data: result data (in form of csv or images) of the generated chart. Done DONE Fix wrong tests ","date":1755216e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"eecf797c18fab16b64bee188f329a690","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-15/","publishdate":"2025-08-15T00:00:00Z","relpermalink":"/post/journals/2025-08-15/","section":"post","summary":" Note Options for providing data to AI: Metadata: titles, labels, descriptions, text blocks, data types, model relationships, formulas, chart settings, AMQL codes, git commit messages. Sample data: Few sampled values of the source database columns. Result data: result data (in form of csv or images) of the generated chart. Done DONE Fix wrong tests ","tags":["journal"],"title":"2025-08-15","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Fix wrong AQL in tests ","date":1755129600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b6aa824e65516801989c2b55e61e549d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-14/","publishdate":"2025-08-14T00:00:00Z","relpermalink":"/post/journals/2025-08-14/","section":"post","summary":" Done DONE Fix wrong AQL in tests ","tags":["journal"],"title":"2025-08-14","type":"post"},{"authors":null,"categories":null,"content":" Note https://openai.com/index/introducing-swe-bench-verified/ Revise the goals of benchmarking: P1 Internal: Track our AI’s improvement. P1 External: Communicate (firstly with internal Holistics stakeholders: Sales team, Product team; then with prospects \u0026amp; customers). This is divided into many tasks: Creating test cases - I’m working on this. Evaluation method. Evaluation pipeline. Presenting evaluation result. Goal of creating test suite for benchmarking: Make a gold standard for evaluating agents’ ability to work with data-related business problems, rather than generating SQL/AQL snippets (like text-to-sql models do). Have a measurable way to indicate how good our AI is (in aspect of better support analytics techniques - running total, percent of total, trend analysis; reduce lines of code) that correlate with real data analyst productivity. Ease of comparing Holistics’s AI with chatgpt, text-to-SQL models, or competitors (?). Identify capability gaps (where all agents fail). Expected one-line pitch: Our latest AI agent can now successfully handle 95% of common analytical patterns like Period-over-Period comparisons and 85% of complex multi-step Cohort analyses, representing a 20% quarterly improvement in advanced analytical support, according to our benchmark dataset.\nDone DONE Run mock server to fix AQL queries ","date":1754956800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d34461bebeb29907590f91ebc2f6ebd2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-12/","publishdate":"2025-08-12T00:00:00Z","relpermalink":"/post/journals/2025-08-12/","section":"post","summary":" Note https://openai.com/index/introducing-swe-bench-verified/ Revise the goals of benchmarking: P1 Internal: Track our AI’s improvement. P1 External: Communicate (firstly with internal Holistics stakeholders: Sales team, Product team; then with prospects \u0026 customers). This is divided into many tasks: Creating test cases - I’m working on this. Evaluation method. Evaluation pipeline. Presenting evaluation result. Goal of creating test suite for benchmarking: Make a gold standard for evaluating agents’ ability to work with data-related business problems, rather than generating SQL/AQL snippets (like text-to-sql models do). Have a measurable way to indicate how good our AI is (in aspect of better support analytics techniques - running total, percent of total, trend analysis; reduce lines of code) that correlate with real data analyst productivity. Ease of comparing Holistics’s AI with chatgpt, text-to-SQL models, or competitors (?). Identify capability gaps (where all agents fail). Expected one-line pitch: Our latest AI agent can now successfully handle 95% of common analytical patterns like Period-over-Period comparisons and 85% of complex multi-step Cohort analyses, representing a 20% quarterly improvement in advanced analytical support, according to our benchmark dataset.\n","tags":["journal"],"title":"2025-08-12","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Tìm bằng tốt nghiệp cấp 3\nDONE Test for window functions (50%)\nDONE Fill 10 AQL in existing tests\nDONE Review https://github.com/holistics/dbt/pull/794\n","date":1754870400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b948cff0886ecdb209014035874d4dea","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-11/","publishdate":"2025-08-11T00:00:00Z","relpermalink":"/post/journals/2025-08-11/","section":"post","summary":"Done DONE Tìm bằng tốt nghiệp cấp 3\nDONE Test for window functions (50%)\nDONE Fill 10 AQL in existing tests\nDONE Review https://github.com/holistics/dbt/pull/794\n","tags":["journal"],"title":"2025-08-11","type":"post"},{"authors":null,"categories":null,"content":" Note eliot-jones.com Beautiful because it’s simple, light, and focus on the content. Love it. Also https://bytemash.net/posts/i-went-down-the-linear-rabbit-hole ","date":1754784e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3a935e8f56f49a0d731be5f128de8b29","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-10/","publishdate":"2025-08-10T00:00:00Z","relpermalink":"/post/journals/2025-08-10/","section":"post","summary":" Note eliot-jones.com Beautiful because it’s simple, light, and focus on the content. Love it. Also https://bytemash.net/posts/i-went-down-the-linear-rabbit-hole ","tags":["journal"],"title":"2025-08-10","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Window funcs (moving calculation) (50%)\nDONE Review PR DAT-232 https://github.com/holistics/prefect/pull/342\nDONE Re-prioritize metrics + tell Hien\n","date":1754524800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6e559bb7bbfdbe561586f690afb53301","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-07/","publishdate":"2025-08-07T00:00:00Z","relpermalink":"/post/journals/2025-08-07/","section":"post","summary":"Done DONE Window funcs (moving calculation) (50%)\nDONE Review PR DAT-232 https://github.com/holistics/prefect/pull/342\nDONE Re-prioritize metrics + tell Hien\n","tags":["journal"],"title":"2025-08-07","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Sửa nốt và đưa cho Nhân, hoàn thiện trong ngày\nDONE Build dataset\nDONE Support superbexperience on a custom waterfall chart\n","date":1754352e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f255f95863488525acc04890ce7a8ce7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-05/","publishdate":"2025-08-05T00:00:00Z","relpermalink":"/post/journals/2025-08-05/","section":"post","summary":"Done DONE Sửa nốt và đưa cho Nhân, hoàn thiện trong ngày\nDONE Build dataset\nDONE Support superbexperience on a custom waterfall chart\n","tags":["journal"],"title":"2025-08-05","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Data modeling - Tracking Request\nRe-model to factless table. Fix key conflict by adding new intermediate model dim_as_code_objects. DONE Update SQL queries to Postgres dialect\nDONE Reply clark at hometime\n","date":1754265600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3517d0b1536418e3aa62348204ec79cb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-04/","publishdate":"2025-08-04T00:00:00Z","relpermalink":"/post/journals/2025-08-04/","section":"post","summary":"Done DONE Data modeling - Tracking Request\nRe-model to factless table. Fix key conflict by adding new intermediate model dim_as_code_objects. DONE Update SQL queries to Postgres dialect\nDONE Reply clark at hometime\n","tags":["journal"],"title":"2025-08-04","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Data modeling - Tracking Request\nTest all models. Complete PR. DONE Update SQL queries to Postgres dialect\nDONE Review PR break down tracking for Hieu\n","date":1754006400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"941126f5233c25c1387841c00027bb6d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-08-01/","publishdate":"2025-08-01T00:00:00Z","relpermalink":"/post/journals/2025-08-01/","section":"post","summary":"Done DONE Data modeling - Tracking Request\nTest all models. Complete PR. DONE Update SQL queries to Postgres dialect\nDONE Review PR break down tracking for Hieu\n","tags":["journal"],"title":"2025-08-01","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Build model dim_as_code_objects\nDONE Review running_total issue\nDONE Reply Sasha\nDONE Review Hieu’s event tracking for break down\nDONE Cập nhật địa chỉ mới\n","date":175392e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7e808b0b26251cd017012d772da9db90","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-31/","publishdate":"2025-07-31T00:00:00Z","relpermalink":"/post/journals/2025-07-31/","section":"post","summary":"Done DONE Build model dim_as_code_objects\nDONE Review running_total issue\nDONE Reply Sasha\nDONE Review Hieu’s event tracking for break down\nDONE Cập nhật địa chỉ mới\n","tags":["journal"],"title":"2025-07-31","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Update shared dashboard template into all internal tenants\nDONE Data modeling - Tracking Request\nBuild model dim_tags. Add field tags into model dim_dashboards. DONE Troubleshoot with Sasha\nDONE Update the estimated timeline\n","date":1753833600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"765dac8edde1d1601d361c5205401b42","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-30/","publishdate":"2025-07-30T00:00:00Z","relpermalink":"/post/journals/2025-07-30/","section":"post","summary":"Done DONE Update shared dashboard template into all internal tenants\nDONE Data modeling - Tracking Request\nBuild model dim_tags. Add field tags into model dim_dashboards. DONE Troubleshoot with Sasha\nDONE Update the estimated timeline\n","tags":["journal"],"title":"2025-07-30","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Time intelligence funcs (check lại generated answer) DONE Đưa Linh đi khám\nDONE Lấy giấy xác nhận cho Hoàng\n","date":1753747200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"867de9adc8376cc887611a0d92296cbc","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-29/","publishdate":"2025-07-29T00:00:00Z","relpermalink":"/post/journals/2025-07-29/","section":"post","summary":" Done DONE Time intelligence funcs (check lại generated answer) DONE Đưa Linh đi khám\nDONE Lấy giấy xác nhận cho Hoàng\n","tags":["journal"],"title":"2025-07-29","type":"post"},{"authors":null,"categories":null,"content":" Note https://addyosmani.com/blog/ai-evals/ Baseline evaluation: firstly create a test suite and evaluate it to have a baseline score. Analyze failures: treat the failure like bug reports, then iterate one by one to improve. Propose improvement. Re-evaluate. Repeat. Done DONE Update tags for 100 test cases =\u0026gt; list available + missing tags ","date":1753660800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b1eea03fb92e75285542fdd8821ae200","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-28/","publishdate":"2025-07-28T00:00:00Z","relpermalink":"/post/journals/2025-07-28/","section":"post","summary":" Note https://addyosmani.com/blog/ai-evals/ Baseline evaluation: firstly create a test suite and evaluate it to have a baseline score. Analyze failures: treat the failure like bug reports, then iterate one by one to improve. Propose improvement. Re-evaluate. Repeat. Done DONE Update tags for 100 test cases =\u003e list available + missing tags ","tags":["journal"],"title":"2025-07-28","type":"post"},{"authors":null,"categories":null,"content":"Note Ngầu vl, blog copy giao diện của github. Mình sẽ đổi lelouvincx.com sang giao diện này, và bắt đầu nghĩ tới chuyện trở thành 1 technical writer. Done DONE Design modeling schema (dim + fact) ","date":1753315200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"591b2f71e08eb6a793b5214a4413a243","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-24/","publishdate":"2025-07-24T00:00:00Z","relpermalink":"/post/journals/2025-07-24/","section":"post","summary":"Note Ngầu vl, blog copy giao diện của github. Mình sẽ đổi lelouvincx.com sang giao diện này, và bắt đầu nghĩ tới chuyện trở thành 1 technical writer. Done DONE Design modeling schema (dim + fact) ","tags":["journal"],"title":"2025-07-24","type":"post"},{"authors":null,"categories":null,"content":"Note Khi một cái gọi là workaround thì có nghĩa nó có nhiều drawbacks hơn 1 cách khác.\nDone DONE Trụ nổi sáng nay weekly + performance review DONE Reply Sriram and Vincent about the discrepancy\nDONE Move đám metrics + performance review về as-code\nDONE Update AI team weekly\nDONE Review DAT-232\n","date":1753228800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ebec0ba67306a7babe3dc190804bd610","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-23/","publishdate":"2025-07-23T00:00:00Z","relpermalink":"/post/journals/2025-07-23/","section":"post","summary":"Note Khi một cái gọi là workaround thì có nghĩa nó có nhiều drawbacks hơn 1 cách khác.\nDone DONE Trụ nổi sáng nay weekly + performance review DONE Reply Sriram and Vincent about the discrepancy\nDONE Move đám metrics + performance review về as-code\nDONE Update AI team weekly\nDONE Review DAT-232\n","tags":["journal"],"title":"2025-07-23","type":"post"},{"authors":null,"categories":null,"content":"Note About estimating cost for releasing auto-generated metadata \u0026amp; commit.\nContext:\nAI squad will release the features auto-generated dataset/data model metadata and auto-generated commits. Offer these free (because it benefit our product). The need to estimate the cost margin we have to pay OpenAI (I’m not sure about this metric, can be improved). The cost will be pretty small (\u0026lt;= $5) to care about. From data side, this task isn’t worth doing because too small ROI. I suggest if we want to measure (and estimate) cost, let’s consider an LLM observability \u0026amp; tracing system. Done DONE Check again the table Career Ladder DONE Outline the presentation and scripts\nDONE Do the presentation\nDONE Update data team weekly\nDONE Complete document - Zoho MRR discrepancy\nDONE C Phuong requests to estimate cost for beta feature\nDONE Answer c Phuong for the calculation\nDONE Add fields to report - qoala\n","date":1753142400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3f73c584b6c5066e8a266a5fb99fa92e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-22/","publishdate":"2025-07-22T00:00:00Z","relpermalink":"/post/journals/2025-07-22/","section":"post","summary":"Note About estimating cost for releasing auto-generated metadata \u0026 commit.\nContext:\nAI squad will release the features auto-generated dataset/data model metadata and auto-generated commits. Offer these free (because it benefit our product). The need to estimate the cost margin we have to pay OpenAI (I’m not sure about this metric, can be improved). The cost will be pretty small (\u003c= $5) to care about. From data side, this task isn’t worth doing because too small ROI. I suggest if we want to measure (and estimate) cost, let’s consider an LLM observability \u0026 tracing system. Done DONE Check again the table Career Ladder DONE Outline the presentation and scripts\n","tags":["journal"],"title":"2025-07-22","type":"post"},{"authors":null,"categories":null,"content":"Note Holistics sharing - famous programmers share their development experience with AI (rảnh thì vô đọc): https://www.notion.so/holistics/Applying-AI-in-development-sharing-225f89dc7e49808e8f28cebc65b6811d\nUnderstands all basic chart types and when to use them.\nBased on carrier ladder, I can practice in sandbox mode to improve my skills.\nDo weekly practice:\n“Business Question of the Week” exercise. Business Translation Playbook 😼. Done DONE Self review DONE Transfer test cases from existing car_retails testsuite\nDONE Review https://github.com/holistics/prefect/pull/342\n","date":1753056e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ea8ced6ab5363f62d49314f0294a4acd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-21/","publishdate":"2025-07-21T00:00:00Z","relpermalink":"/post/journals/2025-07-21/","section":"post","summary":"Note Holistics sharing - famous programmers share their development experience with AI (rảnh thì vô đọc): https://www.notion.so/holistics/Applying-AI-in-development-sharing-225f89dc7e49808e8f28cebc65b6811d\nUnderstands all basic chart types and when to use them.\nBased on carrier ladder, I can practice in sandbox mode to improve my skills.\nDo weekly practice:\n“Business Question of the Week” exercise. Business Translation Playbook 😼. Done DONE Self review DONE Transfer test cases from existing car_retails testsuite\nDONE Review https://github.com/holistics/prefect/pull/342\n","tags":["journal"],"title":"2025-07-21","type":"post"},{"authors":null,"categories":null,"content":" Note The Speed Reading Book: Mình nghĩ thế giới tương lai sẽ có phần giống trong Dune, khi người ta cấm robot và trí tuệ nhân tạo, đồng thời đề cao nâng cao năng lực của bộ não con người, như các thuật của Bene Gesserit. Cuốn này mình đã định đọc từ lâu nhưng trì hoãn, đợt này tốt nghiệp rảnh rồi, mình sẽ đọc và thực hành. TBU. ","date":1752969600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4d8438434a1fdfd78caa8e80a04d18b6","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-20/","publishdate":"2025-07-20T00:00:00Z","relpermalink":"/post/journals/2025-07-20/","section":"post","summary":" Note The Speed Reading Book: Mình nghĩ thế giới tương lai sẽ có phần giống trong Dune, khi người ta cấm robot và trí tuệ nhân tạo, đồng thời đề cao nâng cao năng lực của bộ não con người, như các thuật của Bene Gesserit. Cuốn này mình đã định đọc từ lâu nhưng trì hoãn, đợt này tốt nghiệp rảnh rồi, mình sẽ đọc và thực hành. TBU. ","tags":["journal"],"title":"2025-07-20","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Hand over tracking Break Down to Hieu ","date":1752624e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6f378a6e7886c61441230f8758ee8e73","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-16/","publishdate":"2025-07-16T00:00:00Z","relpermalink":"/post/journals/2025-07-16/","section":"post","summary":"Done DONE Hand over tracking Break Down to Hieu ","tags":["journal"],"title":"2025-07-16","type":"post"},{"authors":null,"categories":null,"content":"Note Một ảnh hưởng tích cực của các công cụ LLM Coding mà mình nhận ra là nó có thể giúp tăng tốc độ phát triển side projects/small startups. Code càng ngày càng rẻ hơn và chi phí cho việc plan/bảo trì/bug fixing mới là thứ đáng giá.\nDone DONE Lên plan timeline cho Amya DONE Write review for a Triet\n","date":1752537600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b72c32655cb285d12c90ac266255ea77","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-15/","publishdate":"2025-07-15T00:00:00Z","relpermalink":"/post/journals/2025-07-15/","section":"post","summary":"Note Một ảnh hưởng tích cực của các công cụ LLM Coding mà mình nhận ra là nó có thể giúp tăng tốc độ phát triển side projects/small startups. Code càng ngày càng rẻ hơn và chi phí cho việc plan/bảo trì/bug fixing mới là thứ đáng giá.\nDone DONE Lên plan timeline cho Amya DONE Write review for a Triet\n","tags":["journal"],"title":"2025-07-15","type":"post"},{"authors":null,"categories":null,"content":"Note https://spiess.dev/blog/how-i-use-claude-code\nOne inline prompt to directly get the result: claude -p \u0026#34;your question\u0026#34;. Can create alias to auto-generated git commit message like: claude -p \u0026#34;Look at the staged git changes and create a summarizing git commit title following conventional commits. Only respond with the title and no affirmation.\u0026#34;. When I see something go wrong, press Escape immediately and edit the prompt. Hidden command: /terminal-setup. Can paste an image directly by copy paste. Press escape twice and edit the previous prompt. Done DONE Write review for Hieu and Dong DONE Find out how Zoho billing calculates 315 active customers\nDONE Find out how we calculate active customers\n","date":1752451200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e35c6f11d332a43e29377a2929ddea92","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-14/","publishdate":"2025-07-14T00:00:00Z","relpermalink":"/post/journals/2025-07-14/","section":"post","summary":"Note https://spiess.dev/blog/how-i-use-claude-code\nOne inline prompt to directly get the result: claude -p \"your question\". Can create alias to auto-generated git commit message like: claude -p \"Look at the staged git changes and create a summarizing git commit title following conventional commits. Only respond with the title and no affirmation.\". When I see something go wrong, press Escape immediately and edit the prompt. Hidden command: /terminal-setup. Can paste an image directly by copy paste. Press escape twice and edit the previous prompt. Done DONE Write review for Hieu and Dong DONE Find out how Zoho billing calculates 315 active customers\n","tags":["journal"],"title":"2025-07-14","type":"post"},{"authors":null,"categories":null,"content":"Note Tagging system:\nCheck lai trong code search còn track không. Track at tenant-wise only. Chia priority of tracked metrics. Supervisor Agent: Orchestrates workflow and escalates edge cases.\nSpecialized Sub-agents: Sourcing, screening, engagement, compliance.\nHuman-in-the-Loop Triggers: Strategic intervention points for quality control.\nFocus on augmenting human recruiters by automating top-of-funnel screening while ensuring viable candidates reach human review.\nDone DONE Check SQL queries generated from the AI DONE Coi màn hình mua cho Linh\n","date":1752105600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"176b1ff0403903ac120aac20b49b5e4f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-10/","publishdate":"2025-07-10T00:00:00Z","relpermalink":"/post/journals/2025-07-10/","section":"post","summary":"Note Tagging system:\nCheck lai trong code search còn track không. Track at tenant-wise only. Chia priority of tracked metrics. Supervisor Agent: Orchestrates workflow and escalates edge cases.\nSpecialized Sub-agents: Sourcing, screening, engagement, compliance.\nHuman-in-the-Loop Triggers: Strategic intervention points for quality control.\nFocus on augmenting human recruiters by automating top-of-funnel screening while ensuring viable candidates reach human review.\nDone DONE Check SQL queries generated from the AI DONE Coi màn hình mua cho Linh\n","tags":["journal"],"title":"2025-07-10","type":"post"},{"authors":null,"categories":null,"content":"Note https://lucumr.pocoo.org/2025/7/3/tools/\nBefore thinking of automating some task with software/AI, ensure that the task works correctly as scale. Goals (the tests should be):\nP1 Cover enough capabilities of our Explore Data AI. From this, we have a sense of: What are advantages. What are disadvantages. What are capabilities that our AI can outperform competitors\u0026#39;. Done DONE Tagging system event tracking DONE Review PR for Hieu\nDONE Handle the schedule issue\n","date":1752019200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e3263bc3df8089f144dfea6de24b50af","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-09/","publishdate":"2025-07-09T00:00:00Z","relpermalink":"/post/journals/2025-07-09/","section":"post","summary":"Note https://lucumr.pocoo.org/2025/7/3/tools/\nBefore thinking of automating some task with software/AI, ensure that the task works correctly as scale. Goals (the tests should be):\nP1 Cover enough capabilities of our Explore Data AI. From this, we have a sense of: What are advantages. What are disadvantages. What are capabilities that our AI can outperform competitors'. Done DONE Tagging system event tracking DONE Review PR for Hieu\nDONE Handle the schedule issue\n","tags":["journal"],"title":"2025-07-09","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Push first 5 tests DONE Review the compiled SQL to see if any errors\n","date":1751932800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c82249b591684418f4f77bd2be393ddd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-08/","publishdate":"2025-07-08T00:00:00Z","relpermalink":"/post/journals/2025-07-08/","section":"post","summary":" Done DONE Push first 5 tests DONE Review the compiled SQL to see if any errors\n","tags":["journal"],"title":"2025-07-08","type":"post"},{"authors":null,"categories":null,"content":" Note Building an eval, which includes a dataset and a choice of evaluation methods. Goal: Structure a process of building evals for Holistics AI. Should be composable with: Multiple datasets. Multiple evaluation methods. Multiple system prompts. Multiple LLMs. Done DONE Check for anh Tien ","date":1751846400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c697e2c7257d009c8fda840e8ae93c70","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-07/","publishdate":"2025-07-07T00:00:00Z","relpermalink":"/post/journals/2025-07-07/","section":"post","summary":" Note Building an eval, which includes a dataset and a choice of evaluation methods. Goal: Structure a process of building evals for Holistics AI. Should be composable with: Multiple datasets. Multiple evaluation methods. Multiple system prompts. Multiple LLMs. Done DONE Check for anh Tien ","tags":["journal"],"title":"2025-07-07","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Review Tram’s doc and make clear understanding with her\nDONE percent_rank for hometime\nDONE Tính tiền dạy python\n","date":1751587200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"63752635a06d6383bbb8d950a7eb9178","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-04/","publishdate":"2025-07-04T00:00:00Z","relpermalink":"/post/journals/2025-07-04/","section":"post","summary":"Done DONE Review Tram’s doc and make clear understanding with her\nDONE percent_rank for hometime\nDONE Tính tiền dạy python\n","tags":["journal"],"title":"2025-07-04","type":"post"},{"authors":null,"categories":null,"content":" Note https://www.john-rush.com/posts/ai-20250701.html Fix inputs, not outputs. Investigate problems: Mismatch in number of customers. Discrepancy in MRR. Problems with current Zoho pipeline: Internal tenants: Vincent Woon + Holistics + Vincent Test + Holistics1 + Test Staging 2 + Holistics Software + Holistics (Vincent) + Holistics - Test - SGD + US Holistics Test + Huy Vu EU Test. Using static exchange rate (e.g exchange rate from SGD to USD is 1.4 while actually 1.27) =\u0026gt; more tax. Exchange rate of some invoices EURO -\u0026gt; SGD is 1.25, while the global config is 1.4. Done DONE Finalize the test suite approach ","date":1751500800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c51f234fdf9cb8193f5e251c9ff2b23d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-03/","publishdate":"2025-07-03T00:00:00Z","relpermalink":"/post/journals/2025-07-03/","section":"post","summary":" Note https://www.john-rush.com/posts/ai-20250701.html Fix inputs, not outputs. Investigate problems: Mismatch in number of customers. Discrepancy in MRR. Problems with current Zoho pipeline: Internal tenants: Vincent Woon + Holistics + Vincent Test + Holistics1 + Test Staging 2 + Holistics Software + Holistics (Vincent) + Holistics - Test - SGD + US Holistics Test + Huy Vu EU Test. Using static exchange rate (e.g exchange rate from SGD to USD is 1.4 while actually 1.27) =\u003e more tax. Exchange rate of some invoices EURO -\u003e SGD is 1.25, while the global config is 1.4. Done DONE Finalize the test suite approach ","tags":["journal"],"title":"2025-07-03","type":"post"},{"authors":null,"categories":null,"content":" Note Goal creating the benchmark: Build trust - show the transparency of AI accuracy. Have a sense of capacity (?). Use this to informally evaluate Holistics AI vs. other tools. https://www.sigmacomputing.com/blog/text-to-sql-data-chat Current common benchmarks like Spider or BIRD is benchmarking for text-to-SQL problem, not the business-question-to-insight problem. Idea: sync common AMQL questions from Zendesk. Done DONE Finalize the test suite approach Read Holistics’s AI Philosophy.\nResearch common/standard GenBI benchmarking methods.\nIf not, go with text-to-SQL.\nWrite document and review with a Dat.\n","date":1751328e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8d81cf60515d1b3d413255098afa8c71","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-07-01/","publishdate":"2025-07-01T00:00:00Z","relpermalink":"/post/journals/2025-07-01/","section":"post","summary":" Note Goal creating the benchmark: Build trust - show the transparency of AI accuracy. Have a sense of capacity (?). Use this to informally evaluate Holistics AI vs. other tools. https://www.sigmacomputing.com/blog/text-to-sql-data-chat Current common benchmarks like Spider or BIRD is benchmarking for text-to-SQL problem, not the business-question-to-insight problem. Idea: sync common AMQL questions from Zendesk. Done DONE Finalize the test suite approach Read Holistics’s AI Philosophy.\nResearch common/standard GenBI benchmarking methods.\n","tags":["journal"],"title":"2025-07-01","type":"post"},{"authors":null,"categories":null,"content":"Note Hôm nay Linh mắng mình, như mọi lần. Đều là về mình. Cách ứng xử, lối sống, phân chia thời gian, và quan trọng nhất là cách nói năng. Mình nghĩ sẽ tốt hơn nếu viết ra đây để mình phải nhớ tới nó mà sửa. Vì lần này đã là lặp lại của rất nhiều lần trước rồi. Mình chưa biết phải nói rõ ràng là sửa cái gì, nhưng mình cũng có hình dung mang máng. Sẽ quay lại update sau.\nhttps://calnewport.com/does-ai-make-us-lazy/\nDone DONE Mask VCR cassettes that contain googleapi with JobID DONE Remove requests_cache - Chargebee\nDONE Wait for Quinn to approve Zoho access\nDONE Answer gemini’s review - Chargebee\n","date":1750896e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"467f240dc4a679b3445a02720be3395b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-26/","publishdate":"2025-06-26T00:00:00Z","relpermalink":"/post/journals/2025-06-26/","section":"post","summary":"Note Hôm nay Linh mắng mình, như mọi lần. Đều là về mình. Cách ứng xử, lối sống, phân chia thời gian, và quan trọng nhất là cách nói năng. Mình nghĩ sẽ tốt hơn nếu viết ra đây để mình phải nhớ tới nó mà sửa. Vì lần này đã là lặp lại của rất nhiều lần trước rồi. Mình chưa biết phải nói rõ ràng là sửa cái gì, nhưng mình cũng có hình dung mang máng. Sẽ quay lại update sau.\n","tags":["journal"],"title":"2025-06-26","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Fix and review progressed PRs\nDONE Update progress in squad AI\n","date":1750809600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1370b7662f584c9ace6276d6b4031e2a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-25/","publishdate":"2025-06-25T00:00:00Z","relpermalink":"/post/journals/2025-06-25/","section":"post","summary":"Done DONE Fix and review progressed PRs\nDONE Update progress in squad AI\n","tags":["journal"],"title":"2025-06-25","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Complete the google sheets sync (waiting for engineer to fix)\nDONE Remove request cache from Zoho Connector\nDONE Coi squad-ai with anh Dat\n","date":1750377600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"302c1cc423ce39c73f4c417fb817e88f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-20/","publishdate":"2025-06-20T00:00:00Z","relpermalink":"/post/journals/2025-06-20/","section":"post","summary":"Done DONE Complete the google sheets sync (waiting for engineer to fix)\nDONE Remove request cache from Zoho Connector\nDONE Coi squad-ai with anh Dat\n","tags":["journal"],"title":"2025-06-20","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Review c. Phuong’s suggestion - Breakdown Tracking\nDONE Ping engineer team to fix RedDoorz schedule\n","date":1750204800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f04562431d59967b9c0fd9b96675375a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-18/","publishdate":"2025-06-18T00:00:00Z","relpermalink":"/post/journals/2025-06-18/","section":"post","summary":"Done DONE Review c. Phuong’s suggestion - Breakdown Tracking\nDONE Ping engineer team to fix RedDoorz schedule\n","tags":["journal"],"title":"2025-06-18","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Fix failed unit tests - Zoho ","date":1750032e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9a8e0221821be6394114aff012d52cdd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-16/","publishdate":"2025-06-16T00:00:00Z","relpermalink":"/post/journals/2025-06-16/","section":"post","summary":"Done DONE Fix failed unit tests - Zoho ","tags":["journal"],"title":"2025-06-16","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Complete the PR to fix cache - Zoho ","date":1749772800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"eb95540a99fe4166d5fb592d596bea98","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-13/","publishdate":"2025-06-13T00:00:00Z","relpermalink":"/post/journals/2025-06-13/","section":"post","summary":"Done DONE Complete the PR to fix cache - Zoho ","tags":["journal"],"title":"2025-06-13","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Share the updated report to customer - RedDoorz\nDONE Reply review Hieu - RedDoorz\nDONE Review document - Financial Demo\n","date":17496e5,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c6a97c258fb5df1fcea85bfa6a8842d9","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-11/","publishdate":"2025-06-11T00:00:00Z","relpermalink":"/post/journals/2025-06-11/","section":"post","summary":"Done DONE Share the updated report to customer - RedDoorz\nDONE Reply review Hieu - RedDoorz\nDONE Review document - Financial Demo\n","tags":["journal"],"title":"2025-06-11","type":"post"},{"authors":null,"categories":null,"content":"Done DONE Complete flatterning key/value - Tracking request\nDONE Investigate root cause problem with dbt domain zoho\nDONE Submit claimlist\n","date":1749427200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"56a79d53804b51555101a24565c720d0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-09/","publishdate":"2025-06-09T00:00:00Z","relpermalink":"/post/journals/2025-06-09/","section":"post","summary":"Done DONE Complete flatterning key/value - Tracking request\nDONE Investigate root cause problem with dbt domain zoho\nDONE Submit claimlist\n","tags":["journal"],"title":"2025-06-09","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Clarify RedDoorz questions. DONE Complete tracking request datasets.\n","date":1749168e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"701a085f9c1da0d25a3d04ca9574c874","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-06/","publishdate":"2025-06-06T00:00:00Z","relpermalink":"/post/journals/2025-06-06/","section":"post","summary":" Done DONE Clarify RedDoorz questions. DONE Complete tracking request datasets.\n","tags":["journal"],"title":"2025-06-06","type":"post"},{"authors":null,"categories":null,"content":" Note Snowplow docs link. Done DONE Initialize reusable metrics doc. DONE Build dataset Drill Down \u0026amp; VUD.\nDONE Analyze RedDoorz ticket.\n","date":1748995200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"86dc3abbf3169fcf3a66c1a29ca90c53","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-04/","publishdate":"2025-06-04T00:00:00Z","relpermalink":"/post/journals/2025-06-04/","section":"post","summary":" Note Snowplow docs link. Done DONE Initialize reusable metrics doc. DONE Build dataset Drill Down \u0026 VUD.\nDONE Analyze RedDoorz ticket.\n","tags":["journal"],"title":"2025-06-04","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Merge PR tracking request. DONE Review Hieu’s PR Apollo.\n","date":1748908800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"73fa18e299df7831baac024171c1e444","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-03/","publishdate":"2025-06-03T00:00:00Z","relpermalink":"/post/journals/2025-06-03/","section":"post","summary":" Done DONE Merge PR tracking request. DONE Review Hieu’s PR Apollo.\n","tags":["journal"],"title":"2025-06-03","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Check Lepaya abnormal query runs. DONE Answer Calendly document review.\n","date":1748822400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5f298e0b2f09b7ecc939b2ca7ace13a2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-06-02/","publishdate":"2025-06-02T00:00:00Z","relpermalink":"/post/journals/2025-06-02/","section":"post","summary":" Done DONE Check Lepaya abnormal query runs. DONE Answer Calendly document review.\n","tags":["journal"],"title":"2025-06-02","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Dedupe rows customer_payments. DONE Review PRs for Hieu Apollo.\nDONE Answer PR review tracking request.\nDONE Complete PR tracking request.\nDONE Answer question anh Dat.\n","date":1748563200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"808b6fe8260da096a2d7e1bf98978b55","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-30/","publishdate":"2025-05-30T00:00:00Z","relpermalink":"/post/journals/2025-05-30/","section":"post","summary":" Done DONE Dedupe rows customer_payments. DONE Review PRs for Hieu Apollo.\nDONE Answer PR review tracking request.\nDONE Complete PR tracking request.\nDONE Answer question anh Dat.\n","tags":["journal"],"title":"2025-05-30","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Enable debug mode dbt flows. DONE Models for tracked events DD \u0026amp; VUD.\n","date":1748476800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"85d6260dee65767d7e216f0bc43fcc73","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-29/","publishdate":"2025-05-29T00:00:00Z","relpermalink":"/post/journals/2025-05-29/","section":"post","summary":" Done DONE Enable debug mode dbt flows. DONE Models for tracked events DD \u0026 VUD.\n","tags":["journal"],"title":"2025-05-29","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Confirm with c. Phuong tracking request. ","date":1748390400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"330aa8555010f20380d4a8f624b5b740","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-28/","publishdate":"2025-05-28T00:00:00Z","relpermalink":"/post/journals/2025-05-28/","section":"post","summary":" Done DONE Confirm with c. Phuong tracking request. ","tags":["journal"],"title":"2025-05-28","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Write document tracking request drill down. ","date":1747612800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"638d3b4d65d10e7d79ad769c355f65a5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-19/","publishdate":"2025-05-19T00:00:00Z","relpermalink":"/post/journals/2025-05-19/","section":"post","summary":" Done DONE Write document tracking request drill down. ","tags":["journal"],"title":"2025-05-19","type":"post"},{"authors":null,"categories":null,"content":" Note SQL-based metrics limitation. Done DONE Make dashboard for givve. DONE 1-1 review with anh Triet.\nDONE Review Apollo.\n","date":1747094400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3668a5045d9730e4a293ffd545ac5884","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-13/","publishdate":"2025-05-13T00:00:00Z","relpermalink":"/post/journals/2025-05-13/","section":"post","summary":" Note SQL-based metrics limitation. Done DONE Make dashboard for givve. DONE 1-1 review with anh Triet.\nDONE Review Apollo.\n","tags":["journal"],"title":"2025-05-13","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Write 1-on-1 self review. DONE Complete Lepaya monitoring dashboard.\nDONE Reply Calendly document review.\n","date":1747008e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c35d06ff69fdfd433ccbe8c54cf383e9","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-12/","publishdate":"2025-05-12T00:00:00Z","relpermalink":"/post/journals/2025-05-12/","section":"post","summary":" Done DONE Write 1-on-1 self review. DONE Complete Lepaya monitoring dashboard.\nDONE Reply Calendly document review.\n","tags":["journal"],"title":"2025-05-12","type":"post"},{"authors":null,"categories":null,"content":" Note Data Team 1-1 meetings self reflection. ","date":1746835200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"00bf357155b6a29e846916d44b7dd1dc","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-10/","publishdate":"2025-05-10T00:00:00Z","relpermalink":"/post/journals/2025-05-10/","section":"post","summary":" Note Data Team 1-1 meetings self reflection. ","tags":["journal"],"title":"2025-05-10","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Complete editing Lepaya dashboard. ","date":1746662400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"86d5fb7d5ae814efcde6f6703059d3a0","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-08/","publishdate":"2025-05-08T00:00:00Z","relpermalink":"/post/journals/2025-05-08/","section":"post","summary":" Done DONE Complete editing Lepaya dashboard. ","tags":["journal"],"title":"2025-05-08","type":"post"},{"authors":null,"categories":null,"content":" Note NVIDIA Vietnam insights. Givve customer empathy. Done DONE Edit Lepaya dashboard. DONE Talk with anh Triet about givve.\n","date":1746576e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4859e80b403e64a8032128800272843b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-07/","publishdate":"2025-05-07T00:00:00Z","relpermalink":"/post/journals/2025-05-07/","section":"post","summary":" Note NVIDIA Vietnam insights. Givve customer empathy. Done DONE Edit Lepaya dashboard. DONE Talk with anh Triet about givve.\n","tags":["journal"],"title":"2025-05-07","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Viết final report cho ĐA. DONE Review event tracking Drill Down.\nDONE Complete Lepaya monitoring dashboard.\n","date":1746489600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7bbe473efd84b1e7a1679da3aaf2669c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-06/","publishdate":"2025-05-06T00:00:00Z","relpermalink":"/post/journals/2025-05-06/","section":"post","summary":" Done DONE Viết final report cho ĐA. DONE Review event tracking Drill Down.\nDONE Complete Lepaya monitoring dashboard.\n","tags":["journal"],"title":"2025-05-06","type":"post"},{"authors":null,"categories":null,"content":" Note Rửa chén. Done DONE Write Calendly document. DONE Review PR anh Hieu.\n","date":1746403200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9006afa8ee0b57d64d3a583226266f04","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-05/","publishdate":"2025-05-05T00:00:00Z","relpermalink":"/post/journals/2025-05-05/","section":"post","summary":" Note Rửa chén. Done DONE Write Calendly document. DONE Review PR anh Hieu.\n","tags":["journal"],"title":"2025-05-05","type":"post"},{"authors":null,"categories":null,"content":" Note Blog post writing tips. ","date":1746144e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"68a73c9c0fb2aacc4577c908840ddb91","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-02/","publishdate":"2025-05-02T00:00:00Z","relpermalink":"/post/journals/2025-05-02/","section":"post","summary":" Note Blog post writing tips. ","tags":["journal"],"title":"2025-05-02","type":"post"},{"authors":null,"categories":null,"content":" Note Storytelling elements: Location, Action, Thought, Feeling, Dialogue. ","date":1746057600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"16e2cd58a24c7532649471b2cd77e357","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-05-01/","publishdate":"2025-05-01T00:00:00Z","relpermalink":"/post/journals/2025-05-01/","section":"post","summary":" Note Storytelling elements: Location, Action, Thought, Feeling, Dialogue. ","tags":["journal"],"title":"2025-05-01","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Build canvas dashboard. DONE Update dbdocs columns.\nDONE Định danh mức 2.\nDONE Quyết toán thuế.\n","date":1745798400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9361271d5257f8dc14bb8cc90080f746","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-28/","publishdate":"2025-04-28T00:00:00Z","relpermalink":"/post/journals/2025-04-28/","section":"post","summary":" Done DONE Build canvas dashboard. DONE Update dbdocs columns.\nDONE Định danh mức 2.\nDONE Quyết toán thuế.\n","tags":["journal"],"title":"2025-04-28","type":"post"},{"authors":null,"categories":null,"content":" Note State of Analytics Engineering 2025. At the end of the day, we all agree that data quality is the biggest challenge. Interesting findings from the report. ","date":1745712e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"efc2e2662a60bc22d71cbf60890d0909","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-27/","publishdate":"2025-04-27T00:00:00Z","relpermalink":"/post/journals/2025-04-27/","section":"post","summary":" Note State of Analytics Engineering 2025. At the end of the day, we all agree that data quality is the biggest challenge. Interesting findings from the report. ","tags":["journal"],"title":"2025-04-27","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Pack đồ về GL. ","date":1745539200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"71135f0fd11a4c475405d0660fb1fac4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-25/","publishdate":"2025-04-25T00:00:00Z","relpermalink":"/post/journals/2025-04-25/","section":"post","summary":" Done DONE Pack đồ về GL. ","tags":["journal"],"title":"2025-04-25","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Share report to givve. ","date":1745452800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"66f2e3921c23bca58056a24287290ab4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-24/","publishdate":"2025-04-24T00:00:00Z","relpermalink":"/post/journals/2025-04-24/","section":"post","summary":" Done DONE Share report to givve. ","tags":["journal"],"title":"2025-04-24","type":"post"},{"authors":null,"categories":null,"content":" Note Query Runs. Done DONE Provide data import models for givve. ","date":1745366400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"699be0770ed795dc551046eb68b26eeb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-23/","publishdate":"2025-04-23T00:00:00Z","relpermalink":"/post/journals/2025-04-23/","section":"post","summary":" Note Query Runs. Done DONE Provide data import models for givve. ","tags":["journal"],"title":"2025-04-23","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Mua máy giặt. ","date":174528e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b56436ae47439e4e2dae46349fbd835e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-22/","publishdate":"2025-04-22T00:00:00Z","relpermalink":"/post/journals/2025-04-22/","section":"post","summary":" Done DONE Mua máy giặt. ","tags":["journal"],"title":"2025-04-22","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Fix changelog check Prefect. DONE Look at Lepaya monitoring.\nDONE Add model user to report.\n","date":1745193600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b70789f494d36d2c2adaface33df839b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-21/","publishdate":"2025-04-21T00:00:00Z","relpermalink":"/post/journals/2025-04-21/","section":"post","summary":" Done DONE Fix changelog check Prefect. DONE Look at Lepaya monitoring.\nDONE Add model user to report.\n","tags":["journal"],"title":"2025-04-21","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Đóng học phí. ","date":1745107200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"564882afd4a4c407274597eaaedeac7b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-20/","publishdate":"2025-04-20T00:00:00Z","relpermalink":"/post/journals/2025-04-20/","section":"post","summary":" Done DONE Đóng học phí. ","tags":["journal"],"title":"2025-04-20","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Review DAT-258. DONE Review DAT-270.\nDONE Review PR dbx-dbt flows Prefect.\n","date":1744761600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2e7f19e7aea4ee6fb200c5e2384e2c22","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-16/","publishdate":"2025-04-16T00:00:00Z","relpermalink":"/post/journals/2025-04-16/","section":"post","summary":" Done DONE Review DAT-258. DONE Review DAT-270.\nDONE Review PR dbx-dbt flows Prefect.\n","tags":["journal"],"title":"2025-04-16","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Dashboard Datasets-Data Models-Relationships. DONE Complete PR fct_hubspot_deals.days_to_close.\nDONE Merge PR Zoho fixing bug.\nDONE Document review for Dong.\nDONE Merge PR bump dbt.\nDONE Review document for Hieu.\n","date":1744588800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4e2b16557ce825a751eb6fb57c9acf79","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-14/","publishdate":"2025-04-14T00:00:00Z","relpermalink":"/post/journals/2025-04-14/","section":"post","summary":" Done DONE Dashboard Datasets-Data Models-Relationships. DONE Complete PR fct_hubspot_deals.days_to_close.\nDONE Merge PR Zoho fixing bug.\nDONE Document review for Dong.\nDONE Merge PR bump dbt.\nDONE Review document for Hieu.\n","tags":["journal"],"title":"2025-04-14","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Add reasoning cache policy Prefect. DONE Fix failed Zoho flow runs.\nDONE Add CI dry-run deploy_flows Prefect.\n","date":1744329600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e431bb3dec9a466ae1ce20debd2cbd29","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-11/","publishdate":"2025-04-11T00:00:00Z","relpermalink":"/post/journals/2025-04-11/","section":"post","summary":" Done DONE Add reasoning cache policy Prefect. DONE Fix failed Zoho flow runs.\nDONE Add CI dry-run deploy_flows Prefect.\n","tags":["journal"],"title":"2025-04-11","type":"post"},{"authors":null,"categories":null,"content":" Note 20 years of Git: An interview with Linus Torvalds. Done DONE Add report datasets relationships. DONE Change fct_hubspot_deals.days_to_close type.\nDONE PR bump dbt-core 1.9.3.\n","date":1744243200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"43869c90e3ba2ffda167ff028211fb14","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-10/","publishdate":"2025-04-10T00:00:00Z","relpermalink":"/post/journals/2025-04-10/","section":"post","summary":" Note 20 years of Git: An interview with Linus Torvalds. Done DONE Add report datasets relationships. DONE Change fct_hubspot_deals.days_to_close type.\nDONE PR bump dbt-core 1.9.3.\n","tags":["journal"],"title":"2025-04-10","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Do thesis. ","date":1743897600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9ac61ec8d22c05835091a99ef73c09a7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-06/","publishdate":"2025-04-06T00:00:00Z","relpermalink":"/post/journals/2025-04-06/","section":"post","summary":" Done DONE Do thesis. ","tags":["journal"],"title":"2025-04-06","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Update dataset relationships DTS 106. ","date":1743552e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dd61a6cf6da2f8aab14dba79e780a20f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-02/","publishdate":"2025-04-02T00:00:00Z","relpermalink":"/post/journals/2025-04-02/","section":"post","summary":" Done DONE Update dataset relationships DTS 106. ","tags":["journal"],"title":"2025-04-02","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Refactor dotfiles. DONE Automated notifications Prefect.\nDONE Update Users List template v4.\nDONE Answer review anh Triet Prefect.\nDONE Nhắc Linh đăng ký BHYT.\n","date":1743465600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6c60744d2523fa35b1f625715de1e27a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-04-01/","publishdate":"2025-04-01T00:00:00Z","relpermalink":"/post/journals/2025-04-01/","section":"post","summary":" Done DONE Refactor dotfiles. DONE Automated notifications Prefect.\nDONE Update Users List template v4.\nDONE Answer review anh Triet Prefect.\nDONE Nhắc Linh đăng ký BHYT.\n","tags":["journal"],"title":"2025-04-01","type":"post"},{"authors":null,"categories":null,"content":" Note Duty day quote. Done DONE Assist exporting users list. DONE Answer ticket anh Hoang.\nDONE Create template users list.\nDONE Skip tests dbdiagram+dbdocs.\nDONE Review anh Dong PR dbdocs.\nDONE Revert PR unit tests Prefect.\nDONE Merge unit tests Prefect.\n","date":1743379200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"dc78700db98c21152ecbffc7cc92d25f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-31/","publishdate":"2025-03-31T00:00:00Z","relpermalink":"/post/journals/2025-03-31/","section":"post","summary":" Note Duty day quote. Done DONE Assist exporting users list. DONE Answer ticket anh Hoang.\nDONE Create template users list.\nDONE Skip tests dbdiagram+dbdocs.\nDONE Review anh Dong PR dbdocs.\nDONE Revert PR unit tests Prefect.\nDONE Merge unit tests Prefect.\n","tags":["journal"],"title":"2025-03-31","type":"post"},{"authors":null,"categories":null,"content":" Note Paris 2024 Olympics. AI coding insight. Done DONE Configure stow as dotfiles manager. ","date":1743292800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"731762ef1bbba2aa7a9c34425886ca33","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-30/","publishdate":"2025-03-30T00:00:00Z","relpermalink":"/post/journals/2025-03-30/","section":"post","summary":" Note Paris 2024 Olympics. AI coding insight. Done DONE Configure stow as dotfiles manager. ","tags":["journal"],"title":"2025-03-30","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Fix failed state KeyError Prefect. DONE Complete PR deployment strategy Prefect.\nDONE Answer review anh Triet Prefect.\n","date":174312e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"665f4de4f0a62197828591e96d9d715f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-28/","publishdate":"2025-03-28T00:00:00Z","relpermalink":"/post/journals/2025-03-28/","section":"post","summary":" Done DONE Fix failed state KeyError Prefect. DONE Complete PR deployment strategy Prefect.\nDONE Answer review anh Triet Prefect.\n","tags":["journal"],"title":"2025-03-28","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Complete PR revamp unit test Prefect. DONE Investigate TaxCloud display issue.\n","date":1742947200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b9a2e375899ae26458940f848aa3bd45","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-26/","publishdate":"2025-03-26T00:00:00Z","relpermalink":"/post/journals/2025-03-26/","section":"post","summary":" Done DONE Complete PR revamp unit test Prefect. DONE Investigate TaxCloud display issue.\n","tags":["journal"],"title":"2025-03-26","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Write docs deployment strategy Prefect. DONE Write docs Refactor unit tests Prefect.\n","date":1742860800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"87cef9fd8d8451cd932c0e12bcc9cdef","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-25/","publishdate":"2025-03-25T00:00:00Z","relpermalink":"/post/journals/2025-03-25/","section":"post","summary":" Done DONE Write docs deployment strategy Prefect. DONE Write docs Refactor unit tests Prefect.\n","tags":["journal"],"title":"2025-03-25","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Double check Calendly model. DONE Remove dbt deps task Prefect.\nDONE Complete cache_policy PR Prefect.\n","date":1742688e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"788c01dfb111de5589ee370b5e91ae59","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-23/","publishdate":"2025-03-23T00:00:00Z","relpermalink":"/post/journals/2025-03-23/","section":"post","summary":" Done DONE Double check Calendly model. DONE Remove dbt deps task Prefect.\nDONE Complete cache_policy PR Prefect.\n","tags":["journal"],"title":"2025-03-23","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Debug dbt home path error Prefect. DONE Wait for default no cache release Prefect.\n","date":1742601600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2612f438661fb37392002d8a2478e457","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-22/","publishdate":"2025-03-22T00:00:00Z","relpermalink":"/post/journals/2025-03-22/","section":"post","summary":" Done DONE Debug dbt home path error Prefect. DONE Wait for default no cache release Prefect.\n","tags":["journal"],"title":"2025-03-22","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Update README Prefect. DONE Cache policy Prefect.\nDONE Review CircleCI PR.\n","date":1742515200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"21af1b722d1ab5828ae83e06f3645a81","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-21/","publishdate":"2025-03-21T00:00:00Z","relpermalink":"/post/journals/2025-03-21/","section":"post","summary":" Done DONE Update README Prefect. DONE Cache policy Prefect.\nDONE Review CircleCI PR.\n","tags":["journal"],"title":"2025-03-21","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Workers keep restarting Prefect. DONE Check for Lepaya.\nDONE Review PR anh Dong Pipedrive.\n","date":1742428800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"12db73b8fc1556c3d2ef5ea7ad99b945","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-20/","publishdate":"2025-03-20T00:00:00Z","relpermalink":"/post/journals/2025-03-20/","section":"post","summary":" Done DONE Workers keep restarting Prefect. DONE Check for Lepaya.\nDONE Review PR anh Dong Pipedrive.\n","tags":["journal"],"title":"2025-03-20","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Fix bug production Prefect. DONE Review CircleCI PR.\nDONE Refresh query report Qoala Setel.\nDONE Answer review anh Triet Prefect.\n","date":1742256e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"81ecca1742f638727f4661ee1192df27","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-18/","publishdate":"2025-03-18T00:00:00Z","relpermalink":"/post/journals/2025-03-18/","section":"post","summary":" Done DONE Fix bug production Prefect. DONE Review CircleCI PR.\nDONE Refresh query report Qoala Setel.\nDONE Answer review anh Triet Prefect.\n","tags":["journal"],"title":"2025-03-18","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Ask anh Triet generate keyfile Prefect. DONE Dry-run restore database Prefect.\nDONE Review Gleap document.\nDONE Review Gleap PR.\nDONE Review Pipedrive PR prefect side.\n","date":1742169600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"49c33ecf50d265e85faa1d2f6e61d9bd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-17/","publishdate":"2025-03-17T00:00:00Z","relpermalink":"/post/journals/2025-03-17/","section":"post","summary":" Done DONE Ask anh Triet generate keyfile Prefect. DONE Dry-run restore database Prefect.\nDONE Review Gleap document.\nDONE Review Gleap PR.\nDONE Review Pipedrive PR prefect side.\n","tags":["journal"],"title":"2025-03-17","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Research new way run dbt models Prefect. ","date":1741996800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"415ae9196734a5ff3ab55841b8ca1868","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-15/","publishdate":"2025-03-15T00:00:00Z","relpermalink":"/post/journals/2025-03-15/","section":"post","summary":" Done DONE Research new way run dbt models Prefect. ","tags":["journal"],"title":"2025-03-15","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Complete sync flows prefect.yaml Prefect. DONE Undeploy deployments Prefect.\n","date":1741824e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b74399e27985e59e07abaa09e53d9ac6","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-13/","publishdate":"2025-03-13T00:00:00Z","relpermalink":"/post/journals/2025-03-13/","section":"post","summary":" Done DONE Complete sync flows prefect.yaml Prefect. DONE Undeploy deployments Prefect.\n","tags":["journal"],"title":"2025-03-13","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Double check Lisa/Jennie Zoho PR. DONE Duty owner_email RedDoorz.\nDONE Define deployment strategy Prefect.\nDONE Answer anh Dong review Calendly.\n","date":1741737600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"27c1ce32b7f6483d7fce3455cb9f314a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-12/","publishdate":"2025-03-12T00:00:00Z","relpermalink":"/post/journals/2025-03-12/","section":"post","summary":" Done DONE Double check Lisa/Jennie Zoho PR. DONE Duty owner_email RedDoorz.\nDONE Define deployment strategy Prefect.\nDONE Answer anh Dong review Calendly.\n","tags":["journal"],"title":"2025-03-12","type":"post"},{"authors":null,"categories":null,"content":" Note Long note about Prefect workers. Done DONE Fix Calendly failed unit tests. DONE Fix documentation Prefect.\nDONE Review answer anh Dong Pipedrive.\nDONE Answer anh Triet questions Prefect.\n","date":1741651200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"d2bd7766b548061f2bb2dbfa82f139a3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-11/","publishdate":"2025-03-11T00:00:00Z","relpermalink":"/post/journals/2025-03-11/","section":"post","summary":" Note Long note about Prefect workers. Done DONE Fix Calendly failed unit tests. DONE Fix documentation Prefect.\nDONE Review answer anh Dong Pipedrive.\nDONE Answer anh Triet questions Prefect.\n","tags":["journal"],"title":"2025-03-11","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Add Prefect config file. DONE Investigate MRR flow.\nDONE Answer anh Triet isort.\nDONE Review Pipedrive.\nDONE Answer Andrew duty.\nDONE Answer anh Patrick.\nDONE Submit Zoho expense.\n","date":1741564800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8bbffe897cca40fd69bbd7c856f5ce3d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-10/","publishdate":"2025-03-10T00:00:00Z","relpermalink":"/post/journals/2025-03-10/","section":"post","summary":" Done DONE Add Prefect config file. DONE Investigate MRR flow.\nDONE Answer anh Triet isort.\nDONE Review Pipedrive.\nDONE Answer Andrew duty.\nDONE Answer anh Patrick.\nDONE Submit Zoho expense.\n","tags":["journal"],"title":"2025-03-10","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Buy domain setup Chatbot. ","date":1741478400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c6512c89afc058783227935b13330c01","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-09/","publishdate":"2025-03-09T00:00:00Z","relpermalink":"/post/journals/2025-03-09/","section":"post","summary":" Done DONE Buy domain setup Chatbot. ","tags":["journal"],"title":"2025-03-09","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Add uv reasonings Prefect. DONE Migrate Calendly data.\nDONE Update Calendly columns.\n","date":1741305600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0a9a48e32f599a30c1260a32d6b079e4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-07/","publishdate":"2025-03-07T00:00:00Z","relpermalink":"/post/journals/2025-03-07/","section":"post","summary":" Done DONE Add uv reasonings Prefect. DONE Migrate Calendly data.\nDONE Update Calendly columns.\n","tags":["journal"],"title":"2025-03-07","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Tasks fails cache Zoho PR. DONE Fix async fetching Zoho PR.\nDONE Backfill sources Zoho PR.\nDONE Review PR anh Dong.\nDONE Answer ticket anh Huy duty.\n","date":1741219200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"fc033e53b71affa5d6fe3a876394d609","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-06/","publishdate":"2025-03-06T00:00:00Z","relpermalink":"/post/journals/2025-03-06/","section":"post","summary":" Done DONE Tasks fails cache Zoho PR. DONE Fix async fetching Zoho PR.\nDONE Backfill sources Zoho PR.\nDONE Review PR anh Dong.\nDONE Answer ticket anh Huy duty.\n","tags":["journal"],"title":"2025-03-06","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Update documentation Prefect. DONE Review anh Dong PR.\nDONE Answer review anh Triet Prefect.\nDONE Look at Pipedrive executions.\nDONE Review anh Dong PR Prefect.\n","date":1741132800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a89f83c1ec5c4c192c564fccb279cd6f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-05/","publishdate":"2025-03-05T00:00:00Z","relpermalink":"/post/journals/2025-03-05/","section":"post","summary":" Done DONE Update documentation Prefect. DONE Review anh Dong PR.\nDONE Answer review anh Triet Prefect.\nDONE Look at Pipedrive executions.\nDONE Review anh Dong PR Prefect.\n","tags":["journal"],"title":"2025-03-05","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Configure secret loading Prefect. DONE Prepare document review Prefect.\nDONE Review anh Dong PR.\n","date":1741046400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"5239dd3169f7eb65f78e3e06219f917a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-04/","publishdate":"2025-03-04T00:00:00Z","relpermalink":"/post/journals/2025-03-04/","section":"post","summary":" Done DONE Configure secret loading Prefect. DONE Prepare document review Prefect.\nDONE Review anh Dong PR.\n","tags":["journal"],"title":"2025-03-04","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Deploy work pool workers Prefect. DONE Answer question anh Tung duty.\nDONE Claim tiền laptop.\nDONE Expire credit GCP.\n","date":174096e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f4373acc5e20bfe552191f949b02ed9b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-03-03/","publishdate":"2025-03-03T00:00:00Z","relpermalink":"/post/journals/2025-03-03/","section":"post","summary":" Done DONE Deploy work pool workers Prefect. DONE Answer question anh Tung duty.\nDONE Claim tiền laptop.\nDONE Expire credit GCP.\n","tags":["journal"],"title":"2025-03-03","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Implement chunking indexing Chatbot. DONE Review document anh Dong.\nDONE Review PR anh Hieu.\nDONE Answer PR review Tuan.\n","date":1740614400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a0e279658857467f762eea54967623cb","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-27/","publishdate":"2025-02-27T00:00:00Z","relpermalink":"/post/journals/2025-02-27/","section":"post","summary":" Done DONE Implement chunking indexing Chatbot. DONE Review document anh Dong.\nDONE Review PR anh Hieu.\nDONE Answer PR review Tuan.\n","tags":["journal"],"title":"2025-02-27","type":"post"},{"authors":null,"categories":null,"content":" Note I’ve been using uv for a while now and I have some thoughts on it. First, it locks at the patch version. Given that users install dependencies from a lock file every day, this can be a problem. If a dependency releases a new patch version and the lock file is not updated, the user will have a different version installed than the one in the lock file. pip-compile for example, locks at the minor version by default. (can be configured to lock at the patch version, and vice versa) Second, the version release is so fast to the point that there is no breaking version to be aware of. I often receive a PR from dependabot to update the version, and I don’t know what’s changed. Plus, uv now has reached 0.6.x, which somehow gives me the feeling of unstable. Third, there are some compatibility issues with other tools like pre-commit, pip-tools, etc. This is understandable since uv is new and the ecosystem is not fully integrated yet. It works great standalone, but hard to integrate with other tools. Fourth, for migrating from pip-compile, there are some gotchas but the transition is smooth overall. However, for migrating from poetry, it’s a different story. The lock file format is different, and the way dependencies are resolved is different, you even have to change the workflow or how your CI/CD works. Finally, I don’t like the way uv handles the pyproject.toml file. It’s not as intuitive as poetry or pip-compile. Just a personal preference. Done DONE Duty support RedDoorz. DONE Write docker compose Prefect.\nDONE Reply comment anh Triet.\n","date":1740528e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7e71f8a7e14593952d3f500375bc3bdf","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-26/","publishdate":"2025-02-26T00:00:00Z","relpermalink":"/post/journals/2025-02-26/","section":"post","summary":" Note I’ve been using uv for a while now and I have some thoughts on it. First, it locks at the patch version. Given that users install dependencies from a lock file every day, this can be a problem. If a dependency releases a new patch version and the lock file is not updated, the user will have a different version installed than the one in the lock file. pip-compile for example, locks at the minor version by default. (can be configured to lock at the patch version, and vice versa) Second, the version release is so fast to the point that there is no breaking version to be aware of. I often receive a PR from dependabot to update the version, and I don’t know what’s changed. Plus, uv now has reached 0.6.x, which somehow gives me the feeling of unstable. Third, there are some compatibility issues with other tools like pre-commit, pip-tools, etc. This is understandable since uv is new and the ecosystem is not fully integrated yet. It works great standalone, but hard to integrate with other tools. Fourth, for migrating from pip-compile, there are some gotchas but the transition is smooth overall. However, for migrating from poetry, it’s a different story. The lock file format is different, and the way dependencies are resolved is different, you even have to change the workflow or how your CI/CD works. Finally, I don’t like the way uv handles the pyproject.toml file. It’s not as intuitive as poetry or pip-compile. Just a personal preference. Done DONE Duty support RedDoorz. DONE Write docker compose Prefect.\n","tags":["journal"],"title":"2025-02-26","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Review document anh Hieu. DONE Answer duty question anh PhucNH.\nDONE Answer request Arden.\n","date":1740441600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e26127a0a82627dcf3a509a9d9a3e40f","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-25/","publishdate":"2025-02-25T00:00:00Z","relpermalink":"/post/journals/2025-02-25/","section":"post","summary":" Done DONE Review document anh Hieu. DONE Answer duty question anh PhucNH.\nDONE Answer request Arden.\n","tags":["journal"],"title":"2025-02-25","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Merge Zoho PR. DONE Reply code review anh Triet Zoho PR.\nDONE Review document anh Hieu.\nDONE Quickly learn ansible.\n","date":1740355200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"b31fbf71518af6d8cff0fbb8c5e9e34c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-24/","publishdate":"2025-02-24T00:00:00Z","relpermalink":"/post/journals/2025-02-24/","section":"post","summary":" Done DONE Merge Zoho PR. DONE Reply code review anh Triet Zoho PR.\nDONE Review document anh Hieu.\nDONE Quickly learn ansible.\n","tags":["journal"],"title":"2025-02-24","type":"post"},{"authors":null,"categories":null,"content":" Note I just finished watching Attack on Titan and I have some thoughts on it. The ending is controversial, but I think it’s a good ending. It’s not a happy ending, but it’s a realistic one. The world is not black and white, and the characters are not perfect. Eren is a flawed character, and his actions are not justified. But I think the story is about the cycle of violence and how it’s hard to break. The ending is a hopeful one, as the characters are trying to break the cycle. Done DONE Setup python linter Chatbot. DONE Research connector Chatbot.\nDONE Setup summarization report github.\n","date":1740268800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"43033d0a1e214d9f645a275acd3e5250","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-23/","publishdate":"2025-02-23T00:00:00Z","relpermalink":"/post/journals/2025-02-23/","section":"post","summary":" Note I just finished watching Attack on Titan and I have some thoughts on it. The ending is controversial, but I think it’s a good ending. It’s not a happy ending, but it’s a realistic one. The world is not black and white, and the characters are not perfect. Eren is a flawed character, and his actions are not justified. But I think the story is about the cycle of violence and how it’s hard to break. The ending is a hopeful one, as the characters are trying to break the cycle. Done DONE Setup python linter Chatbot. DONE Research connector Chatbot.\n","tags":["journal"],"title":"2025-02-23","type":"post"},{"authors":null,"categories":null,"content":" Note Don’t be greedy with the product. It’s better to have a small but useful product than a big but useless one. Done DONE Remove vanphongso refactor chatbot. DONE Add CI job clean comments Ubunchuu.\nDONE Document chunking process Chatbot.\n","date":1740182400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a27eaac1fe241b747e84192850ad1bc7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-22/","publishdate":"2025-02-22T00:00:00Z","relpermalink":"/post/journals/2025-02-22/","section":"post","summary":" Note Don’t be greedy with the product. It’s better to have a small but useful product than a big but useless one. Done DONE Remove vanphongso refactor chatbot. DONE Add CI job clean comments Ubunchuu.\nDONE Document chunking process Chatbot.\n","tags":["journal"],"title":"2025-02-22","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Draw before after diagram Prefect. DONE Ask Dave about missing data Calendly.\nDONE Coi dbt and prefect video.\n","date":1740096e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"25527bc5eea3028dda8ae96dcaa8571c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-21/","publishdate":"2025-02-21T00:00:00Z","relpermalink":"/post/journals/2025-02-21/","section":"post","summary":" Done DONE Draw before after diagram Prefect. DONE Ask Dave about missing data Calendly.\nDONE Coi dbt and prefect video.\n","tags":["journal"],"title":"2025-02-21","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Double check Metrics Bot. DONE Reply comment anh Dong.\nDONE Reply document review anh Dong Calendly.\n","date":1740009600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"aee40a877e68045c213bea888b6b5ab3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-20/","publishdate":"2025-02-20T00:00:00Z","relpermalink":"/post/journals/2025-02-20/","section":"post","summary":" Done DONE Double check Metrics Bot. DONE Reply comment anh Dong.\nDONE Reply document review anh Dong Calendly.\n","tags":["journal"],"title":"2025-02-20","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Coi repo migrate dbx-dbt. DONE Update Zoho flow comparison.\nDONE Complete Calendly document.\n","date":1739923200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8680da98b02483976ae7b1f2ae47d825","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-19/","publishdate":"2025-02-19T00:00:00Z","relpermalink":"/post/journals/2025-02-19/","section":"post","summary":" Done DONE Coi repo migrate dbx-dbt. DONE Update Zoho flow comparison.\nDONE Complete Calendly document.\n","tags":["journal"],"title":"2025-02-19","type":"post"},{"authors":null,"categories":null,"content":" Note Conventional branch: https://conventional-branch.github.io/ Done DONE Change export URL dbdiagram bot. DONE Cherry pick commits PR dbdiagram.\nDONE Check error workflow SQL linter.\nDONE Reply comment anh Dong.\nDONE Reply comment anh Triet.\nDONE Cài apps cho Linh.\n","date":1739836800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"e07a1bc8f0ea131f53ed0e940a4cd946","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-18/","publishdate":"2025-02-18T00:00:00Z","relpermalink":"/post/journals/2025-02-18/","section":"post","summary":" Note Conventional branch: https://conventional-branch.github.io/ Done DONE Change export URL dbdiagram bot. DONE Cherry pick commits PR dbdiagram.\nDONE Check error workflow SQL linter.\nDONE Reply comment anh Dong.\nDONE Reply comment anh Triet.\nDONE Cài apps cho Linh.\n","tags":["journal"],"title":"2025-02-18","type":"post"},{"authors":null,"categories":null,"content":" Note Cách hình dung ROI khi adopt 1 tool hay công nghệ mới: Nếu như 1 person cần 1 ngày để làm 1 việc, và tool đó giúp họ làm trong 1 giờ, thì ROI là 8x. Nếu như 1 person cần 1 tuần để làm 1 việc, và tool đó giúp họ làm trong 1 ngày, thì ROI là 5x. Nhưng nếu tool đó cần 1 tuần để setup, thì ROI là 0x. Done DONE Contact anh Huy for emails dbdiagram. DONE Reply anh Triet review Zoho PR.\nDONE Review anh Dong document.\n","date":1739750400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f8ff4addb7554398f5cc46aae6ed3723","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-17/","publishdate":"2025-02-17T00:00:00Z","relpermalink":"/post/journals/2025-02-17/","section":"post","summary":" Note Cách hình dung ROI khi adopt 1 tool hay công nghệ mới: Nếu như 1 person cần 1 ngày để làm 1 việc, và tool đó giúp họ làm trong 1 giờ, thì ROI là 8x. Nếu như 1 person cần 1 tuần để làm 1 việc, và tool đó giúp họ làm trong 1 ngày, thì ROI là 5x. Nhưng nếu tool đó cần 1 tuần để setup, thì ROI là 0x. Done DONE Contact anh Huy for emails dbdiagram. DONE Reply anh Triet review Zoho PR.\n","tags":["journal"],"title":"2025-02-17","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Community standards Ubunchuu. DONE Document loading Chatbot.\nDONE Làm video subtitle cho anh rùa.\n","date":1739664e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"587ec819ea08b154d525bda9da3b7652","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-16/","publishdate":"2025-02-16T00:00:00Z","relpermalink":"/post/journals/2025-02-16/","section":"post","summary":" Done DONE Community standards Ubunchuu. DONE Document loading Chatbot.\nDONE Làm video subtitle cho anh rùa.\n","tags":["journal"],"title":"2025-02-16","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Implement query report RedDoorz. DONE Notify customer RedDoorz.\nDONE Reply anh Dong review RedDoorz.\n","date":1739404800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"c902d68807ac3f1ad78aa635d311e987","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-13/","publishdate":"2025-02-13T00:00:00Z","relpermalink":"/post/journals/2025-02-13/","section":"post","summary":" Done DONE Implement query report RedDoorz. DONE Notify customer RedDoorz.\nDONE Reply anh Dong review RedDoorz.\n","tags":["journal"],"title":"2025-02-13","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Document writeup Reddoorz. DONE Fix failed unit test Zoho PR.\nDONE Request Hubspot Census access.\nDONE Lên trường lấy bảng điểm.\nDONE Xin thầy ký đơn.\n","date":1739318400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0d2cd58f751f84ed17f87ef3264eeb70","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-12/","publishdate":"2025-02-12T00:00:00Z","relpermalink":"/post/journals/2025-02-12/","section":"post","summary":" Done DONE Document writeup Reddoorz. DONE Fix failed unit test Zoho PR.\nDONE Request Hubspot Census access.\nDONE Lên trường lấy bảng điểm.\nDONE Xin thầy ký đơn.\n","tags":["journal"],"title":"2025-02-12","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Write probation review. DONE Checkout Zendesk ticket.\nDONE Reply anh Triet comment dbdiagram.\n","date":1739232e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"7aa3364f3678d27ae0a24f7994822d4d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-11/","publishdate":"2025-02-11T00:00:00Z","relpermalink":"/post/journals/2025-02-11/","section":"post","summary":" Done DONE Write probation review. DONE Checkout Zendesk ticket.\nDONE Reply anh Triet comment dbdiagram.\n","tags":["journal"],"title":"2025-02-11","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Reply review anh Dong. DONE Reply review anh Triet dbdiagram.\nDONE Reply anh Hieu review Zoho PR.\nDONE View solution write up anh TrietLQ.\nDONE Slack message.\n","date":1739145600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1636e26d8e152c2d8ba584da7d35d1e8","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-10/","publishdate":"2025-02-10T00:00:00Z","relpermalink":"/post/journals/2025-02-10/","section":"post","summary":" Done DONE Reply review anh Dong. DONE Reply review anh Triet dbdiagram.\nDONE Reply anh Hieu review Zoho PR.\nDONE View solution write up anh TrietLQ.\nDONE Slack message.\n","tags":["journal"],"title":"2025-02-10","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Database seeding Chatbot. ","date":1738972800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a16d6b62625712a1a68fc768b14db777","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-08/","publishdate":"2025-02-08T00:00:00Z","relpermalink":"/post/journals/2025-02-08/","section":"post","summary":" Done DONE Database seeding Chatbot. ","tags":["journal"],"title":"2025-02-08","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Add limit_main limit_detail param. DONE Investigate DAT-88.\nDONE Đi lấy bảng điểm NVC.\n","date":1738886400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"cdc862b84435b647c044796ff5a6cd35","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-07/","publishdate":"2025-02-07T00:00:00Z","relpermalink":"/post/journals/2025-02-07/","section":"post","summary":" Done DONE Add limit_main limit_detail param. DONE Investigate DAT-88.\nDONE Đi lấy bảng điểm NVC.\n","tags":["journal"],"title":"2025-02-07","type":"post"},{"authors":null,"categories":null,"content":" Note Anonymous user: what if the user is not logged in? How to track them? How to store their data? Migrate chatbot from langchain to langgraph. Done DONE Refactor sync flows template. DONE Reply anh Hieu Zoho Sync PR.\n","date":17388e5,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a6b32e9eb72e617ff71b70ebdaf9ffea","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-06/","publishdate":"2025-02-06T00:00:00Z","relpermalink":"/post/journals/2025-02-06/","section":"post","summary":" Note Anonymous user: what if the user is not logged in? How to track them? How to store their data? Migrate chatbot from langchain to langgraph. Done DONE Refactor sync flows template. DONE Reply anh Hieu Zoho Sync PR.\n","tags":["journal"],"title":"2025-02-06","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Write README add pre-commit. DONE Write PR rename bots.\nDONE Review anh Dong PR dbdocs.\n","date":1738713600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2cddb7b9415f85c95965bf46eae6c18c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-05/","publishdate":"2025-02-05T00:00:00Z","relpermalink":"/post/journals/2025-02-05/","section":"post","summary":" Done DONE Write README add pre-commit. DONE Write PR rename bots.\nDONE Review anh Dong PR dbdocs.\n","tags":["journal"],"title":"2025-02-05","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Create guideline SQL rules. DONE Answer anh Triet reviews PR linter.\nDONE Reply anh Hieu DE 132.\nDONE Review anh Dong document Pexip.\nDONE Answer anh Triet again.\nDONE Duty support Dave hubspot.\nDONE Download lectures Data Engineering.\n","date":1738627200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"de10a9fdb6ad6b50706d78db7a19209a","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-04/","publishdate":"2025-02-04T00:00:00Z","relpermalink":"/post/journals/2025-02-04/","section":"post","summary":" Done DONE Create guideline SQL rules. DONE Answer anh Triet reviews PR linter.\nDONE Reply anh Hieu DE 132.\nDONE Review anh Dong document Pexip.\nDONE Answer anh Triet again.\nDONE Duty support Dave hubspot.\nDONE Download lectures Data Engineering.\n","tags":["journal"],"title":"2025-02-04","type":"post"},{"authors":null,"categories":null,"content":" Note Data reliability SLAs: How to define them? How to measure them? How to communicate them? Done DONE Reply review anh Triet SQL style. DONE Review anh Hieu.\n","date":1738540800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8ff218434261ad50a19a039455404251","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-02-03/","publishdate":"2025-02-03T00:00:00Z","relpermalink":"/post/journals/2025-02-03/","section":"post","summary":" Note Data reliability SLAs: How to define them? How to measure them? How to communicate them? Done DONE Reply review anh Triet SQL style. DONE Review anh Hieu.\n","tags":["journal"],"title":"2025-02-03","type":"post"},{"authors":null,"categories":null,"content":" Note v2.scrimba.com is a good platform to learn interactive web, including javascript and react. ","date":1737936e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"8fe77474ae90c7df9f8b8e502696e327","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-27/","publishdate":"2025-01-27T00:00:00Z","relpermalink":"/post/journals/2025-01-27/","section":"post","summary":" Note v2.scrimba.com is a good platform to learn interactive web, including javascript and react. ","tags":["journal"],"title":"2025-01-27","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Coi code cho anh Rua. ","date":1737849600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3c3a0ad8b2086d060d66a440f3a09b63","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-26/","publishdate":"2025-01-26T00:00:00Z","relpermalink":"/post/journals/2025-01-26/","section":"post","summary":" Done DONE Coi code cho anh Rua. ","tags":["journal"],"title":"2025-01-26","type":"post"},{"authors":null,"categories":null,"content":" Note Idea: build a product similar to readbetter.io. Done DONE Coi code cho anh Rua. DONE Fix failed building nginx.\n","date":1737763200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"3d4dfeb1521c97102ea00a9bd6899d3b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-25/","publishdate":"2025-01-25T00:00:00Z","relpermalink":"/post/journals/2025-01-25/","section":"post","summary":" Note Idea: build a product similar to readbetter.io. Done DONE Coi code cho anh Rua. DONE Fix failed building nginx.\n","tags":["journal"],"title":"2025-01-25","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Job summary. DONE Remove dbt parse from pre-commit.\nDONE Reply review anh Triet on linter PR.\n","date":1737676800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"1f84bc352a87795047be705ceb8de8d1","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-24/","publishdate":"2025-01-24T00:00:00Z","relpermalink":"/post/journals/2025-01-24/","section":"post","summary":" Done DONE Job summary. DONE Remove dbt parse from pre-commit.\nDONE Reply review anh Triet on linter PR.\n","tags":["journal"],"title":"2025-01-24","type":"post"},{"authors":null,"categories":null,"content":" Note We are not in the era of 640K computers to optimize for memory. This makes me think about trade-offs. Because we’re not in the era of 640k computers to optimize for memory, so we can increase the memory usage, but free the developer’s cognitive load. To make wwi-data-platform last long, I need to design it carefully to turn it into a template, helping future developers easily understand and use as a base to develop their own projects. Done DONE Review Tuan’s PRs. DONE Review anh Dong.\nDONE Take a redis crash course.\n","date":1737590400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"6cd3eef813538cdf7aae7b00d3826dee","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-23/","publishdate":"2025-01-23T00:00:00Z","relpermalink":"/post/journals/2025-01-23/","section":"post","summary":" Note We are not in the era of 640K computers to optimize for memory. This makes me think about trade-offs. Because we’re not in the era of 640k computers to optimize for memory, so we can increase the memory usage, but free the developer’s cognitive load. To make wwi-data-platform last long, I need to design it carefully to turn it into a template, helping future developers easily understand and use as a base to develop their own projects. Done DONE Review Tuan’s PRs. DONE Review anh Dong.\n","tags":["journal"],"title":"2025-01-23","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Push another PR to repo dbx-dbt-project. DONE Add .vscode configs and update new ignore rules.\nDONE Split unit tests into another PR.\nDONE Read cognitive load.\n","date":1737504e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"33c0e7cc1f07ae16e10a2f8a32e1c29b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-22/","publishdate":"2025-01-22T00:00:00Z","relpermalink":"/post/journals/2025-01-22/","section":"post","summary":" Done DONE Push another PR to repo dbx-dbt-project. DONE Add .vscode configs and update new ignore rules.\nDONE Split unit tests into another PR.\nDONE Read cognitive load.\n","tags":["journal"],"title":"2025-01-22","type":"post"},{"authors":null,"categories":null,"content":" Note Read some GCP BigQuery blog posts, they are very helpful to understand BigQuery better. New term: cognition load. Done DONE Reply anh Triet comment on SQL Style Guide. DONE Reply anh Hieu comment on PR Zoho.\n","date":1737417600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f71c6e3c2103a4449d73b59dca9cf713","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-21/","publishdate":"2025-01-21T00:00:00Z","relpermalink":"/post/journals/2025-01-21/","section":"post","summary":" Note Read some GCP BigQuery blog posts, they are very helpful to understand BigQuery better. New term: cognition load. Done DONE Reply anh Triet comment on SQL Style Guide. DONE Reply anh Hieu comment on PR Zoho.\n","tags":["journal"],"title":"2025-01-21","type":"post"},{"authors":null,"categories":null,"content":" Note I think seriously learning test driven development is important. Done DONE Reply anh Triet comment on SQL Style Guide. DONE Review SSE streaming response.\n","date":1737331200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"367affae0431fff0a5cabeb3bc4d8236","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-20/","publishdate":"2025-01-20T00:00:00Z","relpermalink":"/post/journals/2025-01-20/","section":"post","summary":" Note I think seriously learning test driven development is important. Done DONE Reply anh Triet comment on SQL Style Guide. DONE Review SSE streaming response.\n","tags":["journal"],"title":"2025-01-20","type":"post"},{"authors":null,"categories":null,"content":" Note PR too big is very easy to lose control, risky, must split into smaller parts. Working at Holistics teaches me the habit of understanding every line of code I write. Done DONE Implement pre-commit. DONE Reply documentation SQL linter.\nDONE Reply comment anh Hieu.\n","date":1737072e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"321c7f2e904aeeac920ade718e977cf5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-17/","publishdate":"2025-01-17T00:00:00Z","relpermalink":"/post/journals/2025-01-17/","section":"post","summary":" Note PR too big is very easy to lose control, risky, must split into smaller parts. Working at Holistics teaches me the habit of understanding every line of code I write. Done DONE Implement pre-commit. DONE Reply documentation SQL linter.\nDONE Reply comment anh Hieu.\n","tags":["journal"],"title":"2025-01-17","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Update weekly. DONE Implement linter’s configuration.\nDONE Lên plan làm powerbi.\nDONE Approve anh Dong’s PR.\nDONE Viết reasons ra đám sql style guide.\nDONE Implement CI.\n","date":1736899200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a0b6bd97608e500ecd31daf958fac814","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-15/","publishdate":"2025-01-15T00:00:00Z","relpermalink":"/post/journals/2025-01-15/","section":"post","summary":" Done DONE Update weekly. DONE Implement linter’s configuration.\nDONE Lên plan làm powerbi.\nDONE Approve anh Dong’s PR.\nDONE Viết reasons ra đám sql style guide.\nDONE Implement CI.\n","tags":["journal"],"title":"2025-01-15","type":"post"},{"authors":null,"categories":null,"content":" Note Thinking fast and slow: introduce system 1 and system 2 thinking. Done DONE Write SQL style guide. DONE Review celery.\n","date":1736812800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"9e26e73844be7d0e3aacc055a3a68408","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-14/","publishdate":"2025-01-14T00:00:00Z","relpermalink":"/post/journals/2025-01-14/","section":"post","summary":" Note Thinking fast and slow: introduce system 1 and system 2 thinking. Done DONE Write SQL style guide. DONE Review celery.\n","tags":["journal"],"title":"2025-01-14","type":"post"},{"authors":null,"categories":null,"content":" Note Lev Tolstoy wrote: “All happy families are alike; each unhappy family is unhappy in its own way.” This is also true in business. All successful startups succeed in the same way. All failed startups fail in different ways. Because successful startups have early, fast and cheap failures. Done DONE Gửi email report cho các thầy. DONE Review for anh Dong.\nDONE Review for Tuan.\nDONE Fix failed zoho unit test action.\nDONE Request review PR from anh Hieu.\nDONE Write dbt style guide first.\n","date":1736726400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"824b7694fda56ce81b67624e77949f70","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-13/","publishdate":"2025-01-13T00:00:00Z","relpermalink":"/post/journals/2025-01-13/","section":"post","summary":" Note Lev Tolstoy wrote: “All happy families are alike; each unhappy family is unhappy in its own way.” This is also true in business. All successful startups succeed in the same way. All failed startups fail in different ways. Because successful startups have early, fast and cheap failures. Done DONE Gửi email report cho các thầy. DONE Review for anh Dong.\nDONE Review for Tuan.\nDONE Fix failed zoho unit test action.\n","tags":["journal"],"title":"2025-01-13","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Review PR for Tuan. DONE Set-up a semantic release for nvim.\n","date":173664e4,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"ccf2a055df69b84de64dff58f33fe188","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-12/","publishdate":"2025-01-12T00:00:00Z","relpermalink":"/post/journals/2025-01-12/","section":"post","summary":" Done DONE Review PR for Tuan. DONE Set-up a semantic release for nvim.\n","tags":["journal"],"title":"2025-01-12","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Sync zoho invoices. DONE Sync zoho credit notes.\nDONE Write report for seminar.\n","date":1736380800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"a85002cd8d478bc88e1255cdc6c1be90","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-09/","publishdate":"2025-01-09T00:00:00Z","relpermalink":"/post/journals/2025-01-09/","section":"post","summary":" Done DONE Sync zoho invoices. DONE Sync zoho credit notes.\nDONE Write report for seminar.\n","tags":["journal"],"title":"2025-01-09","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Refactor alembic migrations again. DONE Review Tuan’s PR.\nDONE Update dotfiles readme.\nDONE GitHub action auto sync submodule between dotfiles and nvim.\nDONE Create PR to fix Jennie sync Zoho Events.\n","date":1736294400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"01497bee9016e987ebdc3bfafe6ab1ee","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-08/","publishdate":"2025-01-08T00:00:00Z","relpermalink":"/post/journals/2025-01-08/","section":"post","summary":" Done DONE Refactor alembic migrations again. DONE Review Tuan’s PR.\nDONE Update dotfiles readme.\nDONE GitHub action auto sync submodule between dotfiles and nvim.\nDONE Create PR to fix Jennie sync Zoho Events.\n","tags":["journal"],"title":"2025-01-08","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Move nvim’s media images to R2. DONE AQLearn chap 5.\nDONE Create PR to fix Jennie sync zoho books/subscriptions/events.\n","date":1736035200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"2f59bfac445b656f57df7d15d00d8a0c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-05/","publishdate":"2025-01-05T00:00:00Z","relpermalink":"/post/journals/2025-01-05/","section":"post","summary":" Done DONE Move nvim’s media images to R2. DONE AQLearn chap 5.\nDONE Create PR to fix Jennie sync zoho books/subscriptions/events.\n","tags":["journal"],"title":"2025-01-05","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Understand rag flow in ragapp/ragapp, then create repo for chat engine. ","date":1735948800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"0f7410d6da97346751a272eed6417481","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-04/","publishdate":"2025-01-04T00:00:00Z","relpermalink":"/post/journals/2025-01-04/","section":"post","summary":" Done DONE Understand rag flow in ragapp/ragapp, then create repo for chat engine. ","tags":["journal"],"title":"2025-01-04","type":"post"},{"authors":null,"categories":null,"content":" Done DONE AQLearn chap 3. DONE Fix changelog checker.\nDONE Review code for Tuan.\n","date":1735862400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"41cdeb2f12e16afe5030e36e9252d1e8","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-03/","publishdate":"2025-01-03T00:00:00Z","relpermalink":"/post/journals/2025-01-03/","section":"post","summary":" Done DONE AQLearn chap 3. DONE Fix changelog checker.\nDONE Review code for Tuan.\n","tags":["journal"],"title":"2025-01-03","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Learn AQLearn chap 2. DONE Checkout reviewdog or dangerci in holistics repos.\nDONE Read documentation sqlfluff.\n","date":1735776e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"099d8ed2ec4c886815418a48e19e7e84","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-02/","publishdate":"2025-01-02T00:00:00Z","relpermalink":"/post/journals/2025-01-02/","section":"post","summary":" Done DONE Learn AQLearn chap 2. DONE Checkout reviewdog or dangerci in holistics repos.\nDONE Read documentation sqlfluff.\n","tags":["journal"],"title":"2025-01-02","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Review PR for Tuan. DONE Review notebook POC.\n","date":1735689600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f249d818e19392b5ab36e54a68ad416d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2025-01-01/","publishdate":"2025-01-01T00:00:00Z","relpermalink":"/post/journals/2025-01-01/","section":"post","summary":" Done DONE Review PR for Tuan. DONE Review notebook POC.\n","tags":["journal"],"title":"2025-01-01","type":"post"},{"authors":null,"categories":null,"content":" Done DONE Review PR for Tuan. DONE Learn AMQL 1.\nDONE Push PR to update python version.\nDONE Resolve DE 129 and DE 131.\nDONE Complete writing docs for DE 132.\nDONE Create a CI flow to check if a PR has updated changelog.\n","date":1735603200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"f9632f094a9f7ec35d88d1a8d06a71e2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-12-31/","publishdate":"2024-12-31T00:00:00Z","relpermalink":"/post/journals/2024-12-31/","section":"post","summary":" Done DONE Review PR for Tuan. DONE Learn AMQL 1.\nDONE Push PR to update python version.\nDONE Resolve DE 129 and DE 131.\nDONE Complete writing docs for DE 132.\nDONE Create a CI flow to check if a PR has updated changelog.\n","tags":["journal"],"title":"2024-12-31","type":"post"},{"authors":null,"categories":null,"content":" Note I used to think directory structure is very important, but there’s no book or documentation that teaches it. The lesson I learned later is that it’s not that important. There can be a standard structure, but just follow the needs and framework. There’s no best way. ","date":1735430400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"4b52c428657f36081841456d8e13b0a5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-12-29/","publishdate":"2024-12-29T00:00:00Z","relpermalink":"/post/journals/2024-12-29/","section":"post","summary":" Note I used to think directory structure is very important, but there’s no book or documentation that teaches it. The lesson I learned later is that it’s not that important. There can be a standard structure, but just follow the needs and framework. There’s no best way. ","tags":["journal"],"title":"2024-12-29","type":"post"},{"authors":null,"categories":null,"content":" Note For managers, meetings are how we get through the day. For engineers, meetings are just an addition to their everyday coding. Since working, I know the pain of too many redundant meetings, which creates a mindset of respecting my own and others’ time. Engineers hate meetings. As a team leader, here’s what I found useful: Make sure meetings have goal/purpose. Finish the meeting early if its purpose has been fulfilled. Ask your engineers about their most productive time and avoid scheduling meetings here. Fill time with updates that are relevant to them. Invite only necessary people to the meeting. ","date":1735084800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"fd2978fe8bc90fc354d102458a4e3e3d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-12-25/","publishdate":"2024-12-25T00:00:00Z","relpermalink":"/post/journals/2024-12-25/","section":"post","summary":" Note For managers, meetings are how we get through the day. For engineers, meetings are just an addition to their everyday coding. Since working, I know the pain of too many redundant meetings, which creates a mindset of respecting my own and others’ time. Engineers hate meetings. As a team leader, here’s what I found useful: Make sure meetings have goal/purpose. Finish the meeting early if its purpose has been fulfilled. Ask your engineers about their most productive time and avoid scheduling meetings here. Fill time with updates that are relevant to them. Invite only necessary people to the meeting. ","tags":["journal"],"title":"2024-12-25","type":"post"},{"authors":null,"categories":null,"content":" Note Read an analysis about NVIDIA Vietnam - if corporations invest in VN but don’t share technology or help Vietnamese people become better, that’s not a worthwhile investment for VN. NVIDIA talks about AI to sell products and get rare earth to continue making chips. But the chance for Vietnam to have a semiconductor company is 0. Recently researching Linear (linear.app), a task management startup. They talk about local-first trend - user actions sync to local sqlite first, then sync to cloud to ensure seamless user experience. ","date":1734998400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688945,"objectID":"37f6e73a67b052d22049371632d0a15d","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-12-24/","publishdate":"2024-12-24T00:00:00Z","relpermalink":"/post/journals/2024-12-24/","section":"post","summary":" Note Read an analysis about NVIDIA Vietnam - if corporations invest in VN but don’t share technology or help Vietnamese people become better, that’s not a worthwhile investment for VN. NVIDIA talks about AI to sell products and get rare earth to continue making chips. But the chance for Vietnam to have a semiconductor company is 0. Recently researching Linear (linear.app), a task management startup. They talk about local-first trend - user actions sync to local sqlite first, then sync to cloud to ensure seamless user experience. ","tags":["journal"],"title":"2024-12-24","type":"post"},{"authors":null,"categories":null,"content":" Note Coffee helps me wake up quickly and strongly in a short time, but tea helps me stay alert all day without mental exhaustion. Learned so many good things from Asynchronous Communication. ","date":1733702400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"1f82e5abe2f69c4f504dd58656743fbd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-12-09/","publishdate":"2024-12-09T00:00:00Z","relpermalink":"/post/journals/2024-12-09/","section":"post","summary":" Note Coffee helps me wake up quickly and strongly in a short time, but tea helps me stay alert all day without mental exhaustion. Learned so many good things from Asynchronous Communication. ","tags":["journal"],"title":"2024-12-09","type":"post"},{"authors":null,"categories":null,"content":" Note Last month had many things happen with my work. Today I sat down to backup before returning the laptop to KMS. Realized in obsidian, I still have many unfinished plans, but all abandoned. Just doing those is already a plan for the whole next year. Reading The Analytics Setup Guidebook, I should take more notes into obsidian. ","date":1731888e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"7f9dcd1cdfb5f10d168972a9a98d0cf7","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-11-18/","publishdate":"2024-11-18T00:00:00Z","relpermalink":"/post/journals/2024-11-18/","section":"post","summary":" Note Last month had many things happen with my work. Today I sat down to backup before returning the laptop to KMS. Realized in obsidian, I still have many unfinished plans, but all abandoned. Just doing those is already a plan for the whole next year. Reading The Analytics Setup Guidebook, I should take more notes into obsidian. ","tags":["journal"],"title":"2024-11-18","type":"post"},{"authors":null,"categories":null,"content":" Note Llamamba Coding architecture. Priority tasks: translate CS50 lectures, build website, design exercises on github classroom, build AI system. Seems like I’m focusing too much on AI. Just wait for cloudflare to develop more. The task now is to focus on the core: have a website to learn python. ","date":1731369600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"1469c1a6e9614e19e808acda6225014b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-11-12/","publishdate":"2024-11-12T00:00:00Z","relpermalink":"/post/journals/2024-11-12/","section":"post","summary":" Note Llamamba Coding architecture. Priority tasks: translate CS50 lectures, build website, design exercises on github classroom, build AI system. Seems like I’m focusing too much on AI. Just wait for cloudflare to develop more. The task now is to focus on the core: have a website to learn python. ","tags":["journal"],"title":"2024-11-12","type":"post"},{"authors":null,"categories":null,"content":" Note KPOP and software are both industries. From HYBE insights, I think there are some similarities with the software industry. ","date":1731283200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"4d86e36084ea93c33f926c4466a1ee8e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-11-11/","publishdate":"2024-11-11T00:00:00Z","relpermalink":"/post/journals/2024-11-11/","section":"post","summary":" Note KPOP and software are both industries. From HYBE insights, I think there are some similarities with the software industry. ","tags":["journal"],"title":"2024-11-11","type":"post"},{"authors":null,"categories":null,"content":" Note Serverless is a new sky of knowledge for me. Cloudflare offers many free services based on serverless, if I can take advantage, I almost have a free app deployment solution. It would be great if all products are marketed based on personal branding. Like Elon Musk. Later when I do many solo-projects, I will integrate them all into my own ecosystem, and customers will know through personal brand. ","date":1730851200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"2875e73fb95f3fdae2d454c0294e896c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-11-06/","publishdate":"2024-11-06T00:00:00Z","relpermalink":"/post/journals/2024-11-06/","section":"post","summary":" Note Serverless is a new sky of knowledge for me. Cloudflare offers many free services based on serverless, if I can take advantage, I almost have a free app deployment solution. It would be great if all products are marketed based on personal branding. Like Elon Musk. Later when I do many solo-projects, I will integrate them all into my own ecosystem, and customers will know through personal brand. ","tags":["journal"],"title":"2024-11-06","type":"post"},{"authors":null,"categories":null,"content":" Note Semantic release: https://aws.amazon.com/vi/blogs/devops/using-semantic-versioning-to-simplify-release-management/ ","date":1730764800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"acc7948a5d2233292924a5983df04871","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-11-05/","publishdate":"2024-11-05T00:00:00Z","relpermalink":"/post/journals/2024-11-05/","section":"post","summary":" Note Semantic release: https://aws.amazon.com/vi/blogs/devops/using-semantic-versioning-to-simplify-release-management/ ","tags":["journal"],"title":"2024-11-05","type":"post"},{"authors":null,"categories":null,"content":" Note Found https://systemdesignschool.io/ - a site about system design that writes more systematically than ByteByteGo. ","date":1729555200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"015b266b791dce0000ac2d0ffe8ca26e","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-22/","publishdate":"2024-10-22T00:00:00Z","relpermalink":"/post/journals/2024-10-22/","section":"post","summary":" Note Found https://systemdesignschool.io/ - a site about system design that writes more systematically than ByteByteGo. ","tags":["journal"],"title":"2024-10-22","type":"post"},{"authors":null,"categories":null,"content":" Note For the CS50 translation project from Harvard, should have bilingual Vietnamese + English versions so users can learn English too. ","date":1729468800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"e94df5e67ff07c08684339517b1a669c","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-21/","publishdate":"2024-10-21T00:00:00Z","relpermalink":"/post/journals/2024-10-21/","section":"post","summary":" Note For the CS50 translation project from Harvard, should have bilingual Vietnamese + English versions so users can learn English too. ","tags":["journal"],"title":"2024-10-21","type":"post"},{"authors":null,"categories":null,"content":" Note Found https://codingchallenges.fyi/challenges/intro - a “Build Your Own” site, guides to build many tools like diff, docker, redis, etc. Good for hobby. Occasionally can make videos or project showcase. Github Classroom. ","date":1729382400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"4ddaa425c6e86729ecc1d030641fc4d5","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-20/","publishdate":"2024-10-20T00:00:00Z","relpermalink":"/post/journals/2024-10-20/","section":"post","summary":" Note Found https://codingchallenges.fyi/challenges/intro - a “Build Your Own” site, guides to build many tools like diff, docker, redis, etc. Good for hobby. Occasionally can make videos or project showcase. Github Classroom. ","tags":["journal"],"title":"2024-10-20","type":"post"},{"authors":null,"categories":null,"content":" Note When building AI applications, evaluation is essential. Must have evaluation step to know AI is progressing daily. This idea came when watching BABYMONSTER’s Introducing HARAM video. The good thing about YG training trainees is they always have monthly evaluation to measure growth of each person. The keyword is “Growth”. Even AI has evaluation, so why can’t humans? ","date":1729296e3,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"628ae81f99e815d711bea39df78a27f4","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-19/","publishdate":"2024-10-19T00:00:00Z","relpermalink":"/post/journals/2024-10-19/","section":"post","summary":" Note When building AI applications, evaluation is essential. Must have evaluation step to know AI is progressing daily. This idea came when watching BABYMONSTER’s Introducing HARAM video. The good thing about YG training trainees is they always have monthly evaluation to measure growth of each person. The keyword is “Growth”. Even AI has evaluation, so why can’t humans? ","tags":["journal"],"title":"2024-10-19","type":"post"},{"authors":null,"categories":null,"content":" Note https://superfastpython.com/ - learned about using threading and asyncio in python. https://learnprompting.org/docs/introduction - more comprehensive than prompting guide about prompt engineering and new techniques. Y Combinator’s startup course. Building a course website can imitate HackTheBox academy, using in-game currency called Box. To unlock a course use Box, if completed you get 20% back. ","date":1729123200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"0072107be66a0b6529b69e8ef96d0f2b","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-17/","publishdate":"2024-10-17T00:00:00Z","relpermalink":"/post/journals/2024-10-17/","section":"post","summary":" Note https://superfastpython.com/ - learned about using threading and asyncio in python. https://learnprompting.org/docs/introduction - more comprehensive than prompting guide about prompt engineering and new techniques. Y Combinator’s startup course. Building a course website can imitate HackTheBox academy, using in-game currency called Box. To unlock a course use Box, if completed you get 20% back. ","tags":["journal"],"title":"2024-10-17","type":"post"},{"authors":null,"categories":null,"content":" Note Found Lobe-chat: https://github.com/lobehub/lobe-chat/ - a nice frontend for LLM, supports many built-in prompts, tool calling, but no RAG and Workflows yet. Seems like future will have. Chinese wizards really make beautiful UI. Open WebUI. ","date":1728777600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"aa5b85c9c7a6bc1efb5c3a1d602bf0a2","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-13/","publishdate":"2024-10-13T00:00:00Z","relpermalink":"/post/journals/2024-10-13/","section":"post","summary":" Note Found Lobe-chat: https://github.com/lobehub/lobe-chat/ - a nice frontend for LLM, supports many built-in prompts, tool calling, but no RAG and Workflows yet. Seems like future will have. Chinese wizards really make beautiful UI. Open WebUI. ","tags":["journal"],"title":"2024-10-13","type":"post"},{"authors":null,"categories":null,"content":" Note Today I got requirements from Tinh Hoa Solutions customer. I think I performed well: asked all relevant questions, understood what user wants, asked carefully for special features or system interactions, requested resources, etc. This is a good opportunity to practice being a leader. If I can bring the project to production, it will be a big step for my career. To talk with end-users or customers who don’t understand tech, need a different way of speaking. Also looking forward to news from holistics.io, really want to join there. ","date":1728604800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"007a5ffacd0d073a95fde5ef3aaf4919","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-11/","publishdate":"2024-10-11T00:00:00Z","relpermalink":"/post/journals/2024-10-11/","section":"post","summary":" Note Today I got requirements from Tinh Hoa Solutions customer. I think I performed well: asked all relevant questions, understood what user wants, asked carefully for special features or system interactions, requested resources, etc. This is a good opportunity to practice being a leader. If I can bring the project to production, it will be a big step for my career. To talk with end-users or customers who don’t understand tech, need a different way of speaking. Also looking forward to news from holistics.io, really want to join there. ","tags":["journal"],"title":"2024-10-11","type":"post"},{"authors":null,"categories":null,"content":" Note SOYEON - Not Enough is an example of a hidden gem. Audience will be excited if they find a hidden gem. Holistics.io is a company I consider a pioneer in the analytics engineering movement in VN. Currently operating abroad, but very strong and their product looks very attractive. I really want to work at holistics, I believe working there I will grow fast. ","date":1728518400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"2ad4209bf1c742a2c63dbddd324ee920","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-10/","publishdate":"2024-10-10T00:00:00Z","relpermalink":"/post/journals/2024-10-10/","section":"post","summary":" Note SOYEON - Not Enough is an example of a hidden gem. Audience will be excited if they find a hidden gem. Holistics.io is a company I consider a pioneer in the analytics engineering movement in VN. Currently operating abroad, but very strong and their product looks very attractive. I really want to work at holistics, I believe working there I will grow fast. ","tags":["journal"],"title":"2024-10-10","type":"post"},{"authors":null,"categories":null,"content":" Note Learning design patterns is useful when you need them. Sometimes you don’t know what you don’t know, at least learn to understand the purpose of each design pattern, then search to review when needed. ","date":1728345600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"1dc6cc32ceab76027e333e49c7a41bd3","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-08/","publishdate":"2024-10-08T00:00:00Z","relpermalink":"/post/journals/2024-10-08/","section":"post","summary":" Note Learning design patterns is useful when you need them. Sometimes you don’t know what you don’t know, at least learn to understand the purpose of each design pattern, then search to review when needed. ","tags":["journal"],"title":"2024-10-08","type":"post"},{"authors":null,"categories":null,"content":" Note One thing I learned when working is some bugs cannot be fixed in a day or two. So wasting sleep time is useless, sometimes next morning you can fix it immediately. Should practice regular habits (eating, sleeping, pomodoro work) to work long-term for decades. The mistake a lot of students made is not prioritizing their health, their sleep. Found a book I want to read: Khi đồng minh tháo chạy. Author is Nguyen Tien Hung, a Vietnamese in USA, who worked with President Thieu and Ambassador Martin. Seems like an honest book about history around the Paris Agreement. ","date":1728259200,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"2e9e337ac323a950861b15a412e30c63","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-07/","publishdate":"2024-10-07T00:00:00Z","relpermalink":"/post/journals/2024-10-07/","section":"post","summary":" Note One thing I learned when working is some bugs cannot be fixed in a day or two. So wasting sleep time is useless, sometimes next morning you can fix it immediately. Should practice regular habits (eating, sleeping, pomodoro work) to work long-term for decades. The mistake a lot of students made is not prioritizing their health, their sleep. Found a book I want to read: Khi đồng minh tháo chạy. Author is Nguyen Tien Hung, a Vietnamese in USA, who worked with President Thieu and Ambassador Martin. Seems like an honest book about history around the Paris Agreement. ","tags":["journal"],"title":"2024-10-07","type":"post"},{"authors":null,"categories":null,"content":" Note We all know investing in learning is very worthwhile. But it’s not just money investment, but also determination, time, effort. Like buying books or e-reader doesn’t mean you will read them regularly. ","date":1728086400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"6409e8cffaaf0662e0330af7a9ab9938","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-05/","publishdate":"2024-10-05T00:00:00Z","relpermalink":"/post/journals/2024-10-05/","section":"post","summary":" Note We all know investing in learning is very worthwhile. But it’s not just money investment, but also determination, time, effort. Like buying books or e-reader doesn’t mean you will read them regularly. ","tags":["journal"],"title":"2024-10-05","type":"post"},{"authors":null,"categories":null,"content":" Note Coffee Nap is better than Coffee and Nap separately. Productivity methods I’m using: Use StayFocusd to block all social media apps I unconsciously open. Don’t use during work hours. Don’t use phone during work hours. Use pomodoro during work, 50min work/10min break. If in the mood, extend time. But must rest to stretch and relax the mind. Sleep at least 7-8 hours a day. Use coffee nap at noon. Prompt caching best practices: place static content at the beginning, maintain consistent usage patterns, monitor key metrics. ","date":1727913600,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"4b46b694fbdcdba1d66781f5f4c2b849","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-03/","publishdate":"2024-10-03T00:00:00Z","relpermalink":"/post/journals/2024-10-03/","section":"post","summary":" Note Coffee Nap is better than Coffee and Nap separately. Productivity methods I’m using: Use StayFocusd to block all social media apps I unconsciously open. Don’t use during work hours. Don’t use phone during work hours. Use pomodoro during work, 50min work/10min break. If in the mood, extend time. But must rest to stretch and relax the mind. Sleep at least 7-8 hours a day. Use coffee nap at noon. Prompt caching best practices: place static content at the beginning, maintain consistent usage patterns, monitor key metrics. ","tags":["journal"],"title":"2024-10-03","type":"post"},{"authors":null,"categories":null,"content":" Note Today is a day off to rest and recover mental health. Will use time to write Years of coding. One thing I admire from John Fish (at least on video) is being able to maintain high concentration to work more efficiently. And train that focus daily through reading, sleeping on time, working by plan, workout. Time to train high concentration! ","date":1727740800,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"72715780b86bf1ade78c7dfa4b1a22bd","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-10-01/","publishdate":"2024-10-01T00:00:00Z","relpermalink":"/post/journals/2024-10-01/","section":"post","summary":" Note Today is a day off to rest and recover mental health. Will use time to write Years of coding. One thing I admire from John Fish (at least on video) is being able to maintain high concentration to work more efficiently. And train that focus daily through reading, sleeping on time, working by plan, workout. Time to train high concentration! ","tags":["journal"],"title":"2024-10-01","type":"post"},{"authors":null,"categories":null,"content":" Note Today is a day off to rest. Use this time to do things I haven’t done before, rewind old things. I think butterfly effect (chaos theory) is everywhere, including in my own focus. Just one small distraction can lead to 30 minutes - 1 hour chasing that distraction. The brain must be a rational navigator to skip distractions or do them in maximum 2 minutes. Remember to take liver supplements and eye medicine. Haven’t watched John Fish videos for a long time. John Fish has a lifestyle I always admire. Also a software engineer, but has a minimalist lifestyle not always glued to the screen. Still faithful to paper writing, like daily notes. Bookmarks or saved groups on chrome left for a long time will decay. I think should digest them slowly into obsidian. ","date":1727654400,"expirydate":-62135596800,"kind":"page","lang":"en","lastmod":1779688944,"objectID":"b77efb56bf97198599f480c1762b18ce","permalink":"https://secondbrain.lelouvincx.com/post/journals/2024-09-30/","publishdate":"2024-09-30T00:00:00Z","relpermalink":"/post/journals/2024-09-30/","section":"post","summary":" Note Today is a day off to rest. Use this time to do things I haven’t done before, rewind old things. I think butterfly effect (chaos theory) is everywhere, including in my own focus. Just one small distraction can lead to 30 minutes - 1 hour chasing that distraction. The brain must be a rational navigator to skip distractions or do them in maximum 2 minutes. Remember to take liver supplements and eye medicine. Haven’t watched John Fish videos for a long time. John Fish has a lifestyle I always admire. Also a software engineer, but has a minimalist lifestyle not always glued to the screen. Still faithful to paper writing, like daily notes. Bookmarks or saved groups on chrome left for a long time will decay. I think should digest them slowly into obsidian. ","tags":["journal"],"title":"2024-09-30","type":"post"}]