aboutsummaryrefslogtreecommitdiff
path: root/public/notes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'public/notes.xml')
-rwxr-xr-xpublic/notes.xml164
1 files changed, 83 insertions, 81 deletions
diff --git a/public/notes.xml b/public/notes.xml
index 1199e20..9c4c65c 100755
--- a/public/notes.xml
+++ b/public/notes.xml
@@ -986,43 +986,6 @@ don't hold back!</li>
986 986
987 987
988 <item> 988 <item>
989 <title>Sane defaults for tmux with more visible statusbar</title>
990 <link>https://mitjafelicijan.com/tmux-sane-defaults.html</link>
991 <pubDate>Thu, 25 May 2023 12:00:00 &#43;0200</pubDate>
992 <guid>https://mitjafelicijan.com/tmux-sane-defaults.html</guid>
993 <description># Remap prefix from &amp;#39;C-b&amp;#39; to &amp;#39;M-a&amp;#39;.</description>
994 <content:encoded>&lt;pre&gt;&lt;code class=&#34;language-conf&#34;&gt;# Remap prefix from &#39;C-b&#39; to &#39;M-a&#39;.
995unbind C-b
996set-option -g prefix M-a
997bind-key M-a send-prefix
998
999# Split panes using | and -.
1000bind | split-window -h
1001bind - split-window -v
1002unbind &#39;&amp;quot;&#39;
1003unbind %
1004
1005# Start counting windows with 1.
1006set-option -g allow-rename on
1007set -g base-index 1
1008setw -g pane-base-index 1
1009
1010# Statusbar: purple bg and white fg.
1011set -g status-bg &#39;#480b8e&#39;
1012set -g status-fg &#39;#ffffff&#39;
1013
1014# Active window: black bg and white fg.
1015set -g window-status-current-format &amp;quot;#[fg=#ffffff]#[bg=#111111]#[fg=#ffffff]#[bg=#111111] #I:#W #[fg=#ffffff]#[bg=#111111]&amp;quot;
1016
1017# Disable mouse mode (tmux 2.1 and above).
1018set -g mouse off
1019&lt;/code&gt;&lt;/pre&gt;
1020</content:encoded>
1021 </item>
1022
1023
1024
1025 <item>
1026 <title>Display xterm color palette</title> 989 <title>Display xterm color palette</title>
1027 <link>https://mitjafelicijan.com/write-iso-usb.html</link> 990 <link>https://mitjafelicijan.com/write-iso-usb.html</link>
1028 <pubDate>Thu, 25 May 2023 12:00:00 &#43;0200</pubDate> 991 <pubDate>Thu, 25 May 2023 12:00:00 &#43;0200</pubDate>
@@ -1109,6 +1072,43 @@ set -g mouse off
1109 1072
1110 1073
1111 <item> 1074 <item>
1075 <title>Sane defaults for tmux with more visible statusbar</title>
1076 <link>https://mitjafelicijan.com/tmux-sane-defaults.html</link>
1077 <pubDate>Thu, 25 May 2023 12:00:00 &#43;0200</pubDate>
1078 <guid>https://mitjafelicijan.com/tmux-sane-defaults.html</guid>
1079 <description># Remap prefix from &amp;#39;C-b&amp;#39; to &amp;#39;M-a&amp;#39;.</description>
1080 <content:encoded>&lt;pre&gt;&lt;code class=&#34;language-conf&#34;&gt;# Remap prefix from &#39;C-b&#39; to &#39;M-a&#39;.
1081unbind C-b
1082set-option -g prefix M-a
1083bind-key M-a send-prefix
1084
1085# Split panes using | and -.
1086bind | split-window -h
1087bind - split-window -v
1088unbind &#39;&amp;quot;&#39;
1089unbind %
1090
1091# Start counting windows with 1.
1092set-option -g allow-rename on
1093set -g base-index 1
1094setw -g pane-base-index 1
1095
1096# Statusbar: purple bg and white fg.
1097set -g status-bg &#39;#480b8e&#39;
1098set -g status-fg &#39;#ffffff&#39;
1099
1100# Active window: black bg and white fg.
1101set -g window-status-current-format &amp;quot;#[fg=#ffffff]#[bg=#111111]#[fg=#ffffff]#[bg=#111111] #I:#W #[fg=#ffffff]#[bg=#111111]&amp;quot;
1102
1103# Disable mouse mode (tmux 2.1 and above).
1104set -g mouse off
1105&lt;/code&gt;&lt;/pre&gt;
1106</content:encoded>
1107 </item>
1108
1109
1110
1111 <item>
1112 <title>My brand new Plan9/9front desktop</title> 1112 <title>My brand new Plan9/9front desktop</title>
1113 <link>https://mitjafelicijan.com/fresh-9front-desktop.html</link> 1113 <link>https://mitjafelicijan.com/fresh-9front-desktop.html</link>
1114 <pubDate>Wed, 24 May 2023 12:00:00 &#43;0200</pubDate> 1114 <pubDate>Wed, 24 May 2023 12:00:00 &#43;0200</pubDate>
@@ -1124,6 +1124,48 @@ my desktop looks like.&lt;/p&gt;
1124 1124
1125 1125
1126 1126
1127
1128
1129 <item>
1130 <title>Parse RSS feeds with Lua</title>
1131 <link>https://mitjafelicijan.com/parse-rss-with-lua.html</link>
1132 <pubDate>Tue, 23 May 2023 12:00:00 &#43;0200</pubDate>
1133 <guid>https://mitjafelicijan.com/parse-rss-with-lua.html</guid>
1134 <description>Example of parsing RSS feeds with Lua.</description>
1135 <content:encoded>&lt;p&gt;Example of parsing RSS feeds with Lua. Before running the script install:&lt;/p&gt;
1136&lt;ul&gt;
1137&lt;li&gt;feedparser with &lt;code&gt;luarocks install feedparser&lt;/code&gt;&lt;/li&gt;
1138&lt;li&gt;luasocket with &lt;code&gt;luarocks install luasocket&lt;/code&gt;&lt;/li&gt;
1139&lt;/ul&gt;
1140&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;&#34;&gt;&lt;code&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; http = require(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;socket.http&amp;#34;&lt;/span&gt;)
1141&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; feedparser = require(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;feedparser&amp;#34;&lt;/span&gt;)
1142&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1143&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; feed_url = &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;https://mitjafelicijan.com/feed.rss&amp;#34;&lt;/span&gt;
1144&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1145&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; response, status, _ = http.request(feed_url)
1146&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;if&lt;/span&gt; status == 200 &lt;span style=&#34;color:#00f&#34;&gt;then&lt;/span&gt;
1147&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; parsed = feedparser.parse(response)
1148&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1149&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;-- Print out feed details.&lt;/span&gt;
1150&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; Title &amp;#34;&lt;/span&gt;, parsed.feed.title)
1151&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; Author &amp;#34;&lt;/span&gt;, parsed.feed.author)
1152&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; ID &amp;#34;&lt;/span&gt;, parsed.feed.id)
1153&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; Entries &amp;#34;&lt;/span&gt;, #parsed.entries)
1154&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1155&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#00f&#34;&gt;for&lt;/span&gt; _, item &lt;span style=&#34;color:#00f&#34;&gt;in&lt;/span&gt; ipairs(parsed.entries) &lt;span style=&#34;color:#00f&#34;&gt;do&lt;/span&gt;
1156&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;GUID &amp;#34;&lt;/span&gt;, item.guid)
1157&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Title &amp;#34;&lt;/span&gt;, item.title)
1158&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Link &amp;#34;&lt;/span&gt;, item.link)
1159&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Summary &amp;#34;&lt;/span&gt;, item.summary)
1160&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#00f&#34;&gt;end&lt;/span&gt;
1161&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;else&lt;/span&gt;
1162&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;! Request failed. Status:&amp;#34;&lt;/span&gt;, status)
1163&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;end&lt;/span&gt;
1164&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content:encoded>
1165 </item>
1166
1167
1168
1127 <item> 1169 <item>
1128 <title>Extend Lua with custom C functions using Clang</title> 1170 <title>Extend Lua with custom C functions using Clang</title>
1129 <link>https://mitjafelicijan.com/extend-lua-with-custom-c.html</link> 1171 <link>https://mitjafelicijan.com/extend-lua-with-custom-c.html</link>
@@ -1175,48 +1217,6 @@ Makefile will need to be modified.&lt;/p&gt;
1175 1217
1176 1218
1177 1219
1178
1179
1180 <item>
1181 <title>Parse RSS feeds with Lua</title>
1182 <link>https://mitjafelicijan.com/parse-rss-with-lua.html</link>
1183 <pubDate>Tue, 23 May 2023 12:00:00 &#43;0200</pubDate>
1184 <guid>https://mitjafelicijan.com/parse-rss-with-lua.html</guid>
1185 <description>Example of parsing RSS feeds with Lua.</description>
1186 <content:encoded>&lt;p&gt;Example of parsing RSS feeds with Lua. Before running the script install:&lt;/p&gt;
1187&lt;ul&gt;
1188&lt;li&gt;feedparser with &lt;code&gt;luarocks install feedparser&lt;/code&gt;&lt;/li&gt;
1189&lt;li&gt;luasocket with &lt;code&gt;luarocks install luasocket&lt;/code&gt;&lt;/li&gt;
1190&lt;/ul&gt;
1191&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#fff;&#34;&gt;&lt;code&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; http = require(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;socket.http&amp;#34;&lt;/span&gt;)
1192&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; feedparser = require(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;feedparser&amp;#34;&lt;/span&gt;)
1193&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1194&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; feed_url = &lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;https://mitjafelicijan.com/feed.rss&amp;#34;&lt;/span&gt;
1195&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1196&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; response, status, _ = http.request(feed_url)
1197&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;if&lt;/span&gt; status == 200 &lt;span style=&#34;color:#00f&#34;&gt;then&lt;/span&gt;
1198&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#00f&#34;&gt;local&lt;/span&gt; parsed = feedparser.parse(response)
1199&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1200&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#008000&#34;&gt;-- Print out feed details.&lt;/span&gt;
1201&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; Title &amp;#34;&lt;/span&gt;, parsed.feed.title)
1202&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; Author &amp;#34;&lt;/span&gt;, parsed.feed.author)
1203&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; ID &amp;#34;&lt;/span&gt;, parsed.feed.id)
1204&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;&amp;gt; Entries &amp;#34;&lt;/span&gt;, #parsed.entries)
1205&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
1206&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#00f&#34;&gt;for&lt;/span&gt; _, item &lt;span style=&#34;color:#00f&#34;&gt;in&lt;/span&gt; ipairs(parsed.entries) &lt;span style=&#34;color:#00f&#34;&gt;do&lt;/span&gt;
1207&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;GUID &amp;#34;&lt;/span&gt;, item.guid)
1208&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Title &amp;#34;&lt;/span&gt;, item.title)
1209&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Link &amp;#34;&lt;/span&gt;, item.link)
1210&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;Summary &amp;#34;&lt;/span&gt;, item.summary)
1211&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#00f&#34;&gt;end&lt;/span&gt;
1212&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;else&lt;/span&gt;
1213&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; print(&lt;span style=&#34;color:#a31515&#34;&gt;&amp;#34;! Request failed. Status:&amp;#34;&lt;/span&gt;, status)
1214&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#00f&#34;&gt;end&lt;/span&gt;
1215&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</content:encoded>
1216 </item>
1217
1218
1219
1220 <item> 1220 <item>
1221 <title>Execute not blocking async shell command in C#</title> 1221 <title>Execute not blocking async shell command in C#</title>
1222 <link>https://mitjafelicijan.com/non-blocking-shell-exec-csharp.html</link> 1222 <link>https://mitjafelicijan.com/non-blocking-shell-exec-csharp.html</link>
@@ -1255,8 +1255,6 @@ in the method that calls &lt;code&gt;executeCopyCommand()&lt;/code&gt;.&lt;/p&gt
1255 1255
1256 1256
1257 1257
1258
1259
1260 <item> 1258 <item>
1261 <title>Change permissions of matching files recursively</title> 1259 <title>Change permissions of matching files recursively</title>
1262 <link>https://mitjafelicijan.com/mass-set-permission.html</link> 1260 <link>https://mitjafelicijan.com/mass-set-permission.html</link>
@@ -1271,6 +1269,8 @@ files matching the pattern. Change &lt;code&gt;&#43;&lt;/code&gt; to &lt;code&gt
1271 1269
1272 1270
1273 1271
1272
1273
1274 <item> 1274 <item>
1275 <title>Previews how man page written in Troff will look like</title> 1275 <title>Previews how man page written in Troff will look like</title>
1276 <link>https://mitjafelicijan.com/preview-troff-man-pages.html</link> 1276 <link>https://mitjafelicijan.com/preview-troff-man-pages.html</link>
@@ -1564,5 +1564,7 @@ You can use whatever you want.&lt;/p&gt;
1564 1564
1565 1565
1566 1566
1567
1568
1567 </channel> 1569 </channel>
1568</rss> 1570</rss>