Posts

The Secret Life of AWS: Managed Edge Policies (Amazon CloudFront)

Image
The Secret Life of AWS: Managed Edge Policies (Amazon CloudFront) When to use native CDN features instead of custom edge compute #AWS #CloudFront #Serverless #Caching Edge Compute Timothy was reviewing the CloudWatch metrics for the CloudFront Function he had deployed the previous week. The JavaScript code was successfully intercepting every Viewer Response and injecting the required HSTS and Content-Security-Policy headers in under a millisecond. "The edge compute layer is incredibly fast," Timothy noted to Margaret. "We process millions of requests, and the latency overhead is practically invisible." Margaret nodded approvingly. "You successfully proved that you can manipulate traffic at the physical edge of the network. However, as an architect, you must always evaluate operational overhead. Every line of custom code you write—even a six-line JavaScript function—is a liability that you must monitor, maintain, and pay for per invocation. Whenever AWS releases...

The Secret Life of Claude Code - The Art of the Follow-Up

Image
The Secret Life of Claude Code - The Art of the Follow-Up What to do when Claude Code gets it almost right — and how one disciplined follow-up gets you the rest of the way there #ClaudeCode #CodingWithAI #SoftwareEngineering #DeveloperLife Margaret is a senior software engineer. Timothy is her junior colleague. They work in a grand Victorian library in London — the kind of place where conversations are finished properly, and where almost right is understood to be a different thing entirely from right. Timothy has arrived today with something he is not sure what to do with. The Almost He sat down without his usual preamble and turned the laptop toward her immediately. This, Margaret had learned, meant he wanted her to look before he explained. He was uncertain about something and did not yet have the words for it. She looked. On the screen was a function — a data export utility, clean and reasonably structured. She read it the way she always read code: slowly, without expression, beginn...

The Secret Life of JavaScript: The Observer

Image
The Secret Life of JavaScript: The Observer Stop Polling the DOM: Mastering the Intersection Observer API #JavaScript #FrontEnd #IntersectionObserver #WebPerformance Timothy leaned back in his chair, listening to the sudden, aggressive whir of his laptop fan. He had just finished implementing a lazy-loading feature for a massive grid of user profile pictures. "The scroll is perfectly smooth," Timothy said, tapping his screen. "I used the  { passive: true }  flag we talked about yesterday. The Compositor Thread is completely unblocked. But my CPU usage just spiked to ninety percent, and my laptop sounds like it is preparing for takeoff." Margaret strolled over, her dark roast coffee in hand, and peered at the performance monitor on his secondary display. "You successfully unblocked the train," Margaret said, nodding at the screen. "But you are torturing the dispatcher." She pointed to the block of code responsible for the lazy loading. const imag...

The Secret Life of AWS: Edge Compute (CloudFront Functions & Lambda@Edge)

Image
The Secret Life of AWS: Edge Compute (CloudFront Functions & Lambda@Edge) How to execute code at the global network perimeter #AWS #CloudFront #EdgeCompute #Serverless Edge Compute Timothy was reviewing a new compliance requirement from the security team. They mandated that every HTTP response leaving the application must include strict security headers, specifically  Strict-Transport-Security  (HSTS) and a  Content-Security-Policy . "I am planning to update the backend," Timothy explained to Margaret, drawing on the whiteboard. "I will modify our core API Gateway and our backend Lambda functions in Virginia to append these security headers to every single response payload." Margaret looked at the architecture diagram and specifically pointed to the Amazon CloudFront distribution they had built the previous week. "That will work for your dynamic API calls," Margaret said kindly. "But what about the static assets? What about the product images and ...

The Secret Life of Claude: When Claude Code Gets It Wrong

Image
The Secret Life of Claude: When Claude Code Gets It Wrong Three ways Claude Code gets it wrong — and the discipline that catches all of them before they ship #ClaudeCode #CodingWithAI #SoftwareEngineering #AITools Margaret is a senior software engineer. Timothy is her junior colleague. They work in a grand Victorian library in London — the kind of place where precision matters and confidence is not the same thing as correctness. Timothy has arrived today in unusually good spirits. This, Margaret has learned, is sometimes cause for concern. What Timothy Was Proud Of He came through the door with the particular energy of someone who had solved something. "I fixed it," he said, settling into his chair with the satisfaction of a man who had earned his tea. "The user authentication bug. The one that's been sitting in the backlog for two weeks." "Tell me," Margaret said. "I described the problem to Claude Code — properly this time, the way we talked abo...

The Secret Life of JavaScript: The Scroll

Image
The Secret Life of JavaScript: The Scroll Unblocking the Compositor: How to Fix Mobile Scroll Lag #JavaScript #FrontEnd #MobileDev #WebDev Frozen Timothy swiped his thumb across his Android screen. The parallax dashboard he had spent all morning building lurched forward, froze for a fraction of a second, and then snapped to a new position. It felt like dragging a brick through mud. He dropped the phone on his desk and glared at his desktop monitor, where the exact same code was running flawlessly in his dark-themed IDE. "I don't understand," Timothy muttered. "I batched my DOM reads and writes. I used  requestAnimationFrame . The Main Thread is completely optimized, but the mobile experience is completely unusable." Margaret leaned against his cubicle wall, her signature dark roast coffee in hand. She picked up his phone, swiped the screen, and watched the UI stutter. "Your Main Thread might be optimized, but you are still forcing the browser to use it for ...