Dennis Yurichev's blog
Main topics: CS, math, reverse engineering, SAT/SMT solvers, tinkering with *NIX...
Follow my new blog.
- [Math] Drawing a circle, point-by-point, without floating point support (2022-Mar-22)
- [Math] How I rented a flat with the help of calculus (2022-Mar-22)
- [Unix] Using the 'uniq -c' command to get some statistics, part II (2022-Mar-21)
- [Math] Drawing clock with sin()/cos() (2022-Mar-21)
- [Unix] Using the 'uniq -c' command to get some statistics (2022-Feb-25)
- [Crypto] Cracking Diffie–Hellman key exchange using CADO-NFS + Logjam SSL/TLS attack (2022-Feb-25)
- [SAT] UNSAT proofs (2022-Feb-18)
- [Math] Primitive root (2022-Feb-17)
- [Math] Remainder as a checksum (2022-Feb-16)
- [Crypto] Two factor auth, RSA tokens (2022-Feb-15)
- [Crypto] Licensing your software with OpenSSL. Using license keys. Software copy-protection. (2022-Feb-14)
- [C/C++][Assembly][RevEng] Understanding C/C++ code by compiling it (2022-Feb-14)
- Software copy protection/licensing (2022-Feb-12)
- [C/C++] Yet another explanation of C/C++ pointers (2022-Feb-12)
- [Crypto] How to crack RSA-512 on off-the-shelf hardware in 4 days (2022-Feb-10)
- [Unix] Maildir, mutt and vim (2022-Feb-05)
- Translating my books (2022-Feb-04)
- [Math] Injective, surjective, bijective functions (2022-Feb-03)
- [English] Powershell: cmdlet, funclet, etc (2022-Feb-01)
- [Chess] Knight's movements (2022-Feb-01)
- [Unix] Load average (2022-Jan-24)
- [Wolfram] Wordclouds for your book library (2022-Jan-16)
- [RevEng] Orthodox file managers (2022-Jan-03)
- [RevEng] Challenge/keygenme #88 (2021-Dec-31)
- [Math] If and only if (IFF) in programming (2021-Dec-30)
- [Pure C] Why memcpy/strcpy/strcat return a value? (2021-Dec-27)
- CRC32(32-bit buffer) is a bijective function (2021-Dec-24)
- [Python] Pointers/references in Python (2021-Dec-23)
- [Python] Russell's (Barber) paradox explanation in Python (2021-Dec-16)
- [RevEng] Const correctness in C/C++ (2021-Dec-02)
- Expired domains in the most popular Wikipedia articles (2021-Nov-30)
- How to learn Regular Expressions (2021-Nov-26)
- setjmp/longjmp (2021-Nov-24)
- [Math][Python] Shift array using modulo arithmetic or remainder operation (2021-Nov-23)
- [Racket] Split current directory to smaller chunks (2021-Nov-17)
- [Racket] Remove longest common prefix from a group of filenames (2021-Nov-16)
- [RevEng] Find CRC utility (2021-Nov-14)
- [Racket][Math] Deciphering Uber rating (2021-Nov-12)
- [Russian] Как своевременно лочить ресурсы в Макдоналдсе (2021-Nov-07)
- [Unix] Determining file versions using 'join' command (2021-Oct-16)
- [Assembly] Position-independent code (2021-Oct-15)
- [RevEng] Processing multiple executables in IDA (2021-Oct-12)
- Simplest possible intro to finite state machines (2021-Oct-12)
- Weird sort algorithm: verification using KLEE (2021-Oct-08)
- Fun with regular expressions and verification using CBMC: part IV (2021-Aug-19)
- Fun with regular expressions: part III (2021-Aug-19)
- Fun with regular expressions: part II (2021-Aug-19)
- Fun with regular expressions: part I (2021-Aug-19)
- [Racket] Filetree stat by month (2021-Jul-29)
- [Python] A problem for Python hackers: the solution (2021-Jul-26)
- Donald Knuth's SAT solvers (2021-Jul-22)
- [Russian] Поиск опечаток в русскоязычной и украиноязычной Wikipedia (2021-Jul-19)
- Hunting for typos in Wikipedia (2021-Jul-17)
- [Russian][Video] Мой рассказ о SAT/SMT летом 2021, в Zoom-е (2021-Jul-16)
- [Python] A problem for Python hackers. How good your knowledge is? (2021-Jul-07)
- base64scanner (2021-Apr-22)
- Boyer-Moore string search algorithm explanation and formal verification using CBMC (2021-Apr-21)
- [Unix] Using GeoIP from commandline (2021-Apr-14)
- Bayes classifier for your books (2021-Apr-13)
- [Unix] Translating a text from screenshot (2021-Apr-09)
- [Unix] The most primitive local search engine for your books library (2021-Apr-03)
- Reverse Engineering for Beginners published in Korean language (2021-Apr-01)
- 'SAT/SMT by Example' book: 5-year anniversary (2021-Feb-24)
- [Math] Latin squares for programmer (2021-Feb-22)
- [Algo] Rolling hash; Rabin-Karp string search (2021-Feb-05)
- [Math] IEEE 754 round-off errors (2021-Jan-31)
- Yet another use of regex backreferences (2021-Jan-21)
- Knuth-Morris-Pratt string-searching algorithm (part III): DFA-less version (2021-Jan-21)
- Knuth-Morris-Pratt string-searching algorithm (part II): DFA version (2021-Jan-21)
- Knuth-Morris-Pratt string-searching algorithm (part I) + my homebrew algorithms formally verified using CBMC (2021-Jan-21)
- Some of (remote) git internals, part II (2021-Jan-17)
- [Russian][Math][Python] Ломаем пароль при помощи комбинаторики и mixed radix (2021-Jan-16)
- [Russian][Math] Как пить таблетки применяя наименьшее общее кратное (НОК) (2021-Jan-15)
- [Russian][Math] Как я снимал квартиру при помощи мат.анализа (2021-Jan-14)
- [Unix] Tracking changes on web1.0-style websites (2021-Jan-05)
- [Unix] Gauging size of a directory available via Apache webserver index (2021-Jan-05)
- [Math] 'Two parks' problem and inclusion–exclusion principle using boolean operations (2021-Jan-04)
- Some of git internals (updated) (2020-Dec-20)
- Impact of order of files in tar archive on compressed size (2020-Oct-21)
- [Math] Set theory explanation via boolean operation (2020-Oct-16)
- [Russian] Что такое NP-проблемы: для неспециалистов (2020-Oct-11)
- [Russian] математический анекдот (исправил ошибку) (2020-Oct-09)
- Math for programmers (2020-Sep-27)
- A reverse engineering challenge: an intricate visual pattern in 39 bytes: the solution (2020-Sep-02)
- [Python][SAT] Toy package manager under 200 SLOC on top of SAT solver (2020-Sep-01)
- [IDAPython] Generating nice callgraphs, part II. (2020-Aug-23)
- [Russian] Копи-центры в Украине (2020-Aug-19)
- RE4B in Polish: Inżynieria wsteczna dla początkujących (2020-Aug-19)
- [Books] On (technical/scientific) writing (2020-Aug-01)
- [SAT] UNSAT core (2020-Aug-01)
- A reverse engineering challenge: an intricate visual pattern in 39 bytes (2020-Jul-31)
- Pintool: tracking 'CALL 0' and 'JMP 0' instruction (2020-Jul-26)
- [Russian] Задачи по программированию (2020-Jul-21)
- [Racket] SplitBy function I always wanted + fortune program in ~5 SLOC (2020-Jul-09)
- [Linux] Lenovo Thinkpad T500 WiFi issue (2020-Jul-04)
- Cracking my old Tiny C obfuscator (2020-Jul-03)
- [Linux] The most primitive clipboard manager you can ever find (2020-Jul-03)
- [Books] Algorithms (2020-Jul-03)
- SAT solver on top of regex matcher (2020-Jun-21)
- [Russian] KasperskyOS (2020-May-25)
- [MaxSMT] Finding minimum of a simple function using MK85 and simulated annealing (2020-Mar-12)
- [Utility][Python] megagrep (2020-Feb-28)
- [Utility][Python] Kill busy process (2020-Feb-28)
- [win32][Utility] Copyfile (2020-Feb-27)
- The RE4B book is 10 years old today. (2020-Feb-27)
- [Utility][Python] DDFF - Duplicate Directories and Files Finder (2020-Feb-25)
- [Linux] Using lsof (2020-Feb-24)
- Solving Martin Gardner's chess problem using simulated annealing (2020-Feb-24)
- The RE4B book printed on paper (2020-Feb-22)
- Yet another entropy calculating tool (2019-Dec-24)
- Get Wikimapia URL from EXIF (2019-Dec-19)
- [Utility] Programmer's calculator (2019-Dec-12)
- What MSVC's version has been used to compile Windows 10? (2019-Dec-08)
- [IDAPython] Generating nice callgraphs. (2019-Dec-08)
Subscribe to it via RSS:
You can find my blog in popular online RSS feed readers:
Feedly,
The Old Reader,
NewsBlur,
Inoreader.
(I personally happy with newsboat, but also used Thunderbird in past.)
Here is also my own mailing list, dedicated to news about my tools, writings, etc.
Mostly the same information as in my blog. Low-traffic.
Click here.
Or send empty email to: yurichev+subscribe@googlegroups.com
If you have to comment something about a post, please drop me a note: blog(@)yurichev.com.
For the old blog, click this.