ネットの海の片隅で

技術ネタの放流、あるいは不法投棄。

MacBook Pro Retina 13を買いました。

少し前のことになりますが、MacBook Pro Retina 13を買いました。 MacBookのレビューなんて世の中にあふれていますが、自分が思ったことを書き留めておきます。 なぜ買い替えたのか 今まではMacBook Air 11を使っていました。 MBA11はコンパクトで非常に良い…

mixi Scrap Challenge 2014に参加してきた。

mixi主催のScrap Challenge 2014というイベントに参加してきました。 Scrap Challenge 2014 | 株式会社ミクシィ 学生向けエンジニアイベント 午前:セキュリティ概論 Webアプリを構築する上で考慮すべき内容に関して簡単な説明がありました。 基本的には徳丸…

第2次ラッダイト運動

産業革命の際にラッダイト運動が起こった。工場労働者が自らの仕事を奪う産業機械を打ち壊したアレだ。 機械が工場労働者の仕事を奪ってから200年、今度はコンピュータがオフィスワーカーの仕事を奪おうとしている。 工場労働者が工場に押しかけて機械を破壊…

公園などにおけるゴミ袋入れ替えの自動化

公園や大学のような比較的広い敷地内に設置されているゴミ箱のゴミ袋を定期的に取り替える作業を自動化したいと思った。 ゴミ箱にゴミ袋を装着する動きは結構難しそうだと悩んでいたら、ゴミ箱を動かせば良いということに気づいた。 ゴミ箱に車輪を付ける。 …

RailsにおけるDB制約のワナ

DBに制約を張る このようなテーブルがあったとします。 CREATE TABLE products( id serial NOT NULL, code varchar NOT NULL, price integer NOT NULL CHECK (price > 0), CONSTRAINT pk_products PRIMARY KEY (id) ); 各カラムにNOT NULL制約 priceにCHECK…

届けたい価値

「ユーザに価値を届ける」 これはよく言われることだし、非常に同意できることなんだけど、この「価値」にもいろいろあると感じる。 優れた検索エンジンを提供することだって価値だし、面白いゲームを提供することだって価値だ。 そういった価値の中で「自分…

サテライト・コンピューティング

人類が消費するエネルギーのうち、情報処理が占める割合は増えていく。 枯渇性資源に依存するのは精神衛生上よろしくないので、太陽光発電とかしたい。*1 せっかくなら人工衛星を使って宇宙太陽光発電したい。 宇宙で発電して地表に送電するというのは大変な…

「__fizzbuzz__」記法の強調表示を無効にする方法

問題 はてなブログでMarkdown記法を使っているとアンダースコア2個で挟んだ文字列が強調表示されると思います。 こう書くと __fizzbuzz__ こうなる fizzbuzz 解決法 バックスラッシュでエスケープすると、強調表示が無効になります。 こう書くと \__fizzbuzz…

クックパッドさんの新オフィスにお邪魔してきました。

この夏、インターンでお世話になったクックパッドさんのオフィスが恵比寿ガーデンプレイスに移転したということでお邪魔してきました。 キッチン 新オフィスのキッチン、広いです。白金台オフィスの2倍以上あると思います。 ディナー カレーと大根サラダを頂…

「privateな変数にpublicなアクセサを定義する」?

きっかけ こんなツイートがRTで流れてきた。 Java技術者です、って求職してきた人にする質問の一問目は 「なぜフィールドはprivateにしてgetter/setterプロパティを書くべきなのだと思いますか?」 がいいのではないかと思い始めた。— ゆば大好き (@yuba) 20…

人生は足し算じゃないし、人生の価値は小さい、あるいは

人生は足し算じゃない 「○○しないとか人生半分損してる」「××しないとか人生の3割を捨ててるようなもの」etc...のような言及は世の中にあふれている。 損失を足すと1を超える ∴人生は足し算じゃない。 人生の価値は極めて小さい 「○○しないとか人生半分損し…

Courseraを使ってみた

代表的なMOOCであるCourseraを使ってみました。 Coursera 履修したコース 6月頃からCourseraのMachine Learningを受講しました。 https://www.coursera.org/course/ml コースのスタイル 僕が取っていたMachine Learningでは以下の様な流れで進められました。…

僕はコミットが少ない

ふと思い立って、ChromeのシークレットモードでGitHubの個人ページを見てみました。 思っていたより遥かに灰色でした。 自分の見ている画面ではそれなりに緑色なので、public repoに対してコミットして脱GitHubひきこもりをしていく必要がありそうです。

宇宙博

宇宙博に行ってきました。 SPACE EXPO 宇宙博 2014 | NASA・JAXAの挑戦 京葉線 東京駅から京葉線で海浜幕張駅へ向かう途中、車中がやけに混んでいたので「そうか、夢の国に行く人がいっぱいいるんだな」と思っていました。 しかし、舞浜駅を出発するときにも…

野崎まど『know』

人々が脳に「電子葉」と呼ばれるデバイスを埋め込んで生活するようになった2081年のお話。 あらゆるものがセンシングされ、その情報に対して電子葉からアクセスできる世界。 そういう意味では攻殻機動隊の世界観に近いとも言える。 今後、人類が生成・収集・…

エンコードしない文字を指定できるURIエンコーダ「uri_encoding」

世間がRubyKaigiで盛り上がっていて寂しかったので、URIエンコード・デコードを行うgemを書きました。 s-osa/uri_encoding · GitHub インストール uri_encoding | RubyGems.org | your community gem host に置いてあるので、テキトーにbundle installとかge…

Slack vs Skype

SlackとSkypeを比較してみます。 HipChatやChatWorkじゃなく、Skypeとの比較です。 一応、それぞれの公式サイトを貼っておきます。 Slack: Be less busy Skype | お友達やご家族への無料通話 比較項目一覧 料金 広告 ルーム メンション ファイル送信 検索 日…

夢の国に行ってきた。

T;DR 先日、東京ディズニーリゾートに行ってきました。 ウォルト・ディズニー ディズニー映画をよく知らないのでウォルト・ディズニーに関しても詳しくは知らないんですが、僕の記憶している限りだと、 ミッキーとかの映画を作った人 ディズニーランドという…

クックパッド5daysインターンに行ってきました。

クックパッド 5-day インターンシップ こんなんです。 【エンジニア・総合職向け】5-dayインターンシップ / スマホアプリ開発 動機 主な動機は2つありました。 1. cookpad覗いてみたい 普段、主にRubyを書いている人間からするとクックパッドは非常に気にな…

「有線しよう」

無線LANをメインで使っていたオフィスに有線LANを導入した話です。 無線LANは便利だが……。 普段、僕は無線LANでインターネットとつながっています。 しかし、無線LANには無線であるという性質上、どうしようもない類の問題がいくつかあります。 そして、中で…

「継承より委譲」≠「継承使うな」

TL;DR 適材適所。 「継承より委譲」 オブジェクト指向に関する有名な警句に「継承より委譲」があります。 僕はオブジェクト指向について語れるほど立派な人間じゃありませんが、 「むやみに継承使わないほうが良いよ」 「移譲のほうが良いケースが多いよ」 …

V社 プリンタサプライ

Brother DCP-7040 Brother MFC-J890DN Canon MG7100

String#encodeが変換できそうで変換できない文字

問題 RubyでUTF-8からWindows-31J(Shift_JIS)に文字コードを変換すると、正常に変換できそうであるにもかかわらず、実際には変換が行えず例外が投げられる文字があります。 "\u{301C}" # => "〜" "\u{301C}".encode(Encoding::Windows_31J) # => Encoding:…

いにしえの「CSV over FTP」

EC

TL;DR 単なる文句です。 「CSV over FTPとかマジやめて!」 はじめに ここに書かれていることは自分が調べられた範囲で得られた事実です。 調査不足による不備や、僕が権限が付与されていないために見られないだけで実は存在している機能などもあるかもしれ…

絶望しないでありますっ!

絶望 twitterを見ていると、絶望します。 というのも、有名なプログラマの人たちをフォローしているから。 ○○さんすげー。 あ、××さんもすごい。 それに比べて俺と来たら……。 俺なんかがコード書く意味あるのかな? みたいな。 twitterに限らず、ブログや勉…

不揃いなHashから長方形の配列をつくるgem「Emmental」

ソースはここに置いてあります。 s-osa/emmental · GitHub インストールはgem i emmentalとかbundle installとかのいつものやつで。 使い方 基本 emmental = Emmental.new emmental << {foo: 1, bar: 2} emmental << {fizz: 3, "buzz" => 5} emmental << {fo…

Technology waits for no one.

テクノロジーは指数関数的に進歩する。 これがレイ・カーツワイルの主張で、ムーアの法則などがその根拠になっている。 そして、テクノロジーが指数関数的に進歩することによって、2045年頃にコンピュータが人類の能力の総和を超えるというのが技術的特異点…

RailsのモデルでJANコードのバリデーションをするgem 「jan_validator」

つくったもの Rails*1向けのJANコードバリデータ。 先日のgemをベースにしています。 参考にしたページ ActiveModel::Validator balexand/email_validator · GitHub 使い方 JANコードのバリデーションがRails標準のpresence: trueのようなカタチで書けるよう…

JANコード用のgem「jan」

作ったもの JANコードを便利に扱うためのgemを作りました。 JANコードっていうのはバーコードに使われているこんなやつです。 国際的にはEANコードと呼ばれていたりします。 JANコードとは│JANコード登録│ 一般財団法人流通システム開発センター ean | RubyG…

i18nをYAMLで管理するのしんどい

TL;DR 愚痴です。 問題 Railsのi18nではt(:hello)みたいな感じで、tメソッドを使って多言語対応すると思います。*1 この多言語対応のtranslationファイルがYAMLで書かれていて #common.en.yml en: hello: "Hello" #common.ja.yml ja: hello: "こんにちは" み…