I hereby claim:
- I am addrummond on github.
- I am alexdrummond (https://keybase.io/alexdrummond) on keybase.
- I have a public key ASAMFkJCiG1DjIEFh9ywx_lXhw8ViQsJtN7any7dRyN2Hwo
To claim this, I am signing this object:
# coding=utf-8 | |
import sys | |
from itertools import * | |
from sets import * | |
vocab_items = [(x[0], Set(x[1])) for x in | |
(u'kalt', ()), | |
(u'kaldur', ('+A', '+B')), | |
(u'köld', ('-B',)), | |
(u'kaldan', ('-pl', '+acc', '+A', '+B')), |
# coding=utf-8 | |
import sys | |
from itertools import * | |
from sets import * | |
vocab_items = [(x[0], Set(x[1])) for x in | |
(u'kalt', ()), | |
(u'kaldur', ('+A', '+B')), | |
(u'köld', ('-B',)), | |
(u'kaldan', ('-pl', '+acc', '+A', '+B')), |
/* This software is licensed under a BSD license; see the LICENSE file for details. */ | |
function boolToInt(x) { if (x) return 1; else return 0; } | |
define_ibex_controller({ | |
name: "MyDashedSentence", | |
jqueryWidget: { | |
_init: function() { | |
this.cssPrefix = 'DashedSentence-'; |
// ========== START OF CODE TO COPY INTO YOUR DATA FILE ========== | |
var IMAGES_TO_PRELOAD = [ | |
// CHANGE THESE TO THE URLS OF THE IMAGES THAT YOU WANT TO PRELOAD | |
"https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Capra_ibex_nubiana_near_Mitzpe_Ramon_in_summer_2011_%284%29.JPG/1200px-Capra_ibex_nubiana_near_Mitzpe_Ramon_in_summer_2011_%284%29.JPG", | |
"http://elelur.com/data_images/mammals/alpine-ibex/alpine-ibex-01.jpg" | |
]; | |
define_ibex_controller({ | |
name: "Preloader", | |
jqueryWidget: { |
I hereby claim:
To claim this, I am signing this object:
Appendix to the blog post.
The following assumes that the alphabet is {A, B}. The results easily generalize.
Lemma 1: Two strings S1 and S2 have no string lexicographically between them iff S1 = S2A or S2 = S1A. (Proof at end.)
Definitions:
Release announcement in the Google group
Raise bug reports as issues in this git repo.
The new Ibex Farm was released on December 31 2020.
// Set up the following environment variables and then run with the path to the 'deploy' dir as the first and only argument. | |
// | |
// export IBEXFARM_DATABASE_URL=postgresql://postgres:password@localhost:6432/nmibex_dev | |
// export IBEXFARM_QUOTA_ID=1 | |
// export IBEXFARM_S3_HOST=http://localhost:9000 | |
// export IBEXFARM_S3_BUCKET=nmibex-dev | |
// export IBEXFARM_NO_S3_SSL=true | |
// export IBEXFARM_USE_MINIO=true | |
// export AWS_ACCESS_KEY_ID=key | |
// export AWS_SECRET_ACCESS_KEY=password |
defmodule HtmlLintPlug do | |
require Logger | |
def init(opts), do: opts | |
def call(conn, _opts) do | |
Plug.Conn.register_before_send(conn, &lint/1) | |
end | |
defmodule Error do |
#[rustler::nif] | |
fn lint(env: Env, input: String) -> Result<Term, Error> { | |
let parse_errors = lint_html::lint(input); | |
return convert_errors(env, parse_errors); | |
} | |
fn convert_errors(env: Env, parse_errors: Vec<(u64, String)>) -> Result<Term, Error> { | |
if parse_errors.len() == 0 { | |
return Ok(ok().to_term(env)); | |
} else { |