Computer
Fujifilm Announces Second US Price Increase in August
Read more of this story at Slashdot.
How Can England Possibly Be Running Out of Water?
Read more of this story at Slashdot.
AI 'Business Agents' Will Kill SaaS by 2030, Says Microsoft
Read more of this story at Slashdot.
Gamblers Now Bet on AI Models Like Racehorses
Read more of this story at Slashdot.
LinkedIn Is the Fakest Platform of Them All
Read more of this story at Slashdot.
'The One Feature That Keeps Me From Recommending Flip Phones'
Read more of this story at Slashdot.
Wikipedia Volunteer Uncovers Decade-Long Campaign That Created 335 Articles About One Composer
Read more of this story at Slashdot.
5% of Americans are Cancer Survivors - and They're Living Longer
Read more of this story at Slashdot.
Male-Oriented App 'TeaOnHer' Also Had Security Flaws That Could Leak Men's Driver's License Photos
Read more of this story at Slashdot.
CodeSOD: Going Crazy
For months, everything at Yusuf's company was fine. Then, suddenly, he comes in to the office to learn that overnight the log exploded with thousands of panic messages. No software changes had been pushed, no major configurations had happened- just a reboot. What had gone wrong?
This particular function was invoked as part of the application startup:
func (a *App) setupDocDBClient(ctx context.Context) error { docdbClient, err := docdb.NewClient( ctx, a.config.MongoConfig.URI, a.config.MongoConfig.Database, a.config.MongoConfig.EnableTLS, ) if err != nil { return nil } a.DocDBClient = docdbClient return nil }This is Go, which passes errors as part of the return. You can see an example where docdb.NewClient returns a client and an err object. At one point in the history of this function, it did the same thing- if connecting to the database failed, it returned an error.
But a few months earlier, an engineer changed it to swallow the error- if an error occurred, it would return nil.
As an organization, they did code reviews. Multiple people looked at this and signed off- or, more likely, multiple people clicked a button to say they'd looked at it, but hadn't.
Most of the time, there weren't any connection issues. But sometimes there were. One reboot had a flaky moment with connecting, and the error was ignored. Later on in execution, downstream modules started failing, which eventually lead to a log full of panic level messages.
The change was part of a commit tagged merely: "Refactoring". Something got factored, good and hard, all right.
[Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.Rare 'Upper Atmosphere Lightning' Photographed From ISS
Read more of this story at Slashdot.
Google's 'AI Overview' Pointed Him to a Customer Service Number. It Was a Scam
Read more of this story at Slashdot.
Google's 'AI Overview' Pointed Him to a Customer Number. It Was a Scam
Read more of this story at Slashdot.
$81M 'Trade Secrets' Verdict Against Boeing Was Overturned - and Then Reinstated
Read more of this story at Slashdot.
America's EV Registrations Rise 7% in 2025 - Giving EVs a 7.5% Market Share
Read more of this story at Slashdot.
Android's pKVM Becomes First Globally Certified Software to Achieve SESIP Level 5 Security Certification
Read more of this story at Slashdot.
Duolingo's Stock Down 38%, Plummets After OpenAI's GPT-5 Language App-Building Demo
Read more of this story at Slashdot.
LLM Found Transmitting Behavioral Traits to 'Student' LLM Via Hidden Signals in Data
Read more of this story at Slashdot.
More Game Workers at Microsoft's 'Blizzard' Join a Union
Read more of this story at Slashdot.
Security Flaws In Carmaker's Web Portal Let a Hacker Remotely Unlock Cars
Read more of this story at Slashdot.