vim /lib/systemd/system/pocketbase.service
systemctl enable pocketbase
systemctl start pocketbase
systemctl status pocketbase
systemctl stop pocketbase
systemctl restart pocketbase
import 'dart:async'; | |
import 'dart:convert'; | |
import 'dart:math'; | |
import 'dart:ui'; | |
import 'package:app/components/lifecycle_builder.dart'; | |
import 'package:app/components/button.dart'; | |
import 'package:app/components/cancelling_builder.dart'; | |
import 'package:app/components/keep_any_alive.dart'; | |
import 'package:app/components/listenables_builder.dart'; |
#define MAX_POINTS 16 | |
precision mediump float; | |
uniform sampler2D texture; | |
uniform vec2 points[MAX_POINTS]; | |
uniform float s2[MAX_POINTS]; | |
uniform vec2 w[MAX_POINTS]; | |
uniform int npoints; | |
uniform int warp; |
*.lock | |
android | |
ios | |
linux | |
macos | |
web | |
windows |
vim /lib/systemd/system/pocketbase.service
systemctl enable pocketbase
systemctl start pocketbase
systemctl status pocketbase
systemctl stop pocketbase
systemctl restart pocketbase
# install dart | |
sudo apt-get update && sudo apt-get install apt-transport-https | |
wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub \ | |
| sudo gpg --dearmor -o /usr/share/keyrings/dart.gpg | |
echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' \ | |
| sudo tee /etc/apt/sources.list.d/dart_stable.list | |
sudo apt-get update && sudo apt-get install dart | |
# install sqlite3 | |
sudo apt install libsqlite3-dev |
[keys.normal] | |
C-f = [":new", ":insert-output lf-pick", ":theme default", "select_all", "split_selection_on_newline", "goto_file", "goto_last_modified_file", ":buffer-close!", ":theme tokyonight_storm"] |
import 'package:collection/collection.dart'; | |
import 'package:shared_preferences/shared_preferences.dart'; | |
import '/architecture/let.dart'; | |
import '/membership/membership_state.dart'; | |
import '/membership/membership_tasks.dart'; | |
import '/telemetry/analytics.dart'; | |
Future<void> appOpenAction() async { | |
$analytics.vglAppOpenActionRequested(); |
import 'dart:io'; | |
Future<void> main(List<String> arguments) async { | |
final x1 = tryOrNull(() => throwing()); | |
print(x1); | |
final (v1, e1) = tryTuple(() => throwing()); | |
print("$v1, $e1"); | |
final (v2, e2) = tryTuple(() => nonThrowing()); |
function flutter-watch(){ | |
local PID_FILE="/tmp/tf$$.pid" | |
tmux new-session \;\ | |
send-keys "flutter run --pid-file=$PID_FILE" Enter \;\ | |
split-window -v \;\ | |
send-keys "npx -y nodemon -e dart -x \"cat $PID_FILE | xargs kill -s USR1\"" Enter \;\ | |
resize-pane -y 5 -t 1 \;\ | |
select-pane -t 0 \; | |
rm $PID_FILE; | |
} |
# launch daily notes with `notes` | |
# launch specific notes with `notes woodworking` | |
# this is a cloud synced file, so it's live on all my devices | |
function notes(){ | |
SUBJECT="${1:=daily}" | |
if [ -z "$SUBJECT" ] | |
then | |
(cd ~/Documents/notes && hx NOTES.md) | |
else | |
(cd ~/Documents/notes && hx "${SUBJECT:u}.md" NOTES.md) |