What I think about...
I enjoyed blogging until around 2020, but these days I no longer have the time for it. Since I use AI to learn about new technologies, algorithms and other dev topics, I pipe the interesting results into this blog. AI-generated posts are marked. I use Claude and Gemma. Translations are AI-generated as well.
Trigram Algorithm: Fuzzy Matching magic pagh
trigram three consecutive characters neH. cha' strings trigram sets compare vaj fast typo-tolerant similarity score 0 'ej 1 Dung. PostgreSQL idea ghaH. 30 lines Python Daq fit.…
React Daq custom data-fetching hook mach
React codebase Hoch blocks law' (data fetch, loading state, error handling) ghaj. pattern wa' reusable hook Daq extract - typing Dach pagh, bugs subtle fix.
CSS Container Queries: Qu' lIj
media queries wa' Qap 'e' jang: viewport chay' tIn? Component law' vaD Qapbe' - card, sidebar widget, product tile browser window chay' tIn qaS pagh: 'oH chay' bIngDaq ghaj, 'ej…
Virtual DOM chay' Qu'
"Virtual DOM React nom" - Hoch vay' jatlh 'ach yajbe'. pegh pagh, 'ej reH nom pagh. real DOM tlhap rap. Qagh choH: real DOM minimal changes tu' (UI state wa' vo' pIm), SoH manua…
Web Workers computation tIn vaD yaj
JavaScript wa' thread Daq Qu'. computation-heavy task (JSON tIn parse, image resize, pathfinding) Qu'DI' page Hoch block: scroll pagh, click pagh, animation pagh. Web Workers re…
Debouncing 'ej Throttling: JavaScript high-frequency events Qotlh
frontend developer Hoch wa' wall ghor: scroll handler lup Hoch law' Qu', search input keystroke Hoch network request, resize listener layout recalculate (page stutter). Debounci…
Node.js Daq command-line tool simple ghItlh
internal CLI tools law' framework poQ pagh. files batch rename, internal API Qu', repetitive sequence wrap script - wa' Node file shebang line 'ej entry. Commander pagh, Yargs p…
Web Accessibility Basics: ARIA guesswork pagh
ARIA mistake common wrong attribute lo' pagh - ARIA lo' (native HTML element free solve laH 'ach). ARIA (Accessible Rich Internet Applications) custom widgets describe (HTML bui…
Git Branching Strategies Qu' lIj
teams law' branching strategy choose pagh - founding engineers Qu'pu' inherit, 'ej calcify (team size release cadence Dun'a' Qoy pagh). vaj five-person startup hundred-person or…
TypeScript Daq state machine mach
component , , , separate booleans rap ghItlh vaj bug ship: cha' booleans true wa' poH, UI spinner 'ej error message stacked. State machine type level Daq fix: independent flags…
Reflows 'ej Repaints: page jank qatlh
element height mI', another element width set, width laD, third element height set - 15-line function frame rate Qaw'. culprit "slow JavaScript" legh pagh. browser silently page…
HTTP Caching Headers yaj
performance problems CDN pagh caching layer solve try law' actually wej HTTP headers (set correctly) free solve - apps law' accident wrong set (choice pagh). , , browser resourc…
API Pagination Qu' lIj
growing table rows Hoch wa' response Daq nob vaj development Daq Dun, production Daq customer 50,000 records ghaj jaj Qaw'. Pagination 'oH Qotlh, 'ach naive approach ( / ) corre…
Database Connection Pooling yaj
database connection open expensive: TCP handshake, authentication, TLS negotiation - query wa' Qu'qaSpa' tens of milliseconds. request per connection open vaj cost Hoch pay, dat…
GitHub Action wa'DIch ghItlh
Teams law' GitHub Actions workflow copy-paste (pIm repo) 'ej "Dun" Qoy. 'ach jaj Qapbe' 'e' yajchoH poQ: nuq run trigger, job 'ej step nuq, data chay' nob. naDev real workflow p…
JavaScript Event Loop yaj
JavaScript wa' thread Daq Qu' 'ach network requests, timers, UI events law' (block pagh) Qu'. event loop 'oH mIw. order Sov vaj "qatlh 'oH wa'DIch?" bugs yajchoH.
Node.js Memory Leaks debug
Node process hours pagh days Daq memory usage slowly climb, container orchestrator OOM-kill - frustrating bug class: locally reproduce pagh, crash qaSpa' logs normal legh, "rest…
Semantic Versioning Qu' lIj
Daq precise legh 'ach caret meaning maintainer rules follow vaj choH. Semantic Versioning (semver) promise wej numbers Daq encoded - publisher 'ej consumer cha' yaj vaj promise…
Big O Notation, real code rap
Big O notation abstract examples rap taught (integer arrays sort, balanced trees search) 'ej people real features ship vaj quietly drop. mistake: same reasoning "simple" nested…
Feature Toggling environment-based config rap
half-finished feature production Daq ship (expose pagh) simplest way: config vo' boolean, Daq check. feature-flag service (dashboard, SDK) qaSpa' environment-based toggle chay'…
Express Daq Rate Limiter Middleware mach
unprotected API endpoint invitation: wa' misbehaving client script, wa' retry loop backoff pagh, wa' scraper - server poH Hoch same handful clients serve (others pagh). Rate lim…
Content Security Policy (CSP) yaj
Content Security Policy browser feature ghaH: page scripts, styles, images, resources nuqDaq load laH Dach. attacker page Daq vay' injectpu' qaSDI' Qu' Dun defenses wa'. user in…
Redis Daq job queue mach
welcome email nob, uploaded image resize, PDF report chenmoH - HTTP request Daq Qu' Qo'. job queue work jaH 'ej user nom jang. Redis primitives ghaj queue mach (heavier message…
Repository Pattern: pros, cons, skip vaj
repository pattern backend tutorials law' default recommend (dependency injection rap), skip wrong obvious legh. pagh. specific problems vaD useful pattern, 'ej habit adopt appl…
Database Transactions 'ej Isolation Levels yaj
"transaction Daq wrap" common advice 'ach transaction alone cha' concurrent operations step on each other pagh guarantee - isolation level depend, 'ej most databases default wea…
Retry Strategies: Exponential Backoff 'ej Jitter
network call Qapbe'. obvious fix "retry" - 'ach naive retry blip full outage choH: client Hoch recovering service wa' poH Daq hammer. Exponential backoff jitter rap standard fix…
WebSockets mach yaj
HTTP request-response ghaH: client jey, server jang, connection Qu'. model Qaw' server client vaD vay' jatlh poQ (jey pagh): chat message, stock price, build Qu'. WebSockets 'oH…
JavaScript Async Iterators 'ej Generators
loops arrays 'ej iterables wa' value poH wa'. rap, value Hoch poH poQ - paginated API results laD, file tIn stream, events qaS. promises manual juggle pagh. 'ach generators mIw.…
JavaScript Memoization, useMemo Dung
Memoization function call result cache (arguments key). same arguments vaj cached value nob (work redo pagh). JavaScript developers law' React vo' Sov. 'ach general technique na…
Node.js Daq Pub/Sub system mach
publish/subscribe code event chenmoHbogh 'ej code jangbogh pIm. publisher Sovbe' vay' Qoy, subscribers Sovbe' event nuqDaq. process law' vaD message broker (Redis, RabbitMQ) lo'…
CAP Theorem, real examples rap
distributed database vendor Hoch fast, consistent, always available claim. CAP theorem suspicious pitch vaD qatlh: network partition Daq Consistency, Availability, Partition tol…
JWT Authentication Qu' lIj
JSON Web Tokens law' new backends Daq default choose (token right fit'a' check pagh, revoke jaj nuq qaS Sov pagh). JWT nuq, chay' lo', nuqDaq Dun pagh.
Event Sourcing vs Traditional CRUD
traditional CRUD table row current state nob, chay' ghoS pagh. event sourcing choH: change Hoch (qaS) store, current state compute (store pagh). inversion real problems solve 'e…
Structured Logging: printf debugging scale Qu'be'
Dun - 'ach servers wa'maH, log lines wa' SaD Hoch lup 'ej customer wa' requests wej services Daq 20 tup Dung tu' poQ. plain-text logs debugging tool pagh, haystack choH. Structu…
CORS wa'logh Hoch vaD yaj
CORS errors console Daq Qagh poH Daq tu'lu', chay' Qotlh Sovbe', 'ej Stack Overflow vo' copy-paste "solve". nuq qaS Sov pagh. naDev nuq qaS 'ej browser qatlh 'oH Qu'.
Rate Limiting Algorithms: Token Bucket vs Sliding Window
public API Hoch rate limiting poQ, algorithm choose "100 requests per minute" real meaning decide. cha' approaches dominate: token bucket 'ej sliding window - edges Daq pIm beha…
N+1 Query Qagh 'ej chay' Qotlh
page 50 blog posts 'ej author pong list development Daq (test rows Dach) nom, production Daq Qaw' - query slow pagh, wa' query pagh. 51 queries: wa' posts tlhap, post Hoch wa' a…
Git Rebase vs Merge: nuq lo'
'ej feature branch changes Daq nob. yIch rap: Hoch pIm Sovbe', history tangled pagh rewritten (neH pagh). cha' mIw Qagh rap 'ach pIm: Qagh mIw lo' vaj force-push disaster pagh u…
Safe idempotent database migrations ghItlh
staging Daq Qapla' migration production Daq Dung Qagh: schema old version pagh new version pagh, deploy roll forward laHbe', rollback undo pagh. migrations ghItlh (re-run reH sa…
Database Indexes chay' Qu'
"index chel" database advice law' 'ej misapplied law' - slow queries Daq index nuq Qu' Sov pagh. index pagh pagh choH reH. index second separately-sorted copy data slice, table…
Optimistic vs Pessimistic Locking databases Daq
cha' requests same row laD, cha' new value compute, cha' write back - second write first silently overwrite (qaS pagh rap). lost update ghaH. concurrent database access locking…
Circuit Breaker Pattern resilient services vaD
downstream service fail ghoS vaj naive response (request Hoch retry) wrong move. retry Hoch request pile on struggling service, 'ej caller timeout wait thread pagh connection (s…
Feature Flags: Qu' lIj
feature flag conditional ghaH, code Dung wrap: code on pagh off (Hoch vaD, user subset vaD, pagh gradual) - deploy chu' pagh. yIch Dun: Hoch codebase Daq. 'ach scale Daq Qagh. D…
TypeScript Generics yaj
Generics feature ghaH. basic TypeScript types yaj qaSDI' Qagh, 'ej yaj vaj tool lo'lu' law'. yIch: function pagh type wa' type vaD ghItlh pagh, "type nob Hoch" vaD ghItlh, 'ej T…
LRU cache pagh vo' mach
LRU (least-recently-used) cache items fixed number hold. full 'ej chu' item chel poQ vaj poH tIn touch pagh item evict. Hoch Daq tu'lu': browser tab management, database buffer…
REST API Idempotency Keys
client payment request nob, network timeout (response qaSpa'), client retry (reasonable). endpoint charge redo vaj customer cha'logh bill. Idempotency keys 'oH Qotlh: client req…
Python3: Dochmey rap pong rarwI' pong choH
file system Dung 'ej file system Dung pagh, case respect pagh vaj file Dochmey ngaS pagh copy. script lo'. pong rap tu'lu' vaj prefix chel.
Mail management / Spam Protection
SPAM jIH Hurgh. blog posts mI' legh (blog Hoch spam topic neH moj). 'ach relatively perfect way SPAM avoid vIngu', Hoch share neH.
Accessible Web Design qatlh: inclusivity 'ej usability Dujlu'
digital technologies Daq world Daq, websites 'ej applications Hoch users vaD accessibility qatlh. Accessible web design aesthetics Dung - different abilities limitations ghaj pe…
Invisible Threat: XSRF - web SoH Daq Qu' qaSDI'
personal information 'ej online activities qatlh law' world Daq cyberspace Daq security qatlh. threat shadow Daq lurk 'ej devastating effects ghaj: XSRF (Cross-Site Request Forg…
Brute Force yaS Qaw'
Saturday Daq coffee house Daq 'ej OVH provider 'e' ja'pu': vServer Daq DDOS yaS Qu'. vaj brute force yaS (rap) legh vIchaw' 'e' vIQub.
React Native - nuq?
Qu' pagh, qaStaHvIS joke wa' vIjatlh: React Native Daq developers qatlh parHa'? Hoch Duj cha' wa' Daq wIDIl: iOS 'ej Android apps rap vIchenmoH 'ej coffee break poH ghaj!
JavaScript this keyword
web development Daq JavaScript programming Hol law' lo'lu'. 'ach concepts Qatlh ghaj, developers Qatlh. wa' "this" keyword ghaH.
Dependency Injection
software development world Daq concepts law' essential (robust, scalable, easily maintainable applications chenmoH). wa' concept (recent years Daq importance law' gain): Depende…
C# Method Chaining Hoch'a'ghach: efficient code lIj
software development world Daq efficiency key concept. efficient code laD 'ej maintain Dun neH pagh - productivity increase 'ej software quality improve je. code efficient chenm…
Scriptable: contact lens QaS legh
Scriptable widget mach vIghaj. contact lens 'ej lens case QaS 'oH tu'lu'. 30-40 jaj aprIl contact lens vIchuv vIpIH vIQoypu'. vaj script mach vIghItlh 'e' vIchenmoH. 'oH vIyajlaH.
Marlin firmware SKR Mini E3 V3 vaD
Creality Ender 5 vaD Marlin Bugfix 2.1.X compile 'ej configure vIneH pagh 'e' lutlhlaHbe'. CR Touch config 'ej CR Touch homing activate 'oH Qatlh. Hoch Qagh DuH, nozzle bed Daq…
Autosort: images 'ej videos quickly simply sort
script naDev presented successor: GoPro & Photos: automatically rename 'ej copy
Promises
developers law' wa'DIch yajbe' concept: Promises.
JavaScript - Generators
JavaScript generators powerful function technique ghaH (JavaScript developers vaD). Generators asynchronous functions cleaner structured way Daq ghItlh chaw'. 'ach generators nuq?
JavaScript Closures
closure chenmoH, function wa' variable pagh function tlhoch scope Daq tlhap. closure ghaH function, chenmoHta'DI' scope Dung values qaw.
GoPro photos automatically rename 'ej copy
newer better version naDev: Autosort - images 'ej videos sort quickly simply
C# Delegates
delegate method pagh methods ghom pointer ghaH (underlying implementation details Sov poQ pagh). Delegates callback methods implement pagh events application Daq handle vaj useful.
Auto-Backup Amazon S3 Daq
recently backups security critical jIH. V-server (website host) experiment law' 'ej configuration ruin laH. fresh clean system Daq work feeling love - "reinstall-happy". existin…
Udemy Autoenroll script Tampermonkey vaD
myDealz Daq reH Udemy course free tu'lu'. wa'logh course Daq 'e' vIjIHchu'taH vaj reH vIlegh, 'ach online ghaH.
JavaScript Object Notation SQL rap
Databases structured data store vaD wonderful. 'ach reasons Daq Dun pagh 'ej complex data structures SQL via store neH. misvam: image metadata (EXIF data) database Daq store, si…
Null-Conditional Operator
"null-conditional operator" C 6.0 Daq chenmoH feature ghaH. null values lo'laH Dun. member access operator optional ghaH, 'ej object null pagh vaj Qu'.
E-Mail addresses validate
e-mail spam protect vaD often used method (jIH je): registration Daq valid mail address nob pagh. "sapdojapjdspefjfejfos@dfioshdfiosfho.de" vIlo' (validation mail send pagh Sov…
MySQL: NULL 0 qoj
QujHom vaD MySQL column values vIqoj 'ej sum sort vIneH. misvam:
Alpha-Go
AI vIleghlaH 'ej Qapla' pelmey vIneH. vaj Alpha-Go yoHwI' mIw ghItlh yIlegh. Hoch 'oH! Video yIlegh
Simultanschach
jIH chess vIlaHbe' 'ach vIparHa'. GM Huschenbeth vIlegh reH. 40k special 'oH, 'ej ghaH simultan chess vIleghlaH. wa'DIch time limit Daq Qapbe'. 'ach law' match ghaH jon! chess H…
NASA Hoch'ap De' legh
NASA Hoch'ap De' legh snippet mach. De' naDev tu'lu': https://lpdaac.usgs.gov/products/srtmgl3v003/
youtube-dl: MP3 nom download
poH law' youtube-dl tool Dun vIlo'. Sovbe'DI': website law' Daq video/music download. Qu'mey law' 'ach jIH MP3 neH, MKV WEBM MP4 pagh. nuq command:
Brute Force Protection
Brute force attacks web applications Daq serious problem (bigger websites many users). attacker random username-password combinations user account compromise try pagh "wordlist"…
Brand-new MacBook silently off
Apple story, worst frustrating purchase experience jIH ghajpu'. vay' help laH. incident "Complete Story" 'ej "Result" Daq split (Hoch laD neH pagh) :-)
Autopush - changed files upload simple
webdesign/webdevelopment workflow simplify vaD small Autopush script vIghItlh. script specific folder 'ej subfolders Hoch changes watch, changed files SCP remote server Daq uplo…
CentOS - Server essentials
reH CentOS server chu' install poQ (vay' Qagh qaS pagh clean new system jIH neH). DaH jIH Hurgh: reinstallation tasks same reH Qu'. process nom vIneH vaj script vIghItlh (annoyi…
Fire on enter
Javascript/jQuery snippet mach. field Daq Enter button yIpol 'ej Qu' mIw.
OS X Sierra install program version verify laHbe'
DaH jIH old Mac jup vaD nob vIneH 'ej Hoch Qaw' reset vIchenmoH. vaj bootable USB stick
Simple Image Resize + Caching
reH existing image different size poQ. Photoshop via version Hoch individually crop 'ej website Daq include (Autopush - changed files upload simple Dun) pagh PHP script on-the-f…
Simple Template Engine
bigger project vaD simple TemplateEngine vIngu'. server-side 'ej client-side scripts vaD same code reH ghItlh pagh (cha' places Daq change tedious - Single Point Of Maintenance)…
Seconds days, hours, minutes, seconds Daq choH
project DaH jIH Qu'taH (QongDaq vaj), seconds value days, hours, minutes, seconds Daq choH vaD jIH nach Hurgh. simple 'ach jIH Qatlh. vay' rap Qagh vaj naDev solution. misvam: 5…
Timemachine -5058
worst case scenario: backup Qagh. normally IT projects cha'logh backup. cronjob automatically jaj Hoch 24:00 localhost (VirtualHosts Hoch) local backup chenmoH, last 5 days keep…
Scrollblur
"design freak" inspiration reH search; big agencies websites visit - Syzygy website Daq land je. scroll: header image start page Daq slowly blurred scroll down law'. jIH neH! pr…
Javascript Snippets
naDev JavaScript snippets vIqoj. tlhegh 'oH 'ej poH Dung law' vIchel :)
Bash Snippets
Bash snippets lo'laH 'ej lo'laHbe' vIqoj. yItlhIch.
scan yIQaw'Qo' 'ach SoH chenmoHta'
lut tIv 'oH. Xerox copier Daq Qagh tu'lu'. copier ghaH bIngDaq Dung ghaH 'ej Dung Dochmey ghItlh. cha' Dung Dochmey rap law' 'e' copier Sov, vaj wa' Dung Dochmey cache Daq 'oH l…
SPAM protection methods N° 2: timing everything
"SPAM protection methods" series part 2, ominous title "Timing is everything". idea: users web form fill vaj seconds Dung whole form fill pagh. omniscient Wikipedia: office mana…
SPAM protection methods N° 3: timing everything again
page navigation Daq bot 'ej real user Dung speed difference exploit laH. user normally few seconds page Daq stay (information absorb process, form fill je), bot fraction of seco…
HTTP Range Request PHP rap process
reH file Hoch server vo' load neH pagh - certain excerpt (Range) neH. start byte 'ej end byte define, range Dung data Hoch return. partial downloads (download resume pagh downlo…
SPAM protection methods N° 1: Honeypot
Internet beginning vo' annoying topic SPAM (canned meat pagh - Internet law' qan). bored weekend: SPAM (webcrawler je) avoid chay' think, "SPAM protection methods" series chenmo…
Javascript Promises
June 2015 vo' Promises ES6 rap JavaScript Daq arrive, natively use laH. vay' jIH rap wa'DIch Sov pagh: promises nuq vaD, chay' lo'.
SPAM avoid qmail rap
SPAM. Hoch Hurgh, vay' (seriously) avoid laHbe'. inbox tidy keep vaD comfortable solution ghaj: temporary email addresses! temp-mail.org, tempmail.com, tempmailaddress.com, byto…
PHP Snippets
reH jIH poQ 'e' vIQubmoH variable cha'. 'ach jIHvaD nuq vIjatlh: "temp variable pagh 'e' vIchenmoHlaHbe''a'?" DaH 'oH best practice vIghaj:
OpenGeoDB obstacles
current project vaD Germany Hoch postal codes list (city names rap) poQ. "more data better" ;-) 'ach minimum requirements. end: autocomplete input (postal code 'ej place show).…