Skip to content

Instantly share code, notes, and snippets.

(use srfi-1)
;;; PEGタームは,入力文字列と解析位置を与えると,解析結果を返す関数.
;;; 解析に成功すると(次の位置 . 意味値)のペアを,失敗すると#fを返す.
;;; 解析結果ペア
(define (make-result pos value) (cons pos value))
(define (position result) (car result))
(define (value result) (cdr result))
angularjs, emmet, less, php cs, sftp
@tyage
tyage / gist:9046728
Last active August 29, 2015 13:56
マシン構成整理しようと思い立った

理想

  • マシン1@家 (Raspberry Pi)
    • VPNサーバ
  • マシン2@家
    • Windowsサーバ
      • Wake on Lan
  • マシン3@家 (Debian)
    • 録画サーバー
  • Wake on Lan
@tyage
tyage / crypto ???
Created February 24, 2014 11:43
解けたら@tyageが肉まんおごります
:12
体重が2kgた型は次のにか、仕事のナイフあ調べる
:searc-help
ls -al :recent
:recent filter.cild
:recent filter=""nosumit_
:recent
n
:exit
Access granted to readfile.php!<br><br><?php<br />
$filename = $_GET["filename"];<br />
$accesscode = $_GET["accesscode"];<br />
if (md5($filename) == $accesscode){<br />
echo "Access granted to $filename!<br><br>";<br />
srand($value);<br />
if (in_array($filename, array('readfile.php', 'index.php', 'pass.txt', 'id.txt'))==TRUE){<br />
$data = file_get_contents($filename);<br />
if ($data !== FALSE) {<br />
echo nl2br($data);<br />
@tyage
tyage / minesweaper.js
Last active August 29, 2015 13:57
RuCTF PPC 400pt minesweaper
// run this at http://vuln1.quals.ructf.org/saper/www/
// https://github.com/timjb/minesweeper-solver/blob/gh-pages/solver.js
var MineSweeper = (function () {
function repeat (el, times) {
var arr = [];
for (var i = 0; i < times; i++) {
arr[i] = el;
}
return arr;
0000000: 424d 3a0a 2f2f 0000 0000 3604 0000 2800 BM:.//....6...(.
0000010: 0000 0100 0000 0100 0000 0100 0800 0000 ................
0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000030: 0000 0000 0000 0000 0000 0000 8000 0080 ................
0000040: 0000 0080 8000 8000 0000 8000 8000 8080 ................
0000050: 0000 c0c0 c000 8080 8000 0000 ff00 00ff ................
0000060: 0000 00ff ff00 ff00 0000 ff00 ff00 ffff ................
0000070: 0000 ffff ff00 0000 0000 0000 0000 0000 ................
0000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
var reg = /^\w/y;
reg.exec('xyz'); // => x
reg.exec('xyz'); // => y
reg.exec('xyz'); // => z
reg.exec('xyz'); // => null
reg.exec('xyz'); // => x
reg.lastIndex = 2;
reg.exec('xyz'); // => z
@tyage
tyage / gist:2484d5b3a515297c7ea7
Created June 12, 2014 08:41
tweet deck js diff
409c409
< TD.buildID = "23c4e3847adeb9802cbbb07473a565e4c3e2bd1a", TD.buildIDShort = "23c4e38", TD.version = "3.7.2", TD.config = {
---
> TD.buildID = "19002e5b5af908182db93fdec359a49551b6c6b0", TD.buildIDShort = "19002e5", TD.version = "3.7.1", TD.config = {
417,418d416
< app_name: "TweetDeck by Twitter",
< app_icon: "web/assets/logos/128.png",
4320c4318
< return exposed.latestFeatherId = 19, exposed.loadFeathers = function (isRetry) {
---
@tyage
tyage / default.08108d8090.js
Created June 12, 2014 08:42
tweetdeck xss fixed
This file has been truncated, but you can view the full file.
function ScribeTransport(e) {
this.SESSION_BUFFER_KEY = "ScribeTransport", this.SCRIBE_API_ENDPOINT = "/i/jot", this.options = {}, e && (this.updateOptions(e), this.registerEventHandlers(e))
}
function ClientEvent(e) {
this.scribeContext = {}, this.scribeData = {}, this.scribe = function (t, i) {
var n = e || window.scribeTransport;
if (!n) throw new Error("You must create a global scribeTransport variable or pass one into this constructor.");
if (!t || "object" != typeof t || i && "object" != typeof i) throw new Error("Invalid terms or data hash argument when calling ClientEvent.scribe().");
if (this.scribeContext) {