{"id":2023,"date":"2022-02-20T11:16:22","date_gmt":"2022-02-20T17:16:22","guid":{"rendered":"http:\/\/ninmonkeys.com\/blog\/?p=2023"},"modified":"2022-03-22T08:54:47","modified_gmt":"2022-03-22T13:54:47","slug":"experiments-answers-of-2022-02","status":"publish","type":"post","link":"https:\/\/ninmonkeys.com\/blog\/2022\/02\/20\/experiments-answers-of-2022-02\/","title":{"rendered":"Experiments \/ Answers of 2022-02"},"content":{"rendered":"\n\n\n<h2>File Selection CLI<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"670\" height=\"734\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/Experiment-with-file-output-summaries-item3-NinLs.png\" alt=\"\" class=\"wp-image-2248\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/Experiment-with-file-output-summaries-item3-NinLs.png 670w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/Experiment-with-file-output-summaries-item3-NinLs-274x300.png 274w\" sizes=\"(max-width: 670px) 100vw, 670px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2>Revisiting <code class=\"\" data-line=\"\">BASH<\/code><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-8.png\" alt=\"\" class=\"wp-image-2244\" width=\"610\" height=\"323\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-8.png 831w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-8-300x159.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-8-768x408.png 768w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><figcaption><code class=\"\" data-line=\"\">echo -e \\\\033[{0..100}mhiworld<\/code><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-9.png\" alt=\"\" class=\"wp-image-2254\" width=\"610\" height=\"488\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-9.png 806w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-9-300x240.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-9-768x615.png 768w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><figcaption>delegating file path queries to <code class=\"\" data-line=\"\">fd<\/code><\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\">&gt; grep -c &#039;.*&#039; -- $(fd -e ps1 -e txt -d 1)   # ext:ps1,txt depth: 1\n\n# using long-names\n&gt; fd --extension ps1 --extension txt --max-depth 1<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"572\" height=\"438\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-10.png\" alt=\"\" class=\"wp-image-2258\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-10.png 572w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-10-300x230.png 300w\" sizes=\"(max-width: 572px) 100vw, 572px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\"># 1] highlight matches in red\n# 2] preserves all lines\n&gt; history | grep --perl-regex --ignore-case --color=always &#039;less|$&#039;\n\n# 3] add paging \n&gt; history | grep --perl-regex --ignore-case --color=always &#039;less|$&#039; | less --raw-control-chars\n\n# 4] View a log \n&gt; less someLog\n\n# 5 start on the last line of a log\n&gt; less +G someLog<\/code><\/pre>\n\n\n\n<p><a href=\"#Bash_Examples\" data-type=\"internal\">See more<\/a><\/p>\n\n\n\n<h2>Detect Valid Values for <code class=\"\" data-line=\"\">gh<\/code>  <code class=\"\" data-line=\"\">--json<\/code>  &#8212; then Fzf filter them<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/screenshot1.gif\" alt=\"\" class=\"wp-image-2239\" width=\"610\" height=\"449\"\/><figcaption><a href=\"https:\/\/github.com\/ninmonkey\/Ninmonkey.Console\/blob\/5b89dea91a8cff988a807f7799d261884cf19b46\/public_autoloader\/Invoke-GHRepoList.ps1\">Ninmonkey.Console\/Invoke-GHRepoList.ps1<\/a><\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powershell\" data-line=\"\">$allProperties ??= _enumerateGhProperty\n$selectedProps = $allProperties\n| Out-Fzf -MultiSelect -Layout reverse -Height 100\n\nInvoke-GhRepoList -prop $selectedProps<\/code><\/pre>\n\n\n\n<h2>PowerApps: Visualize filter in Queries<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"695\" height=\"585\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/PowerApps-\u2510-Query-Previews-Inside-Formulas-2022-02-10-1.gif\" alt=\"\" class=\"wp-image-2025\"\/><\/figure>\n\n\n\n<h2 class=\"source-SO\">Is there a way to add columns Programically to many queries?<\/h2>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" src=\"https:\/\/i.stack.imgur.com\/hcpw3.png\" alt=\"https:\/\/i.stack.imgur.com\/hcpw3.png\" width=\"613\" height=\"435\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/stackoverflow.com\/a\/71167893\/341744\">Labeled Summary of all queries<\/a><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-powerquery\" data-line=\"\">let\n    Source = Record.RemoveFields(\n        #sections[Section1],\n        &quot;AllQueries&quot;, MissingField.Error\n    ),\n    Summary = Record.ToTable( Source ),\n    OnlyTables = Table.SelectRows(\n        Summary, each Value.Is( [Value], Table.Type )\n    ),\n    #&quot;Add Query Id&quot; = Table.AddIndexColumn(OnlyTables, &quot;Query Id&quot;, 0, 1, Int64.Type)\nin\n    #&quot;Add Query Id&quot;<\/code><\/pre>\n\n\n\n<h2>VS<\/h2>\n\n\n\n<h2> Code Syntax Highlighting<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"262\" height=\"210\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-4.png\" alt=\"\" class=\"wp-image-2118\"\/><\/figure>\n\n\n\n<p>when <code class=\"\" data-line=\"\">$null + 3 + 3 = 12<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"535\" height=\"434\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-3.png\" alt=\"\" class=\"wp-image-2117\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-3.png 535w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/03\/image-3-300x243.png 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><figcaption>TM tokens accepts colors in the format <code class=\"\" data-line=\"\">#RRGGBB<\/code> or <code class=\"\" data-line=\"\">#RRGGBBAA<\/code>, you can set <code class=\"\" data-line=\"\">alpha<\/code> to 0%<\/figcaption><\/figure>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-json\" data-line=\"\">{ &quot;editor.tokenColorCustomizations&quot;: {\n    &quot;textMateRules&quot;: [\n    {\n      &quot;name&quot;: &quot;test1&quot;,\n        &quot;scope&quot;: &quot;keyword.operator.assignment.powershell&quot;,\n        &quot;settings&quot;: {\n        &quot;foreground&quot;: &quot;#be85c5&quot;,\n        &quot;foreground&quot;: &quot;#be85c500&quot;,\n        &quot;fontStyle&quot;: &quot;underline&quot;\n        }\n    }\n    ],\n}}<\/code><\/pre>\n\n\n\n<h2>Random Power Query<\/h2>\n\n\n\n<figure class=\"wp-block-gallery alignwide columns-2 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"1002\" height=\"834\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-v2.png\" alt=\"\" data-id=\"2032\" data-full-url=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-v2.png\" data-link=\"https:\/\/ninmonkeys.com\/blog\/2022\/02\/20\/experiments-answers-of-2022-02\/one-or-none-syntax-powerquery-v2\/\" class=\"wp-image-2032\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-v2.png 1002w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-v2-300x250.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-v2-768x639.png 768w\" sizes=\"(max-width: 1002px) 100vw, 1002px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"689\" height=\"523\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-part2-v2.png\" alt=\"\" data-id=\"2033\" data-full-url=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-part2-v2.png\" data-link=\"https:\/\/ninmonkeys.com\/blog\/2022\/02\/20\/experiments-answers-of-2022-02\/one-or-none-syntax-powerquery-part2-v2\/\" class=\"wp-image-2033\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-part2-v2.png 689w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/one-or-none-syntax-powerquery-part2-v2-300x228.png 300w\" sizes=\"(max-width: 689px) 100vw, 689px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<p>Power Query Sugar for selecting distinct filters. If the condition is not true, then it throws an error. <code class=\"\" data-line=\"\">Name = &quot;Orders&quot;<\/code> works because it results in a distinct value from the column <code class=\"\" data-line=\"\">Name<\/code> It&#8217;s valid even though the final query is many records. It&#8217;s the &#8220;distinctness&#8221; of the filter that is required to be true<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"\" data-line=\"\">Source{ [Name = &quot;Orders&quot;, Signature = &quot;table&quot;] }<\/code><\/pre>\n\n\n\n<h2>Random Powershell<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"741\" height=\"285\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/crazy-profile-custom-verb2022-02-12_112237.png\" alt=\"\" class=\"wp-image-2030\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/crazy-profile-custom-verb2022-02-12_112237.png 741w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/crazy-profile-custom-verb2022-02-12_112237-300x115.png 300w\" sizes=\"(max-width: 741px) 100vw, 741px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"681\" height=\"602\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02.dynamicDepth-dirListing.\ud83c\udfa8-02.png\" alt=\"\" class=\"wp-image-2035\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02.dynamicDepth-dirListing.\ud83c\udfa8-02.png 681w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02.dynamicDepth-dirListing.\ud83c\udfa8-02-300x265.png 300w\" sizes=\"(max-width: 681px) 100vw, 681px\" \/><\/figure>\n\n\n\n<h2>Random VS Code<\/h2>\n\n\n\n<figure class=\"wp-block-gallery alignwide columns-3 is-cropped\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"644\" height=\"463\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part2.png\" alt=\"\" data-id=\"2037\" data-full-url=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part2.png\" data-link=\"https:\/\/ninmonkeys.com\/blog\/2022\/02\/20\/experiments-answers-of-2022-02\/2022-02-vscode-new-sidebar-panel-command-part2\/\" class=\"wp-image-2037\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part2.png 644w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part2-300x216.png 300w\" sizes=\"(max-width: 644px) 100vw, 644px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"866\" height=\"573\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command.png\" alt=\"\" data-id=\"2038\" data-full-url=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command.png\" data-link=\"https:\/\/ninmonkeys.com\/blog\/2022\/02\/20\/experiments-answers-of-2022-02\/2022-02-vscode-new-sidebar-panel-command\/\" class=\"wp-image-2038\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command.png 866w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-300x198.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-768x508.png 768w\" sizes=\"(max-width: 866px) 100vw, 866px\" \/><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" width=\"234\" height=\"314\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part3.png\" alt=\"\" data-id=\"2036\" data-full-url=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part3.png\" data-link=\"https:\/\/ninmonkeys.com\/blog\/2022\/02\/20\/experiments-answers-of-2022-02\/2022-02-vscode-new-sidebar-panel-command-part3\/\" class=\"wp-image-2036\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part3.png 234w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/2022-02-vscode-new-sidebar-panel-command-part3-224x300.png 224w\" sizes=\"(max-width: 234px) 100vw, 234px\" \/><\/figure><\/li><\/ul><\/figure>\n\n\n\n<h2>Random CSS \/ Web<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"676\" src=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/z.screenshot-1024x676.png\" alt=\"\" class=\"wp-image-2039\" srcset=\"https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/z.screenshot-1024x676.png 1024w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/z.screenshot-300x198.png 300w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/z.screenshot-768x507.png 768w, https:\/\/ninmonkeys.com\/blog\/wp-content\/uploads\/2022\/02\/z.screenshot.png 1198w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><figcaption><strong><a href=\"https:\/\/gist.github.com\/ninmonkey\/1ee03526bd3850efc8c65ffce3720125\">Regular Expression Engine Comparison.md<\/a><\/strong><\/figcaption><\/figure>\n\n\n\n<p>CSS Column Selectors to modify an existing table<\/p>\n\n\n\n<h2>Refactoring Others Code<\/h2>\n\n\n\n<p><a href=\"https:\/\/gist.github.com\/ninmonkey\/8eb3805012660fc3f0fce86f137fb940\">https:\/\/gist.github.com\/ninmonkey\/8eb3805012660fc3f0fce86f137fb940<\/a><\/p>\n\n\n\n<h2>Bash Examples<\/h2>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-bash\" data-line=\"\"># session\n\n## counting\n| wc --lines\n| wc --bytes\n\n# hide long results\n| tail -n 10\n| head -n 10\n\n| tail --lines=100\n| tail --bytes=2MB\n\n# or instead don&#039;t print to console\n# allow colors, but no other ANSI codes\n| tail -R\n\n# file listings safer to use\n# `ls` output is bad \/ breakable\nfind . -iname &#039;foo*&#039;\nfind . -iname &#039;*.py&#039;\n\n\n# as 1 call ?\nfind . -iname &#039;*.py&#039; -exec stat {} \\;\n# as many   ?\nfind . -iname &#039;*.py&#039; -exec stat {} +\n\n\n# require pattern\n| grep -i &#039;required pattern&#039;\n\n# invert matches\n| grep -iv &#039;not pattern&#039;\n\n# or xargs and with args that have whitespace\n# and\/or exec\n\n# output to file (truncate)\nfoo &gt; bar.log\n\n# append to file\nfoo &gt;&gt; bar.log\n\n# hide errors\nVERIFY\n&gt; someCommand &amp;2&gt;\/dev\/null\n\nhistory | grep &#039;find&#039;\n\n# view in pager, or just a few results\n# too big of file\ngrep &#039;error&#039; apache.log | less +G\ngrep &#039;error&#039; apache.log | tail | less\ngrep &#039;error&#039; apache.log &gt; apache_errors.log\n\ntail apache.log --lines=100 | less +G\ntail apache.log --lines=100 &gt; apache_mini.log\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>File Selection CLI Revisiting BASH See more Detect Valid Values for gh &#8211;json &#8212; then Fzf filter them PowerApps: Visualize filter in Queries Is there a way to add columns Programically to many queries? Labeled Summary of all queries VS Code Syntax Highlighting when $null + 3 + 3 = 12 Random Power Query Power [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[66,72],"tags":[73,6,7,4],"_links":{"self":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts\/2023"}],"collection":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/comments?post=2023"}],"version-history":[{"count":26,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts\/2023\/revisions"}],"predecessor-version":[{"id":2270,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/posts\/2023\/revisions\/2270"}],"wp:attachment":[{"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/media?parent=2023"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/categories?post=2023"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ninmonkeys.com\/blog\/wp-json\/wp\/v2\/tags?post=2023"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}