Category: Technology



Writing code which successfully accomplishes a task is difficult. Four year software engineering degrees are, after all, spent learning something of substance. This difficulty only compounds as the code in question becomes less and less trivial. Successful accomplishment is not the only outcome of well written, real world software however: Tasks can fail for a variety of reasons. From a certain point of view success is the least interesting outcome in software engineering. No one is woken up in the small hours of the morning because their software succeeded. Much gets said about the Ariane 5 but have you heard of the Ariane 4 or 6? It’s plausible that dealing with errors appropriately is the most important responsibility of a software engineer. This talk will discuss errors and exceptions, how, when, and why they should be generated, how code should be structured to handle them, and what techniques can be used to ensure such situations are reported with sufficient context that the cause can be identified and addressed with minimal software engineer involvement. PUBLICATION PERMISSIONS:
CppCon Organizer provided Coding Tech with the permission to republish CppCon tech talks. CREDITS:
CppCon YouTube channel: https://www.youtube.com/channel/UCMlGfpWw-RUdWX_JbLCukXg https://www.youtube.com/watch?v=cDPXS_c0L2s



You have spent your hard earned money on a multi-core machine. But what does that mean for you as a programmer or for the consumers of your software who also spent their hard earned money on a multi-core machine? Well the deal is, you only get an increase in performance, if you know how to take advantage of your hardware. Perhaps you have also heard something about the free lunch being over for programmers? In this talk we provide a gentle introduction to concurrency with the modern C++ std::thread library. We will introduce topics with pragmatic code examples introducing the ideas of threads and locks, and showing how these programming primitives enable concurrency. In addition, we will show the common pitfalls to be aware of with concurrency: data races, starvation, and deadlock (the most extreme form of starvation!). But don’t worry–I will show you how to fix these concurrency bugs! The session will wrap up with discussion and examples of other concurrency primitives and how to use them to write concurrent programs for common patterns(different types of locks, conditional variables, promises/futures). Attendees will leave this session being able to use threads, locks, and start thinking about architecting multithreaded software. All materials and code samples will also be posted online. PUBLICATION PERMISSIONS:
CppCon Organizer provided Coding Tech with the permission to republish CppCon tech talks. CREDITS:
CppCon YouTube channel: https://www.youtube.com/channel/UCMlGfpWw-RUdWX_JbLCukXg https://www.youtube.com/watch?v=5pYKAoD3Apk



So… you want to be a Pandas expert. What’s it going to take? Should you memorize the Pandas API? Should you read through the source code, line-by-line, file-by-file? Should you try to write your own Pandas from scratch? Or could it be much simpler than that? Could there be an idea, a small, tiny idea, sitting there in plain sight; an idea so obvious that you may have overlooked it; yet an idea that unlocks the complexity of the tool? In this talk, we’ll discuss what Pandas really is, how it distinguishes itself from NumPy, and what the index and index-alignment are all about. And, through the lens of index alignment, we will see how to unlock the power of Pandas, how to understand the vagaries of the API, and how to create a simple framework for understanding all the many details of the tool, and motivate how deliberate, fluent use of indexing in Pandas is the one thing sitting between you and Pandas effective use for every day tasks. James Powell's Bio
James serves as lead instructor for Don't Use This Code. Don't Use This Code provides consulting, coaching, and training services to a number of clients in the financial services and tech industry, helping them develop greater expertise in the use of Python for data analysis, computational simulation, and automation. If you are interested in developing your staff's expertise in Python, Pandas, or with data analysis and software development in general, please reach out to us at info@dutc.io PUBLICATION PERMISSIONS:
PyData provided Coding Tech with the permission to republish PyData talks. CREDITS:
PyData YouTube channel: https://www.youtube.com/c/PyDataTV/videos https://www.youtube.com/watch?v=mWtfZaT7iSc