<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Xtadalafix</title>
	<atom:link href="https://xtadalafix.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://xtadalafix.com</link>
	<description>Xtadalafix</description>
	<lastBuildDate>Tue, 21 Apr 2026 21:26:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>The Week in Charts (4/17/26)</title>
		<link>https://xtadalafix.com/the-week-in-charts-4-17-26/</link>
					<comments>https://xtadalafix.com/the-week-in-charts-4-17-26/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Tue, 21 Apr 2026 21:26:23 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/the-week-in-charts-4-17-26/</guid>

					<description><![CDATA[View the video of this post here. This week’s post is sponsored by YCharts. As tax season wraps up, many advisors shift from filing conversations to decision-making: what to do with cash, how to adjust portfolios, and how to communicate next steps clearly. The challenge isn’t the analysis, it’s turning it into something clients can actually [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<p>View the <strong>video of this post here</strong>.</p>
<p><iframe loading="lazy" title="The Greatest Trick the Fed Ever Pulled | The Week in Charts (4/12/26) | Charlie Bilello" width="640" height="360" src="https://www.youtube.com/embed/1Q3qPEr_2a4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>This week’s post is sponsored by <strong>YCharts.</strong></p>
<p>As tax season wraps up, many advisors shift from filing conversations to decision-making: what to do with cash, how to adjust portfolios, and how to communicate next steps clearly.</p>
<p>The challenge isn’t the analysis, it’s turning it into something clients can actually understand.</p>
<p><strong>YCharts makes that part simple.</strong></p>
<p>You can take a portfolio, analyze performance and allocations, and quickly turn it into a clean chart or proposal you can use in a client conversation right away.</p>
<p><strong>Learn more and get 20% off your initial YCharts Professional subscription</strong> (new customers only).</p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p><strong>The most important charts and themes in markets and investing</strong>…</p>
<p><strong>1)</strong> <strong>Stairs Down, Elevator Up</strong></p>
<p>The old saying in markets “stairs up, elevator down” has been flipped on its head this year.</p>
<p>It took the S&amp;P 500 over two months from its peak in January to fall 10% and less than three weeks to surge back to new all-time highs with a vertical rally of 13%.</p>
<figure class="wp-block-image size-full"></figure>
<p>Today the index crossed above 7,100 for the first time.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="619" height="650" src="https://bilello.blog/wp-content/uploads/2026/04/SP-milestones-4-17-26.png" alt="" class="wp-image-16387" srcset="https://bilello.blog/wp-content/uploads/2026/04/SP-milestones-4-17-26.png 619w, https://bilello.blog/wp-content/uploads/2026/04/SP-milestones-4-17-26-286x300.png 286w" sizes="auto, (max-width: 619px) 100vw, 619px"/></figure>
<p>What’s driving the market higher?</p>
<p>The expectation from investors that the war in Iran has effectively ended and that traffic in the Straight of Hormuz will soon return to normal.</p>
<p>The Energy sector gains and Consumer Discretionary sector losses since the start of the war have been completely erased with investors betting that the price of Oil and Gasoline will soon go back to where they were before the war began.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="579" src="https://bilello.blog/wp-content/uploads/2026/04/xly-xle-4-17-26.png" alt="" class="wp-image-16388" srcset="https://bilello.blog/wp-content/uploads/2026/04/xly-xle-4-17-26.png 840w, https://bilello.blog/wp-content/uploads/2026/04/xly-xle-4-17-26-300x207.png 300w, https://bilello.blog/wp-content/uploads/2026/04/xly-xle-4-17-26-768x529.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="580" src="https://bilello.blog/wp-content/uploads/2026/04/crude-oil-gasoline-4-17-26.png" alt="" class="wp-image-16389" srcset="https://bilello.blog/wp-content/uploads/2026/04/crude-oil-gasoline-4-17-26.png 840w, https://bilello.blog/wp-content/uploads/2026/04/crude-oil-gasoline-4-17-26-300x207.png 300w, https://bilello.blog/wp-content/uploads/2026/04/crude-oil-gasoline-4-17-26-768x530.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<p><strong>2) The Greatest Trick the Fed Ever Pulled</strong></p>
<p>Overall US CPI moved up to 3.3% in March, its highest level since April 2024.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="588" src="https://bilello.blog/wp-content/uploads/2026/04/cpi-inflation-rate-4-10-26.png" alt="" class="wp-image-16382" srcset="https://bilello.blog/wp-content/uploads/2026/04/cpi-inflation-rate-4-10-26.png 839w, https://bilello.blog/wp-content/uploads/2026/04/cpi-inflation-rate-4-10-26-300x210.png 300w, https://bilello.blog/wp-content/uploads/2026/04/cpi-inflation-rate-4-10-26-768x538.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px"/></figure>
<p>This was the 61st consecutive month that US CPI was above the Fed’s 2% target.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="925" height="536" src="https://bilello.blog/wp-content/uploads/2026/04/cpi-monthly-updated-march-2026.png" alt="" class="wp-image-16377" srcset="https://bilello.blog/wp-content/uploads/2026/04/cpi-monthly-updated-march-2026.png 925w, https://bilello.blog/wp-content/uploads/2026/04/cpi-monthly-updated-march-2026-300x174.png 300w, https://bilello.blog/wp-content/uploads/2026/04/cpi-monthly-updated-march-2026-768x445.png 768w" sizes="auto, (max-width: 925px) 100vw, 925px"/></figure>
<p>The greatest trick the Fed ever pulled was convincing the world 4% inflation didn’t exist.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="758" height="444" src="https://bilello.blog/wp-content/uploads/2026/04/us-cpi-vs.-trend-4-10-26.png" alt="" class="wp-image-16379" srcset="https://bilello.blog/wp-content/uploads/2026/04/us-cpi-vs.-trend-4-10-26.png 758w, https://bilello.blog/wp-content/uploads/2026/04/us-cpi-vs.-trend-4-10-26-300x176.png 300w" sizes="auto, (max-width: 758px) 100vw, 758px"/></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="551" src="https://bilello.blog/wp-content/uploads/2026/04/mallouk-473-price-increases-last-5-years-1024x551.png" alt="" class="wp-image-16398" srcset="https://bilello.blog/wp-content/uploads/2026/04/mallouk-473-price-increases-last-5-years-1024x551.png 1024w, https://bilello.blog/wp-content/uploads/2026/04/mallouk-473-price-increases-last-5-years-300x161.png 300w, https://bilello.blog/wp-content/uploads/2026/04/mallouk-473-price-increases-last-5-years-768x413.png 768w, https://bilello.blog/wp-content/uploads/2026/04/mallouk-473-price-increases-last-5-years.png 1036w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p><strong>3)</strong> <strong>Consumers Really Hate Inflation</strong></p>
<p>The US consumer sentiment index from the University of Michigan goes back to 1952. Incredibly, it has never been lower than it is today. This is a period that includes the stagflationary 1970s recession, the Global Financial Crisis and the covid downturn.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="838" height="569" src="https://bilello.blog/wp-content/uploads/2026/04/umich-consumer-sentiment-4-10-26.png" alt="" class="wp-image-16381" srcset="https://bilello.blog/wp-content/uploads/2026/04/umich-consumer-sentiment-4-10-26.png 838w, https://bilello.blog/wp-content/uploads/2026/04/umich-consumer-sentiment-4-10-26-300x204.png 300w, https://bilello.blog/wp-content/uploads/2026/04/umich-consumer-sentiment-4-10-26-768x521.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px"/></figure>
<p>What are consumers so gloomy?</p>
<p>Substantial increases in their concerns over high prices. This much is clear: consumers really, really hate inflation. But the question, of course, is do they hate it enough to reduce their discretionary spending? That remains to be seen.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="632" src="https://bilello.blog/wp-content/uploads/2026/04/image-6-1024x632.png" alt="" class="wp-image-16390" srcset="https://bilello.blog/wp-content/uploads/2026/04/image-6-1024x632.png 1024w, https://bilello.blog/wp-content/uploads/2026/04/image-6-300x185.png 300w, https://bilello.blog/wp-content/uploads/2026/04/image-6-768x474.png 768w, https://bilello.blog/wp-content/uploads/2026/04/image-6-1536x948.png 1536w, https://bilello.blog/wp-content/uploads/2026/04/image-6-2048x1264.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p><strong>4) Booming Big Banks</strong> <strong>Kick Off Earnings Season</strong></p>
<p>The 6 biggest US banks posted a record $45 billion in trading revenue during Q1, up 17% YoY.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="729" height="597" src="https://bilello.blog/wp-content/uploads/2026/04/image-7.png" alt="" class="wp-image-16391" srcset="https://bilello.blog/wp-content/uploads/2026/04/image-7.png 729w, https://bilello.blog/wp-content/uploads/2026/04/image-7-300x246.png 300w" sizes="auto, (max-width: 729px) 100vw, 729px"/></figure>
<p>All 6 posted earnings beats with strong net income growth over the past year:</p>
<ul class="wp-block-list">
<li>Citigroup: +42% increase in net income to $5.8 billion.</li>
<li>Morgan Stanley: +29% increase in net income to $5.6 billion.</li>
<li>Goldman Sachs: +19% increase in net income to $5.6 billion.</li>
<li>Bank of America: +17% increase in net income to $8.6 billion.</li>
<li>JPMorgan Chase: +13% increase in net income to $16.5 billion.</li>
<li>Wells Fargo: +7% increase in net income to $5.3 billion.</li>
</ul>
<p>Overall S&amp;P 500 earnings are expected to hit another record high in Q1, rising 14% YoY.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="729" height="417" src="https://bilello.blog/wp-content/uploads/2026/04/SP-operating-eps-ttm-4-17-26.png" alt="" class="wp-image-16392" srcset="https://bilello.blog/wp-content/uploads/2026/04/SP-operating-eps-ttm-4-17-26.png 729w, https://bilello.blog/wp-content/uploads/2026/04/SP-operating-eps-ttm-4-17-26-300x172.png 300w" sizes="auto, (max-width: 729px) 100vw, 729px"/></figure>
<p><strong>5) A Few Interesting Stats..</strong></p>
<p>a) Since 1949, the S&amp;P 500 has returned +38% on average in the year after bear market lows. And that’s exactly what it gained in the past year after the tariff bear market of 2025. (video discussion)</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="863" height="579" src="https://bilello.blog/wp-content/uploads/2026/04/mallouk-475-returns-from-bear-market-lows-updated-april-2026.png" alt="" class="wp-image-16378" srcset="https://bilello.blog/wp-content/uploads/2026/04/mallouk-475-returns-from-bear-market-lows-updated-april-2026.png 863w, https://bilello.blog/wp-content/uploads/2026/04/mallouk-475-returns-from-bear-market-lows-updated-april-2026-300x201.png 300w, https://bilello.blog/wp-content/uploads/2026/04/mallouk-475-returns-from-bear-market-lows-updated-april-2026-768x515.png 768w" sizes="auto, (max-width: 863px) 100vw, 863px"/></figure>
<p>b) The total Fertility Rate in the US has moved down to 1.57 births per woman, an all-time low.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="789" height="632" src="https://bilello.blog/wp-content/uploads/2026/04/us-fertility-rate-4-9-26.png" alt="" class="wp-image-16383" srcset="https://bilello.blog/wp-content/uploads/2026/04/us-fertility-rate-4-9-26.png 789w, https://bilello.blog/wp-content/uploads/2026/04/us-fertility-rate-4-9-26-300x240.png 300w, https://bilello.blog/wp-content/uploads/2026/04/us-fertility-rate-4-9-26-768x615.png 768w" sizes="auto, (max-width: 789px) 100vw, 789px"/></figure>
<p>c) The majority of US stocks (59%) underperformed Treasury bills over their lifetime and 45% ended with a negative cumulative return. (video discussion)</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="739" height="397" src="https://bilello.blog/wp-content/uploads/2026/04/do-stocks-outperform-treasury-bills-updated-2025.png" alt="" class="wp-image-16393" srcset="https://bilello.blog/wp-content/uploads/2026/04/do-stocks-outperform-treasury-bills-updated-2025.png 739w, https://bilello.blog/wp-content/uploads/2026/04/do-stocks-outperform-treasury-bills-updated-2025-300x161.png 300w" sizes="auto, (max-width: 739px) 100vw, 739px"/></figure>
<p>d) 29% of the wealth creation from US stocks in the past one hundred years came from just 10 stocks. (video discussion)</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="832" height="570" src="https://bilello.blog/wp-content/uploads/2026/04/top-10-stocks-lifetime-wealth-creation.png" alt="" class="wp-image-16394" srcset="https://bilello.blog/wp-content/uploads/2026/04/top-10-stocks-lifetime-wealth-creation.png 832w, https://bilello.blog/wp-content/uploads/2026/04/top-10-stocks-lifetime-wealth-creation-300x206.png 300w, https://bilello.blog/wp-content/uploads/2026/04/top-10-stocks-lifetime-wealth-creation-768x526.png 768w" sizes="auto, (max-width: 832px) 100vw, 832px"/></figure>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>And that’s it for this week. Thanks for reading and have a great weekend!</p>
<p>Every week I do a video breaking down the most important charts and themes in markets and investing. <strong>Subscribe to our YouTube channel HERE</strong> for the latest content.</p>
<p>Disclaimer: All information provided is for educational purposes only and does not constitute investment, legal or tax advice, or an offer to buy or sell any security. Read our full disclosures here.</p>
</div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/the-week-in-charts-4-17-26/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Audit Readiness Checklist: Ensure Clients Are Prepared</title>
		<link>https://xtadalafix.com/audit-readiness-checklist-ensure-clients-are-prepared/</link>
					<comments>https://xtadalafix.com/audit-readiness-checklist-ensure-clients-are-prepared/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Sun, 19 Apr 2026 20:43:27 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/audit-readiness-checklist-ensure-clients-are-prepared/</guid>

					<description><![CDATA[Key Points Audit readiness is an ongoing process requiring continuous monitoring and documentation for frameworks like HIPAA, SOC 2, and CMMC. Establish strong security baselines with RBAC, MFA, patching, antivirus, and encryption. Use a structured checklist to verify patching, backups, access controls, and logging. Automate evidence collection and reporting with NinjaOne RMM for faster compliance. [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<div class="in-context-cta">
<h2>Key Points</h2>
<ul>
<li>Audit readiness is an ongoing process requiring continuous monitoring and documentation for frameworks like HIPAA, SOC 2, and CMMC.</li>
<li>Establish strong security baselines with RBAC, MFA, patching, antivirus, and encryption.</li>
<li>Use a structured checklist to verify patching, backups, access controls, and logging.</li>
<li>Automate evidence collection and reporting with NinjaOne RMM for faster compliance.</li>
</ul>
</div>
<p>In highly regulated sectors, surprise audits are a common practice to help prevent compliance gaps that can arise from passive approaches to regulatory adherence. Surprise audits can reveal documentation concerns, inconsistent policies, and security weaknesses. That’s why managed service providers (MSPs) must enforce audit readiness in their routine operations and treat it more than an annual checklist.</p>
<p>Through a proactive compliance operations plan, MSPs ensure data, access, and reporting controls are always in place and verifiable. This reduces panic-driven remediation, avoids audit penalties, enhances client trust, and elevates operational maturity. Compliance can be transformed into a proactive service pillar and a strong narrative in quarterly business reviews (QBRs) when robust audit readiness is in place.</p>
<p>In this article, we will walk you through the tasks of preparing clients for a surprise compliance audit to ensure readiness for HIPAA, CMMC, and SOC 2 regulations.</p>
<h2>At a glance</h2>
<table>
<tbody>
<tr>
<td style="text-align:center;vertical-align:middle"><strong>Click a Task to Skip Ahead</strong></td>
<td style="text-align:center"><strong>Purpose</strong></td>
</tr>
<tr>
<td><strong>Task 1: Inventory devices by compliance scope</strong></td>
<td>To classify endpoints by HIPAA, CMMC, or SOC 2 for targeted checks</td>
</tr>
<tr>
<td><strong>Task 2: Validate patch, AV, and encryption status</strong></td>
<td>To confirm systems are patched, protected, and encrypted</td>
</tr>
<tr>
<td><strong>Task 3: Enforce policy baselines</strong></td>
<td>To apply consistent security policies across all devices</td>
</tr>
<tr>
<td><strong>Task 4: Validate logs, retention, and monitoring policies</strong></td>
<td>To ensure the generation, retention, and audit of logs</td>
</tr>
<tr>
<td><strong>Task 5: Verify access control and user tracking</strong></td>
<td>To track accounts, privileges, and remote access</td>
</tr>
<tr>
<td><strong>Task 6: Document backup and recovery proof</strong></td>
<td>To show evidence of successful backups for audit</td>
</tr>
</tbody>
</table>
<h2>Prerequisites for surprise compliance audit readiness</h2>
<p>Before proceeding with preparing clients for a surprise compliance audit, MSPs should ensure the following:</p>
<ul>
<li>Implementation of role-based access control based on least privilege, including enforced MFA.</li>
<li>Standardized patch management, antivirus/EDR, and backup solutions.</li>
<li>Proper configuration of Microsoft 365 or hybrid Active Directory environments.</li>
<li>Maintained scripting capabilities (registry, CMD, and PowerShell).</li>
<li>Deployment of a reliable RMM tool (such as NinjaOne) that is capable of pushing scripts, enforcing policies, and gathering compliance artifacts.</li>
</ul>
<h2 id="task-1">Task 1: Inventory devices by compliance scope</h2>
<p><strong>&#x1f4cc; Use Case:</strong></p>
<p>Tagging devices allows MSPs to filter components in RMM tools (like NinjaOne) to quickly identify which systems fall under the HIPAA, CMMC, or SOC 2 scope. It can also target compliance checks, run specific scripts, and generate audit-specific reports.</p>
<h3>To create compliance tags in the registry:</h3>
<ol>
<li>Open PowerShell as an administrator. Press the<strong> Windows key</strong>, type <strong>PowerShell</strong>, then right-click <strong>Windows PowerShell</strong> and select <strong>Run as administrator</strong>.</li>
<li>Run the following commands, but replace the <strong>“True”</strong> values with either <strong>True</strong> or <strong>False</strong> as appropriate for the endpoint’s compliance category (HIPAA, CMMC, SOC 2):</li>
</ol>
<p style="padding-left:40px"><strong>New-Item -Path “HKLM:\SOFTWARE\Org\ComplianceTags” -Force</strong></p>
<p style="padding-left:40px"><strong>Set-ItemProperty -Path “HKLM:\SOFTWARE\Org\ComplianceTags” -Name “HIPAA” -Value “True”</strong></p>
<p style="padding-left:40px"><strong>Set-ItemProperty -Path “HKLM:\SOFTWARE\Org\ComplianceTags” -Name “CMMC” -Value “True”</strong></p>
<p style="padding-left:40px"><strong>Set-ItemProperty -Path “HKLM:\SOFTWARE\Org\ComplianceTags” -Name “SOC2” -Value “True”</strong></p>
<h3>To manually verify tags:</h3>
<ol>
<li>Open Command Prompt as administrator. Press the <strong>Windows key </strong>+<strong> X</strong>, then select <strong>Command Prompt (Admin)</strong> or <strong>Windows Terminal (Admin)</strong>. If using Windows Terminal, ensure you’re in a <strong>Command Prompt tab</strong>, not PowerShell.</li>
<li>Run the following commands:</li>
</ol>
<p style="padding-left:40px"><strong>reg query HKLM\SOFTWARE\Org\ComplianceTags</strong></p>
<ol start="3">
<li>Alternatively, open the Registry Editor. Press the<strong> Windows key</strong> + <strong>R</strong>. Type <strong>regedit</strong> and press <strong>Enter</strong>.</li>
<li>Navigate to: <strong>HKEY_LOCAL_MACHINE\SOFTWARE\Org\ComplianceTags</strong></li>
<li>Verify that the expected compliance tag values (e.g., keys or string entries used by your organization) are present and match the configured policies. If they are missing or incorrect, the system may not be recognized as compliant during an audit.</li>
</ol>
<h2 id="task-2">Task 2: Validate patch, AV, and encryption status</h2>
<p><strong>&#x1f4cc; Use Case:</strong></p>
<p>This task verifies that systems are patched, antivirus is active, and encryption is enforced.</p>
<ol>
<li>Open PowerShell as an administrator. Press the<strong> Windows key</strong>, type <strong>PowerShell</strong>, then right-click <strong>Windows PowerShell</strong> and select <strong>Run as administrator</strong>.</li>
<li>Verify patch status for Windows Updates by running the following commands:</li>
</ol>
<ul>
<li style="list-style-type:none">
<ul style="list-style-type:disc">
<li>To see the last 5 installed updates:</li>
</ul>
</li>
</ul>
<p style="padding-left:80px"><strong>Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 5</strong></p>
<ul style="list-style-type:disc">
<li style="list-style-type:none">
<ul style="list-style-type:disc">
<li>To check for missing updates:</li>
</ul>
</li>
</ul>
<p style="padding-left:80px"><strong>Get-WindowsUpdateLog</strong></p>
<ul style="list-style-type:disc">
<li style="list-style-type:none">
<ul style="list-style-type:disc">
<li>Or, if the PSWindowsUpdate module is installed:</li>
</ul>
</li>
</ul>
<p style="padding-left:80px"><strong>Get-WindowsUpdate -MicrosoftUpdate -AcceptAll</strong></p>
<ul style="list-style-type:disc">
<li style="list-style-type:none">
<ul style="list-style-type:disc">
<li>To verify patch status for third-party software:</li>
</ul>
</li>
</ul>
<p style="padding-left:40px">Since Windows doesn’t provide a built-in command for these, you can use centralized patch management tools like NinjaOne. You can also check vendor update logs to confirm the latest versions are installed. Many audit teams expect both OS and third-party patches to be documented.</p>
<ol start="3">
<li>To verify AV/Defender status:</li>
</ol>
<p style="padding-left:40px"><strong>Get-MpComputerStatus | Select AMServiceEnabled, AntivirusEnabled, RealTimeProtectionEnabled</strong></p>
<ol start="4">
<li>To verify encryption (BitLocker)</li>
</ol>
<p style="padding-left:40px"><strong>Get-BitLockerVolume | Select MountPoint, ProtectionStatus</strong></p>
<ol start="5">
<li>The results can be exported to CSV and attached to audit prep tickets if needed.</li>
</ol>
<h2 id="task-3">Task 3: Enforce policy baselines</h2>
<p><strong>&#x1f4cc; Use Case:</strong></p>
<p>This task ensures consistent security policies are enforced across all systems, making audits easier to pass. GPOs or scripts can be used to drive compliance configurations, including account lockout policy, password length and complexity, audit object access and logon events, disable guest accounts, and enable security event log retention.</p>
<h3>For domain-joined systems (via Group Policy):</h3>
<ol>
<li>Open the <strong>Group Policy Management Console (GPMC).</strong></li>
<li>Edit or create a GPO.</li>
<li>Navigate to:
<ul style="list-style-type:disc">
<li><strong>Computer</strong> <strong>Configuration</strong> &gt; <strong>Windows</strong> <strong>Settings</strong> &gt; <strong>Security</strong> <strong>Settings</strong> &gt; <strong>Account</strong> <strong>Policies</strong></li>
<li><strong>Computer</strong> <strong>Configuration</strong> &gt; <strong>Windows</strong> <strong>Settings</strong> &gt; <strong>Security</strong> <strong>Settings</strong> &gt; <strong>Advanced</strong> <strong>Audit</strong> <strong>Policy</strong> <strong>Configuration</strong></li>
</ul>
</li>
<li>Configure password policies, account lockouts, screensaver (idle timeout enforcement) and auditing.</li>
</ol>
<h3>For standalone/non-domain systems (via Local Policy or scripts):</h3>
<ol>
<li>Press <strong>Windows key + R</strong>, type <strong>gpedit.msc</strong>, and press <strong>Enter</strong> to open the Local Group Policy Editor.</li>
<li>Configure the same policies locally under <strong>Security Settings</strong>.</li>
<li>If Group Policy is not available (e.g., Windows Home editions), apply registry-based scripts to enforce the same baselines.</li>
</ol>
<h2 id="task-4">Task 4: Validate logs, retention, and monitoring policies</h2>
<p><strong>&#x1f4cc; Use Case:</strong></p>
<p>This task can help you check if event logs are being generated, retained, and not overwritten. This is essential for compliance frameworks requiring log integrity and monitoring.</p>
<h3>To check security log status:</h3>
<ol>
<li>Open PowerShell as an administrator. Press the<strong> Windows key</strong>, type <strong>PowerShell</strong>, then right-click <strong>Windows PowerShell</strong> and select <strong>Run as administrator</strong>.</li>
<li>Run the following command:</li>
</ol>
<p style="padding-left:40px"><strong>Get-WinEvent -LogName Security -MaxEvents 5 | Format-List</strong></p>
<p>This command queries the <strong>Windows Security event log</strong> for the 5 most recent events and sends the output to the console (screen) in a list view<strong>. </strong>The number <strong>“5”</strong> is just for reference and can be changed based on the number of events you want to see.</p>
<p><strong>Running this command</strong> confirms that new events are actively being generated and recorded in the Security log. During an audit, this helps prove that log collection is functioning correctly and that logs aren’t missing or overwritten.</p>
<h3>To check the log retention policy:</h3>
<ol>
<li>Open Command Prompt as administrator. Press the <strong>Windows key </strong>+<strong> X</strong>, then select <strong>Command Prompt (Admin)</strong>.</li>
<li>Run the following command:</li>
</ol>
<p style="padding-left:40px"><strong>wevtutil gl Security | findstr “retention”</strong></p>
<p>This command will show the retention status of the <strong>Windows Security Event Log</strong>:</p>
<ul>
<li><strong>retention: false </strong>means that when full, the retention status of the Windows Security Event Log will be overwritten by the newest events.</li>
<li><strong>retention: true </strong>means that before overwriting, the log will be archived automatically.</li>
</ul>
<h2 id="task-5">Task 5: Verify access control and user tracking</h2>
<p><strong>&#x1f4cc; Use Case:</strong></p>
<p>This task can help MSPs document user accounts, privileged access, and RDP permissions. Demonstrating access reviews satisfies audit requirements for account governance.</p>
<h3>To check local user accounts:</h3>
<ol>
<li>Open Command Prompt as administrator. Press the <strong>Windows key </strong>+<strong> X</strong>, then select <strong>Command Prompt (Admin)</strong>.</li>
<li>Run the following command: <strong>net user &lt;username&gt;</strong></li>
</ol>
<p>This command displays detailed information about the specified account, including:</p>
<ul>
<li>Username and full name</li>
<li>Whether the account is active</li>
<li>Password requirements (expiration, last set, change required)</li>
<li>Group memberships</li>
<li>Profile path and home directory</li>
<li>Permitted logon hours</li>
</ul>
<h3>To list AD users with elevated rights:</h3>
<ol>
<li>Open PowerShell as an administrator. Press the<strong> Windows key</strong>, type <strong>PowerShell</strong>, then right-click <strong>Windows PowerShell</strong> and select <strong>Run as administrator</strong>.</li>
<li>Run the following command:</li>
</ol>
<p style="padding-left:40px"><strong>Get-ADGroupMember -Identity “Domain Admins”</strong></p>
<p>This command retrieves all members of the Domain Admins group in Active Directory, which typically includes accounts with the highest level of privileges. Reviewing this list helps confirm that only authorized users have elevated rights.</p>
<p style="padding-left:40px"><strong>Get-LocalGroupMember -Group “Remote Desktop Users”</strong></p>
<p>This command displays all the accounts that belong to the Remote Desktop Users group on the local machine. Anyone in this group can remotely log in to the system through Remote Desktop Protocol (RDP). Auditors often check this list to ensure that only approved users have remote access, since excessive or unmonitored RDP permissions can create compliance and security risks.</p>
<h2 id="task-6">Task 6: Document backup and recovery proof</h2>
<p><strong>&#x1f4cc; Use Case:</strong></p>
<p>This task can show the last successful backup in the registry for automated RMM scanning. Provides auditors with verifiable evidence that backup and recovery practices are enforced and monitored.</p>
<p>To verify that a last successful backup timestamp entry is created or updated in the registry:</p>
<ol>
<li>Open PowerShell as an administrator. Press the<strong> Windows key</strong>, type <strong>PowerShell</strong>, then right-click <strong>Windows PowerShell</strong> and select <strong>Run as administrator</strong>.</li>
<li>Run the following command:</li>
</ol>
<p style="padding-left:40px"><strong>Set-ItemProperty -Path “HKLM:\SOFTWARE\Org\ComplianceBackup” -Name “LastSuccessfulBackup” -Value (Get-Date).ToString(“u”)</strong></p>
<p style="padding-left:40px">This command creates or updates a custom registry key (ComplianceBackup) under the <strong>HKEY_LOCAL_MACHINE </strong><strong>key</strong>. The <strong>LastSuccessfulBackup</strong> value is set to the current date and time in universal format.</p>
<ol start="3">
<li>Integrate with your RMM system:
<ul style="list-style-type:disc">
<li>Most RMMs let you define <strong>custom fields</strong> or <strong>registry scan rules</strong>.</li>
<li>Configure your RMM to read the value of<strong> HKLM:\SOFTWARE\Org\ComplianceBackup\LastSuccessfulBackup.</strong></li>
<li>This way, the RMM can automatically track when the last successful backup was run and generate compliance evidence reports.</li>
</ul>
</li>
</ol>
<p>To verify that the last successful backup timestamp was recorded in the registry.</p>
<ol>
<li>Open the Registry Editor. Press the<strong> Windows key</strong> + <strong>R</strong>. Type <strong>regedit</strong> and press <strong>Enter</strong>.</li>
<li>Navigate to: <strong>HKEY_LOCAL_MACHINE\SOFTWARE\Org\ComplianceBackup</strong></li>
<li>Confirm that the <strong>LastSuccessfulBackup</strong> value shows the correct timestamp.</li>
</ol>
<p>In addition to registry-based tracking, RMM platforms like NinjaOne can generate detailed backup reports automatically. By applying policies, you can also define backup retention periods to ensure compliance with regulations such as HIPAA, CMMC, or SOC 2.</p>
<h2>&#x26a0;&#xfe0f; Troubleshooting/Things to look out for</h2>
<table>
<tbody>
<tr>
<td style="text-align:center"><strong>Risks</strong></td>
<td style="text-align:center"><strong>Potential Consequences</strong></td>
<td style="text-align:center"><strong>Reversals</strong></td>
</tr>
<tr>
<td>Missing registry tags</td>
<td>Audit evidence of backup or compliance activity may not exist.</td>
<td>Check if scripts are deployed with the SYSTEM context.</td>
</tr>
<tr>
<td>Log retention disabled</td>
<td>Key security and compliance events may be missing, leading to failed audit checks.</td>
<td>Use GPO to enforce min log sizes and retention.</td>
</tr>
<tr>
<td>Inaccurate user lists</td>
<td>Auditors may find discrepancies in access control documentation.</td>
<td>Refresh AD sync or review nested group membership.</td>
</tr>
<tr>
<td>Encryption not enabled</td>
<td>Devices without BitLocker may be flagged as non-compliant, exposing sensitive data.</td>
<td>Check BitLocker policy application and TPM presence.</td>
</tr>
</tbody>
</table>
<h2><strong>Additional considerations for surprise compliance audit preparation</strong></h2>
<p>Beyond the common matters to check, ensure these practices are in place:</p>
<ul>
<li><strong>DLP policies</strong>: Go beyond simply enabling Data Loss Prevention (DLP) in Microsoft 365 or on endpoints. During an audit, you may be asked to show how sensitive data is prevented from leaving the environment and how data retention and archiving rules are enforced. Be ready to demonstrate that backup systems meet required retention periods (for HIPAA, CMMC, or SOC 2) and that archived data is accessible for review.</li>
</ul>
<p>RMM solutions like NinjaOne can simplify this step by generating detailed reports on backup status, retention settings, and endpoint compliance, giving auditors clear evidence that your organization is protecting and retaining data properly.</p>
<ul>
<li><strong>MFA audit</strong>: Ensure all administrators and end-user accounts use Multi-Factor Authentication (MFA).</li>
<li><strong>Offboarding</strong>: Confirm deactivated accounts and asset return logs exist.</li>
<li><strong>Vendor risk tracking</strong>: Maintain an updated list of third-party services with access to data.</li>
<li><strong>Incident response readiness</strong>: Be prepared to explain your process for handling a compromised endpoint, including isolation, reimaging, and reporting procedures.</li>
<li><strong>Vulnerability scan results</strong>: Keep recent vulnerability scan reports for each endpoint to demonstrate proactive risk management.</li>
<li><strong>Device inventory</strong>: Maintain a complete, accurate inventory of all devices accessing organizational data.</li>
</ul>
<div class="in-context-cta">
<p style="text-align:center">To learn more about what NinjaOne can do, check out our FAQ on our RMM solution.</p>
</div>
<h2><strong>NinjaOne services for compliance audit readiness</strong></h2>
<p>NinjaOne and its tools can help prepare clients for a surprise compliance audit by deploying the following tools and capabilities:</p>
<ul>
<li><strong>Endpoint management:</strong> Tagging endpoints based on compliance scope (HIPAA, CMMC, SOC 2).</li>
<li><strong>Scripting:</strong> While NinjaOne provides built-in visibility into AV status, patching, and backups, scripting can be used to run regular checks for more specific compliance requirements, such as verifying encryption status, specific SaaS data, and others.</li>
<li><strong>Alerting:</strong> Alerting on gaps in compliance coverage or agent issues.</li>
<li><strong>Reporting:</strong> Generating pre-audit and QBR reports for internal and client-facing use.</li>
</ul>
<h2><strong>Final thoughts on preparing for surprise compliance audits</strong></h2>
<p>Audit readiness involves a collective effort from MSPs and clients, guaranteeing that the managed IT environment complies with industry regulations. MSPs, in particular, can implement practices such as device tagging, regular validation scripts, policy enforcement, log retention, user tracking, and backup documentation to help their clients prepare for surprise compliance audits.</p>
<p>It’s also ideal to pair these practices with a robust IT solution like NinjaOne. As a comprehensive endpoint management tool, NinjaOne supports scalable audit readiness across tenants, ensuring clients are ready in case independent auditors or regulatory bodies do a surprise compliance check.</p>
<div class="in-context-cta">
<p style="text-align:center">Want to learn more about how NinjaOne RMM simplifies automation and compliance management? Explore the NinjaOne RMM FAQ page.</p>
</div>
<h3><strong>Related topics:</strong></h3>
<div class="quick-start-guide">
<h2><svg xmlns="http://www.w3.org/2000/svg" width="45" height="45" viewbox="0 0 45 45" fill="none"><path d="M41.4822 0H3.51778C1.57496 0 0 1.57496 0 3.51778V41.4822C0 43.425 1.57496 45 3.51778 45H41.4822C43.425 45 45 43.425 45 41.4822V3.51778C45 1.57496 43.425 0 41.4822 0Z" fill="#053856"/><path d="M30.4399 13.9904C28.9161 12.4475 26.9127 11.6737 24.4346 11.6737C23.0721 11.6737 21.8188 11.911 20.6794 12.3858C19.5401 12.8605 18.5859 13.5346 17.8168 14.4129V11.2654L12.2766 13.867V32.562H18.0779V22.4739C18.0779 20.6224 18.5099 19.2267 19.3787 18.2867C20.2474 17.3515 21.4105 16.8815 22.8727 16.8815C24.1877 16.8815 25.1894 17.285 25.8825 18.0968C26.5756 18.9086 26.9222 20.1334 26.9222 21.7808V32.562H32.7234V21.2728C32.7234 18.2393 31.9591 15.5285 30.4399 13.9856V13.9904Z" fill="#04FF88"/></svg>Quick-Start Guide</h2>
<p>NinjaOne offers several features to help prepare clients for compliance audits like HIPAA, CMMC, and SOC 2:</p>
<ol>
<li><b data-stringify-type="bold">Vulnerability Management</b>
<ul>
<li>The Vulnerability Importer allows organizations to:
<ul>
<li>Import and track vulnerabilities from multiple security scanning tools</li>
<li>Centralize vulnerability data in a single dashboard</li>
<li>Prioritize and manage security risks across IT environments</li>
</ul>
</li>
</ul>
</li>
<li><b data-stringify-type="bold">Security Integrations</b>
<ul>
<li>NinjaOne supports integrations with security tools like:
<ul>
<li>CrowdStrike</li>
<li>SentinelOne</li>
<li>Bitdefender</li>
<li>Vulnerability scanners (Qualys, Rapid7, Tenable)</li>
</ul>
</li>
</ul>
</li>
<li><b data-stringify-type="bold">Compliance-Focused Features</b>
<ul>
<li>Patch Management: Automate OS and software patching to address known vulnerabilities</li>
<li>Device Monitoring: Track device health, configurations, and compliance status</li>
<li>Documentation Tools: Create checklists and knowledge bases for standardizing procedures</li>
<li>Encryption Key Management: Monitor BitLocker and FileVault encryption</li>
</ul>
</li>
<li><b data-stringify-type="bold">Access Control and Authentication</b>
<ul>
<li>Multi-Factor Authentication (MFA)</li>
<li>Single Sign-On (SSO) with SAML</li>
<li>Identity Management via SCIM</li>
<li>Granular user permissions and roles</li>
</ul>
</li>
<li><b data-stringify-type="bold">Reporting and Tracking</b>
<ul>
<li>Detailed device inventories</li>
<li>Vulnerability tracking</li>
<li>Compliance status monitoring</li>
</ul>
</li>
</ol>
</div>
</div>
<p><script id="meta-pixel" type="text/javascript" class="optanon-category-C0004"> window.addEventListener('load', () => { ! function(f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function() { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', ' fbq('init', '148315452373934'); fbq('track', 'PageView'); var currentURL = window.location.href; if (currentURL.indexOf('thankyou') !== -1 || currentURL.indexOf('thank-you') !== -1) { fbq('track', 'Lead'); } }); </script><br />
</p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/audit-readiness-checklist-ensure-clients-are-prepared/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Create a Custom Builder &#8211; A GotenbergBundle Story</title>
		<link>https://xtadalafix.com/create-a-custom-builder-a-gotenbergbundle-story/</link>
					<comments>https://xtadalafix.com/create-a-custom-builder-a-gotenbergbundle-story/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Fri, 17 Apr 2026 20:40:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/create-a-custom-builder-a-gotenbergbundle-story/</guid>

					<description><![CDATA[Previous article &#62;&#62; find it here You quickly end up with duplicated configuration, cluttered services, and conditional logic that&#8217;s hard to maintain. This article picks up exactly where we left off. We&#8217;ll build a Custom Builder — a dedicated class that encapsulates all the configuration and logic for a specific PDF type. By the end, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p></p>
<div id="content" data-sticky-nav-target="content">
<p><span><em>Previous article &gt;&gt; find it here</em></span></p>
<p><span>You quickly end up with duplicated configuration, cluttered services, and conditional logic that&#8217;s hard to maintain. This article picks up exactly where we left off. We&#8217;ll build a <strong>Custom Builder</strong> — a dedicated class that encapsulates all the configuration and logic for a specific PDF type. By the end, your controller will be reduced to a single expressive call, and each PDF type will live in its own clean, testable class.</span></p>
<h2 id="What-is-the-purpose-of-a-Custom-Builder"><span>What is the purpose of a Custom Builder?</span></h2>
<p><span>To make life easier, when you generate multiple PDF. If you generate multiple PDFs across your application, the configuration sometimes can’t be shared between all of them—mostly because of differences in styling.</span></p>
<p><span>This is where the Builder pattern comes into play. The Builder pattern is a design pattern that helps you construct complex objects step by step, separating how the object is built from its final representation. In this context, it allows you to encapsulate all the configuration and logic for a specific PDF type into a dedicated builder class.</span></p>
<p><span>By creating a custom Builder, you avoid cluttering your service with conditional logic or duplicating code. Instead, each custom builder handles its own configuration cleanly and efficiently, making your codebase easier to maintain and extend.</span></p>
<h2 id="Step-1-Update-the-dependencies"><span>Step 1: Update the dependencies</span></h2>
<p><span><em>TL;DR see this </em></span><em><span><u>commit</u></span></em></p>
<p><span>First, you need to update your dependencies to get the latest version of GotenbergBundle. To finally get the v1.2 which is not experimental anymore. </span></p>
<p><span>Yeah! </span>&#x1f37e;</p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="bash">
<pre><code>composer require sensiolabs/gotenberg-bundle:1.2.*</code></pre>
</div>
<h2 id="Step-2-Create-a-custom-builder-Class"><span>Step 2: Create a custom builder Class</span></h2>
<p><span><em>TL;DR see this </em></span><em><span><u>commit</u></span></em></p>
<p><span>Create a custom builder class that extends </span><span><u>AbstractBuilder</u></span><span> and implements </span><span><u>BuilderAssetInterface</u></span><span>.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="php">
<pre><code>&lt;?php

namespace App\Pdf;

use Sensiolabs\GotenbergBundle\Builder\AbstractBuilder;
use Sensiolabs\GotenbergBundle\Builder\BuilderAssetInterface;

final class InvoicePdfBuilder extends AbstractBuilder implements BuilderAssetInterface
{
   protected function getEndpoint(): string
   {
       // TODO: Implement getEndpoint() method.
   }

   public function addAsset(string $path): static
   {
       // TODO: Implement addAsset() method.
   }
}</code></pre>
</div>
<p><span>All native builders extend AbstractBuilder which defines the </span><span>generate</span><span> method. It also stores all the configurations you need such as </span><span>margin</span><span>, </span><span>width</span><span>… and prepares the payload before sending it to Gotenberg API.</span></p>
<p><span>Because you add assets into the Twig template you need to implement the BuilderAssetInterface.</span></p>
<p><span>Add the attribute </span><span>#[WithBuilderConfiguration(&#8216;pdf&#8217;, &#8216;invoice&#8217;)]</span><span> on the top of the class. </span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="php">
<pre><code>&lt;?php

namespace App\Pdf;

use Sensiolabs\GotenbergBundle\Builder\AbstractBuilder;
use Sensiolabs\GotenbergBundle\Builder\Attributes\WithBuilderConfiguration;
use Sensiolabs\GotenbergBundle\Builder\BuilderAssetInterface;

#[WithBuilderConfiguration('pdf', 'invoice')]
final class InvoicePdfBuilder extends AbstractBuilder implements BuilderAssetInterface
{
	// rest of the code
}</code></pre>
</div>
<p><span>This attribute will help you to get a semantic configuration for this custom builder.The first argument is to inject this new type of builder into the ‘pdf’ or ‘screenshot’ section. And the second is the naming you want.Let’s implement the methods now. </span></p>
<p><span>About the getEndpoint method, let’s use the existing constant </span><code class="code">HtmlPdfBuilder::ENDPOINT</code><span> since the Gotenberg API endpoint is the same as the one used in </span><code class="code">HtmlPdfBuilder</code><span>.</span></p>
<h3><span>If you want to generate PDF, the available traits are:</span></h3>
<ul>
<li>
<p><code class="code">AssetTrait</code><span> Includes methods to add assets.</span></p>
</li>
<li>
<p><code class="code">ContentTrait</code><span> Includes methods to add different content parts to your PDF.</span></p>
</li>
<li>
<p><code class="code">CookieTrait</code><span> Includes methods to set, add and forward cookies to Gotenberg API.</span></p>
</li>
<li>
<p><code class="code">CustomHttpHeadersTrait</code><span> Includes methods to add header  to Gotenberg API.</span></p>
</li>
<li>
<p><code class="code">EmulatedMediaTypeTrait</code><span> Includes a method to emulate screen or print.</span></p>
</li>
<li>
<p><code class="code">FailOnTrait</code><span> Includes methods to customize behavior on invalid status code.</span></p>
</li>
<li>
<p><code class="code">PdfPagePropertiesTrait</code><span> Includes methods to customize PDF rendering.</span></p>
</li>
<li>
<p><code class="code">PerformanceModeTrait</code><span> Method to not wait for Chromium network to be idle.</span></p>
</li>
<li>
<p><code class="code">WaitBeforeRenderingTrait</code><span> Includes methods to add delay before converting it to PDF.</span></p>
</li>
<li>
<p><code class="code">DownloadFromTrait</code><span> Includes a method to add external resources.</span></p>
</li>
<li>
<p><code class="code">MetadataTrait</code><span> Includes a method to add metadata.</span></p>
</li>
<li>
<p><code class="code">PdfFormatTrait</code><span> Includes methods about PDF formats.</span></p>
</li>
<li>
<p><code class="code">SplitTrait</code><span> Includes methods to split PDF.</span></p>
</li>
<li>
<p><code class="code">WebhookTrait</code><span> Includes methods to use webhooks.</span></p>
</li>
</ul>
<p><span>And all of them are combined into </span><code class="code">ChromiumPdfTrait</code><span>.If you want to make a custom builder about office, screenshot… you can find out all available traitsin the </span><span><u>GotenbergBundle source on GitHub</u></span><span>.So let’s add </span><code class="code">AssetTrait</code><span> that will implement the </span><code class="code">addAsset</code><span> method for us. Under the hood, this method stores for us the assets that come from Twig templates, or the one added on the fly.</span></p>
<p><code class="code">ContentTrait</code><span> is to get the possibility to use the method as </span><code class="code">header</code><span> and </span><code class="code">content</code><span> we use into the controller or footer configured into the configuration file sensiolabs_gotenberg.yaml.</span></p>
<p><span>And </span><code class="code">PdfPagePropertiesTrait</code><span> is for all methods about margins, landscape, paper width … and the PDF render customization.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="php">
<pre><code>&lt;?php

namespace App\Pdf;

use Sensiolabs\GotenbergBundle\Builder\AbstractBuilder;
use Sensiolabs\GotenbergBundle\Builder\Attributes\WithBuilderConfiguration;
use Sensiolabs\GotenbergBundle\Builder\Behaviors\Chromium\AssetTrait;
use Sensiolabs\GotenbergBundle\Builder\Behaviors\Chromium\ContentTrait;
use Sensiolabs\GotenbergBundle\Builder\Behaviors\Chromium\PdfPagePropertiesTrait;
use Sensiolabs\GotenbergBundle\Builder\BuilderAssetInterface;
use Sensiolabs\GotenbergBundle\Builder\Pdf\HtmlPdfBuilder;

#[WithBuilderConfiguration('pdf', 'invoice')]
final class InvoicePdfBuilder extends AbstractBuilder implements BuilderAssetInterface
{
   use AssetTrait;
   use ContentTrait;
   use PdfPagePropertiesTrait;

   protected function getEndpoint(): string
   {
       return HtmlPdfBuilder::ENDPOINT;
   }
}</code></pre>
</div>
<h2 id="Step-3-Update-the-configuration-file"><span>Step 3: Update the configuration file</span></h2>
<p><span><em>TL:DR see this </em></span><em><span><u>commit</u></span></em></p>
<p><span>You just need to update the name of the builder. The name is the one you configured in the </span><code class="code">WithBuilderConfiguration</code><span> attribute.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="diff">
<pre><code>sensiolabs_gotenberg:
   http_client: 'gotenberg.client'
   default_options:
       pdf:
-          html:
+          invoice:
               footer:
                   template: 'footer.html.twig'
               paper_width: '21cm'
               paper_height: '29.7cm'
               margin_top: '6cm'
               margin_bottom: '2cm'
               landscape: true</code></pre>
</div>
<h2 id="Step-4-Update-the-controller"><span>Step 4: Update the controller</span></h2>
<p><span><em>TL:DR see this </em></span><em><span><u>commit</u></span></em></p>
<p><span>As we did for the configuration, 2 lines have to be updated to use it.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="diff">
<pre><code>#[Route('/pdf', 'pdf')]
public function pdf(GotenbergPdfInterface $gotenbergPdf): Response
{
   $invoiceData = $this-&gt;invoiceData();

-   return $gotenbergPdf
-      -&gt;html()
+   return $gotenbergPdf-&gt;get(InvoicePdfBuilder::class)
       -&gt;header('header.html.twig', [
           'invoice' =&gt; $invoiceData['invoice'],
           'client' =&gt; $invoiceData['client'],
       ])
       -&gt;content('content.html.twig', [
           'purchases' =&gt; $invoiceData['purchases'],
           'invoice' =&gt; $invoiceData['invoice'],
       ])
       -&gt;generate()
       -&gt;stream()
   ;
}</code></pre>
</div>
<h2 id="Step-5-Let-s-make-it-work"><span>Step 5: Let’s make it work </span>&#x1f4aa;</h2>
<p><span><em>TL:DR see this </em></span><em><span><u>commit</u></span></em></p>
<p><span>If you have GotenbergBundle lower than v1.2 you need to add the configurator.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="yaml">
<pre><code># services.yaml
services:
	App\Pdf\InvoicePdfBuilder:
   configurator: '@sensiolabs_gotenberg.builder_configurator'</code></pre>
</div>
<p><span>Or since the version v1.0.1 you don’t need to do it on your own.Just register it in the </span><code class="code">build</code><span> method of your </span><code class="code">Kernel</code><span> class (</span><span><u>see Symfony&#8217;s kernel documentation if needed</u></span><span>).</span></p>
<p><span>First, we retrieve the </span><code class="code">'sensiolabs_gotenberg'</code><span> extension, then we only need to call </span><code class="code">registerBuilder</code><span> method with the custom builder FQCN as argument. Et voilà!</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="php">
<pre><code>class Kernel extends BaseKernel
{
   use MicroKernelTrait;

   protected function build(ContainerBuilder $container): void
   {
       /** @var SensiolabsGotenbergExtension $extension */
       $extension = $container-&gt;getExtension('sensiolabs_gotenberg');
       $extension-&gt;registerBuilder(InvoicePdfBuilder::class);
   }
}</code></pre>
</div>
<p><span>And all works like a charm.</span></p>
<h2 id="Step-6-Wait-we-forgot-the-whole-point"><span>Step 6: Wait… we forgot the whole point! </span>&#x1f926;</h2>
<p><span><em>TL:DR see this </em></span><em><span><u>commit</u></span></em></p>
<p><span>Whooo, we&#8217;ve been so focused on creating a new builder we forgot the actual purpose of a custom builder: encapsulating the logic.</span></p>
<p><span>Right now, the controller still knows too much — it fetches the invoice data, passes it to the header, passes it to the content… That&#8217;s exactly the kind of responsibility that should live inside InvoicePdfBuilder.</span></p>
<p><span>Let&#8217;s move all of that.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="php">
<pre><code>#[WithBuilderConfiguration('pdf', 'invoice')]
final class InvoicePdfBuilder extends AbstractBuilder implements BuilderAssetInterface
{
    use AssetTrait;
    use ContentTrait;
    use PdfPagePropertiesTrait;

    public function invoice(): self
    {
        $invoiceData = $this-&gt;invoiceData();
        
        $this-&gt;header('header.html.twig', [
            'invoice' =&gt; $invoiceData['invoice'],
            'client' =&gt; $invoiceData['client'],
        ]);
        
        $this-&gt;content('content.html.twig', [
            'purchases' =&gt; $invoiceData['purchases'],
            'invoice' =&gt; $invoiceData['invoice'],
        ]);
        
        return $this;
    }

    protected function getEndpoint(): string
    {
        return HtmlPdfBuilder::ENDPOINT;
    }

    private function invoiceData(): array
    {
        $factory = Factory::create();
        
        $allPurchases = [];
        for ($i = 0; $i &lt; 20; $i++) {
            $allPurchases[] = [
                'orderId' =&gt; $factory-&gt;unixTime(),
                'period' =&gt; $factory-&gt;dateTimeBetween('- 1 week')-&gt;format('Y-m-d') . ' - ' . $factory-&gt;dateTime('now')-&gt;format('Y-m-d'),
                'description' =&gt; $factory-&gt;sentence(),
                'price' =&gt; $factory-&gt;randomFloat(2, 1),
                'quantity' =&gt; $factory-&gt;randomDigitNotZero(),
                'total' =&gt; $factory-&gt;randomFloat(2, 1),
            ];
        }
        
        return [
            'invoice' =&gt; [
                'id' =&gt; $factory-&gt;unixTime(),
                'date' =&gt; $factory-&gt;dateTime()-&gt;format('Y-m-d'),
                'due_date' =&gt; $factory-&gt;dateTime('+1 week')-&gt;format('Y-m-d'),
                'sub_total' =&gt; $factory-&gt;randomFloat(2, 1),
                'total' =&gt; $factory-&gt;randomFloat(2, 1),
            ],
            'client' =&gt; [
                'phone_number' =&gt; $factory-&gt;e164PhoneNumber(),
                'name' =&gt; $factory-&gt;company(),
                'address' =&gt; $factory-&gt;address(),
                'city' =&gt; $factory-&gt;city(),
            ],
            'purchases' =&gt; $allPurchases
        ];
    }
}</code></pre>
</div>
<p><span>Now the controller becomes really simple as wanted in the best practice of Symfony.</span></p>
<div data-controller="code-highlight" data-code-highlight-target="code" data-code-highlight-language-value="diff">
<pre><code>#[Route('/pdf', 'pdf')]
public function pdf(GotenbergPdfInterface $gotenbergPdf): Response
{
-   $invoiceData = $this-&gt;invoiceData();
-
-   return $gotenbergPdf-&gt;get(InvoicePdfBuilder::class)
-       -&gt;header('header.html.twig', [
-           'invoice' =&gt; $invoiceData['invoice'],
-           'client' =&gt; $invoiceData['client'],
-       ])
-       -&gt;content('content.html.twig', [
-           'purchases' =&gt; $invoiceData['purchases'],
-           'invoice' =&gt; $invoiceData['invoice'],
-       ])
-       -&gt;generate()
-       -&gt;stream()
-   ;

+   return $gotenbergPdf-&gt;get(InvoicePdfBuilder::class)
+       -&gt;invoice()
+       -&gt;generate()
+       -&gt;stream()
+   ;
}</code></pre>
</div>
<p><span>The controller no longer knows anything about templates or data structure. It just says &#8220;<em>give me the invoice PDF</em>&#8221; and the builder handles the rest. That&#8217;s the whole point. </span>&#x1f3af;</p>
<h2 id="Conclusion"><span>Conclusion</span></h2>
<p><span>Now when you run </span><code class="code">php bin/console debug:config sensiolabs_gotenberg</code><span>, you&#8217;ll see your custom builder&#8217;s configuration neatly integrated alongside the native ones — a good sign that everything is properly wired.</span></p>
<p><span>More importantly, look at what we&#8217;ve achieved:</span></p>
<ul>
<li>
<p><span><strong>The controller is clean</strong>. It no longer knows anything about templates, data structure, or rendering logic. It simply asks for an invoice PDF and gets one.</span></p>
</li>
<li>
<p><span><strong>The logic is encapsulated.</strong> </span><code class="code">InvoicePdfBuilder</code><span> owns everything related to invoice PDFs: the endpoint, the traits it needs, the templates, the data. If the invoice layout changes tomorrow, you know exactly where to go.</span></p>
</li>
<li>
<p><span><strong>The configuration is semantic</strong>. Thanks to </span><code class="code">#[WithBuilderConfiguration('pdf', 'invoice')]</code><span>, your </span><code class="code">sensiolabs_gotenberg.yaml</code><span> reads naturally, and you can configure margins, footer, or paper size per builder without any workaround.</span></p>
</li>
<li>
<p><span><strong>It scales</strong>. Need a </span><code class="code">ReportPdfBuilder</code><span>? Follow the same steps. Each PDF type gets its own builder, its own configuration block, and zero interference with the others.</span></p>
</li>
</ul>
<p><span>This is the Builder pattern at its best in a Symfony context: predictable, maintainable, and easy to extend. Give it a try in your next project and let us know how it goes </span>&#x1f680;</p>
</p></div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/create-a-custom-builder-a-gotenbergbundle-story/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Week in Charts (12/24/25)</title>
		<link>https://xtadalafix.com/the-week-in-charts-12-24-25/</link>
					<comments>https://xtadalafix.com/the-week-in-charts-12-24-25/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Wed, 15 Apr 2026 20:36:34 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/the-week-in-charts-12-24-25/</guid>

					<description><![CDATA[View the video of this post here. This week’s post is sponsored by YCharts. Is the AI Boom the Next Dot-Com Bubble? Watch a replay of our live show on this question (YouTube) and download the slide deck HERE. Get 20% off your YCharts Professional subscription when you initially sign up for the service. The most important [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<p>View the <strong>video of this post here</strong>.</p>
<p><iframe loading="lazy" title="The Return of QE | The Week in Charts (12/19/25) | Charlie Bilello | Creative Planning" width="640" height="360" src="https://www.youtube.com/embed/FOZrhkNd1AM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>This week’s post is sponsored by <strong>YCharts.</strong></p>
<p>Is the AI Boom the Next Dot-Com Bubble?</p>
<p>Watch a replay of our live show on this question (<strong><span style="text-decoration: underline;">YouTube</span></strong>) and download the slide deck <strong><span style="text-decoration: underline;">HERE</span></strong>.</p>
<figure class="wp-block-image size-full"></figure>
<p><strong>Get 20% off</strong> your YCharts Professional subscription when you initially sign up for the service.</p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p><strong>The most important charts and themes in markets and investing</strong>…</p>
<p><strong>1) A Confusing Labor Market</strong></p>
<p>The labor market in the US has perhaps never been more confusing than it is today.</p>
<p>The latest nonfarm payroll report revealed that the US has added an average of 10k jobs per month over the last 4 months, the fewest since the 2020 recession.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="709" height="408" src="https://bilello.blog/wp-content/uploads/2025/12/nonfarm-payrolls-4-month-average-12-16-25.png" alt="" class="wp-image-15931" srcset="https://bilello.blog/wp-content/uploads/2025/12/nonfarm-payrolls-4-month-average-12-16-25.png 709w, https://bilello.blog/wp-content/uploads/2025/12/nonfarm-payrolls-4-month-average-12-16-25-300x173.png 300w" sizes="auto, (max-width: 709px) 100vw, 709px"/></figure>
<p>The total number of jobs in the US increased by 0.6% over the past year, the slowest growth rate since March 2021. In the past 50 years, this type of weakness has preceded a recession and a spike in the Unemployment Rate 100% of the time.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="708" height="434" src="https://bilello.blog/wp-content/uploads/2025/12/payrolls-yoy-12-16-25.png" alt="" class="wp-image-15932" srcset="https://bilello.blog/wp-content/uploads/2025/12/payrolls-yoy-12-16-25.png 708w, https://bilello.blog/wp-content/uploads/2025/12/payrolls-yoy-12-16-25-300x184.png 300w" sizes="auto, (max-width: 708px) 100vw, 708px"/></figure>
<p>But is this time different?</p>
<p>Many are arguing just that, pointing to lower immigration levels as the primary factor leading to the rapid decline in jobs. A Minneapolis Fed analysis found that half of the payroll decline can be attributed to reduced immigration.</p>
<p>But what about the other half?</p>
<p>There’s much debate about that as well, with Fed Chairman Jerome Powell saying recently that the US has been overstating jobs by up to 60k per month. So perhaps part of the decline is merely due to simply reflecting reality as opposed to previously using models that inflated the jobs numbers.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="616" height="125" src="https://bilello.blog/wp-content/uploads/2025/12/image-2.png" alt="" class="wp-image-15954" srcset="https://bilello.blog/wp-content/uploads/2025/12/image-2.png 616w, https://bilello.blog/wp-content/uploads/2025/12/image-2-300x61.png 300w" sizes="auto, (max-width: 616px) 100vw, 616px"/></figure>
<p>“It’s a complicated, unusual, and difficult situation, where the labor market is also under pressure, where job creation may actually be negative,” Powell said. </p>
<p>Indeed, looking at the ADP private payroll numbers over the last 3 months (-4k/month), that appears to be the case.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="711" height="412" src="https://bilello.blog/wp-content/uploads/2025/12/adp-3-month-employment-12-3-25.png" alt="" class="wp-image-15955" srcset="https://bilello.blog/wp-content/uploads/2025/12/adp-3-month-employment-12-3-25.png 711w, https://bilello.blog/wp-content/uploads/2025/12/adp-3-month-employment-12-3-25-300x174.png 300w" sizes="auto, (max-width: 711px) 100vw, 711px"/></figure>
<p>Irrespective of your explanation for the decline in payrolls over the past year, this much is clear: the labor market is cooling. Evidence pointing to this fact includes:</p>
<ul class="wp-block-list">
<li>The US Unemployment Rate moving up to 4.6% in November, the highest level since September 2021.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="731" height="470" src="https://bilello.blog/wp-content/uploads/2025/12/ue-rate-12-16-25.png" alt="" class="wp-image-15934" srcset="https://bilello.blog/wp-content/uploads/2025/12/ue-rate-12-16-25.png 731w, https://bilello.blog/wp-content/uploads/2025/12/ue-rate-12-16-25-300x193.png 300w" sizes="auto, (max-width: 731px) 100vw, 731px"/></figure>
<ul class="wp-block-list">
<li>There are now 160k more Unemployed Persons than Job Openings in the US. Excluding the 2020 covid recession, this is the widest spread we’ve seen since 2017.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="504" src="https://bilello.blog/wp-content/uploads/2025/12/unemployed-vs.-job-openings-12-19-25.png" alt="" class="wp-image-15941" srcset="https://bilello.blog/wp-content/uploads/2025/12/unemployed-vs.-job-openings-12-19-25.png 840w, https://bilello.blog/wp-content/uploads/2025/12/unemployed-vs.-job-openings-12-19-25-300x180.png 300w, https://bilello.blog/wp-content/uploads/2025/12/unemployed-vs.-job-openings-12-19-25-768x461.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<ul class="wp-block-list">
<li>The percentage of US workers quitting their jobs has moved down to 1.8%, the lowest since May 2020.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="838" height="562" src="https://bilello.blog/wp-content/uploads/2025/12/quits-rate-12-9-25.png" alt="" class="wp-image-15933" srcset="https://bilello.blog/wp-content/uploads/2025/12/quits-rate-12-9-25.png 838w, https://bilello.blog/wp-content/uploads/2025/12/quits-rate-12-9-25-300x201.png 300w, https://bilello.blog/wp-content/uploads/2025/12/quits-rate-12-9-25-768x515.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px"/></figure>
<p>But a cooling labor market is not the same thing a recessionary labor market. In a cooling labor market companies slow their rates of hiring whereas in a recessionary labor market companies actively reduce their workforce due to declines in demand.</p>
<p>The best evidence for the cooling scenario continues to be Initial Jobless Claims, which are hovering near their lowest levels of the year. During a recession, we would expect this number to be rising as newly laid off workers would be filing for unemployment.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="566" src="https://bilello.blog/wp-content/uploads/2025/12/jobless-claims-12-19-25.png" alt="" class="wp-image-15956" srcset="https://bilello.blog/wp-content/uploads/2025/12/jobless-claims-12-19-25.png 839w, https://bilello.blog/wp-content/uploads/2025/12/jobless-claims-12-19-25-300x202.png 300w, https://bilello.blog/wp-content/uploads/2025/12/jobless-claims-12-19-25-768x518.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px"/></figure>
<p>So when it comes to labor market weakness, this time is actually different – at least so far.</p>
<p><strong>2) Distorted Inflation Data</strong></p>
<p>The good news?</p>
<p>CPI moved down to 2.7% in November, well below consensus estimates for a 3.1% increase.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="759" height="448" src="https://bilello.blog/wp-content/uploads/2025/12/cpi-monthly-since-sep-2022.png" alt="" class="wp-image-15957" srcset="https://bilello.blog/wp-content/uploads/2025/12/cpi-monthly-since-sep-2022.png 759w, https://bilello.blog/wp-content/uploads/2025/12/cpi-monthly-since-sep-2022-300x177.png 300w" sizes="auto, (max-width: 759px) 100vw, 759px"/></figure>
<p>The bad news?</p>
<p>The data released by the BLS was missing many important numbers due to the government shutdown (including the entire October CPI level), leading many to question how reliable the 2.7% figure actually is.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="684" height="482" src="https://bilello.blog/wp-content/uploads/2025/12/image-4.png" alt="" class="wp-image-15959" srcset="https://bilello.blog/wp-content/uploads/2025/12/image-4.png 684w, https://bilello.blog/wp-content/uploads/2025/12/image-4-300x211.png 300w" sizes="auto, (max-width: 684px) 100vw, 684px"/></figure>
<p>The decline in Shelter CPI inflation from 3.6% YoY in September to 3.0% YoY in November was the main factor in bringing down overall CPI as Shelter represents over a third of the index. But the question is whether this is a true reading or a downward bias due to the shutdown with the BLS filling in 0% inflation for missing owners’ equivalent rent data. The BLS has yet to comment on this but if it’s a downward bias we could see the inflation rate move back up in the next report.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="721" height="467" src="https://bilello.blog/wp-content/uploads/2025/12/shelter-cpi-vs.-rents-yoy-12-18-25.png" alt="" class="wp-image-15942" srcset="https://bilello.blog/wp-content/uploads/2025/12/shelter-cpi-vs.-rents-yoy-12-18-25.png 721w, https://bilello.blog/wp-content/uploads/2025/12/shelter-cpi-vs.-rents-yoy-12-18-25-300x194.png 300w" sizes="auto, (max-width: 721px) 100vw, 721px"/></figure>
<p><strong>3) More Rate Cuts and the Return of QE</strong></p>
<p>As expected, the Fed cut interest rates once again in December, bringing the Fed Funds Rate down to a new range of 3.50-3.75%.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="837" height="578" src="https://bilello.blog/wp-content/uploads/2025/12/fed-funds-rate-vs.-cpi-inflation-rate-12-19-25.png" alt="" class="wp-image-15948" srcset="https://bilello.blog/wp-content/uploads/2025/12/fed-funds-rate-vs.-cpi-inflation-rate-12-19-25.png 837w, https://bilello.blog/wp-content/uploads/2025/12/fed-funds-rate-vs.-cpi-inflation-rate-12-19-25-300x207.png 300w, https://bilello.blog/wp-content/uploads/2025/12/fed-funds-rate-vs.-cpi-inflation-rate-12-19-25-768x530.png 768w" sizes="auto, (max-width: 837px) 100vw, 837px"/></figure>
<p>Meanwhile, US CPI has risen by nearly 4% per year since the start of 2020 (2x their target inflation rate), meaning the Fed has completely abandoned their mandate to maintain price stability.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="744" height="434" src="https://bilello.blog/wp-content/uploads/2025/12/us-cpi-vs.-trend-12-18-25.png" alt="" class="wp-image-15938" srcset="https://bilello.blog/wp-content/uploads/2025/12/us-cpi-vs.-trend-12-18-25.png 744w, https://bilello.blog/wp-content/uploads/2025/12/us-cpi-vs.-trend-12-18-25-300x175.png 300w" sizes="auto, (max-width: 744px) 100vw, 744px"/></figure>
<p>And after a $2.4 trillion balance-sheet reduction from the peak in April 2022, the Fed has officially flipped the switch. QT ended in November and QE is already back. In their latest meeting, the Fed announced $40 billion per month in Treasury Bill purchases to start.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="838" height="563" src="https://bilello.blog/wp-content/uploads/2025/12/fed-total-assets-12-19-25.png" alt="" class="wp-image-15930" srcset="https://bilello.blog/wp-content/uploads/2025/12/fed-total-assets-12-19-25.png 838w, https://bilello.blog/wp-content/uploads/2025/12/fed-total-assets-12-19-25-300x202.png 300w, https://bilello.blog/wp-content/uploads/2025/12/fed-total-assets-12-19-25-768x516.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px"/></figure>
<p>Where will that money come from? They will create it out of thin air, with accelerating increases in the money supply which continues to hit record highs.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="838" height="565" src="https://bilello.blog/wp-content/uploads/2025/12/money-supply-ath-12-24-25.png" alt="" class="wp-image-15961" srcset="https://bilello.blog/wp-content/uploads/2025/12/money-supply-ath-12-24-25.png 838w, https://bilello.blog/wp-content/uploads/2025/12/money-supply-ath-12-24-25-300x202.png 300w, https://bilello.blog/wp-content/uploads/2025/12/money-supply-ath-12-24-25-768x518.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px"/></figure>
<p>My expectation is that this latest announcement is paving the way for more bond buying in 2026 on the long end of the curve.</p>
<p>Why?</p>
<p>Despite the Fed cutting short-term rates by 175 bps since September 2024, long-term bond yields have risen. The 30-year Treasury yield was below 4% when the Fed started cutting rates and is now above 4.8%. Which means the market is betting on higher long-term inflation.</p>
<p>How do you counteract that?</p>
<p>Either by pursuing policies that lower future inflation (reducing the deficit, raising interest rates, less money printing) or by manipulating the bond market. The most palatable of these options is engaging in yield curve control (more QE) – which is why I believe it’s only a matter of time before the Fed is pressured to do so.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="567" src="https://bilello.blog/wp-content/uploads/2025/12/30-yr-treasury-yield-12-19-25-1.png" alt="" class="wp-image-15960" srcset="https://bilello.blog/wp-content/uploads/2025/12/30-yr-treasury-yield-12-19-25-1.png 840w, https://bilello.blog/wp-content/uploads/2025/12/30-yr-treasury-yield-12-19-25-1-300x203.png 300w, https://bilello.blog/wp-content/uploads/2025/12/30-yr-treasury-yield-12-19-25-1-768x518.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<p><strong>4) The Lower Rates Litmus Test</strong></p>
<p>Speaking of pressure, this much is clear: the next Fed chairman will much more receptive to President Trump’s unrelenting calls for lower interest rates.</p>
<p>How do we know this?</p>
<p>He has said exactly that…</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="758" height="692" src="https://bilello.blog/wp-content/uploads/2025/12/image-1.png" alt="" class="wp-image-15951" srcset="https://bilello.blog/wp-content/uploads/2025/12/image-1.png 758w, https://bilello.blog/wp-content/uploads/2025/12/image-1-300x274.png 300w" sizes="auto, (max-width: 758px) 100vw, 758px"/></figure>
<p>And who is the leading candidate for the chair position? Kevin Hassett, who stated in the past week that the US is “way behind the curve on lowering rates” and that “there’s a lot more room for lower rates.”</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="482" src="https://bilello.blog/wp-content/uploads/2025/12/trump-next-fed-chair-12-22-25-1024x482.png" alt="" class="wp-image-15962" srcset="https://bilello.blog/wp-content/uploads/2025/12/trump-next-fed-chair-12-22-25-1024x482.png 1024w, https://bilello.blog/wp-content/uploads/2025/12/trump-next-fed-chair-12-22-25-300x141.png 300w, https://bilello.blog/wp-content/uploads/2025/12/trump-next-fed-chair-12-22-25-768x362.png 768w, https://bilello.blog/wp-content/uploads/2025/12/trump-next-fed-chair-12-22-25.png 1389w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>Say goodbye to the “independent” Fed.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="593" height="349" src="https://bilello.blog/wp-content/uploads/2025/12/image-5.png" alt="" class="wp-image-15963" srcset="https://bilello.blog/wp-content/uploads/2025/12/image-5.png 593w, https://bilello.blog/wp-content/uploads/2025/12/image-5-300x177.png 300w" sizes="auto, (max-width: 593px) 100vw, 593px"/></figure>
<p><strong>5) The Year of the Comeback</strong></p>
<p>On April 8, the S&amp;P 500 was down over 15% on the year, its 4th worst start to a year ever. But after a 38% rally, it’s now up 17% on the year, hitting 38 all-time highs along the way. This has been one of the greatest market comebacks in history.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="449" height="547" src="https://bilello.blog/wp-content/uploads/2025/12/SP-comeback-12-23-25.png" alt="" class="wp-image-15965" srcset="https://bilello.blog/wp-content/uploads/2025/12/SP-comeback-12-23-25.png 449w, https://bilello.blog/wp-content/uploads/2025/12/SP-comeback-12-23-25-246x300.png 246w" sizes="auto, (max-width: 449px) 100vw, 449px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="458" height="505" src="https://bilello.blog/wp-content/uploads/2025/12/SP-500-aths-12-23-25.png" alt="" class="wp-image-15964" srcset="https://bilello.blog/wp-content/uploads/2025/12/SP-500-aths-12-23-25.png 458w, https://bilello.blog/wp-content/uploads/2025/12/SP-500-aths-12-23-25-272x300.png 272w" sizes="auto, (max-width: 458px) 100vw, 458px"/></figure>
<p>The US economy showed a big comeback as well. After a -0.6% downturn in Q1, real GDP snapped back with a +3.8% reading in Q2 and +4.3% in Q3. The Q3 number was over 1% higher than consensus estimates.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="821" height="522" src="https://bilello.blog/wp-content/uploads/2025/12/us-real-gdp-quarterly-12-23-25.png" alt="" class="wp-image-15967" srcset="https://bilello.blog/wp-content/uploads/2025/12/us-real-gdp-quarterly-12-23-25.png 821w, https://bilello.blog/wp-content/uploads/2025/12/us-real-gdp-quarterly-12-23-25-300x191.png 300w, https://bilello.blog/wp-content/uploads/2025/12/us-real-gdp-quarterly-12-23-25-768x488.png 768w" sizes="auto, (max-width: 821px) 100vw, 821px"/></figure>
<p>The US economic expansion is now 65 months in duration and will likely show further growth in Q4 (Atlanta Fed is projecting +3%).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="567" height="351" src="https://bilello.blog/wp-content/uploads/2025/12/us-econ-expansions-12-23-25.png" alt="" class="wp-image-15968" srcset="https://bilello.blog/wp-content/uploads/2025/12/us-econ-expansions-12-23-25.png 567w, https://bilello.blog/wp-content/uploads/2025/12/us-econ-expansions-12-23-25-300x186.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px"/></figure>
<p><strong>6) All Is Calm Again</strong></p>
<p>Volatility felt high in 2025. But in reality? It wasn’t extreme at all. The $VIX has averaged 19 this year, which is slightly below its historical norm.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="775" height="446" src="https://bilello.blog/wp-content/uploads/2025/12/vix-average-12-23-25.png" alt="" class="wp-image-15966" srcset="https://bilello.blog/wp-content/uploads/2025/12/vix-average-12-23-25.png 775w, https://bilello.blog/wp-content/uploads/2025/12/vix-average-12-23-25-300x173.png 300w, https://bilello.blog/wp-content/uploads/2025/12/vix-average-12-23-25-768x442.png 768w" sizes="auto, (max-width: 775px) 100vw, 775px"/></figure>
<p>Back in April during the “Tariff Tantrum” the Volatility Index ($VIX) briefly crossed above 60. Today, on Christmas Eve, it’s below 14, its lowest level of the year. All is calm again.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="834" height="556" src="https://bilello.blog/wp-content/uploads/2025/12/vix-12-24-25.png" alt="" class="wp-image-15969" srcset="https://bilello.blog/wp-content/uploads/2025/12/vix-12-24-25.png 834w, https://bilello.blog/wp-content/uploads/2025/12/vix-12-24-25-300x200.png 300w, https://bilello.blog/wp-content/uploads/2025/12/vix-12-24-25-768x512.png 768w" sizes="auto, (max-width: 834px) 100vw, 834px"/></figure>
<p><strong>7) A Few Interesting Stats…</strong></p>
<p>a) Gas Prices in the US have moved down to $2.89 per gallon, their lowest level in over 4 years (note: national average).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="765" height="552" src="https://bilello.blog/wp-content/uploads/2025/12/aaa-gas-prices-12-19-25.png" alt="" class="wp-image-15939" srcset="https://bilello.blog/wp-content/uploads/2025/12/aaa-gas-prices-12-19-25.png 765w, https://bilello.blog/wp-content/uploads/2025/12/aaa-gas-prices-12-19-25-300x216.png 300w" sizes="auto, (max-width: 765px) 100vw, 765px"/></figure>
<p>b) The US Trade Deficit actually <em>widened </em>17% in the first 9 months of this year.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="871" height="561" src="https://bilello.blog/wp-content/uploads/2025/12/us-trade-deficit-in-goods-and-services-as-of-sep-2025.png" alt="" class="wp-image-15943" srcset="https://bilello.blog/wp-content/uploads/2025/12/us-trade-deficit-in-goods-and-services-as-of-sep-2025.png 871w, https://bilello.blog/wp-content/uploads/2025/12/us-trade-deficit-in-goods-and-services-as-of-sep-2025-300x193.png 300w, https://bilello.blog/wp-content/uploads/2025/12/us-trade-deficit-in-goods-and-services-as-of-sep-2025-768x495.png 768w" sizes="auto, (max-width: 871px) 100vw, 871px"/></figure>
<p>c) The US collected a record $246 billion in customs duties over the last 12 months, which was 3x higher than what was collected in the 12 months prior ($81 billion).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="809" height="456" src="https://bilello.blog/wp-content/uploads/2025/12/us-custom-duties-last-12-months-as-of-nov-2025.png" alt="" class="wp-image-15944" srcset="https://bilello.blog/wp-content/uploads/2025/12/us-custom-duties-last-12-months-as-of-nov-2025.png 809w, https://bilello.blog/wp-content/uploads/2025/12/us-custom-duties-last-12-months-as-of-nov-2025-300x169.png 300w, https://bilello.blog/wp-content/uploads/2025/12/us-custom-duties-last-12-months-as-of-nov-2025-768x433.png 768w" sizes="auto, (max-width: 809px) 100vw, 809px"/></figure>
<p>d) In the first 2 months of the 2026 Fiscal Year the Federal Government took in $740 billion and spent $1.2 trillion. Don’t try this at home.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="846" height="547" src="https://bilello.blog/wp-content/uploads/2025/12/fiscal-deficit-2026-oct-nov-2026.png" alt="" class="wp-image-15945" srcset="https://bilello.blog/wp-content/uploads/2025/12/fiscal-deficit-2026-oct-nov-2026.png 846w, https://bilello.blog/wp-content/uploads/2025/12/fiscal-deficit-2026-oct-nov-2026-300x194.png 300w, https://bilello.blog/wp-content/uploads/2025/12/fiscal-deficit-2026-oct-nov-2026-768x497.png 768w" sizes="auto, (max-width: 846px) 100vw, 846px"/></figure>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>And that’s it for this year. Thanks for reading! Have a Merry Christmas and Happy Holidays!</p>
<p>Every week I do a video breaking down the most important charts and themes in markets and investing. <strong>Subscribe to our YouTube channel HERE</strong> for the latest content.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="489" src="https://bilello.blog/wp-content/uploads/2025/12/asset-class-returns-12-22-25-1024x489.png" alt="" class="wp-image-15949" srcset="https://bilello.blog/wp-content/uploads/2025/12/asset-class-returns-12-22-25-1024x489.png 1024w, https://bilello.blog/wp-content/uploads/2025/12/asset-class-returns-12-22-25-300x143.png 300w, https://bilello.blog/wp-content/uploads/2025/12/asset-class-returns-12-22-25-768x367.png 768w, https://bilello.blog/wp-content/uploads/2025/12/asset-class-returns-12-22-25.png 1155w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>Disclaimer: All information provided is for educational purposes only and does not constitute investment, legal or tax advice, or an offer to buy or sell any security. Read our full disclosures here.</p>
</div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/the-week-in-charts-12-24-25/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>How to Audit File Access on Shared Drives Without EDR Tools</title>
		<link>https://xtadalafix.com/how-to-audit-file-access-on-shared-drives-without-edr-tools/</link>
					<comments>https://xtadalafix.com/how-to-audit-file-access-on-shared-drives-without-edr-tools/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Mon, 13 Apr 2026 20:28:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/how-to-audit-file-access-on-shared-drives-without-edr-tools/</guid>

					<description><![CDATA[Key Points Enable native Windows auditing to monitor file access on shared drives without investing in EDR or XDR tools. Use built-in file server features like Event Viewer and FSRM to track, control, and report on access activity. Standardize auditing policies across environments to reduce compliance risks and limit insider threats. Prioritize high-value folders such [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<div class="in-context-cta">
<h2>Key Points</h2>
<ul>
<li>Enable native Windows auditing to monitor file access on shared drives without investing in EDR or XDR tools.</li>
<li>Use built-in file server features like Event Viewer and FSRM to track, control, and report on access activity.</li>
<li>Standardize auditing policies across environments to reduce compliance risks and limit insider threats.</li>
<li>Prioritize high-value folders such as finance and HR data to minimize log noise and focus on meaningful events.</li>
</ul>
</div>
<p>Shared drives are invaluable for Small and Medium-sized Businesses (SMBs), but they introduce blind spots when file access activity isn’t tracked. A lack of visibility can lead to unauthorized access to sensitive files and undetected data loss.</p>
<p>Endpoint Detection and Response (EDR) and Extended Detection and Response (XDR) can address these issues, but can be expensive for clients. Managed Service Providers (MSPs) can still deliver strong security value by leveraging native auditing tools to track <strong>file access in shared drives</strong> and implementing structured processes for reviewing and responding to access activity.</p>
<h2>Auditing file access on shared drives without EDR tools</h2>
<p>To audit file access on shared drives without EDR tools, you must enable native file system auditing, review event logs, use file server features for SMB environments, standardize auditing policies, and communicate findings to clients.</p>
<p>&#x1f4cc; <strong>Prerequisites:</strong></p>
<ul>
<li>Administrative access to Windows Server or file shares.</li>
<li>Knowledge of file/folder permissions.</li>
<li>Access to client compliance requirements.</li>
<li>Optional: RMM or monitoring tool to centralize alerts.</li>
</ul>
<h3>Method 1: Enable native file system auditing</h3>
<p>This step enables native file system auditing, allowing you to see who accesses, changes, or deletes data.</p>
<p>&#x1f4cc; <strong>Use Case: </strong>A company handling confidential financial or HR records wants to monitor access to specific folders to ensure only authorized personnel interact with those files.</p>
<p>You can enable object access auditing using Group Policy. To do so, follow the steps below:</p>
<ol>
<li>Press <strong>Win + R</strong>, type <strong>gpmc.msc</strong>, then press <strong>Enter</strong>.</li>
<li>Navigate to:
<ul>
<li>Computer Configuration → Windows Settings → Security Settings → Local Policies → Audit Policy</li>
</ul>
</li>
<li>Enable <strong>Audit Object Access </strong>for <strong>Success </strong>and <strong>Failure events</strong>.</li>
</ol>
<h3>Method 2: Review event logs for access activity</h3>
<p>This step lets you monitor logs to provide insight into how sensitive data is used to ensure timely detection.</p>
<p>&#x1f4cc; <strong>Use Case: </strong>A security administrator wants to detect when users attempt to mass-delete client files or modify confidential HR data. By collecting and analyzing Windows Security Event Logs, the organization can identify these incidents early and respond before significant data loss or compliance breaches occur.</p>
<h4>Collect Windows security event logs</h4>
<ol>
<li>Access event logs by pressing <strong>Win</strong>, typing <strong>Event Viewer</strong>, and then pressing <strong>Enter</strong>.</li>
<li>Navigate to:
<ul>
<li>Event Viewer → Windows Logs → Security</li>
</ul>
</li>
<li>Focus on event IDs related to file system access and note down the written info:
<ul>
<li>4663 – Access attempt on an object (e.g., file/folder read/write/delete).</li>
<li>4660 – Object deleted.</li>
<li>4656 – Handle requested for object access.</li>
<li>4670 – Permissions changed on an object.</li>
</ul>
</li>
</ol>
<h4>Forward logs to a central collection point</h4>
<p>Security Information and Event Management (SIEM) tools, such as Microsoft Sentinel, can simplify review and correlation. Centralizing logs helps monitor different systems simultaneously and identify cross-system issues.</p>
<h4>Set up alerts for suspicious activity</h4>
<p>Define alert rules within your SIEM or monitoring system to flag:</p>
<ul>
<li>Mass file deletions</li>
<li>Unauthorized access attempts</li>
<li>Permission escalation</li>
</ul>
<p>For example, an alert triggers if more than 50 delete events (Event ID 4660) happen within a short time period. The alert indicates a potential ransomware or insider threat scenario.</p>
<h3>Method 3: Use file server features for SMB environments</h3>
<p>This step leverages native server management tools to provide deeper control over data access and storage behavior.</p>
<p>&#x1f4cc; <strong>Use Case: </strong>An IT administrator manages multiple shared folders across departments hosted on a central Windows file server. To prevent storage misuse, the administrator implements File Server Resource Manager (FSRM) quotas and access reports to maintain visibility and enforce compliance.</p>
<h4>Leverage FSRM</h4>
<p>Use FSRM quotas to:</p>
<ul>
<li>Limit data stored in specific directories</li>
<li>Trigger email notifications or scripts when users approach storage limits</li>
</ul>
<p>You can also enable File Screening Management to prevent certain file types from being saved in restricted locations.</p>
<h4>Apply permissions auditing for shared drives</h4>
<p>Use Access-Based Enumeration (ABE) and the Advanced Security Settings on shared folders to ensure only authorized users can access specific directories. These audits confirm that access rights align with organizational policies, reducing the risk of privilege creep.</p>
<h4>Regularly review access reports</h4>
<p>Configure Storage Reports Management within FSRM to generate:</p>
<ul>
<li>Access reports</li>
<li>Duplicate file and quota usage reports</li>
</ul>
<p>Review reports periodically to identify unusual access patterns or large file transfers that could indicate misuse.</p>
<h3>Method 4: Standardize auditing policies across clients</h3>
<p>This step standardizes auditing policies to ensure organizations can monitor critical data using the same rules.</p>
<p>&#x1f4cc; <strong>Use Case: </strong>An MSP oversees dozens of client environments, each with varying configurations. To maintain consistent oversight and compliance, the MSP creates a baseline file access auditing policy that is applied across all clients.</p>
<p>Use PowerShell to define a standard audit setting for all client systems. To do so, follow the steps below:</p>
<ol>
<li>Press <strong>Win</strong>, type <strong>PowerShell</strong>, then click <strong>Run as administrator</strong>.</li>
<li>Copy and paste the following script into the prompt, then press <strong>Enter</strong>:</li>
</ol>
<table>
<tbody>
<tr>
<td><code># Enable Object Access Auditing</code></p>
<p><code>auditpol /set /category:"Object Access" /success:enable /failure:enable</code></p>
<p><code># Set log size and retention policy</code></p>
<p><code>wevtutil sl Security /ms:512000 /rt:true</code></p>
<p><code># Verify configuration</code></p>
<p><code>auditpol /get /category:*</code></p>
</td>
</tr>
</tbody>
</table>
<ol start="3">
<li>Note the following folders, as they are high-value data types you should constantly monitor:
<ul>
<li>Finance records</li>
<li>HR or employee data</li>
<li>Legal and compliance documentation</li>
<li>Client and project files</li>
</ul>
</li>
<li>Right-click the folder → Properties → Security → Advanced → Auditing → Add</li>
<li>Choose the Users or Groups to audit, then pick Action to Audit:
<ul>
<li>Read</li>
<li>Write</li>
<li>Delete</li>
<li>Change Permissions</li>
</ul>
</li>
</ol>
<p><strong>&#x1f4a1; Note:</strong> For large-scale environments, you can automate the folder definition by using the following PowerShell script:</p>
<table>
<tbody>
<tr>
<td><code># Example: Add auditing to a folder</code></p>
<p><code>$folder = "C:\Finance"</code></p>
<p><code>$acl = Get-Acl $folder</code></p>
<p><code>$audit = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone","FullControl","Success,Failure")</code></p>
<p><code>$acl.AddAuditRule($audit)</code></p>
<p><code>Set-Acl $folder $acl</code></p>
</td>
</tr>
</tbody>
</table>
<h3>Method 5: Communicate findings to clients</h3>
<p>This step translates technical audit data into client-friendly summaries to help demonstrate the value of monitoring efforts.</p>
<p>&#x1f4cc; <strong>Use Case: </strong>An MSP delivers monthly compliance reports to clients. Instead of sending dense event logs filled with Event IDs like 4663 and 4660, the MSP summarizes them into plain-language highlights.</p>
<ul>
<li>Translate technical logs into client-friendly summaries.</li>
<li>Highlight successful detections and blocked attempts.</li>
<li>Demonstrate how auditing reduces compliance and insider risk.</li>
</ul>
<h2>Verification</h2>
<p>Once file access auditing is in place, it’s essential to verify that logs are collected, forwarded, and reviewed correctly.</p>
<h3>Validate event collection and forwarding</h3>
<p>Ensure file access events are recorded in the Windows Security Event Log and periodically test the forwarding configuration by generating sample access events and confirming they appear in the centralized dashboard. This process ensures no data loss between endpoints and the monitoring system.</p>
<h3>Ensure audit trails meet compliance and SLA standards</h3>
<p>Compare collected log details against client or regulatory requirements. Confirm that logs include:</p>
<ul>
<li>User identity</li>
<li>Timestamp</li>
<li>Action type</li>
<li>Resource details</li>
</ul>
<p>Regular compliance audits should cross-check this data to ensure records are secured.</p>
<h3>Generate regular access reports</h3>
<p>Schedule monthly or quarterly reports summarizing legitimate and suspicious activity. Deliver reports with summaries and visuals, while retaining logs for auditors or IT analysts.</p>
<h2>Additional considerations</h2>
<ul>
<li><strong>Noise management</strong>: Too much auditing can overwhelm logs, so it’s best to focus on sensitive data.</li>
<li><strong>Storage impact</strong>: Log retention may need dedicated storage for compliance.</li>
<li><strong>User awareness</strong>: Let employees know that activity is monitored to reduce insider risks.</li>
</ul>
<h2>Troubleshooting common file access on shared drives issues</h2>
<p>Address common issues to ensure auditing remains accurate, efficient, and compliant.</p>
<h3>No access events logged</h3>
<p>Confirm that Audit Object Access is enabled in Group Policy. To do so, navigate the following paths:</p>
<ul>
<li>Audit Policy:
<ul>
<li>Computer Configuration → Windows Settings → Security Settings → Local Policies → Audit Policy → Audit Object Access</li>
</ul>
</li>
</ul>
<ul>
<li>Advanced Audit Policy:
<ul>
<li>Computer Configuration → Windows Settings → Security Settings → Advanced Audit Policy Configuration → Object Access → File System</li>
</ul>
</li>
</ul>
<p>Ensure auditing is enabled for Success and Failure events.</p>
<h3>Excessive false positives</h3>
<p>Too many irrelevant logs can obscure risks. Refine the auditing configuration by focusing on sensitive folders.</p>
<h2>NinjaOne services that help audit file access on shared drives</h2>
<p>NinjaOne can document, automate, monitor, and report to make it easier for MSPs to audit file access on shared drives without EDR tools.</p>
<h3>Documentation</h3>
<p>NinjaOne’s documentation feature allows for securely stored credentials, procedures, and environmental details. You can also use documentation templates and checklists to organize and secure IT-specific information properly.</p>
<h3>Automation</h3>
<p>The task feature enables tasks to be set to recur at specific intervals. You can schedule tasks to run every number of hours, daily, weekly, or monthly.</p>
<h3>Monitoring</h3>
<p>NinjaOne has robust alert and monitoring capabilities. You can customize alerts for critical stage changes.</p>
<h3>Reporting</h3>
<p>NinjaOne’s comprehensive reporting features include customizable report cover pages, downloadable PDF reports, shareable reports with configurable permissions, and more.</p>
<h2>Detect data losses by auditing file access on shared drives</h2>
<p>While EDR tools help with file access auditing, the features aren’t necessary. You can leverage native Windows features and standardize policies to deliver meaningful visibility, reduce compliance risks, and strengthen client trust.</p>
<p><strong>Related topics:</strong></p>
</div>
<p><script id="meta-pixel" type="text/javascript" class="optanon-category-C0004"> window.addEventListener('load', () => { ! function(f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function() { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', ' fbq('init', '148315452373934'); fbq('track', 'PageView'); var currentURL = window.location.href; if (currentURL.indexOf('thankyou') !== -1 || currentURL.indexOf('thank-you') !== -1) { fbq('track', 'Lead'); } }); </script><br />
</p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/how-to-audit-file-access-on-shared-drives-without-edr-tools/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SymfonyLive Paris 2026: AI Revolution and a Peak Reunion for Team SensioLabs</title>
		<link>https://xtadalafix.com/symfonylive-paris-2026-ai-revolution-and-a-peak-reunion-for-team-sensiolabs/</link>
					<comments>https://xtadalafix.com/symfonylive-paris-2026-ai-revolution-and-a-peak-reunion-for-team-sensiolabs/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Sat, 11 Apr 2026 20:21:56 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/symfonylive-paris-2026-ai-revolution-and-a-peak-reunion-for-team-sensiolabs/</guid>

					<description><![CDATA[A Historic Backdrop for Open Source Celebration The conference took place at the majestic Cité Internationale Universitaire de Paris. This location is highly symbolic, as the institution is celebrating its 100th anniversary. Founded after World War I to foster peace and exchange between people &#x1f30d; through its various international houses, the Cité Universitaire perfectly mirrors [&#8230;]]]></description>
										<content:encoded><![CDATA[<div id="content" data-sticky-nav-target="content">
<h2 id="A-Historic-Backdrop-for-Open-Source-Celebration"><span>A Historic Backdrop for Open Source Celebration</span></h2>
<p><span>The conference took place at the majestic <strong>Cité Internationale Universitaire de Paris</strong>. This location is highly symbolic, as </span><span><u>the institution is celebrating its 100th anniversary</u></span><span>. Founded after World War I to foster peace and exchange between people </span>&#x1f30d;<span> through its various international houses, the Cité Universitaire perfectly mirrors the values of <strong>open source</strong>. Much like this humanist endeavor, Symfony thrives on global collaboration, shared knowledge, and breaking down technological borders.</span></p>
<h2 id="Fabien-Potencier-s-Major-Announcements"><span>Fabien Potencier&#8217;s Major Announcements</span></h2>
<p><span>The technical program featured massive announcements and a crystal-clear vision: Symfony is fully geared up for the era of Artificial Intelligence.</span></p>
<p><span><strong>Fabien Potencier</strong> captivated the audience with two game-changing keynotes:</span></p>
<ul>
<li>
<p><span><strong>The TUI renaissance with Symfony Terminal</strong>: With coding agents shifting from the IDE to the terminal, Text User Interfaces are seeing a second life. Fabien introduced the new <strong>Symfony Terminal</strong> component—a full PHP toolkit for building rich, interactive interfaces. The highlight? Dropping the Pull Request </span>&#x1f525;<span> live on stage.</span></p>
</li>
<li>
<p><span><strong>Behind the scenes of coding agents</strong>: Fabien demonstrated that in a coding agent, the model handles only half the job. The other half relies on the &#8220;harness&#8221; (the underlying infrastructure). Leveraging </span><span><strong><u>PHP fibers</u></strong></span><span>, he proved that our language of choice is perfectly designed to orchestrate these complex feedback loops.</span></p>
</li>
</ul>
<p></p>
<h2 id="Inspiring-Talks-on-Stage"><span>Inspiring Talks on Stage</span></h2>
<p><span>Fabien&#8217;s ideas were amplified by keynotes from:</span></p>
<ul>
<li>
<p><span><strong>Nicolas Grekas</strong>, who demonstrated how to reconfigure Symfony in real-time using <strong>application sidekicks</strong>.</span></p>
</li>
<li>
<p><span><strong><u>Titouan Galopin</u></strong></span><span>, who broke down the <strong>new essential AI design patterns</strong> for our future architectures.</span></p>
</li>
</ul>
<p><span>Beyond the keynotes, the SymfonyLive Paris 2026 stage featured many engaging talks </span>&#x1f3a4;<span> on diverse topics, including AI (naturally), Symfony UX, ClickHouse, JSON, Doctrine, and more.</span></p>
<p><span>One of our team&#8217;s proudest moments was the <strong>lightning talk by Imen Ezzine</strong>. An in-house SensioLabs developer, Imen brilliantly presented <strong>HttpRecorder</strong>, a crucial tool for recording and replaying HTTP interactions during testing. The entire team was there to cheer her on, and we are incredibly proud to actively contribute to knowledge sharing.</span></p>
<p><img decoding="async" src="https://sensiolabs.com/f/a02ad028cb2ec609/1920x1280-developers-at-symfonylive-paris-2026.jpg" alt="3 developers standing in front of a computer at SymfonyLive Paris 2026"/></p>
<h2 id="High-Traffic-at-the-SensioLabs-booth"><span>High Traffic at the SensioLabs booth</span></h2>
<p><span>Our booth was swamped for both days ! So many of you participated in our activities:</span></p>
<ul>
<li>
<p><span><strong>The interactive magic quiz</strong>: Attendees battled it out across several sessions of fun-filled quizzes on PHP and Symfony. The final session gathered over 50 participants—a massive success ! The fastest and sharpest participants won </span>&#x1f9d9;&#x200d;&#x2642;<span> <strong>Harry Potter POP figures</strong>.</span></p>
</li>
<li>
<p><span><strong>Our raffle game</strong>: Congrats to the lucky winner who scored a high-performance <strong>gaming keyboard</strong> !</span></p>
</li>
</ul>
<p><span>On Thursday afternoon, during the break, we handed out <strong>New York rolls</strong>—delicious pastries packed with custard and topped with various goodies. Everyone loved them !</span></p>
<p><span>For our final booth innovation, we teamed up with Imen Ezzine, host of the YouTube podcast </span><span><strong><u>Café Tech avec Imen</u></strong></span><span>, to interview speakers and attendees live. We asked for their impressions of the conference, the talks, etc. It was an excellent way to share the SymfonyLive Paris buzz with everyone who couldn&#8217;t make it physically.</span></p>
<h2 id="SensioLabs-and-Smile-The-Group-s-Strength"><span>SensioLabs and Smile: The Group&#8217;s Strength</span></h2>
<p><span>SymfonyLive Paris 2026 was also a great opportunity to highlight SensioLabs&#8217; integration within the </span><span><strong><u>Smile Group</u></strong></span><span>, a European open-source leader. The <strong>Smile</strong> team was there with their own booth, and it was fantastic to share the event with the group&#8217;s Symfony experts. This synergy boosts our capacity to support companies with their most ambitious PHP projects.</span></p>
<p><span>We were also pleased to greet our partners and key ecosystem players: </span><span><strong><u>Les-Tilleuls.coop</u></strong></span><span>, </span><span><strong><u>Codéin</u></strong></span><span>, </span><span><strong><u>ACSEO</u></strong></span><span>, </span><span><strong><u>Orange Business</u></strong></span><span>, and </span><span><strong><u>Upsun</u></strong></span><span>.</span></p>
<h2 id="Team-Building-Post-Conference-Go-Karting-and-Bowling"><span>Team Building: Post-Conference Go-Karting and Bowling !</span></h2>
<p><span>Because SymfonyLive is also a community fest, we enjoyed the traditional social organized by <strong>JL Recrutement</strong> where the community meets up.</span></p>
<p><span>But the night didn&#8217;t end there for Team SensioLabs. Sticking to our tradition, we followed up with a <strong>team bonding session</strong>. This year&#8217;s agenda: an adrenaline-fueled <strong>go-karting</strong> </span>&#x1f3c1;<span> session alongside some <strong>bowling</strong>. There&#8217;s nothing better for strengthening team connections after two days of intensive tech conferencing !</span></p>
<p><img decoding="async" src="https://sensiolabs.com/f/c5d4143711038e04/1920x1280-sensiolabs-team-symfonylive-paris-2026.jpg" alt="SensioLabs team as a group at SymfonyLive Paris 2026"/></p>
<h2 id="Conclusion-A-New-Chapter-for-Symfony"><span>Conclusion: A New Chapter for Symfony</span></h2>
<p><span><strong>SymfonyLive Paris 2026 confirms that our ecosystem has never been more vibrant</strong>. Between AI and new interfaces, Symfony is entering an exciting new phase. <strong>Thank you </strong></span>&#x2764;<span><strong> to all of you—developers, companies, and contributors—for your warm reception and energy, which makes every edition a success</strong>. We&#8217;ll catch you very soon for new PHP adventures !</span></p>
</p></div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/symfonylive-paris-2026-ai-revolution-and-a-peak-reunion-for-team-sensiolabs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>The Week in Charts (4/8/26)</title>
		<link>https://xtadalafix.com/the-week-in-charts-4-8-26/</link>
					<comments>https://xtadalafix.com/the-week-in-charts-4-8-26/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Thu, 09 Apr 2026 20:20:11 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/the-week-in-charts-4-8-26/</guid>

					<description><![CDATA[View the video of this post here. &#x1f4ca; Weekly chart breakdowns. &#x1f30e;Big-picture market themes. &#x1f3af;Actionable insights. Subscribe to our YouTube channel HERE to separate the signal from the noise. The most important charts and themes in markets and investing… 1) What Happens When Volatility Spikes? One year ago during the tariff turmoil, the S&#38;P 500 fell [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<p>View the <strong>video of this post here</strong>.</p>
<p><iframe loading="lazy" title="What Happens When Volatility Spikes? | The Week in Charts (4/2/26) | Charlie Bilello" width="640" height="360" src="https://www.youtube.com/embed/Nk1CcJrS0wA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>&#x1f4ca; Weekly chart breakdowns.</p>
<p>&#x1f30e;Big-picture market themes.</p>
<p>&#x1f3af;Actionable insights.</p>
<p><strong><span style="text-decoration: underline;">Subscribe to our YouTube channel HERE</span></strong> to separate the signal from the noise.</p>
<figure class="wp-block-image size-full"></figure>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p><strong>The most important charts and themes in markets and investing</strong>…</p>
<p><strong>1) What Happens When Volatility Spikes?</strong></p>
<p>One year ago during the tariff turmoil, the S&amp;P 500 fell 12% over four trading days, the biggest crash since March 2020 during the covid crisis. At the same time, we saw one of the biggest volatility spikes ever, with the $VIX closing above 50.</p>
<p>What has transpired since then?</p>
<p>The S&amp;P 500 has rallied 38%, adding to the list of times where it paid to be greedy when others were fearful.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="580" height="424" src="https://bilello.blog/wp-content/uploads/2026/04/SP-500-4-day-decline-4-8-26.png" alt="" class="wp-image-16357" srcset="https://bilello.blog/wp-content/uploads/2026/04/SP-500-4-day-decline-4-8-26.png 580w, https://bilello.blog/wp-content/uploads/2026/04/SP-500-4-day-decline-4-8-26-300x219.png 300w" sizes="auto, (max-width: 580px) 100vw, 580px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="803" height="892" src="https://bilello.blog/wp-content/uploads/2026/04/vix-above-50-4-8-26.png" alt="" class="wp-image-16356" srcset="https://bilello.blog/wp-content/uploads/2026/04/vix-above-50-4-8-26.png 803w, https://bilello.blog/wp-content/uploads/2026/04/vix-above-50-4-8-26-270x300.png 270w, https://bilello.blog/wp-content/uploads/2026/04/vix-above-50-4-8-26-768x853.png 768w" sizes="auto, (max-width: 803px) 100vw, 803px"/></figure>
<p>The closing high for the $VIX this year seems calm by comparison at a level of 31 on March 27.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="835" height="557" src="https://bilello.blog/wp-content/uploads/2026/04/vix-march-spike-2026.png" alt="" class="wp-image-16345" srcset="https://bilello.blog/wp-content/uploads/2026/04/vix-march-spike-2026.png 835w, https://bilello.blog/wp-content/uploads/2026/04/vix-march-spike-2026-300x200.png 300w, https://bilello.blog/wp-content/uploads/2026/04/vix-march-spike-2026-768x512.png 768w" sizes="auto, (max-width: 835px) 100vw, 835px"/></figure>
<p>While not nearly as extreme as last year, this was still in highest 10% of historical $VIX readings.</p>
<p>What has happened in the past following similar levels of volatility?</p>
<p>Above-average forward returns for the S&amp;P 500 over the next 1-5 years.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="733" height="493" src="https://bilello.blog/wp-content/uploads/2026/04/highest-10-of-vix-levels-and-future-returns.png" alt="" class="wp-image-16347" srcset="https://bilello.blog/wp-content/uploads/2026/04/highest-10-of-vix-levels-and-future-returns.png 733w, https://bilello.blog/wp-content/uploads/2026/04/highest-10-of-vix-levels-and-future-returns-300x202.png 300w" sizes="auto, (max-width: 733px) 100vw, 733px"/></figure>
<p>Does that mean the S&amp;P 500 will definitely be higher a year from now? No, there are no guarantees in markets, only probabilities. But the higher the volatility index spikes, the higher the odds of a strong positive return going forward.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="879" height="526" src="https://bilello.blog/wp-content/uploads/2026/04/vix-levels-and-forward-returns-3-31-26-1.png" alt="" class="wp-image-16350" srcset="https://bilello.blog/wp-content/uploads/2026/04/vix-levels-and-forward-returns-3-31-26-1.png 879w, https://bilello.blog/wp-content/uploads/2026/04/vix-levels-and-forward-returns-3-31-26-1-300x180.png 300w, https://bilello.blog/wp-content/uploads/2026/04/vix-levels-and-forward-returns-3-31-26-1-768x460.png 768w" sizes="auto, (max-width: 879px) 100vw, 879px"/></figure>
<p><strong>2) The Longest Correction Since 2022</strong></p>
<p>At its low on March 30, the S&amp;P 500 was down 9.8% from its January peak. This is the biggest correction since the tariff turmoil last April and the longest (61 days) since the 2022 bear market.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="731" src="https://bilello.blog/wp-content/uploads/2026/04/correction-history-updated-3-30-26-1-1024x731.png" alt="" class="wp-image-16349" srcset="https://bilello.blog/wp-content/uploads/2026/04/correction-history-updated-3-30-26-1-1024x731.png 1024w, https://bilello.blog/wp-content/uploads/2026/04/correction-history-updated-3-30-26-1-300x214.png 300w, https://bilello.blog/wp-content/uploads/2026/04/correction-history-updated-3-30-26-1-768x548.png 768w, https://bilello.blog/wp-content/uploads/2026/04/correction-history-updated-3-30-26-1.png 1077w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>The 7.3% decline in the first 60 trading days of this year was one of the worst starts to a year in history.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="450" height="546" src="https://bilello.blog/wp-content/uploads/2026/04/worst-starts-SP-3-30-26.png" alt="" class="wp-image-16351" srcset="https://bilello.blog/wp-content/uploads/2026/04/worst-starts-SP-3-30-26.png 450w, https://bilello.blog/wp-content/uploads/2026/04/worst-starts-SP-3-30-26-247x300.png 247w" sizes="auto, (max-width: 450px) 100vw, 450px"/></figure>
<p><strong>3) A Repeat of 2025?</strong></p>
<p>But as we saw in 2025, a bad start to a year doesn’t necessarily mean a bad finish.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="752" height="448" src="https://bilello.blog/wp-content/uploads/2026/04/SP-2026-vs.-2025-4-8-26-1.png" alt="" class="wp-image-16353" srcset="https://bilello.blog/wp-content/uploads/2026/04/SP-2026-vs.-2025-4-8-26-1.png 752w, https://bilello.blog/wp-content/uploads/2026/04/SP-2026-vs.-2025-4-8-26-1-300x179.png 300w" sizes="auto, (max-width: 752px) 100vw, 752px"/></figure>
<p>The S&amp;P 500 has already rallied more than 7% from its March 30 low and is now down less than 1% on the year. At the same point in 2025, the S&amp;P 500 was down 15% before staging its epic comeback to end the year up 18%.</p>
<p>What’s driving the market higher?</p>
<p>Hopes of a resolution to the Iran war, with a 14-day ceasefire now in place. The 2.5% surge in today’s trading marked the 5th biggest gain during President Trump’s second term.</p>
<p>What did the top 8 days all have in common?</p>
<p>They were all so-called “TACO” trade rallies, with sharp reversals from the President on Tariffs driving the biggest gains in 2025 and reversals on the Iran War driving gains in 2026.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="851" height="619" src="https://bilello.blog/wp-content/uploads/2026/04/taco-rallies-4-8-26.png" alt="" class="wp-image-16355" srcset="https://bilello.blog/wp-content/uploads/2026/04/taco-rallies-4-8-26.png 851w, https://bilello.blog/wp-content/uploads/2026/04/taco-rallies-4-8-26-300x218.png 300w, https://bilello.blog/wp-content/uploads/2026/04/taco-rallies-4-8-26-768x559.png 768w" sizes="auto, (max-width: 851px) 100vw, 851px"/></figure>
<p><strong>4) The Inflationary Spike</strong> <strong>Is Already Here</strong></p>
<p>When will the war end and when will the Strait of Hormuz return to normal levels of traffic?</p>
<p>We don’t know the answer to either question which makes forecasting future inflation rates even more difficult than usual.</p>
<p>The positive scenario: the ceasefire endures and the war comes to an end this month with the Strait of Hormuz resuming normal traffic by May.</p>
<p>The negative scenario: the ceasefire is broken and the war escalates, with prices of Crude Oil and other commodities remaining elevated or continuing to spike higher.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="822" height="513" src="https://bilello.blog/wp-content/uploads/2026/04/price-increases-start-of-iran-war-4-4-26.png" alt="" class="wp-image-16359" srcset="https://bilello.blog/wp-content/uploads/2026/04/price-increases-start-of-iran-war-4-4-26.png 822w, https://bilello.blog/wp-content/uploads/2026/04/price-increases-start-of-iran-war-4-4-26-300x187.png 300w, https://bilello.blog/wp-content/uploads/2026/04/price-increases-start-of-iran-war-4-4-26-768x479.png 768w" sizes="auto, (max-width: 822px) 100vw, 822px"/></figure>
<p>Regardless of what happens next, inflation is already on the rise. We get the first read on that this Friday (4/10) with the March CPI report.</p>
<p>What is it expected to show?</p>
<p>An increase of 3.25% according to the Cleveland Fed, up from a 2.4% increase in February.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="207" src="https://bilello.blog/wp-content/uploads/2026/04/image-3-1024x207.png" alt="" class="wp-image-16358" srcset="https://bilello.blog/wp-content/uploads/2026/04/image-3-1024x207.png 1024w, https://bilello.blog/wp-content/uploads/2026/04/image-3-300x61.png 300w, https://bilello.blog/wp-content/uploads/2026/04/image-3-768x155.png 768w, https://bilello.blog/wp-content/uploads/2026/04/image-3.png 1166w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>Gas prices in the US have now risen to $4.16 per gallon, their highest level since August 2022. The 40% increase over the past five weeks is the biggest 5-week spike on record.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="929" height="330" src="https://bilello.blog/wp-content/uploads/2026/04/image-4.png" alt="" class="wp-image-16360" srcset="https://bilello.blog/wp-content/uploads/2026/04/image-4.png 929w, https://bilello.blog/wp-content/uploads/2026/04/image-4-300x107.png 300w, https://bilello.blog/wp-content/uploads/2026/04/image-4-768x273.png 768w" sizes="auto, (max-width: 929px) 100vw, 929px"/></figure>
<p>Fertilizer prices are up 52% YoY to their highest level since May 2022. This is expected to drive up food prices in the coming weeks/months.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="303" src="https://bilello.blog/wp-content/uploads/2026/04/fertilizer-prices-4-3-26-1024x303.png" alt="" class="wp-image-16361" srcset="https://bilello.blog/wp-content/uploads/2026/04/fertilizer-prices-4-3-26-1024x303.png 1024w, https://bilello.blog/wp-content/uploads/2026/04/fertilizer-prices-4-3-26-300x89.png 300w, https://bilello.blog/wp-content/uploads/2026/04/fertilizer-prices-4-3-26-768x228.png 768w, https://bilello.blog/wp-content/uploads/2026/04/fertilizer-prices-4-3-26.png 1357w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p><strong>5) No Chance of a Rate Cut in April</strong></p>
<p>The higher levels of inflation are expected to keep the Fed on hold when it meets again on April 29. There’s a 98% chance of the Fed doing nothing (holding rates at 3.50-3.75%) and a 2% chance of a rate hike (to 3.75%-4.00%). The longer inflation stays above 3%, the more pressure the Fed will be under to consider hiking rates again.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="956" height="521" src="https://bilello.blog/wp-content/uploads/2026/04/image-5.png" alt="" class="wp-image-16362" srcset="https://bilello.blog/wp-content/uploads/2026/04/image-5.png 956w, https://bilello.blog/wp-content/uploads/2026/04/image-5-300x163.png 300w, https://bilello.blog/wp-content/uploads/2026/04/image-5-768x419.png 768w" sizes="auto, (max-width: 956px) 100vw, 956px"/></figure>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>And that’s it for this week. Thanks for reading!</p>
<p>Every week I do a video breaking down the most important charts and themes in markets and investing. <strong>Subscribe to our YouTube channel HERE</strong> for the latest content.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="985" height="713" src="https://bilello.blog/wp-content/uploads/2026/04/SP-max-drawdown-intra-year-4-8-26.png" alt="" class="wp-image-16367" srcset="https://bilello.blog/wp-content/uploads/2026/04/SP-max-drawdown-intra-year-4-8-26.png 985w, https://bilello.blog/wp-content/uploads/2026/04/SP-max-drawdown-intra-year-4-8-26-300x217.png 300w, https://bilello.blog/wp-content/uploads/2026/04/SP-max-drawdown-intra-year-4-8-26-768x556.png 768w" sizes="auto, (max-width: 985px) 100vw, 985px"/></figure>
<p>Disclaimer: All information provided is for educational purposes only and does not constitute investment, legal or tax advice, or an offer to buy or sell any security. Read our full disclosures here.</p>
</div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/the-week-in-charts-4-8-26/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AI Won’t Replace Your MSP, But Ignoring It Will</title>
		<link>https://xtadalafix.com/ai-wont-replace-your-msp-but-ignoring-it-will/</link>
					<comments>https://xtadalafix.com/ai-wont-replace-your-msp-but-ignoring-it-will/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 20:11:03 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/ai-wont-replace-your-msp-but-ignoring-it-will/</guid>

					<description><![CDATA[AI everywhere is not the answer There is no shortage of noise around AI right now. Every vendor is talking about it, every customer is hearing about it, and most MSPs are trying to figure out what they are actually supposed to do about it. Here is where I would start: stop using AI and [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<h2>AI everywhere is not the answer</h2>
<p>There is no shortage of noise around AI right now. Every vendor is talking about it, every customer is hearing about it, and most MSPs are trying to figure out what they are actually supposed to do about it.</p>
<p>Here is where I would start: stop using AI and automation as if they are the same thing. They are not, and that confusion is sending a lot of MSPs in the wrong direction.</p>
<h2>Automation has been here for years</h2>
<p>The most valuable automation in a well-run MSP is often not AI-driven at all. Automation efficiency gains come from integrating on work and platform alignment, not from adding new AI features on top of a fragmented environment. The results are cleaner workflows, tighter integrations, better use of APIs, and making the tools already in the stack work together more effectively. AI can be part of the picture, and in some cases, it is a powerful part. I’ve seen teams build automations where AI is approximately 30 to 40 percent of the solution, and the rest is APIs, integrations, and getting the stack to work together the way it should have in the first place. That is why AI itself is not the whole answer. It cannot fix pre-existing disconnected tools, bad workflows, or inefficiencies. If your platforms are not talking to each other, AI won’t magically clean that up; you still have to do the foundational work.</p>
<h2>Focus on outcomes, not the toolbox</h2>
<p>Ultimately, it’s about efficiency. Are tickets moving faster, are technicians getting time back, are repetitive clicks disappearing, are your systems working together in a way that creates measurable efficiency?</p>
<p>If the answer to most of those questions is no, then adding more AI tools is not the fix, because you need to get your operational foundation right first.</p>
<h2>Your tools need to talk to each other</h2>
<p>Most MSPs are already running platforms that could deliver more value if they were better connected, but the problem is fragmentation. Too many tools, too many vendors, too little integration. In that environment, efficiency problems hide in plain sight.</p>
<p>Before chasing every new AI announcement, take a hard look at the stack you have. If a tool does not integrate well with the rest of the environment, you should have a very good reason for keeping it.</p>
<h2>The hardest part is deciding where to start</h2>
<p>A lot of MSPs are not resisting AI because they do not believe in it, they are hesitating because the volume of noise makes it hard to know where to begin. Do you start by helping customers adopt new tools, improving your own internal operations, training your team, or consolidating your stack?</p>
<p>Those are legitimate questions, but uncertainty cannot become an excuse to stand still. The MSPs that make progress will be the ones that educate their teams, clean up their stack, choose tools that actually work together, and lean on partners that help them improve efficiency, reduce risk, and grow their margins.</p>
<h2>Education starts at home</h2>
<p>If your technicians and leaders cannot speak confidently about AI, automation, and workflow efficiency, it is going to be very hard to guide customers through the same conversations. Education has to start internally before it becomes a market advantage externally.</p>
<p>Nobody is going to do that work for you. MSPs need to invest in educating themselves and their teams. Use every resource available, bring in thought leaders, push your vendors to provide real enablement, and build a culture where learning is part of how you operate.</p>
<h2>Your customers are already using AI without you</h2>
<p>One of the biggest underappreciated risks right now is that customers are adopting AI inside their own environments without MSP involvement or visibility. Teams are spinning up tools, building workflows, and making decisions that have real security and governance implications, and many MSPs have no idea it is happening.</p>
<p>Shadow IT has always existed, but AI has made it much easier and much faster. MSPs that assume they still control the pace of technology adoption in their customer environments will be caught off guard.</p>
<h2>Know the difference between a vendor and a partner</h2>
<p>A vendor sells you products. A partner helps you grow, improve efficiency, reduce risk, and build capability over time.</p>
<p>In an AI-heavy market, MSPs need more than features. They need enablement, education, resources, and guidance that help them make smarter decisions for their own operations and for their customers. If your so-called partners are not helping you do that, you should be asking harder questions.</p>
<h2>Cautious adoption is the right mindset</h2>
<p>MSPs should stop being afraid to join business-level conversations with customers about change. Customers do not want to be left alone to sort this out. They need help understanding where automation can create leverage, where AI introduces risk, and how to approach both without creating more problems than they solve.</p>
<p>At the same time, caution still matters. AI can create real business risk when it is misused, misunderstood, or deployed without enough visibility. MSPs still need a human in the loop for judgment in areas where a bad decision can create security, operational, or customer risk. The right move is thoughtful adoption with clear outcomes, stronger internal knowledge, and a healthy respect for the risks.</p>
<p>Automation and AI can absolutely give time back to technicians, improve service delivery, and create room for higher-value work. But the MSPs that benefit most will be the ones that stay grounded in outcomes, educate their teams, and guide customers through change with knowledge.</p>
<p>This article by Paul Redding, head of MSP partnerships at NinjaOne, was originally published on The MSP Summit and is reproduced here with permission.</p>
</div>
<p><script id="meta-pixel" type="text/javascript" class="optanon-category-C0004"> window.addEventListener('load', () => { ! function(f, b, e, v, n, t, s) { if (f.fbq) return; n = f.fbq = function() { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) }; if (!f._fbq) f._fbq = n; n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0; t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s) }(window, document, 'script', ' fbq('init', '148315452373934'); fbq('track', 'PageView'); var currentURL = window.location.href; if (currentURL.indexOf('thankyou') !== -1 || currentURL.indexOf('thank-you') !== -1) { fbq('track', 'Lead'); } }); </script><br />
</p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/ai-wont-replace-your-msp-but-ignoring-it-will/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>SymfonyCon Amsterdam 2025: Our Recap and the Highlights</title>
		<link>https://xtadalafix.com/symfonycon-amsterdam-2025-our-recap-and-the-highlights/</link>
					<comments>https://xtadalafix.com/symfonycon-amsterdam-2025-our-recap-and-the-highlights/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Sun, 05 Apr 2026 20:00:31 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/symfonycon-amsterdam-2025-our-recap-and-the-highlights/</guid>

					<description><![CDATA[A Groundbreaking Opening: Symfony AI &#38; Symfony 8 The conference started off with the keynote by Fabien Potencier, which is always one of the highlights of the event. This time, he surprised the audience by deploying Symfony 8 live on stage. The release was a shared ritual with the whole audience, and it was done [&#8230;]]]></description>
										<content:encoded><![CDATA[<div id="content" data-sticky-nav-target="content">
<h2 id="A-Groundbreaking-Opening-Symfony-AI-Symfony-8"><span>A Groundbreaking Opening: Symfony AI &amp; Symfony 8</span></h2>
<p><span>The conference started off with the keynote by Fabien Potencier, which is always one of the highlights of the event. This time, he surprised the audience by deploying <strong>Symfony 8 live on stage</strong>. The release was a shared ritual with the whole audience, and it was done step-by-step. When the progress bar hit 100%, the attendees went crazy! Symfony 8 was officially available worldwide </span>&#x1f30d;</p>
<p><span>As the deployment was finalizing, Fabien reflected on the evolution of software development and the increasing integration of AI. He emphasized the importance of <strong>HTTP</strong> when interacting with AI models and underscored the crucial role of the <strong>HTTPClient</strong> component.</span></p>
<p><span>Fabien then introduced Symfony AI, a topic that fueled much of the discussion throughout the event. Several talks that followed showed how Symfony aims to make AI more accessible and truly useful in everyday life. This trajectory is part of a continuum: innovating without losing sight of the values that have been at the core of Symfony for 20 years..</span></p>
<h2 id="Two-Days-of-Inspiring-Technical-Talks"><span>Two Days of Inspiring Technical Talks</span></h2>
<p><span>For two days, the conference rooms hosted an extensive program covering advanced Symfony architecture, new features in Symfony, API, performance, security, best practices, AI of course, and more.</span></p>
<p><span>Each session illuminated different aspects of the framework&#8217;s current challenges and its evolution. During breaks, interactions between participants continued and also with the Symfony core team. This technical and friendly atmosphere is part of the DNA of the Symfony community.</span></p>
<p><img decoding="async" src="https://sensiolabs.com/f/b23cd058cd3715d3/1920x1280-adrien-roches.jpeg" alt="Adrien Roches"/></p>
<p><span>Two SensioLabs developers also stepped onto the stage this year:</span></p>
<ul>
<li>
<p><span><strong>Adrien Roches</strong> presented <em>“Blast Off Your CI with Dagger”</em> demonstrating how Dagger can simplify and improve the reliability of CI pipelines, particularly for effectively testing different combinations of PHP and Symfony versions.</span></p>
</li>
</ul>
<ul>
<li>
<p><span><strong>Stiven Llupa</strong> led a session on <em>“Semantic Search: From Keywords to Intent with Symfony AI”</em>, where he explained how to integrate semantic search into a Symfony application using Symfony AI, sharing examples of architecture and implementation.</span></p>
</li>
</ul>
<p><span>Several talks were presented by speakers from the Smile group, to which SensioLabs belongs. These talks focused on the challenges of CI, European strategic autonomy, AI, and searchandising.</span></p>
<p><span><u>All talks are now available for replay</u></span><span>, so you can view the conferences you were unable to follow live. You can also purchase access to review all sessions.</span></p>
<h2 id="A-Magical-Conference-Venue"><span>A Magical Conference Venue</span></h2>
<p><span>This year, the conference venue, Beurs van Berlage, a stunning historic brick building in the heart of Amsterdam, instantly wowed participants with its large glass roofs, elegant arches and cozy atmosphere. The place was absolutely enchanting </span>&#x2728;<span><strong> </strong>and perfect for celebrating this special edition.</span></p>
<p><span>A lot of people stopped by <strong>the official Symfony shop</strong>, where <strong>Symponies</strong>,<strong> 20th anniversary collector&#8217;s hoodies</strong>, and especially <strong>the anniversary comic book</strong> were selling fast.</span></p>
<p><span>This special comic book looks at the history of the framework, from its beginnings to major technical developments, including anecdotes you might not have heard yet. It&#8217;s already a hot item, and it’s selling like hotcakes.</span><br /><img decoding="async" src="https://sensiolabs.com/f/7f9c4f4828bbd103/1920x1280-symfony-booth.jpg" alt="Symfony Booth"/><img decoding="async" src="https://sensiolabs.com/f/7b64acedf241dfb8/1920x1280-conference.jpeg" alt="Conference"/></p>
<p><span><strong>Lots of sponsors, like MongoDB, Upsun, Jetbrains and Storyblok</strong> had booths under the arches in the main hall. They presented their solutions and chatted with participants, which made the atmosphere warm and vibrant.</span></p>
<p><span>In the center of this huge hall, we were thrilled to greet attendees at our booth. The vibe of the venue inspired us to set up a treasure hunt with 3 enigmas that play off references to Symfony and Harry Potter, spread out across the floors of the Beurs van Berlage.</span><br /><img decoding="async" src="https://sensiolabs.com/f/d9ef431b568940c5/1920x1280-sensiolabs-booth.jpg" alt="SensioLabs booth"/><br /><span>Participants could also join a second challenge. <strong>ZType</strong> is a mini-game where you have to destroy as many pieces of Symfony code as possible by typing them at top speed. The level was especially high this time, so congrats to the winners for their impressive reflexes!</span></p>
<p><span>And, of course, we can’t forget <strong>our delightful hot dog station</strong>. They were really good, and we enjoyed serving them to the attendees.</span></p>
<p><img decoding="async" src="https://sensiolabs.com/f/532a24af877c757c/1920x1280-hot-dog.jpg" alt="Hot dog"/></p>
<h2 id="A-Great-Anniversary-Party-for-Symfony"><span>A Great Anniversary Party for Symfony</span></h2>
<p><span>One of the highlights of this SymfonyCon is going to be the unforgettable <strong>anniversary party</strong> on Thursday night </span>&#x1f973;<span> The party was at the Kanarie Club, right at the heart of De Hallen. It&#8217;s a pretty iconic spot in Amsterdam, well known for its large food court. Everyone had dinner there before heading to the club. It felt truly gratifying to celebrate this meaningful moment with the community.</span></p>
<p><img decoding="async" src="https://sensiolabs.com/f/70635475d1270143/1920x1280-social-symfonycon.jpeg" alt="Social SymfonyCon"/><img decoding="async" src="https://sensiolabs.com/f/d2b5a350f10bb31f/1920x1280-fabien-gegory.jpeg" alt="Fabien &amp; Gégory"/><span>And, of course, you can&#8217;t forget the spectacular <strong>layer cake commemorating the 20th anniversary of Symfony</strong> </span>&#x1f382;<span> The moment Fabien Potencier cut into it was a powerful symbol for all those who have followed for a while the journey of the framework.</span></p>
<p><span>The <strong>photo booth</strong>, set up just for the event, was packed all night. Everyone there got a souvenir photo of this special night. There was a really cool plastic balls pool upstairs where we could chill with your drink. The fun continued on the dance floor, where the amazing DJ had us dancing until closing time.</span></p>
<p><span><strong>We celebrated 2 decades of open source, innovation, and collaboration with a lot of fun, great pictures, and a slice of cake</strong>.</span></p>
<p><span>This year&#8217;s SymfonyCon is going to be remembered as one of the great ones. Here at SensioLabs, we&#8217;re thrilled to have been a part of this amazing journey and to have played a small role in making this unique SymfonyCon even more magical. We want to say a big thank you to the community, the organizers, and everyone we were lucky to meet.</span></p>
<p>&#x1f389;<span> <strong>See you next year… in Warsaw, Poland! Excited to return to where SymfonyCon was born</strong></span></p>
</p></div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/symfonycon-amsterdam-2025-our-recap-and-the-highlights/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>2025: The Year in Charts</title>
		<link>https://xtadalafix.com/2025-the-year-in-charts/</link>
					<comments>https://xtadalafix.com/2025-the-year-in-charts/#respond</comments>
		
		<dc:creator><![CDATA[xtadalafix]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 19:54:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://xtadalafix.com/2025-the-year-in-charts/</guid>

					<description><![CDATA[View the video of this post here. Get a FREE Wealth Path Analysis from Creative Planning to ensure you’re on the right path for 2026 and beyond. Creative Planning is proud to provide comprehensive wealth management services to clients in all 50 states and abroad, with over $385 billion in assets under management and advisement. So whether you’re [&#8230;]]]></description>
										<content:encoded><![CDATA[<div>
<p>View the <strong>video of this post here</strong>.</p>
<p><iframe loading="lazy" title="2025: The Year in Charts | Charlie Bilello | Creative Planning" width="640" height="360" src="https://www.youtube.com/embed/O6XCrfN3Kck?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>Get a <strong>FREE Wealth Path Analysis from Creative Planning</strong> to ensure you’re on the right path for 2026 and beyond.</p>
<p>Creative Planning is proud to provide comprehensive wealth management services to clients in all 50 states and abroad, with over $385 billion in assets under management and advisement. So whether you’re in New York, California, Texas, Florida or place in between, <strong><u>there’s an advisor near you!</u></strong></p>
<figure class="wp-block-image"></figure>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>Here are the charts and themes that tell the story of 2025…</p>
<p><strong>I. The Great Unknown</strong></p>
<p>The beginning of each year is a time of hope and promise, a clean slate to start anew.</p>
<p>Whatever happened last year is in the past – and the great unknown that is the future awaits.</p>
<p>The thought of that can be both exciting and scary at the same time, because no one knows if that future will be cruel, calm, or chaotic.</p>
<p>And more often than not, it’s all of the above at different moments – and 2025 was no exception.</p>
<p>The year started out benign enough, with S&amp;P 500 building on a strong upward trend throughout 2024.</p>
<p>On February 19, the S&amp;P 500 closed at its 3rd all-time high of the year, up 4.5% year-to-date. </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="588" height="599" src="https://bilello.blog/wp-content/uploads/2026/01/SP-aths-2-19-25.png" alt="" class="wp-image-16017" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-aths-2-19-25.png 588w, https://bilello.blog/wp-content/uploads/2026/01/SP-aths-2-19-25-294x300.png 294w" sizes="auto, (max-width: 588px) 100vw, 588px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="841" height="569" src="https://bilello.blog/wp-content/uploads/2026/01/SP-return-as-of-2-19-25.png" alt="" class="wp-image-16018" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-return-as-of-2-19-25.png 841w, https://bilello.blog/wp-content/uploads/2026/01/SP-return-as-of-2-19-25-300x203.png 300w, https://bilello.blog/wp-content/uploads/2026/01/SP-return-as-of-2-19-25-768x520.png 768w" sizes="auto, (max-width: 841px) 100vw, 841px"/></figure>
<p>Would it be a repeat of 2024 – another year of smooth sailing?</p>
<p>The answer to that question would come soon enough…</p>
<p><strong>II.</strong> <strong>The Tariff Tantrum, Part 2</strong></p>
<p>No one rings a bell at the top.</p>
<p>Which is why no one suspected anything more than a standard pullback when the S&amp;P 500 gave up its gains on the year in early March.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="566" src="https://bilello.blog/wp-content/uploads/2026/01/SP-2025-return-as-of-3-3-325.png" alt="" class="wp-image-16022" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-2025-return-as-of-3-3-325.png 839w, https://bilello.blog/wp-content/uploads/2026/01/SP-2025-return-as-of-3-3-325-300x202.png 300w, https://bilello.blog/wp-content/uploads/2026/01/SP-2025-return-as-of-3-3-325-768x518.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px"/></figure>
<p>But a storm was quietly brewing, and by early April it had intensified into a full-blown hurricane.</p>
<p>Ascribing a specific “reason” for a big stock market decline is often a difficult endeavor. But not this time. The primary fear among market participants was clear as day: trade wars and tariffs.</p>
<p>On April 2 came “Liberation Day,” and with it “reciprocal tariff rates” that were much higher than anyone expected on nearly every country around the world.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="774" src="https://bilello.blog/wp-content/uploads/2026/01/liberation-day-tariffs-4-2-25-1024x774.png" alt="" class="wp-image-16024" srcset="https://bilello.blog/wp-content/uploads/2026/01/liberation-day-tariffs-4-2-25-1024x774.png 1024w, https://bilello.blog/wp-content/uploads/2026/01/liberation-day-tariffs-4-2-25-300x227.png 300w, https://bilello.blog/wp-content/uploads/2026/01/liberation-day-tariffs-4-2-25-768x580.png 768w, https://bilello.blog/wp-content/uploads/2026/01/liberation-day-tariffs-4-2-25-1536x1160.png 1536w, https://bilello.blog/wp-content/uploads/2026/01/liberation-day-tariffs-4-2-25-2048x1547.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>The market reaction was swift, with the S&amp;P 500’s decline reaching -21% by April 7, the 2nd fastest bear market in history.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="597" src="https://bilello.blog/wp-content/uploads/2026/01/SP-2025-bear-market-as-of-4-9-25.png" alt="" class="wp-image-16025" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-2025-bear-market-as-of-4-9-25.png 839w, https://bilello.blog/wp-content/uploads/2026/01/SP-2025-bear-market-as-of-4-9-25-300x213.png 300w, https://bilello.blog/wp-content/uploads/2026/01/SP-2025-bear-market-as-of-4-9-25-768x546.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px"/></figure>
<p>When the market closed April 8, it was down over 15% on the year, the 4th worst start to a year in history.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="450" height="546" src="https://bilello.blog/wp-content/uploads/2026/01/SP-worst-starts-4-8-25.png" alt="" class="wp-image-16026" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-worst-starts-4-8-25.png 450w, https://bilello.blog/wp-content/uploads/2026/01/SP-worst-starts-4-8-25-247x300.png 247w" sizes="auto, (max-width: 450px) 100vw, 450px"/></figure>
<p>In a poll I conducted on X that day, two-thirds of respondents said the US economy was headed for a recession.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="642" height="255" src="https://bilello.blog/wp-content/uploads/2026/01/us-recession-poll-4-9-25.png" alt="" class="wp-image-16027" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-recession-poll-4-9-25.png 642w, https://bilello.blog/wp-content/uploads/2026/01/us-recession-poll-4-9-25-300x119.png 300w" sizes="auto, (max-width: 642px) 100vw, 642px"/></figure>
<p>The Volatility Index ($VIX) had closed above 50, an indication of extreme fear.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="803" height="893" src="https://bilello.blog/wp-content/uploads/2026/01/vix-above-50-study-4-8-25.png" alt="" class="wp-image-16031" srcset="https://bilello.blog/wp-content/uploads/2026/01/vix-above-50-study-4-8-25.png 803w, https://bilello.blog/wp-content/uploads/2026/01/vix-above-50-study-4-8-25-270x300.png 270w, https://bilello.blog/wp-content/uploads/2026/01/vix-above-50-study-4-8-25-768x854.png 768w" sizes="auto, (max-width: 803px) 100vw, 803px"/></figure>
<p>And bearish sentiment (AAII Investor Poll) had risen to its highest level since March 2009.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="739" src="https://bilello.blog/wp-content/uploads/2026/01/aaii-bearish-vs.-SP-4-3-25-1024x739.png" alt="" class="wp-image-16029" srcset="https://bilello.blog/wp-content/uploads/2026/01/aaii-bearish-vs.-SP-4-3-25-1024x739.png 1024w, https://bilello.blog/wp-content/uploads/2026/01/aaii-bearish-vs.-SP-4-3-25-300x216.png 300w, https://bilello.blog/wp-content/uploads/2026/01/aaii-bearish-vs.-SP-4-3-25-768x554.png 768w, https://bilello.blog/wp-content/uploads/2026/01/aaii-bearish-vs.-SP-4-3-25.png 1159w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>All hope was lost. Or so it seemed.</p>
<p><strong>III. Tacos and Turnarounds</strong></p>
<p>When were the new punitive tariff rates supposed to begin? </p>
<p>April 9.</p>
<p>And when did they actually begin?</p>
<p>Never.</p>
<p>On April 9, President Trump did a 180 degree reversal, initiating a 90-day pause on the higher planned tariff rates for all countries except China.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="842" height="560" src="https://bilello.blog/wp-content/uploads/2026/01/SP-500-April-9-2025.png" alt="" class="wp-image-16032" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-500-April-9-2025.png 842w, https://bilello.blog/wp-content/uploads/2026/01/SP-500-April-9-2025-300x200.png 300w, https://bilello.blog/wp-content/uploads/2026/01/SP-500-April-9-2025-768x511.png 768w" sizes="auto, (max-width: 842px) 100vw, 842px"/></figure>
<p>The US stock market rose 9.5% that day in its third biggest one-day gain since 1950.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="578" height="423" src="https://bilello.blog/wp-content/uploads/2026/01/SP-biggest-1-day-gains-4-9-25.png" alt="" class="wp-image-16033" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-biggest-1-day-gains-4-9-25.png 578w, https://bilello.blog/wp-content/uploads/2026/01/SP-biggest-1-day-gains-4-9-25-300x220.png 300w" sizes="auto, (max-width: 578px) 100vw, 578px"/></figure>
<p>In the subsequent weeks and months, this same pattern would play out again and again. New tariffs were threatened and announced only to be removed or delayed within hours/days. And when the about face came, the stock market would explode higher, not only erasing the prior losses but tacking on additional gains as well.</p>
<p>Thus the “TACO trade” was born, whereby “Trump Always Chickens Out” after announcing aggressive tariff policies. And with each new tariff threat, the sell-offs seemed to become smaller, as fewer market participants believed they would actually be enacted.</p>
<p>By the end of June, the fears over tariffs had vanished, and the S&amp;P 500 was back at all-time highs.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="835" height="557" src="https://bilello.blog/wp-content/uploads/2026/01/image.png" alt="" class="wp-image-16034" srcset="https://bilello.blog/wp-content/uploads/2026/01/image.png 835w, https://bilello.blog/wp-content/uploads/2026/01/image-300x200.png 300w, https://bilello.blog/wp-content/uploads/2026/01/image-768x512.png 768w" sizes="auto, (max-width: 835px) 100vw, 835px"/></figure>
<p>This was one of the fastest turnarounds in market history, with the S&amp;P 500 gaining 22% in just 12 weeks. </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="820" height="569" src="https://bilello.blog/wp-content/uploads/2026/01/image-1.png" alt="" class="wp-image-16035" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-1.png 820w, https://bilello.blog/wp-content/uploads/2026/01/image-1-300x208.png 300w, https://bilello.blog/wp-content/uploads/2026/01/image-1-768x533.png 768w" sizes="auto, (max-width: 820px) 100vw, 820px"/></figure>
<p>And the 64% decline in the $VIX during this period was the biggest volatility crash we’ve ever seen.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="748" height="569" src="https://bilello.blog/wp-content/uploads/2026/01/image-2.png" alt="" class="wp-image-16036" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-2.png 748w, https://bilello.blog/wp-content/uploads/2026/01/image-2-300x228.png 300w" sizes="auto, (max-width: 748px) 100vw, 748px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="835" height="558" src="https://bilello.blog/wp-content/uploads/2026/01/image-3.png" alt="" class="wp-image-16037" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-3.png 835w, https://bilello.blog/wp-content/uploads/2026/01/image-3-300x200.png 300w, https://bilello.blog/wp-content/uploads/2026/01/image-3-768x513.png 768w" sizes="auto, (max-width: 835px) 100vw, 835px"/></figure>
<p>It took less than 3 months from the April 2025 bear market lows for the S&amp;P 500 to hit a new all-time high. That was the 2nd fastest recovery for US stocks in the last 75 years, trailing only the vertical rally in 1982.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="624" height="514" src="https://bilello.blog/wp-content/uploads/2026/01/image-4.png" alt="" class="wp-image-16038" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-4.png 624w, https://bilello.blog/wp-content/uploads/2026/01/image-4-300x247.png 300w" sizes="auto, (max-width: 624px) 100vw, 624px"/></figure>
<p>During bear markets, it’s tempting to think you can get out and get back in when the “coast is clear.” The only problem? By the time the coast is clear, many of the best days and biggest gains will have already passed. We saw that once again in 2025.</p>
<p><strong>IV.</strong> <strong>A Wave of Easing</strong></p>
<p>With the exception of Brazil and Japan, nearly all of the major global central banks cut interest rates in 2025…</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="340" height="783" src="https://bilello.blog/wp-content/uploads/2026/01/central-bank-rate-actions-in-2025.png" alt="" class="wp-image-16058" srcset="https://bilello.blog/wp-content/uploads/2026/01/central-bank-rate-actions-in-2025.png 340w, https://bilello.blog/wp-content/uploads/2026/01/central-bank-rate-actions-in-2025-130x300.png 130w" sizes="auto, (max-width: 340px) 100vw, 340px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="560" height="779" src="https://bilello.blog/wp-content/uploads/2026/01/global-cb-rates-12-31-25.png" alt="" class="wp-image-16057" srcset="https://bilello.blog/wp-content/uploads/2026/01/global-cb-rates-12-31-25.png 560w, https://bilello.blog/wp-content/uploads/2026/01/global-cb-rates-12-31-25-216x300.png 216w" sizes="auto, (max-width: 560px) 100vw, 560px"/></figure>
<p>The US Federal Reserve cut rates by another 75 bps (25 bps in September, October, and December), adding to the 100 bps of rate cuts in 2024.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="567" src="https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-changes-2022-25-12-31-25.png" alt="" class="wp-image-16039" srcset="https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-changes-2022-25-12-31-25.png 839w, https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-changes-2022-25-12-31-25-300x203.png 300w, https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-changes-2022-25-12-31-25-768x519.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px"/></figure>
<p>That brought the Fed Funds Rate down to a new range of 3.50% to 3.75%.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="578" height="626" src="https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-yearly-12-31-25-1.png" alt="" class="wp-image-16002" srcset="https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-yearly-12-31-25-1.png 578w, https://bilello.blog/wp-content/uploads/2026/01/fed-funds-rate-yearly-12-31-25-1-277x300.png 277w" sizes="auto, (max-width: 578px) 100vw, 578px"/></figure>
<p>Why did the Fed cut rates?</p>
<p>Growing evidence of a weaker labor market, which saw the Unemployment Rate rise to 4.6% (highest since September 2021) and jobs growth slow to just 10k per month (over the last 4 months, fewest since 2020 recession).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="731" height="470" src="https://bilello.blog/wp-content/uploads/2026/01/ue-rate-12-16-25-1.png" alt="" class="wp-image-16040" srcset="https://bilello.blog/wp-content/uploads/2026/01/ue-rate-12-16-25-1.png 731w, https://bilello.blog/wp-content/uploads/2026/01/ue-rate-12-16-25-1-300x193.png 300w" sizes="auto, (max-width: 731px) 100vw, 731px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="679" height="391" src="https://bilello.blog/wp-content/uploads/2026/01/image-5.png" alt="" class="wp-image-16041" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-5.png 679w, https://bilello.blog/wp-content/uploads/2026/01/image-5-300x173.png 300w" sizes="auto, (max-width: 679px) 100vw, 679px"/></figure>
<p>What about the other part of their “dual mandate,” maintaining price stability?”</p>
<p>They seem to be ignoring that for now, with US CPI averaging close to 4% per year since the start of 2020, nearly double the Fed’s target.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="744" height="434" src="https://bilello.blog/wp-content/uploads/2026/01/us-cpi-vs.-trend-12-18-25.png" alt="" class="wp-image-16042" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-cpi-vs.-trend-12-18-25.png 744w, https://bilello.blog/wp-content/uploads/2026/01/us-cpi-vs.-trend-12-18-25-300x175.png 300w" sizes="auto, (max-width: 744px) 100vw, 744px"/></figure>
<p>While Americans live in the real world of punishing cumulative inflation, the Fed is only focused on how much prices have increased over the last 12 months. And while even those prices have yet to hit the Fed’s 2% target (latest CPI report showed a 2.7% YoY increase), the Fed still believes monetary easing is warranted.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="554" src="https://bilello.blog/wp-content/uploads/2026/01/mallouk-367-2-inflation-myth-1024x554.png" alt="" class="wp-image-16059" srcset="https://bilello.blog/wp-content/uploads/2026/01/mallouk-367-2-inflation-myth-1024x554.png 1024w, https://bilello.blog/wp-content/uploads/2026/01/mallouk-367-2-inflation-myth-300x162.png 300w, https://bilello.blog/wp-content/uploads/2026/01/mallouk-367-2-inflation-myth-768x416.png 768w, https://bilello.blog/wp-content/uploads/2026/01/mallouk-367-2-inflation-myth.png 1033w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>As for QT (Quantitative Tightening), that came to an end in November with the Fed’s balance sheet shrinking by over $2.4 trillion from its 2022 peak.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="838" height="563" src="https://bilello.blog/wp-content/uploads/2026/01/fed-total-assets-12-19-25.png" alt="" class="wp-image-16044" srcset="https://bilello.blog/wp-content/uploads/2026/01/fed-total-assets-12-19-25.png 838w, https://bilello.blog/wp-content/uploads/2026/01/fed-total-assets-12-19-25-300x202.png 300w, https://bilello.blog/wp-content/uploads/2026/01/fed-total-assets-12-19-25-768x516.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px"/></figure>
<p>And without any pause or delay, a new QE (Quantitative Easing) program has begun, starting in December with $40 billion per month of Treasury Bills. After four straight years with a balance sheet reduction (2022-25), the Fed will enter 2026 printing money and expanding its balance sheet once again. </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="487" height="599" src="https://bilello.blog/wp-content/uploads/2026/01/fed-balance-sheet-by-year-12-31-25.png" alt="" class="wp-image-16045" srcset="https://bilello.blog/wp-content/uploads/2026/01/fed-balance-sheet-by-year-12-31-25.png 487w, https://bilello.blog/wp-content/uploads/2026/01/fed-balance-sheet-by-year-12-31-25-244x300.png 244w" sizes="auto, (max-width: 487px) 100vw, 487px"/></figure>
<p><strong>V. Deeper in Debt</strong></p>
<p>In a year filled with many surprises, rising National Debt wasn’t one of them. Everyone expected our nation’s debt to increase and increase it did, rising another $2.3 trillion in 2025 to end the year at $38.5 trillion.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="693" height="428" src="https://bilello.blog/wp-content/uploads/2026/01/national-debt-in-2025-new.png" alt="" class="wp-image-15989" srcset="https://bilello.blog/wp-content/uploads/2026/01/national-debt-in-2025-new.png 693w, https://bilello.blog/wp-content/uploads/2026/01/national-debt-in-2025-new-300x185.png 300w" sizes="auto, (max-width: 693px) 100vw, 693px"/></figure>
<p>This follows increases of $2.2 trillion in 2024, $2.6 trillion in 2023, $1.8 trillion in 2022, $1.9 trillion in 2021, and $4.5 trillion in 2020. The National Debt has more than doubled over the last decade.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="440" height="717" src="https://bilello.blog/wp-content/uploads/2026/01/us-national-debt-history-10-22-25-1.png" alt="" class="wp-image-16047" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-national-debt-history-10-22-25-1.png 440w, https://bilello.blog/wp-content/uploads/2026/01/us-national-debt-history-10-22-25-1-184x300.png 184w" sizes="auto, (max-width: 440px) 100vw, 440px"/></figure>
<p>To say the US government is spending money like a “drunken sailor” would be an insult to drunken sailors who at least a) spend their own money and b) quit when they run out of funds.</p>
<p>In contrast, the US government has no constraints – they spend other people’s money and then spend even more, borrowing to close the gap.</p>
<p>With the passage of the “Big Beautiful Bill” came a host of new tax cuts (see chart below for summary) in addition to the extension of the 2017 tax cuts. There was also a $5 trillion increase in the “debt ceiling,” meaning another showdown is likely at some point in 2027. The question is not whether we will continue to run a deficit in the years to come (absent real spending cuts, we most certainly will), but how big those deficits will be.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="982" height="723" src="https://bilello.blog/wp-content/uploads/2026/01/one-big-beautiful-bill-summary-7-8-25.png" alt="" class="wp-image-16046" srcset="https://bilello.blog/wp-content/uploads/2026/01/one-big-beautiful-bill-summary-7-8-25.png 982w, https://bilello.blog/wp-content/uploads/2026/01/one-big-beautiful-bill-summary-7-8-25-300x221.png 300w, https://bilello.blog/wp-content/uploads/2026/01/one-big-beautiful-bill-summary-7-8-25-768x565.png 768w" sizes="auto, (max-width: 982px) 100vw, 982px"/></figure>
<p><strong>VI. The World Strikes Back</strong></p>
<p>If someone told you the US would increase overall tariff rates from 2% to 14% in 2025, you would likely have assumed that this would have hurt international stocks as US imports would decline and the Dollar would rise.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="885" height="516" src="https://bilello.blog/wp-content/uploads/2026/01/effective-tariff-rate-as-of-dec-2025.png" alt="" class="wp-image-16049" srcset="https://bilello.blog/wp-content/uploads/2026/01/effective-tariff-rate-as-of-dec-2025.png 885w, https://bilello.blog/wp-content/uploads/2026/01/effective-tariff-rate-as-of-dec-2025-300x175.png 300w, https://bilello.blog/wp-content/uploads/2026/01/effective-tariff-rate-as-of-dec-2025-768x448.png 768w" sizes="auto, (max-width: 885px) 100vw, 885px"/></figure>
<p>But naturally, the exact opposite occurred, with imports spiking to due to the front-running of tariffs and international stocks outperforming US stocks by their widest margin since 1993.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="853" height="462" src="https://bilello.blog/wp-content/uploads/2026/01/us-imports-monthly-through-september-2025.png" alt="" class="wp-image-16064" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-imports-monthly-through-september-2025.png 853w, https://bilello.blog/wp-content/uploads/2026/01/us-imports-monthly-through-september-2025-300x162.png 300w, https://bilello.blog/wp-content/uploads/2026/01/us-imports-monthly-through-september-2025-768x416.png 768w" sizes="auto, (max-width: 853px) 100vw, 853px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="838" height="617" src="https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-in-2025.png" alt="" class="wp-image-16060" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-in-2025.png 838w, https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-in-2025-300x221.png 300w, https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-in-2025-768x565.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="752" height="484" src="https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-annually-12-31-25.png" alt="" class="wp-image-16061" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-annually-12-31-25.png 752w, https://bilello.blog/wp-content/uploads/2026/01/us-vs.-international-annually-12-31-25-300x193.png 300w" sizes="auto, (max-width: 752px) 100vw, 752px"/></figure>
<p>Meanwhile, the US Dollar Index fell 9% on the year as international currencies rose in value, providing an additional boost to US-based investor returns.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="565" src="https://bilello.blog/wp-content/uploads/2026/01/us-dollar-index-in-2025.png" alt="" class="wp-image-16067" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-dollar-index-in-2025.png 840w, https://bilello.blog/wp-content/uploads/2026/01/us-dollar-index-in-2025-300x202.png 300w, https://bilello.blog/wp-content/uploads/2026/01/us-dollar-index-in-2025-768x517.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<p>“Why should I own anything other than the S&amp;P 500.”</p>
<p>That was #1 question investors were asking at the start of 2025.</p>
<p>Now they have the answer…</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="806" height="430" src="https://bilello.blog/wp-content/uploads/2026/01/global-etf-equity-returns-in-2025-12-31-25.png" alt="" class="wp-image-15997" srcset="https://bilello.blog/wp-content/uploads/2026/01/global-etf-equity-returns-in-2025-12-31-25.png 806w, https://bilello.blog/wp-content/uploads/2026/01/global-etf-equity-returns-in-2025-12-31-25-300x160.png 300w, https://bilello.blog/wp-content/uploads/2026/01/global-etf-equity-returns-in-2025-12-31-25-768x410.png 768w" sizes="auto, (max-width: 806px) 100vw, 806px"/></figure>
<p><strong>VII. Investors Partying Like It’s 1999</strong></p>
<p>While international stocks reversed a 16-year trend of US outperformance in 2025, the same could not be said for major factors within the US market:</p>
<ul class="wp-block-list">
<li>The S&amp;P 500 Index has outperformed the S&amp;P 500 Equal Weight Index by 34% over the past 3 years, the widest 3-year performance gap in history. The prior record was 32% outperformance from 1997-1999 which was followed by a sharp reversal and 7 years of Equal Weight outperformance.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="680" height="505" src="https://bilello.blog/wp-content/uploads/2026/01/SP-vs.-equal-weight-annual-returns-updated-2025.png" alt="" class="wp-image-16050" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-vs.-equal-weight-annual-returns-updated-2025.png 680w, https://bilello.blog/wp-content/uploads/2026/01/SP-vs.-equal-weight-annual-returns-updated-2025-300x223.png 300w" sizes="auto, (max-width: 680px) 100vw, 680px"/></figure>
<ul class="wp-block-list">
<li>US Large Caps (S&amp;P 500) outperformed US Small Caps (Russell 2000) by 5% in 2025, their 5th straight year of outperformance. That ties 1994-1998 for the longest streak of Large Cap outperformance ever. That prior streak was followed by 6 straight years of Small Cap outperformance (1999-2004).</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="703" height="441" src="https://bilello.blog/wp-content/uploads/2026/01/large-vs.-small-caps-yearly-through-2025-12-31-25.png" alt="" class="wp-image-16051" srcset="https://bilello.blog/wp-content/uploads/2026/01/large-vs.-small-caps-yearly-through-2025-12-31-25.png 703w, https://bilello.blog/wp-content/uploads/2026/01/large-vs.-small-caps-yearly-through-2025-12-31-25-300x188.png 300w" sizes="auto, (max-width: 703px) 100vw, 703px"/></figure>
<ul class="wp-block-list">
<li>Growth stocks outperformed Value stocks by 3% in 2025, their third straight year of outperformance and a record eighth year outperformance in the past nine years. The ratio of Growth to Value has surpassed the March 2000 bubble peak.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="607" height="441" src="https://bilello.blog/wp-content/uploads/2026/01/growth-vs.-value-annually-12-31-25.png" alt="" class="wp-image-16065" srcset="https://bilello.blog/wp-content/uploads/2026/01/growth-vs.-value-annually-12-31-25.png 607w, https://bilello.blog/wp-content/uploads/2026/01/growth-vs.-value-annually-12-31-25-300x218.png 300w" sizes="auto, (max-width: 607px) 100vw, 607px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="564" src="https://bilello.blog/wp-content/uploads/2026/01/growth-to-value-1-6-25.png" alt="" class="wp-image-16066" srcset="https://bilello.blog/wp-content/uploads/2026/01/growth-to-value-1-6-25.png 840w, https://bilello.blog/wp-content/uploads/2026/01/growth-to-value-1-6-25-300x201.png 300w, https://bilello.blog/wp-content/uploads/2026/01/growth-to-value-1-6-25-768x516.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<p>Speaking of bubbles, many comparisons have been made to the dot-com era with AI boosting optimism and valuations to levels we haven’t seen since back then.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="841" height="569" src="https://bilello.blog/wp-content/uploads/2026/01/cape-ratio-history-12-1-25.png" alt="" class="wp-image-16068" srcset="https://bilello.blog/wp-content/uploads/2026/01/cape-ratio-history-12-1-25.png 841w, https://bilello.blog/wp-content/uploads/2026/01/cape-ratio-history-12-1-25-300x203.png 300w, https://bilello.blog/wp-content/uploads/2026/01/cape-ratio-history-12-1-25-768x520.png 768w" sizes="auto, (max-width: 841px) 100vw, 841px"/></figure>
<p>US Tech sector outperformance hit a new record high in 2025, moving above the peak from 2024 and March 2000.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="568" src="https://bilello.blog/wp-content/uploads/2026/01/tech-vs.-SP-500-12-31-25.png" alt="" class="wp-image-16069" srcset="https://bilello.blog/wp-content/uploads/2026/01/tech-vs.-SP-500-12-31-25.png 840w, https://bilello.blog/wp-content/uploads/2026/01/tech-vs.-SP-500-12-31-25-300x203.png 300w, https://bilello.blog/wp-content/uploads/2026/01/tech-vs.-SP-500-12-31-25-768x519.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<p>And concentration among the “Magnificent Seven” stocks ended the year at close to 35%, another record high. The weighting of the top 10 stocks in the S&amp;P 500 grew to a record 39% as the biggest stocks in the index outperformed once again.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="921" height="515" src="https://bilello.blog/wp-content/uploads/2026/01/mag-7-weights-12-31-25.png" alt="" class="wp-image-16070" srcset="https://bilello.blog/wp-content/uploads/2026/01/mag-7-weights-12-31-25.png 921w, https://bilello.blog/wp-content/uploads/2026/01/mag-7-weights-12-31-25-300x168.png 300w, https://bilello.blog/wp-content/uploads/2026/01/mag-7-weights-12-31-25-768x429.png 768w" sizes="auto, (max-width: 921px) 100vw, 921px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="732" height="443" src="https://bilello.blog/wp-content/uploads/2026/01/mallouk-380-top-10-holdings-weight-SP-500-as-of-year-end-2025.png" alt="" class="wp-image-16071" srcset="https://bilello.blog/wp-content/uploads/2026/01/mallouk-380-top-10-holdings-weight-SP-500-as-of-year-end-2025.png 732w, https://bilello.blog/wp-content/uploads/2026/01/mallouk-380-top-10-holdings-weight-SP-500-as-of-year-end-2025-300x182.png 300w" sizes="auto, (max-width: 732px) 100vw, 732px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="697" height="473" src="https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-returns-by-market-cap-12-31-25.png" alt="" class="wp-image-16073" srcset="https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-returns-by-market-cap-12-31-25.png 697w, https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-returns-by-market-cap-12-31-25-300x204.png 300w" sizes="auto, (max-width: 697px) 100vw, 697px"/></figure>
<p>Leading the charge was Nvidia, which became the world’s biggest company in 2025 and the first ever to surpass a $5 trillion market cap.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="671" height="453" src="https://bilello.blog/wp-content/uploads/2026/01/nvda-market-cap-10-29.png" alt="" class="wp-image-16090" srcset="https://bilello.blog/wp-content/uploads/2026/01/nvda-market-cap-10-29.png 671w, https://bilello.blog/wp-content/uploads/2026/01/nvda-market-cap-10-29-300x203.png 300w" sizes="auto, (max-width: 671px) 100vw, 671px"/></figure>
<p>But 2025 was not the same story as 2023-2024 when we saw massive outperformance among all of the Magnificent 7 names. Five out of the Seven stocks in the Magnificent Seven actually underperformed the S&amp;P 500 in 2025 – only Google and Nvidia outperformed.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1024" height="539" src="https://bilello.blog/wp-content/uploads/2026/01/image-6.png" alt="" class="wp-image-16074" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-6.png 1024w, https://bilello.blog/wp-content/uploads/2026/01/image-6-300x158.png 300w, https://bilello.blog/wp-content/uploads/2026/01/image-6-768x404.png 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="840" height="515" src="https://bilello.blog/wp-content/uploads/2026/01/mag-7-2025-returns-12-31-25.png" alt="" class="wp-image-16052" srcset="https://bilello.blog/wp-content/uploads/2026/01/mag-7-2025-returns-12-31-25.png 840w, https://bilello.blog/wp-content/uploads/2026/01/mag-7-2025-returns-12-31-25-300x184.png 300w, https://bilello.blog/wp-content/uploads/2026/01/mag-7-2025-returns-12-31-25-768x471.png 768w" sizes="auto, (max-width: 840px) 100vw, 840px"/></figure>
<p>Which means that investors are trying to decipher who the biggest AI winners will be.</p>
<p>Is this narrowing leadership also a sign that large cap growth outperformance is in the final innings and more vulnerable to a shift in leadership? Only time will tell, but this will be one of the key things investors will be watching in 2026.</p>
<p><strong>VIII. The</strong> <strong>Physical/Digital Gold Divergence</strong></p>
<p>Gold ended 2025 up over 64%, its best year since 1979.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="409" height="509" src="https://bilello.blog/wp-content/uploads/2026/01/gold-annual-returns-12-31-25.png" alt="" class="wp-image-16075" srcset="https://bilello.blog/wp-content/uploads/2026/01/gold-annual-returns-12-31-25.png 409w, https://bilello.blog/wp-content/uploads/2026/01/gold-annual-returns-12-31-25-241x300.png 241w" sizes="auto, (max-width: 409px) 100vw, 409px"/></figure>
<p>That gain was more than enough to push real (inflation-adjusted) gold prices up to new highs for the first time since the 1980 peak. The ratio of gold to inflation ended the year at 13.3x, its highest level ever.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="720" height="418" src="https://bilello.blog/wp-content/uploads/2026/01/real-gold-price-monthly-as-of-dec-2025.png" alt="" class="wp-image-16081" srcset="https://bilello.blog/wp-content/uploads/2026/01/real-gold-price-monthly-as-of-dec-2025.png 720w, https://bilello.blog/wp-content/uploads/2026/01/real-gold-price-monthly-as-of-dec-2025-300x174.png 300w" sizes="auto, (max-width: 720px) 100vw, 720px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="720" height="420" src="https://bilello.blog/wp-content/uploads/2026/01/gold-vs.-inflation-as-of-12-31-25.png" alt="" class="wp-image-16082" srcset="https://bilello.blog/wp-content/uploads/2026/01/gold-vs.-inflation-as-of-12-31-25.png 720w, https://bilello.blog/wp-content/uploads/2026/01/gold-vs.-inflation-as-of-12-31-25-300x175.png 300w" sizes="auto, (max-width: 720px) 100vw, 720px"/></figure>
<p>Gold thrives on uncertainty, and there was plenty of it to go around in 2025 with the tariff turmoil and longest government shutdown in history. It also likely benefitted from the falling dollar, increase in national debt, and the unnecessary/unwarranted monetary easing from the Fed.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="513" height="571" src="https://bilello.blog/wp-content/uploads/2026/01/SP-shutdown-returns-11-13-25.png" alt="" class="wp-image-16078" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-shutdown-returns-11-13-25.png 513w, https://bilello.blog/wp-content/uploads/2026/01/SP-shutdown-returns-11-13-25-270x300.png 270w" sizes="auto, (max-width: 513px) 100vw, 513px"/></figure>
<p>Up until early October, Bitcoin seemed to be benefitting from many of the same narratives, but after a 36% correction it would end the year down 6%.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="579" src="https://bilello.blog/wp-content/uploads/2026/01/ibit-vs.-gld-in-2025.png" alt="" class="wp-image-16076" srcset="https://bilello.blog/wp-content/uploads/2026/01/ibit-vs.-gld-in-2025.png 839w, https://bilello.blog/wp-content/uploads/2026/01/ibit-vs.-gld-in-2025-300x207.png 300w, https://bilello.blog/wp-content/uploads/2026/01/ibit-vs.-gld-in-2025-768x530.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="920" height="691" src="https://bilello.blog/wp-content/uploads/2026/01/bitcoin-corrections-11-21-25.png" alt="" class="wp-image-16077" srcset="https://bilello.blog/wp-content/uploads/2026/01/bitcoin-corrections-11-21-25.png 920w, https://bilello.blog/wp-content/uploads/2026/01/bitcoin-corrections-11-21-25-300x225.png 300w, https://bilello.blog/wp-content/uploads/2026/01/bitcoin-corrections-11-21-25-768x577.png 768w" sizes="auto, (max-width: 920px) 100vw, 920px"/></figure>
<p>Was this simply a reversion to the mean after an incredible run that saw Bitcoin more than double in both 2023 and 2024 and spike to a peak of $126,000 in 2025? Or is this the start of a bigger Bitcoin correction like we saw most recently in 2022 (-78%) and 2018 (-84)? Like many questions in markets, these can only be answered with the benefit of hindsight.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="298" height="400" src="https://bilello.blog/wp-content/uploads/2026/01/bitcoin-returns-12-31-25.png" alt="" class="wp-image-16079" srcset="https://bilello.blog/wp-content/uploads/2026/01/bitcoin-returns-12-31-25.png 298w, https://bilello.blog/wp-content/uploads/2026/01/bitcoin-returns-12-31-25-224x300.png 224w" sizes="auto, (max-width: 298px) 100vw, 298px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="914" height="810" src="https://bilello.blog/wp-content/uploads/2026/01/bitcoin-milestones-10-6-25-1.png" alt="" class="wp-image-16080" srcset="https://bilello.blog/wp-content/uploads/2026/01/bitcoin-milestones-10-6-25-1.png 914w, https://bilello.blog/wp-content/uploads/2026/01/bitcoin-milestones-10-6-25-1-300x266.png 300w, https://bilello.blog/wp-content/uploads/2026/01/bitcoin-milestones-10-6-25-1-768x681.png 768w" sizes="auto, (max-width: 914px) 100vw, 914px"/></figure>
<p><strong>IX. Triumph of the Optimists</strong></p>
<p>The recession that many predicted during the tariff tantrum in April never arrived.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="981" height="248" src="https://bilello.blog/wp-content/uploads/2026/01/jp-morgan-recession-.png" alt="" class="wp-image-16083" srcset="https://bilello.blog/wp-content/uploads/2026/01/jp-morgan-recession-.png 981w, https://bilello.blog/wp-content/uploads/2026/01/jp-morgan-recession--300x76.png 300w, https://bilello.blog/wp-content/uploads/2026/01/jp-morgan-recession--768x194.png 768w" sizes="auto, (max-width: 981px) 100vw, 981px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="990" height="507" src="https://bilello.blog/wp-content/uploads/2026/01/tariff-recession-headlines-2025.png" alt="" class="wp-image-16084" srcset="https://bilello.blog/wp-content/uploads/2026/01/tariff-recession-headlines-2025.png 990w, https://bilello.blog/wp-content/uploads/2026/01/tariff-recession-headlines-2025-300x154.png 300w, https://bilello.blog/wp-content/uploads/2026/01/tariff-recession-headlines-2025-768x393.png 768w" sizes="auto, (max-width: 990px) 100vw, 990px"/></figure>
<p>After a 0.6% decline in Q1, Real GDP in the US grew 3.8% in Q2 and 4.2% in Q3 (annualized rate).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="821" height="522" src="https://bilello.blog/wp-content/uploads/2026/01/us-real-gdp-quarterly-12-23-25.png" alt="" class="wp-image-15977" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-real-gdp-quarterly-12-23-25.png 821w, https://bilello.blog/wp-content/uploads/2026/01/us-real-gdp-quarterly-12-23-25-300x191.png 300w, https://bilello.blog/wp-content/uploads/2026/01/us-real-gdp-quarterly-12-23-25-768x488.png 768w" sizes="auto, (max-width: 821px) 100vw, 821px"/></figure>
<p>That brings the US economic expansion up to 65 months and counting, with most now expecting it to continue for at least another quarter (latest Atlanta Fed Q4 GDP estimate: +2.7%).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="567" height="351" src="https://bilello.blog/wp-content/uploads/2026/01/us-econ-expansions-12-23-25.png" alt="" class="wp-image-15978" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-econ-expansions-12-23-25.png 567w, https://bilello.blog/wp-content/uploads/2026/01/us-econ-expansions-12-23-25-300x186.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px"/></figure>
<p>The S&amp;P 500 ended the year up 18% on a total return basis, earning a double-digit percentage gain for the third straight year.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="518" height="737" src="https://bilello.blog/wp-content/uploads/2026/01/SP-500-total-returns-annually-through-2025.png" alt="" class="wp-image-15984" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-500-total-returns-annually-through-2025.png 518w, https://bilello.blog/wp-content/uploads/2026/01/SP-500-total-returns-annually-through-2025-211x300.png 211w" sizes="auto, (max-width: 518px) 100vw, 518px"/></figure>
<p>What propelled the US stock market higher?</p>
<p>Earnings and expectations.</p>
<p>S&amp;P 500 operating earnings rose 13% during the year to new record highs.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="735" height="420" src="https://bilello.blog/wp-content/uploads/2026/01/SP-operating-eps-12-31-25-1.png" alt="" class="wp-image-16005" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-operating-eps-12-31-25-1.png 735w, https://bilello.blog/wp-content/uploads/2026/01/SP-operating-eps-12-31-25-1-300x171.png 300w" sizes="auto, (max-width: 735px) 100vw, 735px"/></figure>
<p>And on top of that growth we saw a multiple expansion of 3%, with the S&amp;P 500’s P/E ratio moving up to 26x at year-end from 25.2x at the start of the year. Expectations for future growth are high, with the S&amp;P 500’s P/E ratio now 40% above the historical median since 1989.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="753" height="433" src="https://bilello.blog/wp-content/uploads/2026/01/SP-pe-ratio-12-31-25.png" alt="" class="wp-image-16006" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-pe-ratio-12-31-25.png 753w, https://bilello.blog/wp-content/uploads/2026/01/SP-pe-ratio-12-31-25-300x173.png 300w" sizes="auto, (max-width: 753px) 100vw, 753px"/></figure>
<p>Expectations within the corporate bond market are lofty as well, with investors reaching for yield as if there will never be a default cycle again. Investment Grade spreads hit their tightest levels since 1998 during the year (0.74%) while High Yield spreads hit their tightest levels since 2007 (2.59%).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="841" height="506" src="https://bilello.blog/wp-content/uploads/2026/01/us-credit-spreads-12-31-25.png" alt="" class="wp-image-16007" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-credit-spreads-12-31-25.png 841w, https://bilello.blog/wp-content/uploads/2026/01/us-credit-spreads-12-31-25-300x180.png 300w, https://bilello.blog/wp-content/uploads/2026/01/us-credit-spreads-12-31-25-768x462.png 768w" sizes="auto, (max-width: 841px) 100vw, 841px"/></figure>
<p>This spread tightening boosted credit-sensitive areas of the bond market (US High Yield +8.6%) while the falling interest rates (US 10-Year Treasury moving from 4.58% down to 4.18%) helped boost rate-sensitive sectors. Emerging Markets were the best performers overall, with local currency bonds ($EMLC ETF) gaining nearly 19%.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="541" height="552" src="https://bilello.blog/wp-content/uploads/2026/01/bond-etf-returns-in-2025.png" alt="" class="wp-image-15990" srcset="https://bilello.blog/wp-content/uploads/2026/01/bond-etf-returns-in-2025.png 541w, https://bilello.blog/wp-content/uploads/2026/01/bond-etf-returns-in-2025-294x300.png 294w" sizes="auto, (max-width: 541px) 100vw, 541px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="655" height="820" src="https://bilello.blog/wp-content/uploads/2026/01/us-treasury-yields-since-1990-updated-12-31-25.png" alt="" class="wp-image-16091" srcset="https://bilello.blog/wp-content/uploads/2026/01/us-treasury-yields-since-1990-updated-12-31-25.png 655w, https://bilello.blog/wp-content/uploads/2026/01/us-treasury-yields-since-1990-updated-12-31-25-240x300.png 240w" sizes="auto, (max-width: 655px) 100vw, 655px"/></figure>
<p>The Aggregate US bond market was up over 7% in 2025, its best year since 2020.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="517" height="700" src="https://bilello.blog/wp-content/uploads/2026/01/bloomberg-agg-yearly-12-31-25.png" alt="" class="wp-image-16008" srcset="https://bilello.blog/wp-content/uploads/2026/01/bloomberg-agg-yearly-12-31-25.png 517w, https://bilello.blog/wp-content/uploads/2026/01/bloomberg-agg-yearly-12-31-25-222x300.png 222w" sizes="auto, (max-width: 517px) 100vw, 517px"/></figure>
<p>The US 60/40 portfolio, which had been declared “dead” by many in 2022 when both stocks/bonds fell, rose 13.6% in 2025, following gains of 15.5% in 2024 and 18% in 2023.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="318" height="487" src="https://bilello.blog/wp-content/uploads/2026/01/60-40-yearly-12-31-25.png" alt="" class="wp-image-16011" srcset="https://bilello.blog/wp-content/uploads/2026/01/60-40-yearly-12-31-25.png 318w, https://bilello.blog/wp-content/uploads/2026/01/60-40-yearly-12-31-25-196x300.png 196w" sizes="auto, (max-width: 318px) 100vw, 318px"/></figure>
<p>Stocks have done the heavy lifting over the past seven years, responsible for nearly all of the 60/40 portfolio’s 11.6% annualized gain. The 18% annualized return for US stocks over the last seven years is the highest since early 2001.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="810" height="414" src="https://bilello.blog/wp-content/uploads/2026/01/rolling-7-year-returns-stocks-bonds-60-40.png" alt="" class="wp-image-16085" srcset="https://bilello.blog/wp-content/uploads/2026/01/rolling-7-year-returns-stocks-bonds-60-40.png 810w, https://bilello.blog/wp-content/uploads/2026/01/rolling-7-year-returns-stocks-bonds-60-40-300x153.png 300w, https://bilello.blog/wp-content/uploads/2026/01/rolling-7-year-returns-stocks-bonds-60-40-768x393.png 768w" sizes="auto, (max-width: 810px) 100vw, 810px"/></figure>
<p>Within the S&amp;P 500, all 11 sector ETFs finished higher led by Technology ($XLK) with a 25% gain.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="596" src="https://bilello.blog/wp-content/uploads/2026/01/sector-etf-returns-in-2025-12-31-25-1024x596.png" alt="" class="wp-image-15986" srcset="https://bilello.blog/wp-content/uploads/2026/01/sector-etf-returns-in-2025-12-31-25-1024x596.png 1024w, https://bilello.blog/wp-content/uploads/2026/01/sector-etf-returns-in-2025-12-31-25-300x175.png 300w, https://bilello.blog/wp-content/uploads/2026/01/sector-etf-returns-in-2025-12-31-25-768x447.png 768w, https://bilello.blog/wp-content/uploads/2026/01/sector-etf-returns-in-2025-12-31-25.png 1028w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>The Dow hit at least one new all-time high for the 13th straight year, surpassing the record run from 1989 to 2000. Records are indeed made to be broken.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="575" height="510" src="https://bilello.blog/wp-content/uploads/2026/01/dow-aths-by-year-12-31-25.png" alt="" class="wp-image-15992" srcset="https://bilello.blog/wp-content/uploads/2026/01/dow-aths-by-year-12-31-25.png 575w, https://bilello.blog/wp-content/uploads/2026/01/dow-aths-by-year-12-31-25-300x266.png 300w" sizes="auto, (max-width: 575px) 100vw, 575px"/></figure>
<p>23 out of the 30 stocks in the Dow finished up on the year, with Caterpillar leading the way (+60%).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="559" height="594" src="https://bilello.blog/wp-content/uploads/2026/01/dow-2025-returns-12-31-25.png" alt="" class="wp-image-15988" srcset="https://bilello.blog/wp-content/uploads/2026/01/dow-2025-returns-12-31-25.png 559w, https://bilello.blog/wp-content/uploads/2026/01/dow-2025-returns-12-31-25-282x300.png 282w" sizes="auto, (max-width: 559px) 100vw, 559px"/></figure>
<p>Like every year, there were winners and losers, but the number of winners far outpaced the number of losers in 2025.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="986" height="580" src="https://bilello.blog/wp-content/uploads/2026/01/best-performing-stocks-in-2025-SP-500.png" alt="" class="wp-image-15995" srcset="https://bilello.blog/wp-content/uploads/2026/01/best-performing-stocks-in-2025-SP-500.png 986w, https://bilello.blog/wp-content/uploads/2026/01/best-performing-stocks-in-2025-SP-500-300x176.png 300w, https://bilello.blog/wp-content/uploads/2026/01/best-performing-stocks-in-2025-SP-500-768x452.png 768w" sizes="auto, (max-width: 986px) 100vw, 986px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="981" height="579" src="https://bilello.blog/wp-content/uploads/2026/01/worst-performing-stocks-in-2025-SP-500.png" alt="" class="wp-image-15996" srcset="https://bilello.blog/wp-content/uploads/2026/01/worst-performing-stocks-in-2025-SP-500.png 981w, https://bilello.blog/wp-content/uploads/2026/01/worst-performing-stocks-in-2025-SP-500-300x177.png 300w, https://bilello.blog/wp-content/uploads/2026/01/worst-performing-stocks-in-2025-SP-500-768x453.png 768w" sizes="auto, (max-width: 981px) 100vw, 981px"/></figure>
<p>With the exception of Bitcoin, every major asset class ended 2025 in the green, led by Gold’s 64% gain. </p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="460" src="https://bilello.blog/wp-content/uploads/2026/01/etf-returns-12-31-25-1024x460.png" alt="" class="wp-image-15987" srcset="https://bilello.blog/wp-content/uploads/2026/01/etf-returns-12-31-25-1024x460.png 1024w, https://bilello.blog/wp-content/uploads/2026/01/etf-returns-12-31-25-300x135.png 300w, https://bilello.blog/wp-content/uploads/2026/01/etf-returns-12-31-25-768x345.png 768w, https://bilello.blog/wp-content/uploads/2026/01/etf-returns-12-31-25.png 1484w" sizes="auto, (max-width: 1024px) 100vw, 1024px"/></figure>
<p>The S&amp;P 500 would end the year at 6,846, hitting 39 more all-time highs and besting the average Wall Street firm’s price target by over 200 points.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="459" height="505" src="https://bilello.blog/wp-content/uploads/2026/01/SP-aths-12-31-25.png" alt="" class="wp-image-15999" srcset="https://bilello.blog/wp-content/uploads/2026/01/SP-aths-12-31-25.png 459w, https://bilello.blog/wp-content/uploads/2026/01/SP-aths-12-31-25-273x300.png 273w" sizes="auto, (max-width: 459px) 100vw, 459px"/></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="987" height="634" src="https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-Wall-Street-Price-Targets-vs.-Actual-12-31-25.png" alt="" class="wp-image-15998" srcset="https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-Wall-Street-Price-Targets-vs.-Actual-12-31-25.png 987w, https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-Wall-Street-Price-Targets-vs.-Actual-12-31-25-300x193.png 300w, https://bilello.blog/wp-content/uploads/2026/01/2025-SP-500-Wall-Street-Price-Targets-vs.-Actual-12-31-25-768x493.png 768w" sizes="auto, (max-width: 987px) 100vw, 987px"/></figure>
<p>The 4th worst start to a year in history was followed by a 37% advance to year-end, one of the greatest market comebacks in history.</p>
<p>All in all, it was a triumph of the optimists once more.</p>
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="450" height="547" src="https://bilello.blog/wp-content/uploads/2026/01/image-7.png" alt="" class="wp-image-16087" style="aspect-ratio:0.8226926043362756;width:450px;height:auto" srcset="https://bilello.blog/wp-content/uploads/2026/01/image-7.png 450w, https://bilello.blog/wp-content/uploads/2026/01/image-7-247x300.png 247w" sizes="auto, (max-width: 450px) 100vw, 450px"/></figure>
<p><strong>XI. What Comes Next?</strong></p>
<p>These were the charts and themes that told the story of 2025. As always, the narratives followed prices.</p>
<p>As prices change in 2026, the narratives will surely change as well.</p>
<ul class="wp-block-list">
<li>Where will the S&amp;P 500 end 2026?</li>
<li>How about the 10-Year Yield?</li>
<li>Where is Crude Oil headed?</li>
<li>Is Gold or Bitcoin a better investment today?</li>
<li>How many times will the Fed cut rates in 2026?</li>
<li>Will inflation finally move down to the Fed’s 2% target?</li>
<li>When will the economy fall into recession?</li>
</ul>
<p>I don’t know the answer to any of these questions.</p>
<p>As Lao Tzu said, “those who have knowledge don’t predict. Those who do predict don’t have knowledge.”</p>
<p>What’s the alternative?</p>
<p>Weigh the evidence as it comes, invest based on probabilities, be forever humble and thankful, and leave the predictions to those whose job it is to entertain. That’s the best you can do in this fickle business of investing – try to find the right path for you and stick with it long enough to reap the enormous benefits of compounding.</p>
<p>In 2026, I predict one thing and one thing only: you will see many more surprises. For that is the nature of markets.</p>
<p>I wish you all a happy, healthy, prosperous and fulfilling 2026.</p>
<p>If we can help you on your road to wealth, <strong>reach out</strong>.</p>
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<p>Get a <strong>FREE Wealth Path Analysis from Creative Planning</strong> to ensure you’re on the right path for 2025.</p>
<p>Creative Planning is proud to provide comprehensive wealth management services to clients in all 50 states and abroad, with over $385 billion in assets under management and advisement. So whether you’re in New York, California, Texas, Florida or place in between, <strong><u>there’s an advisor near you!</u></strong></p>
<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="851" height="279" src="https://bilello.blog/wp-content/uploads/2024/12/image-1.png" alt="" class="wp-image-14036" srcset="https://bilello.blog/wp-content/uploads/2024/12/image-1.png 851w, https://bilello.blog/wp-content/uploads/2024/12/image-1-300x98.png 300w, https://bilello.blog/wp-content/uploads/2024/12/image-1-768x252.png 768w" sizes="(max-width: 851px) 100vw, 851px"/></figure>
<p>Disclaimer: All information provided is for educational purposes only and does not constitute investment, legal or tax advice, or an offer to buy or sell any security. Read our full disclosures here.</p>
</div>
<p></p>
<h2>PakarPBN</h2>
<p></p>
<p>A Private Blog Network (PBN) is a collection of websites that are controlled by a single individual or organization and used primarily to build backlinks to a “money site” in order to influence its ranking in search engines such as Google. The core idea behind a PBN is based on the importance of backlinks in Google’s ranking algorithm. Since Google views backlinks as signals of authority and trust, some website owners attempt to artificially create these signals through a controlled network of sites.</p>
<p>In a typical PBN setup, the owner acquires expired or aged domains that already have existing authority, backlinks, and history. These domains are rebuilt with new content and hosted separately, often using different IP addresses, hosting providers, themes, and ownership details to make them appear unrelated. Within the content published on these sites, links are strategically placed that point to the main website the owner wants to rank higher. By doing this, the owner attempts to pass link equity (also known as “link juice”) from the PBN sites to the target website.</p>
<p>The purpose of a PBN is to give the impression that the target website is naturally earning links from multiple independent sources. If done effectively, this can temporarily improve keyword rankings, increase organic visibility, and drive more traffic from search results.</p>
<p><a href="https://pakarpbn.com">Jasa Backlink</a><br />
<br /><a href="https://drivenime.com">Download Anime Batch</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://xtadalafix.com/2025-the-year-in-charts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
