Skip to content. | Skip to navigation

Personal tools
Log in
You are here: Home - Blog

News tells us what causes the Venezuela crisis

Posted by admin |

News tells us what causes the Venezuela crisis, well at least some news does. You have to dig a bit.

People are prevented to cooperate and create value, to the point of starvation and under abundant abuse by criminals and people turned criminals.

Many news articles seem to miss that point. Here is a recent BBC article that barely mentions the economic situation as behind the turmoil, truly remarkable: Venezuela crisis: What is behind the turmoil? - BBC News

Let's dig a bit deeper and start with CNN Money:

4 reasons why Venezuela became the world's worst economy - Oct. 25, 2016

Two reasons could be valid as causing the others and the crisis:

  • Government spending
  • Price controls

Time Magazine is starting to give some answers Venezuela Government to Blame as Economic Situation Worsens:

Venezuela depends on oil for about 96% of export earnings and nearly half its federal budget. When prices were high, policymakers could have created a rainy-day fund. Some of that money went toward lifting poor people from poverty, but much was stolen: Venezuela is the most corrupt country in the Americas and the ninth most corrupt in the world, according to Transparency International.

Ok, so they used oil money to run the state and when that got less, there was less money for handouts and subsidies.

The Guardian gives more hints Venezuela's worsening economic crisis – the Guardian briefing:

Chávez build his popularity on oil money and foreign debt, using both to fund consumption, while nationalising more than 1,200 private companies deemed not to be functioning in the public interest.

So 1200 companies were nationalised.

The overall themes seem to be two:

  • Reckless spending that has put people in a position of dependency, and when that spending dries up, people have no means, networks, trust in each other or experience to cooperate around creating value
  • An obsession with control, that puts people in charge who are incompetent and corrupt, and price controls that make it impossible to sell imported stuff at market value

To summarize these two themes, it's about preventing people to cooperate and create value, to the point of starvation and abundant abuse of people by criminals. I talked to some Venezuelans about two years ago here in Sweden and they told me how bad the situation was then for their loved ones. I cannot imagine how bad it is now.


May 23, 2017 12:32 | Comments (15)

Memory for different window managers and desktop environments

Posted by admin |

Memory requirements of different window managers and desktop environments on Linux (a bit old)


Source cmp-all4.png (PNG Image, 698 × 690 pixels)

May 22, 2017 01:55

Ansible variables that tells you the location in the controller's file system

Posted by admin |

Taken from here, where there is a list of many more variables in Ansible: lorin/ansible-quickref: Quick reference for Ansible variables

playbook_dir Directory that contains the playbook being executed
inventory_dir Directory that contains the inventory
inventory_file Host file or script path (?)

If you are using included playbooks, playbook_dir get really confused. It will report a path such as:


You can truncate the path to before the dot, with a filter, like this:

"{{ playbook_dir | regex_replace('(/\\./.*)', '')  }}
May 08, 2017 10:40

How to loop over hosts data from a Yaml file in Ansible

Posted by admin |

I had an inventory file in this format in Yaml:

      name: node1
      name: node2


And I want to loop over the names of all hosts when processing each host.

This seems to work in the playbook:

- hosts: cluster
  - debug:
      msg: "Computer is {{ hostvars[item]['name'] }}"
    with_items: "{{ groups['cluster'] }}"

This threw me a bit, albeit I am new to Ansible. It seems to me that the Yaml structure in the inventory file implies that there is a one key dictionary (to use python lingo, which is appropriate I believe for Ansible). So something like this:


However looking at the working code in the playbook, first it seems to be wrapped in a magical key "groups" (maybe this is standard for inventory files, I don't know), then you get the next magical variable "item" which points to the key of the dictionary under "hosts" which means we have somehow jumped past "hosts". Ok, so can I get deeper into the data with item? Nope, that's it. But wait, maybe it is treated as a name space so I can just write {{name}}? Yay it works! No, wait that is the wrong name. It is the name of the host I am configuring.


May 03, 2017 06:40

Nikola - a blog generator which site gives a favorable impression

Posted by admin |

Now how's that for depth in research :)


Static Site Generator | Nikola

May 02, 2017 11:05

Kompressionskläder för sport - en recension för social dans

Posted by admin |

Plagg som testats.


När jag dansar latinsk dans kan det bli väldigt varmt och svettigt, och man kan lokalt bli väldigt kall när man försöker svalka sig. Kompressionsplagg förbättrar cirkulationen nära huden och idén var att testa om kompressionskläder kan hjälpa mot lokal avkylning, samtidigt som de fortfarande håller en torr och sval.


Kompressionskläder fungerar, men vissa syntetmaterial såsom nylon suger åt sig vatten.


Jag har inte kunnat undgå att folk nu springer och går omkring i tights. Jag har motstått frestelsen av flera skäl, men insåg tidigare i veckan att kompressionskläder kan hjälpa mot lokal avkylning efter svettiga danser. Idealt sett ska de kläder man har på sig vara så fuktgenomsläppliga att man alltid håller sig torr och sval. I praktiken så blir man svettig och när man sedan kyler av sig så kan man lokalt bli väldigt kall, samtidgt som man fortfarande som helhet behöver mer avkylning.

Kanske kan kompressionskläder hålla uppe cirkulationen i dessa kalla delar? Då slipper man känna sig kall, samtidigt som man förbättrar kylningen av kroppen, genom att transportera varmt blod nära huden.

Kompressionshorts från Nike: "Cool Comp 6 Short" (90% polyester, 10% elastan). Dessa fungerar riktigt bra, och är hyfsat fuktgenomsläppliga. De kostar ungefär 200:-

Kompressions t-shirt från Under Armour "Zona" är en dyrare produkt, och jag valde att gå upp lite i pris för denna eftersom det var den kompressionströja jag såg minst löjlig ut i. Denna tröja innehåller mycket elastan (vilket jag antar drar upp priset) och har en ganska hög kompression, i alla fall jämfört med shortsen.

Efftekten under dansen  av tröjan var inte så väldigt bra: Den förhindrar visserligen lokal kyla med hjälp av kompressionen men den känns blöt och den tar tid att torka. Jag insåg varför, när jag efteråt noterade att den var gjord i nylon. Nylon är en stark och bra fiber, men den drar åt sig fukt, den är hydrofil. På Under Armour:s sida står det att det är polyester, inte nylon, men i lappen i själva tröjan står det nylon. Go figure. Jag är faktiskt inte säker på vad den är gjord av, längre.

Dagen efter var däremot effekten från tröjan bra, fast jag inte längre bar den. Det verkar som att kompression fungerar som en slags massage och ryggen kändes varm och med god blodcirkulation.

Min gissning är att ju mer elastan ett plagg innehåller, desto mer elastiskt blir det. Elastan är gissningsvis också dyrare än polyester eller nylon, så plagg med mycket elastan blir också dyrare. Vissa kompressionsplagg verkar gjorda för att användas under själva träningen och andra för att ha på sig efteråt.

Apr 30, 2017 05:40

Metalsmith - a blog site and general site generator

Posted by admin |

...that uses pipelines. I like pipelines. Metalsmith is in Node.js. But I also like Plone. And Plone has built-in commenting, that works ok.



Apr 29, 2017 01:13

Initial ideas on how to get sshd into a Ubuntu server install

Posted by admin |

To add packages for the installation, add a %package section to the ks.cfg kickstart file, append to the end of ks.cfg file something like this.

@ ubuntu-server

The above is from:

system installation - How do I create a completely unattended install of Ubuntu? - Ask Ubuntu

A skeleton kickstart file looks like this:

#Generic Kickstart template for Ubuntu
#Platform: x86 and x86-64

#System language
lang en_US

#Language modules to install
langsupport en_US

#System keyboard
keyboard us

#System mouse

#System timezone
timezone America/New_York

#Root password
rootpw --disabled

#Initial user (user with sudo capabilities) 
user ubuntu --fullname "Ubuntu User" --password root4me2

#Reboot after installation

#Use text mode install

#Install OS instead of upgrade

#Installation media
#nfs --dir=/path/to/ubuntu/

#System bootloader configuration
bootloader --location=mbr 

#Clear the Master Boot Record
zerombr yes

#Partition clearing information
clearpart --all --initlabel 

#Basic disk partition
part / --fstype ext4 --size 1 --grow --asprimary 
part swap --size 1024 
part /boot --fstype ext4 --size 256 --asprimary 

#Advanced partition
#part /boot --fstype=ext4 --size=500 --asprimary
#part pv.aQcByA-UM0N-siuB-Y96L-rmd3-n6vz-NMo8Vr --grow --size=1
#volgroup vg_mygroup --pesize=4096 pv.aQcByA-UM0N-siuB-Y96L-rmd3-n6vz-NMo8Vr
#logvol / --fstype=ext4 --name=lv_root --vgname=vg_mygroup --grow --size=10240 --maxsize=20480
#logvol swap --name=lv_swap --vgname=vg_mygroup --grow --size=1024 --maxsize=8192

#System authorization infomation
auth  --useshadow  --enablemd5 

#Network information
network --bootproto=dhcp --device=eth0

#Firewall configuration
firewall --disabled --trust=eth0 --ssh 

#Do not configure the X Window System

Taken from here: 4.6. Automatic Installation

Apr 27, 2017 11:56

Enable mouse support in Emacs

Posted by admin |


F10,  “Options” → “Customize Emacs” → “Options matching Regexp…”. Type mouse and Enter.

Go to “Xterm Mouse mode”.

Press Enter on “Show Value”. A “Toggle” button appears, press Enter on it. Then press Enter on the “State” box and choose  “1” for “Save for Future Sessions”


More complete info here: How can mouse support be enabled in terminal Emacs? - Unix & Linux Stack Exchange




Apr 26, 2017 08:18

sudo with no password on Ubuntu

Posted by admin |

In the /etc/sudoers file:

For a single user :


For a group :

%supergroup  ALL=(ALL) NOPASSWD:ALL


Apr 25, 2017 04:42