- Port core of the runtime to wasm: Extism Kernel extism/extism#384
- Extism is now a portable layer and we are no longer coupled to wasmtime!
- New universal JS-SDK (browser, node, deno, & bun) https://github.com/extism/js-sdk
- Universal library, no longer a separate node and a browser library
- Uses native web platform Wasm support and threading (V8 in chrome, Deno, and Node; JSC in bun and Safari; and Spidermonkey in Firefox) instead of wasmtime
- New Go-SDK https://github.com/extism/go-sdk
- Switched out wasmtime with wazero thanks to the Extism kernel
- Now no longer requires cgo and has a more idiomatic go API
- Extism-CLI re-written in Go using new go-sdk https://github.com/extism/cli
- Easier to install than python and installs as a single binary with no separate runtime object or python install
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(module | |
(func | |
(export "add41") | |
(param $n i32) | |
(result i32) | |
i32.const 41 | |
local.get $n | |
i32.add | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule ExtismElixirHost.PluginServer do | |
use GenServer | |
@impl true | |
def init() do | |
{:ok, nil} | |
end | |
@impl true | |
def handle_call({:new, manifest, wasi}, _from, plugin) do |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/local/bin/python | |
# -*- coding: utf-8 -*- | |
# Refactoring the [neighborhood annotation script](https://github.com/codefornola/nola-neighborhood-annotation) to | |
# utilize [the nolabase](https://github.com/codefornola/nolabase/) instead of using all the data | |
# and doing the computation locally. | |
# This demonstrates using the nolabase as a dependency to a community run application or tool. | |
# Run it by passing a connection string and an input and output csv file: | |
# ``` | |
# # get 2021 calls for service data as a test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SqlCanary | |
def self.enable! | |
Thread.current[:sql_canary] = true | |
end | |
def self.disable! | |
Thread.current[:sql_canary] = false | |
end | |
def self.enabled? |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
defmodule RecurlyBot do | |
use Application | |
# See http://elixir-lang.org/docs/stable/elixir/Application.html | |
# for more information on OTP Applications | |
def start(_type, _args) do | |
import Supervisor.Spec, warn: false | |
# Define workers and child supervisors to be supervised | |
children = [ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REGION = 'neworleans' | |
BASE_URL = "https://#{REGION}.craigslist.org" | |
parse_listings = lambda do |url| | |
results = JSON.parse Net::HTTP.get(URI(url)) | |
results.first.each do |item| | |
if item.key? 'GeoCluster' | |
parse_listings.call("#{BASE_URL}#{item['url']}") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"use strict"; | |
let im = require('imagemagick'); | |
let async = require('async'); | |
let fs = require('fs'); | |
let request = require('request'); | |
let path = require('path'); | |
let os = require('os'); | |
let fetchAndProcess = (task, done) => { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// This example is for testing php with libcurl | |
$ch = curl_init(); | |
curl_setopt($ch, CURLOPT_URL, "https://www.howsmyssl.com/a/check"); | |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE); | |
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); |
NewerOlder