Systems | Development | Analytics | API | Testing

Debugging

Principles of Debugging

It is pretty common to envision software developers spending most of their time writing fancy code, building new, shiny features for applications, and smoothly deploying them to production. However, the reality is usually messier. Things break all the time — your code fails, the system runs out of memory, exceptions go unhandled, dependencies conflict, servers overload, slow requests take forever, and whatnot.

Nathan Shain- "The Journey of Upgrading A Python Version From a Debugger Perspective"

What happens when you develop a Python debugger and the latest Python version breaks it? We’ll go through the process of debugging a Python debugger and the methods we used to solve it efficiently. When a new Python version is released, the great opportunity to add new features to our software comes around. Yet, alongside those features, there’s always an API break which requires us to make undesired changes to our software. Often, the change can be as small and seemingly insignificant as a signature change or sometimes can be as big as shifting from Python 2 to 3.

10 Critical Kubernetes Tools and How to Debug Them

Kubernetes is both revolutionary and “diffusionary.” It is a complete restructuring demanding a whole new slew of companion and support tools to cover and prop up the entire ecosystem. There are literally hundreds of tools – both open-source and proprietary – designed specifically with k8s in mind.

Carbonated: Why Google's Enthusiasm for Go Fizzled as a C++ Successor

Developers are talking about Google’s latest creation: Carbon, a supposed wunderkind programming language that will save the technoverse from C++ and serve as its successor or replacement. Just like a rehashed Hollywood blockbuster about a supposed messiah, we’ve heard this story before. The 2000s saw more than one language try to fix C++’s minuses. The two big ones were Rust (backed by Mozilla) and Go (a.k.a. Golang, initiated by Google).