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

README.md

Lines changed: 1 addition & 1 deletion
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/)

atom.xml

Lines changed: 89 additions & 65 deletions
Large diffs are not rendered by default.

books/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

duplicates-irrespective-field-order/index.html

Lines changed: 1 addition & 1 deletion
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>

index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

linux-command-line-computing-announcement/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

page/2/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

page/3/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

python-regex-possessive-quantifier/index.html

Lines changed: 1 addition & 1 deletion
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>

sitemap.xml

Lines changed: 2 additions & 2 deletions
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>

0 commit comments

Comments
 (0)