Skip to content

Instantly share code, notes, and snippets.

@dmitriy-serdyuk
dmitriy-serdyuk / cp2110_serial.py
Created January 6, 2021 17:42
CP2110 fake interface
import cp2110
cp2110.cp2110 = cp2110
class CP2110Serial:
def __init__(self, baud):
self.device = cp2110.CP2110Device()
self.device.set_uart_config(cp2110.UARTConfig(
baud=baud,
@dmitriy-serdyuk
dmitriy-serdyuk / arg.py
Created March 21, 2019 20:02
Arparse meets dataclasses: automatically create parser for a given dataclass
import argparse
import dataclasses
__all__ = ('Arg', 'Int', 'Float', 'Str', 'Choice', 'parse_to')
class Arg:
def __init__(self, **kwargs):
super().__init__()
@dmitriy-serdyuk
dmitriy-serdyuk / karabiner.json
Created April 10, 2018 15:54
~/.config/karabiner/karabiner.json with language switching with left/right command key
{
"global": {
"check_for_updates_on_startup": true,
"show_in_menu_bar": true,
"show_profile_name_in_menu_bar": false
},
"profiles": [
{
"complex_modifications": {
"parameters": {
@dmitriy-serdyuk
dmitriy-serdyuk / audio_player.coffee
Created June 27, 2017 19:32
An example of bokeh widget to play audio data
import * as p from "core/properties"
import {Widget, WidgetView} from "models/widgets/widget"
export class AudioPlayerView extends WidgetView
initialize: (options) ->
super(options)
@get_data()
@connect(@model.data_source.change, () => @get_data())
get_data: () ->
This file has been truncated, but you can view the full file.
var x = "//OAxAAAAAAAAAAAAFhpbmcAAAAPAAB63AA8PmgAAwUICg0PEhQYGhwfISQmKSsvMTQ2ODs9QEJFR0tNT1JUV1lcXmFkZ2lrbnBzdXl7foCChYeKjJCSlZeanJ6ho6aorK6xs7W4ur2/wsXIys3P0dTW2dvf4eTm6Ovt8PL19/v9AAAAOUxBTUUzLjk4cgJpAAAAACwKAAAUKCQCQEIAACgAPD5oODGzDQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zEMQAAVAF/AAAxgABs479o5VUvv+Q64xp//NAxAcX6qYwVMjELPMIwHGQd2gbiMAQAAERHkAAAA6i270AznOdGPOc5+c5QM84cX6no2f+QDP/4QAESUIoGLf5CTn/kY8/1Sx0JOHA3OjdXVjvoQnnAw53/1hZ/1Bhvw/TxP9KSSn/85DEAjYLfjh+09Mcb7dYgKEDUtDnpwEndRPpWNrT9N1gSdpc6mNNKJXlbr3qW5Yt52L3LsrpiFE09o5MSliSNt5G9zYErFNxTxFEyItTuTxSMyoiaZ54Z+PyEPiUTVRRWIUNwukZELtyxijx/HU6iwpXM/3OVEny2J60SkBseK6vwem8vIktmpPFpMc7QtnRFfKVRyG+pVIm2FwhwD4WGkTJRM2gJuMkEBsnKIhQmwRvZWHxQ1POooGF1GP//4ilBMmb3NXbpfPD1Fdz/WQ/8thjUZ4k4udFmYOsIANxDalehVUNSSW3b7b76lcO4BEuc0guh1vtONuywd1mMqmyqLGI4iT/82DEISjLVopeYNJ2Q6k1cnoYvmn1Z9tZA96w0shZQmUbVxn4oWp9DppGps2uvBaNyuEdVKbLwLtzipfjj45pWaKbmmShi5KHFUnpCRdhDE1rm6Xn4WnL0lnzz375xcksxKEVy0Cea9xR7BQ+asiQikwwdNI1kDf+qynzrOZFVM+LgieAsKhYGALBbWQu9ioFayy0YCCZRsBjJCP/81DEDCA
@dmitriy-serdyuk
dmitriy-serdyuk / main.py
Last active May 15, 2018 17:50
A small demonstration of plotting mimir logs with visdom
import mimir
import time
from visdom_handler import VisdomHandler
def main():
logger = mimir.Logger()
visdom_handler = VisdomHandler(['train', 'valid'], 'ce',
dict(title='Train/valid cross-entropy',
xlabel='iteration',
class Mode(object):
"""Setup mode train or test.
It is meant to be used in a context created by `train` or `test`.
Crashes if used outside of context.
An intended use is to create a brick with conditional apply method
which checks mode inside. A brick should store the mode object in
a field. Several bricks can use the same mode object.
import tinydb
from tornado import gen
from functools import partial
from bokeh.models import ColumnDataSource
from bokeh.plotting import curdoc, figure
# this must only be modified from a Bokeh session allback
import base64
import json
import numpy as np
import cPickle
import pandas
class NumpyEncoder(json.JSONEncoder):
def default(self, obj):
@dmitriy-serdyuk
dmitriy-serdyuk / text.tex
Last active October 7, 2015 19:54
French class
\documentclass{article}
\usepackage[utf8]{inputenc}
\begin{document}
\section{Le tête}
Bonjour. Je voudrais vous presenter une histoire de 2012.
\section{Le lieu}