僕は発展途上技術者

RubyMotion で作ったマンホールマップをメンテしてくれる方を募集します

RubyMotion で作った「マンホールマップ」、AppBank に紹介されて、ここ数日ありえないくらいダウンロードされ始めてしまいました。

» マンホールマップ: ディープなマンホール写真の世界にご招待。もうこれはナイスマンホ!!無料。

こうなってくると、気長にメンテしようと思って放置していた使い勝手の悪さや不具合などを直さないとせっかくダウンロードしてくれたユーザーに申し訳ない。

ですが、いまのところ別の Web サービスを開発中でなかなか手が空かない上に、RubyMotion はブランクがある。

そこで、僕の代わりに、マンホールマップのメンテをやってもいいよ、という方を募集したいと思います。

一応、RubyMotion 本家のアプリ紹介のページにリストされているアプリです。

地図画面の改良や、マンホールの写真を投稿する機能を追加するのが目下のタスクです。

ご察しの通り、無料でマイナーなアプリゆえまったくといって良いほど収益はないので、お金をお支払いすることはできません。また RubyMotion を持っていないという方はここから購入していただく必要があります。¥20,335 です。(2013/4/16 現在)

なのですでに RubyMotion を持っている人でないと厳しい感じはするのですが、これから iOS アプリの開発をしたい、RubyMotion を使ってみたい、という意欲を持っている方であればコーチングします。

興味がある方は、つくる社のお問い合わせよりご連絡ください。

[追記] このエントリー書いた翌朝にはさっそく応募があり、Twitter ID、ブログのURL、GitHub のアカウントを教えてもらって見させてもらい、良い人そうだったのでその夜にお会いし、決定しました。インターネット凄い!

Engine Yard Cloud で ISO-2022-JP メールを送って文字化けする場合の対処法

これ、Engine Yard Cloud を使っている日本のユーザーにとっては FAQ になるのではないかと思ったのでメモ。

Engine Yard Cloud を使っていてメールを送る場合は SendGrid アドオンを使います。

メールの文字コードは最近は UTF-8 でも大丈夫みたいな情報も見るのですが、念のため mail-iso-2022-jp gem を使って ISO-2022-JP で送ります。

すると、短いテストメールでは問題なかったのですが、ちょっと文面が長くなると文字化けしてしまいました。

受信したメッセージのソースをみてみたところ、なぜか text/plain の文面(こちらは正常に表示されている)のあとに text/html(HTMLメール) が続く形で、multipart で送られていました。そして text/html(HTMLメール) の文面が文字化けしている。

どうもこれは SendGrid の仕業のようです。

SendGrid の管理画面に入り、Global Settings のメニューを選び、Don't convert plain text emails to HTML にチェックを入れたところ、plain text のままで送られるようになり、文字化けしなくなりました。



Vagrant 入門 - Vagrant 1.1.x 以降でイメージのスナップショット機能を使う

Vagrant には sahara という、ある時点のイメージの状態を保存しておいて、いつでもその時点に戻ることができる便利なスナップショット機能を追加するプラグインがあるのですが、1.1.x 以降利用できなくなっていました。

困ったなー、と思っていたのですが、解決方法はなんのことはない。1.1.x で VMWare などの他の仮想化ツールに対応はしましたが、以前と変わらず VirtualBox を使っている場合は、VirtualBox マネージャー(VirtualBox の GUI クライアント)を起動して、そこからスナップショット機能を使えばいいのです。

Vagrant の機能自体ではないので、「Vagrant 1.1.x 以降で」というよりは「Vagrant 1.1.x 以降を使っていてイメージのスナップショット機能を使う」ということになりますが。。



ちなみに、プラグインでなく、Vagrant 自体にスナップショット機能を追加して欲しいという要望は GitHub の issues に挙がっているのですが、Vagrant は以前から VirtualBox 以外の仮想化ツールにも対応することは予定されていたようで、VirtualBox 以外でスナップショット機能が使えるとは限らないため、本体がその機能を持つことは見送られているようです。

» add 'vagrant snapshot' option · Issue #143 · mitchellh/vagrant

Vagrant の作者は Mitchell Hashimoto さん。日系人でしょうか、苗字が日本名というだけでなんだか親しみが湧きます。

システムやアプリは内製が一番、では職業プログラマは不要なのか?




システムは内製が一番なんじゃないか、と何となく感じたのは、まだ社会人なりたての頃。

「弁当の買い出し」でPCの面白さに目覚めた にあるように僕がプログラムと呼べるようなものを書き始めたのは社会人になってからなのだが、業務を改善するためのちょっとしたシステムをノーツや Perl の CGI などを使って作るのが楽しかった。

ベンダーに投げてそこそこの開発費で作ったであろう社内システムよりも、僕が作った「ちょこっとシステム」の方が、自分含め現場で使う人たちの要望をすぐに反映させて修正できずっと使いやすかった。

使う人自身がつくってしまうのが結局一番いいんじゃないかとおぼろげながら感じ、そしてちょっと勉強すればそれが可能なソフトウェアこそ、その理想形に近い分野なんじゃないかと思ったのが20年近く前、まだ Netscape が有料だった頃だ。

そして現在、やる気さえあればプログラミングを学ぶことは当時に比べて格段に簡単になっていると思うし、例えば Ruby on Rails のようなフレームワークを使えば、ユーザー登録のような以前だったらそこそこ面倒な機能も、あっという間に実装できる。サーバーだって、クラウドのサービスを使ったりすれば、月数百円〜数千円でとりあえず始められる。Heroku とか使えば無料だ。

iPhone アプリのようなスマートフォン向けアプリは Web アプリほど簡単とは言わないまでも、頑張って書籍とかで Objective C を勉強したり、あるいは Titanium などを使えば、そこそこのものを作り上げ App Store で公開するところまではいけると思う。

そういう時代では、旅行好きな人が旅行好きが欲しいと思うアプリを作ればいいし、自転車好きが自転車好きのためのアプリを作ればいい。歴史や城が好きでたまらない友人に Rails をやってみたらと勧めたら城フォトというウェブサービスを作ってしまった。

では職業プログラマは不要になるのか?というとそうではないと思う。

僕はどちらかというと、作りたいものありきでプログラマーになった、アプリ側に近い人間なのでよく分かるのだが、〇〇好きが自分のためにシステムやアプリを作ると、最初の動くところまでは何とか完成し、数人〜数百人が使うレベルまではいくのだが、その後色々な壁にぶち当たる。たとえば、サーバーのことがよくわかっていないのでパフォーマンスが思うように出ないとか、コードが汚かったりテストコードを書いていないのでメンテナンスが難しくなってきたり、などだ。

職業プログラマ、いわゆるプロと呼ばれる人たちは、そういうところで的確にアドバイスしたり、ヘルプに入ったりする役割が求められているんじゃないかと思う。

例えば、サーバーの構成の見直しをアドバイスしたりパフォーマンスチューニングを提供するインフラエンジニア、定期的にコードレビューをしたりペアプロして、効率的なコードの書き方をアドバイスするプログラマー、使いやすい UI/UX をアドバイスするデザイナー、などなど。

大学のとき僕は機械科で、旋盤などの工作機械が並ぶ工作室というものがあったのだが、そこには機械の使い方を教えてくれたりいろいろアドバイスをしてくださる技官の方がいた。技官の方はコツなどを教えてくれるけれど、代わりに作ってくれるわけではなく、あくまでも旋盤を実際にいじってものを作るのは自分自身だ。魚を代わりに獲ってくれるのではなく、魚の釣り方を教えてくれたわけだ。

ソフトウェアも、つくりたいものをプロが全部代わりに作ってあげる、というのではなく、高度な専門知識や経験を活かしたアドバイスをしたり、さわりの部分や難しい部分は手伝って作るけれども、あとはそれを欲しいと思っている人自身にまかせる、という形がもっとあったほうがいい。そうすれば、もっと使えるシステムやアプリが増えるんじゃないかと思っている。

Vagrant 入門 - Mac 上に仮想マシンを簡単に用意する

» Vagrant 入門 - Windows 上に Linux の仮想マシンを簡単に用意する - 僕は発展途上技術者

に続いて、今度はメインマシンの Mac に Vagrant をインストールしてみました。

こちらは Windows 上と比べて、さらに格段に簡単でした。

以下手順を紹介します。

Virtual Box のインストール



Vagrant は仮想マシンをコマンドで簡単に用意できるツールですが、実際に仮想マシンを作るのは Virtual Box というソフトウェアです。

Virtual Box の Downloads ページより Mac 版をダウンロードしてインストールします。



インストールはすべてデフォルト設定でOKです。

Vagrant のインストール



次に Vagrant をインストールします。

Vagrant Downloads のページより最新(2013/3/15時点)の 1.1.0 を選び、Mac 版である Vagrant.dmg をダウンロードして、インストールします。



これも特に気にすることなく、デフォルト設定でインストールします。

Vagrant は 1.0.x までは gem でインストールできたのですが、1.1.0 よりこの .dmg ファイルでのインストールとなっています。1.0.x 以前の Vagrant を gem で入れている場合は、新しいバージョンをインストールする前に削除しておくことが推奨されています。

仮想マシンを起動



ターミナルより


vagrant -v


と入力してVagrant がちゃんとインストールされているかを確認してみましょう。バージョン番号が表示されれば OK です。

起動する仮想マシンのイメージをダウンロードして Vagrant に登録します。仮想マシンのイメージは .box という拡張子がついたファイルで、例えば http://www.vagrantbox.es/ には、いろいろな種類の OS のイメージファイルが用意されています。

このうち、今回は Ubuntu lucid 32 を起動してみます。


vagrant box add lucid32 http://files.vagrantup.com/lucid32.box


と入力します。http://files.vagrantup.com/lucid32.box という .box ファイルを lucid32 という名前で登録する、という意味です。

ファイルは数百メガバイトのサイズなので、ダウンロードに少し時間がかかります。

次に、


vagrant init lucid32


を実行して lucid32 を初期化します。初期化すると Vagrantfile というファイルが作成され、各種設定が書き込まれています。この Vagrantfile があるフォルダ上で実行しないと以降のコマンドは効きません。

いよいよ仮想マシンの起動です。


vagrant up


仮想マシンが起動したら、


vagrant ssh


でログインします。

どうでしょう?あっという間に仮想マシンを起動してログインするところまでできたのではないでしょうか。

Vagrant の他のコマンドについては

» Vagrantで簡単仮想マシン構築 \| Ryuzee.com

が参考になります。

起動した仮想マシンを止めるコマンドは、


vagrant halt


です。

Vagrant 入門 - Windows 上に Linux の仮想マシンを簡単に用意する

naoya さんによれば、「便利すぎて鼻血が出ました」という Vagrant を触ってみて、僕も Git を最初に触った以来の衝撃を受けました。

» Vagrant - naoyaのはてなダイアリー

開発者、それも gem で入れることから、Ruby を使う開発者の一部で話題になっているようなのですが、Vagrant はこれからプログラミングしようと思っている初心者や、開発環境を用意する必要があるデザイナーにこそ、強力なツールなんじゃないかと思っています。

Vagrant が便利に思えるひとつのケースとして、Windows の上に Linux の仮想マシンを用意する、というのが挙げられます。Web 業界にいると勘違いしてしまいそうになるのですが、世の中のほとんどの人は開発者も含めて Windows を使っているでしょう。そういう人が PHP や Ruby などを始めてみたいと思った時に、難関となるのが環境構築です。Mac や Linux 上に構築するのに比べて、Windows 上でそういったサーバー系の言語を使おうと思った時の環境構築は面倒です。

Vagrant を使えば、簡単に仮想マシンを Windows の上に用意できます。仮想マシンというのは文字通り、仮想なマシン、もう一台マシンが手に入るようなものです。

仮想マシンを作ることができるソフトウェアには、他にも VMWare など以前からありましたが、Vagrant が使う Virtual Box は無料である、という点が大きい。そして仮想マシンの大きな特徴として、マシン1台全体が一つのファイルなので、そのファイルをやりとりすることで、環境まるごと一つを他の人に渡したりできるという点が挙げられます。

今回 Linux の仮想マシンを用意するのですが、その仮想マシンに PHP や Ruby を用意するほうが Windows にそれらを用意するよりも楽ですし、もっと言えば、PHP や Ruby が最初から使える状態になったマシンを用意することもできるのです。

前置きが長くなってしまいました。Windows 上に Vagrant をインストールして Linux の仮想マシンを一つ用意するところまでの手順を紹介します。

普段は Mac を使っているのですが、家にあるおんぼろ PC の Windows XP にインストールしてみました。

Virtual Box のインストール



Vagrant は仮想マシンをコマンドで簡単に用意できるツールですが、実際に仮想マシンを作るのは Virtual Box というソフトウェアです。

Virtual Box の Downloads ページより Windows 版をダウンロードしてインストールします。



インストールの際はデフォルトの設定で、「次へ」を押し続けました。

Vagrant のインストール



次に Vagrant をインストールします。

Vagrant Downloads のページより最新(2013/3/15時点)の 1.1.0 を選び、Windows 版である Vagrant.msi をダウンロードして、インストールします。



これも特に気にすることなく、デフォルト設定でインストールします。

GitHub for Windows のインストール



あとで Vagrant で仮想マシンを用意したあと、そのマシンにログインするために ssh というツールを使うことになるのですが、Windows にはこの ssh が始めから用意されていません。Windows 上の ssh はいくつかあるのですが、どうせ後々使うことになって便利だと思うので GitHub for Windows をインストールします。GitHub for Windows は GitHub を Windows から使えるようにするアプリケーションですが、ssh も含まれているのです。

GitHub for Windows のページよりダウンロード、インストールします。



環境変数の設定



つまづくとしたらたぶんここのステップだと思います。と言っても注意深くタイプすれば大丈夫です。

[スタート] > [コントロールパネル] > [システム] > [詳細設定] > [環境変数]

を選び、下側のシステム環境変数の中から変数名が Path となっているところをダブルクリック、値の最後が c:¥vagrant¥vagrant¥bin となっていることを確認した上で、そのあとに


;$VBOX_INSTALL_PATH


を追加します。



このキャプチャの通りになっていたら OK です。

仮想マシンを起動



いよいよ最後のステップです。

最後は次々 Vagrant のコマンドを入力していって、仮想マシンを起動します。

コマンドの入力は Windows のコマンドプロンプトを使うのではなく、さきほど GitHub for Windows をインストールしたときに一緒に用意された Git Shell を使います。



デスクトップ上にある Git Shell をダブルクリックして起動します。

Vagrant がちゃんとインストールされているかを確認してみましょう。


vagrant -v


と入力してバージョン番号が表示されていれば OK です。




次に起動する仮想マシンのイメージをダウンロードして Vagrant に登録します。仮想マシンのイメージは .box という拡張子がついたファイルで、例えば http://www.vagrantbox.es/ には、いろいろな種類の OS のイメージファイルが用意されています。

このうち、今回は Ubuntu lucid 32 を起動してみます。


vagrant box add lucid32 http://files.vagrantup.com/lucid32.box


と入力します。http://files.vagrantup.com/lucid32.box という .box ファイルを lucid32 という名前で登録する、という意味です。

ファイルは数百メガバイトのサイズなので、ダウンロードに少し時間がかかります。

次に、


vagrant init lucid32


を実行して lucid32 を初期化します。初期化すると Vagrantfile というファイルが作成され、各種設定が書き込まれています。この Vagrantfile があるフォルダ上で実行しないと以降のコマンドは効きません。

いよいよ仮想マシンの起動です。


vagrant up


を実行します。このとき、以下のような警告がでたら、「ブロックを解除する」を選びます。



仮想マシンが起動したら、


vagrant ssh


でログインします。

以下、無事ログインできたところです。

Welcome to Ubuntu! と表示されています。



どうでしょうか?

.box ファイルをダウンロードするところは少し時間がかかるかもしれませんが、全体では比較的少ない手順なので、楽に Linux 環境まるごと一つ用意できるのではないでしょうか。

Vagrant の他のコマンドについては

» Vagrantで簡単仮想マシン構築 \| Ryuzee.com

が参考になります。

起動した仮想マシンを止めるコマンドは、


vagrant halt


です。

Vagrant は他にもいろいろな使い道がありそうです。これから機会があれば順次紹介していきたいと思います。

iOSなどのスマートフォンのブラウザ側でリサイズをおこないファイルアップロードを爆速にする

iOS 6 より Safari からファイルをアップロードできるようになり、写真投稿が必要なウェブサービスで、投稿のためだけにアプリを用意する必要はなくなったかなあ、と最初は思っていました。

ところが、iPhone 5 などで撮った写真などはファイルサイズが結構大きく、Safari からアップロードするときはそのままのサイズで送るため、外出先で 3G だとアップロードにものすごく時間がかかってしまい、ほとんど使い物になりません。

そこで、アップロード前にブラウザ側で写真をリサイズできる方法はないかと探したところ、

» IOS6 and Safari Photo Uploading - File API + Canvas + jQuery Ajax Uploading and Resizing Files Asynchronously - Stack Overflow

で紹介されていた

» Javascript canvasResize Plugin

というプラグインが使えそうだったので、paperclip と一緒に組み込んだ Rails のサンプルアプリを作ってみました。

» champierre/canvas_resize_sample · GitHub

canvasResize Plugin でファイルをリサイズした結果を DataURI にした上で、それを hidden で送信するようにしています。

既存のプロジェクトに導入する場合の手順は README に記したので、上記 GitHub のリンク先を参照してください。

いま作っているウェブサービスにさっそく導入してみて、iPhone 5 で撮った写真のアップロードに要する時間を計測してみたところ、3G回線で通常は1分近くかかっていたのが、300px x 300px 以内にリサイズした上でアップロードしたところ、10秒弱と爆速になりました。

扱えるのが jpg のみ(写真だけの場合は問題ないはずですが。。)だったり、極端に小さいサイズのファイルではエラーになったりというサンプルですが、よかったら参考にしてみてください。

また、実装方法などでもっといい方法があったら、コメントなどで教えていただけるとありがたいです。


「読み、書き、プログラミング」は誰が学ぶべきか?

「読み、書き、プログラミング」は、OtOMOCoderDojoなどでプログラミングをこどもに教える活動をしている人たちの間で繰り返し使われているスローガンです。

しかし、メディアでの取り上げられかたや第三者から見た場合、「読み、書き、プログラミング」を、こどものうちから学んで将来はプログラマーを目指そう!みたいな文脈で誤解されがちで、僕も自分がソフトウェアを開発している職業柄から、油断すると知らずにそうした考えに陥ってしまうことがあります。

「スクラッチ」(OtOMO や CoderDojo でも教えている教育用プログラミング言語)を開発したミッチェル・レズニック氏は、「読み、書き、プログラミング」をそのまま英語にした「Reading, Writing, and Programming」と題しておこなったスピーチで、そうではない、と言っています。

一部のプログラマーの素養がありそうなこどもたちにだけに必須のスキルなわけではなく、よりインタラクティブな方法で自分を表現したり、より創造性を発揮したり、あるいは他の人と協調して何かを成し遂げたいすべての人のためのスキルなんだということがわかります。



» Reading, Writing, and Programming Mitch Resnick \| TEDxBeaconStreet 2012

氏の83歳の母親が、レズニック氏の誕生日を祝うためにスクラッチで動くバースデーカードを作った、というエピソードがとても印象的。彼女がプログラマーやコンピューターサイエンティストを目指しているわけはないのは明らかで、ただ息子に喜んでもらおうと、楽しんで新しいことを学び、そしてインタラクティブに表現するためにプログラミングしている。

誰もがプロのライターを目指すために「読み・書き」を学ぶのでないのと同様に、プログラマーを目指すために「プログラミング」を学ぶわけではないのです。

また、プログラミングをおこなうことで、プログラミング以外の様々なことをこどもが自発的に学んでいく様子を、スクラッチでゲーム作りに挑戦するこどものエピソードで紹介している。あるゲームに得点をつけたいけれどやり方がわからなかったこどもに変数の概念を教えたところ、「Thank you, thank you, thank you!!」ととても感謝されたという話だ。変数を教えることで生徒から感謝されるなんてことは、普通の授業ではありえない。なぜなら、授業で変数を教わるとき、こども達はいったいなんで変数を教わる必要があるのかわからないからです。

これは実際、スクラッチをこどもたちに教えたことがある人なら誰でも体験できます。ゲームづくりの基本といえるキャラクターを画面内で自由に動かすときに、半周は180度、一周させるには360度回転させるという角度の概念や、横方向はx座標を指定し、縦方向はy座標で指定するという座標軸の概念やプラス/マイナスの概念なんかも、小学校低学年のこどもでさえもすすんで学ぼうとする。学校で習った、習っていないというのは関係なくて、彼らはただただ面白いゲームを作ろうとしているだけなのだ。

「あなたもプログラミングを始めてみませんか?」という言葉でレズニック氏はスピーチを締めくくっています。

身近にこどもがいたら一緒に始めてみるのがいいかもしれません。

» OtOMO – オトモ

では毎月スクラッチのワークショップをおこなっています。

またこどもたちに教えながら、自分も学ぶという手もあります。

» CoderDojo Tokyo

は、ボランティアで小中学生にプログラミングを教えることができるメンターを探しています。

そして、独学で学び始めようという学生や大人には

» 3分動画でマスターする初心者向けプログラミング学習サイト - ドットインストール

をいつもすすめています。

こどもが継続的にそして意欲的にプログラミングを続ける秘訣

CoderDojo TokyoOtOMO – オトモ を通して、こどもにプログラミングを教えてきましたが、継続的にそして意欲的にプログラミングを続けるこどもとそうでないこどもがいます。

僕にとってはその違いはあまりに明白で、もちろん例外もありますがだいたいのケースで「親が一緒にやっているかどうか」です。

プログラミングと似ている面があるのが英語で、自分は必要とはしてこなかったけれど将来こどもには必要になりそうだから、ということで、こどもを英会話教室に小さい頃から通わせていたりする、ということをよく聞きます。ですが、それって本当に長続きし、そして身についているのでしょうか?

おなじ習い事で、野球とかサッカーを考えてみましょう。だいたいこの場合は父親だと思いますが、親がキャッチボールやパスの練習につきあってあげない環境でこどもがうまくなるとはとても考えられません。

プログラミングや英語も同じなのに、スキル自体の特殊性があって、親が習得というか理解することをあきらめてしまっていることが多いのだと思います。でも、こどもは親を抜こうとして頑張るのであって、その親があまりに簡単に抜かれてしまってはこどもは頑張らないと思うのです。

「そりゃあ、あなたは仕事としてプログラミングをやっているのだからそういうことが簡単に言える」と言われてしまうと、まあ僕も正直プログラミングをまったくやったことがない人の気持ちというのはわからないので返答には困ります。ですが、こども達に一番最初に教える「スクラッチ」は、小学校低学年のこどもでもプログラミングできるのを大人が理解できないとは思えないのです。

始めからあきらめてしまうのではなく、一緒に学ぶのでもいいので、努力はすべきなのではないでしょうか。

もし、このエントリーを読んで、自分もこどもと一緒にプログラミングをやってみようと思っていただけたら、以下の動画でスクラッチとはどんなものなのか見てみて下さい。

» Scratchの基礎 (全22回) - ドットインストール

CoderDojo TokyoOtOMO – オトモ、あるいはほかの団体のワークショップなどで、プログラミングがどういうものかに触れることはとてもいいことだと思います。その上で、こどもが興味を持ったのなら、ぜひ親子で続けてもらいたいと思っています。

スクラッチに関しては、自分が作った作品を共有して公開するという、モチベーションを維持する仕組みがきちんと用意されているのでそれをぜひ利用してみてください。そして、スクラッチでは、「親が一緒にやっているかどうか」が一目瞭然で、続けているこどものアカウントの友達には、だいたいお父さんかお母さんのアカウントが登録されています。(つまりお父さん(お母さん)もやっているということ)

2013年の抱負 3つのやらないこと

さて、気が付けばあっという間に2013年が明けてしまい、はやくも一日目が終わろうとしています。

初日が終わらぬうちに今年の抱負を宣言しておこうと思います。

胸がすくズバッとした主張が好きで愛読している「Chikirinの日記」の

» 来年の抱負) やらないことを3つ決めよう! - Chikirinの日記

に書かれていた方法がとてもいい方法だと思いました。

一日は24時間と限られています。優先順位を決め、自分の時間を何に使うのかがとても大事で、そのためにはやらないことを決めるのがいいというのがその主旨です。

昨年僕は40歳を迎え、なんだか急に人生の残り時間が少なく感じられるようになって、正直少しあせりを感じて始めていたときに、上記エントリがとても心に響いたのです。

というわけで、僕も3つのやらないことを決めました。

やらないことその1: 0:00 以降仕事をしない



最近朝がとても弱くて、まともに起きることができません。午前中にやるべきことをやるのが効率がいいとはわかってはいるのですが。。

その原因は、まあ夜が遅いからなのですが、早起きしよう、という目標だと守れそうにないので、0:00 以降は PC に向かって仕事をしない、という目標にしておき、仕事しなければ、やることはあまりないので寝てしまいますから、それで早起きしようというねらいです。

やらないことその2: URL が入っていない新規ツイート、Facebook の近況アップデートをおこなわない



これまでさまざまな影響を受け、尊敬してやまない「百式」田口さんの、セルフブランディングには「ハッキリ言ってブログしかない」という主張を僕はいまでも強く信じています。

(詳しくは

» 人気ブログ『百式』を運営する田口元さんが語るセルフブランディングセミナーの内容全部まとめ

にまとめられています)

Twitter の 140 文字では短すぎるし、Facebook では会ったことがある友達や知人にまでしか自分の主張を伝えることはできません。

とはいえ、Twitter Facebook の便利さは否定できず、完全にやめることはできそうにありません。

そして、ツイートしてしまうと、自分の言いたかったことを言った気分になってしまい、数年前に比べるとブログを書く頻度が激減しています。

そこで、ツイートしたくなったら、グッとこらえてその内容をブログに書き、自分のエントリーの URL を載せたツイート、近況をおこなうようにする、というのがURL のない新規ツイート、Facebook の近況アップデートをしない、という趣旨です。

他人のツイートに反応してリツイートしたり、メンションするのは URL 付きとみなせて、これは続けていくつもりなので、良しとします。

いま作っているWebサービス以外の個人サービスに着手しない



ウェブサービスを作るのが好きで、これまでいくつも個人サービスを作って来ましたが、しばらくはいま開発中のものに専念します。

ちょうどこの「3つのやらないこと」ができたかどうかを Twitter アカウントさえあれば毎日記録できる 3Wont というサービスを年末に思いつき、着手してしまいそうになって、さっそく目標を破りそうになってしまったのですが、なんとか思いとどまりました。

以上、僕の3つのやらないことです。

とりあえず2013年、最初の一日は3つとも達成で終われそうです。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ