• About TC
  • Affiliate Disclaimer
  • Privacy Policy
  • TOS
  • Contact
Thursday, September 11, 2025
Techcratic
No Result
View All Result
  • AI
    Artificial Intelligence

    How Yichao “Peak” Ji became a global AI app hitmaker

    Artificial Intelligence

    How Amazon Finance built an AI assistant using Amazon Bedrock and Amazon Kendra to…

    Artificial Intelligence

    5 Reasons Why Vibe Coding Threatens Secure Data App Development

    Artificial Intelligence

    Unlocking the future of professional services: How Proofpoint uses Amazon Q Business

    Artificial Intelligence

    Exploring the Real-Time Race Track with Amazon Nova

    Artificial Intelligence

    Accelerating HPC and AI research in universities with Amazon SageMaker HyperPod

    Artificial Intelligence

    Building the AI-enabled enterprise of the future

    Artificial Intelligence

    From JSON to Dashboard: Visualizing DuckDB Queries in Streamlit with Plotly

    Artificial Intelligence

    The “Super Weight:” How Even a Single Parameter can Determine a Large Language Model’s…

  • Apple
    Foundation’ cast still waiting on Apple’s word for season 4

    Foundation’ cast still waiting on Apple’s word for season 4

    macOS Tahoe review – Should you update, Liquid Glass

    macOS Tahoe review – Should you update, Liquid Glass

    Why Apple’s iPhone 17 Pro lineup seems a little off this year

    Why Apple’s iPhone 17 Pro lineup seems a little off this year

    watchOS 26 adds four brand new watch faces, including an Ultra exclusive

    watchOS 26 adds four brand new watch faces, including an Ultra exclusive

    Apple Watch Ultra 3 gains best display feature from Series 10 and Series 11

    Apple Watch Ultra 3 gains best display feature from Series 10 and Series 11

    iOS 26 will give iPhone 16 owners a new camera capability

    iOS 26 will give iPhone 16 owners a new camera capability

    Ditch the default — This app lets you customize your Mac without touching Terminal

    Your Mac’s secret settings and tools unlocked forever for $40

    iPhone 17 has long-awaited fix for OLED screen flickering problem

    iPhone 17 has long-awaited fix for OLED screen flickering problem

    These are the best ways to trade in your old iPhone

    These are the best ways to trade in your old iPhone

  • ComputerWorld
    Apple is making MDM migration so much easier

    Apple is making MDM migration so much easier

    Senator Cruz introduces an AI ‘sandbox’ bill to ease regulatory burdens

    Senator Cruz introduces an AI ‘sandbox’ bill to ease regulatory burdens

    AI bubble watch: OpenAI to burn through $115B by 2029

    AI bubble watch: OpenAI to burn through $115B by 2029

    Microsoft launches its own LLMs — here’s what that really means

    Microsoft launches its own LLMs — here’s what that really means

    Microsoft to tap Anthropic for Office 365 as enterprises weigh risks of AI lock-in

    Microsoft to tap Anthropic for Office 365 as enterprises weigh risks of AI lock-in

    Atlassian exec details the $610M Browser Company acquisition

    Atlassian exec details the $610M Browser Company acquisition

    Intel announces leadership overhaul, underscoring long road to recovery

    Intel announces leadership overhaul, underscoring long road to recovery

    Uber turns drivers into AI data labelers in India pilot

    Uber turns drivers into AI data labelers in India pilot

    Tech employment is a mixed bag, selective hiring marks a shift

    Tech employment is a mixed bag, selective hiring marks a shift

  • Gaming
    CDPR returns to the fridge for one more Cyberpunk patch, somehow makes its autodrive less berserk while also making it ignore traffic lights

    CDPR returns to the fridge for one more Cyberpunk patch, somehow makes its autodrive less berserk while also making it ignore traffic lights

    There’s another golden RTX 5090 made of over 1,000x more gold than the first, and I’m pleased to say it’s absolutely hideous

    Believe it or not, GPU prices have been decreasing of late and here are four graphics cards you can buy for under their MSRP

    Pal Pods & Rescue Pals – Pros and Cons in Palworld Raids

    Pal Pods & Rescue Pals – Pros and Cons in Palworld Raids

    Why we don’t have a Borderlands 4 review yet

    Why we don’t have a Borderlands 4 review yet

    God of War Ragnarok : Le retour du roi ? (Epic Test) {SANS SPOIL}

    God of War Ragnarok : Le retour du roi ? (Epic Test) {SANS SPOIL}

    RuneScape: Dragonwilds has delayed its major 0.9 update: ‘We’ve encountered some bugs we are simply not happy shipping the update with’

    RuneScape: Dragonwilds has delayed its major 0.9 update: ‘We’ve encountered some bugs we are simply not happy shipping the update with’

    Hypercharge: Unboxed – 3 jugadores COOP – Funderdomo (Funderdome) Hyper-core Defense

    Hypercharge: Unboxed – 3 jugadores COOP – Funderdomo (Funderdome) Hyper-core Defense

    How to reach and climb Mount Fay in Silksong

    How to reach and climb Mount Fay in Silksong

    impressions Scars Above un souls sauce returnal ?

    impressions Scars Above un souls sauce returnal ?

  • Retro Rewind
    Retro Rewind: Game Players Issue 80 Magazine January 1996

    Retro Rewind: Game Players Issue 80 Magazine January 1996

    Retro Rewind: Video Game Trader Winter 2014

    Retro Rewind: Video Game Trader Winter 2014

    Retro Rewind: Electronic Games April 1995

    Retro Rewind: Electronic Games April 1995

    Retro Rewind: Electronic Gaming Monthly Magazine Number 55 February 1994

    Retro Rewind: Electronic Gaming Monthly Magazine Number 57 April 1994

    Retro Rewind: Blast from the Past – 35 Iconic Commercials of 1988!

    Retro Rewind: Blast from the Past – 35 Iconic Commercials of 1988!

    Retro Rewind: PC World Magazine August 1998

    Retro Rewind: PC World Magazine August 1998

    Retro Rewind: Computer Shopper Magazine September 1997

    Retro Rewind: Computer Shopper Magazine September 1997

    Retro Rewind: PC Magazine December 2015

    Retro Rewind: PC Magazine December 2015

    Retro Rewind: EDGE Magazine RETRO #1: The Guide to Classic Videogame Playing and Collecting

    Retro Rewind: EDGE Magazine RETRO #1: The Guide to Classic Videogame Playing and Collecting

  • Tech Art
    Februllage 2023 Challenge – A Month of Collage!

    Februllage 2023 Challenge – A Month of Collage!

    The Secret Technique for 3D Drawings! – How to Draw an Anamorphic Rose in 3D

    The Secret Technique for 3D Drawings! – How to Draw an Anamorphic Rose in 3D

    Color Theory Basics for Digital Painters

    Color Theory Basics for Digital Painters

    3D Cube design in Illusion – 3D Optical Illusion Explained in illustrator 2025

    3D Cube design in Illusion – 3D Optical Illusion Explained in illustrator 2025

    Major French Museums Close Amid Labor Strikes

    Major French Museums Close Amid Labor Strikes

    Don’t make these shading mistakes

    Don’t make these shading mistakes

    AR Car Showroom App Review – Augmented Reality Vehicle Showcase

    AR Car Showroom App Review – Augmented Reality Vehicle Showcase

    Infinite design tutorial (vector art) step by step | ultimate focus tamil

    Infinite design tutorial (vector art) step by step | ultimate focus tamil

    (877) Awesome Peach and Gold Spray Paint Mixed Media Pour

    (877) Awesome Peach and Gold Spray Paint Mixed Media Pour

  • Tech Deals
    CableCreation Cat6 RJ45 Connectors, 100-PACK Cat6 RJ45 Ends, Ethernet Cable Crimp…

    CableCreation Cat6 RJ45 Connectors, 100-PACK Cat6 RJ45 Ends, Ethernet Cable Crimp…

    ASRock AMD Radeon RX 9070 XT Steel Legend 16GB, Boost Clock Up to 2970 MHz / 20 Gbps,…

    ASRock AMD Radeon RX 9070 XT Steel Legend 16GB, Boost Clock Up to 2970 MHz / 20 Gbps,…

    Apple iPad Air 2, 64GB, 4G + Wi-Fi – Gold (Renewed)

    Apple iPad Air 2, 64GB, 4G + Wi-Fi – Gold (Renewed)

    Anker Prime TB5 Docking Station, 14-in-1 Thunderbolt 5 Dock with 120Gbps Max Transfer,…

    Anker Prime TB5 Docking Station, 14-in-1 Thunderbolt 5 Dock with 120Gbps Max Transfer,…

    DUMOS L Shaped Desk Computer Gaming Corner Table 50 Inch Home Office Writing Student…

    DUMOS L Shaped Desk Computer Gaming Corner Table 50 Inch Home Office Writing Student…

    Wired Portable 60% Mechanical Feeling Gaming Keyboard,RGB LED Backlit Compact 68 Keys…

    Wired Portable 60% Mechanical Feeling Gaming Keyboard,RGB LED Backlit Compact 68 Keys…

    Pac-Man and the Ghostly Adventures – Let the Games Begin!

    Pac-Man and the Ghostly Adventures – Let the Games Begin!

    Vantec USB 3.1 Type C 4-Port Bus-Powered Travel Hub Components Other UGT-MH410U3-C

    Vantec USB 3.1 Type C 4-Port Bus-Powered Travel Hub Components Other UGT-MH410U3-C

    TOSHIBA AC25CEW-BS Large 6-Slice Convection Toaster Oven Countertop, 10-In-One with…

    TOSHIBA AC25CEW-BS Large 6-Slice Convection Toaster Oven Countertop, 10-In-One with…

  • Techs Got To Eat
    Spicy Chickpea Shakshuka Mug: 5-Minute Vegetarian Fuel

    Spicy Chickpea Shakshuka Mug: 5-Minute Vegetarian Fuel

    Bacon & Spinach Mug Quiche: 3-Minute Gourmet Breakfast

    Bacon & Spinach Mug Quiche: 3-Minute Gourmet Breakfast

    Cheesy Broccoli Rice Mug: 5-Minute Super Comfort Food

    Cheesy Broccoli Rice Mug: 5-Minute Super Comfort Food

    Top 10 Vegetarian Recipes for 2025: Easy and Nutritious Meals for Busy People

    Top 10 Vegetarian Recipes for 2025: Easy and Nutritious Meals for Busy People

    Bacon Mug Lasagna: 5-Minute Microwave Meat Lover’s Dream

    Bacon Mug Lasagna: 5-Minute Microwave Meat Lover’s Dream

    Bacon Fried Rice Mug: 5-Minute Microwave Meal

    Bacon Fried Rice Mug: 5-Minute Microwave Meal

    Bacon & Cheddar Mug Biscuit: 2-Minute Savory Comfort

    Bacon & Cheddar Mug Biscuit: 2-Minute Savory Comfort

    Loaded Bacon Cheesy Potato Mug: 5-Minute Comfort Food

    Loaded Bacon Cheesy Potato Mug: 5-Minute Comfort Food

    Peanut Butter Banana Mug Muffin: 5-Minute Protein Snack

    Peanut Butter Banana Mug Muffin: 5-Minute Protein Snack

  • Tesla
    Coverado Car Seat Covers Full Set, Seat Covers for Cars, Front Seat Covers and Back Seat…

    Coverado Car Seat Covers Full Set, Seat Covers for Cars, Front Seat Covers and Back Seat…

    3Pcs Center Console Cup Holder Wireless Charger Mat Armrest Bottom Pad for Tesla…

    3Pcs Center Console Cup Holder Wireless Charger Mat Armrest Bottom Pad for Tesla…

    Tera 2025 New Level 2 Charger for Tesla 40A 25FT NACS ETL FCC Most Compact NEMA 14-50…

    Tera 2025 New Level 2 Charger for Tesla 40A 25FT NACS ETL FCC Most Compact NEMA 14-50…

    Pack of 4 Car Floor Mat Clips, Durable Foot Pad Buckle Set, Interior Floor Mat Safety…

    Pack of 4 Car Floor Mat Clips, Durable Foot Pad Buckle Set, Interior Floor Mat Safety…

    Carwiner Center Console Cover for Tesla Model 3 Model Y, PU Leather Armrest Box Cushion…

    Carwiner Center Console Cover for Tesla Model 3 Model Y, PU Leather Armrest Box Cushion…

    Metra – Speaker Plate – Fits Select BMW, Porsche, Range Rover, Tesla (82-8601)

    Metra – Speaker Plate – Fits Select BMW, Porsche, Range Rover, Tesla (82-8601)

    DREIEYECAM Dash cam for Tesla Model S AP1 Full HD 1080P WiFi G-Sensor WDR is Auto Video…

    DREIEYECAM Dash cam for Tesla Model S AP1 Full HD 1080P WiFi G-Sensor WDR is Auto Video…

    Car Sun Visor Organizer, Soft Leather Surface Eyeglasses Note Card Holder Car Storage…

    Car Sun Visor Organizer, Soft Leather Surface Eyeglasses Note Card Holder Car Storage…

    Center Console Organizer Tray for Tesla Model Y 2024-2020(Not Fit 2024 2025Model Y…

    Center Console Organizer Tray for Tesla Model Y 2024-2020(Not Fit 2024 2025Model Y…

  • UFO
    Top 5 MOST BEAUTIFUL SKY PHENOMENON IN THE WORLD!

    Top 5 MOST BEAUTIFUL SKY PHENOMENON IN THE WORLD!

    Sky Viper Fury Stunt Drone, Black/Green

    Sky Viper Fury Stunt Drone, Black/Green

    Scary Peppa Pig UFO Alien Story PEPPA.EXE HORROR

    N11 PRO GPS Drone with Camera for Adults 4K UHD, 90 Min Long Flight Time, Long Control Range, Auto Return, Follow Me, Brushless Motor, 5G FPV RC Quadcopter for Beginners

    N11 PRO GPS Drone with Camera for Adults 4K UHD, 90 Min Long Flight Time, Long Control Range, Auto Return, Follow Me, Brushless Motor, 5G FPV RC Quadcopter for Beginners

    Waluigi is an ALIEN #supermario #mariobros #mariomovie #nintendo #wario

    Waluigi is an ALIEN #supermario #mariobros #mariomovie #nintendo #wario

    Hasdon-Hill UFO Bigfoot Travel Coffee Mug for Men Women, Stainless Steel Tea Cup for Friends Birthday Christmas Gift 12 Oz

    Hasdon-Hill UFO Bigfoot Travel Coffee Mug for Men Women, Stainless Steel Tea Cup for Friends Birthday Christmas Gift 12 Oz

    UFO evidence finally revealed!

    UFO evidence finally revealed!

    47 Men’s Grit Scrum Slub Vintage T-Shirt – NFL Legacy Short Sleeve Tee Shirt

    47 Men’s Grit Scrum Slub Vintage T-Shirt – NFL Legacy Short Sleeve Tee Shirt

    Alien Invasion: RPG Idle Space | CrazyLabs

    Alien Invasion: RPG Idle Space | CrazyLabs

  • AI
    Artificial Intelligence

    How Yichao “Peak” Ji became a global AI app hitmaker

    Artificial Intelligence

    How Amazon Finance built an AI assistant using Amazon Bedrock and Amazon Kendra to…

    Artificial Intelligence

    5 Reasons Why Vibe Coding Threatens Secure Data App Development

    Artificial Intelligence

    Unlocking the future of professional services: How Proofpoint uses Amazon Q Business

    Artificial Intelligence

    Exploring the Real-Time Race Track with Amazon Nova

    Artificial Intelligence

    Accelerating HPC and AI research in universities with Amazon SageMaker HyperPod

    Artificial Intelligence

    Building the AI-enabled enterprise of the future

    Artificial Intelligence

    From JSON to Dashboard: Visualizing DuckDB Queries in Streamlit with Plotly

    Artificial Intelligence

    The “Super Weight:” How Even a Single Parameter can Determine a Large Language Model’s…

  • Apple
    Foundation’ cast still waiting on Apple’s word for season 4

    Foundation’ cast still waiting on Apple’s word for season 4

    macOS Tahoe review – Should you update, Liquid Glass

    macOS Tahoe review – Should you update, Liquid Glass

    Why Apple’s iPhone 17 Pro lineup seems a little off this year

    Why Apple’s iPhone 17 Pro lineup seems a little off this year

    watchOS 26 adds four brand new watch faces, including an Ultra exclusive

    watchOS 26 adds four brand new watch faces, including an Ultra exclusive

    Apple Watch Ultra 3 gains best display feature from Series 10 and Series 11

    Apple Watch Ultra 3 gains best display feature from Series 10 and Series 11

    iOS 26 will give iPhone 16 owners a new camera capability

    iOS 26 will give iPhone 16 owners a new camera capability

    Ditch the default — This app lets you customize your Mac without touching Terminal

    Your Mac’s secret settings and tools unlocked forever for $40

    iPhone 17 has long-awaited fix for OLED screen flickering problem

    iPhone 17 has long-awaited fix for OLED screen flickering problem

    These are the best ways to trade in your old iPhone

    These are the best ways to trade in your old iPhone

  • ComputerWorld
    Apple is making MDM migration so much easier

    Apple is making MDM migration so much easier

    Senator Cruz introduces an AI ‘sandbox’ bill to ease regulatory burdens

    Senator Cruz introduces an AI ‘sandbox’ bill to ease regulatory burdens

    AI bubble watch: OpenAI to burn through $115B by 2029

    AI bubble watch: OpenAI to burn through $115B by 2029

    Microsoft launches its own LLMs — here’s what that really means

    Microsoft launches its own LLMs — here’s what that really means

    Microsoft to tap Anthropic for Office 365 as enterprises weigh risks of AI lock-in

    Microsoft to tap Anthropic for Office 365 as enterprises weigh risks of AI lock-in

    Atlassian exec details the $610M Browser Company acquisition

    Atlassian exec details the $610M Browser Company acquisition

    Intel announces leadership overhaul, underscoring long road to recovery

    Intel announces leadership overhaul, underscoring long road to recovery

    Uber turns drivers into AI data labelers in India pilot

    Uber turns drivers into AI data labelers in India pilot

    Tech employment is a mixed bag, selective hiring marks a shift

    Tech employment is a mixed bag, selective hiring marks a shift

  • Gaming
    CDPR returns to the fridge for one more Cyberpunk patch, somehow makes its autodrive less berserk while also making it ignore traffic lights

    CDPR returns to the fridge for one more Cyberpunk patch, somehow makes its autodrive less berserk while also making it ignore traffic lights

    There’s another golden RTX 5090 made of over 1,000x more gold than the first, and I’m pleased to say it’s absolutely hideous

    Believe it or not, GPU prices have been decreasing of late and here are four graphics cards you can buy for under their MSRP

    Pal Pods & Rescue Pals – Pros and Cons in Palworld Raids

    Pal Pods & Rescue Pals – Pros and Cons in Palworld Raids

    Why we don’t have a Borderlands 4 review yet

    Why we don’t have a Borderlands 4 review yet

    God of War Ragnarok : Le retour du roi ? (Epic Test) {SANS SPOIL}

    God of War Ragnarok : Le retour du roi ? (Epic Test) {SANS SPOIL}

    RuneScape: Dragonwilds has delayed its major 0.9 update: ‘We’ve encountered some bugs we are simply not happy shipping the update with’

    RuneScape: Dragonwilds has delayed its major 0.9 update: ‘We’ve encountered some bugs we are simply not happy shipping the update with’

    Hypercharge: Unboxed – 3 jugadores COOP – Funderdomo (Funderdome) Hyper-core Defense

    Hypercharge: Unboxed – 3 jugadores COOP – Funderdomo (Funderdome) Hyper-core Defense

    How to reach and climb Mount Fay in Silksong

    How to reach and climb Mount Fay in Silksong

    impressions Scars Above un souls sauce returnal ?

    impressions Scars Above un souls sauce returnal ?

  • Retro Rewind
    Retro Rewind: Game Players Issue 80 Magazine January 1996

    Retro Rewind: Game Players Issue 80 Magazine January 1996

    Retro Rewind: Video Game Trader Winter 2014

    Retro Rewind: Video Game Trader Winter 2014

    Retro Rewind: Electronic Games April 1995

    Retro Rewind: Electronic Games April 1995

    Retro Rewind: Electronic Gaming Monthly Magazine Number 55 February 1994

    Retro Rewind: Electronic Gaming Monthly Magazine Number 57 April 1994

    Retro Rewind: Blast from the Past – 35 Iconic Commercials of 1988!

    Retro Rewind: Blast from the Past – 35 Iconic Commercials of 1988!

    Retro Rewind: PC World Magazine August 1998

    Retro Rewind: PC World Magazine August 1998

    Retro Rewind: Computer Shopper Magazine September 1997

    Retro Rewind: Computer Shopper Magazine September 1997

    Retro Rewind: PC Magazine December 2015

    Retro Rewind: PC Magazine December 2015

    Retro Rewind: EDGE Magazine RETRO #1: The Guide to Classic Videogame Playing and Collecting

    Retro Rewind: EDGE Magazine RETRO #1: The Guide to Classic Videogame Playing and Collecting

  • Tech Art
    Februllage 2023 Challenge – A Month of Collage!

    Februllage 2023 Challenge – A Month of Collage!

    The Secret Technique for 3D Drawings! – How to Draw an Anamorphic Rose in 3D

    The Secret Technique for 3D Drawings! – How to Draw an Anamorphic Rose in 3D

    Color Theory Basics for Digital Painters

    Color Theory Basics for Digital Painters

    3D Cube design in Illusion – 3D Optical Illusion Explained in illustrator 2025

    3D Cube design in Illusion – 3D Optical Illusion Explained in illustrator 2025

    Major French Museums Close Amid Labor Strikes

    Major French Museums Close Amid Labor Strikes

    Don’t make these shading mistakes

    Don’t make these shading mistakes

    AR Car Showroom App Review – Augmented Reality Vehicle Showcase

    AR Car Showroom App Review – Augmented Reality Vehicle Showcase

    Infinite design tutorial (vector art) step by step | ultimate focus tamil

    Infinite design tutorial (vector art) step by step | ultimate focus tamil

    (877) Awesome Peach and Gold Spray Paint Mixed Media Pour

    (877) Awesome Peach and Gold Spray Paint Mixed Media Pour

  • Tech Deals
    CableCreation Cat6 RJ45 Connectors, 100-PACK Cat6 RJ45 Ends, Ethernet Cable Crimp…

    CableCreation Cat6 RJ45 Connectors, 100-PACK Cat6 RJ45 Ends, Ethernet Cable Crimp…

    ASRock AMD Radeon RX 9070 XT Steel Legend 16GB, Boost Clock Up to 2970 MHz / 20 Gbps,…

    ASRock AMD Radeon RX 9070 XT Steel Legend 16GB, Boost Clock Up to 2970 MHz / 20 Gbps,…

    Apple iPad Air 2, 64GB, 4G + Wi-Fi – Gold (Renewed)

    Apple iPad Air 2, 64GB, 4G + Wi-Fi – Gold (Renewed)

    Anker Prime TB5 Docking Station, 14-in-1 Thunderbolt 5 Dock with 120Gbps Max Transfer,…

    Anker Prime TB5 Docking Station, 14-in-1 Thunderbolt 5 Dock with 120Gbps Max Transfer,…

    DUMOS L Shaped Desk Computer Gaming Corner Table 50 Inch Home Office Writing Student…

    DUMOS L Shaped Desk Computer Gaming Corner Table 50 Inch Home Office Writing Student…

    Wired Portable 60% Mechanical Feeling Gaming Keyboard,RGB LED Backlit Compact 68 Keys…

    Wired Portable 60% Mechanical Feeling Gaming Keyboard,RGB LED Backlit Compact 68 Keys…

    Pac-Man and the Ghostly Adventures – Let the Games Begin!

    Pac-Man and the Ghostly Adventures – Let the Games Begin!

    Vantec USB 3.1 Type C 4-Port Bus-Powered Travel Hub Components Other UGT-MH410U3-C

    Vantec USB 3.1 Type C 4-Port Bus-Powered Travel Hub Components Other UGT-MH410U3-C

    TOSHIBA AC25CEW-BS Large 6-Slice Convection Toaster Oven Countertop, 10-In-One with…

    TOSHIBA AC25CEW-BS Large 6-Slice Convection Toaster Oven Countertop, 10-In-One with…

  • Techs Got To Eat
    Spicy Chickpea Shakshuka Mug: 5-Minute Vegetarian Fuel

    Spicy Chickpea Shakshuka Mug: 5-Minute Vegetarian Fuel

    Bacon & Spinach Mug Quiche: 3-Minute Gourmet Breakfast

    Bacon & Spinach Mug Quiche: 3-Minute Gourmet Breakfast

    Cheesy Broccoli Rice Mug: 5-Minute Super Comfort Food

    Cheesy Broccoli Rice Mug: 5-Minute Super Comfort Food

    Top 10 Vegetarian Recipes for 2025: Easy and Nutritious Meals for Busy People

    Top 10 Vegetarian Recipes for 2025: Easy and Nutritious Meals for Busy People

    Bacon Mug Lasagna: 5-Minute Microwave Meat Lover’s Dream

    Bacon Mug Lasagna: 5-Minute Microwave Meat Lover’s Dream

    Bacon Fried Rice Mug: 5-Minute Microwave Meal

    Bacon Fried Rice Mug: 5-Minute Microwave Meal

    Bacon & Cheddar Mug Biscuit: 2-Minute Savory Comfort

    Bacon & Cheddar Mug Biscuit: 2-Minute Savory Comfort

    Loaded Bacon Cheesy Potato Mug: 5-Minute Comfort Food

    Loaded Bacon Cheesy Potato Mug: 5-Minute Comfort Food

    Peanut Butter Banana Mug Muffin: 5-Minute Protein Snack

    Peanut Butter Banana Mug Muffin: 5-Minute Protein Snack

  • Tesla
    Coverado Car Seat Covers Full Set, Seat Covers for Cars, Front Seat Covers and Back Seat…

    Coverado Car Seat Covers Full Set, Seat Covers for Cars, Front Seat Covers and Back Seat…

    3Pcs Center Console Cup Holder Wireless Charger Mat Armrest Bottom Pad for Tesla…

    3Pcs Center Console Cup Holder Wireless Charger Mat Armrest Bottom Pad for Tesla…

    Tera 2025 New Level 2 Charger for Tesla 40A 25FT NACS ETL FCC Most Compact NEMA 14-50…

    Tera 2025 New Level 2 Charger for Tesla 40A 25FT NACS ETL FCC Most Compact NEMA 14-50…

    Pack of 4 Car Floor Mat Clips, Durable Foot Pad Buckle Set, Interior Floor Mat Safety…

    Pack of 4 Car Floor Mat Clips, Durable Foot Pad Buckle Set, Interior Floor Mat Safety…

    Carwiner Center Console Cover for Tesla Model 3 Model Y, PU Leather Armrest Box Cushion…

    Carwiner Center Console Cover for Tesla Model 3 Model Y, PU Leather Armrest Box Cushion…

    Metra – Speaker Plate – Fits Select BMW, Porsche, Range Rover, Tesla (82-8601)

    Metra – Speaker Plate – Fits Select BMW, Porsche, Range Rover, Tesla (82-8601)

    DREIEYECAM Dash cam for Tesla Model S AP1 Full HD 1080P WiFi G-Sensor WDR is Auto Video…

    DREIEYECAM Dash cam for Tesla Model S AP1 Full HD 1080P WiFi G-Sensor WDR is Auto Video…

    Car Sun Visor Organizer, Soft Leather Surface Eyeglasses Note Card Holder Car Storage…

    Car Sun Visor Organizer, Soft Leather Surface Eyeglasses Note Card Holder Car Storage…

    Center Console Organizer Tray for Tesla Model Y 2024-2020(Not Fit 2024 2025Model Y…

    Center Console Organizer Tray for Tesla Model Y 2024-2020(Not Fit 2024 2025Model Y…

  • UFO
    Top 5 MOST BEAUTIFUL SKY PHENOMENON IN THE WORLD!

    Top 5 MOST BEAUTIFUL SKY PHENOMENON IN THE WORLD!

    Sky Viper Fury Stunt Drone, Black/Green

    Sky Viper Fury Stunt Drone, Black/Green

    Scary Peppa Pig UFO Alien Story PEPPA.EXE HORROR

    N11 PRO GPS Drone with Camera for Adults 4K UHD, 90 Min Long Flight Time, Long Control Range, Auto Return, Follow Me, Brushless Motor, 5G FPV RC Quadcopter for Beginners

    N11 PRO GPS Drone with Camera for Adults 4K UHD, 90 Min Long Flight Time, Long Control Range, Auto Return, Follow Me, Brushless Motor, 5G FPV RC Quadcopter for Beginners

    Waluigi is an ALIEN #supermario #mariobros #mariomovie #nintendo #wario

    Waluigi is an ALIEN #supermario #mariobros #mariomovie #nintendo #wario

    Hasdon-Hill UFO Bigfoot Travel Coffee Mug for Men Women, Stainless Steel Tea Cup for Friends Birthday Christmas Gift 12 Oz

    Hasdon-Hill UFO Bigfoot Travel Coffee Mug for Men Women, Stainless Steel Tea Cup for Friends Birthday Christmas Gift 12 Oz

    UFO evidence finally revealed!

    UFO evidence finally revealed!

    47 Men’s Grit Scrum Slub Vintage T-Shirt – NFL Legacy Short Sleeve Tee Shirt

    47 Men’s Grit Scrum Slub Vintage T-Shirt – NFL Legacy Short Sleeve Tee Shirt

    Alien Invasion: RPG Idle Space | CrazyLabs

    Alien Invasion: RPG Idle Space | CrazyLabs

No Result
View All Result
Techcratic
No Result
View All Result
Home Hacker News

Don’t just check errors, handle them gracefully

Hacker News by Hacker News
June 3, 2025
in Hacker News
Reading Time: 13 mins read
129
A A
0

2025-06-03 14:49:00
dave.cheney.net

This post is an extract from my presentation at the recent GoCon spring conference in Tokyo, Japan.


Don't just check errors, handle them gracefully

I’ve spent a lot of time thinking about the best way to handle errors in Go programs. I really wanted there to be a single way to do error handling, something that we could teach all Go programmers by rote, just as we might teach mathematics, or the alphabet.

However, I have concluded that there is no single way to handle errors. Instead, I believe Go’s error handling can be classified into the three core strategies.

The first category of error handling is what I call sentinel errors.

if err == ErrSomething { … }

The name descends from the practice in computer programming of using a specific value to signify that no further processing is possible. So to with Go, we use specific values to signify an error.

Examples include values like io.EOF or low level errors like the constants in the syscall package, like syscall.ENOENT.

There are even sentinel errors that signify that an error did not occur, like go/build.NoGoError, and path/filepath.SkipDir from path/filepath.Walk.

Using sentinel values is the least flexible error handling strategy, as the caller must compare the result to predeclared value using the equality operator. This presents a problem when you want to provide more context, as returning a different error would will break the equality check.

Even something as well meaning as using fmt.Errorf to add some context to the error will defeat the caller’s equality test. Instead the caller will be forced to look at the output of the error‘s Error method to see if it matches a specific string.

Never inspect the output of error.Error

As an aside, I believe you should never inspect the output of the error.Error method. The Error method on the error interface exists for humans, not code.

The contents of that string belong in a log file, or displayed on screen. You shouldn’t try to change the behaviour of your program by inspecting it.

I know that sometimes this isn’t possible, and as someone pointed out on twitter, this advice doesn’t apply to writing tests. Never the less, comparing the string form of an error is, in my opinion, a code smell, and you should try to avoid it.

Sentinel errors become part of your public API

If your public function or method returns an error of a particular value then that value must be public, and of course documented. This adds to the surface area of your API.

If your API defines an interface which returns a specific error, all implementations of that interface will be restricted to returning only that error, even if they could provide a more descriptive error.

We see this with io.Reader. Functions like io.Copy require a reader implementation to return exactly io.EOF to signal to the caller no more data, but that isn’t an error.

Sentinel errors create a dependency between two packages

By far the worst problem with sentinel error values is they create a source code dependency between two packages. As an example, to check if an error is equal to io.EOF, your code must import the io package.

This specific example does not sound so bad, because it is quite common, but imagine the coupling that exists when many packages in your project export error values, which other packages in your project must import to check for specific error conditions.

Having worked in a large project that toyed with this pattern, I can tell you that the spectre of bad design–in the form of an import loop–was never far from our minds.

Conclusion: avoid sentinel errors

So, my advice is to avoid using sentinel error values in the code you write. There are a few cases where they are used in the standard library, but this is not a pattern that you should emulate.

If someone asks you to export an error value from your package, you should politely decline and instead suggest an alternative method, such as the ones I will discuss next.

Error types are the second form of Go error handling I want to discuss.

if err, ok := err.(SomeType); ok { … }

An error type is a type that you create that implements the error interface. In this example, the MyError type tracks the file and line, as well as a message explaining what happened.

type MyError struct {
        Msg string
        File string
        Line int
}

func (e *MyError) Error() string { 
        return fmt.Sprintf("%s:%d: %s”, e.File, e.Line, e.Msg)
}

return &MyError{"Something happened", “server.go", 42}

Because MyError error is a type, callers can use type assertion to extract the extra context from the error.

err := something()
switch err := err.(type) {
case nil:
        // call succeeded, nothing to do
case *MyError:
        fmt.Println(“error occurred on line:”, err.Line)
default:
// unknown error
}

A big improvement of error types over error values is their ability to wrap an underlying error to provide more context.

An excellent example of this is the os.PathError type which annotates the underlying error with the operation it was trying to perform, and the file it was trying to use.

// PathError records an error and the operation
// and file path that caused it.
type PathError struct {
        Op   string
        Path string
        Err  error // the cause
}

func (e *PathError) Error() string

Problems with error types

So the caller can use a type assertion or type switch, error types must be made public.

If your code implements an interface whose contract requires a specific error type, all implementors of that interface need to depend on the package that defines the error type.

This intimate knowledge of a package’s types creates a strong coupling with the caller, making for a brittle API.

Conclusion: avoid error types

While error types are better than sentinel error values, because they can capture more context about what went wrong, error types share many of the problems of error values.

So again my advice is to avoid error types, or at least, avoid making them part of your public API.

Now we come to the third category of error handling. In my opinion this is the most flexible error handling strategy as it requires the least coupling between your code and caller.

I call this style opaque error handling, because while you know an error occurred, you don’t have the ability to see inside the error. As the caller, all you know about the result of the operation is that it worked, or it didn’t.

This is all there is to opaque error handling–just return the error without assuming anything about its contents. If you adopt this position, then error handling can become significantly more useful as a debugging aid.

import “github.com/quux/bar”

func fn() error {
        x, err := bar.Foo()
        if err != nil {
                return err
        }
        // use x
}

For example, Foo‘s contract makes no guarantees about what it will return in the context of an error. The author of Foo is now free to annotate errors that pass through it with additional context without breaking its contract with the caller.

Assert errors for behaviour, not type

In a small number of cases, this binary approach to error handling is not sufficient.

For example, interactions with the world outside your process, like network activity, require that the caller investigate the nature of the error to decide if it is reasonable to retry the operation.

In this case rather than asserting the error is a specific type or value, we can assert that the error implements a particular behaviour. Consider this example:

type temporary interface {
        Temporary() bool
}
 
// IsTemporary returns true if err is temporary.
func IsTemporary(err error) bool {
        te, ok := err.(temporary)
        return ok && te.Temporary()
}

We can pass any error to IsTemporary to determine if the error could be retried.

If the error does not implement the temporary interface; that is, it does not have a Temporary method, then then error is not temporary.

If the error does implement Temporary, then perhaps the caller can retry the operation if Temporary returns true.

The key here is this logic can be implemented without importing the package that defines the error or indeed knowing anything about err‘s underlying type–we’re simply interested in its behaviour.

This brings me to a second Go proverb that I want to talk about; don’t just check errors, handle them gracefully. Can you suggest some problems with the following piece of code?

func AuthenticateRequest(r *Request) error {
        err := authenticate(r.User)
        if err != nil {
                return err
        }
        return nil
}

An obvious suggestion is that the five lines of the function could be replaced with

return authenticate(r.User)

But this is the simple stuff that everyone should be catching in code review. More fundamentally the problem with this code is I cannot tell where the original error came from.

If authenticate returns an error, then AuthenticateRequest will return the error to its caller, who will probably do the same, and so on. At the top of the program the main body of the program will print the error to the screen or a log file, and all that will be printed is: No such file or directory.
No such file or directory
There is no information of file and line where the error was generated. There is no stack trace of the call stack leading up to the error. The author of this code will be forced to a long session of bisecting their code to discover which code path trigged the file not found error.

Donovan and Kernighan’s The Go Programming Language recommends that you add context to the error path using fmt.Errorf

func AuthenticateRequest(r *Request) error {
        err := authenticate(r.User)
        if err != nil {
                return fmt.Errorf("authenticate failed: %v", err)
        }
        return nil
}

But as we saw earlier, this pattern is incompatible with the use of sentinel error values or type assertions, because converting the error value to a string, merging it with another string, then converting it back to an error with fmt.Errorf breaks equality and destroys any context in the original error.

Annotating errors

I’d like to suggest a method to add context to errors, and to do that I’m going to introduce a simple package. The code is online at github.com/pkg/errors. The errors package has two main functions:

// Wrap annotates cause with a message.
func Wrap(cause error, message string) error

The first function is Wrap, which takes an error, and a message and produces a new error.

// Cause unwraps an annotated error.
func Cause(err error) error

The second function is Cause, which takes an error that has possibly been wrapped, and unwraps it to recover the original error.

Using these two functions, we can now annotate any error, and recover the underlying error if we need to inspect it. Consider this example of a function that reads the content of a file into memory.

func ReadFile(path string) ([]byte, error) {
        f, err := os.Open(path)
        if err != nil {
                return nil, errors.Wrap(err, "open failed")
        } 
        defer f.Close()
 
        buf, err := ioutil.ReadAll(f)
        if err != nil {
                return nil, errors.Wrap(err, "read failed")
        }
        return buf, nil
}

We’ll use this function to write a function to read a config file, then call that from main.

func ReadConfig() ([]byte, error) {
        home := os.Getenv("HOME")
        config, err := ReadFile(filepath.Join(home, ".settings.xml"))
        return config, errors.Wrap(err, "could not read config")
}
 
func main() {
        _, err := ReadConfig()
        if err != nil {
                fmt.Println(err)
                os.Exit(1)
        }
}

If the ReadConfig code path fails, because we used errors.Wrap, we get a nicely annotated error in the K&D style.

could not read config: open failed: open /Users/dfc/.settings.xml: no such file or directory

Because errors.Wrap produces a stack of errors, we can inspect that stack for additional debugging information. This is the same example again, but this time we replace fmt.Println with errors.Print

func main() {
        _, err := ReadConfig()
        if err != nil {
                errors.Print(err)
                os.Exit(1)
        }
}

We’ll get something like this:

readfile.go:27: could not read config
readfile.go:14: open failed
open /Users/dfc/.settings.xml: no such file or directory

The first line comes from ReadConfig, the second comes from the os.Open part of ReadFile, and the remainder comes from the os package itself, which does not carry location information.

Now we’ve introduced the concept of wrapping errors to produce a stack, we need to talk about the reverse, unwrapping them. This is the domain of the errors.Cause function.

// IsTemporary returns true if err is temporary.
func IsTemporary(err error) bool {
        te, ok := errors.Cause(err).(temporary)
        return ok && te.Temporary()
}

In operation, whenever you need to check an error matches a specific value or type, you should first recover the original error using the errors.Cause function.

Lastly, I want to mention that you should only handle errors once. Handling an error means inspecting the error value, and making a decision.

func Write(w io.Writer, buf []byte) {
        w.Write(buf)
}

If you make less than one decision, you’re ignoring the error. As we see here, the error from w.Write is being discarded.

But making more than one decision in response to a single error is also problematic.

func Write(w io.Writer, buf []byte) error {
        _, err := w.Write(buf)
        if err != nil {
                // annotated error goes to log file
                log.Println("unable to write:", err)
 
                // unannotated error returned to caller
                return err
        }
        return nil
}

In this example if an error occurs during Write, a line will be written to a log file, noting the file and line that the error occurred, and the error is also returned to the caller, who possibly will log it, and return it, all the way back up to the top of the program.

So you get a stack of duplicate lines in your log file, but at the top of the program you get the original error without any context. Java anyone?

func Write(w io.Write, buf []byte) error {
        _, err := w.Write(buf)
        return errors.Wrap(err, "write failed")
}

Using the errors package gives you the ability to add context to error values, in a way that is inspectable by both a human and a machine.

In conclusion, errors are part of your package’s public API, treat them with as much care as you would any other part of your public API.

For maximum flexibility I recommend that you try to treat all errors as opaque. In the situations where you cannot do that, assert errors for behaviour, not type or value.

Minimise the number of sentinel error values in your program and convert errors to opaque errors by wrapping them with errors.Wrap as soon as they occur.

Finally, use errors.Cause to recover the underlying error if you need to inspect it.

Source Link


Keep your files stored safely and securely with the SanDisk 2TB Extreme Portable SSD. With over 69,505 ratings and an impressive 4.6 out of 5 stars, this product has been purchased over 8K+ times in the past month. At only $129.99, this Amazon’s Choice product is a must-have for secure file storage.

Help keep private content private with the included password protection featuring 256-bit AES hardware encryption. Order now for just $129.99 on Amazon!


Unlock unlimited streaming with a free Amazon Prime trial!
Sign up today!

Help Power Techcratic’s Future – Scan To Support

If Techcratic’s content and insights have helped you, consider giving back by supporting the platform with crypto. Every contribution makes a difference, whether it’s for high-quality content, server maintenance, or future updates. Techcratic is constantly evolving, and your support helps drive that progress.

As a solo operator who wears all the hats, creating content, managing the tech, and running the site, your support allows me to stay focused on delivering valuable resources. Your support keeps everything running smoothly and enables me to continue creating the content you love. I’m deeply grateful for your support, it truly means the world to me! Thank you!

BITCOIN

Bitcoin Logo

Bitcoin QR Code

bc1qlszw7elx2qahjwvaryh0tkgg8y68enw30gpvge

Scan the QR code with your crypto wallet app

DOGECOIN

Dogecoin Logo

Dogecoin QR Code

D64GwvvYQxFXYyan3oQCrmWfidf6T3JpBA

Scan the QR code with your crypto wallet app

ETHEREUM

Ethereum Logo

Ethereum QR Code

0xe9BC980DF3d985730dA827996B43E4A62CCBAA7a

Scan the QR code with your crypto wallet app

Please read the Privacy and Security Disclaimer on how Techcratic handles your support.

Disclaimer: As an Amazon Associate, Techcratic may earn from qualifying purchases.

Tags: Hacker News
Share161Share28ShareShare4ShareTweet101
Hacker News

Hacker News

Stay updated with Hacker News, where technology meets entrepreneurial spirit. Get the latest on tech trends, startup news, and discussions from the tech community. Read the latest updates here at Techcratic.

Related Posts

Threat Actors Leveraging Open-Source AdaptixC2 in Real-world Attacks
Hacker News

Threat Actors Leveraging Open-Source AdaptixC2 in Real-world Attacks

September 11, 2025
1.3k
Ireland won’t contest Eurovision if Israel takes part
Hacker News

Ireland won’t contest Eurovision if Israel takes part

September 11, 2025
1.3k
Top 10 Best External Penetration Testing Companies in 2025
Hacker News

Top 10 Best External Penetration Testing Companies in 2025

September 11, 2025
1.3k
Hackers Reap Minimal Gains from Massive npm Supply Chain Breach
Hacker News

Hackers Reap Minimal Gains from Massive npm Supply Chain Breach

September 11, 2025
1.3k
Seoul says US must fix its visa system if it wants Korea’s investments
Hacker News

Seoul says US must fix its visa system if it wants Korea’s investments

September 10, 2025
1.3k
The-Pocket/Tutorial-Codebase-Knowledge: Turns Codebase into Easy Tutorial with AI
Hacker News

Julien-cpsn/desktop-tui: A desktop environment without graphics

September 10, 2025
1.3k
Christie’s Quietly Deletes Digital Art Department
Hacker News

Christie’s Quietly Deletes Digital Art Department

September 10, 2025
1.3k
Clojure’s Solutions to the Expression Problem
Hacker News

Clojure’s Solutions to the Expression Problem

September 10, 2025
1.3k
Load More
Next Post
Make Vector Art Cartoon Portrait Effects Photoshop Actions – Free Download

Make Vector Art Cartoon Portrait Effects Photoshop Actions - Free Download

Your Tech Resources

  • 30 Second Tech ™
  • AI
  • App Zone ™
  • Apple
  • Ars Technica
  • CNET
  • ComputerWorld
  • Crypto News
  • Cybersecurity
  • Endgadget
  • ExtremeTech
  • Forbes
  • Fossbytes
  • Gaming
  • GeekWire
  • Gizmodo
  • Google News
  • Hacker News
  • Harvard Tech
  • I Like Cats ™
  • I Like Dogs ™
  • LifeHacker
  • MacRumors
  • Macworld
  • Mashable
  • Microsoft
  • MIT Tech
  • PC World
  • Photofocus
  • Physics
  • Random Tech
  • Retro Rewind ™
  • Robot Report
  • SiliconANGLE
  • SlashGear
  • Smartphone
  • StackSocial
  • Tech Art
  • Tech Careers
  • Tech Deals
  • Techcratic ™
  • TechCrunch
  • Techdirt
  • TechRepublic
  • Techs Got To Eat ™
  • TechSpot
  • Tesla
  • The Verge
  • TNW
  • Trusted Reviews
  • UFO
  • VentureBeat
  • Visual Capitalist
  • Wired
  • ZDNet

Tech News

  • 30 Second Tech ™
  • AI
  • Apple Insider
  • Ars Technica
  • CNET
  • ComputerWorld
  • Crypto News
  • Cybersecurity
  • Endgadget
  • ExtremeTech
  • Fossbytes
  • Gaming
  • GeekWire
  • Gizmodo

Tech News

  • Harvard Tech
  • MacRumors
  • Macworld
  • Mashable
  • Microsoft
  • MIT Tech
  • Physics
  • PC World
  • Random Tech
  • Retro Rewind ™
  • SiliconANGLE
  • SlashGear
  • Smartphone
  • StackSocial
  • Tech Careers

Tech News​

  • Tech Art
  • TechCrunch
  • Techdirt
  • TechRepublic
  • Techs Got To Eat ™
  • TechSpot
  • Tesla
  • The Verge
  • TNW
  • Trusted Reviews
  • UFO
  • VentureBeat
  • Visual Capitalist
  • Wired
  • ZDNet

Site Links

  • About Techcratic
  • Affiliate Disclaimer
  • Affiliate Link Policy
  • Contact Techcratic
  • Dealors Discount Store
  • Privacy and Security Disclaimer
  • Privacy Policy
  • RSS Feed
  • Site Map
  • Support Techcratic
  • Techcratic
  • Tech Deals
  • TOS
  • 𝕏
Click For A Secret Deal

Blockchain Detective Uncovers Bitmine’s 46,000 Ethereum Treasury Increase

CDPR returns to the fridge for one more Cyberpunk patch, somehow makes its autodrive less berserk while also making it ignore traffic lights

Infinity Castle’s Rotten Tomatoes Audience Score Is Wild

Circus SE completes first production of CA-1 robots in high-volume facility

Threat Actors Leveraging Open-Source AdaptixC2 in Real-world Attacks

Foundation’ cast still waiting on Apple’s word for season 4

Techcratic – Your All In One Tech Hub
© 2020 – 2025
All Rights Reserved
∞

No Result
View All Result
  • 30 Second Tech ™
  • AI
  • App Zone ™
  • Apple
  • Ars Technica
  • CNET
  • Crypto News
  • Cybersecurity
  • Endgadget
  • Gaming
  • I Like Cats ™
  • I Like Dogs ™
  • MacRumors
  • Macworld
  • Tech Deals
  • Techcratic ™
  • Techs Got To Eat ™
  • Tesla
  • UFO
  • Wired