TIL: FlexBox Defense, Modern C++, Rust Debugging, and Python Programming

TIL 2020-09-01 FlexBox Defense - Interactive game for learning CSS Flexbox through tower defense gameplay. HN: Best Way to Learn Modern C++ - Hacker News discussion on effective approaches to learning contemporary C++. Headcrab: Rust Debugging Library - Library for building debuggers and debugging tools in Rust. OSS Game - FreeCol - Turn-based strategy game based on Colonization, written in Java. Peter Norvig - PyTudes - Python programs of considerable difficulty to perfect particular programming skills. ...

September 1, 2020 · 1 min

TIL: Asciimatics Terminal Effects, Lock-Free Programming, EOPL, and Ranger File Manager

Today I learned about creating full-screen terminal animations with Asciimatics, wait-free and lock-free programming concepts, the Essentials of Programming Languages book, and the Vim-inspired Ranger file manager.

August 31, 2020 · 7 min

TIL: NuShell Structured Data Shell, Async Python Performance Reality, and Go Programming Fundamentals

Today I learned about NuShell's structured approach to shell computing, why async Python isn't always faster, comprehensive Go language resources, and effective techniques for asking technical questions.

August 25, 2020 · 8 min

TIL: Career Growth, Pascal IDE, Python Security, and Rust CLI Tools

TIL 2020-08-24 Grow Skills with Work not Extra-Curriculars - Focus on developing skills through your actual work rather than side projects. Lazarus IDE for Free Pascal - Cross-platform IDE for Free Pascal programming language. Never Run python in your Downloads folder - Security implications of running Python scripts from untrusted locations. Rust Command Line Macros and Utilities - Library for writing shell scripts and command-line tools in Rust.

August 24, 2020 · 1 min

TIL: Apache Samza, System Design, Terminal Tools, and Python Data Visualization

TIL 2020-08-08 Apache Samza - Stream processing framework for building real-time data processing applications. Awesome System Design - Curated list of system design resources and patterns. Geeks for Geeks PDFs - Collection of GeeksforGeeks articles compiled into PDFs. Linux Networking Discussion - Reddit thread about learning Linux networking fundamentals. Structure and Interpretation of Computer Programs - Classic computer science textbook available online. broot - A better alternative to tree command, written in Rust. ...

August 8, 2020 · 1 min

TIL: Python Exception Handling with raise from

TIL 2020-08-06 Python’s raise statement has a from clause - This preserves full tracebacks when re-raising exceptions, providing better debugging information. The Python raise statement documentation - Official documentation covering all forms of the raise statement including exception chaining.

August 6, 2020 · 1 min

TIL: Python Raise Statement and Traceback Preservation

Python Exception Handling Python’s Raise Statement with From Clause Python’s raise statement has a from clause, to preserve full tracebacks The Python raise statement Critical for maintaining debugging information when re-raising exceptions Preserves the original exception context and traceback chain Exception Chaining Syntax Basic Exception Chaining 1 2 3 4 5 6 try: # Some operation that might fail risky_operation() except SomeException as e: # Re-raise with context preserved raise NewException("Custom message") from e Benefits of Exception Chaining Full Traceback Preservation: Maintains complete error history Better Debugging: Shows both original and current exception contexts Clear Error Propagation: Makes it obvious how errors propagated through code Professional Error Handling: Industry best practice for exception management Exception Handling Best Practices When to Use Exception Chaining Converting between exception types (e.g., library exceptions to domain exceptions) Adding context to low-level errors Creating more meaningful error messages for users Maintaining debugging information in complex call stacks Exception Suppression 1 2 # Suppress original exception (use sparingly) raise NewException("Message") from None Debugging Benefits Helps identify root cause of complex errors Provides complete context for error investigation Essential for production debugging and error monitoring Improves error reporting and logging quality

August 6, 2020 · 1 min

TIL: Python's raise from Statement, Grub Customization, Liquorix Kernel, and Hardware Benchmarking

Today I learned about Python's raise from clause for exception chaining, customizing the Grub bootloader, the Liquorix kernel for desktop performance, and comprehensive hardware benchmarking with Phoronix Test Suite.

August 5, 2020 · 6 min

TIL: EC2 Free Tier, Juju Configuration Management, and Python Charms

TIL 2020-08-02 EC2 Free Tier - EC2 has a Free tier! You can request a bunch of machines to experiment with cloud infrastructure. Juju Configuration Management - Juju is a tool that helps manage server providers, whether they are GCP, AWS, your own servers or Azure, among others, giving you one unified way to start, setup and run your servers. Juju Charms - Juju’s configurations are called charms, and these are written in Python. ...

August 2, 2020 · 1 min

TIL: Python Collections, Git Commands, and Node.js Process

TIL 2020-08-01 Python collections.defaultdict - Takes a type not a value. It will initialize based on the default value for that type. Git Last Commit ID - git log --format="%H" -n 1 | cat outputs the last commit ID. Node.js Command Line Arguments - Node.js uses the process object to access command line arguments.

August 1, 2020 · 1 min