Skip to content. | Skip to navigation

Personal tools
Log in
You are here: Home - Blog

How to tell NetworkManager (i guess?) to use a VPN for a connection on Ubuntu

Posted by admin |

Set it in nm-connection-editor. If that program does not exist on your system, install it.

Oct 20, 2019 05:03

If you need to change or create volumes on an LVM system, use lvm

Posted by admin |

The lvm command line program at least on Ubuntu, is well documented with lots of help inside of the shell that is created when you type sudo lvm

LVM is a way of organizing disks into volumes on i.a. Linux systems

Oct 18, 2019 12:25

Bruce Schneier on quantum computers, encryption and the future

Posted by admin |

Great quantum breaking overview by Schneier:
"Maybe the whole idea of number theory—based encryption […] is a temporary detour based on our incomplete model of computing"

"Symmetric cryptography is so much nonlinear muddle, so easy to make more complex"

Oct 17, 2019 06:25

Navigo.js works as replacement router for Riot.route in Riot4.js

Posted by admin |

The "Riot route" router of the Riot project, does not work with Riot.js 4 at the time of this writing. It had to be switched out and I settled for Navigo.js.I have not used it extensively , but here are the changes I had to make, including explicitly unmounting components and respecting that riot.compile is now asynchronous and separate. The code below is for the on-the-fly compiling:

Before with Riot3.js and Riot.route

 <!-- Load riot live compiler for on-the-fly compiling, it compiles automatically -->
  <script src=""></script>

  <!--   Load riot's router -->
  <script src=""></script>

    route('login', function (name) {
      riot.mount('div#mainview', 'login')
    route('profile', function (name) {
      riot.mount('div#mainview', 'profile')
    route('mytasks', function (name) {
      riot.mount('div#mainview', 'mytasks')



And now with Riot4.js and Navigo

 <!-- Load riot live compiler for on-the-fly compiling, it does not compile automatically -->
  <script src=""></script>

  <!--   Load the navigo router -->
  <script src=""
    integrity="sha256-EfgFBwdiJuG/NJPYFztHuhSHB1BP4y2yS83oTm6iP04=" crossorigin="anonymous"></script>

  <!-- Configure the router and load initial route -->
    const router = new Navigo(null, true);

    riot.compile().then(() => {
      riot.mount('#mainview', {}, 'login')
    }).then(() => {
          'login': function () {
            riot.unmount('#mainview', true)
            riot.mount('#mainview', {}, 'login')
          'profile': function () {
            riot.unmount('#mainview', true)
            riot.mount('#mainview', {}, 'profile')
          'mytasks': function () {
            riot.unmount('#mainview', true)
            riot.mount('#mainview', {}, 'mytasks')

      router.notFound(function (params) {
        riot.mount('#mainview', {}, 'login')



Oct 16, 2019 05:50

Finding a good one-piece, clip-on voice recorder (dictaphone)

Posted by admin |

Up to €/$/£200 I have found these candidates:

  • Sony ICD-TX800 at around 200 €/$/£, a bit on the expensive side
  • Olympus VP-10 at around 100 €/$/£, great sound according to Youtube videos, but I've tried the clip and it slides off of garments, so it is out of the race
  • Sony icd-tx650 at around 150 €/$/£, seems to have built-in compression that gives a weird pumping effect according to a Youtube video. But this video shows it working great



As an extra precaution, I like to mic myself up with an extra device when I do a presentation or lecture that is recorded to video. It should be:

  • A self-sufficient unit
  • Discrete and small enough to not draw questions or opinions (but can be clearly visible)
  • Out of the way enough to not irritate the person who mics me up with the usual gear
  • Equipped with a strong enough clip to stay put in different positions


Another use case is for micing up a person I would interview. In that case it should be:

  • Easy enough to place on any garment so that a good recording can be obtained
  • Look classy enough so that the subject does not feel uncomfortable with say a taped-together contraption
Oct 10, 2019 10:50

A report on firmware/OS hardening in IoT devices

Posted by admin |

"the more area covered, the better the binary hardening (on average)." Synology seems to have better hardened IoT devices than others, Cyber-ITL takes a look at 22 brands,

Click to view full-size image…
Size: 51.8 kB

OpenWRT looks better than DD-WRT too.

Oct 09, 2019 09:30

Calling on videoing witnesses

Posted by admin |

A cool idea would be to have an app that summons witnesses to wherever you are, and they film, streaming.

Oct 07, 2019 04:56

Javascript template/app libraries with the least steep learning curve

Posted by admin |

About a year ago I worked in a project where the devs wouldn't have had the time to learn a complex framework such as React.js. They can learn it later if needed. Eventually we went with Riot.js .

Here were some of the initial ideas:

  • Prefer existing HTML tags over made-up tags
  • Separate html pages for separate, well, pages
  • Ability to ony partially take over a page
  • Ideally for each html tag, you can specify code for it, and on what events that code should trigger
  • Or the other way around, specify for an HTML element, what it is bound to

So here is a list of template/app libraries/frameworks and my initial impression of the learning curve compared to what they can do:

Thingy Learning curve Plain
Riot.js — Simple and elegant component-based UI library low No Yes custom tags, would prefer attributes to existing tags, there seem to be some edge cases that are documented but that could trip devs up
Svelte • The magical disappearing UI framework high      
Flight by Twitter       Uses events exclusively between components, so no references. Not updated for 3 years
Marko high      
Cell.js low Yes   Completely expressed with javascript object literals
stimulusjs   Yes   Uses normal tags with custom attributes, as for example Zope Page Templates does
Polymer high      
T3 JavaScript Framework lowish     Uses events like Flight.js, but marshalls them into an event bus. Not updated in 2 years.
Famous/framework       Not updated in 3 years
infernojs JSX      
React.js High      
EJS -- Embedded JavaScript templates High      
Sam-js Low Whatever No! Uses SAM pattern which I like, & is similar to how I did things with desktop GUIs. APIs not stable, says site.
Ractive       No widget/compoent arch.
lit-html       Efficient rendering of templates from javascript template strings       Render JSX without the React overhead


Sep 23, 2019 10:00

How to concatenate 2 (or more) mp4 files with ffmpeg

Posted by admin |

On Linux, put the file names with paths and prefix each with "file" in a file called e.g. files.txt:

file ./foo.mp4

file /bar.mp4


ffmpeg -safe 0 -f concat -i files.txt -c copy concatenated.mp4
Sep 20, 2019 01:12

If the man pages refuse to show on your Ubuntu server, even though you've installed it/them

Posted by admin |

There might be a file that just silently thwarts your attempts


Sep 06, 2019 04:38