I'm currently open to new opportunities! View my resume or connect on LinkedIn.
279 posts

TIL: 10x Development, Tech Leadership, and Rust Web Development

TIL 2020-08-12 Becoming a 10x Developer - Insights on what makes truly effective developers and how productivity multiplies. Books for Tech Leads - Essential reading for technical leadership roles. Diff Highlight Tool for JavaScript - PrismJS plugin for highlighting code differences. How to Stop Procrastinating Using the Fogg Behavior Model - Behavioral science approach to overcoming procrastination. How to Build a Web Application Completely in Rust - Complete example of full-stack Rust web development. ...

August 12, 2020 · 1 min · 74 words

TIL: Guile Scheme Compiler, Category Theory for Programmers, SICP, and Linux Process Tracking

Today I learned about the Guile Scheme baseline compiler, Bartosz Milewski's Category Theory for Programmers, the classic SICP book, and the challenges of tracking running processes on Linux systems.

August 11, 2020 · 9 min · 1720 words

TIL: Apache Samza, System Design, and Messaging Tools

Stream Processing and Big Data Apache Samza Apache Samza Distributed stream processing framework Built for handling real-time data streams at scale Integrates closely with Apache Kafka for message streaming Used by LinkedIn and other large-scale organizations Provides fault-tolerant, scalable stream processing capabilities System Design Resources System Design Learning Awesome System Design Curated collection of system design resources Covers distributed systems, scalability, and architecture patterns Essential for technical interviews and building large-scale systems Includes case studies, papers, and practical examples Messaging and Monitoring Tools Origin - Monitoring and Alert Server origin is a monitoring and alert server based on ZeroMQ and JSON messaging Lightweight monitoring solution using ZeroMQ for message transport JSON-based configuration and messaging Suitable for custom monitoring setups Demonstrates practical use of ZeroMQ in production systems Plumber - Multi-Protocol Messaging CLI plumber is a CLI for Kafka, RabbitMQ and other messaging systems Unified command-line interface for multiple messaging platforms Supports Kafka, RabbitMQ, and other popular message brokers Useful for debugging, testing, and interacting with messaging infrastructure Simplifies working with heterogeneous messaging environments Key Takeaways Stream Processing Ecosystem Apache Samza represents mature stream processing technology Critical for real-time data processing at scale Part of broader Apache ecosystem (Kafka, Storm, Flink) Tooling and Operations Specialized tools like Plumber improve developer productivity Monitoring systems like Origin show lightweight approaches to observability System design knowledge is fundamental for building scalable applications

August 8, 2020 · 2 min · 228 words

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 · 118 words

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 · 39 words

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 · 194 words

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 · 1269 words

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 · 74 words

TIL: Linux Kernel 5.8 and Grub Multi-Kernel Boot

Linux System Administration Linux Kernel 5.8 Features Linux Kernel 5.8 has a lot of hardware level optimizations Significant improvements in hardware support and performance Better power management and efficiency Enhanced driver support for newer hardware Performance improvements across various subsystems Multi-Kernel Installation and Management You can install more than one kernel into a Linux installation and choose which to boot from in Grub Enables testing newer kernels while keeping stable fallback options Useful for development, testing, and troubleshooting Grub bootloader provides menu for kernel selection at boot time Benefits of Multi-Kernel Setup System Stability Ability to rollback to previous kernel if new version causes issues Critical for production systems and development environments Reduces risk when updating system components Development and Testing Test new kernel features without losing stable system Compare performance between kernel versions Debug kernel-specific issues by switching between versions Recovery Options Broken kernel update doesn’t render system unbootable Always have working kernel available for system recovery Essential for maintaining system uptime and reliability

August 2, 2020 · 1 min · 165 words

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 · 54 words

Subscribe to Newsletter

Get the latest posts and insights delivered to your inbox.

Built using Picoletter.