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