RSS Logo

All posts

For the sake of convenience, all posts concatenated into one document.

Pelo benefício da comodidade, todos os posts reunidos em um único documento.

by Mountaineerbr

#37 - Firefox on Mobile (Android)


Firefox for mobiles worked fine on my mobile phone, an Android 8.1. However, as time passed by, new Firefox (FF) updates made it behave in an unstable manner.

New features were welcome, such as that which allowed to send URLs from my Desktop Firefox to my Mobile Firefox through my Firefox account. For a period of time, sending a tab would not take 10 or 20 seconds before hitting my mobile Firefox or vice-versa. But this feature soon degraded and now it takes hours or even a whole day..

But that is fine really. There is another workflow for sharing URLs which I used for a long time, just fire up my e-mail console and send myself an e-mail with the URL.

However, Firefox for mobile became really weird as updates went on in the last 3 years. One of the first things that really turned me off was that FF would not load a webpage and would show a completely empty page instead. Or, it would load the page all right and suddenly the rendering would brake and the page would go blank.

Some versions ago, FF updates (from Android Google Play Store) made FF to freeze some tabs and sometimes even crash, requiring a restart and closing the affecting tab to prevent freezing as soon as possible.

Now, pages going blank are more rare (but still happens sometimes) but tab freezing and crashing have become rather common and, as I said, sending tabs to other devices take hours so I rarely use it.

FF and Chrome dropped their HTML inspecting tools. Chrome and Opera can at least still view-source: of an URL. As a small web developer, it is great to check out other people HTML code.

This is why I am trying new mobile browser and all of them suck!

There is Opera, which I found to be really fast, sleek and with somewhat an older design that I am used to. Opera 62 did not turn to the Tabbing Madhouses of Firefox 87 and Chrome 89, yet. I don’t like the multiple tabs view of neither FF nor Chrome, because those 3D layouts confuse me. Currently, I use some old glasses and I haven’t got the sharpest vision.

Opera multiple tab view is 2D, scrolls horizontally and pretty much straight forwards. Chrome multiple tabs view is 3D and scrolls vertically, whereas FF has got an alternative 2D layout but has double columns and scrolls vertically, too. FF and Chrome layouts get really confusing because sometimes there are 30 or more open tabs and I am never sure where all the tabs are..

Chrome has gone one step further and enabled a Open Tab in Group function, which predated the Open in New Tab, which I use a lot. Fortunately, there is a way to disable this new functionality and just open links in new tabs..

Recently, with all three browsers open, doing some research using Android multitasking feature which splits the screen in two, I could not find my tab with important text I was studying.. That really blew away my focusing, which in a mobile operating system is much limited, and I had to quit research a couple of times, lost in the middle of a train of thought. Later I discovered that Android multitasking and window overview may not show Firefox window!

I am not sure if that is FF mobile dev team who is screwing the code up or Android code is kind of meant to fuck with other web browser competitors..

I cannot use Opera only because of my FF and Chrome key rings, but I am trying to use it more often (it is already my defaults browser on Android). Also, multitasking on Android requires using more than one web browser, even though Chrome can open tabs in new Windows, FF and Opera generally cannot.

Sometimes I think of just giving up and using Chrome on Android. Sometimes that is the only web browser that will work..

Opera is not a saint and it collects plenty telemetry, so it is not better than FF in that respect, at least.

Another mobile web browser I will be checking out is Vivaldi.

#36 - Firefox on NVIDIA Graphics Card


Using the NVIDIA driver in Linux is quite difficult and it is not so straightforward because it varies depending on what application needs it. Mining Monero was not too difficult but the XMR miner used CUDA and that is another story.

Configuring Firefox to use NVIDIA may be overwhelming option-wise because there are so many unstable outcomes when setting these experimental or unstable options.

NVDIA-related Drivers

Below is a listing of my NVIDIA-related packages on Arch. Packages with * are probably required for this to work, other packages are currently installed but may not be strictly necessary..

Most packages can be easily installed from the official repos, however others may be further configured to use.

For example, bumblebee manual (beware this is not compatible with other methods for using NVIDIA), requires the user to be in the blumblebee group with # gpasswd -a user bumblebee and enabling/starting the service # systemctl enable bumblebeed.service.

bbswitch will work well with bulblebee in switching the card ON and OFF when required, instead of leaving it ON.

That is possible to check if the card state with some commands. Make sure to reboot after installing and configuring these driver packages so far.

% nvidia-smi
[DETAILED CARD STATS] [..PAGED..]

% cat /proc/acpi/bbswitch
0000:01:00.0 ON

% watch -d -t -n1 'cat /proc/acpi/bbswitch'
0000:01:00.0 ON  [..PAGED..]

# tee /proc/acpi/bbswitch <<<OFF
OFF

# tee /proc/acpi/bbswitch <<<ON
ON

Firefox Configuration

With those set, there are two important configurations to be done in Firefox Stable's about:config. The following was taken from Arch Wiki's Firefox#Tweaks and Firefox#Talk.

In about:config, you may want to set one configuration at a time and test:

My current Firefox can only run stably and smoothly (under XFCE and Picom) with only layers.acceleration.force-enabled set, as force enabling the webrender makes my Firefox very buggy and unstable..

Alternative (or additionally, you will need testing) to messing with about:config options, Mozilla Firefox can read various environment variables as options.

Below these variables are presented with verbose commentary. You can find more code commentary in my shell script launcher.

#This content should be clarified
#To enable WebRender on Firefox Stable:
export MOZ_ACCELERATED=1        #same as:`layers.acceleration.force-enabled = true'
#export MOZ_WEBRENDER=1         #same as: `gfx.webrender.all = true'
#https://wiki.archlinux.org/index.php/Talk:Firefox/Tweaks

#Enable OpenGL in `pvkrun' and `primusrun'
#export LD_PRELOAD=/usr/lib/libGL.so
#export ENABLE_PRIMUS_LAYER=1
#https://github.com/felixdoerre/primus_vk
#https://bugs.archlinux.org/task/65250
#https://bbs.archlinux.org/viewtopic.php?id=252257
#`layers.offmainthreadcomposition.enabled' became on by defaults.
#https://www.reddit.com/r/firefox/comments/4j0tzz/what_happened_to/

#Do *not* set if using NVIDIA `primusrun'
export MOZ_OMTC_ENABLED=1
export MOZ_USE_OMTC=1
#https://gist.github.com/yuttie/de097d004499adb984bd

Remember to export your environment variables!

As I said, you may need to try various combinations of options until Firefox is running smoothly, without artifacts, visible button icons and legible menu entries..

Performance test: optirun, primusrun and pvkrun

That is probably a good idea to test which package will run faster. Check performance running either glxgears -info, glxspheres64 or glxspheres32 (the latter for 32 bit systems) from package mesa-demos.

I prefer to run glxspheres64 because it prints the frame rate and buffer size. primusrun and pvkrun used to work a little better than optirun in the past for me, but as those are not working now I am using optirun..

Checking results

Current configuration can be checked at about:support.

Follow instructions from Firefox#Tweaks to check if options are enabled. You can also type CTR+F and search for `Intel' to check whether Intel integrated graphics or `Nvidia' driver is being used as renderer.

Alternatively, some information can be retrieved from test this website.

It is a little time consuming until you get yoru configuration working properly and maybe your system cannot support all features, but they will eventually come the official way and your driver may finally be white-listed for performance improvements by defaults.

As for now, I find it best to launch Firefox with a shell script. My Firefox launcher in XFCE dock and keyboard shortcut in .xbindkeysrc also points to the script.

Linus Torwalds meme, Fuck You NVIDIA
Fig 1. At moments like these we like to remember Mr Torwalds wishes to NVIDIA..

#35 - Removing Google Analytics


Google Analytics is such naughty software. I can't bear it anymore.

Some of the things that annoy me are the data presentation interface, which makes heavy use of java (I suppose and I don't much care). That is extremely slow to load and process the data.

The interface is not very responsive when it is fully loaded, either. It has got a lot of options but most of them don't make a whole lot of sense to me.

It is clear GA does not show the raw data and try to make some specifics obscure. As my website has got little traffic, I can see how badly GA tries to hide me the little data there actually was collected from users!

The CSV spreadsheets are terrible, IMHO.

That is a sure thing GA first collects a whole lot of data from my visitors and only after processing that it shows me some of it in whatever representations GA thinks is better for their webmasters `useds'.

Plus, its interface is very slow to load because it collects data from we, webmasters, as well! There is no limit for whatever garbage data they collect... If GA would only show me what GA sees...

Once I tried a service called matomo, but was wary soon after reading its terms of use. And mind that the only statistics it showed me was a hit counter...

If anyone knows of a clean, simpler and better service, please let me know. Whatever a simple webmaster wants from simple statistics..

I will remove GA scripts from my webpage in the following days. I am still deciding what method (sed -i or perl -pie) and regular expression to use, or whether manually...

As for now, you can check webpage sources, press [CTRL+U] in Firefox or Chrome.

Besides adding GA to the <FOOTER> section of webpages (as opposed to Google recommendation to adding it to the <HEADER> section), I know uBlock can block GA scripts (at least partially) from loading.. GA scripts should not be one of the first things to load in the webpage or at all..

More two bad factors in using these analytics: a) I don't know how many of these `unique' users are not actually myself as I did not set filters to prevent that and b) there were at least three days with intense robot crawlings from various parts of the world. So I reckon most of the data available to me may be garbage at this point.

Google Analytics Data

So, before I just forget about GA, I am downlaoding some of their CSV files. Available data is about the same as that shown to me in GA web console.

In the next table, that is the full data about Location of visitors since my website started using GA about 7 months ago, which is what mostly I wanted to know after the total hit count.

This data appears to have robot attacks filtered out, so I will assume these are reasonable numbers.


Table 1. Google Analytics sumamry data for the period from 01 Sep 2020 to 08 Apr 2021.
Country Users New Users Sessions
Brazil 177 177 398
United States 146 146 231
China 145 145 259
India 73 73 136
Germany 46 46 76
Nigeria 46 46 82
Japan 45 45 72
United Kingdom 44 44 70
Russia 42 42 69
(not set) 50 50 80
Total 1637 1637 2781

If reasonably correct with due reservations, I am quite pleased with the reach of my website for this period.

But as Rob Willians from Ratz would say, who cares about page views [in a personal website]?

Besides GA not collecting data from me and my visitors, pages should load faster.

I removed GA from HTML templates for the blog and podcast, recreated all blog pages and opted by purging the other few HTML files (about 13) manually, so I would not lose vim undoes..

Github history (objects) of this website repo will also be removed..

Vaccine Frustration

Mum got vaccinated when her age group was eligible on Monday.

Today, Wednesday, I tried to bring my aunt, who lives in a close city to my town, to vaccination because her age group would have become eligible.

However, as I had last asked about vaccination on Monday and did not confirm the schedule on Tuesday (yesterday), it was only too late when we arrived at the vaccination center and discovered it had been suspended the previous day..

Even though my aunt really does not live at town, she was born here and always lived at the area. As mum could prove her home is located at town, it all should be OK fr my aunt to have the vaccine, too..

I take the blame for not phoning up the vaccination centre yesterday or even this morning before taking the highway trip.

Politics is terrible in my country. That is mad to turn on the TV or the radio. Pandemics, vaccination and death are the main topics. The president is against lock down and restrictive measures. He confuses everybody! Occasionally some weird news about the president attending unimportant events..

For example, the president does not say pessoas (persons, citizens) cleanly but also mouths pensões (pensions) when talking about the pandemics..

I wonder what he is really at.

Relative numbers about the pandemics and vaccination mark Brazil in bad positions internationally. I see the USA has got too many vaccines in comparison to the rest of the world in absolute numbers. That is not OK, either..

This is a somewhat stressful and frustrating day.. I am having some beer..


PS: even though I removed all GA scripts from my webpages two days ago, today I was checking GA console and another bot attack was recorded yesterday (9 Apr), which I reckon is not possible..

May that be Google injects weyrd numbers itself to confuse and obfuscate real data? It may be possible. I am glad about not using GA anymore..

But that is also possible this last bot attack at least was performed on a copy of my old website.. Cannot discard this possibility.

PPS: Robots are really crazy, at least I feel like something does like my blog.. Once some good YouTube bots left comments. After I mistreated their comments (removed them), they gradually stopped commenting, so I am reasonably sure those were good YouTube bots..

Google Analytics screenshot of bot traffic.
Fig 1. Screenshot of Google Analytics overview console. Click on the image to see screenshot at original size.

#34 - Bitcoin Graph Watch


Produzi este gráfico com os índices da BLX e marcações de pontos de resistência de várias fontes. Penso em vender um pouco do meu hodl quando for a hora pois viso a diversificação de bens (eqüidade) líqüidos, como ações, títulos e cash.


Warning: this is not a financial recommendation. Please DYOR!!!

Yellow bars are clones from the 2014 peak and red bars are from the 2017 peak. I aligned the previous peak of each of these points (2011 and 2014, respectively) to the BLX index candlestick graph.

Horizontal lines I reckon I got from some issue of Bloomber Crypto. That is actually a very good and dependable resource. Bloomberg is always clear when sharing their data analysis of Bitcoin.

I also set Bollinger Bands, as reccomended by Didi Aguiar from DojiStar, a Brazilian analyst. The green support line is a long-term trend line with the first point on September 2015 and the bottom of March 2020.

I reckon we go up from here and I plan to start selling close to or at Max Keiser prediction of 220K Bitcoin this year.

Just selling a portion of my hodl so I can further reinvest in other liquid assets such as stocks, bonds and cash. I am very interested about diversification of my equity, as Ugly Old Goat would say.

This year, I started thinking about my retirement because it will take a long time to prepare for that, so better if I start doing something for it ASAP. There are some great videos of Tyler Jenks on retirement which I will be watching again..

There is also a great investor in Brazil who teaches a lot about a retirement wallets, the great Luiz Barsi.

Bitcoin chart with markings
Fig. 1 BLX index graph with marking I made some weeks ago, horizontal lines were extracted from march 2021 Bloomberg Crypto Outlook.
Bloomberg BTC banner reproduction
Fig 2. Bloomberg Banner, April 2021 issue.

#33 - Podcast #6 - More Tor Configs for Bitcoin Node and SSH


Comentando sobre mais algumas configurações que fiz depois de gravar o último podcast sobre bitcoind. Pretendemos dominar as configurações necessárias para poder retransmitir dados para as redes clearnet e onion do bitcoin.

Também falo sobre uma experiência curta colhendo soja em uma empresa privada, montando um servidorzinho em casa, usar acesso SSH em casa e mais.


Main Topic - More Tor, Router and Bitcoind Configuration

There are some more important tweaks to improve connectivity of bitcoind that I did not talk about in the last audiocast episode. That is because I learned more stuff after that recording which I reckon is worth telling my audiocast listeners and subscribers on YouTube.

I will go through some more configs and comment on them. Basically, we want to build a node which can help synchronisation between clearnet and onion networks.

Also, some more configs are needed to make your IPv4 and IPv6 addresses available to other nodes, so they can connect to your node. When properly configured, the node can listen to requests and listen to inbound connections to rebroadcast mempool transactions, transaction index, blocks, IP and Onion addresses, and so on..

Personally, I use my bitcoin node for retrieving some transaction info and mempool info. I don't use that software as a wallet and my node does not do mining (obviously).

Ultimately, we will make our node available only at the onioin network and keep it synchronised. If there is a need to broadcast own transactions or to help the networks, it is easy to change configs and start listening to other nodes instead of just receiving data.

It is up to the user to choose what configs to set in order to run the node the way he wishes. My public dotfiles have got all options set to run on IPv4, IPv6 and Onion networks.

Secondary Topics

References

ERRATUM

During the podcast, I messed up inbound and outbound connection names.. Outbound connections are connections your node initiates whereas inbound connections are initiated by other nodes when connecting to yours.


PS: Following Tone's advice of using fees no lower than 5 sat/vB, I set my sweep transaction fees to 6.1 and 6.2 sat/vB and within 24 hours they were included in the blockchain during the weekend! Finally, those sweeps are done.. Remember, I have been trying to sweep these wallets with very low fees for almost 4 weeks now..

#32 - First Vaccine Shot (Coronavac)


Levei meu pai para tomar a primeira dose de vacina na minha cidade. Também pegamos uma bula da vacina, a Coronavac do Butantan.


Finally, the age group of my father was eligible to take a vaccine shot against Covid. Here in Brazil, most vaccines are from Butantan Institute. This is a good vaccine, not so powerful as Pfizer's and others but should be the safest of all. This vaccine is made with old and fully-tested technology.

Father was rather anxious about this shot. He doesn't really live in the same town as I do but vaccines for his age group got here earlier so we arranged for him to get his shot here.

That was a fun day. We were just a little worried he would be unable to get the shot but all went well.

Father asked the nurse for a medicine leaflet of then Coronavac vaccine and she gave it to him. I took a photo of it.


Waiting in queue Nurse preparing the shot Nurse applying the shot
Coronavac leaflet (Front) Coronavac leaflet (Back)

Fig. 1 Waiting in the queue (number was 29), taking the shot and the vaccine leaflet.

#31 - Arrgh! Internet Issues


Estava um pouco preocupado que minha brincadeira de configurar uma conexão com a rede do bitcoin pudesse ter atraído olhares de pares ruins, mas nada disso.

Os problemas de internet que tenho sofrendo há duas semanas foram finalmente esclarecidos hoje quando um técnico do provedor de serviço de internet veio até minha casa. Não achou nada anormal com meu router. Falou que outro vizinho estava com o mesmo problema e que eles então iriam fazer manutenção em uma central do meu bairro. Mas os problemas ainda não acabaram..


The internet service provider technician came to my home and checked my local connection and the modem and that was all fine.

There was a huge problem going on with the neighbourhood internet for the past two weeks and only today I was let know about that!

The problemas were a very slow internet connection, specially bas was the upload transmission, and pinging from Linux Shell or even from the router itself (through the tools page), showed a 30% or more packet loss!

I was a little worried when the technician asked to use my laptop to test internet speed and to log in to the router. Maybe he would start typing speedtest for example, and Firefox would suggest him naughty websites starting with suck.. and alike. I don't know why these sort of suggestions pop up sometimes but I told the guy to ignore anything unusual in my computer..

After the guy finished checking the router, he said they would work on hardware maintenance in my area as another neighbour client of mine was having similar issues and noise was detected by another technician guy in one of their distribution equipment about my neighbourhood.

I was a little preoccupied my messing with opening ports and granting access from bitcoin network had attracted attention from bad peers but, alas, that seems to have been just a regular a problem of the internet provider..

The technician did reconfigure my router so now it has got a new SSID and password. The administration login name and its password to access router settings, such as opening ports, also changed and these were not given to me and I forgot to ask. Even though internet speed is nominal now, I had to schedule another technical visit for tomorrow.. Hopefully that will be the last for a long time!


On another note, I am messing about with a tumblelog from John Bokma. It is really a nice micro blog generator and I am using it, with modifications, to present a stand-alone version of podcast episode index.

There is some work left to be done so I am not yet adding any links to it from other pages, but eventually there will be more hints to find it.


Finally, internet is super fast and with the router administrator details in hand port forwarding could be enabled!


Table 1. Ssample of bitcoind connections. That is the output from bitcoin-cli getpeerinfo.
Software version Connection type
/Satoshi:0.18.0/ ipv4
/Satoshi:0.18.1/ onion
/Satoshi:0.21.0/ ipv4
/Satoshi:0.20.1/ ipv4
/Satoshi:0.21.0/ ipv4
/Satoshi:0.21.0/ ipv4
/dsn.tm.kit.edu/bitcoin:0.9.99/ ipv6
/Satoshi:0.21.0/ ipv4
/Satoshi:0.20.1/ ipv4
/Satoshi:0.20.0/ ipv4
/dsn.tm.kit.edu/bitcoin:0.9.99/ ipv6
/bitnodes.io:0.2/ ipv6
/bitnodes.earn.com:0.1/ ipv6
/bitnodes.io:0.2/ ipv6
/Satoshi:0.19.1/ ipv4
/Satoshi:0.21.0/ ipv6
/nodes.multiven.io:0.1/ ipv6
Bitcoind screenshot
Fig. 1 Running bitcoind on clearnet and onion networks with inbound and outbound connections on IPv4 and IPv6. Most onion peers are running an inferior bitcoind versions (Tor v3 vs. v2 incompatibility) so it may be a few days before inbound connections are made with onion peers..

#30 - Podcast #5 - Running a Bitcoin Full Node with Tor


Notas gerais e dicas de montagem de um nó de retransmissão completo que também se conecta à rede Tor. Outros assuntos incluem algumas observações sobre navegadores de internet para o desktop e para o celular, como o Firefox, Chrome e Opera.


Main topic - Bitcoin Full-relay Node

During my hodling, I did various transfers from bitcoin exchanges to private wallets, some of which are legacy type.

That is not a bad idea to have some bitcoins (satoshis, that is) in legacy wallets because some services, for example some bitcoin exchanges, still do not work with segwit addresses..

However, as on-chain transactions are getting expensive (Electrum suggests 8-30 sat/vB or more) to be added to a block quickly, I imagine that will be a heavy fee for hodlers to pay in the future, specially when the network is congested.. So I decided to sweep legacy wallets to segwit wallets, as advised by Andreas Antonopoulos.

In order to broadcast cheap transactions (1-4 sat/virtualByte) to the bitcoin network, I needed to use my full node. I already had all the block and txindex synchronised but I had only tentatively set the defaults 8333 port for outbound connections, which characterises a full-relay node.

Not only that. To prevent one's IP from publicity in the bitcoin network, there is the Tor hidden service which can be activated. The Tor layer prevents most identification problems associated with broadcasting one own transactions and and IP+ports of a full-relay node with a technology named security by obscurity.

Andreas Antonopoulos said those are not much of a problem because one cannot be sure a transaction was originated from a certain node or whether that node relayed them from another node or from the onion network, although there are means someone can use to identify users even under Tor (such as fingerprinting techniques).

I sincerely reckon my little node is not worth the trouble from these hackers.. I am setting up a slow-update Manjaro Linux system which does not come with open ports by defaults (sometimes, I run my node from an Arch Linux machine, too). A Linux system is much more secure than running a node in Windows which contain much exploitable code and is probably infested with virus and other malicious software..

Setting a Tor hidden service is a little hurdle for someone who never set up it before but after all that is not too hard with Bitcoin version 0.21, specially.

I added the following to /etc/tor/torrc: ControlPort 9051, CookieAuthentication 1, CookieAuthFileGroupReadable 1 and DataDirectoryGroupReadable 1. Check this help page.

Bitcoin version 0.21 release adds support for Tor version 3 hidden services, and gossiping them over the network to other peers using BIP155. Version 2 hidden services are still fully supported by Bitcoin Core, but the Tor network will start deprecating them in the coming months.

That is important to note because even if you set everything up correctly, there may be very few onion peers because they may not be using Tor 3 services yet. Also, IPv6 peers are much more rare than IPv4 peers, which is the large majority of peers.

I will leave some generic config which works for me (bitcoin.conf and /etc/tor/torrc) at my github repo. In these files, there are general commentary and references for some config options, as well as setting up a hardware client in the router..

A combination of settings may set the node to work dual-stack in clearnet (IPv4 and IPv6) and onion networks, which is a very important network synchronisation role which few nodes partake..

The following steps are required:

  1. Install bitcoind (so-called bitcoin core) and fully sync the blockchain, transaction index etc..
  2. Configure router to redirect traffic from port 8333 to your machine. This requires setting one's machine MAC address in the router client list and then forwarding of port 8333 to the client.
  3. Setting bitcoin.conf and .torrc configs.
  4. Running tor daemon with the right configs
  5. bitcoind fully synched and properly configured
  6. Be sure your router has got active firewall or/and install a operating system firewall such as ufw. In some cases, installing a firewall in Linux may not be required, DYOR.

Running a node does cost money: hardware, electricity and internet bandwidth. However a full node can run on cheap computers, such as Casa nodes with Raspberry Pi 4, bandwidth may be problem.

bitcoind option maxconnections controls the maximum number of inbound+outbound connections. 10 slots of are reserved for inbound connections and further connections are outbound slots in a maximum of 125 connections by defaults.

Nominally, my contracted speeds are 120 Mbit/s download and 10 Mbit/s upload, However, my connection seems slow and unstable these past few days.. I use to check connection speed with speedtest.

Indeed, I just phoned up my internet provider and internet of home area is under general maintenance. That may explain why I was having horrible internet connection these days and that may not be related to running bitcoind. It does seem my home internet has got a slowdown, so I am checking that with the provider..

However, a note is relevant. If one has got slow internet connection, he may choose to set maxconnections and/or maxuploadtarget to reasonable values.

Someone may check IP addresses of network peers (bitcoin-cli getpeerinfo) against updated geolocation tables to have an idea where other connecting peer nodes are.

Free IP Geolocation APIs

Secondary topics

More references


PS: internet connection problems arose at my house in the last week or so and therefore the podcast episode was uploaded earlier on YouTube than on my blog github repo.. I only was able to upload the podcast episode #5 (~77MB) using a university access point I have got access.

PPS: the original recording of this episode (m4a) got truncated (Input buffer exhausted before END element found). Maybe I forgot to press the END button or the recorder and just pressed PAUSE and closed the app.. I was able to check that with ffprobe which comes bundled with ffmpeg. So I recoded the stream to a new m4a audio file, which should play correctly on all devices now.. Sorry if your podcast has got the original copy instead of the recoded file!

#29 - Sweeping Bitcoin Wallets and Low Fees


Precisando fazer umas operações de varredura (sweeps) em umas carteiras e endereços antigos, achei alguns detalhes sobre o processo de transmissão das transação para os mempools através do meu nodo completo que compartilho aqui.


There are some legacy bitcoin keys which produce vanity addresses, such as 1Bio* made with vanitygen and some legacy wallets made with Electrum which needed to be swept to segwit addresses as transaction fees are doomed to get very high on the main chain as time goes on.

Some time ago, Adreas Antonopoulos said in one of his lectures the best way to do that is to sweep the old wallets. Moving utxos to a single address will reduce the size of the following transactions but sweeping may generate a large transaction (in bytes) because it can contain various unspent outputs. That is why it is a good idea to do sweeps leisurely, with time at hand and aiming for low fees..

I can sync my full node that lives in a USB hard drive with the network. I have got the bitcoind inbound port open to get other nodes to sync with me (including the mempool). I just don't mine nor use bitcoind with my wallets because I rather prefer Electrum to manage them.

I have been trying to set sweeps with small transaction fees, such as 1-6 satoshi/Byte.

Notes on broadcasting transactions from my full node

As many of the readers may be aware, most Electrum mempools will not accept transactions with very low fees and their threshold is much higher than the minimum of 1sat/B as the default relay (broadcasting) fee.

What the reader may not be aware of is about the minimum mempool fee: The amount of system memory allocated for unconfirmed transactions is defined with the option maxmempool. maxmempool defaults to 300MB of RAM. Once the maxmempool-memory is fully used, the lowest-fee transactions are dropped from the nodes mempool and mempoolminfee is increased to reject lower-fee transactions (by 0xB10C).

Transactions may be dropped from the mempool just a few minutes after they are added or until 336 hours (two weeks) or after even longer.

Andreas Antonopoulos said he can get most of his transactions through with 1sat/B fee, so I reckon he keeps broadcasting his transactions through his own node until they are taken in a block or he gives up.

Andreas said that even though transactions marked with the flag Replaceable By Fee (RBF) are less dependable than non-flagged transactions, all of his transactions are marked as RBF. It should not really make much of a difference but if a transaction is not marked as RBF, bitcoind will not just double-spend the same utxo while the old transaction is in your local mempool and will throw out a broadcasting error, whereas RBF transactions are promptly double-spent and the older transaction (conflicting transaction) is removed from the local mempool by bitcoind.

Andreas also remarked that RBF transactions may be replaced by the sender, while Child Pays For Parent (CPFP) transactions are made by the recipient.


I decided to use Electrum to make and sign the sweep transactions and then broadcast them through my own node.

The first time I messed with those sweep transactions, broadcasting a bunch of to my local mempool and soon blockcypher could detect them in various other mempools, too.

After less than 24 hours, no transaction could be found in other mempools by blockcypher, but they still persisted at my local mempool.

After restarting bitcoind-daemon, those old transactions were rebroadcasted from my local node and could be detected by blockcypher again. So if you don't want to rebroadcast old transactions accidentally, be sure to remove mempool.dat before bitcoind starts or setting option persistmempool=0. File mempool.dat is created by dumping mempool data from RAM when bitcoind exits..

To keep rebroadcasting your own transactions, be sure to set a large enough value for maxmempool size so your transactions are not outside mempoolminfee range.

I will keep trying some more experimentations with low transaction fees and broadcasting them from my own node to see how many, if any at all, will be confirmed in the following few days.. So far, only one transaction with feed ~6sat/B got to the blockchain, but that is higher than I want to pay for the other transactions..

Tip: if you are using the clipboard and dealing with private keys, beware not to paste one of them in a block explorer as I did.. Ideally, don't connect your computer to the internet while dealing with private keys. This avoids many problems.

More references

#28 - Wrapping Up: What Happened, Afterall?


I have been thinking since I quit my experience job at that marvellous private company and finally came to tentatively putting the issue to rest.

After talking to an older dear friend who is currently at the 3rd year of agronomic engineering and manages some of his family countryside properties, he told me I probably got dehydrated and felt bad because of that!

Had I understood why I felt so bad during harvest, I could have arranged for better preparation for the following day.

That is unfortunate I did not have the experience or a clear mind nor someone who could had given me tips on the issue that night while I was trying to think hard what had happened and whether it was better to quit (which is what happened!)..

What really happened to my body

Anxiety
One of the older technicians asked me whether I were anxious at lunch time. I reckon anxiety was mainly for: new experience, smoking even less, all other workers were, for one reason or another, different than me and I could not relate more than strictly necessary.
Dehydration
At some point, I was sure there was not enough water for everybody to drink freely, so I took the care to drink less often. Some time after, my supervisor talking to another worker said drinking too much water dehydrates the body because one pees more. That is not true at all, however it is close enough to truth to be funny. Water is a strong diuretic because one pees the more one drinks it, however one will only (perhaps) get more dehydrated than not in case of salt imbalance (too much salt being excreted) because of water excess, but I am not sure overall that would be worse than drinking too little water in the same period of time..
Insolation/Heat Stroke
I did use less than adequate sun screen was not using shades over my eyes, but I was heavily protected by a sun protection hat, gloves, long-sleeved shirt, jeans, and boots.. Heat was intense. I am sure I got a mild to moderate case of heat stroke at some point because I was confused for the rest of the day and part of the following day..
Noise/Vibration Distraught
I was not using the ear protection because I had forgotten it back at the hotel and I did not borrow it from someone on the field because I did not think it would be too bad for just one day. Guess I was wrong about that!

Aggravating factors

What should I have done?

  1. Take a large 5-litre water bottle with me to that trip and to countryside fields so I could drink water freely
  2. Used the ear protection against noise
  3. Used the protection shades over normal glasses (which was at the hotel that day)
  4. Used more sun screen
  5. Worked slower and told my supervisor I could only work so fast
  6. A couple of tips from a friend who lives in countryside and know it from old farm workers: freeze a PET bottle filled with water and carry that frozen PET the next day close to your body. You can also apply the PET with ice on your neck and face at rest times. At about midday, enough water must have melt and you can drink that cold water, then. Also, use a large straw hat and sun screen instead of that Chapéu árabe, which prevents air flow around the neck and head. Thanks, Bozelli!

I actually did reckon my sedentary lifestyle and smoking habits would take their toll on my heart if I worked too hard, even though now I reckon I was just confused and overtought it all..

One point which I am proud of is that I did not drink beer or any kind of alcohol during the work trip, whereas other workers all drank at night during the 3 days we spent together..


protection hat against sun protection hat against sun
Fig. 1 Chapéu árabe (left), which is an Individual Protection Equipment to avoid heat strokes. Cloth layers around the neck may avoid some heat dissipation. Straw hat (right) protects against the sun and allows wind to blow on your face eficiently.

#27 - Quick Notes on the First Job External Trip


Notas rápidas dos primeiros dias de uma viagem a trabalho em que deveria ser feita a colheita manual de várias plantações experimentais..


I was set for a team of external trip about 300Km from the company headquarters. We would manually harvest a big area with many different soy technologies, as the company is focused on genetically engineering strains and will need collect all sorts of information from the soy beans to advance their research further. I should not be very specific about anything because of contractual terms, but will talk broadly because anyone minimally working in this agricultural field will know about these and other routine procedures..

I was happy to do some hard work as the human resources woman had told me it would be.

I was not wrong when we started pulling the plants and I said jokingly that seemed to be the easiest part!

The hard part was carrying all those plants back to the truck and handing them over to the truck boys, so a machinery would process and have the material labeled.

As I was the eldest novice, they would give me a little more hard work and, of course, I wanted to do all the hard working I could so not to leave a bad image..

I had some terrible shortness of breathe, even thought about the possibility of passing out but kept working hard, sometimes I would just sit down on some straw material and catch my breath for a couple of minutes. That worked but I had to do it constantly, and resting 10 minutes was enough to feel comfortable even under the sun.

I actually was working close to the machinery without the ear protection (I had forgotten it back in the hotel!), so the noise must have gotten into my brain.

But also, as I was using a tight mask to avoid breathing dust and particles, coming from an extremely sedentary period of my life and still a smoker (although I am working on reducing and quitting it!), my body obviously would not handle 3 or 4 days of such a hard work.

I sincerely thought I was a little more physically fit than I actually am right now..

At the end of day, we were together talking and having some fun at the hotel and after everyone went to their quarters, I knocked on my supervisor door and told him to end the experience.

In retrospective, I think I should have tried at least one more day without telling my supervisor anything and taking any decision, or should have warned him that I could only work so much instead of asking for the end of the experience period. It was a rather drastic decision and I was too nervous to think with due care and diligence but, then, maybe my performance could become shameful as time would wear on my strength..

I was devastated to leave them without my effort. I arranged to work until lunch time the next day so they would still get some (small) help from me. My supervisor took good care of me and drove me all the way back (unfortunately, I could not simply take a bus back with my own money, which I did insist on many times).. He told and explained many precious things to me during the trip back, for which I am so grateful.

So I am not sure what will happen next. In the worst case scenario, the company will end the contract in the next few days. In the best case, it will assign me a different kind of work which I am able to perform until the contract expires in about 3 weeks.

Don't get me wrong. I liked to work there. I observed everyone and everything. Perhaps I haven't got an elephant memory but did learn a lot. I find their work really amazing and have got the greatest of respect for it. It will eventually generate soy which is cheaper, more productive and efficient for the farmer, and also more nutritious (more protein), cheaper and of higher quality for the end consumer.


After thinking about it over, such a common expression in this field genetics and plant improvement is really just genetics improvement because you can not teach a plant how to use less water, for example. I reckon any distinction is not really necessary unless to (maybe) consider epigenetics heritage.


PS: the company decided to end my experience contract due to the fact my supervisor could not find another department with a vacancy for me. Human resources woman was nice and said something like maybe it will work out better next time/chance!..

PPS: Here is an excellent video sample they sent to the harvest WhatsApp group on the second night.. After this, the younger agronomists became more talkative about women, dates, sex, massage houses and the sort.. Enjoy the best of countryside girls!

Movie icon

#26 - New Job


Falando um pouco do meu novo emprego em uma empresa de Organismos Geneticamente Modificados. Também, penso sobre a oportunidade de experiência deste emprego mas principalmente no meu futuro profissional..


Over one month ago, I distributed curriculum copies to some of the largest companies nearby. Last week, I was contracted!

Today was the first day in my new job. There were long lectures about what exactly we will be doing and work safety. The company works with Genetically Modified Organisms (GMO). That is a temporary contract and I will be harvesting soybeans from experimentation crop fields, which is a little more laborious and requires more care than common harvesting, as the soybeans will be further tested and interbred.

We shall be using heavy machinery (harvesters) and, as it has been raining rather a lot in the last week, manual harvesting as well.

This is a great entry level job for agronomists students and biologists involved with agriculture. A lot of heavy work. In fact, the minimum and necessary education degree is high school.

I reckon I will be happy in the countryside for the duration of the contract (3 months at most) and gaining experience, however I am far from sure I want to keep working there in similar positions for many years to come. Or worse yet, to becoming an executive..

I was very anxious last weekend mulling over thoughts of working in that company for the next 30 or 35 years until I get to retire, so there is some comfort in that this job is but temporary.

Also, my dear friend, Bidia, told me that working an entire life in a company is something of the past, nowadays most jobs last 4, maximum of 5 years..


Table 1. Total profit calculation with discounts.
Distance 29 miles 46Km
Raw Salary $252 R$1463
Food Coupon $49 R$283
Petrol+Oil -$116 -R$676
Highway Toll -$80 -R$468
Total Profit $106 R$602

Even before receiving the job offer call last week, I had started considering seriously about my career as a biologist. I wrote en e-mail to an old technician fellow I met in 2008 when I started graduation to ask for some tips. He is a doctor biologist in limnology and was hired as a de facto biologist in university. Frossard used to work in pisciculture as a limnologist and after that university branch ended, he works more or less like a librarian who works with fish instead of books in a zoology museum.

I wrote a very long e-mail and he wrote a long answer, which I read from start to end at least 3 times so far. He has got an incredible life history and I identified with many parts of it, such as enjoying university campus as though it were an amusement park and the fun of laboratory life..

There is something he told me that may help to decide what profession or job you want for your life: think about what you would have do in 10 years from now..

Not an easy task but hard thinking will eventually prove fruitful. I already have got one idea for starters: a public job.

Thanks, dear Frossard!

Out of the dozen public contests I tried (most of which while I was busy studying financial markets), there were some which deserve mentioning:

There are some other public contests for which I am interested:

With the exception of the biology council, which is 100% a bureaucratic job, others mentioned above offer positions for people to be more in the field. Working in a national park or university seems specially appealing..

As my mum was a public employee and had some good bonuses before going retired, a public position always seemed appealing for me.

But that will be it for today.

#25 - Podcast #4 - Ban, Sending CVs and PMWMT


Separando alguns tópicos para o podcast. Espero conseguir separar mais tópicos que o necessário, escolher os melhores para ver se conseguimos parar o podcast por volta dos 40min..

Tentarei gravar o podcast hoje ainda.. Depois faremos o processamento de áudio pelo aplicativo Dolby On do Android, criaremos o artwork para o feed (com LibreOffice Impress ou Inkscape) e também para o YouTube com o ffmpeg..


Some of the topics I am thinking about for this podcast recording. I may skip some of the smaller topics as the podcast should stop at around the 40min mark, hopefully.

I will try and record the podcast today. Then, need processing the audio in an Android app named Dolby On, generating artworks for the podcast feed (with LibreOffice Impress or Inkscape) and for YouTube (with ffmpeg)..

Topics

Podcast Directories

Notes

Unfortunately, Soundcloud does not fetch episodes from my custom XML feed so I am not available there..

The scripts to generate my blog pages, sitemaps and rss feeds are rather complex at this point. I do not intend to update them very much more, rather I want to stabilise them so I can add content easily later. All processing is done using shell scripting and some blobs written in C, such as tidy, xmlstarlet and xmllint. The scripts take about 40 seconds to process all pages of my blog. In order to make the scripts run a little faster, I could optionally keep cached files for pre-processed content which did not change.

Some More References

Saved for Next Episodes

Making-Of

After recording the podcast from a high cliff on the outskirts of my city and contemplating such beautiful country scenery, I reviewed the podcast recording and then watched some YouTube videos..

When I finally decided to head back home and turned the engine key, the battery was dead.

Mum's car has got an automatic start, therefore I cannot simply pop the clutch to get it rolling.

Fortunately, the car has got insurance. I phoned up the insurance service and asked for an engine start help. They said it would take 75min for the help to reach me.

I waited patiently at the car watching some YouTube films. I tried to start the engine a few times without success.

The car has a terrible software system. A list of bad programming of this car model software is due. For example, when I turn the keys, the radio goes on at the same time as all the lights of the panel alongside the engine spark firing! Also, if I open and then close the car door, the radio and all the panel lights will light up for a moment like an init system is booting up.

If battery is low, the ONIX-model car software does not route energy preferentially for the engine to start.

The insurance guy arose but we had a problem with the address I had given the insurance lady on the phone previously, so I had to update it by phone.

The new phone attendant was very talkative and demanded confirmation of a lot of information and needed to talk to the insurance guy who was already standing besides me.

The insurance woman on the phone was so suspicious and cautious that she took a long time. In the meantime, raining came.

Raining got very strong, the insurance man got into his car and I got into mine but all windows were open.

Finally, the insurance guy gave up talking to the insurance lady on the phone and got wet into the rain trying to charge my car battery.

I was able to pull up the windows but a lot of water got into the car..

#24 - List of Science-Related Confessions


Uma lista rápida de algumas confissões que coletei na internet.


Some quick list of confessions for reading and perhaps get some inspiration.. I read some of them already and they are great!

If you need, get access through paywalls with Sci-Hub.

#23 - Banned from BSD Forums by Said Environmentalists


That is so difficult to be an intelectual!

I was checking out BSD forms because I like BSD and plan(ned) to migrate to BSD someday, so I like to check that out sometimes and see what are the troubles that affect that people..

Today I found a very intriguing thread called Environmentalist, in which there is a pitiful discussion about saving the environment by setting and fine-tuning their BSD system power plan correctly..

I thought the BSD people were sort of alternative people who would care to open their minds to other possibilities. and decided to post a reply to that thread and see if I could shed some light on these complex environmental questions. As it turned out, they are just as inflexible as anyone else, I am afraid. I was banned less than 30 minutes later by allegations of spamming!

I sent an appeal e-mail to accounts@FreeBSD.org and forum-admins@FreeBSD.org. Unfortunately, I do not expect to hear back from them.

The following is a copy of my original reply to that thread. Enjoy!


Hallo guys,

The Sun still warms. There are other forces in Nature which have got a planetary effect. Keep in mind the insignificance of humans in the bigger space scenery. Global forcings include, the Sun by various means, its energy flux and magnetic field strength. Actually, magnetic changes of the Sun fields seem to have a greater effect on Earth than merely Sun's energy flux. Something that is really worrisome is the influx of cosmic rays which are really powerful when coming from out of solar system and are mutagenic, for the worse and for the better, but mostly bad for humans.. Also, The Sun will affect the oceans which are able to have a global effect, too. Still, we can go to smaller scale and point out that volcanoes can change global temperature (albeit for maybe only a short period of time, say months or years).

Why do the forces above can change Earth climate? The Sun has got many cycles, for example one magnetic cycle that lasts 11 years, others that last hundreds of years and others thousand of years.. These cycles all overlap each other, so they are not so easy to identify but possible. Only recently scientists have been questioning what are the effects of the `Galactic Current Sheet', which crosses Earth at about 12K or so years. That is roughly about the same period of time Earth uses to flip poles..

Check Suspicious Observer, however take with a grain of salt his seemingly alarmism sometimes:
Galactic Sheet Impact | Timing the Arrival

The following article is also useful in this specific context:
Solar system approaching the closest position to the galactic core, energetic region altering magnetic fields of the Sun and all planets

There are some recent papers describing what I find most fascinating and is potentially a unifying background for all this discussion is the understanding of `Sun Inertial Motion' (SIM), check Zharkova (she has got some lectures videos on the tubes):
Oscillations of the baseline of solar magnetic field and solar irradiance on a millennial timescale
Or my copy of the article

And also:
One of Zharkova's team website (reply to Suspicious Observer)

These are Milankovich cycles.

Other cycles affect Earth, for example the effects of

The Oceans have got their own cycles, too, some being multidecadal cycles. For example, one Pacific Ocean cycle is 60 years long, so a human that is lucky enough to live a long life may live through Pacific Ocean cycle once, surely less than 2 full cycles at the luckiest possibility for human life experience..

There are also Geologic forces which will change Earth face very quickly even in terms of human life time span. Se this article from Dr. Peet, a great geologist from last century in NYT article:

England is known to being eaten by the ocean (erosion) while primitive regions have a habit of throwing up new islands and some to vanish.

Some parts of Scandiavia have lifted from .45 to .95 meters per century.

The Bavarian Alps have advanced closer to Munich at the rate of a .30 to .91 meters in the course of 100 years.

In other parts of Germany church steeples which were formerly not visible from certain points are beginning to rise above the horizon..

--Europe Shrinks as Earth Cools, (or my copy of the article)

On the other hand, humans have got a very limited experience and power over their surroundings. Whereas rain storms may have a regional impact on the environment (albeit for only a short period of time), humans can only impact local environment such as for example: the city will affect its own environment and its immediate surroundings but as soon as you go farther to country side, city effects soon disappear. I have seem many people trying to extrapolate the very limited power of humans to affect the whole Earth but that is only wishful thinking, as we shall see.

I fear science has become banal. Every one now thinks they are `environmentalists' without the burden to dig deep into Ecology (mostly important perhaps: Island Ecology). They are still very naive about biology and ignore how brutal it has been and still is against human beings.

As Schrodinger warns us:

In the tribunal there sits by the side of the judges a non-jurisprudent assessor- namely our own little self- which finds it distasteful to pass for an automaton.

--Schrodinger, Do Electrons Think?

And also there is no boundary between the living and non-living, meaning we are bound by the same physical laws that govern the entire universe.

Where do you guys live? I saw a comment in this thread of somebody saying:

We are at a point where most people have everything they need

I will not give you a reference but surely you guys should open your eyes to the fact most people in the World have got terrible life conditions and fight against illness, poverty and hunger..

The biggest sustainability problem we have got is Poverty. Get this one right.

#22 - Website Improvements, Shell RSS Feed Generator


Trabalhando com o código do site, melhorando por exemplo, o menu de navegação da página principal do site, e também pensando em como fazer para manter um gerador de distribuição de notícias em RSS..


In the past few days I have been working on my website layout redesign of the main navigation bar. Finally, I am satisfied with the results. The blog proper uses a navigation bar from W3.CSS framework so I will just leave that as it is for now.

I have been sending a lot of curriculums for many private companies and i got no answer back, except one saying I was removed from their selection but would still be in the data bank for another opportunity.. However, the e-mail was for a 3rd-party contractor which omitted the company's name I applied for.. 😐


Cool/inspiring blog generators

I am using my own shell solution to manage my blog and that is working fine, although the code looks big at this point, but I am only doing small modification for improvements as time goes by.

I got inspired by John Bokma's tumblelog scripts that generate an RSS and JSON feeds. A JSON feed is over the top for me at this point, plus RSS feeds are well adopted so I thought I would try and make my own RSS generator script. There is plenty of code I was able to use from my blog.sh shell script, plus I found this nice Stack Overflow thread and decided to go with xmlstarlet, even though it is not too difficult to generate my sitemap.xml file with shell and sed.

I am now trying to understand some more about XML in general.

RSS, Atom and Namespaces

Specs/Standards

RSS 1.0
http://web.resource.org/rss/1.0/spec
RSS 2.0
https://cyber.harvard.edu/rss/rss.html
https://www.rssboard.org/rss-2-0-1-rv-6
Atom
https://www.ietf.org/rfc/rfc4287.txt
https://tools.ietf.org/rfc/rfc4287.txt

Some RSS Feeds

I am studying some RSS feeds from some high-quality people.

I shall clone Richard Stallman RSS feed template, including namespaces define in the XML document, but I will try and avoid using <![[CDATA]]> arrays for pasting HTML code under the item's description tag as in Luke Smith RSS feed.

Although here is the catch, I will not paste unescaped HTML code and will follow Arch RSS feed scheme. Luckily, xmlstarlet can do that escaping for us! Meaning that HTML code will be translated into HTML entities, but that will generate parsing errors if I wrote HTML entities in the raw blog post myself.. Need to think more about this.. Just use <![[CDATA]]> arrays as in Stallman's feed?

I reckon our RSS feed should stay compatible with standards this way but of course it will comply better over time as I adjust it..

I am just not sure if only a brief summary of the blog article or the whole blog article should de added in the RSS feed. Luke Smith does that sloppily because he cannot use all HTML elements, just simple ones such as <p> and <em> according to this reference, so lets see what sort of HTML he injects in his new feed..

Note: Luke has just changed his RSS feed and is using <![[CDATA]]> now.. Indeed, he has been redesigning his whole website recently.

Fig 1. Just like my own RSS feed, Luke's feed is also having some heavy design updates..

The <summary> tag is reserved for the blog posting system, however the way that is planned to be used is to optionally write a summary for each article in a different language other than the post itself (so content can reach a more different visitors that way, even if partially).

That will not do for the RSS feed system, though.. If I cannot include the full blog post content (with the exception of graphics), then I will just head the post content and add that to the RSS feed entry, OR, grep the description metatag of each blog article, which I need always fill manually (for Search Engines) anyway..

Hopefully, there will soon be an RSS feed button in the blog homepage..


It seems that the right way to do this is to use xmlstarlet and comply with its bidding. The following quote made me realise this:

It comes down to this: XML is not a string. Don't treat it as one. Don't use or create tools that treat XML as a string. XML requires a parser - and all conforming parsers will do the right thing in this situation.
--Tomalak

In reality we should not be adding much more than a simple description in the RSS description tag, you can escape some HTML code but xmlstarlet will throw some errors because of strings such as =&gt in URLs, which really should be encoded in the first place but we are not so perfect..

Stallman bypasses that using <![[CDATA]]> array and adding unescaped HTML code, such as URLs, etc to it. Arch New feed translates HTML code tags to HTML entities, which should be treated as proper HTML code by the RSS parser when reading the <![[CDATA]]> field (hopefully)..

Either we can go simple and use xmlstarlet help or we can go nuclear the Stallman's way and use sed to generate our RSS document.

There does not seem to be a single way of encoding data in description in RSS 2.0 as explained in the last references above.


For simple descriptions with few and simple HTML tagging, TrinitronX's answer at Stack Overflow suggests using tidy and transform named entities to numeric entities plus converting HTML to XHTML, which seems to work to inject almost any HTML data in the <description> element.. However, that will fail if you have escaped HTML entities in you HTML codes. Also, xmlstarlet does not care about <![[CDATA]]> tags and will escape/convert all HTML code to entities..

I was considering creating two channels in a single RSS feed, one with just a description of each post and another one with the full content of posts, which is generally more useful.

Instead of using two channels, there is an alternative using Atom namespaces but I don't see any major benefit plus I need studying Atom more..

In case of Atom, you could even provide both in the same feed: a content element for the full content, and a summary element for the excerpt. (I guess other feed formats allows this, too.)
--unor

I installed newsboat, available from the official repos. After configuring it, that seems a really cool cli news aggregator, I recommend it! I am also testing QuiteRSS (GUI, on reconsideration, it is a very impressive reader), Thunderbird add-on evolution-rss (very good!), Firefox add-on Livemarks (rather simple), and RSS Reader (for Android). They all behave in different ways..

I added <link rel="alternate" type="application/rss+xml" title="Biology Blog RSS" href="rss.xml"> to the <header> of index.html to reference the RSS Feed.

After a lot of trying, I decided to go the Stallman way and release two feeds, the Default RSS Feed which shall contain only short descriptions of posts and the Alternative RSS Feed which shall contain full content of posts injected within <![[CDATA]]> arrays (and is bigger in size).


Testing my feeds with newsboat and there seems that some bad or complex HTML code in my posts may make newsboat parser go nuts at times.

As RSS really stands for Really Simple Syndication, and that is so easy to open the full content in a proper (cli) web browser with newsboat and other RSS feed readers, I have decided that the main feed will contain short descriptions of blog post entries and there will be an alternative feed for full content, for those who want it. But I cannot guarantee your news reader will process the alternative feed correctly..

Even though delivering full content by defaults would seem the most useful approach for the visitor, my posts do contain a lot of HTML code and thus really are not supposed to be parsed by the RSS feed reader.. For example, if I wrote posts in markdown, that could easily be converted to simple HTML, encoded appropriately and injected in the RSS feed. When received, it would be parsed correctly by the RSS feed reader.

Another factor involved is size. The short description feed is more than 10 times smaller in size than the full-content feed (16.28KB vs 171.15KB).

If you are subscribed to the main RSS feed already, hopefully there may be some problems on your side when I do the switch. If so, please remove and re-add my feeds.

Specially now that I am also setting proper guids (global identifiers)) to my feeds. Eventually, I will need guids unrelated to my website address to make sure items are unique for podcast items and permanent whenever I move from website host (currently github)!

The feeds should be stable in a matter of few days.. Sorry about any inconvenience while I get all that sorted out..

More references

#21 - Goals and Objectives for 2021


Uma lista e uma análise sobre as metas conquistadas (sem querer) depois do mestrado e planos futuros.


I used to write end-of-year lists of what goals I met and the ones I would pursue in the following year. It has been a long time I have not written one of those.

After completing master's course from university in 2017, I was completely lost. Since about 2006, when I was in high school in Japan, I decided I wanted to graduate in biological sciences and in a master's programme. I would then go back to Japan visit my friends within 7 or 8 years. Graduation took longer than expected and at one point I even thought I would not make it. Master's course went well, did not take longer than expected but I am not able to go back to Japan for a visit.

For a long time I run after these goals and never thought about what I would do once I had reached them. I would like and enjoy it very much to go back to Japan for a visit but I reckon I need earn some good money first as I am getting older.

Other than a generic goal of getting a job with a signed work card (carteira de trabalho assinada), I have not got big dreams or expectations anymore. You see, I went to Japan when I was young with my own efforts to plan the whole trip, so I feel no need to travel the world anymore. Instead, I learnt to like my country more and I wish to stay close to my family, that is all I want right now.

So while I have not got bigger plans, I wish to write some stuff down as an exercise. Maybe I can have a better idea and bigger goals later on.

Goals reached after Master's graduation (unplanned)

  1. Installed Arch Linux
  2. Learned Shell scripting, Bash and Z-Shell
  3. Put my paws on financial markets
  4. Learned money management
  5. Made some good investments

Goals for 2021

A quote from Ugly Old Goat video:

I am fast, I work hard, I party hard and I drink hard.
--Ugly Old Goat

That just means I do things with a lot of passion and effort. I ought add that I study hard, too, and that I am trying to give up on bad habits acquired through hardship of personal problems during university.

I wish all my readers a great 2021! Much Health for everyone!

#20 - Generating Graphs of Covid19 Positivity Rate


I have been making some charts with data from Johns Hopkins University CSSE and Reuters News Agency to check how the number of new cases, recovered and deaths are developing.

I update the charts almost everyday. You can check them at my github repo of covid19 graphs. Unfortunately, I only discussed my opinion about them in one unrelated forum, needed to get those references to put them in my blog sometime.

I have been very curious about another type of graphs, that of positivity. As the amount of test number per day have been variable since the pandemics start, I thought it would be helpful if we could analyse the data taking out such a parameter from the equation (in this case, graphs).

For one thing, we should not be keen to analyse the absolute numbers, as there are so many diverging opinions, such as either numbers are over or underestimated.. So they are not much good. Let's check proportions! By the way, that is a tip from John McAfee, who is currently in jail in Spain #freemcafee).

Experimental charts for Covid19 test positivity

How many percentage points of test results are positive to Covid19? I could not find positivity charts around with long time series, so I decided to make some charts with Brazilian data. Below is my try for charting data from Paraná State reports.


graph made with gnuplot
Fig 1. Positivity graph from data of the state of Paraná. Y-axis for positivity percentage of total tests analysed, X-axis relative date. That is one state with the lowest positivity rate amongst all I could see with this analysis. Data ranges between 03/feb/2020 and 06/dec/2020.

wider graph, same as fig. 1
Fig 2. Same as fig. 1, but we see absolute dates in X-axis. I am not sure how to configure gnuplot to show fewer x-ticks and make them more readable, so that is why it is so wide..

To see charts with data from all states, check my corona virus repo.

Analysing positivity rate is independent on test capacity, meaning it does not matter if there is more testing now than at the pandemics start. Everything can be levelled.

I got the data from SUS OpenData That is not the cleanest data. I extract values for Positive cases and Negative cases with some awking.

After download the csv files, you can check the header line which contains the column keys:

% head -1 dados-pr.csv | tr \; \\n | nl
     1  id
     2  dataNotificacao
     3  dataInicioSintomas
     4  dataNascimento
     5  sintomas
     6  profissionalSaude
     7  cbo
     8  condicoes
     9  estadoTeste
    10  dataTeste
    11  tipoTeste
    12  resultadoTeste
    13  paisOrigem
    14  sexo
    15  estado
    16  estadoIBGE
    17  municipio
    18  municipioIBGE
    19  origem
    20  cnes
    21  estadoNotificacao
    22  estadoNotificacaoIBGE
    23  municipioNotificacao
    24  municipioNotificacaoIBGE
    25  excluido
    26  validado
    27  idade
    28  dataEncerramento
    29  evolucaoCaso
    30  classificacaoFinal

The following shell function was used to calculate positivity. The shell will loop through all csv files given and group results by date.

Some awk conditionals will test values from columns $12 and $30, and will decide if that will be counted as a positive case, a negative case or be ignored. There is no guarantee this analysis is sufficient.

You can check the script with some functions to process the data at my sub repo for covid test positivity studies.

The last step is to generate graphs with gnuplot. I am having some difficulty with the x-ticks dates because gnuplot only accepts numbers by defaults.. May as it be, bear in mind the data start from about February and ends on 24th December.

Interpretation

Well, I have been avoiding interpreting Sars-2-Covid data too hastily, as I am learning a lot in this pandemics from a scientific perspective myself..

But the whole point of making these graphs was to try and see if we could get a reading in which gross number of covid tests applied would not be a variable in time analysis.

My experimentation is very rudimentary. I did not try to improve the filtering of the OpenSUS data very much after the initial effort. However, it is well-known from various news outlets that the number of tests taken per day by patients has increased, generally, but we also know it fluctuates over time, i.e test production capacity has increased since the very beginning of the pandemics, logistics has had occasional setbacks to deal with, and also it seem reasonable that less covid tests were applied when positive cases generally decreased, and vice-versa..

With more diligent work onw can smooth out the variable number of covid tests done per day from chart data and surprising results are to be obtained. All available points from historical data sets ought to be used for the results of such an analysis be clear and meaningful from a long term and wholistic perspective.

#19 - State Governor Response


Semana passada, depois de procurar concursos públicos na minha área de formação e ver que estão em baixa, decidi me oferecer a trabalhar voluntariamente no combate à Covid de um a dois meses. Especialmente, achei que poderia ser útil agora no final do ano, durante as datas comemorativas, visto que muito do pessoal deve tirar férias merecidas.

Mandei uma carta e currículo para várias instituições em São Paulo e algumas no Paraná. Claro, a princípio prefiro trabalhar voluntariamente nas maiores instituições. Recebi algumas respostas, inclusive uma surpreendente do Governador de São Paulo, João Doria.


Last week I was searching for private companies to send in my curriculum vitae. I also checked for public service examinations for a position, however none was found on my area of training.

There are too many stories about people needing a job who send dozens or hundreds CVs and receive no answer, so I prepared to not give up so soon. I actually sent dozens of unrequested CVs to private companies about my city at the end of 2018 and got no replies. Indeed, most companies I sent a copy of my CV may not need a biologist, but that was worth a try. And I am hopeful enough to do that again this year!

In the meantime, that would be a smart move from me to do volunteer work against Covid. My training as a biologist may come in handy. I do not expect to be at the front line of vaccine research or production but maybe I could be useful for something. As a reward, I can add the public institution name I served as a volunteer in my CV later..

It has been almost 4 years since my master's degree and away from the academy. I know teachers and other important people from the academy have got some prejudice towards those away from the academy for so long. I have no plans to take PhD degree nor do I plan on teaching at universities in the foreseeable future. Yet, there is a longing to be back within the science on the making..


I sent some presentation letters and CVs to the biggest public institutions working against Covid, researching and producing the vaccine. Because all my university training was completed in various public, state and federal universities from two states (Paraná and São Paulo), I thought it was almost my duty to help in some way as retribution for all the public money invested on me as a student.

These institutions or people include:

  1. Secretary of State for Health from Paraná (my state)
  2. Secretary of State for Health from São Paulo (neighbour state)
  3. Secretary of State for Health form from São Paulo
  4. Instituto Adolfo Lutz
  5. Instituto Adolfo Lutz public relations department
  6. Butantan Institute
  7. Butantan Institute head directly
  8. São Paulo governor personal e-mail (found on some document on Google)

As a last resort, I may still send an e-mail to one graduation teacher of mine who is currently involved with the Covid programme in my state, as she is a biochemist and immunologist. I took internship under her tuition so she knows that I have been keen onto immunology and molecular biology all along..

I got five responses in total, two of them came in quickly last week. Mostly, they said thanks for the volunteer application and my civility in trying to help our people.


On Monday, this week, I was reading the news and there was an interview from São Paulo governor, reprinted below from the magazine O Antagonista:

Doria defende frente para derrotar Bolsonaro

23.11.20 07:00 [$$ 5]

João Doria defende uma frente ampla para derrotar Jair Bolsonaro em 2022.

Ele disse para o Estadão:

“A frente não deve ser contra Bolsonaro, mas a favor do Brasil. A frente deve reunir o maior número possível de pessoas e pensamentos que estejam dispostos a proteger o Brasil e a população. Comporta o pensamento liberal de centro, que é o que eu pratico, mas comporta também centro-direita, centro-esquerda, aqueles que têm um pensamento mais à esquerda e à direita. Só não caberá o pensamento dos extremistas, até porque os extremistas não querem compartilhar, discutir. Eles querem impor situações ao País, tanto na extrema-esquerda, quanto na extrema-direita. Destes extremos nós temos que ficar longe.”

Sobre Sergio Moro, ele disse:

“Ele deve fazer parte dessa frente. Tem história, biografia e posicionamento. Nunca declarou que era candidato. Sempre teve altivez e grandeza para defender o País, independentemente dos interesses pessoais.”

https://www.oantagonista.com/brasil/doria-defende-frente-para-derrotar-bolsonaro/
(Fetched with a scraper script anta.sh from my GitHub repo)

The governor, João Doria, is talking about politics parties, however as I was sort of expecting a response from him, I read through all the nuances and extracted a message I thought was directed for me.

I read it like so:

If it only depended on me, those who have got loftiness and grandeur to defend the country without personal interests in stand, we want to gather. However, those who are right- and left-extremists and want to impose things to their country, we must avoid.

Maybe I should avoid sending my CV and volunteer letter insistently? That seemed to be a very good tip from Mr Doria. That is useful for not forcing it too much when asking for private jobs, too.

Either I was becoming mad or he really did reply to me via that interview. That would not be so surprising, after all, politics read and hear from a lot of people and they cannot possibly reply to everyone directly. Maybe even unconsciously, he read my e-mail and replied to it somehow.. Humans have got some forms of communication that are not so obvious, but that is subject for another post.

As I read through his answer and that was apparently good, I decided to take it for me, nonetheless.


Letter from the State Governor personal secretary.
Fig 1. Letter sent by the Governor personal secretary with Govt stamps and even a letterhead symbol saying thanks for my being available.

I don't reckon I will be sending any more CVs for volunteer work. If they don't need me within two or three more weeks, I may not be inclined or able to engage in that anymore. While I reckon that may do me very well mentally and physically, I may not be enough mentally stable to engage in that yet. I need focus on private companies and public examination for a fixed position at the local Govt, a city hall job, and also focus on my health.


PS: After answering the Governor secretary e-mail saying I felt happy and honoured by her message to me, I remarked, a little jokingly and good-humored, I would vote on his if he decides to run for president in 2022.

Some days later, there was this another speech from him saying he does not care about elections but the nation! Maybe I was inappropriate? That is appropriate to be concerned about 'responsibilities' and 'service' to the community..

The communication channel through the news feels like it has closed to me now.

"Aqui não há foco em nova eleição, há foco em vacinação", diz Doria

29.11.20 20:04

Ao comemorar a vitória de Bruno Covas, o governador João Doria defendeu o "equilíbrio, o bom senso e a capacidade de gestão".

"Bruno construiu sua vitória com seu programa de governo e sua própria trajetória. Foi meu sucessor e conduziu com eficiência, com foco. Foi brilhante, foi guerreiro, sério e dedicado."

Doria aproveitou para alfinetar Jair Bolsonaro, dizendo que "aqui não tem negacionismo" e que a prioridade será a vacinação. "Aqui não há foco em nova eleição, há foco em vacinação."

https://www.oantagonista.com/brasil/aqui-nao-ha-foco-em-nova-eleicao-ha-foco-em-vacinacao-diz-doria/

#18 - Removing Important Files with `rm -r *'


É fácil demais usar o comando `rm -r *` e destruir todos os seus arquivos importantes. Aqui relato mais um episódio de desventuras com esse comando!


This is not the first time I removed a lot of important files with the command `rm -r *`.

Alone, the rm command does not remove recursively by defaults and may even throw some errors because of not using the -f flag and mixing directories with regular files. However, do notice that apparently innocent shell star glob *. I am not sure if that was z-shell option RM_STAR_WAIT or the rm command itself, but a warning dialog was thrown asking if I wished to remove 25 files?, to which I hit Enter, even though I knew 25 files was not the right sum of number of files.. If I had only noticed I was at the wrong directory..

A glob is a filename generator within the shell and it will be substituted by all file names matching it. The glob is not recursive by defaults, either, but in combination with the -r flag of the rm command that can cause havoc and a lot of time lost at the very least.


To put the story into context, I updated Arch Linux after almost two months without sync'ing. As I synchonise that once a month and last month there was news the just-released Linux 5.9 was not yet compatible with nvidia driver 455.38, I postponed the sync'ing to the following month, which is precisely this month.

With the release of nvidia 455.45 last week, today, I decided to do a first sync with the majority of new packages from a fast Arch Linux mirror in my country. I planned to sync again later with Arch Linux Archive's monthly repo (copy of the 1st of each month), and use that for the following month or so again, and so on.

While in a Linux TTY with Tmux and pacman -Syu running, I decided to go back in Tmux buffer and copy some warning messages. I messed the keypresses and pasted a lot of text while pacman was running post-install hooks..

That is important to mention I did play with the /boot directory (which is in a different partition from /) in my main SSD drive last week while my laptop hardware was at the computer shop for repairing the display hinge mechanism..

I cannot be sure what exactly went wrong with the pacman sync this time but following a reboot systemD printed warnings it could not find a kernel module for vfat and thus would not mount /boot, which is a separate partition.

I thought about following Arch Linux Install Guide and remaking the /boot partition completely, plus I had a backup of its contents of before and after the pacman update, so I thought I would give it a try.

At about the time I had chrooted into my SSD drive with Arch Linux live media, an unrelated repair man who needed finish a job with the house gate from yesterday arrived. I lost a little of concentration at that point.

Plus, mum came to me asking some questions just before I was to remove old /boot files.. I at /boot using vifm before I quit it, and then instead of being at /boot, $PWD was still at /. I am used to automatically changing to the last directory vifm was because of a vifm configuration which did not work when I was chrooted! I did not notice that. I then run `rm -r` with the star glob and pressed Enter twice.

I only noticed the catastroph when rm was issuing warnings it could not remove /proc/something, to which I immediately responded with Ctrl+C. Interestingly, rm did not remove /bin and other non-system directories from /, however it did remove /home before other directories! Yay! =.[

Luckily, I have got backups. However the newest backup seems to be 3 months old. I pushed/forgot to make my last 2 monthly backups, usually made before Arch Linux updates. I have got most of my files and system configs backed up. My scripts, dotfiles and website are up-to-date with GitHub because I sync with that so often.. I did not move much crypto recently and I have got paper backups of that, so that is really fortunate. There are only about 4 files I really lost, some of which are my updated curriculum vitae from last week, and other documents I may rewrite. Other than those, I think I will lose mostly time.

Won't I ever learn?

Obviously I cannot blame nobody except myself for such noob and silly mistakes.. This is not the first time, and that is the second time this year already!

I reckon I am distracted and indisciplined and can improve on these with some effort which I am willing to make. Habits..

This is not the first time I mess up with rm. This is the second occasion I did a mistake just after someone draws my attention, but also on at least two other occasions there was nobody to distract me.

I'm writing this from a backup laptop with Manjaro which has got a complete local copy of official repositories and has not been updated over 10 months! 10 months of no headaches!

Downloading packages for Arch Linux installation in a live media.
Fig 1. The Ethernet port is bad so download of packages is extremely slow (~80 Kbps). Downloading only essential packages with pacstrap. At that point, I had no idea why downloads were so slow..

I don't like Arch Linux moderators as they are sort of a piece of shit. However, not all of them are naughty (I suspect the younger ones are more cruel), and I don't partake guilt in those terrible Arch Forums anymore. Independent as can be from them!

I have been thinking about installing OpenBSD when Arch Linux became unbearable, but hopping distros right now would demand a lot of time there is use for better things at this moment in my life. So, unfortunately, I am just reinstalling Arch again.

I did cheat a little. GPT table and partitions were reused. I formatted all partitions again with GParted from a Xubuntu 18.04 live media.

Partition scheme

  1. sda1 - /efi Bootloader
  2. sda2 - Linux swap
  3. sda3 - / System root
  4. sda4 - /home User directory

Back with the formatted computer

This will become a chronology! Back to using my main laptop (driver). Arch Linux reinstall was not too hard. I had to chroot twice to properly install networking tools. Download of packages was slow as heck. I discovered that the laptop ethernet port is bad. Pacman downlaod speed was ~80 Kbps. I tried changing mirror servers before discovering the ethernet port was to blame..

Once internet was set up properly, configuring Arch went well and quickly. I should remark it was necessary to configure the following with some special care:

Basic system

I am making a list with packages to have installed. The list contains some package groups such as base, base-devel, xfce4, xfce4-goodies, xorg and xorg-apps (beware of xorg-drivers, only install what is/if really needed).

Other packages are required by my current hardware (Intel+NVIDIA).

Most packages enable me with basic functionality for dealing with a lot of file types. For example, for viewing PDF files, I have got xreader, xpdf, gv, pdfgrep and fbgs (from fbida package collection), whereas other PDF tools I have also got pdfarranger, pdfmixtool, pdftricks, pdfmod, poppler, pstotext and gs.

If a package is required by another package, it is probably not in the list, unless it means something to me..

Complete Package List

This package list will be updated often.


Preview of a custom /etc/issue .
Fig 2. Custom /etc/issue template. See for example Arch forum's Artwork and Screenshots thread , Andrevmatos' repo, Arch Wiki Color_output_in_console and ASCII art articles. Run code with echo -e to colour output preview.

I can confirm losing some more important files from within the last 3 months without a backup.. Hopefully I will be able to restore the missing information and files but that will take all day long tomorrow.


One day later..

About 21 hours after accidentaly removing all my important files, I have got a round-working Arch Linux system and restored most of my files. Nothing really important was lost.

That was a breeze to reinstall Arch Linux. I will need updating my backup script because pacman lists did not contain all packages from my older system..

Other times I misused `rm`

In recollection, twice I was using vifm (a command line file manager) with a hack to automatically changing to its last directory on exit. I am modifying that hack for something safer and that will not let me get used to changing directories automatically when exiting vifm.

# ~/.bashrc

#vifm
#record working directory leaving Vifm
vf()
{
        command vifm --choose-dir - "$@" >~/.config/vifm/vifmcd.txt
}
vfcd()
{
        cd "$( <~/.config/vifm/vifmcd.txt )"
}
#https://wiki.vifm.info/index.php?title=How_to_set_shell_working_directory_after_leaving_Vifm

UNIX users ought to think before running a command.

God is in the details.
--Ted Nelson

Fifty-one days later (2021 jan)..

I did it again.. I was testing a script at a dedicated temp directory. I opened many terminal windows at once and was doing too many tests quickly. I opened another terminal window and forgot it was not at the temp directory.

I run rm *.txt~*archInstall* and removed 7 files from $HOME (I was messing with this script).. Fortunately, it only removed some of the .txt files, which I was able to recover all except one and maybe another one may be outdated a little from my last backup in December.

I have been trying to follow a tip from Aurelio Jargas that is to try and always use a glob that more than just *..


Duh! Slaping forehead
Fig 3. I am feeling like Homer Simpson tonight (again).

#17 - Podcast #3 - Auto Analysis, PIX Payments, Bitmex


Notas sobre os assuntos abordados no terceiro episódio do podcast. Lembramos que o áudio dos espisódios do podcast é em bom Português!


Topics

  1. I wrote a long personal analysis and some tips for self analysis in the past few weeks
  2. Good people to follow (Recomendações): Fausto Botelho, Bitconheiros, Dani Edson, Edilson Investimentos Digitais, Tone Vays, Ugly Old Goat (also check his medium blog), Krown's Crypto Cave, Willy Woo, John Bollinger
  3. Brazilian Novadax is my new favorite exchange, see it ranked at CoinGecko tables
  4. Bitmex and the CFCT action; see also Crypto Trading Platform BitMEX ‘Attempted to Evade’ US Regulations
  5. The Brazilian PIX system for instantaneous and 24/7 payments
  6. Andreas Antonopoulos, see his Mastering Bitcoin book; also we talk a little about grondilu's bitcoin-bash-tools and bitcoin core (bitcoin-cli)
  7. Talk about crypto wallets. I use Electrum as wallet and generate some addresses with vanity-gen; also see Samourai Wallet
  8. Are we at a bitcoin topping right now ($18,362.66) ? Probably yes and it is foolish to buy up here
  9. See also fun cartoons (Looney Tunes, Taz Mania, Wile E. Coyote and the Road Runner and Tom & Jerry) at Warner Bros Kids

Saved for next episodes (?) :

Episode quote

An Act

Imagine one act

                was all the Universe

And all Eternity

                was to analyse that


Ideally:

  1. Perfect acts
  2. Good consequences
  3. Beware of madness

Um Ato

Imagine que um ato

                fosse tudo do Universo

Se teria toda a

               Eternidade para

                            Analisá-lo


Idealmente:

  1. Ato perfeito
  2. Consequências boas
  3. Cuidado com a loucura

#16 - Biology for Cynics 0 - Saving the Wrong Species


Com a série Biologia para Cínicos, espero pode apresentar uma visão mais seca e mais dura da realidade da disciplina de ciências, porém mais próxima da relidade do que muitos livros e instituições ensinam por aí.


There are many illusions about biology. I understand that is partly so because commoners are too passionate about Nature. In contrast, professional biologists ought to be cold and rational about Nature, but not all of them are, either.

Today I saw an ad on TV about protecting wildlife, such as birds and other animals of the forest. The ad said Nature does not need us but we (humans) need Nature.

Well, I may disagree.

We are part of Nature, we are the effect of climate and other conditions on Earth which allowed human beings to develop. There is no reason at all to think animals (rational or not) in the universe are alike earthbound ones.

Cities and buildings are also natural. I dislike the word natural because it does not make much sense nor does it make things clearer in a wider analysis. That word is just an umbrella wording (and misused nowadays) but obviously I understand commoners will use that in opposition to man-made stuff.

Why do commoners want to keep all species and avoid any and all species going extinct? That is nonsensical! New species are emerging all the time (why not?) as well as many others are going extinct all the time.

Who can say an older species is better than a new species? And what is better in this case, anyways? Newer species may emerge because environmental conditions changed. Animals usually have a very specific niche or a house in the environment. If their house does not provide conditions, new species will evolve to take that place! There is no vacuum in nature.

Not a few times I have seen reports of sightings of animals long thought to have gone extinct! That kind of news is actually much common if you start noticing them..

New species may eventually be more fit than older ones. Thus, the value for the environment of new versus extinct species may not change at different times (even if environment changes, too). Also, species of a niche may change by random drift, meaning older and newer species are equivalent and that is just by random chance one goes extinct while the other occupies its place. Is that better means more fit? If so, the better for the environment means the more fit species. On the other hand, if better means more useful, humans may be the best, then.

Humans shall prove very useful for maintaining our natural world. When we move from Earth, someday, we will take animals, bacteria and viruses with us to new worlds. In the meantime, humans will strive to keep species which are useful for them, such as cattle, and will keep the ecosystem required by them and by ourselves.

Human relation with the environment will improve over time as humans get more comfortable and have got time to think about other beings. Do not ignore humans fought natural forces all along to avoid being crushed by them. Also, at our modern world, most world population is very very poor and may not even have water or food to keep their health.

Check the environmental curve of Kuznets, which is, unfortunately, badly interpreted by modern biologists because they do not seem to understand that what is pollution for one species is food for others, a cycle.

Plants will actually use sulfur and nitrogen from car and factory exhaust! Phosphorus from smoke can also be used by trees. See for example (a) or (local copy), (b), (c), (d) and (e). That is too bold a claim trees clean the air, as some papers deem, but my point is just trees do use some sulfur, nitrogen and other elements from air pollution for their own benefit. Also note some researches are performed only under laboratory conditions which exacerbate normal pollution levels by a lot, which conclusions may be off from what happens in nature. Carbon is food for photosynthetic organisms as they embody carbon from the atmosphere into their body to grow. That is basic plant physiology. That is actually quite fascinating if you can reckon life is not under our control and life is too pungent and cannot be detained on Earth.

Carbon is funny. More specifically, its bonds with other chemical elements give it extreme flexibility at earthly conditions. I hope to write a little article about how the carbon atom originated life someday but I am still appreciating just how funny an element that is.. Carbon is like Lego® pieces and if you can roll them enough with other elements, they will interact and nucleate into ever more complex pieces and eventually life forms.

If people love life and all species, then they must love the bacteria and viruses, too. Why not? I suspect commoners love some furry animals and their love gets weaker the more genetically apart species are from humans. I cannot blame them!

That is plain there are thousands of other planets supporting life throughout Milk Way. There is no reason to think life on Earth is better or worse than any other life in the universe. In my head, generically, they all have got about the same value. So why humans are so worried about protecting all species on Earth but ourselves? It does not matter at all in the greater scheme of things..

Microorganisms are much more important than animals. The energy flux of the living start with photosynthetic and chemosynthetic life. The frog, the bird, the lion.. They are not more important than photosynthetic life so why do commoners want to protect organisms that matter the least to Earth environment? The frog, the bird, the lion and humans may get extinct and it will not matter much or for long to our ecosystems. New species will promptly take their place as long as the basal energy availability is intact. Over time, even complex body schemes may evolve from single cell organisms but more complex or rational life may not necessarily develop.

#15 - Moved on



Space with various visible galaxies
Fig 1. Hubble eXtreme Deep Field. Thousands of galaxies are seen when Hubble pointed its camera to an unseemingly dark spot in the space. Local copy of image here. (credit: Hubble Space Telescope)

#14 - Podcast Première and Episode #2 - Various Subjects


Notas sobre alguns assuntos que discorreremos no primeiro podcast que pretendemos estreiar no final do mês (ou um pouco antes). O podcast será em português, apesar que a maioria das notas de pauta estão em inglês (alguns links de notícias em português). O podcast também será postado no meu canal do youtube. Assuntos não abordados neste podcast serão reservados para os próximos episódios.


Notes about some subjects I am planning on talking about in the podcast premiere. The podcast will be in Portuguese however most notes are in English below. This podcast will also be posted at my youtube channel and is expect to go on air by the end of the month. Subjects not met in this episode will be saved for the next ones.

See the podcast index here (currently at the blog portal).

Podcast première

General notices
About youtube and podcast content frequency.
BBC's podcast 'What Planet Are We On' with David Attenborough
The interviewer tried to start the conversation with hope but I am not sure Sir Attenborough managed to to inspire her very much. Also noteworthy how other people on the beginning of the podcasts already forecast grievance only.
Prince William and Sir David Attenborough join forces on 'Earthshot' prize
Grants worth £50m until 2030, which is about R$360.7m total.
The best and most innovative ideas to help:
  • Protect and restore nature
  • Clean our air
  • Revive our oceans
  • Build a waste-free world
  • •Fix our climate
Attenborough: 'Curb excess capitalism' to save nature
Sir Attenborough says he is not an economist, which is fine IMHO, however nothing stands in the way of his learning some of that. When he says we need to curb capitalism, what does that really mean? That does not mean anything. Beware of vague expressions.
Netflix is accused of 'eco-tragedy porn' in Attenborough documentary (2019)
Usage of drones instead of narrow-angle lenses to film walruses made them afraid and led them to falling off a cliff. Note that the polar bear which was at the scene is only partly to blame for the tragedy. If no drones were around, probably walruses would not just fall off the cliff.
UN World Food Programme wins 2020 Nobel Peace Prize, as hunger mounts
Hunger is really worrying. Perhaps total world production of food is enough for all human beings, however there is a big problem with distributions systems. There are not enough distribution. We need more roads to take food (and fuel and technology) to those who live in very difficult places to access and cheap fuel.
Nobel Peace Prize: UN World Food Programme wins for efforts to combat hunger
Número de famintos vai quase dobrar este ano, preveem ganhadores do Nobel
World Food Program Awarded 2020 Nobel Peace Prize
Mosaic expedition logs from Polarstern
Comments on the almost year-long transpolar-turned-peripolar expedition of Mosaic on the German ice breaker Polarstern. A copy of the forum thread in plain formatted txt can be found here. The Mosaic expedition tried to follow the steps of the Nansen's Fram expedition (1893–1896), which aimed to reaching the geographical North Pole.
This article says Mosaic Polarstern reached geographical North Pole, however the forum logs say closest approach to North Pole was 166.3 km, information from post on February 26th from young ice. After the originally planned floe was abandoned during the covid pandemics, in search for a new floe they crossed the North Pole on August 19th, but that was a detour and not in the original plans of the expedition.
A lot of public money was spent in this expedition, however the scientific groups released little data and there was not a centralised data or information supplier other than the kindergarten-like portal (entering deprecation as soon as the expedition was over last month). Most available info is spread across blog and social media posts. Official scientific papers with data from Mosaic expedition are planned to be released by 2023! IMHO, data should have been streamed live from the ship and everyone should be able to get that and do their won research, why not?!
BR do Mar e o desenvolvimento do agro
Brazilian legislation makes it hard for cabotage type of navigation. Cabotage navigation would allow transporting a lot more resources along the very extensive coast of Brazil. Railroad development has been stagnant for decades in Brazil. Cabotage is not the silver bullet for the transport problems but would greatly help and reduce road transport.
Governo lança "banco nacional de genomas"
Governo pretende investir R$ 600 mi para criar 'banco nacional de genomas'
The Brazilian govt says Brazil is lagging 8 years behind in genomic research. Thus, now they want to sequence 100 thousand Brazilian genomes (who must have some sort of rare disease) in the next four years with spending of R$600mi (US$~107mi) and be the leading country in that field of research. Does that make sense? Some ethical and financial problems arise. For example, the project first aim is to generate a said 'reference' genome of the Brazilian people. Perhaps they could generate a reference genome for peoples from Iceland, Norway and Japan, but hardly Brazil due to its great population miscegenation. There are lots of gene sequences or genome assemblies from people with rare diseases available in publicly accessible data banks and I reckon a research group could obtain more whole genomes from specific public-restricted banks. If Brazil groups cannot advance in genomics with data already available, they will hardly advance with 100 thousand more genomes because data is not automatic information!
Jesse Livermore’s $100 Million
Jesse Livermore book, that is not very longa nd should be fun and productive to read.
Reminscences of a Stock Operator, Edwin Lefèvre
An account of the early life of Jesse Livermore, the Boy Plunger, as a stock operator. In this book, Livermore character wears the pseudonym Livingstone.
How to trade in stocks, Jesse Livermore
Ugly Old Goat - BitMEX targetted by the regulators (CFTC etc), also check his medium blog.
Ugly talks about the risk US regulatory entities present for Bitfinex and thus blocking US citizens (and many more) from dealing with them, see also Americans Trading on BitMEX/Bitfinex. The problem with the BitMEX case is the US govt has not got jurisdiction power over BitMEX however the US govt wants everybody under their dirty thumbs. Tip from Ugly: evading taxes is illegal, however avoiding them is legal. Dica do Ugly: sonegação de impostos é ilegal, porém evitá-los (elisão fiscal) é legal.
BRL Bitcoin has broken highs from 2017
On the 17th of December 2017, bitcoin reached BRL 65,952 (almost 66K Brazilian Reais). On the 17th of August 2020, a new all time high reached BRL 68,695.

Episode #2 - Arch Linux updates and privy key management

Arch Linux update notes on sync'ing with Arch Linux Archive (ALA)
I sync Arch Linux with the monthly repo (snapshot of the 1st of a month) from ALA. However, sometimes even the monthly repo snapshot (which is used to generate the official Arch Linux install iso image) is not 100% stable for my specific hardware and thus I need to try and sync again some days later.. For example, what I do when there is news such as nvidia 455.28 is incompatible with linux = 5.9 recently? I do not agree a rolling release distribution requires the user to update constantly as a rule.
Working with bitcoin private keys
How to set up a computer with a safe digital environment and how to try and leave no records.
  • use a dedicated computer with a free operating system, such as Linux distributions or BSD clones; there is no need to keep it up-to-date, one may use a snapshot of os and download a full copy of the official repos (usually below 50GB), for eg. wget -r -np -e robots=off "http://manjaro.c3sl.ufpr.br/stable/"
  • avoid connecting to the internet while working with privy keys
  • (i) use an encrypted disk, (ii) an encrypted user account or at the very minimum (iii) do encrypt files holding the privy keys with eg. gpg -c --personal-cipher-preferences CAMELLIA192 [FILE..] . List cypher algos with gpg --version. Do make a backup of original files as some gpg versions may overwrite them!
  • remove automatic unencrypted backups made by text editors
  • avoid automatic backups by text editors (also swap and undoes), for example, add a modeline to files opened by vi(m): # vim:nobackup noundofile (maybe leave noswapfile out)
  • overwrite and remove temporary or old files with shred -n1 -uv [FILE..]
  • make backups of your encrypted files
  • tip from bitconheiros, user may use Tails operating system, but personally I reckon that is not necessary if you pay attention to my tips above
US Govt wants everyone under its thumb
More comments on the same track of last podcast episode Ugly Old Goat's (Greatest Of All Times) explanation about BitMEX 'Attempted to Evade' US Regulations, CFTC Charges and CFTC charges BitMex with illegally operating derivatives exchange. See also Ripple CEO Threatens to Relocate Company Overseas Due to Unfavorable US Regulation and an older news (2000) Microsoft ordered to split into two companies. Perhaps I will comment on some wide-range implications.
Bitcoin price in Brazil
Bitcoin price in BRL is at new All Time Highs. On 25th Sep 2020 it broke to 75,216 BRL, going above 17th Dec 2017 66,066 BRL/BTC price.

btc chart with time-dependent markings
Fig 1. The number of days from the previous bottom to the halving is equal to the number of days from the halving to the next top... (credit: @zorgoi and @Pladizow)

Saved for next episodes (?)

Vacinação compulsória (Fhoer)
"Quem decide não tomar vacinas não deveria poder frequentar espaços públicos"
Compulsory vaccination: is reinforcement of a covid vaccine feasible? While OMS says SARS-CoV2 vaccine will be widely available only in 2022, is that fair that whoever is not able to get vaccinated until then should stay at home, isolated? There are many bad points about compulsory vaccination:
  • SARS-CoV2 vaccines are still under testing, nobody know if they are effective
  • As for all vaccines however small there is a chance of collateral effects; that is a risk a person must decide to take or not
  • Universality passes through the self first; in Japan, use of masks is to protect one self, the extended benefit of protecting others is only secondary and not as powerful as self protection
  • The person may not even get into contact with the virus in her lifetime
  • If a person is not able to get a vaccine, should he be discriminated?
I reckon that when a person is diagnosed with covid or any other contagious disease, he should stay at home but we cannot make people stay at home or discriminate them when they are not infected. The fears they are trying to mitigate with mandatory vaccination cannot be universal rule itself: imagine now that we must get a shot of vaccine for every possible disease because we must protect "others"?

Update on 03-nov-2020

If youtube analytics is saying the truth to me, most listeners of the podcast drop before the 40min mark. That does not mean I should dumb down the content or shorten it for the sake of what most users do. However that was already a plan to make 40min podcasts so that is the goal next time. Maybe I will aim at 35min so I am sure to never run out of content!

I plan on recording another podcast episode only just before New Year's day or Christmas. Let's see.

#13 - Saving Bugs and Other Animals


I took the car and headed to university yesterday, about a 40-minute ride. Walking about, I found a little centipede about 6 centimetres long squashed down by half onto one paved walkway. It was moving its little antenna quickly. Desperately, I reckoned.

Someone had walked and stepped on the posterior half of the little creature body. What to do? Seeing that little thing hapless mounts to much more suffering in my head than it probably should. I have been more sensitive to animal pain as of late because one of my friends was having a troubling time thinking about animal suffering, specially cattle suffering, and also my father touched on this meaty subject this year (or last year?), so we have been thinking about that a little more over the course of the last months..

Should I put an end to the little creature suffering? I have done such deeming merciful acts in the past when I was a kid or teen, and they never felt right..


For some years, I had Aikido classes with the Buddhist monk at the temple in little town we lived back then. He mentioned many frogs would appear after a rainy day. I asked him if I could have some for generic experimentation. I actually had already prepared somewhat and had asked my dentist for some vials of injecting anaesthetics, of which he gave me about 20 (incredibly!), so I was up to no good..

Sensei (the monk) thought it over for a while and decided to dissuade me from this idea of experimenting with living animals (vivisection). He said something that has clung to me ever since, he said any animal would prefer to live a little longer in any case.

I was never a killer of animals. I had a friend who was kind of bad with animals, he and another one who lived in at the same street would shoot down dove birds with slingshots in front of me and I always found that cruel.. They would eat some of the hunt and I heard more than once from different people these doves are yummy.. Sometimes they would kill only to practice their slingshot skills.

If I have to, I will smack cockroaches and mosquitoes, specially if these creatures annoy me.

During master course, I run many rounds of experiments at the biochemistry lab and consumed 80+ rats, total. That is interesting my co-workers seemed always willing to kill rats under my project, so I would always let them do it for me. One of my co-workers under the PhD programme who was a religious fellow dealt with a lot of personal trouble about sacrificing rats for experimentation at the lab. At the same time he was always willing to sacrifice rats under my name.

At the period of time, as I lived in the neighbourhood of the university, I would go treat my rats during experimentation periods everyday by morning. When there was no experiment, I would usually go to the lab to prepare something, clean up or use the internet even during weekends, bank holidays, Christmas, New Year and in the last year the Carnaval. I would always check the animal room and fill up the water bottles of whoever rat was there. I got to know the people form the Central Animal Facility of the university who apparently liked my dealing with rats and so I could have extra rats if I needed them (sometimes some co-workers would need extra rats and would take mine). I also changed a very bright light to a very dim light at the lab animal room (bioterium) after detecting a possible lack of animal well-being of the rats immediately below this very bright incandescent light bulb..

rat being injected
Fig 1. Cartoon of laboratory rats running an experiment..


I much prefer to be the rescuer outside research. I did many glorious rescues of bugs that were drowning in bad waters and I could help them over the years (including some cute bugs from the privy). I cannot save all bugs from drowning and it certainly does not make a difference for the species as an entity, I definitely got stung more than once trying to save bees at the pool, but I changed the future of those bugs I saved, right?!

Life seems to be very common, not rare, not special and trivial when we look at that from zoomed out perspectives. However, life becomes incredible the more we zoom in. What I mean is, certain things have no meaning, purpose or benefit for the grand scheme of things but they make more sense in smaller scales (when we get closer to the subject matter).

So I decided to remove the little half-crushed centipede to the grass. I reckon that he would prefer to spend his time over the soil instead of the pavement. It also makes more sense that he is in contact with more natural structures.

That was more sad than needed be. I myself crushed many ants on those same paved walkways nights before.


Later that day , I was crossing a road on the opposite side of the university and found a beautiful centipede also crossing the road. I thought better to save it from cars so I hunkered down and tried to grab it delicately when a car came headed for us. I would not have more than a few seconds and the damn animal was avoiding my fingers, so I grabbed it against its will, got out of the road and placed it on the grass nearby (no stinging!).

That really reminded me of a reasonably funny episode of a series named 1000 Dumb Ways to Die, in which a vegan or hipster girl was driving along when she found a dead animal on the road and stopped to try and help it. She started crying when she saw the animal was dead, she was desperate by its side when another can came and killed her, too. That is like Darwin Awards. LOL


Anyway, a little more seriously, I have got some tips for when you see an animal crossing the road ahead:

Limit driving speed
It makes sense to driving slower when passing in an area one knows has got frequent animal crossings. I like to drive at below 80km/h on the highway. Not everyone is patient at the wheel and I know that is not possible to drive at such intermediary speeds at all times, but it has become clear to me animals tend to have a clean escape when the car speed is at about 60km/h (~38miles/h) at the highway. If the car is too much faster, the driver cannot slow down adequately or on time. Animals are not used to super high speed in nature, so they don't realise the car is approaching much faster than normal speeds, nor can they run away at enough speed to get out of they road.
Slow down or stop the damn car!
This is extremely risky for the driver. However, usually the driver has got some moments to make a decision and looking at the rear mirror is, hopefully, a habit. In case there is sufficient long space until the car at the rear, the driver may choose to slow down to give the animal a chance to run away or finish crossing the highway. In the city, usually the driver is at slower speeds and it may be safe to stop the car if needed. I have seen many people that simply don't stop the car for animals!! That is very sad, sometimes just braking a little would save cats and dogs..
Use headlight signalling and Horn
Some animals don't care about the horn blow but will unfreeze and respond if one toggles high/low headlights.

When I see any animal on the road, ideally I do many things at once (which became more natural over practice) : I check the rear mirror, pull the brakes a little, blow the horn and toggle headlights. If that is completely safe and necessary, I may stop the car, too.


PS: There is a video somewhere of Sergei, a Brazillian Rock Star and former boyfriend of Janis Joplin, in which he plucks a flower from a bush in his house lawn and enjoys it for a while.

When he decides to throw away the flower, he acts carefully to throw it onto the lawn instead of simply dropping the flower on the pavement he was standing..


Sergei picture
Fig. 2 Sergei posing for a picture in a couch at his home, the The Temple of Rock.

#12 - Spell Checking Programmes


Escolhendo entre alguns programas para conferir a ortografia disponíveis no Linux e algumas dicas para usá-los.


That came the time to run the spell checker on all my website pages. There were many errors. Spell checking is very important.

Just this week fraud was discovered in the candidate for a position in the Supreme Court (STF) in Brazil. The fraud suspicion was confirmed because even bad orthography was copied from a lawyer's articles to the Supreme Court nominee master degree dissertation! His former supervisor said the university will need reviewing his thesis again due to the facts exposed in the media. He has just recently completed his PhD degree in Universidad de Salamanca (Spain), but has not published his thesis yet. It is speculated the nominee has not completed formal postdoctoral work as written nis his curriculum, either.

Here are some tips of what spell checkers I am using.

Aspell and Hunspell

GNU Aspell is a clone of old Lspell and it stands out because it suggests the correct words in some cases when Hunspell does not, see this blog post comparison between both programmes and this extensive list of comaprison. It must be noted, though, that Aspell development is well and active, contrary to what was claimed by the blog post from battlepenguim.com .

Hunspell is the most popular spellchecking library. It is included in OpenOffice, LibreOffice and it appears to be included in Firefox and Chrome, too.

The difference in popularity may also have to do with fear of copyright law enforcement amongst other things. Even though Stallman said it was OK for GNU Aspell to use a copyrighted word list for the English language, there seems to be a message in the mailing lists with some worries from one developer about the case.. See the mailing list and the follow-up message.

Aspell seems to have had better utf-8 support than Hunspell over time.

Other factors of comparison:

1.1.2 Comparison to Hunspell
  • Hunspell is based on Myspell. Myspell was created as a simple spell checker for use in OpenOffice. Myspell’s affix support was merged into Aspell 0.60 so Hunspell and Aspell can use the same affix file to some extent.
  • Hunspell has better support for language peculiarities including compounding and complex morphology. However the Hunspell (v1.7.0) utility currently has problems with apostrophe (') in words.
  • Aspell generally has better suggestions for non-phonetic langauges such as English and French. Aspell suggestion speed also tends to be significantly faster than Hunspell. For a comparison of suggestion quality and speed see http://aspell.net/test/.

Hunspell supports setting multiple dictionaries at once while Aspell requires the user to create a custom dictionary. For example merging en_US with en_UK and pt_BR dictionaries. Sincerely, if there is that option in Aspell, I could not find it. I found this page with a little how to get word lists from the dictionary .rws files, but that is just an example link, I don't know if that is the best tutorial over there if you are really going to do it. However, since different languages have different suggestions strategies and affix rules this is a non-trivial task. Afixing rules are used to generate inflection lists, for example.

One alternative for Aspell is to list all words of a document that are wrong in one language with the option list, pipe to another instance of Aspell which will list all words that cannot be found in the dictionary of another language, such as

$ aspell --dict-dir=/usr/lib/aspell-0.60/ --lang=pt-BR list <index.html | sort -u | aspell list

The only problem here is that you cannot know what line number the wrong word is. See also this blog post which details on the same workaround example.

For checking spelling of a single word, I wrote this shell function. While not ideal it should work for multi language checking if you don't mind some verbose scat:

# ~/.bashrc


#spell check
sp()
{
        echo "PORTUGUESE"
        aspell --lang=pt-BR --encoding=utf-8 pipe <<<"$1"

        echo "ENGLISH"
        aspell --lang=en-GB --encoding=utf-8 pipe <<<"$1"
}

Both Aspell and Hunspell command line interfaces are good and a clean way to fixing bad words in multiple or single files. If you use Vim beware about losing its undoes for files edited with the spell checker default interfaces!

Vim spell checker

In order to avoid losing Vim undoes it is best to use Vim built-in spell checker. I remember configuring my .vimrc with some extra dictionaries knowing that would be useful at some point. But as said, I have got the poor habit of not using spell checker, hopefully we will change that now!

I got a medical terms wordlist and placed it at file path ~/.vim/spell/medicalterms-en. Then I set the following in my .vimrc:

" ~/.vimrc


"spelling check

"dictionaries
set spelllang=en_gb,pt_br,medicalterms-en

"custom dictionary
set spellfile=~/.vim/spell/en.utf-8.add

The filename of the custom dictionary is en.utf-8.add because a dictionary starting with en will be read for all variants of English (I haven't got the reference but that is what I can remember).

Vim help page from :help spell cites en-rare and medical_ca dictionaries but I could not find wordlists for them on the internet so far.

Setting the spellfile property (custom words) is not as important as setting at least one main language for the spelllang property in .vimrc, however you can just set vim for a single session with:

:setlocal spell spelllang=en_us

If you don't care the setting applies only to current buffer, you can use :set spell and :set nospell to disable.

Other than configuration, usage is very simple. Perhaps the most important shortcut for the spelling function is z= when cursor is on a highlighted (bad) word. It will prompt the user to pick a suggestion from a list.

Other useful shortcuts are ]s to go to the next misspelled word and [s to go backwards. More on usage on vim help :help spell-quickstart or from this tutorial.

The user will end up composing a custom dictionary with words she uses the most, such as frequent proper names and particular expressions of her labour niche.

zg                                       Add word under the cursor as a good word to the first name in 'spellfile'.

:spellr[rare]! {word}         Add {word} as a rare word to the internal word list, similar to |zW|.

From :help spell-quickstart

I reckon that checking spelling and grammar should happen in-flight for simple mistakes or after the text is complete in order to avoid breaking the trail of thoughts while writing. Running the spell checker is a habit to be acquired! ;]

#11 - Blogs and Books


Tenho lido muitas notícias e visto vídeos porém tomam muito tempo que eu poderia estar usando para estudar algo mais produtivo: a lei ambiental brasileira!

E toda ela, inclusive. Sabendo primeiro a lei seca, esse conhecimento abrirá portas de emprego tanto públicos como privados.

Pretendo enquanto ler alguns blogs de biologia para me animar nas próximas semanas, vou me organizar, compilar as leis e começar a estudá-las com mais foco..


Since this blog started, I have been searching for other biology blogs, web tips and such. Many blogs are seemingly abandoned or perhaps their authors could not keep up with posting frequency but nonetheless plan to update them later.. It was possible to find many short blogs, which I tried to promptly read or skim through, and some longer ones, which will demand more time.

Below is a short list of the blogs I want to take my time and explore in the following weeks.

*Update on 19th Dec 2020. Starting a list of podcast/vlogs as well:


There are some books in bookshelves and in boxes to avoid their collecting dust. Most of my books are second-hand although there are a few which cost a lot. It took many years to grow my personal library. As I still have not read all of them, I have been avoiding to buy more books; now I try to download those books I want to keep.

Until recently, I mostly read news sites, forums, tutorials websites, manuals or university-related papers on the internet, so I did not read a physical book from head to tail regularly lately.. The problem is there is so much diverse types of text I read on the internet of which much is absolutely garbage, like for example politics. That can and should be avoided because that takes so much of my time. I will not digress much but I will only say YouTube videos have drawn a terrible token on me, too, time-wise..

I want to change that, revert to spending my time reading and dreaming about how I could accomplish things eventually in the future with good company from the book author and their ideas flowing in my mind.. Nothing better than to carefully choose a book for reading. There are so many good books to choose from written over millennia.. Think about that!


Mostly philosophy books Some general books My working bookshelf

Fig. 1 Some of my books


The most relevant literature I must take is also the most boring: environmental law. And all of Brazil environmental law is important.

Since I got my master's degree, I got to know bitcoin and did not study environmental law very much.. Finance was a universe I was not familiar with. Indeed most of my initial investment capital was brutally scammed in the first months and only now, almost two years and a half later, is that I am barely on the green (up eight percent total).. But I cannot be too hard on myself as there was absolutely no one to help me learning crypto and finance in general and I was on my own. I reckon this enterprise will prove a lot more profitable over time and I will have got some sound money.

That only will not make me rich. That is why I need focus on environmental law so I can try and get a good public gov't or private job position. Ted Nelson talks about generalistimos in one of his videos. His first advice is to know the law, specially if you want to be a consultant.

So my plans are to keep on reading those biology blogs to get some inspiration instead of "news" or YouTube videos, compile and study all the environmental law. Not easy but that is what I need do.

Also, this time of year until December is a great window for sending curriculum to private companies. I did that already soon after I got my master's degree and was unsuccessful but that is a good idea to try again (and again next year!).

#10 - Flying Memphis Belle, a B-17 Air Fortress


Esta é uma história sobre algumas aventuras do Sr. Walter nos tempos da guerra em que completou missões perigosas. Alguma hora, traduziremos este texto para o português.


Memphis Belle, probably during the War Bond Tour
Fig 1. Memphis Belle at the War Bond Tour. (credit: Royal Aeronautical Society )

Mr Walter "Blaacky" Schwartz is a USA citizen. The young American man studied and graduated as a photographic engineer at the United States Army request and cost. He was trained and refined his skills to do it right: press the shutter at the perfect timing and capture the moment of the strike. Although Mr Schwartz preferred not to reveal what institution he received training, he carries the name of at least one very famous camera maker company in his diploma.

The first story is about a mission over the eye of a hurricane, at a very high altitude to be able take photos for a weather committee of scientists. At the time we talked, he reasoned about one elegant and simple definition for the purpose of narrow-angle lenses: it was to go in pursuit of further detail of the subject when it was not convenient to go closer, of course. Another group of men could never have passed as near a spiralling rotatory to death and return home with mission accomplished but those men in the crew.

On other occasions, Mr Walter entered volcanoes under mission assignment to National Oceanic and Atmospheric Administration (NOAA).

One of the most admirable trace of character of Mr Walter was his courage in face of such dangerous situations. While he talked about those remembrances, we would not quiver his voice. His life stories are truly fascinating.

Another one of his military stories he could and was willing to share is as follows.

He was sent to one military missions aboard the Memphis Belle bomber craft. It was the first heavy bomber to return to the US after completing 25 successful missions during the Second World War in Europe. The Memphis Belle is an American icon, it represents sacrifice and what Americans will do to protect their freedom.

The mission started upon arrival of the crew members at the War Front, located somewhere in the coast range of England. The Air Front was composed of dozens of wings and for this mission, as many as 35 aircrafts would campaign together. The air front faced France and Germany, territories which were taken by the enemy at the Second World War. All crew members were gathered with the group commander at the target map room. It was where they were informed the whereabouts and objectives the commission was to carry out for the first time. All crew members synchronised their wrist watches, just before the little spare time they had before lift off. The spirits of them were high, expectant and hopeful. Many soldiers went to see the base priest for their prayers.

The aircraft he was sent to board was a B-17 heavy bomber craft, a B-17 made by Boeing and was propelled by four engines. The particular design made it possible for the aircraft sustain flight even when severely damaged. It had a big wing which could bear many holes..

It had a nearly frameless clear-view nose, which was transparent and bore the pilot stick panel, sharing the tight space alongside one head gunner. Most of the 10-men crew were gunners, positioned at specific angles to cover most attack angles. Each gunner had a radius range of 1,000 yards frontward and adding all gunner posts, they were protected almost 360 degrees. Others would take care of the bombs to be dropped. There was one chief bomb engineer at the wing formation who would decide the precise moment of bomb release, after which every other bomber group crew would release their bomb load in sequence. The air formation provided them even more protection at altitude of 25 thousand feet (7.6 kilometres approximately).

About a week and a half after the crew finished their 25th mission, they were visited by the King and Queen on the 26th of May 1943. That is thought the pilot, Robert Morgan, named the craft Memphis Belle for his Memphis sweetheart, Margaret Polk. There were other markings, such as Irene underneath the window of the radio operator Hanson and the name Virginia on the right-hand side where the waist gunner position was. The very well-known nose art was a drawing of 25 bombs, represneting 25 succesful missions, and some stars over the bombs, representing when the Bell was a lead in the attack formation. There were some swastikas around the aircraft around mid to late May that year. Soon after, the aircraft had it's 26th mission while still in the 91st Bomb Group. The markings changed over time.

Mr Schwartz said his aircraft was not carrying bombs, his mission was to take photographs, footage of the mission execution.

Outside the Memphis Belle, many black specks were part of the scenario and were increasing. These were the result of detonation of anti-air missiles shot from ground territory. They were always apprehensive and concerned, or scared, because the flak was coming up, the blue black puff of seemingly innocent smoke is a bomb exploding. If that blew near to the wing, it would take the whole wing off. At that height, the enemy aim was very bad and most missiles would dischard before hitting the aircrafts, but many discharged close enough to the formation that many aircrafts had missing parts. Some of B-17 downed and others were out of sight into enemy territory. It was time to hold strong, keep to the Formation. The crew was plenty busy.

The American crew knew that if the German bombardiers ceased firing, enemy aircrafts would soon come firing from any side in the sky.

All anticipation culminated in the most important moment of the mission and their their sole purpose: drop the bombs and check whether they hit the targets. The targets were usually buildings and facilities that upon destroyal would warrant devastating political and economical impact.

Bombs dropped and the photograph plates were exposed. At that point, the first half of the mission had been done. It was the most important part but also the easiest, as they took the enemy by surprise upon arrival. The second part was most dangerous, the crew would try and return to the air base.

With the expertise of all men aboard, and some luck, they all landed well enough. Many of the return crew members who landed were badly injured, some dead and others intact. All of them, without exception, held strong to their honour and returned to America with glory. All survivor soldiers were received back with the utmost respect and love from their compatriots and friends. Those soldiers would be recognized for their impetuous spirits and firm minds. They would now return home and train new people, tell them what happened at the war front and how that was done.

By JSN
interview and first draft around 2013-2014
text updated on 2020
in memoriam of Walter Schwartz

Articles

Films

#9 - What Causes Forest Fires?


Em anos anteriores o lema na imprensa era Amazônia em Chamas!. Este ano estamos vendo Pantanal em Chamas!.. Há a formação de uma La Niña fraca no oceano Pacífico, e a região ~sudoeste do Brasil ficou mais seca, enquanto que a região ~nordeste (provavelmente cerrado) e também a Amazônia ficaram mais úmidas.

Decidi fazer uma lista genérica com possíveis causas naturais de incêndios florestais pois a imprensa parece saber somente de uma (incêndios criminosos), mas há uma literatura enquanto que enterrada pelo tempo, rica em informações relevantes, e muitas vezes, revelantes.


There started again the annual talk of forest fires! In the last two years, the headlines were Amazon is on fire! and now they are Pantanal is on fire!. For those who are not familiar with what a Pantanal is, it is actually a Brazilian ecosystem, which terrais flood in the rain season and dry up in the dry season, so there are many bogs and meandering rivers.

We are currently in the dry season! Also, this year it seems we are having a weak La Niña, which makes the Pantanal region (and where I live, some further south at the Capricorn Tropical Line), drier. On the other hand, the Amazon, cerrado and thereabouts in the northeast region, are in their turn more humid, and of course there are less forest fires there than the previous years.

I have been reading some material about fire management and found some very good Brazilian and Portuguese papers and documents. Specially, Portugal has got competent technical knowledge on the subject. In one the of the papers, after explaining Portugal fire index system through history (from ~1960), the author acknowledges the index could be far more useful for society if forest and fire management could make use of it!

I decided to start compiling a list of causes of forest fires other than criminal human or indigenous activity, which seems to be the only cause of forest fires the media knows and talks about.

This is a general list, forests may be more prone to some causes than others depending on geography and other factors. That is a shame I did not start making this list a few days ago, now it is rather hard to find some of the references and I can't be 100% sure about some technical wording, so while not ideal, I will link to similar references, leave them without reference or remove the item from the list eventually.

Causes of forest fires:

More links

Interesting quotes

Deve-se distinguir claramente a diferença entre uso da terra e desmatamento. Todo desmatamento é uma forma de uso da terra, mas nem todo uso da terra é um desmatamento. Deve-se portanto, quantificar separadamente uso da terra e desmatamento. As áreas agrícolas (uso da terra) fora da região do domínìo da floresta tropical úmida que ocorre nas regiões de savana (cerrado, campos cerrados) dos estados periféricos da Amazônia Legal (Mato Grosso, Tocantins, Pará, Maranhão) não devem ser consideradas como áreas desmatadas e não o foram neste relatório. [..]
CONTRARY to widespread belief, evidence is mounting that pre-Columbian America was not a pristine wilderness inhabited by people who lived in such harmony with nature that they left it unmarked. Instead, many scientists now say, the original Americans powerfully transformed their landscape in ways both destructive and benign -- just like modern people.
[...] more extensive fires on the alluvial islands of the middle Rio Negro were those of the 1925/26 El Niño year, witnessed and poetically described by Marchesi (1975): Thunder and lightning appeared every day without rain. Then the great forest fires began. Flames crossed from one side of the river to the other... Dense smoke covered the entire region, eclipsing thesolar disk. It was night for us too on the upper Rio Negro where the fire had not yet arrived. Weasked ourselves if it weren’t the end of the world. Finally, in early April after 100 days of drought unlike any known before, a tempest struck.

Fire triangle

fire triangle schematics
Fig 1. This triangle is used throughout many booklets about fire, and it draws attention the fact that is composed of only three (essential) parts: oxidizer, heat and fuel. (credit: University of South Carolina)

#8 - Good References, a Structure to Climb


Google has got a nice feature for defining a search date range. I always use that for checking papers, articles and writings in general. Older papers are usually better written and more thoughtful.

Some general problems become bolder as telecommunication technology evolves. Communication and data publishing changed dramatically, in such a way it is reaches a bigger proportion of people in less time. It may be appropriately to say a more fluid mode as opposed to crystallise thoughts or rationales. Perhaps that would be called a more fluid reality by Zygmunt Bauman..

To publishing an article on the internet, if one has got some basic connections, writing a piece and publishing that can be an almost immediate event.

Even unthoughtful one-liners can mess up general opinion. Take Brazil's president Bolsonaro, whose sons publish a lot of obscenities in his name and in the name of the Republic at Twitter.

That is how people are getting used to ever more, writing very short text. Incomplete text should be called note and as such a collection of notes are not organised very much, by definition.

Also, size of a text does not mean it is better or worse than a shorter text, although usually the shorter the harder to understand.

There is too much of the same ideas, ever poorer modification of existing bases for some unhelpful sophistication of one own creativity.

That may not be a new problem, however that is for certain more common now quantitatively than before, when a researcher wants to conform to general opinion, fearing cuts in research budgets or even salary. An overflow of limits means the paper may be under serious methodological problems when that suffices to say there is consensus and one's research confirms consensus.
Consensus should not be more important than a very well defined and rational function, which leverages logical deduction of further general aspects.

I reckon Einstein's genius may be in great part due to the fact of the environment he was brought up in, and also because of his acknowledgement and decision of developing on top of very important primitives defined by other scientists. Synthesis is harder than analysis, one needs a general understanding of the overall picture and be able to remove noise from what is really important.

I am not sure it is healthy to long to be like Einstein. Francis Crick and Ken Thompson would agree. Ken would probably also say to just do your own thing, no need to have got bigger perspectives than what is feasible at the time.


I fear this post has developed into something else than the title may strictly suggest. Indeed writing about Einstein made me question what are my objectives with this website and my youtube channel, anyways? Too much thinking, I will just leave it at that for now.


News about the website. I changed website structure a little more. There are two important directories in the website structure which are the graphics 'gfx' and resources 'res' directories. The res directory will hold anything that is not graphical, such as audio or text, although PDFs could arguably be placed in the gfx directory, too.

A robots.txt file was added to the home page directory. It has not got much, of importance only a pointer to a sitemap file.

I am using two scripts from Poor Man's Webmaster Tools to make a sitemap.txt and a sitemap.html files. While I will soon link the sitemap.html to visitors in the home page, Google, Bing, Yahoo! Search, DuckDuckGo and other engines will actually prefer to read a sitemap.xml file, because it can hold some information about the links, such as last update time, update frequency and priority (this latter is not currently consumed by Google bots as explicitly said in Google's website).

It was not much hard to make the third sitemap script which generates a xml file last night, although it took me approximately 2-3 hours to write it.. Here is a static copy of the script. Although I will be improving it over time, it may serve as an example for some other person who reads this here.

The sitemap.xml file should actually be uploaded to these search engines (they have got a form for that), but I reckon if you are patient, you can just add the sitemap pointer to the robots.txt and the robots will eventually reach that.

#7 - CSS é Legal!


Today I am with a hangover from last night. That was not much fun, just spent money I should rather have saved..

After waking up, I was watching some videos os CSS frameworks and got a comment from Theo Dondé. He visited my webpage and said it was simple. Also, he told me to use Google's Materialize CSS framework. After some reading, I opted for the W3.CSS, which is simpler, lighter, faster and W3 seems to be a much better organisation than Google, plus W3 documentation is excellent and I really want to have the least to do with Google..

It was a good surprise to actually be able to use CSS frameworks!


Brazilian cartoon, the hangover woman
Fig 1. Me sinto como a Rê Bordosa hoje.. I feel like her today.. (credit: angeli)

Ontem de noite e hoje não foi um dia muito agradável.. Dei um escorregão, sai para me divertir, gastei um bom dinheiro que poderia ter economizado! Hoje, amanheci com a rebordosa.

Passei o dia vendo uns vídeos sobre frameworks, ou estruturas pré-definidas para formatação dá página com CSS.. fiz um comentário no canal do Theo Dondé, ele foi legal comigo, falou que que meu site estava legal mas era simples. Ele deu uma dica, para eu usar o framework Materialize desenvolvido pelo "Goo"-gle, daí achei, porra o cara tá achando que eu dou conta de usar um framework de CSS? Fiquei lisonjeado... Sem querer, comecei a procurar sobre esse assunto e achei o Bootstrap, que parece ser o mais popular, o tal do Materialize e o W3.CSS. Curti o W3.CSS pois ele é mais simples, não usa muito jquery e nem javascript, e parece ser um sucessor do Materialize. Fiquei surpreso e feliz de ter realmente conseguido usar o frameworks de CSS para refazer a página de apresentação do Blog. Os estilos de CSS da homepage mesmo estou fazendo na unha para ir aprendendo..


Os Frameworks

[Bootstrap logo] Bootstrap
Dá para fazer muitas coisas, pode ser comparativamente menos organizado ou restritivo do que o Materialize, então depende muito do bom-senso do web designer para que o layout do site fique legal. Os estilos são do tipo flat e almost flat, este último fica muito bom com layout de sites minimalistas!

[Materialize logo] Materialize
Ele é mais restritivo, normativo que o Bootstrap, então uma vez que tu consiga montar o site com ele, o site deve estar bonito e alinhado. A paleta de cores do Materialize é de objetos do nosso dia a dia, como um amarelo da placa de trânsito. Outra característica dele é o uso de bastante sombras.

[W3.CSS logo] W3.CSS
Baseia-se nas cores do Materialize e também no estilo de material design, também do Google. É mais simples, tem menos funções, mas é mais leve e muito rápido (pelo menos a versão 4 é!) e não requer jquery e nem javascript.. Mas também dá para adicionar javascript, por exemplo, , se quiser, para uma apresentação de slides.

#6 - More Web Master Resources


I reckon having a website for link collection is a good reason for having a website. I started a new column on the website home page, called The Fool Environmentalist which is supposed to be a list with links and very short comments about some important point. Google News always sends me good and bad articles that I should be collecting for personal reference.. Internet news are easy to read but very hard to keep track and organise them. Google does not help, sometimes even Firefox isn't!

The Guardian has been very disappointing for the last decade. Too many news about how humanity is headed to total environmental disaster.. Generically, not only The Guardian here, what they completely mess up is the sense of cause and effect. Human beings are living on Earth because the Environment has allowed all conditions for our development and survival at this precisa moment, so we are actually an effect of natural forces. To think that we are the cause and source of natural order is very naive. We may as well be, however it seems more overwhelming that what little humans can do is due to workings of a much greater order.

And here order means simply physical laws. Indeed, order can emerge from chaos and they are really not different things. We may talk more about complex systems in due time.


I did a rewrite of a shell script to deal with updating the website blog section. I found a very useful sed command which allowed me to write simple template html pages to merge with the actual post content (from Stack Overflow).

$ sed '2 r file2.txt' file1.txt

The first sed command adds text from file2.txt into file1.txt after a specific line (in that case, line #2). The following commands are more interesting as they add text from file2.txt after a matched pattern. file2.txt can be /dev/stdin! Also, if you want to modify the target file, you can use flag -i:

$ sed '/^PATTERN/ r file2.txt' file1.txt

$ sed -i '/^PATTERN/ r /dev/stdin' file1.txt

I was working on the HTML and CSS code of the website for the past days. Yesterday, I got some code snippets from W3 and made the home page responsive. It is using Flexbox, which, by the way, is not compatible with IE 10 and earlier.. I installed various web browsers available in the Arch Linux official repos:

It is a good idea to check your website with all of these browsers. I personally like to using W3M, however I am not that familiar with all shortcuts yet. On the other hang, Links and ELinks are easy to use to even have got GUI versions! They are useful for navigating to many websites, though not all.

Specially useful is the Netsurf browser, which uses a simple engine and is akin in rendering to a version of IE 10 or thereabouts..

You can test your website with a different browser (cross-browser testing) at Browserling, too.

[Valid CSS logo]

That is also good idea to check the code with an HTML validator and a CSS validator. They give you a code snippet to generate a validator logo at your website, however if you tested your HTTP version of the website, the code generated will make web browsers throw supposed errors of unsafe images when accessing it with HTTPS. In Linux, I found a very good HTML linter called tidy available in the extra repo in Arch Linux. There is a good CSS linter, albeit harder to use and requires some manual configuration is Stylelint, available in the community repo. Check the stylelint-config-standard package, too. Otherwise install via npm, check package instructions.


Lastly, you can check website performance with GTmetrix, a tip from Chris Titus Tech. It seems one of the most important optimisations you can do is improve image sizes, if your webpage is too large. My home page has approximately 200KB with images as of today..


PS: these webbrowser add-ons are almost essential webmaster tools, check Web Developer which adds a toolbar button with various web developer tools and HTTP Header Live which displays the HTTP headers.

#5 - Using Poor Man's Web Master Tools


Falando um pouco da descoberta das ferramentes em shell do site Poor Man's Web Master Tools e como isso me aliviou e me motivou a tentar escrever uns scripts para gerenciar a área do blog..

IMPORTANTE: parece que o site do PMWMT está fora do ar?? Espero que não tenha parado de vez (dead link?).. Se o link não voltar, ainda bem que há uma cópia na Wayback machine.


Searching for personal website tips or something, I found some really interesting stuff. For example, this website talks about website cracking and hackery in general, which I found very amusing..

Anyways, it seems that indeed a webmaster needs to deal with some data base and layout management. He could avoid them by using Jekyll or WordPress, or if he knows some programming, he can try and manage his website all by himself. Reading Jekyll documentation, it seems to deal with three types of web pages:

I reckon that for unrelated and individual pages, it is a plus if we can craft them manually. There are so many structural HTML tags which can be used that I doubt Jekyll can apply half of them from a marked down text.. That seems incompatible: either use a mark up or a mark down language.
Such intricate structures can one make with HTML tagging, although much is condemned to null or discreet rendering by web browsers at this present time..

About the second bullet point, the blog portal and individual post management can be a hassle. It is easy if you just write in a single page, which gets ever longer. However, if you want to point to individual posts only, then you should also have got individual pages for them.
Jekyll (and other static webpage generators) uses a lot of databases, and that is not the easiest to familiarise with its defaults structures, although I am sure you can customise almost everything..

At this point, I was almost overwhelmed and giving up on trying to create my own tools for the job of managing a post database.. Most surprisingly, I found the Poor Man's Web Master Tools (PMWMT) and some silly scripts for maintaining a static website. Do note the referred scripts are shell scripts. I was most delighted! IMPORTANT: It seems the website for PMWMT is down, hopefully that is temporary.. If the link does not come online again, we still have got a copy from Wayback machine.

Much refreshed and elated, I got to work on my previous shell script, which dealt only badly with concatenating all blog post into a single page.
Some template files were created. One holds most of HEAD and HEADER contents while the other most of the BODY and FOOTER contents.
Now, article text is written in HTML but are written in individual files and only contains some metatags in a HEAD section and a ARTICLE section, which are then merged with the templates to generate a complete individual page for the post.
Finally, a function that merges all article sections of individual posts into a long page with all posts. There is a hard corner which is to fix all locally relative resource dirpaths in src tags, for example for images or gifs. Here, I had to think long and hard and created another directory at the root of the blog directory called res/ for resources, as it cannot be called gfx for graphics because I will be linking txt plain text, as well. When all resources moved there, I was able to use sed to remove '../' references in these fields..

The third bullet of the list above seems irrelevant as a worry now. Either we can specially craft individual webpages or use the same blog system for an eventual collection of related pages..

There are still some improvements or features to implement for my own use, that is a way to automatically update the website portal blog post section and the blog portal with latest post titles.. That should not be too hard to do with some shell scripting and sed..
You can check a script snapshot in this link. I will be improving that over time, but I provide it here just so as a reference of what can be done for the reader.

Although I am not currently using PMWMT's code (I am writing my own), reading those scripts are a blow of fresh air.. When I next write a script for generating a sitemap.xml file, I may use some of PMWMT code, though..

There may be a vague resemblance of functionality with Luke Smith's lb and sup, a blog script and site updater he wrote for his own blog. However, he does not seem to care about adding metatags to blog posts, such as keywords.. Other blogs could use their post categories as keyword metatags..

Just for the record, there are two more scripts o deal with website or blogging. The first one is Roman Zolotarev's ss5, which is a static site generator written in shell. There is also Slackjeff's hacktuite, a shell script that makes a static microblog.

Company Logo
Fig 1. Logo from the Silly Software company, provider of PMWMT and other interesting software.

PS: package tree can also make a directory (and file) listing in HTML with option -H. One can use flag -P to search for filetypes and flag -I to ignore some files. It must be run at the root directory of the website. Example:

$ tree -H "https://mountaineerbr.github.io" \
        -P '*.htm|*.html|*.php|*.asp|*.aspx|*.jsp' \
        -L 6 -F -o "tree.html" -v --noreport --charset utf-8 \
        -I '[a-z].html|index.html|fool.html|bak|css|gfx|js|res|misc|google*|PMWMT'

#4 - Podcast Idéia


Depois de ver dar uma olhada melhor no blog do Luke Smith, estou pensando em copiar algumas seções, como por exemplo, inaugurar um podcast em Português. Definitivamente, o meu conteúdo vai ter que ser espalhado em duas línguas. Veja, por exemplo, meu canal canal no YouTube, totalmente em português.. A ideia de um podcast é muito boa pois abre uma avenida de possibilidades, além de ser mais fácil de gravar, quem sabe um episódio por mês.. Aguardem..


Luke Smith's blog has nice posts about his website development. Specially, today, I was reading the very first posts, from may 2008, and he states preference for a minimalist website. There is also depth to his website, browsing it I could find many links to different sections of his website: video, podcast and rss feed. He has got even a forum, which I avoided entering so far, may check it later. That LARBS distribution seems to have many users. I would't dare using it, because that would be one more layer -- instead of having to learn how to configure the tools themselves, I would have to learn how to configure his LARBS tools.. And I just found how convoluted his distro design might be, look at how redundant is this directory structure, which he cites in this post in which you navigate downwards levels until you can find the distro default configuration file at ~/.config/fontconfig/fonts.conf.

His website has very interesting ideas, pages and depth to content. Specially, the podcast section got my attention. I already have got a YouTube channel (in portuguese), and some faithful followers, even though I advertise that channel as a B-side channel, meaning produced with as little time as would afford that.. However, a podcast, in which only the voice is the most important piece of the play, seems like good fun. That is easier to record, easy to upload, easy to download.. It can have high quality sound as any mobile phone has great microphone, much different from my computer microphone used for producing my youtube channel content!

It would make sense to have my podcast in portuguese, which means effectively splitting content in two languages in this website. Production would be slower, one episode a month. And I could have co-hosts or interviews, chatting with other cool people, so that is a big opened avenue.

[tower signalling]

#3 - Blog Design


I am reading a lot of HTML code from other personal blogs/websites.. I am seeing all those blogs I collected over the years in a new perspective. Some of these blogs are from people with information technology backgrounds, and yet they seem to use Jekyll or some other layout programmes, such as WordPress to generate pages. See Aurelio Jargas' website. Aurelio is using Jekyll now, however it was possible to find a very early webpage of his Brazilian music group called DUMBS written, presumably, by himself. The webpage seems to have started with a simple, cool design (and one picture of the band!), which was soon after buried under a lot of litter (gifs, pictures), which would leave important information out of sight. Sometime later, Aurelio writes in the website logs that the page was slow to load, too! We can compare with the music band final website he maintains as memoir of good times to this date.

There is no convincing me any of these programmes end up being easier to learn and use than to make your own webpages with good HTML and CSS code. The principle still ought to be a clean website with good content is superior than busy and heavy websites.

It is clear that if a website grows, it starts to getting harder to maintain the pages. However, CSS style sheets may prove very handy for changing formatting of a series of posts. While HTML structures the text, CSS will style it.
Not everything can be done with CSS but I reckon much can be done without need of a complete rewrite of the website. Plus, sed can be very useful in changing whole sections of HTML documents. Bash may not be the most recommended language for maintenance of a very large website, perhaps, however bash is already helping me with compiling the All posts page. Every blog post has got its own manually-crafted HTML page, with many logical tags which may serve to present this same content in different ways for different people, for example, for the visually impaired or the people in the future, whenever in time.

Aurelio's writing style can be funny and that keeps the reader interested. I shall try to keep this website light-spirited, too..

For now, I cannot grow this website too much without further defining and deciding on its basic structure. For that, I may even make some drawings on paper and try to implement that structure in HTML code..

#2 - English & Português


Como comento bastante nos parágrafos abaixo, é complicado eu replicar o mesmo conteúdo em português e inglês. Apesar da intenção deste site ser para anotações de pesquisas e ideas, assim como coleção de listas de links de referência para uso pessoal em momento futuro, também é para ser compartilhado com interessados, e seria uma pena não usar o Inglês para tentar atingir o maior número de pessoas ao redor do mundo. De modo que decidi escrever os textos em qualquer língua, porém sem compromissos ou promessas.

Há um texto meu em português com memórias e algumas histórias de minhas aventuras no Japão, onde cursei um ano e meio do ensino médio na escola internato Meitoku Gijuku, o que mudou muito o meu caráter e meu modo de ver as coisas.. Veja O Espelho de Jamil. no blog d'A Viagem de ShigeS.


This is the last day of August. Today, I am trying to consolidate my health-wise plans for September. My routine needs improvement, it is already much better than it was between 2014-2017, but sometimes I fail my plans and that may lead me to some bad days too easily. That is what needs improvement, more resistance to a routine which can keep my frustrations in check.

Anyways, Luke Smith has got a video in which he explains how he manages his website. he has got a cloud Debian server server in which 'nginx' is installed.. The programme is called 'engine ex' and is a web server. In this website, I am doing everything manually and carefully, for example, all subdirectories will need have an index.html file in order for their contents not to be visible as raw file hierarch, even if that must be a 403-forbidden-type index.html..

There are other more important steps I could do at leisure first, for example, renting a custom domain for the website and a better place to host that than GitHub..

An important point is to decide what language this website will be. I reckon that would be a shame not to use English as a practical means for exposing content to the wide world web, however most people I know speak only Portuguese. There is just so much time and effort I can put into this website, and as much of the purpose of creating this is for my recordings of research and ideas, collating references and links for easily accessing them later, just as much my intent is to share and spread these writings with everyone else.
That leaves me in a difficult position but it is decided I will write in whichever language, but I cannot promise as much content in both languages. I hope this is may serve as stimulus for those who would like to read more of my posts. It may also be useful, there may be some information I would rather not expose in either English or Portuguese..

I know a little Japanese, too. That was the biggest movement of my life when I went to Japan and lived in Meitoku Gijuku, a boarding school, for one year and a half. There is a long recollection text in portuguese I wrote just before leaving Japan. That is hosted online at the blog A Viagem de ShigueS O Espelho de Jamil.


blog author after trekking in a mountain trail in Japan
Fig 1. Otsukaresama! We got to the top of the mountain in new year's day (1st January 2006) just to watch the sun rise. The group was about 8 people, two were Americans and all others, except me, were Japanese. I knew half of those people with whom we had celebrated new year's evening the night before together. (credit: personal archive)

meitoku gijuku junior senior high school promotional banner
Fig 2. Meitoku Gijuku Junior & Senior High School promotional banner. (credit: meitoku gijuku website)

#1 - Sync an HTML Blog!


The first post of this website is to sync its code to GitHub. I started learning shell scripting about one year and three months ago and simple html code seems a good next choice because of its usefulness.

Watching m1xolyd1an videos about Bitcoin got me excited about html. He uses JavaScript and NodeJS, I reckon, to do maths to hash Bitcoin addresses and some html, too.

Plus, it struck me just the other day I could make my father, who is a lawyer, a website (he said he has got one but I could not find it on the internet).

Also, a friend of mine asked me to help him make a website last year and I could not be helpful (he has got a very stylish website now, he paid a professional, which I am glad for!).

Some references about website design:

Top-notch web tips
  Dan's web tips (from usenet)
  John Bokma (from usenet)
  Robin Willians
  Tom O'Haver -- How to Make a Web Page
  CSS Tricks (advanced)
  Top ten mistakes in web design
  Eric A. Meyer
  Henri Sivonen
Acceptable or admirable website designs
  Richard Stallman
  Ken Thompson
  Dennis Richie
  Brian Kernighan also see (a), (b)
  Ted Nelson
  Simon St.Laurent
  Gringene
  Luke Smith
  SlackJeff (pure HTML and CSS)
  Thobias
  Aurelio Jargas (he seems to use many programmes to generate pages)
  Mauro Rebelo (one of my first inspirations to start this blog, however Mauro's newer blog design is poor)
More
  W3school's Tags, Tag validator
  W3school's Css, Css validator
  Mozilla's HTML Tags
  HTML5Doctor HTML Tips
  HTML5 Standards for normal developers
  HTML.com Tags
  Html5Doctor on Microformats
  Mozilla on Microformats
  CSS Selectors & Combinators (a), (b), (c), (d)
  ScreamingFrog Crawler, for usage see (a), (b)
  Many tools..

Next step, I will detach this post from the front page -- ok!

This post will have to become a rough draft for an html post skeleton for future posts..

A very good website structure is needed to be able to scale the amount of code without much frustration..

Setting meta tags for <head> seems to be majorly important.. Interestingly, Luke Smith webpage has got almost no meta tags.. Actually, many websites don't seem to care about html tags at all, with the exception of the charset and http-equiv attributes.


It has been a few days since I started studying html for this website project. Now I am checking lots of websites source code. In Firefox, just press <CTR+U> to see the source code.

This website may seem already abandoned, but in fact, I have been putting some effort in writing good source html code in the three pages this web site has already got. Specially, I was worried about the meta tags, and now many important ones are added to the <head> section of the pages.

A visitor counter is added to the home page, but visibility is not enabled and I am not sure whether leaving it on is any good, because I cannot be sure what external scripts they may be running with my visitors, plus as I will access my website the most frequently, probably it will count only my own traffic..

That would be very similar to GitHub traffic to my repos, though I am not 100% sure, much of the traffic GitHub shows me in the insight section seems to be from myself when re-cloning own repos to update them.. Sometimes it is clear there is some traffic not from me, though..

I had to finally deal with solving a problem with my vim configuration.. The problem was using a parentheses colourising plugin from Luochen1990 called rainbow, which just messed up my syntax highlighting.. I removed it and now set to using kien's rainbow parentheses which is a little harder to use and has got a hidden command RainbowParenthesesLoadChevrons but that, I am mostly sure, is to avoid new users enabling it with incompatible language highlighters on. For example, the rainbow chevrons option must not be enabled when html syntax highlighting is also enabled, unless you want to break the html syntax highlighters..

Also, installed mattn's vim-emmets plugin, which really helps with writing html tags.. I actually found that on Arch Linux User Repository (AUR) .

I am being careful to writing these canonical html source pages because if I do hurry up and write bad html sources, I would need rewriting them later at some point. When my studying of Dan's Web Tips is finished (see reference above), I will be ready..


t-shirt with html pun: how to meet ladies
Fig 1. What about html in how to meet lads? (credit: kris krüg)

PS: I have included a google analytics script in the home page and will leave that on for some time, just to see how that works for now.
I checked Dan's web tips website and he has got an analytics/statistics script, so maybe that is not 100% an evil thing to do.. He also seems to have had a simple visitor counter before that, which is now commented out in the page HTML code.. I checked and it reached 38000+ hits before being commented out in favor of his new analytics script..

PPS: it seems that the bad thing is not really getting website guest statistics as much as showing ads! Content quality may decrease when all the author wants is the advertisement revenue.. For example, youtube incites vlog authors to make any type of content in large quantities in order to have channel monetisation via ad views..

PPPS: one of the trackers I was testing uses a third-party services matomo [[dot]] org which seems a very suspicious company. As their advertising of user information collection and selling is so outspoken in their website, I am removing it.. I will leave Google Analytics, though.