あれ?なんだか最近はGoogleからの検索からくる人がいるみたいだね。
でも、この日記にはその人(コピーコントロール関連)が望むようなネタは書いてないです。というより、単なる愚痴日記ですから(笑)。
ていうかね、銀行にお金(myMoney)を預けて、利率設定(myRate)をした後に数年後(y)の残高を計算する式が
myMoney = myMoney*(1+myRate*y);
ってのはどうよ?
もうかんべんしてよ。
public void AfterYear(double y){ for(int i=1;i<y;i=i+1){ myMoney = myMoney * (1 + myRate); } }
なんで、doubleとintを比較してるのさ・・・。
プログラミング実習の授業アンケートで「ぜんぜんわからん」と「わからん」の割合が60%以上いた。まあ、経営情報はプログラマが集まってるわけではないので、これもうなずける結果。
むう、Javaでもみっちり勉強して行くか・・・。
apr-config-1.1.1とdb-4.2.52を入れた後にrastを以下のオプションでコンパイルしたら
./configure --with-db-includes=/home/44/hsh0700/include -with-db-libs=/home/44/hsh0700/lib --with-apr-config=apr-1-config --prefix=/home/44/hsh0700
dbが4.2.52じゃないと怒られてしまい進まない。db.hのヘッダを見ても4.2.52なのにさっぱりわからないまま挫折。
久しぶりにサーバーにログインしたので、estraierのバージョンを上げるついでにmecab対応にした。少しは早くなったかな?
Java実習の一回目。
eclipseの使い方やプロジェクトの作成、リファクタリング、プログラムの実行について駆け足で説明。デバッグ機能についてはもう少し複雑なプログラムが登場してからの方が説明しやすいということで後回し。
肝心のプログラムの方は変数に代入して表示したりするところまで。
会社で「基本情報は持ってないけど二種はもってるよ」とか言っても通じない世代ばかりなので基本情報でもとろうかと思っている今日この頃。二種は社の資格保有リストにないからかなり寂しい。
いや、SS試験の方が優先度高いな。今年こそは取得しないと。
やっぱだめだ。ちょっとでかいサイトを開くと速攻で「メモリが足りません」と言われてしまう。うがー。
知ってますか。セブンイレブンで買い物するとポイントがたまるカード。
今日、セブンイレブンで昼食を買い物したときに思い出したように出したら、店員に「きょとーん」という顔をされた。その後、店長らしき人が出てきて
このカードは北海道限定なんですよー。うまくいきそうだったら全国展開でしてー。
と言われてしまった。このカードが北海道だけで試験的に使われているなんて、知らんかった…。
買ったは良い物の一人だと何がなにやらさっぱりわからなくて結構放置してたんだけど、ネットワークモードでプレイ中。
これ、PS3だと音声が聞こえないのでお互いに無言のまま淡々と進めることになるんだけど、アマチュアに接続してくる人はみんなボランタリーにあふれているというか、アイテムのある場所に誘導してくれたり、色々と指導してくれるのがとても助かるなー。
あと、伊集院も言ってたけど、バイオハザード5はホラー要素というよりはスプラッター要素なゲームになっていて、ふつーのFPSな気分。まだアマチュアレベルだけど結構楽しめそう。
今日から食材の買い出しはビックハウスから東急ストアに変更してみた。東急ストアの方が量が少ない割に種類が豊富なんだよなー。というわけで今日のメニュー
鶏肉の醤油焼きは相変わらずご飯が進む進むな味でとてもおいしかった。ごちそうさまでした。
前からワイドディスプレイででろーんと日記が広がってしまうのを修正したかったんだけど、gustav.css で max-width を使って何とかしてあるのを見つけたのでインスパイアしてみた。
横幅はひとまず1024pxにした。google analytics 様によると、この日記の読者の7割以上が1280px以上のディスプレイを使っているようなので問題なかろう。とりあえずはこんなところで。
ブリ大根と葉野菜のオンパレード。ブリ大根は下ごしらえにヘルシオを使ったんだけど、大根の苦みとか堅さをまんべんなく飛ばせて、かなり美味しく仕上がった。ごちそうさまでした!
irc proxy の設置の次として plagger の環境を vps に構築した。
基本ポリシーとして、sudo は使わない方向で進めたかったので、まずは local::lib だけ sudo でインストールしてからcpanminus をインストール。続いて手元でごにょごにょしている
からソースコードを落としてから
$ perl Makefile.PL $ cpanm --install-deps .
でとりあえずモジュールをインストール。必要なモジュールの中で libnet-ssleay-perl とか libnet-smtp-tls-perl のようなやっかいな奴は aptitude を使った。後はローカルで動かしていた yaml や plugin をリモートに移動してから crontab に登録しておしまい。
ローカルで動かしていた時には気がつかなかったんだけど、local::lib な環境で cron を使う時には PERL5LIB を crontab の中の環境変数に登録しておく必要があるみたい。
だいたい出来てきたなー。次は nginx + fcgi + tDiary かな。
信頼と実績の WEB+DB PRESS Plus の新刊らしいので買ってみた。
この本は会社で仕事としてプログラムを書くときによくコードレビューとかしたり、ペアプロする時によく指摘されたりするようなこと(例えば、名前の付け方だったり、メソッドの分割の仕方だったり)をちゃんと文章化してある本なんだよね。
上記の意味では、コードレビューとかペアプロとかであまり行われていない環境であったり、行われている環境では自分自身の再確認に最適なんだけど、中のコードがとってもJavaなのでちょっと好き嫌いがわかれるかも。
もちろん、ふつうのプログラマならJavaでも書いてあることや言いたいことは理解できると思うんだけど、とっても単純なことをするのにJavaはこんなにコードを大量に書いて、長い変数名をつけないといかんのか!って気分になってしまった。少なくてもオレはそう。
とはいえ、この本に書いてある内容を漏れなく文章にしてあるという部分には価値がある一冊なので良いコードのポイントを広く浅く抑えたいという人には良いんじゃないでしょうか!
良いコードを書く技術 -読みやすく保守しやすいプログラミング作法 (WEB+DB PRESS plus)
技術評論社
¥2,508
今のプロジェクトで使っている Mongoid のバージョンを 2.2 系から 2.4 系にバージョンアップという作業をしていたら、以下のような謎の現象にはまってしまった。
% cat app/models/user.rb
class User
include Mongoid::Document
embeds_many :items, inverse_of: :user, class_name: Item::Base.to_s
end
こんな User と
% cat app/models/item.rb
module Item
class Base
include Mongoid::Document
def initialize(*args)
super
p args
end
end
end
こんな Item があったとして以下のように user.items を作ろうとすると…
>> User.create!
=> #<User _id: 4f8e2a1aff2b33e552000001, _type: nil>
>> User.first.items
=> []
>> User.first.items.create({foo: :bar})
[{:foo=>:bar}, {}]
というように謎のハッシュが initialize にわたって来てしまう。上の例は *args としているのでエラーにはならないけど、元のコードは args = {} と引数を一つとして受け取るので ArgumentError を起こして落ちてしまっていた。これは 2.3.0 の 2327c196 で変わった挙動で、initialize の引数を二つ受け取るようになったのが原因らしい。
実はここまでたどり着くのに1日くらいかかっていて、コントローラやら画面の JavaScript から範囲を狭くして、やっと Mongoid のバージョンアップが原因ということにたどりついたんだけど、まさか embeds_many な モデルの initialize の挙動が変わっているとは思わなかったよ…ばたり。
震災発生時に自宅からも仕事できんの?みたいのを実際にやってみる日だった。
基本的に Rails っぽいところはローカルマシンで全部作業できるようにしているものの、そうじゃない部分も結構あったり、開発だけじゃなくて事務系だと中々そうはいかなかったりと中々良い訓練だった。こういうの、毎月やってもいいんじゃないかな。
一見すると女性がどのようにして社会参画していくかという本のように見えるが実際には
の2つの側面について、豊富な統計データをもとに過去と現状、そしてこれからについて書いてある良い本だった。
特に低い自己評価は自分のためにならないであるとか、何かをやる前から自分には荷が重いと諦めることがどれだけ将来の選択肢を潰しているか、というような指摘はもっともすぎて、女性にかぎらず男性が読んでも、キャリアパスであるとかパートナーについて考えるきっかけとなって良いと思う。おすすめ。
HBRのインタビューも一緒に読んでみたけど、本に書いてあることの抜粋偏という感じだった。
LEAN IN(リーン・イン) 女性、仕事、リーダーへの意欲
日本経済新聞出版社
¥888
いま世界で最も注目される女性リーダーが語る 男女が真に平等である社会をつくる(インタビュー) DIAMOND ハーバード・ビジネス・レビュー論文
ダイヤモンド社
¥550
今日はガブリエル・オロスコ展を見に東京都現代美術館に行ってきた。
サントリー美術館のメンバーズ・クラブのように東京都現代美術館にも賛助会員という同伴者も含めて無料になったり、レセプションに参加できたりする制度があるので年会費1万円を払って賛助会員になった。これ、通常の企画展全部を見ると1人2600円なので、2人で年間2回以上行く人だとそれだけで元手は取れるのでオススメっぽい。
ガブリエル・オロスコ展、美術館についた時間にちょうどチーフ・キュレーターによるギャラリーツアーが始まっていたので、いい感じの説明を聞きながらゆっくり眺めていた。
真ん中を切った車がかなり良かった。同時に開催している山口小夜子の企画展も楽しめたので今日はお腹いっぱい。
溜まってる変更がふくまれているバージョンをリリースしてくれという request が来たのでリリースしておいた。
https://github.com/jenkinsci/rbenv-plugin/
jenkins の maven へのリリースどうするんだっけな、というレベルから再開だったので、Ruby binding のツールである jpi が差している maven リポジトリの url を修正したものをリリースしてから、jpi を用いて rbenv-plugin をリリースした。
もう Jenkins しばらく触ってないので、この辺のメンテナンスしたいよ〜という人がいたら連絡してください。メンテナンス権限をバンバン渡します。
今日は秋葉原の @emorima メンバーのオフィスで開催
https://asakusarb.esa.io/posts/828
新しく参加された食べログの方とレストランレビューサイトについてあれこれ話したり、Euruko 2017 のブダペストやウィーン、プラハあたりについてやいやい話して盛り上がっていた。
自分はここ数日コードを書けていなかったので ruby/zlib の準備をしつつ、rake の pull request をマージするなどしていた。よぼよぼ。
読んだのは数か月前だったけど、いろいろ記憶が無くなっていて記録するのを忘れていた。
実際に日本で発生したセキュリティインシデントをお題として、組織の対応とそのタイムラインや再発防止の計画を紹介しつつ、こうすべきだった、この点は高く評価できる、などを第三者の目で解説していてなかなか良かった。うちも頑張らないとね...
RubyKaigi 2019 はじまりはじまり。ホテルから会場へは少し距離があるけど、朝の散歩ついでに歩いて移動することにした。バススポンサーも気になったけど使った人から内容を聞くって感じで。
会場についたら、ブースの方を良い感じにしてもらうのに同僚にこういう感じでってのを共有してから Ruby 3 progress report の通訳打ち合わせへ。毎回、最初の受付に合わせて会場に向かってるけど年々大規模になっていて、今年はブース向けの受付行列もめちゃくちゃ多くなっていて(実際にブースは40+あって、それぞれに4人いたとしても、ブース担当者だけで160人を超えるはず)、すごい規模になったもんだなあと松田さんとおしゃべりしていた。
今年はペパボが Ruby スポンサーもしたということもあって、CEO の @kentarow からなんで九州でやっていってるのか、という話をしてもらった。素朴にエンジニア採用してるって話にしようか迷ったけど、全セッションのなかで一発目ということもあって、九州、福岡、そして Ruby というつながりを強調する内容でお願いしますという形で準備をして、結果的にいい始まりになったと個人的には思う。
続いての Matz のセッションでは、例年だと Ruby への取り組みとそれらを構成する発表へのつなぎの紹介というものが多かったんだけど、今年はそれに加えて Ruby 3 やってるぞという内容が多くて良かった気がする。
Matz の直後の Ruby 3 progress report では、RubyGems や Bundler のロードマップを軽く紹介したのはまあいいとして、事前に毎日アナウンスするぞと相談していた rubygems.org の 2FA 設定についてアナウンスなどしていた。これ本当に個人がプロフェッショナルなプログラマとして対応すべき事案なので一つよろしくお願いします。
弁当を食べてからの、午後はメインホールに居座って Ruby コミッタ勢の成果について聞きながら発表準備をしていた。今回最終日なのでいつまでも発表の準備をする時間があって精神的にしんどい...
懇親会は商店街貸し切りというなんだそれは、という会場へ移動していた。開始時間早めについて、食べ物よりは端から端までを眺めてから選ぼうと思っていたのがあだになって、往復したころにはほとんどなくなっていた...ここでは久しぶりな人と最近どうですかとか、今後についておしゃべりしてから、ササっとホテルに戻って寝てしまった。
二日目に続きます。
装備大体できたので錬金ガチャマラソンを延々とやり続けてやっと「弱点特効2 属性やられ耐性1 スロット1」という満足いく護石がでたので、攻撃7弱点特効3超会心3という目的のスキルがそろった。スロット1が結構余っているので、砥石高速化やひるみ軽減などを付けている。ハンマー使ってる人はだいたいこれになるんじゃないかなあ。
次にやることと言ったら勲章集めか各モンスターを10体ずつ倒して掛け軸をそろえるとかなので、環境生物を探して歩き回りながらランダムでクエストって感じのプレイにシフトした。アップデート早くきてくれんかなあ。
先週は木曜で今週は月曜と割とすぐな感じだったが今週はチームランチでキューバサンドというのを食べてきた。渋谷、南の方ばかり歩いていて、ちょっと北の方に行くときょろきょろしてしまうのだけど、何とか店までたどり着けた。
ELLE gourmet で紹介されていた店でどんなもんだと食べてみたけど、固めのパンとローストポークという組み合わせで味自体は美味しかった。ただランチ、となるとサラダやポテトも欲しくなって、その辺をつけると1400円です、みたいになるのが厳しい。
製品が発表された時に気になったもののその時はスルーした後に、財布の小銭入れに入れている AirTag が邪魔!ってことが何回かあったので到着が 5 月になるけど買ってしまった。
で、GW 明けにでもセットアップかなあと考えていたところに急遽発送日が変更されて4/18に到着したのでセットアップしてしまった。最初のアクティベートは専用アプリでやる必要があるものの、その後は iOS の Find My で登録すれば AirTag と同様に使えるので楽だった。
音を鳴らす機能も Find My から実行できるのと、クレカよりちょっと厚いかなくらいなので財布がスッキリしたので良かった。4000円とちょっと悩むなあって価格だけが問題だけど、保険としてのトラッキングならこんなもんかなって感じはある。
いつもどおり Discord に集まっておしゃべりしていた。
https://asakusarb.esa.io/posts/1141
RubyKaigi 2023 の交通手段を手配しないとなあというのが積んだままになっていたのでエイッと予約してしまった。できるだけ新宿などを避けて暮らしたいので今回は上野発の長野経由で行くことにした。近所だし。
その後は9-11月に毎週のように開催されるカンファレンスの日程を眺めたり、WWDC で開催される Apple の中の人に話せる時間をなんて言ったっけ? オフィスアワー? ワークショップ? などと参加した人で全く答えがでないままモヤモヤして笑うという時間を過ごしていたりしていた。結局この名称はラボだったので、数年遭遇しないだけで全く名前が出てこないってことはあるものだなあ。
Pixel 7a は買ってからずっと beta チャンネル(?)で使い続けているのだけど、Android 14 QPR のアップデートから Android 15 beta へのアップデートがロールアウトされたのでアップデートしてみた。
ここ数年の傾向ではあるけどパッとは何が変わったのか全くわからなくて体感少し高速に動作するようになったか、気のせいか、というレベルだった。そもそも 15 で注目すべき新機能が何なのか、というのを知らないのでちょくちょく追いかけながらかな。
開発のメインは macOS で、Windows で何かをする場合は ssh と VSCode の remote ssh で接続しているけど、そういえば remote tunnels というのもあったなと思い出して試してみた。
https://code.visualstudio.com/docs/remote/tunnels
ようは sshd 的なものを server side でも起動して、そこへの接続を github を介して認証するというもので、ssh で十分な状況なら置き換えるようなものではないかなあという感想だった。
特に Windows を server とした時なんだろうけど、あらゆる環境に VSCode が integrade されてこの remote tunnels のサービスも自動でポンポン起動という状態だったら便利かもしれない。当面は様子見で。
以前にデイリーセールで買った地球の歩き方のバンコクを読んだ。
バンコク、行ったことはあるもののいわゆる観光エリアであるリバーサイドしか行ってないので、今度行くときはダウンタウンの方のサヤーム・スクエアなども見ておきたい。
RubyKaigi 2025 も最終日開始。朝イチに Ruby Committers and the World があったのでステージの裏に回って幕が上るのを待つというコンテンツ業をやっていた。
事前にこんな話題はどうか、というのを見たところ特になんか話すことはないかなあってなったので Windows の ARM 対応を考えながら、話題に耳を傾けていた。AI と Ruby とかの話題があったけど、適した言語について何だかんだ、ってのは前に書いた通りだけど、C 言語を生成させると異様に使い物にならないというのは感じていたところだった。date_core.c から DateTime
に関するコードを分離して、すらできないのでなかなか厳しい。
昼食は RailsGirls のメンバーや旅費支援のメンバーと一緒に道後温泉入り口にある白鷺コーヒーというカフェに行った。ここのパフェを食べたかったんだよねえ。毎日愛媛料理、ということで鯛めしやザンギなどが多かったので気分転換に良かった。
最終日も相変わらずブース登板とブース周り、挨拶を中心にひたすら歩き回っていた。ブースのスタンプラリー、最後の1つがどうやってもわからなくて、どこだっけ...となってふと落ち着いて考えたらアンドパッドだったので笑ってしまった。しかし、ブースの数が増えているというだけではなくて、今までちょっと距離があったようなサービスが結構あって話を聞いているだけで十分面白かった。
キーノートの Matz はステージ下から昇降機で登場して完全にロボマッツだった。Ruby 4.0 にするかも〜のやつは、僕が去年の RWC で、30周年の記念に 4.0 にしましょうよ、とか焚き付けたのがきっかけではあったのだが、その後に出てきた話としては deprecation warn からの本当に消す、というのを major でやりたいっすという semver 的なやつと、Ruby は semver じゃないんで、というあたりをどう着地させるかな、というのがあるのだった。
どうなるにせよ、Namespace もだけど Matz などをやる気にさせる、というのが非常に重要なので他のことはいい感じになんかやっていこうとは思う。お疲れ様でした。
本編が終わって解散...とはならずにアンドパッドが企画したコード懇親会へ。事前に参加者とグループ分けをやっていたものの、当日になってキャンセルした人や飛び入りしたいという人が出てきて「どうすんのこれ...」となったもののなんとかやりきってきた。
やはり、事前に会場の程度がわからないのは致命的で、インターネットが厳しいとか、そもそも狭いなどもあり参加者にはちょっと不便をかけてしまったと思う。
とはいえ、k0kubun 君を引き込んだら、その場で ZJIT を ruby/ruby にマージできるところまで進めたりとか、新しく gem を作りたいです、という人にアドバイスをしつつ、2つの gem が push されたとか達成できたのでよかった...かな...。来年もやるとしたらもうちょい上手にやりたい。
終わって解散したのが 22:00 とかでホテルに着いたのは 23:00 で流石にもうダメ、と寝てしまった。お疲れ様でした。
# いが [>セブンイレブンポイントカード なんと!北海道限定だったのですか!! さすが北海道先進的!(?)]