Skip to content

Instantly share code, notes, and snippets.

View khurozov's full-sized avatar

Ilyos Khurozov khurozov

View GitHub Profile
@khurozov
khurozov / UzLatinSort.java
Created October 15, 2024 10:36
UzLatinSort
import java.text.ParseException;
import java.text.RuleBasedCollator;
import java.util.Arrays;
/**
* <b>UzLatinSort</b><br>
* Sorting strings based on uzbek latin alphabet using RuleBasedCollator
*
* @author Ilyos Khurozov
*/
@khurozov
khurozov / WordleFinder.java
Created October 15, 2024 10:33
WordleFinder
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.*;
/**
* <b>WordleFinder</b> helps you find daily Wordle answer<br>
* <br>
* Steps:
@khurozov
khurozov / ULID.java
Created May 2, 2024 08:52
Simple Java implementation of ULID
import java.util.Random;
public class ULID {
public static final long MIN_TIME = 0x0L;
public static final long MAX_TIME = 0xffffffffffffL;
// Crockford's Base32
private static final char[] ENCODE_TABLE = new char[]{
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F',
@khurozov
khurozov / Why0_30000000000000004.java
Created January 8, 2024 09:39
Why 0.1 + 0.2 = 0.30000000000000004
import java.math.BigDecimal;
public class Why0_30000000000000004 {
private static final int PRECISION = 52;
public static void main(String[] args) {
int na = 1; // 0.1
int nb = 2; // 0.2
System.out.println("0."+na);
boolean[] a = binPrecision(na);
binPrint(a);
@khurozov
khurozov / arch.md
Last active February 17, 2025 08:38
Arch linux installation notes

Arch linux installation notes

Network

# wifi
iwctl station wlan0 connect SSID

# check
ip a # ip addres info
@khurozov
khurozov / certbot_wildcard.sh
Last active February 28, 2024 07:07
certbot wildcard certificate for site
certbot certonly --manual -d example.com -d *.example.com --preferred-challenges=dns
@khurozov
khurozov / mvn install-file
Created October 12, 2023 11:43
add jar file to local maven repo
mvn install:install-file -Dfile=<path-to-file.jar> -DgroupId=<groupId> -DartifactId=<artifactId> -Dversion=<version> -Dpackaging=jar
@khurozov
khurozov / docker_config.json
Created August 30, 2023 12:49
Docker config
{
"psFormat": "ID\t{{.ID}}\nNAME\t{{.Names}}\nImage\t{{.Image}}\nPORTS\t{{.Ports}}\nCREATED\t{{.CreatedAt}}\nSTATUS\t{{.Status}}\n"
}
@khurozov
khurozov / mysql_list_foreign_keys
Created August 21, 2023 07:56
SQL query for listing all foreign keys on MySQL
SELECT
kcu.CONSTRAINT_SCHEMA, kcu.TABLE_NAME, kcu.COLUMN_NAME, kcu.REFERENCED_TABLE_NAME, kcu.REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu
join INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
on kcu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME and tc.CONSTRAINT_TYPE = 'FOREIGN KEY'
@khurozov
khurozov / non-modular jar to modular
Created August 17, 2023 12:32
making non-modular jar modular
# generate module-info.java file
jdeps --generate-module-info . <path to jar file>
# compile module-info.class
javac --patch-module <module name>=<path to jar file> <path to module-info.java file>
# add module-info.class to jar archive