tag:blogger.com,1999:blog-15601043895641478962024-03-05T05:37:59.321+00:00αβitUnknownnoreply@blogger.comBlogger252125tag:blogger.com,1999:blog-1560104389564147896.post-84950788414430811242023-09-12T00:29:00.001+01:002023-09-12T00:29:18.524+01:00Remove last argument in sh script <p> & pure dash compatible... :)</p><p><a href="https://stackoverflow.com/a/77085263/4876744" target="_blank">https://stackoverflow.com/a/77085263/4876744</a></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-84958147436184757792023-06-20T23:09:00.003+01:002023-06-22T16:09:13.599+01:00* routing process of iptables<p style="text-align: left;"><b>1. Incoming packet:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: N/A (not applicable)</p><p style="text-align: left;">Chain: N/A (not applicable)</p><p style="text-align: left;">Rules: N/A (not applicable)</p><p style="text-align: left;">Description: An incoming packet arrives at a network interface on the system.</p></blockquote><p style="text-align: left;"><b>2. Pre-routing:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: `nat`, `mangle`, `raw`</p><p style="text-align: left;">Chain: `PREROUTING`</p><p style="text-align: left;">Rules: Rules in the `PREROUTING` chain can modify the packet's destination, perform DNAT (Destination NAT) to change the destination address/port, or mark the packet for further processing.</p><p style="text-align: left;">Description: The packet enters the pre-routing stage, where the `PREROUTING` chain is processed. In this chain, you can apply various rules that can modify the packet's destination, perform NAT (Network Address Translation), or mark the packet for further processing.</p></blockquote><p style="text-align: left;"><b>3. Routing decision:</b></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: N/A (not applicable)</p><p style="text-align: left;">Chain: N/A (not applicable)</p><p style="text-align: left;">Rules: N/A (not applicable)</p><p style="text-align: left;">Description: After the pre-routing stage, the routing decision takes place. The system examines the destination IP address of the packet and determines the appropriate outbound interface based on the routing table. This step is handled by the kernel's routing mechanism and not influenced by iptables rules directly. This decision is crucial for forwarding the packet to the correct destination.</p></blockquote><p style="text-align: left;"><b>4. Input processing:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: `filter`, `mangle`</p><p style="text-align: left;">Chain: `INPUT`</p><p style="text-align: left;">Rules: Rules in the `INPUT` chain are applied to packets destined for the local system. These rules can determine whether to accept, drop, or modify the packet based on various criteria like source, destination, protocol, port, etc. This is where packets are processed if they are targeted at the system itself.</p></blockquote><p style="text-align: left;"><b>5. Forwarding:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: `filter`, `mangle`</p><p style="text-align: left;">Chain: `FORWARD`</p><p style="text-align: left;">Rules: Rules in the `FORWARD` chain are applied to packets that are being forwarded to another network interface on the system. These rules can determine whether to accept, drop, or modify the packet based on various criteria like source, destination, protocol, port, connection state, etc.</p><p style="text-align: left;"> - Description: If the packet is destined for another network interface on the system (not the local system itself), it enters the forwarding stage. In the `FORWARD` chain, the packet is processed and matched against rules that determine whether to accept, drop, or modify it.</p></blockquote><p style="text-align: left;"><b>6. Output processing:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: `filter`, `mangle`</p><p style="text-align: left;">Chain: `OUTPUT`</p><p style="text-align: left;">Rules: Rules in the `OUTPUT` chain are applied to packets originating from the local system. These rules can determine whether to accept, drop, or modify the packet based on various criteria like source, destination, protocol, port, etc. This is where packets generated by the system are processed before being sent out.</p></blockquote><p style="text-align: left;"><b>7. Post-routing:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: `nat`, `mangle`, `raw`</p><p style="text-align: left;">Chain: `POSTROUTING`</p><p style="text-align: left;">Rules: Rules in the `POSTROUTING` chain can perform actions like source NAT (SNAT), masquerading, or modify the packet's source address. This is typically used for packets leaving the system to ensure proper addressing and routing.</p><p style="text-align: left;">Description: After the forwarding stage, if the packet is accepted for forwarding, it enters the post-routing stage. In the `POSTROUTING` chain, you can apply rules that perform additional modifications, such as source NAT (SNAT), masquerading, or modifying the packet's source address.</p></blockquote><p style="text-align: left;"><b>8. Outgoing packet:</b><br /></p><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><p style="text-align: left;">Table: N/A (not applicable)</p><p style="text-align: left;">Chain: N/A (not applicable)</p><p style="text-align: left;">Rules: N/A (not applicable)</p><p>Description: The packet, after going through the pre-routing, routing decision, forwarding, output processing, and post-routing stages, is sent out through the appropriate outbound interface based on the routing decision made earlier. It leaves the system and continues its journey through the network.</p></blockquote><p></p><p><b>Order of (table+chain) execution:</b></p><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p style="text-align: left;"><b>1.</b> The packet goes through the `raw` table. Within the `raw` table, the chains are processed in order: `PREROUTING`, `OUTPUT`.</p></blockquote><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p style="text-align: left;"><b>2.</b> The packet goes through the `mangle` table. Within the `mangle` table, the chains are processed in order: `PREROUTING`, `INPUT`, `FORWARD`, `OUTPUT`, `POSTROUTING`.</p></blockquote><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p style="text-align: left;"><b>3.</b> The packet goes through the `nat` table. Within the `nat` table, the chains are processed in order: `PREROUTING`, `INPUT`, `OUTPUT`, `POSTROUTING`.</p></blockquote><blockquote style="border: none; margin: 0 0 0 40px; padding: 0px;"><p style="text-align: left;"><b>4.</b> Finally, the packet goes through the `filter` table. Within the `filter` table, the chains are processed in order: `INPUT`, `FORWARD`, `OUTPUT`.</p></blockquote><p>The `nat+OUTPUT` chain (part of the `nat` table) is processed before the `filter+INPUT` chain (part of the `filter` table). This means that any NAT-related operations in the `nat+OUTPUT` chain, such as source address translation (SNAT), will be applied before the packet reaches the `filter+INPUT` chain for filtering.</p><p>Within the same pair of table and chain, the order of adding rules matters, and the first matching rule takes effect.</p><p>Between different tables, the order of adding rules does not influence the execution order. Rules within each table are processed in their specified order.</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-9191955930016909362023-06-18T01:30:00.001+01:002023-06-18T01:30:09.434+01:00running xmonad in wayland<p> #!/bin/sh</p><p>DISPLAY=${1:-:1} ;</p><p>cage -s -- Xwayland $DISPLAY & Xwayland=$! ;</p><p>export DISPLAY ; </p><p>while ! xhost 2> /dev/null ; do sleep .1 ; done ; </p><p>xmonad ;</p><p>kill $Xwayland ;</p><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-90759288231174601052023-02-07T10:27:00.004+00:002023-02-07T10:27:49.727+00:00Dew point<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMN7STbWK9X77SQKwDZQ0zFb8XInl_tPqUkCZY_ZhSciSLpwQF_VqkvmndzC0-6QsPoJ-5h8FXxs7WcyVRVNIt4-LcekeUtZeubZh90LWcogUoJIJqNFrVUpY7oXoWLVGaCM9h6jFJyAMDyRLdYatns1yZwxARFnMsDW13gSeJ9NxFRECn67J0_IsU/s800/dew-point-chart-compact.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="688" data-original-width="800" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMN7STbWK9X77SQKwDZQ0zFb8XInl_tPqUkCZY_ZhSciSLpwQF_VqkvmndzC0-6QsPoJ-5h8FXxs7WcyVRVNIt4-LcekeUtZeubZh90LWcogUoJIJqNFrVUpY7oXoWLVGaCM9h6jFJyAMDyRLdYatns1yZwxARFnMsDW13gSeJ9NxFRECn67J0_IsU/w200-h172/dew-point-chart-compact.gif" width="200" /></a></div><br /><p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-85117817632872001242021-09-19T16:00:00.007+01:002021-11-01T12:32:30.466+00:00the nice thing about writing you own languages...<p> ... is that one can change the grammar at any time... :)</p><p>and just simplify things a bit more... :)</p><p>what was simple has become simpler... :)</p><p> <a href="https://www.youtube.com/watch?v=nRIiyCWRGTo" target="_blank">https://www.youtube.com/watch?v=nRIiyCWRGTo</a></p><p>noticed the difference?... :)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgwyhjWMyPFOsvuLkrYY4SaQ8jPWQ5SlvYVYf-hDpOsJxk60SzLHHvnhP1g9zdibB2E6wJCB3C7K8rmPkrcMbaGgEiTU9FiVspHu9EIaEE3j_bs9qL9Z4Yu0gkREu6SQBJlcx07t5b_eQ/s858/window.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="858" data-original-width="336" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgwyhjWMyPFOsvuLkrYY4SaQ8jPWQ5SlvYVYf-hDpOsJxk60SzLHHvnhP1g9zdibB2E6wJCB3C7K8rmPkrcMbaGgEiTU9FiVspHu9EIaEE3j_bs9qL9Z4Yu0gkREu6SQBJlcx07t5b_eQ/s320/window.png" width="125" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsJiwL2Z52UhpXuh8ekaOSXCV5wKMFAxG1rBQXxMKl9qb-W4Njz93_dHODgvAX4G24eMadKQW3rlnG4Ia5IHs2Mukk8I95EWgR-Je0BfjT6BTST406LPGHL-OILr2X33AR4xVOXH0pcU8/s893/window.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="893" data-original-width="380" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsJiwL2Z52UhpXuh8ekaOSXCV5wKMFAxG1rBQXxMKl9qb-W4Njz93_dHODgvAX4G24eMadKQW3rlnG4Ia5IHs2Mukk8I95EWgR-Je0BfjT6BTST406LPGHL-OILr2X33AR4xVOXH0pcU8/s320/window.png" width="136" /></a></div><br /><p><br /></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-204294422786312862021-09-18T17:04:00.003+01:002021-09-18T17:04:13.344+01:00a bit of the leafer language grammar draft... :)<p>the grammar used to write leafers... :)</p><p>written in the `chaos' language... :)<br />the one written in the home `planck' language... :)<br />the one written in the core `planck' language... :)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgkb3SaQLYu-X2HM86nPdMIQ_6T4bYW1YMgUR86DjDtMemIXZln0wyzzGUfYLo8AP0ugV4w-dZ4s3JXAKgWV43tX9tF9EjliAyFpukEt5awozQ7FqQbqTAK6DpnwaVacdCRcxVMnd2LAc/s893/window.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="893" data-original-width="383" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgkb3SaQLYu-X2HM86nPdMIQ_6T4bYW1YMgUR86DjDtMemIXZln0wyzzGUfYLo8AP0ugV4w-dZ4s3JXAKgWV43tX9tF9EjliAyFpukEt5awozQ7FqQbqTAK6DpnwaVacdCRcxVMnd2LAc/s320/window.png" width="137" /></a></div><br /> <p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-68341454905149271582021-09-18T16:47:00.005+01:002021-09-18T16:56:36.110+01:00a bit of the leafer language draft... :)<p>used to write leafs... :)</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6u-uFc0NbhqtcNDae6Z6UJXF8hyphenhyphenSu30dGnMrKH0jjajgHmjqKHOa7xIgma38mnGC2-NgqObGDsqFAnCvnTyc5nkbU7l7TOFBBDpb_-FWovrjqlAG3vXWhes6GuYKV-CF7EkZOek7XHlI/s860/window.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="860" data-original-width="393" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6u-uFc0NbhqtcNDae6Z6UJXF8hyphenhyphenSu30dGnMrKH0jjajgHmjqKHOa7xIgma38mnGC2-NgqObGDsqFAnCvnTyc5nkbU7l7TOFBBDpb_-FWovrjqlAG3vXWhes6GuYKV-CF7EkZOek7XHlI/s320/window.png" width="146" /></a></div><br /><p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-45300856739680701802021-09-01T16:41:00.003+01:002021-09-01T16:41:23.963+01:00the code was well writen... :)<p>... yet the the hardware yet is not... :(</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vBtPDH_q5YRexgDJRfYjxy9AlZxhp5IIbl4pf5THR7Aqfqwbk8wblPWl5_mNBDOH6sl9WsG3875YFW4VbcyDozBmKVqT0t8Zy3b5DuPKDVU8tx13ENXDv4aHHoAefBLRcJVLSEG75NI/s1079/window.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="684" data-original-width="1079" height="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_vBtPDH_q5YRexgDJRfYjxy9AlZxhp5IIbl4pf5THR7Aqfqwbk8wblPWl5_mNBDOH6sl9WsG3875YFW4VbcyDozBmKVqT0t8Zy3b5DuPKDVU8tx13ENXDv4aHHoAefBLRcJVLSEG75NI/s320/window.png" width="320" /></a></div><br /> <p></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-76492648303415189542021-08-26T03:14:00.003+01:002021-08-26T03:14:19.508+01:00complain about some missing firmware...<p> mkinitramfs -o /dev/null</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-65887372799939894992021-08-26T01:11:00.005+01:002021-08-26T01:15:08.046+01:00hoops ::: raid device lost partition device...<p> mdadm --manage /dev/md120 --add /dev/sdc2</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-42557183890400500362021-02-26T10:47:00.002+00:002021-03-18T11:19:32.574+00:00brushless motor winding diagram table@ <a href="http://www.bavaria-direct.co.za/info/">http://www.bavaria-direct.co.za/info/</a><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEcP7Wx77oC6XAXabOGWxqJJgQ5S4GDxVSUqMj4PxkRCMGqy0-ckdMgjDOOyOaAvpTPHrfJ4hYdCQpLi5BUTKuK7we5ehWdsL9fGOOWBZdJrDJN6nFAFTyJUjoH5jZBcyYrezeNAyuvHg/s952/Winding_Diagram_Table.jpg" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="673" data-original-width="952" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEcP7Wx77oC6XAXabOGWxqJJgQ5S4GDxVSUqMj4PxkRCMGqy0-ckdMgjDOOyOaAvpTPHrfJ4hYdCQpLi5BUTKuK7we5ehWdsL9fGOOWBZdJrDJN6nFAFTyJUjoH5jZBcyYrezeNAyuvHg/w320-h227/Winding_Diagram_Table.jpg" width="320" /></a></div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-77240569407244823832020-12-04T17:52:00.003+00:002020-12-04T18:01:06.903+00:00setuid reminder<p>"Linux ignores the setuid¹ bit on all interpreted executables (i.e. executables starting with a #! line)."</p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-14650875424916346842020-09-29T17:48:00.007+01:002020-09-29T18:08:19.614+01:00programming us keyboard layout with pt characters<pre>!! ~/.xmodmaprc
!! make AltGr to switch mode
keycode 108 = Mode_switch
!! Programming keys
keycode 34 = bracketleft braceleft parenleft less
keycode 35 = bracketright braceright parenright greater
keycode 18 = 9 parenleft less
keycode 19 = 0 parenright greater degree
!! Acentuação e sinais auxiliares
! A Á À Â Ã Á Â
! E É - Ê - É Ê
! I Í - - - Í À *
! O Ó - Ô Õ Ó Ô
! U Ú - - - Ú Õ *
! C - - - - Ç Ã *
! note: use caps lock to select case.
keycode 38 = a A aacute acircumflex
keycode 26 = e E eacute ecircumflex
keycode 31 = i I iacute agrave
keycode 32 = o O oacute ocircumflex
keycode 30 = u U uacute otilde
keycode 54 = c C ccedilla atilde
!! primeir@ :: º and ª
keycode 48 = quoteright quotedbl masculine ordfeminine
!! « » at < >
keycode 59 = comma less guillemotleft
keycode 60 = period greater guillemotright
!! r R ® ©
keycode 27 = r R registered copyright
!! Superiors
! 1 ! ¹
! 2 @ ²
! 3 # ³
keycode 10 = 1 exclam onesuperior
keycode 11 = 2 at twosuperior
keycode 12 = 3 numbersign threesuperior
!! Currency :: 4 $ € £
keycode 13 = 4 dollar EuroSign sterling
!! αβit
keycode 90 = KP_Insert KP_0 Greek_alpha
keycode 91 = KP_Delete KP_Decimal Greek_beta
</pre>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-16829921685536266372020-09-29T13:30:00.010+01:002020-09-29T18:05:07.938+01:00test if directory is empty ... :)<p><a href="https://stackoverflow.com/questions/91368/checking-from-shell-script-if-a-directory-contains-files">https://stackoverflow.com/questions/91368/checking-from-shell-script-if-a-directory-contains-files</a></p><p><a href="https://superuser.com/questions/352289/bash-scripting-test-for-empty-directory">https://superuser.com/questions/352289/bash-scripting-test-for-empty-directory</a></p><p><a href="https://www.cyberciti.biz/faq/linux-unix-shell-check-if-directory-empty/">https://www.cyberciti.biz/faq/linux-unix-shell-check-if-directory-empty/</a></p><p># ?O.o ... well ::: <a href="https://www.youtube.com/watch?v=8MrNZo_jTtU">dash/bash</a> only... :)</p><pre>[ "`echo *`" = '*' -a "`echo **`" = '**' ] && {
echo has no public files ;
[ "`echo .*`" = '.*' -a "`echo .**`" = '.**' ] &&
echo also has no hidden files, is empty ;
} ;</pre><p># <a href="https://www.youtube.com/watch?v=H6_eqxh-Qok">there it is</a> ... :)</p><p># example of use ... :)</p><pre>cdl () # cd and maybe list
{
local owd="`pwd`" ;
cd "$@" && {
[ "$owd" = "`pwd`" ] ||
# actually changed directory,
[ "`echo *`" = '*' \
-a "`echo **`" = '**' ] ||
# has public files,
{ echo ; .ls ; } # list them.
};
} ;</pre>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-88696633210630312962020-09-24T18:57:00.004+01:002020-09-29T23:37:24.605+01:00keyboard tips...<p>https://wiki.debian.org/Keyboard</p><p>http://xahlee.info/linux/linux_keybinding_index.html</p><p>https://unix.stackexchange.com/questions/249122/why-do-my-xmodmap-binds-involving-altgr-only-work-on-some-keys</p><p>& <a href="https://blog.alphabit.org/2013/01/there-you-go.html">there you go</a> update...</p><p>xmodmap -e 'keycode 108 = Mode_switch' ;</p><div>xmodmap -e "keycode 34=bracketleft braceleft parenleft less"</div><p>xmodmap -e "keycode 35=bracketright braceright parenright greater"</p><div><br /></div>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-59770314245703692232020-09-12T23:48:00.007+01:002020-09-12T23:48:53.723+01:00like x2x<p> <a href="https://github.com/debauchee/barrier/">https://github.com/debauchee/barrier/</a></p>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-20291294522282423982019-12-16T22:49:00.003+00:002019-12-16T22:51:55.765+00:00disable swap(piness)...<a href="https://askubuntu.com/questions/157793/why-is-swap-being-used-even-though-i-have-plenty-of-free-ram" target="_blank">https://askubuntu.com/questions/157793/why-is-swap-being-used-even-though-i-have-plenty-of-free-ram</a><br />
<br />
<a href="https://www.kernel.org/doc/gorman/html/understand/understand014.html" target="_blank">https://www.kernel.org/doc/gorman/html/understand/understand014.html</a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-14933626742726968902019-10-10T11:55:00.001+01:002019-10-11T10:21:44.522+01:00"Style Transfer For Smoke Simulations!"<a href="https://www.youtube.com/watch?v=leoRHsBsv6Q" target="">https://www.youtube.com/watch?v=leoRHsBsv6Q</a><br />
<br />
& extra ::: <a href="https://www.youtube.com/watch?v=x8Fo2slT2WA" target="">https://www.youtube.com/watch?v=x8Fo2slT2WA</a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-58238016247418246472019-10-05T01:36:00.004+01:002019-10-05T01:36:56.825+01:00how proprietary software makes numbers illegal...<a href="https://www.youtube.com/watch?v=wo19Y4tw0l8" target="_blank">https://www.youtube.com/watch?v=wo19Y4tw0l8</a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-41043865375123999062019-10-01T03:02:00.004+01:002019-10-01T03:08:41.689+01:00bumped into zeroshell...<a href="https://zeroshell.org/">https://zeroshell.org/</a><br />
<br />
... thanks to ::: <a href="http://www.orangepi.org/OrangePiR1/">http://www.orangepi.org/OrangePiR1/</a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-37883675035053361172019-09-30T17:54:00.003+01:002019-10-16T11:40:58.847+01:00nix<b>install...</b><br />
<br />
sh <(curl https://nixos.org/nix/install) --no-daemon<br />
<div>
<br />
# <a href="https://nixos.org/nix/manual/#sect-single-user-installation">https://nixos.org/nix/manual/#sect-single-user-installation</a><br />
<br /></div>
<b>change to nixos stable channel... </b>(downgrades nix)<br />
<br />
nix-channel --add https://nixos.org/channels/nixos-19.03 nixpkgs<br />
<div>
<div>
nix-channel --update</div>
</div>
<div>
<div>
nix-env -iA nixpkgs.nix</div>
</div>
<div>
<br />
<b>entering a shell with ghc and necessary packages to compile abxm...</b><br />
<br />
nix-shell -p "haskellPackages.ghcWithPackages (pkgs: with pkgs; [ xmonad xmonad-contrib ])"<br />
<br /></div>
<div>
<b>install development enviroment...</b></div>
<div>
<br /></div>
<div>
mkdir ~/.config/nixpkgs</div>
<div>
echo '{ allowUnfree = true; }' > ~/.config/nixpkgs/config.nix</div>
<div>
<br /></div>
<div>
<div>
nix-env -f '<nixpkgs>' -iA sublime3</nixpkgs></div>
</div>
<div>
<br /></div>
<div>
<div>
## <a href="https://all-hies.cachix.org/">https://all-hies.cachix.org/</a></div>
<div>
<br /></div>
<div>
<div>
nix-env -i cachix</div>
<div>
cachix use all-hies</div>
<div>
<br /></div>
</div>
<div>
# <a href="https://github.com/Infinisil/all-hies">https://github.com/Infinisil/all-hies</a></div>
<div>
## <a href="https://github.com/haskell/haskell-ide-engine#installation-with-nix">https://github.com/haskell/haskell-ide-engine#installation-with-nix</a></div>
<div>
<br /></div>
<div>
<div>
nix-env -iA selection --arg selector 'p: { inherit (p) ghc864; }' -f https://github.com/infinisil/all-hies/tarball/master<br />
<br />
nix-env -i ghc</div>
</div>
<div>
<br /></div>
<div>
<b>configure sublime</b>... (no need, but still testing on that)</div>
<div>
<br /></div>
<div>
# <a href="https://github.com/haskell/haskell-ide-engine#using-hie-with-sublime-text">https://github.com/haskell/haskell-ide-engine#using-hie-with-sublime-text</a><br />
## <a href="https://packagecontrol.io/installation#st3">https://packagecontrol.io/installation#st3</a><br />
<br />
# Tools >> Preferences >> LSP Settings<br />
{<br />
"clients": {<br />
"haskell-ide-engine": {<br />
"command": ["hie"],<br />
"scopes": ["source.haskell"],<br />
"syntaxes": ["Packages/Haskell/Haskell.sublime-syntax"],<br />
"languageId": "haskell",<br />
},<br />
},<br />
}<br />
<br />
<b>other packages...</b><br />
<br />
subllime-merge<br />
icecat<br />
<br />
<b><span style="color: #990000;">possible errors during installs...</span></b></div>
</div>
<br />
Error: cloning builder process: Operation not permitted installing<br />
<div>
<div>
<br /></div>
<div>
<b>solution</b> ::: echo 'sandbox = false' >> .config/nix/nix.conf</div>
</div>
<div>
( maybe undo this after whatever succeeded )</div>
<div>
<a href="https://github.com/NixOS/nix/issues/2632">https://github.com/NixOS/nix/issues/2632</a><br />
<br /></div>
Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-55285245124940914742019-09-28T16:29:00.000+01:002019-09-29T00:29:34.702+01:00javascript speech recognition<a href="https://www.youtube.com/watch?v=gr1FZ2F7KYA" target="">https://www.youtube.com/watch?v=gr1FZ2F7KYA</a><br />
<br />
<a href="https://github.com/ajbogh/norman" target="">https://github.com/ajbogh/norman</a><br />
<br />
& informational bonus...<br />
<br />
<a href="https://www.youtube.com/watch?v=8SkdfdXWYaI" target="">https://www.youtube.com/watch?v=8SkdfdXWYaI</a><br />
<br />
<a href="https://www.youtube.com/watch?v=PMn83GxjDZk" target="">https://www.youtube.com/watch?v=PMn83GxjDZk</a>Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-1181125657799771162019-09-24T09:52:00.000+01:002019-09-24T09:53:03.020+01:00lolz ::: yet another poor historic moment...<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXSjYKw4Au-qd9aaxDKxqXpFmZEZ3Y0WTpZqP2sY4L4vfIBzU_S0E65pZCo2siEto0wlyD4-tN3ZbD1tgtdD69BUkzvuW1WBeMQ2NM-pVAOBFfI0DMKN8nSFMribJRPLVuUg3VUgSCqa0/s1600/window.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="777" data-original-width="960" height="161" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXSjYKw4Au-qd9aaxDKxqXpFmZEZ3Y0WTpZqP2sY4L4vfIBzU_S0E65pZCo2siEto0wlyD4-tN3ZbD1tgtdD69BUkzvuW1WBeMQ2NM-pVAOBFfI0DMKN8nSFMribJRPLVuUg3VUgSCqa0/s200/window.png" width="200" /></a></div>
<br />Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-69555228021676190262019-08-12T15:41:00.002+01:002019-08-12T15:53:00.437+01:00the tablet.rasi for the children's rofi (draft)* {<br />
<span style="white-space: pre;"> </span>font: "Bitstream Vera Sans Mono 12";<br />
<span style="white-space: pre;"> </span>background-color: black;<br />
<span style="white-space: pre;"> </span>foreground-color: white;<br />
<span style="white-space: pre;"> </span>text-color: silver;<br />
}<br />
window {<br />
<span style="white-space: pre;"> </span>border: 1px 5px 5px 1px;<br />
<span style="white-space: pre;"> </span>border-color: gold;<br />
<span style="white-space: pre;"> </span>border-radius: 3px;<br />
<span style="white-space: pre;"> </span>margin: 62px 0px 0px 0px;<br />
<span style="white-space: pre;"> </span>width: 50%;<br />
}<br />
listview {<br />
<span style="white-space: pre;"> </span>cycle: false;<br />
<span style="white-space: pre;"> </span>dynamic: true;<br />
<span style="white-space: pre;"> </span>fixed-height: false;<br />
<span style="white-space: pre;"> </span>lines: 16;<br />
<span style="white-space: pre;"> </span>margin: 7px;<br />
<span style="white-space: pre;"> </span>scrollbar: true;<br />
}<br />
element {<br />
<span style="white-space: pre;"> </span>background-color: #111111;<br />
<span style="white-space: pre;"> </span>margin: 1px;<br />
<span style="white-space: pre;"> </span>padding: 10px 10px;<br />
}<br />
element selected {<br />
<span style="white-space: pre;"> </span>background-color: dimgray;<br />
<span style="white-space: pre;"> </span>text-color: black;<br />
}<br />
element selected.active {<br />
<span style="white-space: pre;"> </span>background-color: white;<br />
<span style="white-space: pre;"> </span>text-color: black;<br />
}<br />
scrollbar {<br />
<span style="white-space: pre;"> </span>handle-color: dimgray;<br />
<span style="white-space: pre;"> </span>handle-width: 64px;<br />
<span style="white-space: pre;"> </span>padding: 0px;<br />
}<br />
inputbar {<br />
<span style="white-space: pre;"> </span>margin: 14px;<br />
}<br />
prompt {<br />
<span style="white-space: pre;"> </span>text-color: gold;<br />
}<br />
<br />
textbox {<br />
<span style="white-space: pre;"> </span>font: "Bitstream Vera Sans Mono 7";<br />
<span style="white-space: pre;"> </span>padding: 5px 20px 5px 20px;<br />
<span style="white-space: pre;"> </span>border: 1px 0px 1px 0px;<br />
<span style="white-space: pre;"> </span>border-color: dimgray;<br />
}Unknownnoreply@blogger.comtag:blogger.com,1999:blog-1560104389564147896.post-37983317133222743302019-08-12T00:52:00.002+01:002019-08-12T19:30:21.488+01:00and it actually works daily... :)yet another run-time fully recompile-able editable x interface... yet just another "<a href="https://www.youtube.com/watch?v=agk2svo7svI" target="_blank">proof of concept</a>"... looks great... and it does work better than it already looks... :) ... feels like ~ ... kind of and editable ide... that also runs other applications... :) ... while someone else still lives in the past... :( ...<br />
<br />
... and lol :: don't download that torrent... worthless quality!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiPMk2JXepq2iKM4Fj1SRKpASb1C4NkvqKdtYhDKkPvqIsFzlv3o_4wrm7rEz5u8pClSGILCN7V5fukIaF4cqvpD66Fdq3LkLUEBoFsS4x6QgGHZpKYf2j7nkdRWlq6cI2xyjq66Z5sBc/s1600/screen.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1067" data-original-width="1600" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiPMk2JXepq2iKM4Fj1SRKpASb1C4NkvqKdtYhDKkPvqIsFzlv3o_4wrm7rEz5u8pClSGILCN7V5fukIaF4cqvpD66Fdq3LkLUEBoFsS4x6QgGHZpKYf2j7nkdRWlq6cI2xyjq66Z5sBc/s200/screen.png" width="200" /></a></div>
Unknownnoreply@blogger.com