Skip to content

Instantly share code, notes, and snippets.

View egormkn's full-sized avatar

Egor Makarenko egormkn

View GitHub Profile
@egormkn
egormkn / ipylocalstorage.js
Last active October 14, 2023 09:57
ipylocalstorage.py
/** @param {{ model: DOMWidgetModel, el: HTMLElement }} context */
export function render({ model, el }) {
const pull = () => {
const key = model.get("key");
const value = model.get("value");
if (localStorage.getItem(key) != value) {
if (value === null) {
localStorage.removeItem(key);
} else {
@egormkn
egormkn / react-query-lite.jsx
Last active October 2, 2023 10:19
react-query-lite.jsx
import React from "react";
const QueryContext = React.createContext();
export function QueryClientProvider({ children, client }) {
React.useEffect(() => {
const onFocus = () => {
client.queries.forEach((query) => {
query.subscribers.forEach((subscriber) => {
subscriber.fetch();
@egormkn
egormkn / mathematica-decoder.py
Created September 2, 2022 17:09
Mathematica Decoder
#!/usr/bin/env python3
from argparse import ArgumentParser
huffman_table = [
"1111110101100100000010",
"1111110101100100000011",
"1111110101100100000100",
"1111110101100100000101",
"1111110101100100000110",
@egormkn
egormkn / Dockerfile
Created May 20, 2020 18:43
Lama Dockerfile
FROM ocaml/opam2:4.07
# Avoid warnings by switching to noninteractive
ENV DEBIAN_FRONTEND=noninteractive
# Install dependencies
RUN sudo apt-get update \
&& sudo apt-get install -y --no-install-recommends m4 gcc-multilib \
&& sudo rm -rf /var/lib/apt/lists/*
@egormkn
egormkn / bigg-models-updater.sh
Created April 8, 2020 15:20
Script for updating local genome-scale model database
#!/bin/bash
check_installed() {
command -v "$1" >/dev/null 2>&1 || {
echo >&2 "$1 required but it's not installed. Aborting."
exit 1
}
}
# Check required commands
@egormkn
egormkn / minecraft-server-setup.sh
Last active April 9, 2022 16:20
Minecraft Server setup script
#!/bin/bash
# https://minecraft.gamepedia.com/Tutorials/Server_startup_script
# https://gist.github.com/justinjahn/4fe65b552b0622662420928cc8ffc7c0
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root"
exit 1
fi
@egormkn
egormkn / jupyter-lab-icon.md
Last active August 10, 2023 14:42
Running JupyterLab as a desktop application on Linux

GNOME Desktop icon for Jupyter Lab

Installation

  1. Copy jupyter-lab.desktop to ~/.local/share/applications
  2. Copy jupyter-lab.svg to ~/.local/share/icons
  3. Restart gnome-desktop session (Alt+F2 -> restart)

Домашнее задание: Выражения

Разработайте классы Const, Variable, Add, Subtract, Multiply, Divide для вычисления выражений с одной переменной. Классы должны позволять составлять выражения вида

expr = Subtract(
    Multiply(
        Const(2),
        Variable("x")
@egormkn
egormkn / yeast6_cycles.log
Last active October 18, 2019 16:05
Statistics for cycles in yeast6 metabolic model
/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -javaagent:/home/egor/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/192.6817.14/lib/idea_rt.jar=44289:/home/egor/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/192.6817.14/bin -Dfile.encoding=UTF-8 -classpath /home/egor/Documents/Bioinformatics/Bachelor/solver/target/classes:/home/egor/.m2/repository/com/ibm/cplex/12.9.0/cplex-12.9.0.jar:/home/egor/.m2/repository/com/ibm/cplex-native/12.9.0/cplex-native-12.9.0.jar:/home/egor/.m2/repository/org/sbml/libsbml/5.16.0/libsbml-5.16.0.jar:/home/egor/.m2/repository/net/sf/jopt-simple/jopt-simple/6.0-alpha-3/jopt-simple-6.0-alpha-3.jar:/home/egor/.m2/repository/org/ejml/ejml-all/0.38/ejml-all-0.38.jar:/home/egor/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/home/egor/.m2/repository/org/ejml/ejml-core/0.38/ejml-core-0.38.jar:/home/egor/.m2/repository/org/ejml/ejml-fdense/0.38/ejml-fdense-0.38.jar:/home/egor/.m2/repository/org/ejml/ejml-ddense/0.38/ejml-ddense-0.38.jar:/home/egor/.m2/repository/
@egormkn
egormkn / trigger.plsql
Last active January 19, 2019 23:04
Trigger
CREATE OR REPLACE FUNCTION check_group() RETURNS TRIGGER AS
$BODY$
DECLARE
group_count integer;
musician_count integer;
BEGIN
SELECT COUNT(*) FROM artist
WHERE artist.id = NEW."groupId" AND is_group = TRUE
LIMIT 1
INTO group_count;