Joined October 2011
Day 19/60: Structured logging. The useful shift was making structured logging improve production behavior, not just local developer comfort. I wanted the rule clear: emit logs, config reads, and shutdown signals in a way that tells the real runtime story, then make test seams
1
15
Day 19/60: Sorting in JavaScript. The useful shift was keeping the ordering invariant visible so sorting in javascript is more than a library call. I wanted the rule clear: keep the sorted and unsorted regions explicit throughout the implementation, then use slices and temporary
13
Day 19/60: Sorting in Rust. The useful shift was keeping the ordering invariant visible so sorting in rust is more than a library call. I wanted the rule clear: keep the sorted and unsorted regions explicit throughout the implementation, then use borrowed slices and temporary
12
Day 19/75: Binary search on rotated arrays. The useful shift was protecting the search interval in binary search on rotated arrays so every bound update stays justified. I wanted the rule clear: state what the active interval still allows before the first loop iteration, then
3
Day 19/365: String manipulation. The useful shift today was realizing that these problems are mostly about boundaries. Longest common prefix, compression, and encode/decode all get easier once I can say exactly where agreement, runs, or serialized items end. #DSA #Strings
2
Rate limiting at the wrong layer is worse than none. If your app middleware limits but the DB pool is already exhausted, you're protecting a dead service. Layer it: nginx first, Redis middleware second, local fallback third. #SRE #RateLimiting #Programming #DevOps #Tech #Code
4
AWS IAM with Terraform is really about making cloud primitives safe by default before application teams start attaching workloads to them. I want the review to show where Terraform, Ansible, policy, or pipeline evidence lives in Terraform resources for VPC boundaries, subnet
3
Day 19/60: File upload vulnerabilities Today I learned why unrestricted file upload matters for production security. The difference is subtle but significant. #Pentesting #EthicalHacking #InfoSec On Day 19/60, I explored file upload vulnerabilities in penetration testing,
6
AWS Lambda runs your code but YOU own the security. #1 mistake: wildcard IAM on execution roles. Scope to exact ARNs, encrypt env vars with CMK, validate event inputs. Serverless != worry-free. #CloudSecurity #AWS #Serverless #Security #SysAdmin #Linux #DevSecOps #CyberSecurity
1
57
SSH hardening and automation in Bash security is about host drift and dangerous defaults across Linux systems. Read the real Linux artifact, keep the shell strict, and leave enough evidence behind that another engineer can trust the output. find, stat, chmod, sysctl, and
10
Day 19/90: Windows scripting with Python Built a host audit tool today: WMI service enumeration to catch unquoted paths, winreg autorun persistence checks, and event log parsing for brute-force detection. Pure Python, zero agents needed. #Python #CyberSecurity #InfoSec
12
VLANs & trunking: tie vlan concepts to one real artifact and one real next step. That is how a security lesson becomes usable during triage, hardening, design review, or response. Evidence should beat confidence every time. #Cybersecurity #Infosec #Securityops #Dfir
1
24
Day 19/90: Abstract classes & interfaces. Today's hinge point was which type owns the invariant so the C++ code still reads like a contract when the program or workflow grows. #Cpp #CPlusPlus The debugging path got shorter. The design felt easier to review. Useful in review.
5
Day 19/90: Iterators and the Iterator trait. Today's hinge point was behavior shared through traits so the Rust code still reads like a contract when the endpoint or workflow grows. #Rust #RustLang The debugging path got shorter. The design felt easier to review. Clearer now.
6
Day 19/90: File I/O. Useful shift: making file i/o explicit about data shape, encoding, and failure points. Main check: name the file, network, or serialization boundary before. #GoLang #LearnGo It made the topic easier to explain. The debugging lens got cleaner. Clearer now.
5
Day 19/90: Records and init-only properties. Today's hinge point was constructors that lock in valid state so the C# code still reads like a contract when the endpoint or workflow grows. #CSharp #DotNet The debugging path got shorter. The design felt easier to review.
5
Day 19/90: Abstract classes. Today's hinge point was constructors that lock in valid state so the Java code still reads like a contract when the endpoint or workflow grows. #Java #JVM The debugging path got shorter. The design felt easier to review. Useful in review.
4
Day 19/90: Async TypeScript. The useful part was making async state and failure explicit. Main check: type loading and failure explicitly. That made the next change easier to reason about. #TypeScript #SoftwareEngineering It made the next refactor calmer. Review got easier too.
1
Day 19/90: Iterators and generators. Today's hinge point was who owns state and lookup behavior so the JavaScript code still reads like a contract when the endpoint or workflow grows. #JavaScript #WebDev The debugging path got shorter. The design felt easier to review.
1
8
Day 19/420: Datetime, time zones, and timestamps. The useful shift was making Python fundamentals hold up under real use. Main check: data shapes that stay obvious at a glance so the Python code still reads like a contract when the feature grows. #Python #SoftwareEngineering
3