Public Release Feb17, 2021.
Copyright 2021, AKA Infra
Released under Creative Commons by Attribution 4.0 International (CC BY 4.0)
You are free to:
- Share — copy and redistribute the material in any medium or format
## So you want to use stuff like 'tmux' and 'lolcat' on the Steam Deck, but they haven't been included in the base OS? | |
# One way to do it is this. | |
# 1. setup a chroot environment so there is a file structure in which Pacman can download/unpack packages and their dependencies. | |
# 2. don't use it as a chroot environment; rather, add the various /bin directories inside it to your $PATH, and create an /etc/ld.so.conf.d/deck-local-arch.conf to permit the bins to find the libs they need. | |
mkdir -p ~/.local/packer | |
cd ~/.local | |
#these steps are required, or else the pacstrap will fail with 'marginal trust' errors | |
pacman -Sy archlinux-keyring | |
pacman-key --populate archlinux |
export async function* streamToAsyncIterable<T>(stream: ReadableStream<T>): AsyncIterableIterator<T> { | |
const reader = stream.getReader(); | |
try { | |
while (true) { | |
const { done, value } = await reader.read(); | |
if (done) return; | |
yield value; | |
} | |
} finally { reader.releaseLock() } | |
} |
#include "uvwasi.h" | |
__wasi_errno_t __wasi_args_get(char** argv, char* argv_buf) { | |
return __WASI_ENOTSUP; | |
} | |
__wasi_errno_t __wasi_args_sizes_get(size_t* argc, size_t* argv_buf_size) { | |
return __WASI_ENOTSUP; |
This Gist is a quick writeup for devs using the beta or master
build. We'll get a more complete writeup in the Beaker site docs on 0.8's final release. Feel free to open issues for discussion.
We've done some work on the DatArchive
API to make it easier to use. Prior to 0.8, Dats had a "staging area" folder which you had to commit()
to publish. In 0.8, Beaker will automatically sync that folder. As a result, the staging-area methods (diff()
commit()
and revert()
) were deprecated. There are also some new methods, and a few changes to how events work.
Here's a full reference:
So, as I mentioned last time, I have two fundamental goals with dat that are not addressed by simply running dat share
.
To break these down a bit more, uptime is a combination of two things:
'use strict'; | |
const parseMs = require('parse-ms'); | |
const plur = require('plur'); | |
const units = [{ s: 'y', l: 'year' }, | |
{ s: 'd', l: 'day' }, | |
{ s: 'h', l: 'hour' }, | |
{ s: 'm', l: 'minute' }, | |
{ s: 's', l: 'second' }, | |
{ s: 'ms', l: 'millisecond' }]; |