Prefix all commands with 'sudo'
- Install prerequisites
$ apt-get install sendmail mailutils
- Configure hosts file correctly:
KEYMAPOPTS="us us" | |
HOSTNAMEOPTS="-n alpine" | |
INTERFACESOPTS="auto lo | |
iface lo inet loopback | |
auto eth0 | |
iface eth0 inet dhcp | |
hostname alpine | |
" | |
TIMEZONEOPTS="-z UTC" |
I bought M1 MacBook Air. It is the fastest computer I have, and I have been a GNOME/GNU/Linux user for long time. It is obvious conclusion that I need practical Linux desktop environment on Apple Silicon.
Fortunately, Linux already works on Apple Silicon/M1. But how practical is it?
#!/bin/sh | |
log() { | |
format="$1"; shift | |
# shellcheck disable=SC2059 | |
>&2 printf "$format\n" "$@" | |
} | |
usage() { | |
>&2 cat <<EOF |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<meta http-equiv="X-UA-Compatible" content="ie=edge"> | |
<title>Filter, Map & Reduce</title> | |
</head> |
. | |
.. | |
........ | |
@ | |
* | |
*.* | |
*.*.* | |
🎠|
pm disable-user --user 0 com.caf.fmradio | |
pm disable-user --user 0 com.coloros.activation | |
pm disable-user --user 0 com.coloros.activation.overlay.common | |
pm disable-user --user 0 com.coloros.alarmclock | |
pm disable-user --user 0 com.coloros.appmanager | |
pm disable-user --user 0 com.coloros.assistantscreen | |
pm disable-user --user 0 com.coloros.athena | |
pm disable-user --user 0 com.coloros.avastofferwall | |
pm disable-user --user 0 com.coloros.backuprestore | |
pm disable-user --user 0 com.coloros.backuprestore.remoteservice |
#!/usr/bin/env bash | |
# 2017-11-20T09:57:46.101+0000 1511171866101 65 Flat xDrip-DexcomG5 | |
LINE=$(curl "https://acron-nightscout.herokuapp.com/api/v1/entries" 2> /dev/null | head -n1 ) | |
TIME_THEN=$(echo $LINE | awk '{ print $2 }' | cut -c -10) | |
TIME_NOW=$(date +%s) | |
MMOL=$(echo $LINE | awk '{ print $3 }') | |
ARROW=$(echo $LINE | awk '{ print $4 }') | |
MINS_SINCE=$(echo "($TIME_NOW - ${TIME_THEN:-0}) / 60" | bc | xargs printf "%sm ago") | |
case $ARROW in | |
Flat) ARROW_SYM="\\u2192" |
const byteToHex = (byte) => { | |
const key = '0123456789abcdef' | |
let bytes = new Uint8Array(byte) | |
let newHex = '' | |
let currentChar = 0 | |
for (let i=0; i<bytes.length; i++) { // Go over each 8-bit byte | |
currentChar = (bytes[i] >> 4) // First 4-bits for first hex char | |
newHex += key[currentChar] // Add first hex char to string | |
currentChar = (bytes[i] & 15) // Erase first 4-bits, get last 4-bits for second hex char | |
newHex += key[currentChar] // Add second hex char to string |