# fk-blog-learnbyexample **Repository Path**: g-system/fk-blog-learnbyexample ## Basic Information - **Project Name**: fk-blog-learnbyexample - **Description**: pureHtml; blog-learnbyexample - **Primary Language**: HTML - **License**: MIT - **Default Branch**: master - **Homepage**: https://github.com/learnbyexample/learnbyexample.github.io - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-15 - **Last Updated**: 2025-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README My super duper awesome programming blog is now live at https://learnbyexample.github.io/ I'm addicted to reading fantasy/sci-fi books, so I have a [blog](https://learnbyexample.github.io/escapist-reviews/) for that as well.
## Posts * [Festive offers for books on Python, Linux, Regular Expressions, Vim and more!](https://learnbyexample.github.io/programming-deals-2025/) * [Connect Four game with a twist](https://learnbyexample.github.io/connect-four-game-with-a-twist/) * [Python regular expression cheatsheet and examples](https://learnbyexample.github.io/python-regex-cheatsheet/) * [Customizing pandoc to generate beautiful pdf and epub from markdown](https://learnbyexample.github.io/customizing-pandoc/) * [Everything you need to know about sed substitution](https://learnbyexample.github.io/everything-about-sed-substitution/) * [CLI text processing with GNU awk book announcement](https://learnbyexample.github.io/cli-text-processing-awk-announcement/) * [awk idioms explained](https://learnbyexample.github.io/awk-idioms-explained/) * [Understanding Python re(gex)? book announcement](https://learnbyexample.github.io/understanding-python-regex-announcement/) * [Coloring matched portions with GNU grep, sed and awk](https://learnbyexample.github.io/coloring-matched-portions-grep-sed-awk/) * [100 Page Python Intro book announcement](https://learnbyexample.github.io/100-page-python-intro-book-announcement/) * [Festive offers for books on Python, Linux, Regular Expressions, Vim and more!](https://learnbyexample.github.io/programming-deals-2024/) * [Interactive Python Exercises and Quiz](https://learnbyexample.github.io/interactive-python-exercises/) * [Vim Reference Guide book announcement](https://learnbyexample.github.io/vim-reference-guide-announcement/) * [Linux Command Line Computing book announcement](https://learnbyexample.github.io/linux-command-line-computing-announcement/) * [Interactive GNU awk tutorial](https://learnbyexample.github.io/interactive-awk-tutorial/) * [CLI computation with GNU datamash](https://learnbyexample.github.io/cli-computation-gnu-datamash/) * [CLI text processing with GNU Coreutils book announcement](https://learnbyexample.github.io/cli-text-processing-coreutils-announcement/) * [Ruby One-Liners Guide book announcement](https://learnbyexample.github.io/ruby-oneliners-guide-announcement/) * [Understanding Ruby Regexp book announcement](https://learnbyexample.github.io/understanding-ruby-regexp-announcement/) * [2023: year in perspective](https://learnbyexample.github.io/2023-year-in-perspective/) * [Festive offers for books on Python, Linux, Regular Expressions and more](https://learnbyexample.github.io/programming-deals-2023/) * [Understanding JavaScript RegExp book announcement](https://learnbyexample.github.io/understanding-javascript-regexp-announcement/) * [Perl One-Liners Guide book announcement](https://learnbyexample.github.io/perl-oneliners-guide-announcement/) * [Interactive exercises for GNU grep, sed and awk (TUI apps)](https://learnbyexample.github.io/interactive-grep-sed-awk-exercises/) * [CLI text processing with GNU sed book announcement](https://learnbyexample.github.io/cli-text-processing-sed-announcement/) * [CLI text processing with GNU grep and ripgrep book announcement](https://learnbyexample.github.io/cli-text-processing-grep-announcement/) * [100+ Interactive Python Regex Exercises](https://learnbyexample.github.io/interactive-python-regex-exercises/) * [Python Regular Expressions Playground](https://learnbyexample.github.io/python-regex-playground/) * [Python Regex Surprises](https://learnbyexample.github.io/python-regex-surprises/) * [2022: year in perspective](https://learnbyexample.github.io/2022-year-in-perspective/) * [Interactive Linux CLI Text Processing Exercises](https://learnbyexample.github.io/interactive-linux-cli-exercises/) * [Festive deals for books on Python, Linux, JavaScript, Regular Expressions and more](https://learnbyexample.github.io/programming-deals-2022/) * [Building TUIs with textual: first impressions](https://learnbyexample.github.io/textual-first-impressions/) * [Python 3.11: possessive quantifiers added to re module](https://learnbyexample.github.io/python-regex-possessive-quantifier/) * [Removing duplicates irrespective of field order](https://learnbyexample.github.io/duplicates-irrespective-field-order/) * [Automating Excel with Python - book review](https://learnbyexample.github.io/automating-excel-with-python-review/) * [2021 was a wild ride](https://learnbyexample.github.io/wild-ride-2021/) * [Counting nested braces](https://learnbyexample.github.io/counting-nested-braces/) * [Improve your Python regex skills with 75 interactive exercises](https://learnbyexample.github.io/python-25-days-of-regex/) * [Programming deals](https://learnbyexample.github.io/programming-deals/) * [Numeric Palindrome](https://learnbyexample.github.io/numeric-palindrome/) * [Announcing learnbyexample weekly newsletter](https://learnbyexample.github.io/learnbyexample-weekly-newsletter/) * [The Indie Python Extravaganza](https://learnbyexample.github.io/indie-python-extravaganza/) * [Practice Python Projects book announcement](https://learnbyexample.github.io/practice-python-projects-book-announcement/) * [Escaping madness to get literal field separators in awk](https://learnbyexample.github.io/escaping-madness-awk-literal-field-separator/) * [GNU BRE/ERE cheatsheet and differences between grep, sed and awk](https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/) * [Paying my bills with 'free' ebooks](https://learnbyexample.github.io/my-book-writing-experience/) * [Multiline fixed string search and replace with CLI tools](https://learnbyexample.github.io/multiline-search-and-replace/) * [Emulating regexp lookarounds in GNU sed](https://learnbyexample.github.io/sed-lookarounds/) * [Search and replace tricks with ripgrep](https://learnbyexample.github.io/substitution-with-ripgrep/) * [I know Python basics, what next?](https://learnbyexample.github.io/python-intermediate/) * [JavaScript regular expressions cheatsheet and examples](https://learnbyexample.github.io/javascript-regexp-cheatsheet/) * [Creating GUI Applications with wxPython - book review](https://learnbyexample.github.io/python-gui-book-review/) * [Python for maths](https://learnbyexample.github.io/python-for-maths/) * [A short and satisfying bug hunt](https://learnbyexample.github.io/a-short-and-satisfying-bug-hunt/)
## Mini blog posts * [Better bindings for command line history search](https://learnbyexample.github.io/mini/better-bindings-cli-history-search/) * [OS installation woes](https://learnbyexample.github.io/mini/os-installation-woes/) * [Basic examples for the Linux date command](https://learnbyexample.github.io/mini/linux-date-command-examples/) * [CLI text editing with ed](https://learnbyexample.github.io/mini/cli-text-editing-with-ed/) * [Computing from the Command Line: sales report](https://learnbyexample.github.io/mini/cli-computing-sales/) * [Bash compound commands and redirection](https://learnbyexample.github.io/mini/bash-compound-commands-redirection/) * [Debug woes 3: matching uppercase alphabets](https://learnbyexample.github.io/mini/debug-woes-3/) * [Vim Reference Guide: two week sales report](https://learnbyexample.github.io/mini/vim-reference-guide-sales/) * [PyDev of the Week](https://learnbyexample.github.io/mini/pydev-interview/) * [Brag post: Hacker News Front Page entries](https://learnbyexample.github.io/mini/hacker-news-front-page-brag/) * [Regexp gotcha 1: grouping common portions](https://learnbyexample.github.io/mini/regexp-gotcha-1/) * [Vim prank: alias vim='vim -y'](https://learnbyexample.github.io/mini/vim-prank/) * [Debug woes 2: unexpected array in replacement string](https://learnbyexample.github.io/mini/debug-woes-2/) * [Dreaming solutions](https://learnbyexample.github.io/mini/dreaming-solutions/) * [Debug woes 1: multiple substitutions on the same line](https://learnbyexample.github.io/mini/debug-woes-1/) * [Perl one-liner articles](https://learnbyexample.github.io/mini/perl-oneliner-articles/)
## Tips * [Vim tip 33: editing with text objects](https://learnbyexample.github.io/tips/vim-tip-33/) * [Vim tip 32: text and indent settings](https://learnbyexample.github.io/tips/vim-tip-32/) * [CLI tip 33: manipulating string case with GNU sed](https://learnbyexample.github.io/tips/cli-tip-33/) * [Python tip 33: sorting iterables based on multiple conditions](https://learnbyexample.github.io/tips/python-tip-33/) * [Vim tip 31: mark frequently used locations](https://learnbyexample.github.io/tips/vim-tip-31/) * [CLI tip 32: text processing between two files with GNU awk](https://learnbyexample.github.io/tips/cli-tip-32/) * [Python tip 32: positive lookarounds](https://learnbyexample.github.io/tips/python-tip-32/) * [Vim tip 30: some general Vim settings](https://learnbyexample.github.io/tips/vim-tip-30/) * [CLI tip 31: concatenate files column wise](https://learnbyexample.github.io/tips/cli-tip-31/) * [Python tip 31: next() function](https://learnbyexample.github.io/tips/python-tip-31/) * [Vim tip 29: greedy quantifiers](https://learnbyexample.github.io/tips/vim-tip-29/) * [CLI tip 30: extract only the matching portions](https://learnbyexample.github.io/tips/cli-tip-30/) * [Python tip 30: zip() function](https://learnbyexample.github.io/tips/python-tip-30/) * [Vim tip 28: miscellaneous motion and reposition commands](https://learnbyexample.github.io/tips/vim-tip-28/) * [CLI tip 29: define fields using FPAT in GNU awk](https://learnbyexample.github.io/tips/cli-tip-29/) * [Python tip 29: negative lookarounds](https://learnbyexample.github.io/tips/python-tip-29/) * [Vim tip 27: regexp anchors](https://learnbyexample.github.io/tips/vim-tip-27/) * [CLI tip 28: substitute specific occurrence with GNU sed](https://learnbyexample.github.io/tips/cli-tip-28/) * [Python tip 28: string concatenation and repetition](https://learnbyexample.github.io/tips/python-tip-28/) * [Vim tip 26: executing shell commands](https://learnbyexample.github.io/tips/vim-tip-26/) * [CLI tip 27: reverse text line wise with tac](https://learnbyexample.github.io/tips/cli-tip-27/) * [Python tip 27: enumerate() function](https://learnbyexample.github.io/tips/python-tip-27/) * [Vim tip 25: substitute flags](https://learnbyexample.github.io/tips/vim-tip-25/) * [CLI tip 26: removing duplicate lines with GNU awk](https://learnbyexample.github.io/tips/cli-tip-26/) * [Python tip 26: atomic grouping](https://learnbyexample.github.io/tips/python-tip-26/) * [Vim tip 24: movement commands within the current file](https://learnbyexample.github.io/tips/vim-tip-24/) * [CLI tip 25: get file properties using the stat command](https://learnbyexample.github.io/tips/cli-tip-25/) * [Python tip 25: split and partition string methods](https://learnbyexample.github.io/tips/python-tip-25/) * [Vim tip 23: editing lines filtered by a pattern](https://learnbyexample.github.io/tips/vim-tip-23/) * [CLI tip 24: inserting file contents one line at a time](https://learnbyexample.github.io/tips/cli-tip-24/) * [Python tip 24: modifying list using insert and slice](https://learnbyexample.github.io/tips/python-tip-24/) * [Vim tip 22: word and WORD motions](https://learnbyexample.github.io/tips/vim-tip-22/) * [CLI tip 23: recursive filename matching with globstar](https://learnbyexample.github.io/tips/cli-tip-23/) * [Python tip 23: map, filter and reduce](https://learnbyexample.github.io/tips/python-tip-23/) * [Vim tip 21: working with tabs](https://learnbyexample.github.io/tips/vim-tip-21/) * [CLI tip 22: grep options to suppress stdout and stderr](https://learnbyexample.github.io/tips/cli-tip-22/) * [Python tip 22: possessive quantifiers](https://learnbyexample.github.io/tips/python-tip-22/) * [Vim tip 20: character based motions within the current line](https://learnbyexample.github.io/tips/vim-tip-20/) * [CLI tip 21: inplace file editing with GNU awk](https://learnbyexample.github.io/tips/cli-tip-21/) * [Python tip 21: sorting iterables based on a key](https://learnbyexample.github.io/tips/python-tip-21/) * [Vim tip 19: working with buffers](https://learnbyexample.github.io/tips/vim-tip-19/) * [CLI tip 20: expand and unexpand](https://learnbyexample.github.io/tips/cli-tip-20/) * [Python tip 20: saving and loading json](https://learnbyexample.github.io/tips/python-tip-20/) * [Vim tip 18: moving within long lines](https://learnbyexample.github.io/tips/vim-tip-18/) * [CLI tip 19: extended globs](https://learnbyexample.github.io/tips/cli-tip-19/) * [Python tip 19: manipulating string case](https://learnbyexample.github.io/tips/python-tip-19/) * [Vim tip 17: setting options](https://learnbyexample.github.io/tips/vim-tip-17/) * [CLI tip 18: inserting file contents using GNU sed](https://learnbyexample.github.io/tips/cli-tip-18/) * [Python tip 18: arbitrary number of arguments](https://learnbyexample.github.io/tips/python-tip-18/) * [Vim tip 16: terminal mode](https://learnbyexample.github.io/tips/vim-tip-16/) * [CLI tip 17: common and unique lines](https://learnbyexample.github.io/tips/cli-tip-17/) * [Python tip 17: counting frequency of items](https://learnbyexample.github.io/tips/python-tip-17/) * [Vim tip 15: moving within current line](https://learnbyexample.github.io/tips/vim-tip-15/) * [CLI tip 16: transpose tables](https://learnbyexample.github.io/tips/cli-tip-16/) * [Python tip 16: delete list elements using index or slice](https://learnbyexample.github.io/tips/python-tip-16/) * [Vim tip 14: horizontal and vertical splits](https://learnbyexample.github.io/tips/vim-tip-14/) * [CLI tip 15: text generation with printf and brace expansion](https://learnbyexample.github.io/tips/cli-tip-15/) * [Python tip 15: string transliteration](https://learnbyexample.github.io/tips/python-tip-15/) * [Vim tip 13: repeat last change](https://learnbyexample.github.io/tips/vim-tip-13/) * [CLI tip 14: specify permissions during directory creation](https://learnbyexample.github.io/tips/cli-tip-14/) * [Python tip 14: sequence unpacking](https://learnbyexample.github.io/tips/python-tip-14/) * [Vim tip 12: save and restore sessions](https://learnbyexample.github.io/tips/vim-tip-12/) * [CLI tip 13: join lines of two files based on the first field](https://learnbyexample.github.io/tips/cli-tip-13/) * [Python tip 13: formatting numbers with underscore separation](https://learnbyexample.github.io/tips/python-tip-13/) * [Vim tip 11: replace characters in Normal mode](https://learnbyexample.github.io/tips/vim-tip-11/) * [CLI tip 12: squeeze empty lines](https://learnbyexample.github.io/tips/cli-tip-12/) * [Python tip 12: negate a regex grouping](https://learnbyexample.github.io/tips/python-tip-12/) * [Vim tip 10: Undo and Redo](https://learnbyexample.github.io/tips/vim-tip-10/) * [CLI tip 11: longest line length](https://learnbyexample.github.io/tips/cli-tip-11/) * [Python tip 11: capture external command output](https://learnbyexample.github.io/tips/python-tip-11/) * [Vim tip 9: named registers](https://learnbyexample.github.io/tips/vim-tip-9/) * [CLI tip 10: version sort](https://learnbyexample.github.io/tips/cli-tip-10/) * [Python tip 10: removeprefix and removesuffix string methods](https://learnbyexample.github.io/tips/python-tip-10/) * [Vim tip 8: join lines](https://learnbyexample.github.io/tips/vim-tip-8/) * [CLI tip 9: awk paragraph mode](https://learnbyexample.github.io/tips/cli-tip-9/) * [Python tip 9: applying set-like operations for dictionaries](https://learnbyexample.github.io/tips/python-tip-9/) * [Vim tip 7: changing case in Normal mode](https://learnbyexample.github.io/tips/vim-tip-7/) * [CLI tip 8: extract from start of file until matching line](https://learnbyexample.github.io/tips/cli-tip-8/) * [Python tip 8: dict.fromkeys() method](https://learnbyexample.github.io/tips/python-tip-8/) * [Vim tip 6: search word nearest to the cursor](https://learnbyexample.github.io/tips/vim-tip-6/) * [CLI tip 7: limiting number of filtered lines](https://learnbyexample.github.io/tips/cli-tip-7/) * [Python tip 7: creating a deepcopy of collections](https://learnbyexample.github.io/tips/python-tip-7/) * [Vim tip 5: jumping back and forth in Normal mode](https://learnbyexample.github.io/tips/vim-tip-5/) * [CLI tip 6: filtering lines based on multiple conditions](https://learnbyexample.github.io/tips/cli-tip-6/) * [Python tip 6: inplace file editing](https://learnbyexample.github.io/tips/python-tip-6/) * [Vim tip 4: reposition current line in Normal mode](https://learnbyexample.github.io/tips/vim-tip-4/) * [CLI tip 5: aligning columns](https://learnbyexample.github.io/tips/cli-tip-5/) * [Python tip 5: random choice and sample](https://learnbyexample.github.io/tips/python-tip-5/) * [Vim tip 3: autocomplete words and lines in Insert mode](https://learnbyexample.github.io/tips/vim-tip-3/) * [CLI tip 4: serialize file contents to a single line](https://learnbyexample.github.io/tips/cli-tip-4/) * [Python tip 4: comparison chaining](https://learnbyexample.github.io/tips/python-tip-4/) * [Vim tip 2: indent/unindent lines](https://learnbyexample.github.io/tips/vim-tip-2/) * [CLI tip 3: place backups in another directory with GNU sed](https://learnbyexample.github.io/tips/cli-tip-3/) * [Python tip 3: expression and result with f-string](https://learnbyexample.github.io/tips/python-tip-3/) * [Vim tip 1: increment/decrement numbers](https://learnbyexample.github.io/tips/vim-tip-1/) * [CLI tip 2: counting number of matches](https://learnbyexample.github.io/tips/cli-tip-2/) * [Python tip 2: membership operator](https://learnbyexample.github.io/tips/python-tip-2/) * [CLI tip 1: remove metadata from images](https://learnbyexample.github.io/tips/cli-tip-1/) * [Python tip 1: tuple argument for startswith/endswith methods](https://learnbyexample.github.io/tips/python-tip-1/)
## Acknowledgements * This blog has been generated using [zola](https://github.com/getzola/zola) and uses [even theme](https://github.com/getzola/even) (with some changes like link color, header links, etc). * [Warning](https://commons.wikimedia.org/wiki/File:Warning_icon.svg) and [Info](https://commons.wikimedia.org/wiki/File:Info_icon_002.svg) icons by [Amada44](https://commons.wikimedia.org/wiki/User:Amada44) under public domain * [Inkscape](https://inkscape.org/) for favicon * [pngquant](https://pngquant.org/) and [svgcleaner](https://github.com/RazrFalcon/svgcleaner) for optimizing images * See [v1.0 tag](https://github.com/learnbyexample/learnbyexample.github.io/releases/tag/v1.0) for the older version of the blog, which was based on [So Simple Jekyll Theme](https://github.com/mmistakes/so-simple-theme)