Skip to content

Instantly share code, notes, and snippets.

@ieda
ieda / inkscape_jessyink_memo.md
Last active December 29, 2015 05:59
inkscape, presentation: JessyInkエクステンションを使って、Inkscapeでスライドを作るときのメモ

インストール

  1. https://code.google.com/p/jessyink/ から、最新版をDL
  2. DLしたファイルの中身(フォルダではなく)を以下の場所に全てコピー
    • Windows INKSCAPE_ROOT/share/extensions
    • OS X /Applications/Inkscape.app/Contents/Resources/extensions
    • Linux /usr/share/inkscape/extensions
  3. Inkscapeを起動し、メニューのエクステンションにJessyInkの項目が表示されていればOK
  4. (Windowsのみ?不具合修正)
  • transition(表示遷移)機能が、レイヤー名に全角文字が含まれていると正しく動作しない
@ieda
ieda / irc_jukai_dash.js
Created December 11, 2013 05:13
Limechat on Windowsのスクリプト |←おうち|     ┗(^o^ )┓三
function event::onChannelText(prefix, channel, text)
{
stext = text.match(/.*(((行|い)き)|((食|た)べ)|((飲|の)み)|((帰|かえ)り))たい$/);
if (stext != null) {
target = text.match(/.*[^行き食べ飲のみ帰かえりたい]/);
if (target == null || target == "もう") {
target = "おうち"
}
send(channel, " |←" + target + "|     ┗(^o^ )┓三");
}
@ieda
ieda / normdist.rb
Created February 23, 2014 13:24 — forked from gareth/normdist.rb
# Code adapted from http://bytes.com/topic/c-sharp/answers/240995-normal-distribution#post980230
module Normdist
def self.normdist x, mean, std, cumulative
if cumulative
phi_around x, mean, std
else
tmp = 1/((Math.sqrt(2*Math::PI)*std))
tmp * Math.exp(-0.5 * ((x-mean)/std ** 2))
end
end
@ieda
ieda / marks_in_name_of_a_branch.md
Created June 10, 2014 06:33
ブランチ名における記号の使い方 git branch naming

Gitでブランチ名の単語境界に使う記号

ハイフン(ダッシュ)とアンダースコア、どちらを使ってますか?

スラッシュは階層構造になるので別格として。

Rubyのgem

$ bundle gem foo-bar_baz
@ieda
ieda / regexp_builder.rb
Last active August 29, 2015 14:11
(idea) Ruby Helper to build Regexp string
RegexpBuilder.new.build({
ignore_case: true,
begin_with: "A",
contains: [
# order sensible
[:contains, "B"],
[:any],
[:contains_any, "D", "E"],
]
end_with: "C",
@ieda
ieda / understand_immutable_object.rb
Last active August 29, 2015 14:11
イミュータブルオブジェクトと、そうではないオブジェクトの違いを掴む
=begin
以下のコードでは、数値を表すモデルを、
イミュータブルなオブジェクトになるような定義と、
イミュータブルではないオブジェクトになるような定義の
2つで実装している。
2つのオブジェクトに対して、ほぼ同じ操作を行い、
その振る舞いの違いから知見を得ることを想定している。
=end
class ImmutableNumber
@ieda
ieda / three_of_raku.md
Last active August 29, 2015 14:27
新しい行動を始めて、それを継続させるための心構え -- 三楽の極意

三楽の極意

  1. 楽に始めて(ハードルを下げて)
  2. 楽しみながら(モチベーションを維持しつつ)
  3. 楽になる(効率と質を上げる)
@ieda
ieda / keyboardjs-bind_sequence-experimental.js
Created February 26, 2018 13:03
KeyboardJSでキーシーケンスに対応してみる実験。Mousetrapで本来の目的が果たせることが分かったため中断。
// sequenceStr: "a >> b" for press A(, release A), press B, onKeyDownCallback.
// TODO: Support onKeyUpCallback.
// INFO: Timeout is only to break sequence. Wrong key press does NOT break sequence.
function bindSequence(sequenceStr, onKeyDownCallback, onKeyUpCallback=null, timeoutToNextKey=500) {
var sequenceDelimiter = ">>";
var keys = sequenceStr
.split(sequenceDelimiter)
.map(el => el.trim());
//console.log("bindSequence", keys);
var baseContext = keyboardJS.getContext();
@ieda
ieda / cakectf2021_writeups.md
Created August 31, 2021 11:23
CakeCTF2021 Writeups

CakeCTF2021 Writeups

improvisation

  • 以下の内容を踏まえると、暗号化に用いられたシード値を力技(※)で求められることが分かる。
    • 平文の先頭8文字(64ビット)は b'CakeCTF{' 。
    • シード値は64ビット。
    • LSFRが出力する最初の64ビットはシード値と同じ。
    • 平文の先頭1文字目のビット列から順番にLSFRの出力するビットとXORが取られ、暗号化ビットになる。
  • 暗号化ビット列(task.pyの変数c)は上位ビットから順番に暗号化ビットが入っている。

Keybase proof

I hereby claim:

  • I am ieda on github.
  • I am iery (https://keybase.io/iery) on keybase.
  • I have a public key ASBeY55jIhV6m6zEK8vJqtgq-VOsOSoMj1xrGGVIvrjppAo

To claim this, I am signing this object: