Joined October 2011
28 Photos and videos
Day 17/60: Testing HTTP handlers. The useful shift was making testing http handlers feel like request flow design rather than just handler boilerplate. I wanted the rule clear: name the request boundary, validation step, and response contract before writing handler code, then
6
Day 17/60: Matrix operations. The useful shift was making matrix operations work with JavaScript strings, indexing, and character handling without losing correctness. I wanted the rule clear: decide early whether indexing, slices, or character arrays are the right representation
1
6
Day 17/60: Matrix operations in Rust. The useful shift was making matrix operations in rust work with Rust slices, strings, and indices without losing correctness. I wanted the rule clear: decide early whether bytes, chars, or slices are the right representation in Rust, then
6
Day 17/75: Binary search in Go. The useful shift was protecting the search interval in binary search in go so every bound update stays justified. I wanted the rule clear: state what the active interval still allows before the first loop iteration, then move left and right only
5
Day 17/75: Binary search with STL. The useful shift was protecting the search interval in binary search with stl so every bound update stays justified. I wanted the rule clear: state what the active interval still allows before the first loop iteration, then move left and right
2
Day 17/75: Binary search in Java. The useful shift was protecting the search interval in binary search in java so every bound update stays justified. I wanted the rule clear: state what the active interval still allows before the first loop iteration, then move left and right
1
1
Day 17/75: Binary search basics. The useful shift was protecting the search interval in binary search basics so every bound update stays justified. I wanted the rule clear: state what the active interval still allows before the first loop iteration, then move left and right only
2
Day 17/365: Sliding Window -- Variable. The useful shift today was that variable windows are controlled by conditions. Expand until the rule breaks or becomes satisfied, then shrink for a reason. That made longest-substring and minimum-window problems feel clearer. #DSA #Strings
4
Day 17/60: HAProxy fundamentals Stick tables let you rate-limit per source IP natively inside HAProxy. No Redis needed: stick-table type ip size 200k expire 30s store http_req_rate(10s) http-request deny deny_status 429 if { sc0_http_req_rate gt 50 } #SRE #HAProxy
17
AWS RDS provisioning 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
1
11
Day 17/60 pentesting: JWT algorithm confusion attack -- sign a token with HS256 using the server's RSA public key. If verify() doesn't pin the algorithm, you forge any identity. Check /jwks.json first. #Pentesting #Cybersecurity #Infosec #Security #SysAdmin #Linux #DevSecOps
1
18
AWS Secrets Manager tip: your rotation Lambda needs VPC access to reach RDS. No NAT gateway = silent rotation failure and your app keeps using stale creds until they expire. Always test rotation in staging first. #AWS #CloudSecurity #DevSecOps #Security #SysAdmin #Linux #InfoSec
21
Network commands for security in Bash security is about network exposure and service reachability that people assume instead of proving. Read the real Linux artifact, keep the shell strict, and leave enough evidence behind that another engineer can trust the output. ss
7
Day 17/90 Python Security: Process triage with psutil Enumerate running procs, flag CPU/memory hogs, map network connections to PIDs, and safely terminate with forensic snapshots. Suspend before you kill. Preserve the evidence. #Python #CyberSecurity #InfoSec #IR
13
FTP, SSH, Telnet: tie file transfer 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
22
Day 17/90: Inheritance. 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. Clearer now.
12
Day 17/90: Lifetimes and lifetime annotations. Today's hinge point was which borrowed data must outlive what 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.
23
Day 17/90: Packages and modules. Useful shift: building a Go workspace that is small, predictable, and easy to run. Main check: keep the module layout simple enough that package boundaries. #GoLang #LearnGo It made the topic easier to explain. The debugging lens got cleaner.
17
Day 17/90: Interfaces and abstract classes. 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.
1
16
Day 17/90: Inheritance. 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. Clearer now.
7