Skip to content

Instantly share code, notes, and snippets.

nyaocat /
Last active Sep 20, 2019
雑な mDNS サーバ実装
# License: NYSL
use warnings;
use strict;
use Sys::Hostname;
use IO::Socket::Multicast;
use Net::DNS;
use IO::Interface::Simple;
my $sock = IO::Socket::Multicast->new(LocalPort => 5353);
nyaocat / grepedit
Created Apr 5, 2019
grep した結果に対してのみ編集を行うコマンド(例: grepedit -E '^[1-9]' * )
View grepedit
set -eu
trap "rm '$BUF'" 0
grep -H -n "$@" > "$BUF"
"${EDITOR:-vi}" "$BUF"
nyaocat / npm
Created Mar 11, 2019
nodeをインストールしたくないので docker で代用する(下記ファイルを PATH の通る場所に node, npm, npx と名付けてそれぞれ保存すると使える)
View npm
set -eu
mkdir -p $HOME/.config $HOME/.npm
docker run \
-it --rm \
--tmpfs "/tmp" \
-v "$PWD:$PWD" \
-v "$HOME/.config:$HOME/.config" \
import sdl2
import sdl2.ext
import math
import wx
class SDL2Timer(wx.Timer):
def Yaruzo(self, a):
# window = sdl2.SDL_CreateWindow("Hi".encode("utf-8"),
nyaocat / xfce4-session.bat
Created Feb 15, 2018
View xfce4-session.bat
start "xserver" "C:\Program Files\VcXsrv\vcxsrv.exe" -fullscreen
wsl sh -c "env DISPLAY=:0 xfce4-session"
View docker-edit
# usage: docker-edit container filepath
# License: NYSL
set -eu
trap "rm $TMPFILE" 0
docker cp $1:$2 $TMPFILE
nyaocat / aaa.cpp
Last active Feb 15, 2018
type-safe event holder
View aaa.cpp
#include <iostream>
#include <string>
#include "signal.hpp"
struct event_A : public s::signal<int, int> {};
struct event_B : public s::signal<std::string, int, double> {};
int main() {
s::bind<event_A>([](int p1, int p2) {
View qcc
#!/usr/bin/env bash
# インストール:
# このファイル自体を PATH のある場所に保存して chmod +x すれば OK
# 例:
# sudo sh -c "curl > /usr/local/bin/qcc"
# sudo chmod +x /usr/local/bin/qcc
# qcc -h
# 動作環境:
View index.cgi
export PATH=/home/nyaocat/bin:/usr/local/bin/:$PATH
export LANG=ja_JP.utf-8
echo "Location:"
View readonly.lua
lua readonly module
2013 (c) nyaocat
this program is licensed under NYSL( )
lua5.1 and lua5.2
local newproxy = newproxy or require("newproxy") -- for Lua5.2
local type, getmetatable, pairs, assert, error = type, getmetatable, pairs, assert, error
You can’t perform that action at this time.