Skip to content

Instantly share code, notes, and snippets.

View kLiHz's full-sized avatar

kLiHz kLiHz

View GitHub Profile
#include <algorithm>
#include <string>
#include <iostream>
template<typename IntType>
class fraction {
IntType A;
IntType B;
public:
static IntType gcd(IntType x, IntType y) {
@kLiHz
kLiHz / demo.py
Created March 20, 2023 06:37
JavaScript-Like Wrapper for Python 3 URL Parser
from urllib.parse import urlparse, urljoin, parse_qsl, urlencode
class URLSearchParams:
def __init__(self, options: str = '', hook = None) -> None:
self.hook = hook
if type(options) is str:
if len(options) == 0:
self.l = list()
else:
self.l = parse_qsl(options[1:] if options[0] == '?' else options)
@kLiHz
kLiHz / spliting.cpp
Last active November 10, 2022 18:31
C++: `std::string` convenient functions
#include <vector>
#include <string>
#include <numeric>
auto prettify(std::vector<std::string> const& v) {
return "["
+ (v.empty() ? "" : ("'" + v.front() + "'"
+ std::accumulate( v.begin() + 1, v.end(), std::string(),
[](std::string& s, auto const & t){ return std::move(s) + ", '" + t + "'";} )))
+ "]";
@kLiHz
kLiHz / README.md
Last active May 17, 2022 17:46
About SVG output of diagrams.net

Optimize SVG output of diagrams.net

draw.io, available at https://app.diagrams.net, is an easy-to-use diagramming tool. However, the exporting of *.drawio files needs to be taken care of most of the times.

As for PNG exporting, currently the default setting may generates blurring image. Fortunately, this can be fixed by scaling the diagram into a larger one. [^png-export]

As for the SVG, things become a bit complicated.

When user viewing the software exported SVG files in a web browser, everything seems just fine. But when they try importing these SVGs into softwares like Word or Inkscape, users may see a "Viewer does not support full SVG 1.1" (now changed to "Text is not SVG - cannot display") text on their image.

@kLiHz
kLiHz / .gitignore
Last active May 2, 2022 17:36
Time Consumption of Abusing Python List Deduction
__pycache__/
@kLiHz
kLiHz / README.md
Last active November 1, 2021 11:59
Terminal Output to SVG

Terminal Output (in HTML <p>s) to SVG

The reason I built this was that I was unable to find a tool to convert Windows Terminal's output to SVG (not a animated SVG, just a screenshot).

Since one can copy Windows Terminal's output as HTML code, I tried to find some tools to convert HTML to SVG. But I can't find any either.

By the way, Asciinema can record CLI output in its own format, and it can save its recordings as 'raw' format, in which I guess are some escape sequences. Maybe one can choose to convert those sequence to SVG.

Update: I found something that might be seful:

@kLiHz
kLiHz / README.md
Last active August 11, 2021 20:01
A C++ Sudoku Solver
@kLiHz
kLiHz / MIPS32-instruction-formats.md
Last active July 22, 2021 02:00
MIPS32 Instruction Formats
funct
R opcode rs rt rd shamt
@kLiHz
kLiHz / Client.java
Last active July 17, 2021 20:32
Java Socket Sever Client Object Transfer
package com.henry.net;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Arrays;
public class Client {
private Socket socket;