Skip to content

Instantly share code, notes, and snippets.

View DaniilVysotskiy's full-sized avatar

Daniil Vysotskiy DaniilVysotskiy

View GitHub Profile
@DaniilVysotskiy
DaniilVysotskiy / packages.config
Last active December 15, 2021 12:48
EPGU Gentleman's Set
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="nodejs" version="16.13.1"/>
<package id="vscode" version="1.62.3"/>
<package id="yarn" version="1.22.15"/>
<package id="openjdk12" version="12.0.2.1"/>
<package id="maven" version="3.6.3"/>
<package id="git" version="2.34.1"/>
<package id="discord" version="1.0.9003"/>
<package id="cmder" version="1.3.18"/>
@DaniilVysotskiy
DaniilVysotskiy / index.js
Last active November 23, 2021 19:27
Barcode generator
// sourceFile should be *.txt file with strings like `MAC: F0989D000000` or `S/N: ############`, each on new line
const JsBarcode = require("jsbarcode");
const { DOMImplementation, XMLSerializer } = require("xmldom");
const fs = require("fs");
const path = require("path");
const [, , sourceFile = 'payload.txt', targetPath = '', limit = 5] = process.argv;
const xmlSerializer = new XMLSerializer();
@DaniilVysotskiy
DaniilVysotskiy / index.js
Created September 9, 2021 10:42
Weekly duty table generator
import {
eachWeekOfInterval,
startOfYear,
endOfYear,
endOfWeek,
format,
isWithinInterval
} from "date-fns";
const members = [
@DaniilVysotskiy
DaniilVysotskiy / index.html
Last active September 22, 2020 21:52
Flight plan parser: .pln -> waypoints string
<?xml version="1.0" encoding="UTF-8"?>
<SimBase.Document Type="AceXML" version="1,0">
<Descr>AceXML Document</Descr>
<FlightPlan.FlightPlan>
<Title>UWWW to UUWW</Title>
<FPType>IFR</FPType>
<RouteType>HighAlt</RouteType>
<CruisingAlt>33000</CruisingAlt>
<DepartureID>UWWW</DepartureID>
<DepartureLLA>N53° 30' 04.00",E050° 09' 14.00",+000477.00</DepartureLLA>
@DaniilVysotskiy
DaniilVysotskiy / index.js
Created April 21, 2020 15:02
turnip.exchange best price opener
var blacklistTurnipCodes = ["40c4f327","c43c1e1a","74764c4f","56eca733","19b10f08"];
var stopWords = ["nmt","nugget","star","nook mile","diy","furniture","gold","rocket","flower"];
var includesStopWord = (str) => {
return stopWords.some(word => str.toLowerCase().includes(word));
};
var fetchIslands = () => {
fetch("https://api.turnip.exchange/islands/", {
method: 'POST',
@DaniilVysotskiy
DaniilVysotskiy / moex-search-source.gs
Created February 21, 2020 09:25
Search shares and bonds on Moex by tickers Google App Script for Google Spreadsheet
// Link to security's history example: https://iss.moex.com/iss/history/engines/stock/markets/bonds/securities/SU29012RMFS0?till=2020-02-14&from=2020-02-07&sort_column=TRADEDATE&sort_order=desc&limit=1
// Manual: http://iss.moex.com/iss/reference/63
// Moex market types:
// - bonds
// - index
// - shares
const moexMarketTypesMap = {
"облигации": "bonds",
"акции": "shares",
@DaniilVysotskiy
DaniilVysotskiy / elevator.js
Last active November 9, 2018 19:37
Elevator Saga version 0.0.4
{
queue: {
up: [],
down: []
},
jobs: {
elevators: []
},
init: function(elevators, floors) {
// Queues
var fnProfileCatalog = function(req, res, next) {
var regionId = getUserRegionId(req);
// Filter params
var type = req.query.type;
var userLimit = parseInt(req.query.perPage);
var limit = (!isNaN(userLimit) && userLimit <= perPageMax) ? userLimit : perPageDefault;
var page = (!isNaN(parseInt(req.query.page)) ? parseInt(req.query.page) : 1);
var offset = (page - 1) * limit;
function customPrint() {
var prtContent;
var WinPrint = window.open('', '', 'left=50,top=50,width=800,height=640,toolbar=0,scrollbars=1,status=0');
WinPrint.document.write('<div id="print" class="contentpane">');
for (var _len = arguments.length, elemID = Array(_len), _key = 0; _key < _len; _key++) {
elemID[_key] = arguments[_key];
}
function getCookie2(e) {
var t, a, i, o = document.cookie.split(";");
for (t = 0; t < o.length; t++)
if (a = o[t].substr(0, o[t].indexOf("=")),
i = o[t].substr(o[t].indexOf("=") + 1),
a = a.replace(/^\s+|\s+$/g, ""),
a == e)
return unescape(i)
}
function initRadioCookie() {