日本語

「I saw your profile on Github.」という怪しいメールが届いたと思ったらウェブサービスへの招待だった

君のGithubを見たよ、という怪しいメールが届いた
僕の公開メールアドレス宛にこんなメールが届きました。

From: anujagarwal21@fastmail.fm
Subject: Rss reader - github

Hi Masahiro,

My name is Anuj Agarwal. I saw your profile on Github.
I am working on a rss reader project for a while and i have just
completed the first fully working version.
I'd like to invite you to have a look. Do you mind if i share the demo
with you.

Thanks,
Anuj

---------------------
Born developer

要約すると「君のGithubのプロフィールを見たよ!RSSリーダー作ったんだけど、使ってみてくれない?」というメールです。

フィッシングメールっぽい
このメールを見た瞬間は「ふーん、Github見たんだ、ちょっと、嬉しいな。でもめんどくさいな、英語だし」と思ったのですが、じっくり考えてみると「これってトロイの木馬を送り込むフィッシングメールじゃね?」と思い直しました。
というのも、そもそも何で僕なのかがわからない。「Githubのプロフィールを見た」以外に、何も言ってない。相手の素性もまったくわからない。Born developerて何?
それに、RSSリーダーの動作環境のOSが書かれてない。これ重要でしょ。そもそもそのOS使ってなかったらダメなんだし。あ、もしかしてウェブサービスだからかな?
もしローカルで動作するアプリだとしたら、使っているOSを聞かれて、そのOSに合った実行形式のバイナリファイル(もしくはそのダウンロードURL)が送られてくるんじゃなかろうか。そして、そのファイルにはトロイの木馬やウイルスが仕込まれていてたりして…!

タイピング速度を劇的に速くするとっておきの方法


タイピング速度は速ければ速いほどよいですよね。そのスピードを劇的にアップさせるとっておきの方法があるのでご紹介します。
「絶対にミスタイプしないつもりで打つ」こと!
その方法は「絶対にミスタイプしないつもりで打つ」ことです。そりゃ当然じゃん?と思ったあなた、普段、結構なミスタイプ、してませんか?そこそこタッチタイピングができる人は、おしなべて「ミスタイプを気にせずに」タイピングしています。ミスしたらバックスペースで戻せばいいじゃん的に。
僕も昔はそうでした。多少ミスタイプしてても速ければいいじゃん、と思ってタイピングしてました。しかしあるタイピング練習ソフト(何かは忘れました)が「ミスタイプしたぶんはバックスペースで戻さなければならない」仕様で、それまでのミスタイプを気にしないスタイルでタイピングすると、スコアが全く伸びなかったんですね。
タイピング自体が遅くてもミスタイプしないほうが結果がよい
仕方なくミスタイプをしないように気をつけてタイピングをしたところ、体感で明らかにタイピング速度が遅くなりました。2分の1くらいまで落ちた思うくらい。
しかしです。その遅いと思ったタイピングでも、ミスタイプしまくってた頃よりも高いスコアが出たんです。いきなり。

[Wordpress] 便利なプラグイン

最近使って便利だったプラグインをメモ。 WordPress › Custom Post Type Permalinks « WordPress Plugins カスタム投稿タイプのパーマリンクをカスタマイズ可能 WordPress › Duplicate Post « WordPress Plugins 記事を複製できる http://wordpress.org/extend/plugins/tinymce-clear-butto ...

[工作]

FDD演奏用にストロベリー・リナックスの「ダ・ヴィンチ32U」を2台使い、Moppy Advancedの上限16台での演奏ができるよう準備中だが、7・8台目のFDDが鳴らず、しばらく悩む。 Arduino Leonardoの回路図にあるピン名を参考にダ・ヴィンチ32Uのピン配置の確認でExcelで表をまとめていたが、何度見返しても間違いがないように考えていた。 たまたまIDE中のこのファイル↓にある「A0=D18」の記述を見つけ、凹む。 「arduino-1.0.3¥hardware¥arduino ...

ノート型ホワイトボードのNUboardが一時記憶の退避場所に最適で捗りすぎてヤバい

ノート型ホワイトボード「NUboard(ヌーボード)」
NUboard(ヌーボード)というノート型ホワイトボードの文具があるのですが、最近使っている人を見て初めて知り、一目惚れして買ってみたところ、これがヤバいくらい捗るのでご紹介。

miyagawa’s podcast ep1 後半の文字起こしを公開しました

宮川達彦氏伊藤直也氏が対談するpodcast「Tatsuhiko Miyagawa's Podcast ep1」の後半を文字起こしを公開しました。
文字起こし内容は gist / akiyan / transcribed-the-miyagawas-podcast-ep1.md で見ることができます。

聞き取りできなかった部分や誤字などを教えていただけると幸いです。

[objective-c]リファレンスカウンタをもっかい勉強し直す

1年半ぐらい前にiOS4時代でXCode3.2で時が止まっていたので、良い機会なので勉強したメモを書くでぇ。
リファレンスカウンタって何?
iOS5.0以降からみんな大好きARCになったわけだが、リファレンスカウンタ方式の理解が無いのはあかんで。
JavaのGCに慣れてしまうとなかなか面食らいますねぇ。でも理屈は単純なんだよね。オブジェクトがどれだけ他から参照されているかをカウントして0になったらメモリ領域から消えていく。
で、その参照カウンタとして計上されるパターンは大きく2つ。alloc initして自分でオブジェクトを生成するか、retainするかのどっちか。copyした場合は別だよな・・・やべぇ確認しよう。

Foo *foo = [[Foo alloc]init];
Foo *foo2 = [foo retain];

で、仮にFooクラスにhogeっていうプロパティがあった場合、[foo2 release]って書いてもfoo2.hogeはリリースされない。メモリ空間が別物という扱いになるから。deallocを宣言してちゃんと解放していれば別だけど。これに最初困った。releaseしたらnullになるからぬるぽになるんじゃねって思ったけど、どうも違うらしい。そうやって空気を読むのはARCとGCだけっぽい。
ARCが有効になっていない環境では、こういうコードはメモリリークを引き起こす可能性が高い。

月額サービス用のクレジットカードは専用カードにしよう

全ての決済を1カードに集約させていたら停止した

最近まで、全てのカード決済を1つのカードにまとめていました。
しかしあるとき、限度額に達してもいないのに、一時的にカードが(引き落とし日が来るまで)停止してしまいました。停止にあたってカード会社からの連絡はありませんでした。
原因はおそらく、その頃に行った、いままでにない一括での高額の決済だと思われます。カード会社から見て「この顧客、こんなデカい買い物、今までになかったよな。なんか怪しいから、とりあえず止めとくか」ってな具合で止められたんじゃないかと思います。限度額って、そーとーあいまいなものなんですねぇ...。
唯一のカードが停止すると、月額サービスも全て停止する
全ての決済をひとまとめにしていると、定期的に決済している月額サービスなども全て停止してしまします。このときも続々と決済に失敗してしまい、変更要請の連絡が立て続けに来てめんどくさすぎでした。ざっと思い出しただけでも以下の通り。

好きに勝る理由が無いから、結婚生活がうまくいく

メインのブログでうまく書こうと思ったんだけど書けなかったので。
早く結婚したかったら理屈抜きで考えて、彼にはこう言おう - iGirl
あさみちゃんのすごいところは勇気がある所だよねぇ。昔、増田の記事にブチぎれて記事を書かれていたけど、勇気のある人だなーと尊敬した。
前も書いたけど結婚生活って絶対値の振れ幅がでかくなるのよね。うれしいこともつらいことも倍になる。当然だよね、家族になるってことはそーゆーこと。自分以外でいろんな問題が起こるのが当然のこと。なので、一番大切なのは自分の身の回りに起こったことを自分の問題としてとらえることが出来るかに尽きる。
実際結婚してみればわかるけど、自分に起こった物事に対して迎撃態勢がとれない人は、何も任せられないから不安でしょうがなくなる。自分を守ることだけで精一杯になっちゃあ、どうしようもフォローが出来ない。これはね、きついんですよ。藤森かよ子先生が未婚男性に捧げる一文で警鐘を鳴らしているのがやっとわかりましたよ。
僕は当初好きだからでうまくいくもんでもないやろって思ってたんですが、好きにも色々あるんだなって思えるようになった。好きだからって言う理由で勇気が出せる人は絶対結婚相手が見つかってる。辛い時でも笑えるから。そういう女性が側にいてくれるのは男にとってはホント嬉しいもんでして。はい。そっから好き好き大好き奥さん大好き愛してるになっていくんです(力説
別に結婚は将来の保証を約束することはできないけど、なんかあったらオレが頑張るからこれだけは頼むわ、みたいな肝っ玉が重要なんじゃない。結婚相手に依存するだけで結婚しても生活は楽しくないでしょ。居場所は作らなきゃ。

[CakePHP2] Cake Beer TalkでCake1から2への移行Tips100を発表しました

CakePHP 1 to 2 Migration tips 100 from ichikaway

まぁ、100個も紹介する時間は無く、31個まで。残りはどこかで。。。。
ちなみに表紙の写真は、自宅から徒歩10分ぐらいのところにある海。
福岡良いよ、福岡!

今回の会は茅場町のコワーキングスペースCo-Edoで行いました。
会が始まる前からビールが投入され、質疑応答が活発なよい会になったと思います。
Co-Edo良いよ、Co-Edo!

今もっとも学習コスパの高い技術はChefだと、Chef勉強会に行って確信した

Chefが熱い!

株式会社Engine Yardさん主催の、Chef(opschef)勉強会第一回「初めてのChefの教室 #eytokyo」に行って来ました。勉強会の全編動画は、「初めてのChefの教室」を開催しました。(動画&資料) - Engine Yard Blog JP | Engine Yard Blog JP で観ることができます。

[工作]えれくら

えれくらに参加する。 えれくら!?第0x02回? : ATND 例のFDDを持ち込むが、電源を忘れユニットの半分しか動かせず、またその半分も数台FDDが動かず、FDD5台での演奏しかできなかった。高専の実験室のような広い場所では音が響かないこともわかったので、NT京都までに対策を考える。 工作やArduinoに慣れていない方もおられたので、思いつきで 「 ArduBlockArduBlock » A Graphical Programming Language for Arduino ...

[工作]コンパスセンサ HMC5883L

HMC5883L Compass Tutorial with Arduino Library - Tutorials - Love ElectronicsのArduino用ライブラリを使用し、低速でロボットを回転させた場合のコンパスセンサX/Y軸の出力を取り、Excelでグラフ化してみる。 結果、コンパスセンサの出力は楕円かつその円の中心部もかなりオフセットしていることが分かった。 atan()で向きを求める前にセンサ値をオフセットすることで、概ね正確な向きが取得できるようになった。 時間ができれ ...

[cakephp2]CakePHPのqueryのキャッシュについて

こーゆー単体テストを書いていた。

  1. 明細行を集計
  2. 集計結果SQLを発行して確認
  3. 集計されない結果を返すようupdate
  4. 集計結果SQLを発行して確認

2と4で発行されるSQLは同じ。で、3で発行したsqlの結果はfindすると反映されているのに、4でSQLを実行すると更新前の結果が返ってきた。
ん。。。。何これキャッシュされてますかこれは・・・?
公式ドキュメントを見ると、いかにもな記述が。

query() does not honor $Model->cacheQueries as its functionality is inherently disjoint from that of the calling model. To avoid caching calls to query, supply a second argument of false, ie: query($query, $cachequeries = false)

miyagawa’s podcast ep1 前半を文字起こししました

宮川達彦氏伊藤直也氏が対談するpodcast「Tatsuhiko Miyagawa's Podcast ep1」が面白かったので、文字で読めたらもっとこの話を知る人が広まるし引用もしやすくなるので、まずは前半を文字起こしさせていただきました。
文字起こし内容は gist / akiyan / transcribed-the-miyagawas-podcast-ep1.mdで公開しています。

[CakePHP2] HABTMの中間テーブルのモデルがAppModelになる問題再び

や、、、奴が帰ってきたぜ!
CakePHP1の頃に一度は解決した問題、また別の場所で勃発しました。。。
「HABTMの中間テーブルがAppModelオブジェクトになってしまう問題の対応」

今回は、HTBTMを持ってるモデルでfind()を実行して(recursive=1)、その後に別の場所で中間テーブルのモデルをClassRegistry::initで取得してメソッドを実行したら、そんなメソッドありませんというエラーがでて、何故かそれがAppModelクラスのインスタンスだったという流れ。
デバッグにはかなり時間がかかりましたが、原因を特定しました。

まずは結論から。
今回もHABTMのwithで指定し忘れてたのが原因だったので、前回と同様に、withキーに中間テーブルのクラス名の文字列を入れて対応完了。

最近のphpMyAdminはインライン編集ができる

MySQLを使ってて何かと便利なphpMyAdmin。ウェブサーバー上で動作するDB管理ツールとしてはデファクトスタンダートといえるツールです。
いつものようにphpMyAdminから何気なくテーブルの内容を表示させて、値をコピーしようとしたときのこと。

これの1行目のname列をコピーしようとしてダブルクリックすると...

なんと、入力モードに移行するじゃないですか。
試しに編集してみると...

[cakephp2]CakePHP2でSessionのcore.phpの設定が上書きされない

CakePHP2.2.3での話。おかしいこんなことは許されない・・・・
CakePHPのセッションの設定はcore.phpでこんな感じで設定することでデフォルトの設定をオーバーライドできると書いてある。

不慣れな環境のプログラミングのバグはとにかく自分を疑え

思いっきり自戒を込めて。
ある程度のプログラミングの素養があって、不慣れな環境(OS、フレームワーク、ライブラリ等、自分の及ばない領域)でプログラミングしていて、想定外の動作が起きると、
「この不具合、環境側のバグでは?」
と思い込んでしまい、無駄な切り分けチェックや、ソースを追ってしまうことがある。
でもね、9割以上自分のミスですよ。それ。
環境側のバグなんて、それなりに使われていて保守されているものであれば、そうそうない。(まあ、たまーーーには、あるけど)
ということをちょくちょく言ってきたし気をつけていたんだけど、最近不慣れなiOSアプリを書いていて、まさに環境側に原因を求めてしまい、結局は自分のミスで無駄な時間を過ごしてしまいましてね…。
具体的にいうと、In App Purchaseの復元処理で、復元できないことをずっとsandbox側の問題だとあたりをつけていたが、そもそも復元できないConsumableな商品だったのでした。
その他あるあるは以下の通り。

  • jQueryで思い通りに動かない、jQuery側のバグじゃないだろうか。
  • CSSがうまく反映されない、ブラウザのバグじゃないだろうか。
  • CakePHPで動作しない、フレームワークのバグじゃないだろうか。
  • Vimプラグインの設定が反映されない、Vimやプラグインのバグじゃないだろうか。

はい、気をつけましょうね。
不慣れな環境のプログラミングのバグはとにかく自分を疑え is a post from: akiyan.com

Tumblr始めました

Tumblr始めました。引用メインの予定です。よろしければどうぞ。

Tumblr始めました is a post from: akiyan.com
The post Tumblr始めました appeared first on akiyan.com.

Syndicate content