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

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

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

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

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

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

c4se

Programming

や行のえ「𛀁」とア行の工「𛀀」をAndroid上で表示させるフォントを作る。

先日に、JIS第三水準以上の漢字をAndroidで表示する方法を提案した。その続きとなる。 先日の方法は、GoogleとAdobeの制作したNotoフォントの一部を抜き出し、Webフォントとして実用できる小さなファイルサイズにするものだった。ところでNotoフォントにはや…

新字を舊字に (ほぼ) 自動で変換する

嘗て俗字⇒正字変換機といふものを書いた。Web UIで、新字を舊字に変換するツールだ。今回は此れをWEB UIではなく、PHPで自動にやるやつをやる。 cf. 俗字⇒正字変換機 http://c4se.hatenablog.com/entry/20090519/1242715608 c4seのコンテンツを書いてゐて、…

Unicode舊字をAndroidで表示する為に、Notoフォントの部分フォントを作りWebフォントにする

c4seを六年ぶりに更新してゐる。さすがにリニューアルした。 http://c4se.jp である。このblogは最近は舊かなで書いてゐる。c4seは漢字も全て舊字にすることにした。参画してゐる橘榛名の意向に依るものだ。 今回は舊字とWeb fontの話である。 さて、コンピ…

PHPのordはASCII文字にしか対応してゐない。Unicode版を書く

PHPのordはASCII文字にしか対応してゐない。この毛唐め。少し期待してUnicode文字にもやってみるが、見事対応してゐない。南蠻人め。 cf. PHP: ord - Manual http://php.net/manual/ja/function.ord.phpしかしASCIIは狭すぎる。西欧にもUnicode文字を使はね…

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

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

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

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

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

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

ElixirにてListのランダムな要素を取得する

追記:20170702 Enum.random/1を使ふのが好い。 Enum – Elixir v1.4.5Rubyだと xs.sample である。JavaScriptだと xs[Math.floor(Math.random() * xs.length)]; となる。Elixirでもこれに近いことを行ふ。Erlangのrandomモジュールを使ってみると Enum.at(xs,…

Lessで@keyframesにvendor-prefixを付ける

よく知られてゐるやうに、Lessでベンダープレフィックスを付けるには以下の通りにすると簡便だ。 .vendor(@property, @value) { -khtml-@{property} : @value; -moz-@{property} : @value; -ms-@{property} : @value; -o-@{property} : @value; -webkit-@{pr…

ES6を使ふ。今直ぐ

node.jsとio.jsだが、node.js側が譲歩して、io.jsがnode.jsに戻るかもしれない。またnode.jsでもES6が少しは使へるやうになってきてゐる。Promise等[など]だ。ndenv (node-build) もio.jsに対応したが、それでわたしはnode.jsを使ひ続けてゐる。 AltJSでなく…

MacVimをluajitつきで入れる (brewを使ふ)

Macを使はねばならなくなった。Operaを入れた後に、bashのプロンプト (PS1) を真っ先にカスタマイズした。 Vimを入れねばならぬ。MacVimはHomebrewで入る。Xcodeを入れてbrewを入れる。 ターミナルを開き、 brew options macvim から、指定できるオプション…

Vimのホームディレクトリ$HOMEを変更する (Win8でホームが日本語になってゐるので)

Windowsのホームディレクトリはなにかとトラブルが起きる。わたしの主PCは今Windows 8.1で、初回ログイン時の罠でホームディレクトリの名が漢字になってしまった。ゆえにトラブルも一入[ヒトシオ]である。cf. Win7 64bitで #LMMS の設定を保存できない (& …

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 ] ] //…

phpenv install (php-build無し) にconfigure optionを追加する

anyenvでphpenvを使うてゐます。php-buildは入れてゐませんでした。phpenvは獨力[独力]でphpenv installができます。 Threadを使ふにはZTS付きでcompileせねばならない Threadを使ひたかったのです。pthreadsのPECLパッケージを入れなければいけません。PECL…

コメントでJavaScriptに型注釈を書き実行時に自動で型検査をする

此の記事はNode.js Advent Calendar 2014の18日目です。昨日はSails.js と Vue.js で API ファースト + リアルタイムな Web アプリケーションをさくっと作るでした。明日は id:slowquery さんです。io.jsとは何故ですか。Proxyが使へればなんでもできさうな…

PHPで簡単に華麗にDIとAOPをキメる

PHP Advent Calendar 2014の11日目です。昨日は普通じゃないモッキングフレームワークAspectMockがパワフル過ぎるでした。明日は @shin1x1 さんです。おくすりをきめキメた。 経緯 AspectMockに続いて本日はAOPです。DIもあるよ。去年のPHP Advent Calendar…

Vimの全てを最新に保つ (VAC2014)

Vim Advent Calendar 2014の四日目です。昨日はVimにrevコマンドを実装してみたでした。明日は217さんです。いま一番もとめてゐるのは縱書き[縦書キ]ですが、Vimを最新に更新します。 Vimのソースコードを更新する Mercurialで公式のリポジトリから落として…

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

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

更新したgulp-sshが余計な機能をつけた挙句動かないので、SSHでコマンドを打つのを自作した

更新したgulp-sshが余計な機能をつけた挙句動かないので、SSHでコマンドを打つのを自作した。gulp-sshは中でssh2を叩いてゐる。それを直接使ふ。gulp-sshは捨てた。 /* global -Promise */ /* jshint node:true */ 'use strict'; var Promise = require('blu…

phpenvで入れたPHPにPECLパッケージを入れるには悩まずにPECLコマンドを使へば好い

以前phpenvで頑張ってPHPを入れました。 cf. phpenvでPHPをinstallするにはbuild-depを使ふと好い http://c4se.hatenablog.com/entry/2014/10/05/141652PEAR packageを入れたければ、phpenv付属のPyrusを使ふてもいいし、Composerを使へばよいです。ところが…

PHPでDI (依存性の注入) framworkを作るのはあなたでn人目です!

追記 2014-12-12 AOPも実装した0.2.0をリリースしました。 cf. PHPで簡単に華麗にDIとAOPをキメる http://c4se.hatenablog.com/entry/2014/12/11/013136 わたしがn-1人目です! (nは1以上の自然数)Simple Ray.Di style DI (Dependency Injector) extending P…

catで行を指定してその周辺を印字するにはsedを使ふ (行番号付き)

行番号を出力するにはcatに-n optionを付ける。あとはsedで切り抜く。 cat -n a.txt | sed -n "32,52p" 好い。面倒なので.bashrcに書く。 追記2014-10-07 syntax hilightingを行ふ為にPygmentsを使ふやうに追加した。 function cat-n() { local min=`expr $2…

phpenvでPHPをinstallするにはbuild-depを使ふと好い

新しくノートPCを買った。新しくPCは買ったが、PCは新しくない。四年前に製造されたらしい中古のPCで、Windows7は陽の目を見ずにUbuntuに道を譲った。わたしはMacOSはWindowsと同じ理由で同じくらい嫌いである。然して印刷作業に殆ど関はりが無いのでMacに用…

JPEG, PNG, GIFを一括でlossless最適化する

故有って複雑なdirectory構造の下、大量のJPEGとPNGを最適化することになりました。めんどくさいので自動化しませう。 Web designerの方は、いつもやってる事かとおもひます。 基本的に、それぞれの形式に合はせてツールを選んでコマンドを叩いてやればいい…

gulp.srcがちゃんと思うたpathを読んでるかdebugする

もっぱらGulpを使ってゐます。或いはmakeかRake。 Gulpでは、gulp.src() でpathを指定すると、そのfileをstreamとして読み出してくれ、それを pipe() の連鎖で処理していって、pipe(gulp.dest()) でfileに書き出します。gulp.src() にはnode-globの記法を使…

Debian (Ubuntu) でVimを、機能アリアリでbuildする

追記 2014-12-04 最新の情報は以下に移讓します。 cf. Vimの全てを最新に保つ (VAC2014) http://c4se.hatenablog.com/entry/2014/12/04/175937 UbuntuでVimをcompileしたり、最新のbuildに更新したり。aptの標準packageじゃ足りないので、機能マシマシで。 c…

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…