Computer
Firefox 136 Released With Vertical Tabs, Official ARM64 Linux Binaries
Read more of this story at Slashdot.
YouTube Warns Creators an AI-Generated Video of Its CEO is Being Used For Phishing Scams
Read more of this story at Slashdot.
Opera Adds an Automated AI Agent To Its Browser
Read more of this story at Slashdot.
Brother Accused of Locking Down Third-Party Printer Ink Cartridges Via Forced Firmware Updates
Read more of this story at Slashdot.
Automattic CEO Matt Mullenweg Talks Succession - 'I Don't Want To Pass It To a Committee'
Read more of this story at Slashdot.
Judges Are Fed Up With Lawyers Using AI That Hallucinate Court Cases
Read more of this story at Slashdot.
Citi Copy-Paste Error Almost Sent $6 Billion to Wealth Account
Read more of this story at Slashdot.
Australia, With No Auto Industry To Protect, is Awash With Chinese EVs
Read more of this story at Slashdot.
Apple Launches Legal Challenge To UK 'Back Door' Order
Read more of this story at Slashdot.
After Exam Fiasco, California State Bar Staff Recommend Reverting To In-person Exams
Read more of this story at Slashdot.
Scientists Create 'Woolly Mice'
Read more of this story at Slashdot.
Apple Unveils iPad Air With M3 Chip
Read more of this story at Slashdot.
Europe's Biggest Battery Powered Up In Scotland
Read more of this story at Slashdot.
China's Supreme Court Calls For Crack Down on Paper Mills
Read more of this story at Slashdot.
Realme Charts Path To 10,000mAh Phone Batteries by 2026
Read more of this story at Slashdot.
Google Releases SpeciesNet, an AI Model Designed To Identify Wildlife
Read more of this story at Slashdot.
CISA Tags Windows, Cisco Vulnerabilities As Actively Exploited
Read more of this story at Slashdot.
Private Lunar Lander Blue Ghost Aces Moon Touchdown
Read more of this story at Slashdot.
The Sales Target
The end of the quarter was approaching, and dark clouds were gathering in the C-suite. While they were trying to be tight lipped about it, the scuttlebutt was flowing freely. Initech had missed major sales targets, and not just by a few percentage points, but by an order of magnitude.
Heads were going to roll.
Except there was a problem: the master report that had kicked off this tizzy didn't seem to align with the department specific reports. For the C-suite, it was that report that was the document of record; they had been using it for years, and had great confidence in it. But something was wrong.
Enter Jeff. Jeff had been hired to migrate their reports to a new system, and while this particular report had not yet been migrated, Jeff at least had familiarity, and was capable of answering the question: "what was going on?" Were the sales really that far off, and was everyone going to lose their jobs? Or could it possibly be that this ancient and well used report might be wrong?
The core of the query was basically a series of subqueries. Each subquery followed this basic pattern:
SELECT SUM(complex_subquery_A) as subtotal FROM complex_subquery_BNone of this was particularly readable, mind you, and it took some digging just to get the shape of the individual queries understood. But none of the individual queries were the problem; it was the way they got stitched together:
SELECT SUM(subtotal) FROM (SELECT SUM(complex_subquery_A) as subtotal FROM complex_subquery_B UNION SELECT SUM(complex_subquery_C) as subtotal FROM complex_subquery_D UNION SELECT SUM(complex_subquery_E) as subtotal FROM complex_subquery_F);The full query was filled with a longer chain of unions, but it was easy to understand what went wrong, and demonstrate it to management.
The UNION operator does a set union- which means if there are any duplicate values, only one gets included in the output. So if "Department A" and "Department C" both have $1M in sales for the quarter, the total will just be $1M- not the expected $2M.
The correct version of the query would use UNION ALL, which preserves duplicates.
What stunned Jeff was that this report was old enough to be basically an antique, and this was the kind of business that would burn an entire forest down to find out why a single invoice was off by $0.15. It was sheer luck that this hadn't caused an explosion before- or maybe in the past it had, and someone had just written it off as a "minor glitch"?
Unfortunately for Jeff, because the report was so important it required a huge number of approvals before the "UNION ALL" change could be deployed, which meant he was called upon to manually run a "test" version of the report containing the fix every time a C-suite executive wanted one, until the end of the following quarter, when he could finally integrate the fix.
[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.Researchers Find Less-Educated Areas Adopting AI Writing Tools Faster
Read more of this story at Slashdot.