Skip to content

Instantly share code, notes, and snippets.

View limitedeternity's full-sized avatar
🔭
Ищу смыслы

Vyacheslav Bespalov limitedeternity

🔭
Ищу смыслы
View GitHub Profile
@limitedeternity
limitedeternity / .ghci
Last active October 8, 2023 08:51
My GHCI config
:seti -XOverloadedStrings
:seti -XScopedTypeVariables
:set -Wall
:set -fno-warn-type-defaults
:set -DGHCI
:set +s
:set +t
:set +m
@limitedeternity
limitedeternity / main.md
Last active March 12, 2020 20:47
Lambda calculus resources
@limitedeternity
limitedeternity / boss_fighter.py
Last active March 22, 2020 13:15
BossFighter for WellDungeon MMORPG
# -*- coding: utf-8 -*-
import time
import uuid
import vk_api
def auth_handler():
key = input("Enter authentication code: ").strip()
remember_device = True
@limitedeternity
limitedeternity / algo.py
Last active August 17, 2020 11:30
Info about "Plantain" transport card used in Saint-Petersburg, Russia
#!/usr/bin/env python3
from datetime import datetime, timedelta
class Plantain:
data = {
4: {
0: "9C44010063BBFEFF9C44010000FF00FF",
1: "9C44010063BBFEFF9C44010000FF00FF",
2: "FC00662B4E017E08A0860101383CE3EB"
@limitedeternity
limitedeternity / 10749.json
Last active September 3, 2019 13:46
Parse schedule from guide.herzen.spb.ru
{
"Н": {
"0": [
{
"Время": "9:45 — 11:20",
"Неделя": "Н",
"Подгруппа 1": "Архитектура ЭВМ [лаб] (28.10—23.12) доц. Матюшичев Илья Юрьевич, ауд. 267",
"Подгруппа 2": "Теоретические основы программирования [лаб] (2.09—9.12) доц. Кудрявцева Ирина Андреевна, ауд. 269"
},
{
@limitedeternity
limitedeternity / cmd.sh
Last active May 1, 2021 18:05
Fix zip archives created on Windows to work on Linux
# "archive.zip" should extract to "archive" folder
7z x archive.zip
# But shit happens. And now we are going to fix it:
: "
Before:
-- archive\log.txt
-- archive\renpy\ast.py

Keybase proof

I hereby claim:

  • I am limitedeternity on github.
  • I am limitedeternity (https://keybase.io/limitedeternity) on keybase.
  • I have a public key ASC_oTP3sSM_0CJNY0lfnf5MKURMTkxuwvTwEcRQJeUv1go

To claim this, I am signing this object:

@limitedeternity
limitedeternity / megafon.py
Created July 31, 2019 09:42
Megafon balance and personal offer checker
from pathlib import Path
import pickle
from requests import Session
import sys
s = Session()
s.headers.update({"User-Agent": "MLK Android Phone 3.3.4"})
cookiejar = Path("cookiejar")
@limitedeternity
limitedeternity / source.js
Last active September 2, 2021 11:17
Decrypt m3u8 files from play.boomstream.com/player.html
// FileSaver.min.js
(function(a,b){if("function"==typeof define&&define.amd)define([],b);else if("undefined"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){"use strict";function b(a,b){return"undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Depricated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open("GET",b),e.responseType="blob",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error("could not download file")},e.send()}function d(a){var b=new XMLHttpRequest;return b.open("HEAD",a,!1),b.send(),200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"))}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f="object"==typeof
@limitedeternity
limitedeternity / getUnivers.py
Last active June 11, 2019 18:18
Collects all russian universities
import vk
import json
import time
session = vk.Session(
access_token='token_with_offline_scope')
api = vk.API(session, v='5.95', lang='ru')
JSON = {"cities": []}