c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programmingに分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡

音樂はSoundCloud等バラバラの場所に公開中です。申し訳ないがlinkをたどるなどして探してください。

考察は現在は主に此のblogで公表中です。

programmingは、ひろくみせるものはGitHubで、個人的なものはBitBucketで開発中です。

c4se

Ruby

多量のデータをストリームして省メモリで統計処理するgemを作った

logを撫でまはし乍らごそごそしてゐたら出來てゐたのでgemにした。 github.com N個のデータから成るlarge_dataが在りRubyのEnumerableとして取得出來る時、標準偏差や分散等を計算しやうとしたら、単純にやるとN個のデータをディスクに置かなければならない…

OSXでGitの罠を回避しつつ更新されたPNGを圧縮するスクリプト

画像の圧縮自体はImageOptimと云ふプログラムをコマンドで呼んでゐる丈だ。お終い。 HomebrewではCaskroom/cask/imageoptimに在る。そこでGitの話に成る。 利用シーンはご想像にお任せするが、gitでpullした後に、其のpullで更新されたPNGファイルをlossless…

殺したサーバーを一覧する

数秒で書き終はる鮮度系。 サービスには沢山の種類のサーバーがそれぞれ沢山たってゐ、sshから繋ぎ易いやうに .ssh/config に書いてあったりする。例へば此んなふうに。 Host momonga-web-01 HostName x.x.x.x Host momonga-web-02 HostName x.x.x.x Host mo…

private-values: 秘密情報や個人的なfileを共有リポジトリから隠す爲のツール

private-values 秘密情報や個人的なfileを共有リポジトリから隠す爲のツールです。 github.com インストール releasesからバイナリをダウンロードし、PATHを通したディレクトリに置いてください。 private-valuesは、何ではないか? private-valuesは組織的な…

絵文字の異体字セレクタを扱ひたい扱へない

※ 忘備録程度の情報です。 結論 絵文字には U+FE0E/U+FE0F が異体字セレクタとして付くことがあります。Unicode の STANDARDIZED VARIANTS といふ仕様の一部です。気をつけませう。 歴史 Unicode には異体字セレクタ (VARIATION SELECTOR) といふ規格がある…

Elixirで分散じゃんけんをシミュレートする

じゃんけんをシミュレートしてみる。練習問題だ。 人間を五人ほど作り、グー/チョキ/パーのなにを出させるかをそれぞれに決めさせ、勝負する。引き分けを考慮し、勝者が最後の一人になるまで繰り返す。 せっかくElixir (Erlang) でつくるのだから、各人間…

RubyのEnumeratorを条件分岐してみる。Unix pipeを拡張する一案

Unixにはパイプといふものがある。プログラムには「標準入力」と「標準出力」といふものがあり、標準入力からなにかを受け取れば、それに基づいて標準出力になにかを表示することにする。その標準入力は、なにか別のプログラムの標準出力からやってくる。標…

RubyのDIコンテナを20行で書く

PHPでアプリケーションを作ってゆく。大きくなると、classが増えてゆく。classが増えてゆき、constructorの引数が増えてゆく。classをnewする順番が決まってゆき、それに従はねばならない。同じインスタンスがあちこちで必要になる。DI (Dependency Injectio…

Rubyのコンソールでカウントダウンしながら待つ

エスケープシーケンスは覚えられない。 def wait sec = 60 str_len = sec.to_s.length sec.times do |i| print "%#{str_len}d" % (sec - i) sleep 1 print "\033[2K\033[#{str_len}D" end end \033[2Kで、カーソルの行をクリアする。\033[%dDでカーソルを左…

Rubyにeach_with_selfといふメソッドは無い。JavaScriptには有るのに

JavaScriptではforEach()などのループにthisが渡される。要素の番号も一緒にわたってくる。 var a = [6, 5, 4]; a.map(function (elm) { return elm * 2; }). forEach(function (elm, i, a) { console.log([elm, i, a]); }); // [ 12, 0, [ 12, 10, 8 ] ] //…

モジュラ逆數[逆数]や冪剩餘[剰余]を求める (Ruby)

ほんたうはマクロ無しのExcelとGoogle Spreadsheetで求めたいのだが、とりあへずRubyでやる。追記 2014-12-04 Google Spreadsheetでやった。Google Apps Scriptを使はないのを前提としてゐる。 cf. RSA模型 https://docs.google.com/spreadsheets/d/1DwIFrzk…

Rubyで作ったFactorっぽい連鎖性記法が間違ってゐたので直した

RubyでFactorっぽい連鎖性 concatenative (関数合成) 記法を作るが完璧に間違へてゐたので直した。実際は此れは関数合成に成ってゐない。ループして順に評価してゐるだけだ。此れはconcatenativeではない。Factorでは全てのwordはいちおう、暗黙のstackを受…

Ruby自体をMaybe関手と見做して、ActiveSupportのtryを実装する

cf. n人目の所業だがRubyでMaybe monad (Option monad) を作った http://c4se.hatenablog.com/entry/2014/07/28/034752 cf. RubyにてMaybe関手を使って、ActiveSupportのtryを実装する http://c4se.hatenablog.com/entry/2014/08/02/222156 でRubyのnil chec…

RubyにてMaybe関手を使って、ActiveSupportのtryを実装する

此の間Maybe (Option) monadを作ってみた。 cf. n人目の所業だがRubyでMaybe monad (Option monad) を作った http://c4se.hatenablog.com/entry/2014/07/28/034752 Rubyだと普通はActiveSupportのtryとtry!を使ふ。 ActiveSupportのtryとtry! try!はreceiver…

RubyでFactorっぽい連鎖性 concatenative (関数合成) 記法を作る

Rubyでcurry化しない関数合成のcompose関数をみてゐたら、Factorに見えてきて、作れさうに思ふた。 再帰で階乗を定義できる所迄作る。 # coding=utf-8 # license: Public Domain class Factor def initialize *words @definitions = {} @stack = [] call *wo…

n人目の所業だがRubyでMaybe monad (Option monad) を作った

n人目の所業だがRubyでMaybe monad (Option monad) を作った。当たり前だが実用ではない (要らない)。 List monadを作るのは辛さうと云ふ丈の理由だ。HaskellとScalaを参照した。 # coding=utf-8 # license: Public Domain # Rubyでcurry化しない関数合成 ht…

Rubyでcurry化しない関数合成

Rubyではcurry化する方が難しいのだけれど。 Rubyの関数合成で調べれば延々と結果が出てくるので私のcodeを信用しないやうに。 cf. 「関数型Ruby」という病(2) - 関数合成 Proc#compose - ( ꒪⌓꒪) ゆるよろ日記 http://yuroyoro.hatenablog.com/entry/2012/…

ActiveUUIDのUUID文字列を直接扱ふにはUUIDToolsを使ふ

RubyでUUIDを生成したいならば、SecureRandomを使へばいい。SecureRandomはRubyに標準で入ってゐる。 cf. module SecureRandom http://docs.ruby-lang.org/ja/2.1.0/class/SecureRandom.html require 'securerandom' puts SecureRandom.uuid # output => 2e8…

RspecのJSON ExpressionsでNullableなマッチャー (若しくはORマッチャー) を作る

RspecにJSON Expressions ( https://github.com/chancancode/json_expressions ) を使ってゐる。便利かと云ふと便利ではない気がするが、変へる余裕も無いので使ってゐる。 其れなりにJSONの構造をマッチできるのだが、ORができない気がする。できるのかもし…

Git の proxy をon / off する

当校ではproxyを通さないとInternetに接続できないので辛い。Gitも繋がらないので辛い。とても辛い。 ~/.gitconfigでproxyをちゃんと設定できる。commandからも設定できる。どちらも同じことだ。やろう。set_git_proxy.bat の名で以下をPATHの通った所に保存…

mruby で libuv を試せなかったから Vert.x with JRuby をやる

Ruby Advent Calendar 2013 17日目です。昨日はRuby - socketライブラリを使ってwebサーバーを作ってみる - Qiita [キータ]でした。おおうっ! blocking I/Oだ。 もうすぐRuby 2.1も有るな。 最近node.jsばかり触ってゐるので、node.jsの核心であるlibuv htt…

他言語から見た Elixir (macro, protocol, binary構文)

@udzura さま(〃l _ l)?? さっちゃんですヾ(〃l _ l)ノ゙ (憤怒の相直されました(〃l _ l) Elixir Advent Calendar 2013 14日目です。昨日はElixir - Sigil大好き!一番好きな機能です。 - Qiita [キータ]でした。あーRubyの。独自定義出来るのか、ふうむ。…

「Dart風のautomatic field initializationをRubyで」をgemで公開した

した。 GitHub: ne-sachirou/AutoAttrInit.rb https://github.com/ne-sachirou/AutoAttrInit.rbRubyGems: auto_attr_init https://rubygems.org/gems/auto_attr_initcf. Dart風のautomatic field initializationをRubyで http://c4se.hatenablog.com/entry/2…

Range 'a' .. String::INFINITY (Ruby)

追記20131003 私のはまともにtestしてゐないクソ仕様なので、merborneさまのに追隨してください。 cf. RubyのStringにもInfinityを!- 反省回 - http://melborne.github.io/2013/10/01/string-infinity-regret/ 此のの間のDart風のautomatic field initializ…

Dart風のautomatic field initializationをRubyで

(草稿) Dart風の、constructor引数を自動的にinstance変数に代入するアレをRubyで http://c4se.hatenablog.com/entry/2013/09/12/184432 の続きだ。前回に挙げたbugは潰した。Lisence: Public Domain GitHub: ne-sachirou/AutoAttrInit.rb https://github.co…

RubyのS式を調べた。S式をRuby文字列に戻す方法も調べた

昨日の(草稿) Dart風の、constructor引数を自動的にinstance変数に代入するアレをRubyでにて、Ripperを使ひ、RubyのcodeをS式にした。S式の内容を調べた。序でに必要だったので、S式をRuby codeに戻す、簡単な方法も調べた。cf. How would I recompile Rippe…

(草稿) Dart風の、constructor引数を自動的にinstance変数に代入するアレをRubyで

追記: 20130923 当記事で挙げたbugは潰した。 Dart風のautomatic field initializationをRubyで http://c4se.hatenablog.com/entry/2013/09/23/075129bug bug。bugだらけ。特に、引数にdefault値を持たせられる形式に就いては、一部しか対処出来てゐない。re…

RubyでClojure風loop-recur (末尾再帰)

Clojureのloop-recurを、Rubyでやった。Elixirの古いversionにも有ったらしい。 末尾再帰の最適化 (TCO, tail call optimization) が出来ないsystemだと、助かるみたい。Ruby 2.0.0とかClojureみたいな。 def factorial n cloop n, 1 do |n, acc| if n == 0 …

LRU cacheの模型をRubyで

LRU (least rescently used) cacheの模型。Ruby 1.9.3と2.0.0で確認した。 HashListとか云ふ意味不明なdata構造を捻出したが、たぶん他に使い道が無い。 unittest blockは此れ。 -> Rubyで、D言語風にassertionを直書きする簡易unit test http://c4se.hatena…

Rubyで、D言語風にassertionを直書きする簡易unit test

まあ、なんと云ふか、めんどくさかったりするし、D言語のunittest blockが羨ましかったりするし(〃l _ l) assertion丈使ひたいので、Module: Test::Unit::Assertions (Ruby 2.0)を読み込む。 下記を読めば解る。 # license: Public Domain $DEBUG = true # @…

RGBとHSVとHLSとCMYKの色空間を相互変換する。Rubyで

前回のを書き足した。合ってる気がしない。 cf. RGBとHSVの色空間を相互変換する。Rubyで http://c4se.hatenablog.com/entry/2013/08/04/190937 # coding=utf-8 class Color # RGB to HSV conversion | color conversion http://www.rapidtables.com/convert…

RGBとHSVの色空間を相互変換する。Rubyで

何人目だ。 RGB (red 赤, green 緑, blue 青) とHSV (hue 色相, saturation 彩度, value 明度) の色空間 (color space) を相互変換する。Rubyで。cf. RGB to HSV conversion | color conversion http://www.rapidtables.com/convert/color/rgb-to-hsv.htm cf…

trickyじゃないgolfでもない短いMöbius関数をRubyで

短いcodeが好ければどうぞ。trickyじゃないcode golfでもない短いMobius函數 (メビウス関数) です。 # encoding=utf-8 # license: Public Domain def mobius n (2 .. n).reduce(1) do |current, prime| if n % prime == 0 current = -current n /= prime end…

Elixir (とJavaScriptとRuby) でMöbius関数を実装した

Elixirでメビウス函數 (Mobius function) を実装する積りだったのだけれど、余りにもElixirを書けな過ぎて、JavaScriptとRubyでも実装した。 ElixirでMöbius函數 素數列 (素数列) は、エラトステネスの篩 (Sieve of Eratosthenes) で求めた。遅延listが無い…

RubyにカレンダーっぽいHTMLを吐き出さすまで物語

Calendar generator for mitsui. みついさまがRubyを勉強してらっしゃるので、下記の記事に余計な事を言って了った。直ぐ人を怒らす事を言って了ふのは、もう何とも成らないとおもふ。全部壊れて了へ、と云ふ様な破局願望がある。自殺願望と大して変わらない…

parity符号とhumming符号をemulationした

Rubyで。当然手元にvim-quickrun。 [情報理論やりなおし勉強会(4)]( http://atnd.org/events/40292 )の復習。にはならない。情報理論の基礎―情報と学習の直観的理解のために (SGC Books)の第四章第二部を倒した積りに成ってゐる。 parity検査符号とhummin…

Vim にてMarkdown形式でmemoをとり、QuickRunで確認する

屋上屋を架しておく。 何かのmemoを取り合う時、勝手な形式でとられていると、うひょーーーーーーーーぉぉーーーーーーーーーーーーーーーぉぉーーーぃと成るので、[Markdown]( http://daringfireball.net/projects/markdown/ )でとる事にしている。何か知っ…

符号化algorithmを実験してみた (fano符号、shannon符号、huffman符号)

Rubyで。 過日、[情報理論やりなおし勉強会(3) : ATND http://atnd.org/events/38995 ]にて、情報理論の基礎―情報と学習の直観的理解のために (SGC Books)の第四章第一部をやった。そこで符号化algorithmの話題が出ていたので、気が向いて実験してみた。f…

歌詞検索serviceから検索して歌詞を採ってくる

Rubyで。歌詞検索serviceから検索して歌詞を採ってくる。 解説はしない。 #!ruby # encoding=utf-8 require 'open-uri' require 'nokogiri' require 'choice' class LyricsPage # param [String] uri def initialize uri @uri = URI::escape uri @is_fetched…

Apache (XAMPP for Windows内) のDocumentRootを変えるbat

Rubyで。Apache (XAMPP for Windows内) のDocumentRootを変える。 頻繁に変えるので対処した。Apacheの再起動はXAMPP controllerからやって。 @echo off rem license: Public Domain <utakata.c4se@gmail.com> ruby -x %~f0 %* @goto :eof #!ruby # coding=utf-8 $HTTPD_CONF_PATH = </utakata.c4se@gmail.com>…

Windos版whichコマンド (*nix `which` command on Windows (need Ruby).)

Windos版whichコマンド [*nix `which` command on Windows (need Ruby). https://gist.github.com/ne-sachirou/5229362 ] 冒頭のcommentは、bat commandにてwhichを実装しようとした試みの死骸。 bat fileとして実行できる樣にした爲、環境變數のpathの通っ…

筆まめの住所録をTAB区切りのtsvに出力して、ダブリがないか確認する(Ruby)

筆まめの住所録をTAB区切りのtsvに出力して、ダブリがないか確認する。Rubyで。同姓同名の人を確認する為に、住所も出力する。これは目視で確認する。 # encoding=utf-8 # License: Public Domain # No. フリガナ 氏名 敬称 性別 初来店記録 登録・更新日 〒(印…

ImageMagicで影付き文字を入れるRuby scriptを増強しました

[ImageMagicで影付き文字を入れる。]( http://c4se.hatenablog.com/entry/2012/10/19/220403 )を増強しました。 使い方 Cygwinで動かしています。 $ ruby insertCopyright.rb DIRNAME code # vim:fileencoding=utf-8 ff=dos et sw=2 ts=2 sts=2: $IMAGEMAGIC…

Slim (PHP) のルーティング

余りにSinatraに慣れて、Slimのroutingで躓いた故、書きます。 [Slim Framwork]( http://www.slimframework.com/ ) [codeguy/Slim]( https://github.com/codeguy/Slim ) GitHub A PHP micro framework inspired by Sinatra Slim is a PHP micro framework th…

ImageMagicで影付き文字を入れる。

追記20121202 増強しました [ImageMagicで影付き文字を入れるRuby scriptを増強しました]( http://c4se.hatenablog.com/entry/2012/12/02/005226 ) Rakefileで。 ImageMagickは、画像にfilterをかけていったり、画像の情報を調べたりする、CUIツールです。co…

カプレカ数の例

[Z会三年生中学受験コース5月のてんさく問題を Python で解いてみた - cooldaemonの備忘録 http://d.hatena.ne.jp/cooldaemon/20120603/1338705617 ] 4けたの数について、それぞれの位の数字を大きいじゅんにならべた数から小さいじゅんにならべた数をひくと…

mrubyでRubyコードを動かす

何の拡張もせず、なにに組み込みもせず、意味もなくmrubyでRubyコードを動かします。 mrubyを取ってきて、ビルドします。 git clone git://github.com/mruby/mruby.git mruby cd mruby make -j 5 binの中に、mruby.exeとmrbc.exeが出来ています。 下記の、腐…

OperaWatirでOperaをTwitter botに!

ダメ!絶対。 [.。oO(さっちゃん Advent Calendar) http://atnd.org/events/22829 ]9日目 2日休んでしまった…orz 明日はOpera忘年会です。 Opera 11.6が出ましたね。関係有りませんが。 What's OperaDriver? [Selenium http://seleniumhq.org/ ]と[Watir http…

初めての探索

[.。oO(さっちゃんAdvent Calendar) : ATND http://atnd.org/events/22829 ]1日目 暫らく前ですが、探索するコードを初めて書きました。以下の様な盤が有った時、 解を探索します。

Sinatraプロジェクトを自動生成する

Sinatraプロジェクトを自動生成するRakefile。tamplate_engineを引数に取る。 https://gist.github.com/1357277 .zshrcに以下を追記。generate_sinatra_project。長い。