Skip to content

Instantly share code, notes, and snippets.

View roguh's full-sized avatar
🦾
werk werk werk

Hugo Rivera Calzadillas roguh

🦾
werk werk werk
View GitHub Profile
@roguh
roguh / tox.ini
Last active March 29, 2024 22:38
# This demonstrates using tox to test different Python versions and different library versions on select Python versions.
# TODO: use asdf, pyenv, Dockerfile to install many py versions
# Dependencies: aiohttp
# Dev dependencies: pytest pytest-asyncio pytest-cov tox tox-pyenv
[tox]
envlist =
# The oldest Python version we support
# 3.7 is EOL and 3.8 only has 1 more year of security updates
@roguh
roguh / gist:34e93d2568d637be93b2c72695b46abd
Last active July 31, 2023 22:07
Lua resolve hostname with resty.dns.resolver
function resolve_hostname(hostname)
local dns_resolver_lib = require("resty.dns.resolver")
local dns_resolver, dns_resolver_err = dns_resolver_lib:new({
-- Kubernetes default nameserver IP
-- If your hostnames are public, try Google's DNS nameserver 8.8.8.8
nameservers = {"kube-dns.kube-system.svc.cluster.local"},
-- 250 milliseconds
timeout = 250,
retrans = 2
@roguh
roguh / gist:cd110ee563006c7aca4e15478efc9823
Last active April 24, 2023 18:22
First shot at building a chip, connecting NAND gates
# See updates here: github.com/roguh/gdsfactory_nand2tetris.git
# python 3.11 support. unit tests seem ok, may need some reference GDS files
# download https://gdsfactory.github.io/skywater130/ (sky130 package) but make sure to use laatest version of gdsfactory, run `make install`
# `pip install gdsfactory[full,dev]`
# use https://github.com/gdsfactory/kweb for visualization
# put file x.gds into gds_files and navigate to localhost:8000/gds/x to see it
# TODO: list gds files at homepage /, route should be /gds_files/x with /gds_files/x.gds redirect
# gdsthing.plot_matplotlib() is slow
@roguh
roguh / countries.json
Last active July 26, 2022 01:40 — forked from keeguon/countries.json
A list of countries in JSON
[
{
"name": "Afghanistan",
"code": "AF"
},
{
"name": "Åland Islands",
"code": "AX"
},
{
@roguh
roguh / redis_con.py
Last active February 4, 2022 16:47
Connect to a redis sentinel
from redis.sentinel import Sentinel
def connect_to_redis(address: str, port: int, redis_set: str):
sentinel = Sentinel([(address, port)], socket_timeout=0.5)
con = sentinel.master_for(
redis_set,
decode_responses=True,
socket_timeout=0.5,
)
con.echo("test")
return con
#!/usr/bin/env python3
import fileinput
import json
import re
import sys
from argparse import ArgumentParser
from dataclasses import dataclass
from pprint import pprint
from typing import Any, Dict, List, Optional, Union
const env = require('env-var')
const Timeout = require('await-timeout')
const { connect, JSONCodec } = require('nats')
const NATS_AUTH_TOKEN = env
.get('NATS_AUTH_TOKEN')
.required()
.asString()
# install the digi-xbee package
import binascii
import json
import os
import pprint
import time
from digi.xbee.devices import XBeeDevice
from digi.xbee.models.address import XBee64BitAddress
Hugo O Rivera is roguh.com
roguh is Hugo Rivera
Hugo O Rivera
#!/bin/sh
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -v "node_modules" | grep -E '\.(js|jsx)$')
if [[ "$STAGED_FILES" = "" ]]; then
exit 0
fi
PASS=true