Skip to content

Instantly share code, notes, and snippets.

View andrewxhill's full-sized avatar

Andrew W. Hill andrewxhill

View GitHub Profile
andrewxhill /
Last active June 7, 2024 20:02
example random access formats
File Format Indices (within file) Index Types Sharding Analysis Library DB Interfaces (Examples) Performance Granularity Compression Data Types Durability Security Community/Support Maturity Cost/License Basin Use-cases
Nimble Columns and streams Block encoding, cascading (recursive/composite) encoding, pluggable encoding selection policies Supported Flatbuffers, SIMD, GPU Designed for wide workloads, extensibility APIs Thousands to tens of thousands of columns and streams Flatbuffers, block encoding, recursive/composite encoding Many, with extensibility for additional encodings In development, no stability/versioning guarantees yet Focus on a single unified library to prevent fragmentation Work in progress, community support through Meta Active development, no stable release yet Open-source, dependenc
andrewxhill /
Last active May 30, 2024 10:35
A list of frameworks for decision making and where they are most helpful.
Framework (starter video) Internal & External Factors Analysis Competitive Environment Analysis Product/Market Growth Strategy Performance Measurement Decision Path Analysis Financial Evaluation Risk Identification & Management Organizational Alignment
SWOT Analysis
PESTLE Analysis
andrewxhill / Chain Of Trust (but verify).ipynb
Last active November 8, 2023 06:14
Chain of Trust - but verify...
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
andrewxhill / TransferLogs.sol
Created May 4, 2023 18:53
Generate queryable ownership records and transfer logs in any ERC721. This example is extending OpenZepplin functions. You can see the contract here and the owner logs here an…
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.12;
import "@openzeppelin/contracts@4.8.3/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts@4.8.3/token/ERC721/extensions/ERC721Burnable.sol";
import "@openzeppelin/contracts@4.8.3/token/ERC721/utils/ERC721Holder.sol";
import "@openzeppelin/contracts@4.8.3/access/Ownable.sol";
import "@openzeppelin/contracts@4.8.3/utils/Counters.sol";
import "@tableland/evm/contracts/ITablelandTables.sol";
import "@tableland/evm/contracts/utils/TablelandDeployments.sol";
andrewxhill / minimum_spanning_tree.sql
Created March 13, 2016 14:07
Minimum spanning tree in SQL... just because
CREATE TYPE minimum_spanning_tree_internal AS (
a INT[],
b INT[],
geoms GEOMETRY[],
ids TEXT[]
CREATE TYPE minimum_spanning_tree_unit AS (
andrewxhill / ReadTablelandValue.sol
Last active November 29, 2022 00:24
Uses to return a single cell value from any table or sql request on Tableland
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;
import "@openzeppelin/contracts/utils/Strings.sol";
import "@openzeppelin/contracts/utils/structs/EnumerableMap.sol";
interface IMidpoint {
function callMidpoint(uint64 midpointId, bytes calldata _data) external returns(uint256 requestId);
andrewxhill /
Last active June 5, 2022 13:42
Powergate Workshop

Introduction to Filecoin app building

This document:

Slides from intro presentation:

In this workshop, we are going to introduce you to Filecoin through the use of the Powergate. While you can develop using Lotus or other Filecoin implementations directly, the Powergate is designed to provide the necessary abstractions to build Filecoin storage into your application. Some features of the Powergate include fast data retrieval with IPFS serving as a caching layer, deal management, multi-tenant wallet APIs, and more. The system comes set up to run locally in Docker or deploy to your servers.

We'll cover the Powergate CLI and the Powergate JavaScript Client in the two parts of the workshop. To prepare, we encourage you to install a few things before we get started.

// trigger bridge deposit for a user with their wallet
const onSubmit = () => {
.then(() => setDeposit(true))
.catch((err: Error) => alert(err.message));
andrewxhill /
Last active June 11, 2021 15:27
command-line python interface for manipulating data on CartoDB
import os
import urllib
import urllib2
import base64
import json
import sys
import argparse
import requests
except ImportError: