Skip to content

Instantly share code, notes, and snippets.

View crissilvaeng's full-sized avatar

Cristina Silva crissilvaeng

View GitHub Profile
@crissilvaeng
crissilvaeng / main.py
Created April 12, 2021 03:06
Playground – Schedule Problem – Greedy vs NonGreedy Algorithm
from timeit import default_timer as timer
from random import randrange, choice
from itertools import combinations
from dataclasses import dataclass
from operator import attrgetter
from io import StringIO
from typing import List, Optional, Sequence, Tuple
@dataclass
@crissilvaeng
crissilvaeng / main.py
Last active April 8, 2021 01:04
Classic Computer Science Problems in Python – GeneticAlgorithm – SimpleEquation
from __future__ import annotations
from copy import deepcopy
from enum import Enum
from functools import reduce
from heapq import nsmallest
from itertools import tee
from math import radians, sqrt, sin, cos, atan2
from random import choices, random, shuffle, randrange
from statistics import mean
from operator import add
@crissilvaeng
crissilvaeng / main.py
Created March 17, 2021 23:27
Python League
from itertools import combinations
from random import choice
players = ['Cristina', 'Rodrigo', 'Moises', 'Wagner', 'Arthur']
league = list(combinations(players, 2))
print(league)
def victory_host(ranking, host, away):
ranking[host] = ranking.get(host, 0) + 3
@crissilvaeng
crissilvaeng / Dockerfile
Created March 11, 2021 03:07
Stockfish 13 Dockerfile
FROM python:3.8-buster
WORKDIR /root
ADD https://github.com/official-stockfish/Stockfish/archive/sf_13.tar.gz /root
RUN tar xvzf *.tar.gz && cd Stockfish-sf_13/src \
&& make net && make build ARCH=x86-64-modern
FROM python:3.8-slim-buster
@crissilvaeng
crissilvaeng / main.py
Created February 11, 2021 04:40
DoublyLinkedList
from itertools import islice
class Node:
def __init__(self, data, previous=None, next=None):
self.data = data
self.previous = None
self.next = None
def __eq__(self, other):
if isinstance(other, self.data.__class__):
@crissilvaeng
crissilvaeng / main.go
Last active May 26, 2020 15:04
COVID-19 stats CLI
// Copyright (c) 2020 Cristina Silva (crissilvaeng) <crissilva.eng@gmail.com>
// License: X11 License (X11) <https://spdx.org/licenses/X11.html>
package main
import (
"encoding/json"
"flag"
"fmt"
"io/ioutil"
@crissilvaeng
crissilvaeng / nautical_tracker.py
Last active January 7, 2020 05:14
nautical tracker (open and parse file)
import math
import argparse
import itertools
import statistics
COORDINATE_INDEX = 1
SPEED_INDEX = 3
parser = argparse.ArgumentParser(description='Nautical Tracker')
parser.add_argument('-f', '--filename', required=True, type=str, help='path to file')
@crissilvaeng
crissilvaeng / main.go
Created November 16, 2019 16:10
CLI: echo "checksum *filename" | sha256sum -c -, but in Golang
package main
import (
"io"
"os"
"log"
"fmt"
"flag"
"crypto/sha256"
"encoding/hex"
@crissilvaeng
crissilvaeng / Vagrantfile
Created March 16, 2019 02:28
Puppet Lab with Vagrant
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<-SCRIPT
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
dpkg -i puppetlabs-release-pc1-xenial.deb
apt-get update
SCRIPT
$server = <<-SCRIPT
// AI level 1: skill 3/20, depth 1, 50ms
// AI level 2: skill 6/20, depth 2, 100ms
// AI level 3: skill 9/20, depth 3, 150ms
// AI level 4: skill 11/20, depth 4, 200ms
// AI level 5: skill 14/20, depth 6, 250ms
// AI level 6: skill 17/20, depth 8, 300ms
// AI level 7: skill 20/20, depth 10, 350ms
// AI level 8: skill 20/20, depth 12, 400ms