Skip to content

Commit 7853d46

Browse files
updated vim reference guide announcement post
1 parent 1020ee4 commit 7853d46

File tree

15 files changed

+104
-80
lines changed

15 files changed

+104
-80
lines changed

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ I'm addicted to reading fantasy/sci-fi books, so I have a [blog](https://learnby
66

77
## Posts
88

9+
* [Vim Reference Guide book announcement](https://learnbyexample.github.io/vim-reference-guide-announcement/)
910
* [Linux Command Line Computing book announcement](https://learnbyexample.github.io/linux-command-line-computing-announcement/)
1011
* [Interactive GNU awk tutorial](https://learnbyexample.github.io/interactive-awk-tutorial/)
1112
* [CLI computation with GNU datamash](https://learnbyexample.github.io/cli-computation-gnu-datamash/)
@@ -29,7 +30,6 @@ I'm addicted to reading fantasy/sci-fi books, so I have a [blog](https://learnby
2930
* [Festive deals for books on Python, Linux, JavaScript, Regular Expressions and more](https://learnbyexample.github.io/programming-deals-2022/)
3031
* [Building TUIs with textual: first impressions](https://learnbyexample.github.io/textual-first-impressions/)
3132
* [Python 3.11: possessive quantifiers added to re module](https://learnbyexample.github.io/python-regex-possessive-quantifier/)
32-
* [Vim Reference Guide book announcement](https://learnbyexample.github.io/vim-reference-guide-announcement/)
3333
* [Removing duplicates irrespective of field order](https://learnbyexample.github.io/duplicates-irrespective-field-order/)
3434
* [Automating Excel with Python - book review](https://learnbyexample.github.io/automating-excel-with-python-review/)
3535
* [2021 was a wild ride](https://learnbyexample.github.io/wild-ride-2021/)

Diff for: atom.xml

+89-65
Large diffs are not rendered by default.

Diff for: books/index.html

+1-1
Large diffs are not rendered by default.

Diff for: duplicates-irrespective-field-order/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@
4444
</span><span>hehe bebe
4545
</span><span>tru eblue
4646
</span></code></pre><p>The above solution is similar to the first Python solution with a notable difference. The fields are joined using <code>\034</code> (a non-printing character), which is usually not present in text files.<p>A solution using the field separator instead of <code>\034</code> would look like:<pre class=language-ruby data-lang=ruby style=background-color:#f5f5f5;color:#1f1f1f;><code class=language-ruby data-lang=ruby><span>awk </span><span style=color:#d07711;>'!(($1 FS $2) in seen || ($2 FS $1) in seen); {seen[$1 FS $2]}'
47-
</span></code></pre><br><p><img alt=info src=/images/info.svg> See my <a href=https://github.com/learnbyexample/learn_gnuawk>CLI text processing with GNU awk</a> ebook if you are interested in such one-liners.</div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/python/>#python</a><a href=https://learnbyexample.github.io/tags/gnu-awk/>#gnu-awk</a><a href=https://learnbyexample.github.io/tags/command-line/>#command-line</a><a href=https://learnbyexample.github.io/tags/coding-challenge/>#coding-challenge</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=previous href=https://learnbyexample.github.io/vim-reference-guide-announcement/>← Vim Reference Guide book announcement</a><br><p><a class=next href=https://learnbyexample.github.io/automating-excel-with-python-review/>Automating Excel with Python - book review →</a><br></div><hr color=#e6e6e6><p>📰 Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> ✅ Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> 📧 Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>
47+
</span></code></pre><br><p><img alt=info src=/images/info.svg> See my <a href=https://github.com/learnbyexample/learn_gnuawk>CLI text processing with GNU awk</a> ebook if you are interested in such one-liners.</div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/python/>#python</a><a href=https://learnbyexample.github.io/tags/gnu-awk/>#gnu-awk</a><a href=https://learnbyexample.github.io/tags/command-line/>#command-line</a><a href=https://learnbyexample.github.io/tags/coding-challenge/>#coding-challenge</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=previous href=https://learnbyexample.github.io/python-regex-possessive-quantifier/>← Python 3.11: possessive quantifiers and atomic grouping added to re module</a><br><p><a class=next href=https://learnbyexample.github.io/automating-excel-with-python-review/>Automating Excel with Python - book review →</a><br></div><hr color=#e6e6e6><p>📰 Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> ✅ Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> 📧 Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>

Diff for: index.html

+1-1
Large diffs are not rendered by default.

Diff for: linux-command-line-computing-announcement/index.html

+1-1
Large diffs are not rendered by default.

Diff for: page/2/index.html

+1-1
Large diffs are not rendered by default.

Diff for: page/3/index.html

+1-1
Large diffs are not rendered by default.

Diff for: python-regex-possessive-quantifier/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,4 @@
102102
</span><span style=color:#b3933a;>53.71723825200024
103103
</span><span style=color:#72ab00;>>>> </span><span style=color:#5597d6;>timeit</span><span>(</span><span style=color:#d07711;>'possessive.search(s2)'</span><span>, </span><span style=color:#5597d6;>number</span><span style=color:#72ab00;>=</span><span style=color:#b3933a;>10</span><span>, </span><span style=color:#5597d6;>globals</span><span style=color:#72ab00;>=</span><span style=color:#b39f04;>globals</span><span>())
104104
</span><span style=color:#b3933a;>0.00019008600065717474
105-
</span></code></pre><p><code>(a+|\w+)*:</code> is a silly regex pattern, since it can be rewritten as <code>\w*:</code> which will not suffer from catastrophic backtracking. But this example shows how quantifiers applied to a group with multiple alternatives using quantifiers can lead to explosive results. More such patterns and mitigation strategies can be found in the following links:<ul><li><a href=https://www.rexegg.com/regex-explosive-quantifiers.html>The Explosive Quantifier Trap</a><li><a href=https://www.regular-expressions.info/catastrophic.html>Runaway Regular Expressions: Catastrophic Backtracking</a><li><a href=https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/>Details of the Cloudflare outage on July 2, 2019</a></ul></div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/python/>#python</a><a href=https://learnbyexample.github.io/tags/regular-expressions/>#regular-expressions</a><a href=https://learnbyexample.github.io/tags/possessive-quantifiers/>#possessive-quantifiers</a><a href=https://learnbyexample.github.io/tags/atomic-grouping/>#atomic-grouping</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=previous href=https://learnbyexample.github.io/textual-first-impressions/>← Building TUIs with textual: first impressions</a><br><p><a class=next href=https://learnbyexample.github.io/vim-reference-guide-announcement/>Vim Reference Guide book announcement →</a><br></div><hr color=#e6e6e6><p>📰 Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> ✅ Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> 📧 Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>
105+
</span></code></pre><p><code>(a+|\w+)*:</code> is a silly regex pattern, since it can be rewritten as <code>\w*:</code> which will not suffer from catastrophic backtracking. But this example shows how quantifiers applied to a group with multiple alternatives using quantifiers can lead to explosive results. More such patterns and mitigation strategies can be found in the following links:<ul><li><a href=https://www.rexegg.com/regex-explosive-quantifiers.html>The Explosive Quantifier Trap</a><li><a href=https://www.regular-expressions.info/catastrophic.html>Runaway Regular Expressions: Catastrophic Backtracking</a><li><a href=https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/>Details of the Cloudflare outage on July 2, 2019</a></ul></div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/python/>#python</a><a href=https://learnbyexample.github.io/tags/regular-expressions/>#regular-expressions</a><a href=https://learnbyexample.github.io/tags/possessive-quantifiers/>#possessive-quantifiers</a><a href=https://learnbyexample.github.io/tags/atomic-grouping/>#atomic-grouping</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=previous href=https://learnbyexample.github.io/textual-first-impressions/>← Building TUIs with textual: first impressions</a><br><p><a class=next href=https://learnbyexample.github.io/duplicates-irrespective-field-order/>Removing duplicates irrespective of field order →</a><br></div><hr color=#e6e6e6><p>📰 Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> ✅ Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> 📧 Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>

Diff for: sitemap.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
</url>
2929
<url>
3030
<loc>https://learnbyexample.github.io/books/</loc>
31-
<lastmod>2024-06-07</lastmod>
31+
<lastmod>2024-08-20</lastmod>
3232
</url>
3333
<url>
3434
<loc>https://learnbyexample.github.io/cli-computation-gnu-datamash/</loc>
@@ -883,7 +883,7 @@
883883
</url>
884884
<url>
885885
<loc>https://learnbyexample.github.io/vim-reference-guide-announcement/</loc>
886-
<lastmod>2022-12-21</lastmod>
886+
<lastmod>2024-08-20</lastmod>
887887
</url>
888888
<url>
889889
<loc>https://learnbyexample.github.io/wild-ride-2021/</loc>

Diff for: tags/cheatsheet/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!doctype html><html lang=en><head><meta content="IE=edge" http-equiv=X-UA-Compatible><meta content="text/html; charset=utf-8" http-equiv=content-type><meta content="width=device-width,initial-scale=1.0,maximum-scale=1" name=viewport><title>learnbyexample</title><link href=https://learnbyexample.github.io/atom.xml rel=alternate title=RSS type=application/atom+xml><script src=https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js></script><link href=https://learnbyexample.github.io/site.css rel=stylesheet><meta content=learnbyexample property=og:title><meta content=website property=og:type><meta content="Learn Python, Regex, Linux, Scripting, Vim, Ebooks, Self-Publishing and Interesting Tech Nuggets." property=og:description><meta content=https://learnbyexample.github.io property=og:url><meta content=https://learnbyexample.github.io/images/learnbyexample.png property=og:image><meta content=1280 property=og:image:width><meta content=640 property=og:image:height><meta content=summary_large_image property=twitter:card><meta content=@learn_byexample property=twitter:site><link href=https://learnbyexample.github.io/favicon.svg rel=icon><link rel="shortcut icon" href=https://learnbyexample.github.io/favicon.png><body><div class=container><div class=mobile-navbar id=mobile-navbar><div class=mobile-header-logo><a class=logo href=/>learnbyexample</a></div><div class="mobile-navbar-icon icon-out"><span></span><span></span><span></span></div></div><nav class="mobile-menu slideout-menu slideout-menu-left" id=mobile-menu><ul class=mobile-menu-list><li class=mobile-menu-item><a href=https://learnbyexample.github.io/books> Books </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/mini> Mini </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tips> Tips </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tags> Tags </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/about> About </a></ul></nav><header id=header><div class=logo><a href=https://learnbyexample.github.io>learnbyexample</a></div><nav class=menu><ul><li><a href=https://learnbyexample.github.io/books> Books </a><li><a href=https://learnbyexample.github.io/mini> Mini </a><li><a href=https://learnbyexample.github.io/tips> Tips </a><li><a href=https://learnbyexample.github.io/tags> Tags </a><li><a href=https://learnbyexample.github.io/about> About </a></ul></nav></header><main><div class=content id=mobile-panel><div class=taxonomy><h2>cheatsheet</h2><div class=taxonomy__item><span class=taxonomy__item__time>2022-03-15</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/vim-reference-guide-announcement/>Vim Reference Guide book announcement</a> </span></div><div class=taxonomy__item><span class=taxonomy__item__time>2021-05-31</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/>GNU BRE/ERE cheatsheet and differences between grep, sed and awk</a> </span></div><div class=taxonomy__item><span class=taxonomy__item__time>2020-07-20</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/javascript-regexp-cheatsheet/>JavaScript regular expressions cheatsheet and examples</a> </span></div><div class=taxonomy__item><span class=taxonomy__item__time>2020-07-03</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/python-regex-cheatsheet/>Python regular expression cheatsheet and examples</a> </span></div></div></div></main></div><script src=https://learnbyexample.github.io/even.js></script>
1+
<!doctype html><html lang=en><head><meta content="IE=edge" http-equiv=X-UA-Compatible><meta content="text/html; charset=utf-8" http-equiv=content-type><meta content="width=device-width,initial-scale=1.0,maximum-scale=1" name=viewport><title>learnbyexample</title><link href=https://learnbyexample.github.io/atom.xml rel=alternate title=RSS type=application/atom+xml><script src=https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js></script><link href=https://learnbyexample.github.io/site.css rel=stylesheet><meta content=learnbyexample property=og:title><meta content=website property=og:type><meta content="Learn Python, Regex, Linux, Scripting, Vim, Ebooks, Self-Publishing and Interesting Tech Nuggets." property=og:description><meta content=https://learnbyexample.github.io property=og:url><meta content=https://learnbyexample.github.io/images/learnbyexample.png property=og:image><meta content=1280 property=og:image:width><meta content=640 property=og:image:height><meta content=summary_large_image property=twitter:card><meta content=@learn_byexample property=twitter:site><link href=https://learnbyexample.github.io/favicon.svg rel=icon><link rel="shortcut icon" href=https://learnbyexample.github.io/favicon.png><body><div class=container><div class=mobile-navbar id=mobile-navbar><div class=mobile-header-logo><a class=logo href=/>learnbyexample</a></div><div class="mobile-navbar-icon icon-out"><span></span><span></span><span></span></div></div><nav class="mobile-menu slideout-menu slideout-menu-left" id=mobile-menu><ul class=mobile-menu-list><li class=mobile-menu-item><a href=https://learnbyexample.github.io/books> Books </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/mini> Mini </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tips> Tips </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tags> Tags </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/about> About </a></ul></nav><header id=header><div class=logo><a href=https://learnbyexample.github.io>learnbyexample</a></div><nav class=menu><ul><li><a href=https://learnbyexample.github.io/books> Books </a><li><a href=https://learnbyexample.github.io/mini> Mini </a><li><a href=https://learnbyexample.github.io/tips> Tips </a><li><a href=https://learnbyexample.github.io/tags> Tags </a><li><a href=https://learnbyexample.github.io/about> About </a></ul></nav></header><main><div class=content id=mobile-panel><div class=taxonomy><h2>cheatsheet</h2><div class=taxonomy__item><span class=taxonomy__item__time>2024-08-20</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/vim-reference-guide-announcement/>Vim Reference Guide book announcement</a> </span></div><div class=taxonomy__item><span class=taxonomy__item__time>2021-05-31</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/gnu-bre-ere-cheatsheet/>GNU BRE/ERE cheatsheet and differences between grep, sed and awk</a> </span></div><div class=taxonomy__item><span class=taxonomy__item__time>2020-07-20</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/javascript-regexp-cheatsheet/>JavaScript regular expressions cheatsheet and examples</a> </span></div><div class=taxonomy__item><span class=taxonomy__item__time>2020-07-03</span><span class=taxonomy__item__title> <a href=https://learnbyexample.github.io/python-regex-cheatsheet/>Python regular expression cheatsheet and examples</a> </span></div></div></div></main></div><script src=https://learnbyexample.github.io/even.js></script>

0 commit comments

Comments
 (0)