Hi! We’re Serokell – a company with about 30 Haskellers working on a bunch of blockchain-related projects (like Cardano or TeachMePlease). We are hiring SREs and a Head of IT Operations that can work with Nix (yay Nix!) and know some Haskell. The job is fully remote.
Today 2 years have passed since we started working with IOHK on Cardano. We recently parted our ways, which happened so peacefully and silently that you probably didn’t notice it. Although we have stopped working on the project directly, our love for Cardano is not extinguished. We are ready to move on.
The way we position ourselves, our future role in Cardano will be to build the infrastructure. All great technologies have only become popular when a great use for them has been found. And even though the development has been a bit passive, the great use for Cardano is right around the corner, we feel it, and want to help to find it.
This means that we have quite a few things in the store for Cardano. We will not reveal all of our projects right now, because that wouldn’t really be interesting, but we will reveal one — a gift to Cardano community for our time together. We will run a staking pool for Cardano, Hephaestus.
Hephaestus was the Greek god of fire, the god of inventors and artisans. This is exact
#lang racket | |
(require racket/set) | |
(define (pq-inserts elems pq) | |
(sort (append elems pq) (lambda (a b) | |
((first a) . < . (first b))))) | |
(define (a-star estimate neighbors dist eps start) | |
(define (go visited pq) | |
(match pq | |
[(list* (list estimation distance path) rest-pq) | |
(let ((point (first path))) |
import qualified Data.Map as Map | |
import qualified Data.Maybe as Maybe | |
import qualified Data.Set as Set | |
import qualified Data.List.NonEmpty as NE | |
import Data.List.NonEmpty (NonEmpty (..), (<|)) | |
| |
{- | | |
I use `Map.Map` as a priority queue, by popping element | |
with a minimal key using `Map.minView`. | |
-} |
import numpy as np | |
from typing import Tuple | |
def generate_data(center_scale: float, cluster_scale: float, class_counts: np.ndarray, | |
seed: int = 42) -> Tuple[np.ndarray, np.ndarray]: | |
# Fix a seed to make experiment reproducible | |
np.random.seed(seed) | |
points, classes = [], [] | |
for class_index, class_count in enumerate(class_counts): | |
# Generate the center of the cluster and its points centered around it |