Posts

The Secret Life of Go: Error Handling (Part 2)

Image
  The Secret Life of Go: Error Handling (Part 2) Data-Rich Errors, Custom Structs, and  errors.As #Golang #ErrorHandling #BackendDev #SoftwareArchitecture Eleanor is a senior software engineer. Ethan is her junior colleague. They work in a beautiful beaux arts library in Lower Manhattan — the kind of place where coding languages are discussed like poetry. Episode 31 Ethan was building a user registration endpoint. He had learned his lesson from the previous day and was dutifully avoiding string matching. "I have a problem with Sentinel errors," Ethan said, turning his monitor toward Eleanor. "They are great for simple states like  ErrNotFound . But what if the error is a validation failure? I need to tell the frontend exactly  which  field failed and  why . I can't write a Sentinel variable for every possible bad email address." He showed her his workaround: // Ethan's attempt to return data func validateUser (u User) (string, string, error) { if !str...

The Secret Life of Azure: The Inference Optimizer

Image
  The Secret Life of Azure: The Inference Optimizer Balancing Power and Speed with Hybrid Model Architectures #Azure #AI #Phi3 #HybridModels Efficiency The whiteboard was clean, but Timothy’s frustration was visible. He was tapping his pen against a stopwatch, staring at a simple status query that was taking seconds to resolve. "Margaret," Timothy said, "the  Governor  and the  War Room  are brilliant, but the latency is killing us. Every time a user asks a simple question—like 'Is the archive open?'—the system spins up the massive, billion-parameter models and takes five seconds to say 'Yes.' We’re using a sledgehammer to crack a nut, and it’s costing us a fortune in compute." Margaret picked up a bright green marker and drew a small, sleek jet next to the heavy heavy-lift cargo plane that represented the Lead Planner. "That’s the  Density Trap , Timothy. You're treating every task as a high-reasoning crisis. To scale the library, we need  ...

The Secret Life of AWS: Continuous Deployment with AWS CodePipeline

Image
  The Secret Life of AWS: Continuous Deployment with AWS CodePipeline Why deploying from your laptop is an operational liability, and how to automate releases. #AWS #CodePipeline #CICD #DevOps Margaret is a senior software engineer. Timothy is her junior colleague. They work in a grand Victorian library in London. Continuous Deployment Timothy was feeling confident. His infrastructure was neatly codified in YAML, and his API keys were safely decoupled in AWS Secrets Manager. He made a quick update to his Node.js checkout service, saved the file, and opened his laptop's terminal. He typed  aws cloudformation deploy --template-file template.yaml --stack-name Prod-Backend  and reached for the return key. "Stop right there," Margaret said, appearing just in time. "Are you deploying code to our production environment directly from your local machine?" Timothy looked confused. "Yes. My IAM user has the correct administrative permissions, and the code works perfec...

The Secret Life of Go: Error Handling

Image
  The Secret Life of Go: Error Handling Sentinel Errors, Wrapping, and The String Trap #Golang #ErrorHandling #SoftwareEngineering #BackendDev Eleanor is a senior software engineer. Ethan is her junior colleague. They work in a beautiful beaux arts library in Lower Manhattan — the kind of place where coding languages are discussed like poetry. Episode 30 Ethan was reviewing an HTTP handler he had just written. He wanted to return a  404 Not Found  if a database query failed, and a  500 Internal Server Error  for anything else. "How does this look?" he asked, pointing to his screen. user, err := db. GetUser (id) if err != nil { // If the error message contains the words "not found" , it 's a 404 if strings.Contains(err.Error(), "not found") { return respondWithError(w, 404, "User not found") } // Otherwise, it' s a real server error return respondWithError (w, 500 , "Internal server error" ) } E...

The Secret Life of Claude Code — The Language You Don't Know

Image
  The Secret Life of Claude Code — The Language You Don't Know How to work in an unfamiliar language with Claude Code — and where the limits of that partnership actually lie #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 no one is expected to know everything, but everyone is expected to know what they don't know. Timothy has arrived today carrying a file he has never seen the like of before. Episode 7 The File He set the laptop on the table and turned it toward her without preamble. This, Margaret had learned, meant he wanted her to see something before he had fully decided what he thought about it. She looked. The file was Go. Thirty-eight lines, clean structure, a concurrency pattern using goroutines and channels. Well written, by the look of it. "Yours?" she said. "The platform team's. They want ...

The Secret Life of AWS: Secrets Manager

Image
  The Secret Life of AWS: Secrets Manager How to decouple sensitive credentials from your codebase and infrastructure #AWS #SecretsManager #CloudFormation #DevOps Margaret is a senior software engineer. Timothy is her junior colleague. They work in a grand Victorian library in London. Secrets Management Timothy was finalizing his new AWS CloudFormation templates. He had successfully modeled his entire global architecture in declarative YAML. He opened his terminal, typed  git add . , and prepared to commit the files to the team's central repository. "Before you hit enter," Margaret said, stepping into his workspace, "let us review the environment variables for the checkout microservice." Timothy opened the Lambda function's configuration in his YAML file. "I have it passing the Stripe payment gateway API key as an environment variable, just like we configured it in the console," he said, pointing to the line of code:  StripeApiKey: "sk_live_51...