Clone Mastodon's repository.
# Clone mastodon to ~/live directory
git clone https://github.com/tootsuite/mastodon.git live
# Change directory to ~/live
cd ~/live
JavaScript does not bother you too much with types (at first), which is both a blessing and a cure. But we all know the Boolean type. Boolean variables can either be true
or false
. Yes or no.
Every value in JavaScript can be translated into a boolean, true
or false
. Values that translate to true
are truthy, values that translate to false
are falsy. Simple.
This is about two ways to make that translation.
Ford Fusion was an overhaul of Urbit's over-the-air upgrade process and a rewrite of its build system. The new update system corrects a few long-standing bugs with the previous one, and the new build system is simpler, smaller (by around 5,000 lines), and easier to manage.
Since deployment of Ford Fusion to the livenet in late June, over-the-air updates (OTAs) have been much smoother. Before Ford Fusion, it was common for an OTA to take several hours, use too much memory, and leave ships in inconsistent states. After Ford Fusion, multiple OTAs have been pushed out, including kernelspace changes, and most users didn't even notice.
Urbit has always been able to update itself OTA, but this process has often been rocky. Updating an operating system kernel on-the-fly is a difficult problem in general, like performing heart replacement surgery on yourself while running a marathon. Code that allows Linux to update its kernel in this way became a startup called Ksplice, won
const toBoolean = (context: any, flags: string[]) => { | |
for (const flag of flags) { | |
const propValue = context[flag]; | |
const propType = typeof propValue; | |
if ('boolean' === propType) { | |
context[flag] = propValue; | |
} |
const fs = require('fs') | |
const Arweave = require('arweave/node') | |
const argv = require('yargs').argv | |
const arweave = Arweave.init({ | |
host: argv.arweaveHost ? argv.arweaveHost : 'arweave.net', | |
port: argv.arweavePort ? argv.arweavePort : 443, | |
protocol: argv.arweaveProtocol ? argv.arweaveProtocol : 'https' | |
}) |
See https://subject.network/posts/urbit-windows-docker/ for an enhanced take on this guide, with screenshots and more.
-- We can re-use metatables where possible | |
local lookupCache = { | |
__index = function(self, i) | |
local v = { __index = i } | |
self[i] = v | |
return v | |
end | |
} | |
local function use_aho_corasick(automaton, str) |
local Cached = {} | |
local Properties = { | |
"AttachmentForward", | |
"AttachmentPoint", | |
"AttachmentPos", | |
"AttachmentRight", | |
"AttachmentUp", | |
"AlignType", | |
"MaxAngularVelocity", | |
"MaxTorque", |
/* | |
* Stripe WebGl Gradient Animation | |
* All Credits to Stripe.com | |
* ScrollObserver functionality to disable animation when not scrolled into view has been disabled and | |
* commented out for now. | |
* https://kevinhufnagl.com | |
*/ | |
//Converting colors to proper format | |
function normalizeColor(hexCode) { |