Skip to content

Instantly share code, notes, and snippets.

@nyaocat
nyaocat / w-make
Last active Sep 20, 2020
make を継続的に実行するコマンド
View w-make
#!/bin/bash
# w-make コマンド
# このファイルを PATH の通った場所に実行属性付きで w-make として保存し、
# `make xxx` の代わりに `w-make xxx` を実行すると必要な依存ファイルの変更を監視して継続的に make をたたく
# 要: make, inotifywait, perl
while :
do
make "$@"
@nyaocat
nyaocat / mdnsserver.pl
Last active Sep 20, 2019
雑な mDNS サーバ実装
View mdnsserver.pl
#!/usr/bin/perl
# 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
nyaocat / grepedit
Created Apr 5, 2019
grep した結果に対してのみ編集を行うコマンド(例: grepedit -E '^[1-9]' * )
View grepedit
#!/bin/bash
set -eu
BUF="$(mktemp)"
trap "rm '$BUF'" 0
grep -H -n "$@" > "$BUF"
"${EDITOR:-vi}" "$BUF"
IFS=":"
@nyaocat
nyaocat / npm
Created Mar 11, 2019
nodeをインストールしたくないので docker で代用する(下記ファイルを PATH の通る場所に node, npm, npx と名付けてそれぞれ保存すると使える)
View npm
#!/bin/bash
set -eu
mkdir -p $HOME/.config $HOME/.npm
docker run \
-it --rm \
--tmpfs "/tmp" \
-v "$PWD:$PWD" \
-v "$HOME/.config:$HOME/.config" \
View pysdl2_and_wxpython.py
import sdl2
import sdl2.ext
import math
import wx
class SDL2Timer(wx.Timer):
def Yaruzo(self, a):
sdl2.ext.init()
# window = sdl2.SDL_CreateWindow("Hi".encode("utf-8"),
@nyaocat
nyaocat / xfce4-session.bat
Created Feb 15, 2018
Windows環境でxfce4デスクトップを使うバッチファイル
View xfce4-session.bat
start "xserver" "C:\Program Files\VcXsrv\vcxsrv.exe" -fullscreen
wsl sh -c "env DISPLAY=:0 xfce4-session"
View docker-edit
#!/bin/bash
# usage: docker-edit container filepath
# License: NYSL
set -eu
TMPFILE=$(mktemp)
trap "rm $TMPFILE" 0
docker cp $1:$2 $TMPFILE
${EDITOR:-vi} $TMPFILE
@nyaocat
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 http://nyaocat.jp/misc/qcc > /usr/local/bin/qcc"
# sudo chmod +x /usr/local/bin/qcc
# qcc -h
#
# 動作環境:
View index.cgi
#!/usr/local/bin/bash
export PATH=/home/nyaocat/bin:/usr/local/bin/:$PATH
export LANG=ja_JP.utf-8
if [ $HTTP_HOST$REQUEST_URI != kenkov.nyaocat.jp/ ]
then
echo "Location: http://kenkov.nyaocat.jp/"
echo
You can’t perform that action at this time.