Twitter を名乗るメールアドレスからメールが届いたのですが、Subjectが文字化けしていました。 Subject: ã¨ã¿ãŸã¾ã•ã²ã‚さん、Twitterからの感謝のメッセージです。 いまのTwitterがあるのは、皆さんのおかげです。 10年前の今日、ひとつのツイートからすべ…
ちょっとハマったのでメモ。 ファイルを flock() で排他的にロックするために次のようにすると成功します。 % ruby -e 'File.open("hoge").flock(File::LOCK_EX); puts "OK"' OK が、NFS 上で同じことをやると失敗します。 % ruby -e 'File.open("hoge").flo…
Postfix 3.1 がリリースされました。 個人的に気になった新機能は JSON-format Postfix queue listing. Destination-independent delivery rate delay の2つです。 JSON形式キュー表示 今までは mailq や postqueue -p コマンドで次のような表示がされていま…
2/16 に Crystal 0.12 がリリースされました。 0.12 では Crystal に文字エンコーディング変換の仕組みが導入されました。 Ruby と同じような感じで String#encode や IO#set_encoding 等が追加されました。 といっても Crystal の文字エンコーディングは Ru…
スパムメール…というかフィッシングメールが送られてきたのですが、文字化けしていました。 文字化けメール研究家としては(ry メーラーで見ると Subject と本文が次のようになっていました。 From: 【りそな_y行】 <mp@resona-gr.co.jp> Subject: 本人_J_^サ_`ビス 文字化けとし</mp@resona-gr.co.jp>…
DELL にユーザー登録したらメールが送られてきたんですが、そのメールが文字化けしてました。 文字化けメール研究家としては解析せざるを得ません。 メーラーで見ると Subject が次のようになっていました。 デルアカウントに$4EPO?$$$?$@$-!"$"$j$,$H$&$4$6…
自分のメインPCはノートPCで ThinkPad X220 を使ってるんですが、もう4年半前に買ったものだし重いので、新しくてもっと軽いPCが欲しいと思ってます。 重量 1kg 程度、画面は13インチ、CPUは Core i5、メモリ8GB くらいを条件にして探してみました。 なお、…
前回も書いたように Crystal の String のエンコーディングは UTF-8 固定です。なので Ruby のようにバイナリデータを String オブジェクトで扱うことはできません。 バイナリデータは Pointer, Slice, MemoryIO で扱うことができるようです。 自分でもよく…
前に次のような記事を書きました。 tmtms.hatenablog.com Ruby と異なり、エンコーディングを変換したり UTF-8 として正しいバイト列かどうかを判定する方法もありません。つらい。 これを解決するために Crystal に String#scrub と String#valid_encoding?…
これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の25日目の記事です。 qiita.com Ruby の名前付き引数の例です。 def hoge(a, b=1, c: 2) p [a, b, c] end hoge(123) #=> [123, 1, 2] hoge(123, 456) #=> [123, 456, 2] hoge(123, c: 789) #=> [123…
これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の24日目の記事です。 qiita.com Crystal のソースコードは Crystal で記述されています。最初は Ruby で書かれていたようですが、現在はすべて Crystal で書かれています。 Ruby は本体と組み込みラ…
これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の23日目の記事です。 qiita.com メソッドに渡されたブロックを実行するには次の2つの方法があります。 def hoge yield end hoge{ p 123 } def hoge(&block) block.call end hoge{ p 123 } ですが、…
これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の22日目の記事です。 qiita.com タイトルのまんまですが、Crystal は Thread がなくてつらい。 Thread というクラスはありますが、ソースを見ると、 # Don't use this class, it is used internally…
これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の21日目の記事です。 qiita.com Crystal の String は UTF-8 固定なのでバイナリデータを String で扱うことはできません。 バイナリデータを扱うには String ではなく Slice を使います。 Slice(UI…
これは「Ruby脳にはCrystalつらい Advent Calendar 2015」の20日目の記事です。 qiita.com 昨日の記事で、File#gets が nil を返すことがあるので、 line = File.open("/dev/urandom").gets if line.is_a? String # gets は nil を返すことがあるためこの if…