Skip to content

Instantly share code, notes, and snippets.

View duangsuse's full-sized avatar
👨‍💻
Leaning at school

duangsuse duangsuse

👨‍💻
Leaning at school
View GitHub Profile

这个提问不应该用研发……

世界上有多少为解决问题服务的应用,初创时投入了巨大精力,结果发布之后能自身不造成新问题的?

很难吧。 所以除非是各种编程都懂,而且并不觉得编程语言很了不起的人来写初稿,否则无论怎样实现,都会落入那些现有无聊语言的俗套。

呃,那既然来了就多说几个字,我拿(一个还不想起名字的语言) 写写各位答主的程序吧

Lala

@duangsuse
duangsuse / dump_opcodetab.py
Last active February 27, 2021 14:38
Lua Opcode reordering and its analysics
import struct
binPrefix = "<"
def binItem(fmt):
bp=binPrefix
n=struct.calcsize(bp+fmt)
return lambda f: struct.unpack(bp+fmt, f.read(n))[0]
def binAry(fmt_h, fmt):
h=binItem(fmt_h); x=binItem(fmt)
return lambda f: [x(f) for i in range(h(f))]
def mask1(n): return sum(1<<i for i in range(n))
@duangsuse
duangsuse / dnotify.cpp
Last active February 22, 2021 15:26
Linux DNotify/INotify
#include <fcntl.h>
#include <csignal>
#include <unistd.h>
#include <limits.h>
#include <cstdio>
const int sigPrior = SIGRTMIN+1;
#define notNeg(v) v; if (v<0) return -1
static char fpDesc[PATH_MAX];
void getFPath(int fd) {
sprintf(fpDesc, "/proc/self/fd/%d", fd);
//src/main/kotlin/main.kt
import parser4k.*
import parser4k.commonparsers.token
import java.io.BufferedReader
import java.io.InputStreamReader
import java.math.BigDecimal
import kotlin.reflect.KProperty
abstract class CacheContainer<T>(val cache: OutputCache<T> = OutputCache())
object MinimalCalculator: CacheContainer<BigDecimal>() {
@duangsuse
duangsuse / tg_md.py
Last active January 30, 2021 16:40
Reformat Telegram @ShowUpdateJsonBot Message update json to markdown
def join(op): return lambda *args: "".join(op(*args))
@join # [d]: sometime Tg make offset/length increase by 1
def applySpans(dmsg, op, d, kP="offset", kN="length"):
s = dmsg["text"]; i0 = 0
span = lambda e: (e[kP]+d, e[kP]+d+e[kN], e)
for (iBeg, iStop, e) in map(span, dmsg["entities"]):
yield s[i0:iBeg]; yield op(e["type"], e.get("url"), s[iBeg:iStop])
i0 = iStop
yield s[i0:]
def transTable(deft="{0}", **d): return lambda tag, data, text: (d.get(tag) or deft).format(text, data)
@duangsuse
duangsuse / Cosmic.java
Last active January 21, 2021 11:29 — forked from Trumeet/Main.java
Cosmic Number
import java.util.*;
/**
* Cosmic Number
* License: Unlicensed
**/
public class Cosmic {
private static final int ONE = 1; //$ tac -
private static final int TEN = ONE*10;
private static final int HUNDRED = TEN*10;
@duangsuse
duangsuse / JDrawing.java
Last active January 21, 2021 10:00 — forked from Trumeet/JDrawing.java
日常闲置重写(+3 files),花了三个小时,感觉击键/操作效率还是要提升,可是我懒得学了……
import javax.swing.*;
import java.awt.*;
import java.awt.geom.Path2D;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;
import java.util.stream.Collectors;
/**
@duangsuse
duangsuse / JPlayer.java
Last active January 18, 2021 18:11 — forked from Trumeet/JPlayer.java
Linux Terminal has the capability of displaying 8-bit colour, so why not play something on it?
import org.jcodec.api.FrameGrab;
import org.jcodec.common.io.NIOUtils;
import org.jcodec.common.model.Picture;
import org.jcodec.scale.AWTUtil;
import java.awt.image.BufferedImage;
import java.io.*;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
@duangsuse
duangsuse / tkgui_removed.py
Created September 1, 2020 08:46
Removed from TkGUI
class CollapseFrame(Frame):
def __init__(self, parent, expanded_text ="Collapse <<", collapsed_text ="Expand >>"):
super().__init__(parent)
self.parent = parent
self._expanded_text = expanded_text
self._collapsed_text = collapsed_text
self.columnconfigure(1, weight = 1) #grow in grid
self._variable = BooleanVar(value=False)
self._button = Button(self, command = self.toggle)
@duangsuse
duangsuse / tkthr_update.py
Created August 31, 2020 08:04
Teek command.py / structure.py rewrite (partially)
import _tkinter
import threading
import traceback
from functools import wraps
MSG_CALL_FROM_THR_MAIN = "call from main thread"
MSG_CALLED_TWICE = "called twice"
NOT_THREADSAFE = RuntimeError("call init_threads() first")
class FutureResult: