Skip to content

Instantly share code, notes, and snippets.

View utilmind's full-sized avatar
👽
Avoiding contact with human species

Oleksii Kuznietsov utilmind

👽
Avoiding contact with human species
View GitHub Profile
@utilmind
utilmind / utf8ToWin1251.js
Last active March 24, 2024 03:14
UTF-8 to Windows-1251 (primarily for export into CSV)
Convert UTF-8 to Windows-1251
utf8ToWin1251 = s => {
const map1251 = { 1027: 129, 8225: 135, 1046: 198, 8222: 132, 1047: 199, 1168: 165, 1048: 200, 1113: 154, 1049: 201, 1045: 197, 1050: 202, 1028: 170, 160: 160, 1040: 192, 1051: 203, 164: 164, 166: 166, 167: 167, 169: 169, 171: 171, 172: 172, 173: 173, 174: 174, 1053: 205, 176: 176, 177: 177, 1114: 156, 181: 181, 182: 182, 183: 183, 8221: 148, 187: 187, 1029: 189, 1056: 208, 1057: 209, 1058: 210, 8364: 136, 1112: 188, 1115: 158, 1059: 211, 1060: 212, 1030: 178, 1061: 213, 1062: 214, 1063: 215, 1116: 157, 1064: 216, 1065: 217, 1031: 175, 1066: 218, 1067: 219, 1068: 220, 1069: 221, 1070: 222, 1032: 163, 8226: 149, 1071: 223, 1072: 224, 8482: 153, 1073: 225, 8240: 137, 1118: 162, 1074: 226, 1110: 179, 8230: 133, 1075: 227, 1033: 138, 1076: 228, 1077: 229, 8211: 150, 1078: 230, 1119: 159, 1079: 231, 1042: 194, 1080: 232, 1034: 140, 1025: 168, 1081: 233, 1082: 234, 8212: 151, 1083: 235, 1169: 180, 1084: 236, 1052: 204, 1085: 237, 1035: 142, 1086: 238, 1087: 2
@utilmind
utilmind / export-array-to-csv.js
Created March 24, 2024 03:23
Export data array (possibly received from JSON) into CSV
const exportToCsv = (data, csvFileName) => {
const link = document.createElement("a");
if (undefined !== link.download) { // downloads supported?
const csvRows = [],
// get the key names for the CSV header (column names)
headers = Object.keys(data[0]),
escCsvValue = value => "string" === typeof value && (-1 !== value.indexOf('"') || -1 !== value.indexOf(",")) // escape values that contain quotes or commas
? '"' + value.replace(/"/g, '""') + '"' // Dobule quotes are double escaped
@utilmind
utilmind / is_scientific_notation.php
Last active May 2, 2024 18:54
is_scientific_notation in PHP
// Check, whether string is a numerical value in “scientific notation” format.
function is_scientific_notation($str) {
return !is_int($str) && !is_float($str) && is_numeric($str)
&& stripos($str, 'e') !== false;
}
@utilmind
utilmind / request-adid.php
Last active June 17, 2024 19:18
Example of requesting Ad-ID API using POST method
<?php
$data_to_post = [
'username' => 'user@email',
'password' => '', // not specified in this demo
//'start' => 0,
//'number_to_return' => 2,
//'gid' => 1,
];
@utilmind
utilmind / int62.js
Created June 17, 2024 19:23
base62 encoding/decoding for integers in JavaScript
(function() {
// const
var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',
base = 62;
window.int62 = function(int) {
if (0 === int) {
return '0';
}
@utilmind
utilmind / load-font-when-WebFont-object-is-available.html
Created October 5, 2024 21:04
3 attempts of loading the Google WebFont
<script>
function loadWebFont(isLoaded) {
if (isLoaded = 'undefined' !== typeof WebFont) {
WebFont.load({ google: { families: ["Lato:100,100italic,300,300italic,400,400italic,700,700italic,900,900italic","Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","Oswald:200,300,400,500,600,700","Great Vibes:400","Poppins:100,200,300,regular,500,600,700,800,900"] }});
}
return isLoaded;
}
if (!loadWebFont()) { // if WebFont not available yet...
// wait until HTML is fully loaded