Blog

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.

Oct 2026De'wI' chenmoHta'

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.…

ghItlh laD
Oct 2026De'wI' chenmoHta'

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.

ghItlh laD
Sep 2026De'wI' chenmoHta'

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…

ghItlh laD
Sep 2026De'wI' chenmoHta'

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…

ghItlh laD
Sep 2026De'wI' chenmoHta'

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…

ghItlh laD
Aug 2026De'wI' chenmoHta'

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…

ghItlh laD
Aug 2026De'wI' chenmoHta'

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…

ghItlh laD
Aug 2026De'wI' chenmoHta'

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…

ghItlh laD
Aug 2026De'wI' chenmoHta'

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…

ghItlh laD
Aug 2026De'wI' chenmoHta'

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…

ghItlh laD
Aug 2026De'wI' chenmoHta'

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…

ghItlh laD
Jul 2026De'wI' chenmoHta'

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…

ghItlh laD
Jul 2026De'wI' chenmoHta'

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…

ghItlh laD
Jul 2026De'wI' chenmoHta'

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…

ghItlh laD
Jul 2026De'wI' chenmoHta'

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…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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.

ghItlh laD
Jun 2026De'wI' chenmoHta'

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…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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'…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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…

ghItlh laD
Jun 2026De'wI' chenmoHta'

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…

ghItlh laD
May 2026De'wI' chenmoHta'

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…

ghItlh laD
May 2026De'wI' chenmoHta'

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…

ghItlh laD
May 2026De'wI' chenmoHta'

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…

ghItlh laD
May 2026De'wI' chenmoHta'

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…

ghItlh laD
Apr 2026De'wI' chenmoHta'

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.…

ghItlh laD
Apr 2026De'wI' chenmoHta'

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…

ghItlh laD
Apr 2026De'wI' chenmoHta'

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'…

ghItlh laD
Apr 2026De'wI' chenmoHta'

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…

ghItlh laD
Mar 2026De'wI' chenmoHta'

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.

ghItlh laD
Mar 2026De'wI' chenmoHta'

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…

ghItlh laD
Mar 2026De'wI' chenmoHta'

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…

ghItlh laD
Mar 2026De'wI' chenmoHta'

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'.

ghItlh laD
Mar 2026De'wI' chenmoHta'

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…

ghItlh laD
Mar 2026De'wI' chenmoHta'

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…

ghItlh laD
Feb 2026De'wI' chenmoHta'

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…

ghItlh laD
Feb 2026De'wI' chenmoHta'

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…

ghItlh laD
Feb 2026De'wI' chenmoHta'

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…

ghItlh laD
Feb 2026De'wI' chenmoHta'

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…

ghItlh laD
Feb 2026De'wI' chenmoHta'

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…

ghItlh laD
Jan 2026De'wI' chenmoHta'

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…

ghItlh laD
Jan 2026De'wI' chenmoHta'

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…

ghItlh laD
Jan 2026De'wI' chenmoHta'

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…

ghItlh laD
Jan 2026De'wI' chenmoHta'

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…

ghItlh laD
Feb 2024De'wI' ghItlhta'

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.

ghItlh laD
Feb 2024De'wI' ghItlhta'

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.

ghItlh laD
Feb 2024De'wI' ghItlhta'

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…

ghItlh laD
Feb 2024De'wI' ghItlhta'

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…

ghItlh laD
Sep 2023De'wI' ghItlhta'

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.

ghItlh laD
Apr 2023De'wI' ghItlhta'

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!

ghItlh laD
Apr 2023De'wI' ghItlhta'

JavaScript this keyword

web development Daq JavaScript programming Hol law' lo'lu'. 'ach concepts Qatlh ghaj, developers Qatlh. wa' "this" keyword ghaH.

ghItlh laD
Mar 2023De'wI' ghItlhta'

Dependency Injection

software development world Daq concepts law' essential (robust, scalable, easily maintainable applications chenmoH). wa' concept (recent years Daq importance law' gain): Depende…

ghItlh laD
Feb 2023De'wI' ghItlhta'

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…

ghItlh laD
Jan 2023De'wI' ghItlhta'

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.

ghItlh laD
Sep 2022De'wI' ghItlhta'

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…

ghItlh laD
Aug 2022De'wI' ghItlhta'

Autosort: images 'ej videos quickly simply sort

script naDev presented successor: GoPro & Photos: automatically rename 'ej copy

ghItlh laD
Aug 2022De'wI' ghItlhta'

Promises

developers law' wa'DIch yajbe' concept: Promises.

ghItlh laD
Mar 2022De'wI' ghItlhta'

JavaScript - Generators

JavaScript generators powerful function technique ghaH (JavaScript developers vaD). Generators asynchronous functions cleaner structured way Daq ghItlh chaw'. 'ach generators nuq?

ghItlh laD
Feb 2022De'wI' ghItlhta'

JavaScript Closures

closure chenmoH, function wa' variable pagh function tlhoch scope Daq tlhap. closure ghaH function, chenmoHta'DI' scope Dung values qaw.

ghItlh laD
Jan 2022De'wI' ghItlhta'

GoPro photos automatically rename 'ej copy

newer better version naDev: Autosort - images 'ej videos sort quickly simply

ghItlh laD
Jan 2022De'wI' ghItlhta'

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.

ghItlh laD
Dec 2021De'wI' ghItlhta'

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…

ghItlh laD
Nov 2021De'wI' ghItlhta'

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.

ghItlh laD
Nov 2021De'wI' ghItlhta'

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…

ghItlh laD
Jul 2021De'wI' ghItlhta'

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'.

ghItlh laD
Dec 2020De'wI' ghItlhta'

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…

ghItlh laD
Jun 2020De'wI' ghItlhta'

MySQL: NULL 0 qoj

QujHom vaD MySQL column values vIqoj 'ej sum sort vIneH. misvam:

ghItlh laD
May 2020De'wI' ghItlhta'

Alpha-Go

AI vIleghlaH 'ej Qapla' pelmey vIneH. vaj Alpha-Go yoHwI' mIw ghItlh yIlegh. Hoch 'oH! Video yIlegh

ghItlh laD
May 2020De'wI' ghItlhta'

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…

ghItlh laD
Mar 2020De'wI' ghItlhta'

NASA Hoch'ap De' legh

NASA Hoch'ap De' legh snippet mach. De' naDev tu'lu': https://lpdaac.usgs.gov/products/srtmgl3v003/

ghItlh laD
Sep 2019De'wI' ghItlhta'

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:

ghItlh laD
Sep 2019De'wI' ghItlhta'

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"…

ghItlh laD
Sep 2019De'wI' ghItlhta'

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) :-)

ghItlh laD
Jun 2019De'wI' ghItlhta'

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…

ghItlh laD
Apr 2019De'wI' ghItlhta'

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…

ghItlh laD
Apr 2019De'wI' ghItlhta'

Fire on enter

Javascript/jQuery snippet mach. field Daq Enter button yIpol 'ej Qu' mIw.

ghItlh laD
Aug 2018De'wI' ghItlhta'

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

ghItlh laD
Jul 2018De'wI' ghItlhta'

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…

ghItlh laD
Jul 2018De'wI' ghItlhta'

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)…

ghItlh laD
Jun 2018De'wI' ghItlhta'

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…

ghItlh laD
Jun 2018De'wI' ghItlhta'

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…

ghItlh laD
Jun 2018De'wI' ghItlhta'

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…

ghItlh laD
Jun 2018De'wI' ghItlhta'

Javascript Snippets

naDev JavaScript snippets vIqoj. tlhegh 'oH 'ej poH Dung law' vIchel :)

ghItlh laD
Jun 2018De'wI' ghItlhta'

Bash Snippets

Bash snippets lo'laH 'ej lo'laHbe' vIqoj. yItlhIch.

ghItlh laD
Jun 2018De'wI' ghItlhta'

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…

ghItlh laD
May 2018De'wI' ghItlhta'

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…

ghItlh laD
May 2018De'wI' ghItlhta'

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…

ghItlh laD
May 2018De'wI' ghItlhta'

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…

ghItlh laD
May 2018De'wI' ghItlhta'

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…

ghItlh laD
May 2018De'wI' ghItlhta'

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'.

ghItlh laD
May 2018De'wI' ghItlhta'

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…

ghItlh laD
May 2018De'wI' ghItlhta'

PHP Snippets

reH jIH poQ 'e' vIQubmoH variable cha'. 'ach jIHvaD nuq vIjatlh: "temp variable pagh 'e' vIchenmoHlaHbe''a'?" DaH 'oH best practice vIghaj:

ghItlh laD
Mar 2018De'wI' ghItlhta'

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).…

ghItlh laD