Skip to content

Instantly share code, notes, and snippets.

View juliosantos's full-sized avatar

web the third juliosantos

View GitHub Profile
@juliosantos
juliosantos / CredentialVerifier.sol
Last active June 2, 2022 18:14
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.7+commit.e28d00a7.js&optimize=false&runs=200&gist=
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.12;
import "@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
contract CredentialVerifier {
modifier requiresCredential(
@juliosantos
juliosantos / rust-and-blockchain-engineer.md
Created May 18, 2021 08:41
Rust and Blockchain Engineer at Fractal Protocol

We're a passionate team who moves fast and gets things done. We started Fractal in 2017 with our first product, Fractal Launchpad — a crowdfunding platform where blockchain projects such as the Ocean Protocol raised funds from the community.

Fractal ID, our current product, is a federated identity system (think "log in with Facebook", but with verified users). It collects and verifies user identities according to the compliance needs of our clients (blockchain fintechs). Because these identities are reusable, we deliver fast frustration-free onboarding for users and high conversion rates for clients. We also help users create decentralized identities on Ethereum and hold their credentials in our Fractal Wallet product.

We've now started to build the Fractal Protocol on Substrate. It is an open source protocol designed to rebalance the online advertising market by providing safe infrastructure for incentivized data provisioning and consumption. The ad market used to fund a free and open Web — critical for de

Keybase proof

I hereby claim:

  • I am juliosantos on github.
  • I am juliosantos (https://keybase.io/juliosantos) on keybase.
  • I have a public key whose fingerprint is 08AF CCEA D2B8 9E81 FF06 A328 D180 40DD 1CDF AEDD

To claim this, I am signing this object:

I'm the CTO at Fractal, looking for a Blockchain Lead: a strong right arm for our new blockchain venture. Someone to come deep into the Polkadot/Substrate ecosystem, help me with research, and shape the product's technical direction. Someone to help me hire and coordinate internal and external resources to imagine, design and build a better Web. Let me explain what I mean.

We're a tight, passionate team who moves fast and gets things done. We started Fractal in 2017, and our first product was Fractal Launchpad — a crowdfunding platform where blockchain projects such as the Ocean Protocol raised funds from the community.

Fractal ID, our current product, is a federated identity system (think "log in with Facebook", but with verified users). It collects and verifies user identities according to the compliance needs of our clients (blockchain fintechs). Because these identities are reusable, we deliver fast frustration-free onboarding for users and high conversion rates for clients.

We're now starting to [buil

#!/bin/bash
# pkoch: I've removed the trace funcionality, unified outputs, and only send email on non-zero result.
# Cronic v3 - cron job report wrapper
# Copyright 2007-2016 Chuck Houpt. No rights reserved, whatsoever.
# Public Domain CC0: http://creativecommons.org/publicdomain/zero/1.0/
set -eu
TMP=$(mktemp -d)
OUT=$TMP/cronic.out
; <<>> DiG 9.10.6 <<>> +trace +additional sapo.pt SOA
;; global options: +cmd
. 86373 IN NS m.root-servers.net.
. 86373 IN NS b.root-servers.net.
. 86373 IN NS c.root-servers.net.
. 86373 IN NS d.root-servers.net.
. 86373 IN NS e.root-servers.net.
. 86373 IN NS f.root-servers.net.
. 86373 IN NS g.root-servers.net.
So this works as a reference since I couldn't find a thorough enough guide on the whole Internet for a unix-averse person like myself.
A Facebook application runs on what they call the *canvas*, which is a hole punched on their layout where the content of a *callback URL* will be rendered. When a user makes a request to see the application, Facebook parses the request and makes its own request to the callback URL. This means that Facebook must be able to communicate with the server where the content is.
When developing on a laptop this is often an issue if the underlying network is not under your control (meaning you can't setup port forwarding on the NAT router). This sucks big time.
ssh tunneling to the rescue! All we need is a machine with a direct connection to the Internet somewhere on the cloud, such as a VPS. We tell Facebook that our callback URL is on that VPS, and we set up a tunneling scheme to ensure that all requests made to the VPS are automatically and seamlessly forwarded to our laptop throu
0x00095ff515abbffccf2fe00270a1e685be8affde
pragma solidity ^0.4.0;
contract Eventer {
event Record(
address _from,
string _message
);
function record(string message) {
Record(msg.sender, message);
@juliosantos
juliosantos / tlds.go
Created May 17, 2015 16:39
Go web API for TLD checking
package main
import (
"fmt"
"net/http"
"os"
"time"
"io/ioutil"
"encoding/json"
"strings"