Questions About Technology Investment: CharaCorder

“The CharaChorder is a new kind of typing peripheral that promises to let people type at superhuman speeds. It’s so fast that the website Monkeytype, which lets users participate in typing challenges and maintains its own leaderboard, automatically flagged CharaChorder’s CEO as a cheater when he attempted to post his 500 WPM score on the its leaderboards.

It’s a strange looking device, the kind of thing Keanu Reeves would interface with in Johnny Mnemonic. Your palms rest on two black divots out of which rise nine different finger sized joysticks. These 18 sticks move in every direction and, its website claims, can hit every button you need on a regular keyboard. “CharaChorder switches detect motion in 3 dimensions so users have access to over 300 unique inputs without their fingers breaking contact with the device,” it said.”

-Matthew Gault, “This Keyboard Lets People Type So Fast It’s Banned From Typing Competitions.” Vice. January 6, 2022.

Open Question: What is a good “investment” in technology?

Let’s imagine you have a child that it at the age they are starting to use a computer and a QWERTY style keyboard. Do you spend $250 and get them this kind of peripheral knowing:

  • It’s a new technology that likely will not be around in 20 years
  • It seems likely that in 20 years or so that the main input with computing will be via voice and/or video
  • It is even possible that in 20 years everyone will have a brain-computer interface.

Personally, I think it is useful to learn how to use new devices, even if they turn out to be novelty devices. It’s easy to see that certain popular devices that became obsolete have paved the way for the evolution for the subsequent devices that come later. Examples:

  • Mainframe computing led to personal computing which led to mobile computing
  • Blackberry, PalmOS, iPods were the precursors to Android and iPhones
  • Every few years, someone makes a new chat app, from ICQ and IRC to Telegram and Discord.

Familiarity with the previous version can help you transition to new variants. So, it’s probably a good idea to get familiar with technologies, even if you don’t think they will last.

Accessing a Locked Android Phone Not Displaying A Keyboard

I use AnySoftKeyboard as my keyboard of choice on Android. It’s great, except when my SD Card becomes corrupted. When that happens, AnySoftKeyboard no longer works. If my device is locked at the time, there doesn’t appear to be a way to type in my password to unlock the device.

There is a solution to this problem, if you have enabled Developer options and USB debugging on the device. Boot into recovery (Volume Up, Home & Power, all at the same time). Start adb on the device. Connect it to your computer with adb and reboot. Then from a command prompt on the computer, type in the following:

$ adb shell input text password && adb shell input keyevent 66

This will basically work just like the displayed keyboard on your device. keyevent 66 is the equivalent of Enter. Then, you can reformat your SDCard in Settings. Then, reboot the device and you will be good to go.

Mining the Ergo Cryptocurrency in the ergo.getblok.io Pool

Mining Ergo as part of the ergo.getblok.io mining pool is easy, particularly on Windows. If you already have a Ergo wallet, it can be set-up on a computer with a GPU video card compatible with mining Ergo in less than 5 minutes.

For Ergo, you need a card with a minimum of 4GB of RAM, ideally more. Create a Ergo wallet using Yoroi, if you don’t have one already. Download mining software compatible with your card, i.e., T-Rex (NVidia) or RedTeamMiner (AMD), Extract the mining software file in your Download directory. Open a text editor, and type in (or copy & paste) the following, assuming in this example you are on Windows:

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

C:\Users\your_username\path\to\mining\file\t-rex.exe -a autolykos2 -o stratum+ssl://ergo.getblok.io:4056 <YourErgoAddress>.<AnyNameYouWantToIdentifyTheComputer>

For clarity, <YourErgoAddress>.<AnyNameYouWantToIdentifyTheComputer> should look something like:

C:\Users\cafebedouin\Downloads\t-rex-0.24.7-win\t-rex.exe -a autolykos2 -o stratum+ssl://ergo.getblok.io:4056 9g1p6UU8XoAeU4yGPLpbTHYiG8aBHwfCFzQqJZrfzuLnmF3zb7P.covertmixeraddress

You can find your address by going to the Receive tab in Yoroi, you can then go to the getblok.io website and put in the information this page asks for and it will provide the information above for you. Save the file as ERGO_mining.bat. To start mining, simply click on the file.

Note: If you have a virus protection program like McAfee, you’ll need to restore the t-rex.exe file after extraction and exclude it from Real-Time Scanning in order to run it.

If you want the mining software to start when you reboot your computer, then, save ERGO_mining.bat in C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. If you have trouble finding it, you can always save it somewhere, type the Windows key + R to get the shell prompt, then type:

shell:startup 

This will bring up the Startup folder, and you can drag and drop the file into it..

Linux

This is harder for me to comment on since I am using a AMD card on my Linux machine, which can be a bit of a PITA to configure correctly. These instructions will get you in the ballpark with an AMD card, but be prepared to do some troubleshooting.

Let’s assume that you somehow managed to get your graphics card working on Linux. Then, the process is very similar to Windows above. Open a text editor and type the following:

#!/bin/bash

export GPU_MAX_ALLOC_PERCENT=100
export GPU_SINGLE_ALLOC_PERCENT=100
export GPU_MAX_HEAP_SIZE=100
export GPU_USE_SYNC_OBJECTS=1

/home/cafebedouin/Downloads/teamredminer-v0.8.6.3-linux/teamredminer -a autolykos2 -o stratum+ssl://ergo.getblok.io:4056  9g1p6UU8XoAeU4yGPLpbTHYiG8aBHwfCFzQqJZrfzuLnmF3zb7P.covertmixeraddress

Then, save the file as ergo_miner.sh. At the command prompt: chmod 744 ergominer.sh and then just run it as usual, by typing: ./ergo_miner.sh at the prompt. If you want it to automatically run whenever you restart your machine, this image from linuxconfig.org tells you everything you need to do to set it as a systemd service.

You.com

You.com, which bills itself as the world’s first open search engine, today announced its public beta launch…

Founded in 2020 by Socher and Bryan McCann, You.com leverages natural language processing (NLP) — a form of AI — to understand search queries, rank the results, and semantically parse the queries into different languages, including programming languages. The platform summarizes results from across the web and is extensible with built-in search apps so that users can complete tasks without leaving the results page.

“The first page of Google can only be modified by paying for advertisements, which is both annoying to users and costly for companies. Our new platform will enable companies to contribute their most useful actual content to that first page, and — if users like it — they can take an action right then and there,” Socher continued. “Most companies and partners will prefer this new interface to people’s digital lives over the old status quo of Google.”

—Kyle Wiggers, “AI-driven search engine You.com takes on Google with $20M.VentureBeat.com. November 9, 2021.

First I’m hearing of You.com, but it’s clear that something like this is the next iteration of search. Bookmarking to look into later.

bash: TOTP From the Terminal With oathtool

TOTP is Time-based One Time Password. Most people use applications on their phone for TOTP, such as andOTP, Google Authenticator, and related apps. But, as we move from using a phone as a second factor for what we are doing on a computer to a phone being the primary way we interact with the Internet, it makes sense to make the computer the second factor. This is the idea behind this script. It is based on analyth’s script, except I stripped out the I/O.

#!/bin/bash

# Assign variables
google=$(oathtool --base32 --totp "YOUR SECRET KEY" -d 6)
wordpress=$(oathtool --base32 --totp "YOUR SECRET KEY" -d 6)
amazon=$(oathtool --base32 --totp "YOUR SECRET KEY" -d 6)

# Print variables
echo "google: ${google} | wordpress: ${wordpress} | amazon: ${amazon}"

This will print:

google: 123456 | wordpress: 123456 | amazon: 123456

However, I didn’t like the idea of my one time password codes only being protected by normal file protections on a Linux system. I thought it should be encrypted with gpg. So, I saved it to a file in my scripts directory, totp, and encrypted it with my public key. If you don’t have a gpg key pair, instructions are available online.

$ gpg -r your@email.com -e ~/pathto/totp

Then, to run the shell script, do:

$ gpg -d ~/pathto/totp.gpg 2>/dev/null | bash

This will prompt you for your gpg password and then run this script. You likely won’t want to remember this string of commands, so you could make your life easier by adding it as an alias under .bash_aliases

alias totp='gpg -d ~/pathto/totp.gpg 2>/dev/null | bash'

Newsboat

Newsboat is the Mutt of RSS readers. Works and looks pretty much the same as mutt. In making the conversion, I learned that I have over 500 RSS feeds, which in combination with a few dozen newsletters via email is how I discover the material to post to this blog.

I used to use an app on my phone to scroll through when I had time, but I found using Newsboat sped up the process considerably. So, even though I have to sit down at the computer and go through each feed, Newsboat will be my default method moving forward. Recommended.

bash: Cryptocurrency Prices From the Linux Terminal

#!/bin/bash
printf -v coin '%s' -1   # crypto.sh bitcoin

price() {
  # A function that pulls cryptocurrency price data from coingecko
    
  curl -X 'GET' 'https://api.coingecko.com/api/v3/simple/price?ids='"$1"'&amp;vs_currencies=usd' \
     -H 'accept: application/json' 2> /dev/null | # sends download data to /dev/null
      
  sed  's/.*usd"://' |   # Removes everything before the price
  sed 's/..$//' |        # Removes back two }}
  sed 's/^/\$/'          # Adds dollar sign to the front, returns
}

bitcoin=$(price bitcoin)
ethereum=$(price ethereum)

# Checks to see if there is a command line variable and prints to console
if [[ -z $1 ]]; then
    echo "bitcoin: ${bitcoin} | ethereum: ${ethereum}"
else
    price=$(price $1) # calls function with command line variable
    echo "${1}: ${price} | bitcoin: ${bitcoin} | ethereum: ${ethereum}"
fi

h/t Techstructive for the basic idea. I simplified their code by cutting out the I/O and putting the coin as a variable when calling the script, e.g. crypto.sh bitcoin, and formatting it by piping it through sed. Have I mentioned how much I love sed?

Edit: Modified this on August 12, 2021 so it is now a function and prints a portfolio of coins. I track two or three, and it was getting annoying to have to do them each individually. All you need to do to modify it for the coins you are interested in is create a new function call:

cardano=$(price cardano)

Then add that to both the if and else print results.

    echo "${1}: ${price} | bitcoin: ${bitcoin} | ethereum: ${ethereum} | cardano: ${cardano}"