自作LINEスタンプで失敗した「唯一」のこと

LINEスタンプの作り方で「唯一失敗」したこと
http://www.materialize.jp/art/software-services/line/7705/


・LINEスタンプをヒットさせるには既存の作り方に惑わされない
・唯一、LINEスタンプのサイズは事前に知っておくべきだった
・「370px × 320px」の枠を常に意識すること

「90000」というLINEスタンプが存在するんだと考えたら、みんながやっていることと同じことを実践して、頭ひとつ出るわけないよね。どれだけオリジナリティを打ち出せるか、これって日本人にとって最も苦手なことのような気がする。

おすすめの漫画をランキング形式で「108選」紹介する

10年強くらい前までは、まだまだ「アンチ漫画派」の大人も多くて、話のネタにできない寂しい思いをしたこともあったけど、今ではすっかり市民権を得て、もう立派な日本の文化に昇華し切ったと言っても過言ではないと思ってる。

今、このタイミングで超個人的なランキングを発表する理由は特にないけど、漫画を改めて見つめ直したい人とか、これから漫画にハマりたい人とかに、煩悩の数と同じ「108選」だけおすすめ漫画をランキング形式で紹介したい。

絶対とはもちろん言わないけど、何か自分の中に新しく芽生える作品も見つかるんじゃないかと思う。自分がそうだったから。

※完結、連載中の作品を区別しない
※ランクに同一作者を複数登場させない
※順位は思いっきり主観で客観的な評価基準はない

【おすすめ漫画ランキングを「108選」で紹介する】
http://www.materialize.jp/art/column-essay/7607/

touch -m ファイルの修正時刻を変更


$ find ./foldername -type f | xargs touch -m *.*


書式

touch [−acfhm] [−r file] [−t [[CC]YY]MMDDhhmm[.SS]] file …
説明
「touch」コマンドは、「file」で指定したファイルのアクセス時刻と変更時刻を、現在の時刻に変更します。ファイルが存在しなかった場合は、デフォルトのパーミッションで、サイズ「0」のファイルが作成されます。

オプション

  • a

アクセス時刻のみを変更します。

  • c

ファイルが存在しない場合も新規に空ファイルを作成しません。
−f
ファイルのアクセス許可がない場合でも、強制的に実行します。
−h
ファイルがシンボリックリンクの場合、リンクが指すファイルの代りにシンボリックリンク自身の時刻を変えます。

  • m

修正時刻だけを変更します。

  • r file

現在の時刻の代わりに file と同じタイムスタンプに書き換えます。
−t [[CC]YY]MMDDhhmm[.SS]
引数で指定した時間にタイムスタンプを変更します。
MMは月、DDは日、hhは時、mmは分、CCは西暦年の上2桁、YYは西暦年の下2桁、ssは秒を表します。
file
タイムスタンプを変更するファイル。

サンプル

例1)filenameファイルを新規に作成。


$ touch filename

例2)filenameファイルのタイムスタンプを1982年3月15日9時34分に変更。


$ touch -t 198203150934 filename

iPod nano skins 4th/5th

iPod のモデルを区別する方法

むかし、マリオのスキンが欲しくって欲しくって探したけど日本には無くて、諦めたんだけど、今では日本で販売されていた!!!他にも面白そうなスキンをチョイス。あ、探していたのはまだiPod(1st)の時代。ここでは現行の4th/5thをチョイス。

1st/2ndはこちら















































































iPod nano skins 1st/2nd

iPod のモデルを区別する方法

むかし、以下にあるマリオのスキンが欲しくって欲しくって探したけど日本には無くて、諦めたんだけど、今では日本で販売されていた!!!他にも面白そうなスキンをチョイス。あ、探していたのはまだiPod(1st)の時代。だから以下は1st/2nd用だす。

4th/5thはこちら













PDK

http://pdk.android.com/online-pdk/guide/index.html

Android Platform Developer's Guide

Welcome to the Android Platform Dev Guide! This guide provides an under-the-hood introduction to the Android platform, and is designed for platform developers and manufacturers building Android-powered devices.

If you're a software developer interested in developing applications for Android, please visit the Android Developers site.

    • -

こんなサイトがある。独自の証明書の作り方やビルド方法など面白い。







protected-broadcast

1.6のgitコミット差分を見ていたら、Broadcastの一部がSystemからしかSendできないようになっていた。確かにこれまではウソのシステム通知が可能で、自作アプリからぼんぼんシステムエラーを起こすことができた。それがAndroidの思想かと思っていたが、やはり対応したのだな。

http://android.git.kernel.org/?p=platform/frameworks/base.git;a=commitdiff;h=a8675f67e33bc7337d148358783b0fd138b501ff

AndroidManifest.xmlというタグが追加されている。ここに記載することで、そのActionは守られるようになる。


../core/res/AndroidManifest.xml<-- ================================================ --><-- Special broadcasts that only the system can send --><-- ================================================ -->



























Broadcastの送信処理は、ActivityManagerServiceに実態がある。ここで、callingUidがシステムからの送信要求であるかを見るように変更が加えられている。


../services/java/com/android/server/am/ActivityManagerService.java

/*
* Prevent non-system code (defined here to be non-persistent
* processes) from sending protected broadcasts.
*/
if (callingUid == Process.SYSTEM_UID || callingUid == Process.PHONE_UID
|| callingUid == Process.SHELL_UID || callingUid == 0) {
// Always okay.
} else if (callerApp == null || !callerApp.persistent) {
try {
if (ActivityThread.getPackageManager().isProtectedBroadcast(
intent.getAction())) {
String msg = "Permission Denial: not allowed to send broadcast "
+ intent.getAction() + " from pid="
+ callingPid + ", uid=" + callingUid;
Log.w(TAG, msg);
throw new SecurityException(msg);
}
} catch (RemoteException e) {
Log.w(TAG, "Remote exception", e);
return BROADCAST_SUCCESS;
}
}