Skip to content

Instantly share code, notes, and snippets.

@zonuexe
zonuexe / currying_func.rb
Created September 11, 2011 15:17
Rubyでカリー化函数
curry = ->(f){
args = []
return rec = ->(a){
args << a
return f.call(*args) if (args.length == f.arity) || (f.arity == -1)
return rec
}
}
if __FILE__ == $0
@penguin2716
penguin2716 / mikutter_auto_unfav_enkunkun.rb
Last active December 15, 2015 05:49
.@enkunkun をふぁぼったら自動であんふぁぼするmikutterプラグイン
#-*- coding: utf-8 -*-
Plugin.create :auto_unfav_enkunkun do
on_favorite do |service, user, msg|
if user == Service.primary.user and
msg.user.to_s == 'enkunkun'
msg.unfavorite
end
end
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>hack</title>
</head>
<body>
<form action="http://camp2013prof.camp/menu.cgi?actionid=passchg" method="post">
<table border=0>
<tr><td>新パスワード:</td>
source: https://twitter.com/WhitehackerZ1/status/381278065675870208/photo/1
・訳を作成したのは@qnighyです。
・内容は上記のURLに掲載されていた画像を参照しながら作成しました。
その画像の提供者は私ではありません。画像の提供者については、元ツイートの発言者に尋ねるのが適切でしょう。
・文脈がわからないと読みづらいところやインターネットスラングが含まれる部分についてはうまく訳せていないかもしれない。
Kirk_Caswell: Diciprine: they'll learn just for this game
Diciprineさん: このゲームのためだけに勉強するんですよ
bgates: Diciprine: It's not race or nationality or natural language that prevents people from writing shellcode, it's the lack of working shellcode.
Diciprineさん: シェルコードを書くのが難しいのは人種や国籍や自然言語のせいではなくて、動くシェルコードがないからですよ。
@rhenium
rhenium / MainActivity.java
Created December 7, 2013 04:18
Twitter for Android を使って OAuth 認証できるっぽいので
package jp.rhe.test.twitterauth;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
@umedaikiti
umedaikiti / LT20140928.md
Last active September 7, 2016 15:54
TSG合宿LT

Linux-PAM

PAMとは

  • Pluggable Authentication Module
  • 認証処理を行うモジュール群とそれを利用するためのAPIからなるユーザー認証システム
  • http://www.linux-pam.org/ のドキュメントでは認証処理を行うモジュールをLinux-PAM Module、APIを利用するアプリケーションをLinux-PAM Applicationと呼んでいる

モジュールの例

Chapter 6. A reference guide for available modules

pam_unix

linuxでログインするとき/etc/passwdや/etc/shadowを見て認証を行う

@rhenium
rhenium / ruby-openssl-alpn-no-tests-and-docs.patch
Created July 13, 2015 13:38
Ruby の openssl で ALPN をつかえるようにする
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
index b1a527c..a11d40e 100644
--- a/ext/openssl/extconf.rb
+++ b/ext/openssl/extconf.rb
@@ -111,6 +111,7 @@ have_func("TLSv1_2_method")
have_func("TLSv1_2_server_method")
have_func("TLSv1_2_client_method")
have_macro("OPENSSL_NPN_NEGOTIATED", ['openssl/ssl.h']) && $defs.push("-DHAVE_OPENSSL_NPN_NEGOTIATED")
+have_func("SSL_CTX_set_alpn_protos") && $defs.push("-DHAVE_OPENSSL_ALPN")
unless have_func("SSL_set_tlsext_host_name", ['openssl/ssl.h'])
@toshia
toshia / teokute_fav_mikutter.md
Created March 7, 2017 11:21
ておくれ、ふぁぼ、mikutter

ておくれ、ふぁぼ、mikutter

移植するにあたって

2016年10月から、「ておくれ、ふぁぼ、mikutter」を公開していたDropboxが、Publicフォルダに設置したHTMLファイルをWebページとして公開する機能を停止した。これによって、本文書はダウンロードすることは出来るが、ブラウザ上で閲覧することは出来なくなっていた。さらに2017年3月、同15日に明示的に公開リンクを取得しなければPublicフォルダに入れているドキュメントも公開されないように変更するというアナウンスがあった。公開設定をしてもブラウザで閲覧できないことも踏まえると、もうDropboxで公開するのは良い手ではない。

思えばこれを書いたのは2012年末。もう4年以上前ということに驚きを隠せない。本文には書いてないが、丁度祖父が危篤で、年の瀬であることも相まってかなり慌ただしい年末だったと記憶している。結局、2012年12月24日の昼下がり、私が京都の四条河原町近辺でせいべと昼食を食べながら、数日前に公開されたこの文書について語り合っている時に訃報が入り、せいべといっしょにすぐ近くのデパートに喪服を買いに行った。そんなときだったからと言うと言い訳になるが、校正が十分に行き届いておらず、そのうち直そうと思いながら今日に至る。

2012年というのは恐ろしく昔のことだ。2017年現在、StSは消え、Twitterは幾度となく倒産・身売りの話を繰り返し、ふぁぼはいいねになり、おるみんによって新たなておくれクラスタが形成された。今日も人はておくれ、ふぁぼり、mikutterを使っている。この文書は今となっては当時を切り取った貴重な記録になっており、再公開にあたって読み直してみると、自分の記憶が思いの外劣化していることに驚いた。この文書が当時想定していたような役割をちゃんと果たしていることが意外でもあるし嬉しくもある。

@hakatashi
hakatashi / resume-en.md
Last active January 18, 2024 08:56
Resume of @hakatashi for my job hunting activity.
@lmt-swallow
lmt-swallow / solver.html
Last active November 22, 2020 23:01
Scratchpad - Dragon CTF 2020
<body></body>
<script>
// configurations
const url_base = "http://scratchpad.hackable.software:3000/notes?q=";
const possible_cspace = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!_{}?";
// helpers
const split_space = (s) => {
return [s.slice(0, s.length / 2), s.slice(s.length / 2)];
}