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 for that as well.
- Interactive Linux CLI Text Processing Exercises
- Festive deals for books on Python, Linux, JavaScript, Regular Expressions and more
- Building TUIs with textual: first impressions
- Computing from the Command Line book announcement
- Sufficiently Advanced AI feels magical
- Python 3.11: possessive quantifiers added to re module
- Vim Reference Guide book announcement
- Removing duplicates irrespective of field order
- Automating Excel with Python - book review
- 2021 was a wild ride
- Counting nested braces
- Improve your Python regex skills with 75 interactive exercises
- Programming deals
- Numeric Palindrome
- Announcing learnbyexample weekly newsletter
- Command line text processing with GNU Coreutils book announcement
- The Indie Python Extravaganza
- Practice Python Projects book announcement
- Escaping madness to get literal field separators in awk
- GNU BRE/ERE cheatsheet and differences between grep, sed and awk
- Paying my bills with 'free' ebooks
- 100 Page Python Intro book announcement
- Multiline fixed string search and replace with cli tools
- Emulating regexp lookarounds in GNU sed
- Search and replace tricks with ripgrep
- I know Python basics, what next?
- Customizing pandoc to generate beautiful pdf and epub from markdown
- JavaScript regular expressions cheatsheet and examples
- Python regular expression cheatsheet and examples
- Example driven book on Python regular expressions
- GNU GREP and RIPGREP
- Creating GUI Applications with wxPython - book review
- Python for maths
- A short and satisfying bug hunt
- Computing from the Command Line: sales report
- Bash compound commands and redirection
- Debug woes 3: matching uppercase alphabets
- Vim Reference Guide: two week sales report
- PyDev of the Week
- Brag post: Hacker News Front Page entries
- Regexp gotcha 1: grouping common portions
- Vim prank: alias vim='vim -y'
- Debug woes 2: unexpected array in replacement string
- Dreaming solutions
- Debug woes 1: multiple substitutions on the same line
- Perl one-liner articles
- Python tip 20: saving and loading json
- Vim tip 18: moving within long lines
- CLI tip 19: extended globs
- Python tip 19: manipulating string case
- Vim tip 17: setting options
- CLI tip 18: inserting file contents using GNU sed
- Python tip 18: arbitrary number of arguments
- Vim tip 16: terminal mode
- CLI tip 17: common and unique lines
- Python tip 17: counting frequency of items
- Vim tip 15: moving within current line
- CLI tip 16: transpose tables
- Python tip 16: delete list elements using index or slice
- Vim tip 14: horizontal and vertical splits
- CLI tip 15: text generation with printf and brace expansion
- Python tip 15: string transliteration
- Vim tip 13: repeat last change
- CLI tip 14: specify permissions during directory creation
- Python tip 14: sequence unpacking
- Vim tip 12: save and restore sessions
- CLI tip 13: join lines of two files based on the first field
- Python tip 13: formatting numbers with underscore separation
- Vim tip 11: replace characters in Normal mode
- CLI tip 12: squeeze empty lines
- Python tip 12: negate a regex grouping
- Vim tip 10: Undo and Redo
- CLI tip 11: longest line length
- Python tip 11: capture external command output
- Vim tip 9: named registers
- CLI tip 10: version sort
- Python tip 10: removeprefix and removesuffix string methods
- Vim tip 8: join lines
- CLI tip 9: awk paragraph mode
- Python tip 9: applying set-like operations for dictionaries
- Vim tip 7: changing case in Normal mode
- CLI tip 8: extract from start of file until matching line
- Python tip 8: dict.fromkeys() method
- Vim tip 6: search word nearest to the cursor
- CLI tip 7: limiting number of filtered lines
- Python tip 7: creating a deepcopy of collections
- Vim tip 5: jumping back and forth in Normal mode
- CLI tip 6: filtering lines based on multiple conditions
- Python tip 6: inplace file editing
- Vim tip 4: reposition current line in Normal mode
- CLI tip 5: aligning columns
- Python tip 5: random choice and sample
- Vim tip 3: autocomplete words and lines in Insert mode
- CLI tip 4: serialize file contents to a single line
- Python tip 4: comparison chaining
- Vim tip 2: indent/unindent lines
- CLI tip 3: place backups in another directory with GNU sed
- Python tip 3: expression and result with f-string
- Vim tip 1: increment/decrement numbers
- CLI tip 2: counting number of matches
- Python tip 2: membership operator
- CLI tip 1: remove metadata from images
- Python tip 1: tuple argument for startswith/endswith methods
- This blog has been generated using zola and uses even theme (with some changes like link color, header links, etc).
- Warning and Info icons by Amada44 under public domain
- Inkscape for favicon
- pngquant and svgcleaner for optimizing images
- See v1.0 tag for the older version of the blog, which was based on So Simple Jekyll Theme