Skip to main content

Johan Bové

Johan Bové

Johan Bové

Johan Bové

I always need to look up how to use the bpcopy command on the terminal.

Johan Bové

Anyone else also use a simple shell command to effortlessly add to-dos to a todo.txt file in their home folder? I love how this works from any open terminal window. Doing the same for quick notes as well.

Johan Bové

TIL that changing a .bashrc alias to a bash function requires you to restart the terminal as calling source ~/.bashrc does not change the alias to the function call.

Johan Bové

Contact-less cash in the Real World?

How to hand out cash contact-less?

4 min read

Got a SwatchPay watch developed by Swatch and G+D Mobile Security, the other Saturday as a father’s day gift. I activated the payment function today using the Boon Virtual Debet Card I had registered for some months ago. Since WireCard in Germany is filing for bankrupcy there was some confusion and uncertainty.

The nice people at the Düsseldorf @Swatch store had to verify that it would work. It did. Some time later I paid contact-less for lunch with my new watch. Pretty sleek and COVID - safe.

Being able to pay contact-less is pretty great. But people on the street who depend on small change donations are really left out. I simply don’t carry cash and coins anymore with me. My credit-card size wallet also attest for that.

So how could we give small-change using a contact-less cash system? Similar to how in China vagrants use Alibaba Pay QR codes to beg for a small contribution on the street.

How would that work with a system that relies on NFC like SwatchPay? Give everyone who needs it access to NFC readers? What is the cheapest, most battery-efficient, weather-proof, solar-powered NFC reader payment terminal you know of?

It would have to be a system that works offline, but where the collections can be transfered into a system that exchanges for actual cash or exchange for food and clothes or shelter. People who have no identification should also still be able to use this system. The reader would have to taken care of as if it was actual cash.

How can we digitalize small-change donations in Germany where a large part of the population, luckily, still trusts cash in the hand more than electronic payment systems?

So the best solution is that we would reverse the devices. The people on the street all get “SwatchPay - like” watches or a similar thing like a card. They work without a battery, need only to be registered once. Then it would be up to everyone else to use their phones, or a portable NCF payments-capable device, to initialize the donation transaction. There would be an app for that. Just like the existing Boon or SwatchPay apps.

Instead of paying, we would be giving.

How much technology is inside the SwatchPay watches? It’s an NFC tag chip, similar to the ones we all have on our bank and credit cards.

How SwatchPay! Works (source)
Payments are made possible by the NFC chip, which is located on the back of the case. In a ring around the bezel, the watch has an antenna that catches the radiation, connecting the chip with the payment terminal. This is exactly the same technology as your bank card uses. You can activate your watch with your internet banking system. Setting this up costs about ten minutes. SwatchPAY! uses a method they call tokenization, which creates a unique “token” for the device. Simply store your credit or prepaid card on your smartwatch via the app (activation of SwatchPAY! watch in Swatch store) – the app is available for iOS and Android.

More insights in the tokenization can be found in the PDF: SwatchPay case-study by G+D Mobile Security.

Giesecke+Devrient Mobile Security is a company based in Munich, Germany

I’m not an engineer or have really investigated fully into the technical side of this, but the logic seems sound. What if we could tokenize everything this way?

And how we would avoid abuse is a whole different level of challenges to look into.

Johan Bové

Note: Making Beaker OS a reality

Gathering ideas and basic requirements

1 min read

Actually: Beaker OS would be very similar to Google's Chrome OS which installs on many laptops. What would be necessary to make Beaker OS "bootable" ?

A list of basic applications any computer should have

  • Editor: check: basic text editor and coding IDE (similar to VScode)
  • Browser: check; similar to Chromium, without the extensions. Also issues with accessibility and internationalization.
  • Application platform: check
  • Address book: how would we integrate non-beaker profiles in the address book?
  • Calendar: CalDav, web client
  • Message client (email): web client
  • File Manager: check, but issues with syncing with OS FUSE and Hyperdrive
  • Terminal: check, and extensible with "Web Term Commands"
  • Media player: some examples: Winamp player, video player?
  • Photo Management: creating a photo gallery is easy. Web client?
  • Chat client: IRCCloud, web clients
  • "Office-like" applications: spreadsheet, editor, presentations: offline working spreadsheet?
  • Games: many web games already out there. Some multi-player using Beaker api?
  • Remote Desktop Client: not sure how this would work.

Johan Bové

Checked into Terminal A

Flying back from Berlin to Düsseldorf

Johan Bové

Git aliases

1 min read

As a developer I use Git all the time and since I also spend a lot of time in terminals, and modern terminals have the option to create aliases for commands, I have these Git command aliases to speed up my workflow:

# PGP
# Checks the git log for commits with a signature and very the found PGP keys with keys looked up
#   in pgp.mit.edu
# See https://mikegerwitz.com/papers/git-horror-story
alias gitpgp='git log --show-signature | grep "RSA key" | grep -o "[A-Z0-9]\+$" | sort | uniq | xargs gpg --keyserver pgp.mit.edu --recv-keys $keys'

# GIT
alias gc='git checkout'
alias gf='git fetch'
alias gs='git status'
alias gl='git log --oneline'
alias gp='git pull'
# Will give you a list of branches sorted by committer date
alias gbl='git for-each-ref --sort=committerdate refs/heads/ --format="%(color:red)%(committerdate:short) %(color:cyan)%(refname:short)"'
alias gh='git rev-parse --verify --short HEAD'

, , ,