Linuxマシンをスゲー安く作る

termuxに入ったdebian

Linuxマシンがほしくなったら、ヤフオクでAndroidを探してTermuxを入れろ、以上!

いきなり結論です。

意味がわからない方はすいません、今回はYahooニュースとか見といてください。

WindowsでWebアプリの開発をしていると、Railsを使う時とかNode.jsを使う時とか結構めんどくさいことが多くあります。

そもそもWindowsの場合ターミナル(黒い画面)の出来があまりよくないのでcygwinというWindows上でLinux風に動くターミナルを使ってお茶を濁しています。

Windowsで本格的にLinuxを動かしたいのであればVirtualBoxとVagrantを入れる必要があります。

VirtualBoxとVagrantのインストールはあまり大変じゃないので、すぐにWindowsでLinux環境が作れるのですが「Linuxマシンが動いている感」が非常に薄いのは否めません。

なぜならWindows上でLinuxが動いているからです。

で、冒頭の結論です。

安いAndroid端末を買えば簡単にLinuxマシンになるよっつーことです。

ヤフオクでは中古のAndroidが安く売られている

ヤフオクでは毎日スマホが大量に出品されています。

iPhoneは高いですが、Android端末は安く買えます。

画面割れとか非人気の古いものであれば2000円以下で手に入ります。

さらにメール便で送ってくれるところも多いので、送料が200円くらいで済みます。

端末と配送の保証とかはないですが、そもそも中古なので保証はあきらめましょう。

掘り出し物をゲットする感覚でいきましょう。

できればSIMフリーの海外メーカーのものを買う

あと、できればですが日本の国内メーカー(SonyとかSharpとか)のものよりも、海外メーカーのスマホを狙いましょう。

製品としての出来映えとか完成度で見た場合は日本国内メーカーのスマホの方が海外メーカーのスマホよりよくできてます。仕事が丁寧なメーカーが多いということでしょう。

ですが、日本国内メーカーの端末はSIMフリーのものが少ないうえに、グローバルに展開しているメーカーが少ないためカスタムロムを入れたりroot化したりするのが非常に難しいです。
(Sonyはグローバル展開自体はしている…)

要はユーザーが少ないのでカスタムロムとかroot化を頑張るユーザーが少ないので情報が少ないです。
色々遊びたい場合はあまり適していません。

日本の国内市場だけを見てキャリア(docomo、au、softbank)とべったりでスマホを売ってきたのが国内メーカーです、だからSIMフリーの端末が少ないのです。
2010年くらいの時点でSIMフリーで売り始めていれば世界のスマホの勢力図はかなり違ったものになっていたでしょう。

で、どのメーカーがオススメかと言うと台湾のAsus、中国のHuawei、xiaomi、アメリカのMotorolaでしょうか。

性能云々ではなく、ユーザーが多く開発コミュニティが活発なのが今挙げたメーカーのスマホです。

HTC、LG、Samsungは高額機体が多いのであまりオススメできません。
製品の出来だけで言うとHTCはすごくいいのですが、勢いが全くありません、私は結構好きだっだのですが非常に残念です。

日本国内のメーカーであるSharpとSonyでも古ければ安いものはありますが、root化とカスタムロムは絶望的(SonyはSharpに比べればマシだけど)なのでそういう遊び方をしないのであればという感じでしょうか。

下記が端末を選ぶ際の注意です。
カスタムロムが入れられる端末であればAndroidバージョンは気にする必要は無いですが、国内メーカーを選ぶのであればバージョンはすくなくとも6以上は欲しいかなと思います。

  • Android: 6 以上
  • メモリ: できれば3GB以上
  • ストレージ: 最低16GB、できれば外付けmicro SDカードが入れられる
  • ボタン、USB端子、Wi-Fiが壊れているものは使い物にならない
  • バッテリーが膨らんでいるものはダメ
  • カメラとかスピーカーが壊れているのはホトンド気にする必要なし
  • 画面割れは中の液晶が洩れてなくてタッチが効けば気にする必要なし

AndroidにTermuxを入れる

Termuxがいいを参照してTermuxをAndroidに入れてください。

Debianのインストール

TermuxだけでもLinuxぽく使えるので気にならなければTermuxで十分です。

でも、よりLinuxぽくしたい場合はDebianを入れましょう。

ミネラルウォーターみたいですね、Debian。

まずTermuxを立ち上げてから下記のコマンドたちを打ってください。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# debootstrap等をインストール
$ pkg install debootstrap proot wget

# debian用のディレクトリを作り移動
$ mkdir storage/deb
$ cd storage/deb

# アーキテクチャーのチェック
$ uname -m
## 結果が aarch64だったら
$ debootstrap --arch=arm64 stable stable http://ftp.debian.org/debian/
## 結果が x86_64だったら
$ sudo debootstrap --arch=amd64 stable stable http://ftp.debian.org/debian/
## 結果が i686だったら
$ debootstrap --arch=i386 stable stable http://ftp.debian.org/debian/

# binds ディレクトリを作成
mkdir binds

# start-debian.shの作成
$ vim start-debian.sh

# 下記の矢印内を記述
#↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

#!/data/data/com.termux/files/usr/bin/bash
cd $(dirname $0)
## unset LD_PRELOAD in case termux-exec is installed
unset LD_PRELOAD
command="proot"
command+=" --link2symlink"
command+=" -0"
command+=" -r stable"
if [ -n "$(ls -A binds)" ]; then
for f in binds/* ;do
. $f
done
fi
command+=" -b /dev"
command+=" -b /proc"
## uncomment the following line to have access to the home directory of termux
#command+=" -b /data/data/com.termux/files/home:/root"
## uncomment the following line to mount /sdcard directly to /
command+=" -b /sdcard"
command+=" -w /root"
command+=" /usr/bin/env -i"
command+=" HOME=/root"
command+=" PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/games:/usr/local/games"
command+=" TERM=$TERM"
command+=" LANG=C.UTF-8"
command+=" /bin/bash --login"
com="$@"
if [ -z "$1" ];then
exec $command
else
$command -c "$com"
fi

#↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

# 実行権限を追加
$ chmod a+x start-debian.sh

# debianの実行
./start-debian.sh

# パッケージのインストール
$ apt-get update
$ apt-get upgrade

$ cat /etc/lsb-release
$ apt-get install tzdata

$ apt-get install net-tools
$ apt-get install wget git
$ apt-get install build-essential

これでDebianが入りました。

Debianのインストールに関しては下記のサイトを参考にさせてもらいました、ありがとうございます。

http://beta-notes.way-nifty.com/blog/2018/11/termux-ubuntude.html

AWSより安い

まだ、TermuxとDebianをちゃんといじっていないので何ともいえないのですが、AWSのEC2に仮想Linuxマシンを作るとかよりも安くLinuxマシンが手に入ります。

Androidさえ買ってしまえばそれで終了です、AWSのように毎月の支払いはありません。
あるとしたらAndroid端末への充電代だけでしょう。

AWSか他のVPSを契約しようか迷っていたのですが、しばらくはTermux&Debianで色々やってみる予定です。

Android 10のお菓子のコードネームは「なし」です

以前、Android Q のお菓子のコードネームは Quetchentaart に決定! するかも という記事を書いたが、ついにAndroid10のコードネームが決定した。

下記の記事を見てほしい。

「Android Q」の正式名はお菓子ネームなしの「Android 10」に ブランドロゴも変更

なんと、お菓子のコードネームは「なし」である。

びっくり。

梨ではなくて「なし」である。

あれだけ盛り上げておいて、結局なしってどういうことか。

Quetchentaartでいいではないか、だったらAndroid 9のPieは止めてほしかった。
あんなにやる気ない名前つけるならあの時やめときゃよかったのに。

別れを切り出せずにズルズル続けちゃって、お互い歳とってからやっぱ別れようかみたいな感じである。

CupCakeとDonutというかなりやる気ない名前から始めてKitKatとかOreoとか結構いい感じの名前をつけるまで成長したのにこれですか。

ネコ科の動物のコードネームとかカリフォルニアの地名とかより夢があってよかったのに。

非常に残念です。

目的地に着かない感じ

京王線のどこか知らない駅に行かなきゃならないのになかなか着かない。

歩いていると周りが繁華街みたいになってきて、もうすぐ駅かなと思っていたら住宅街に出ていて、駅にホントに着かない。

寝坊した。

最近なかなか目的地に着かない夢を見る。

私はどこから来たのか、私は何者なのか、私はどこに行くのか。

私の目的地はどこなんだろうと最近よく考える、なんつって。

跡取りを残さずに去る、ディープインパクト死す

ディープインパクトが死んだ。

父ディープの種牡馬はかなりいるが、偉大な父を超えるような牡馬はまだ出てきていない。

ライバルのキングカメハメハも今年から種付けを止めることになったので2019年は日本を代表する種牡馬2頭が引退した年として記憶されるだろう。

キングカメハメハはロードカナロアという自身の種牡馬成績を超えそうな跡取りを残すことができた、ルーラーシップも頑張っているし、日本の有名どころの血がたくさん入ったドゥラメンテの産駒デビューも控えている。

キングカメハメハの系統の一番の強みは、サンデーサイレンスの血が入っている繁殖牝馬に種付けができるということである。
ドゥラメンテはサンデーサイレンスがばっちり入ってしまっているのでちょっとこの例からはもれるがロードカナロアにはサンデーは入っていない。

逆にディープ産駒の弱みはサンデーサイレンスが入っていることである。
だからサンデーサイレンス系の繁殖牝馬にはつけられない。

主流の血統は、同じ血が多くなっていくので同じ血が多くなればなるほどつけられる繁殖牝馬は減っていくというパラドックスがおきる。

日本ではディープインパクトの父のサンデーサイレンスの血を持った馬が多くいるので、サンデーを持っていない種牡馬が強くなるのは当然といえば当然である。

つまり日本ではディープインパクトの後継種牡馬が生まれにくい状況になっている。

まあでもしかし、おそらくこれからも長い間日本競馬を代表する1頭であり続けるはずのディープインパクトに優良な後継種牡馬がいないというのは悲しいことである。

で、独断と偏見で後継種牡馬を下記のようにまとめてみた。
父ディープインパクトの種牡馬は大体3つのジャンルに分かれる、はず。

マイラー~2000メートル タイプ

  • トーセンラー
  • ダノンシャーク
  • リアルインパクト
  • スピルバーグ
  • サトノアラジン
  • トーセンスターダム
  • ダノンプラチナ
  • リアルスティール
  • サトノアレス
  • ダノンプレミアム
  • ケイアイノーテック
  • ディーマジェスティ
  • アルアイン

父ディープインパクトで一番多いのがこのタイプである。このタイプは父の得意としたクラシックとは距離が違うので正直どう扱っていいのかよくわからない。
でも一番玉数が多いこのタイプの中に最良の後継種牡馬がいそうな気もする。
リアルインパクトとかは今年デビューの産駒が頑張っているのでもしかするかもしれない。

クラシックディスタンス タイプ

  • サトノダイヤモンド
  • マカヒキ
  • キズナ
  • ワグネリアン

ダービーで連対したタイプがクラシックディスタンスタイプであるが、ダービーで連対したがためにその後クラシック路線を歩んだという側面もあるはずで、実際はマイラーの可能性もある。
ここから後継種牡馬が出ると考えるのが人情だが、たぶんここからは出ないのだろう。

特殊 タイプ

  • フィエールマン
  • ディープブリランテ
  • ロジャーバローズ
  • エイシンヒカリ
  • ミッキーアイル

本来ならクラシックタイプやマイラータイプに入るはずなのだが、印象が強烈な産駒をここにあげてみた。これらが後継種牡馬になると非常に熱い。
ディープブリランテは結果が出てしまった感があるが、同型のエイシンヒカリやロジャーバローズは結構いい線いくかもしれないというか、私が好きだからいい線いってほしい。

ミッキーアイルなどはスプリンターかもしれないのでロードカナロアに勝負を挑んでいってほしい。

file-keeperでPhotoshopとかIllustratorでバージョン管理?する

1年くらい前から始めてるプライベートでの開発ですが、yourdeviceくらいしか発表できるものがありませんでしたが、ついに第2段が完成いたしました。

何を開発したか

私が業務でもプライベートでも開発をする時に使っているアプリケーションはSublime Textとターミナル(Cygwin)です。

Sublime Text でコードを書いて、ターミナルでGitコマンドを叩いてコーディングの結果と履歴を保存していきます。

Gitコマンドはコーディングの履歴をたどれるので不具合があった時とか、どんなコードを過去に書いたかがわからない時とかに簡単に参照ができるのでとにかく非常に便利なのです。

自分の書いた過去のコードの中身が簡単に見られるので、まあとにかくホントに便利です。

ですが、Gitは普通のテキストファイルしか見られません。

PhotoshopとかIllustratorとかのファイルも管理はできますが、どんな編集をしたかみたいなとこは見られません。

それがずっと悩みだったのです。

PhotoshopとかIllustratorの編集履歴の中身を見られるものを自分で作ればいいと思いましたが、それ作るの大変そうだな?と思ってあきらめていました。

先日、会社の同僚とPhotoshopの話をしている時、「Photoshopを保存するたびに自動的にバックアップを取ってくれるライブラリとか今はあるかもね」と何気なく私が言いました。

自分で言った発言がその後も気になっていて、これ、自分で作れるよなと思いました。

やりたかったPhotoshopとIllustratorのバージョン管理「みたい」な感じのことができるなと思いました。

で、作ったのがfile-keeperです。

file-keeperの使い方

  1. Node.jsのインストール

Node.jsをインストールします。2019年7月20日時点では10.16.0 LTSをオススメします。

  1. file-keeperのインストール

WindowsならコマンドプロンプトかCygwin、Macならターミナルを開きます。
file-keeperはWindowsでしか動かしていませんが、MacもLinuxも動くはずです。

で、下記のコマンドを叩きます。

1
$ npm install -g file-keeper

これでfile-keeperのインストールが完了です。

  1. バックアップを作りたいPhotoshopファイルの場所に行く

さっき開いたWindowsならコマンドプロンプトかCygwin、Macならターミナで下記のコマンドを叩きます。

1
$ cd <行きたいディレクトリ>

コマンドプロンプトの場合、エクスプローラーで目的のファイルがあるフォルダを開いてShiftを押しながら右クリックでそのディレクトリに移動した状態のコマンドプロンプトが開きます。

  1. file-keeperの起動

3で移動したディレクトリが表示されているのを確認して、下記のコマンドを叩きます。

1
$ file-keeper
  1. ファイルのバックアップ

目的のファイルをPhotoshopで開いて編集して、保存します、すると自動的にファイルのあるディレクトリにdistディレクトリができあがり、保存された瞬間のファイルがコピーされます。

で、保存するたびにそのファイルがコピーされます。

同じファイル名だと保存のたびに上書きされてしまうので、自動的にその瞬間の日付と時間を入れてファイルを保存します。

こんな感じ

何を言っているかよくわからないかもしれないので、こんな感じです。

1
2
3
4
5
6
nantyara_folder/
|- backupsitai.psd < これをバックアップする
|- dist/ < ここの中に日付を付けて保存
|- backupsitai_20190720_220855.psd
|- backupsitai_20190720_220856.psd
|- backupsitai_20190720_220901.psd

nantyara_folderの中にバックアップしたいPhotoshopファイル「backupsitai.psd」があるとします。

nantyara_folderに移動してfile-keeperとコマンドを叩いてから、「backupsitai.psd」を開いて保存すると、保存するたびにdistの中に日付の付いたファイルがバックアップされていくという仕組みです。

もちろんPhotoshopだけでなく、Illustratorファイルでもいいですし、WordでもExcelでもOKです。普通のテキストファイルでもいけます。

詳しくは下記を参照してください。

npmのfile-keeperのページ

使ってる技術

基本はNode.jsです、というかNode.jsだけ使ってます。

実際に使えるか

検証中です。実際の業務でまだ使っていないので自分で使って改良してきます。

何も告知してないのにもかかわらず、公開1週間くらいで150くらいダウンロードされてます。
多いのか少ないのかわかりませんが、ちょっとうれしいです。

タイトルに「バージョン管理」というワードを入れちゃいましたが、Gitみたいにバージョン管理できるわけではありません。
保存ごとに新しいファイルができていくので、実際に管理するにはそれを一つ一つ開いて確認しなきゃならないので「管理」というよりも「バックアップ」です、あおってすいません。

よかったら使ってみてください。

JuneとJulyがわかりにくい

JuneとJulyがわかりにくい、どっちもJuで始まって4文字。

職場での出来事。
6月のある日、業務で使っているWebサービスの更新期日が”July”となっていたので慌てて同僚に更新するように依頼した。
ところが同僚から、「Julyだから7月ですよ、慌てないでも大丈夫ですよ。」と言われたのだ。

英語圏の方々は瞬時に判別がつくのだろうか。

数字でJulyとJuneはやめて数字で書けよと思うよ、私は。

傘がない

図書館から出ようとしたら傘がなかった。

ダイヤル式の鍵のある傘立て、店とか公共施設みたいなところの入り口にある、50本くらい立てられるあれ。

何ていうのかわからないので「ダイヤル式巨大傘立て」略して「ダ巨」とします。

その「ダ巨」に傘をかけておいたのです、最近記憶力がホトンドなくなっているので「000」で開けられるように設定して、右側のダイヤルを一個だけずらして「001」にしてロックしておいたのです。

そいだら、図書館から出ようとしたら傘がなかったのです、最近買った黒のビニール傘でした。
540円也。

雨がいきなり降り出して傘がないから持って行ったのならいいのですが、その日は朝から雨です。
みんな傘持って図書館来てるはずです。
なんで人の持ってくか、おい自分のどうした。

ビニール傘なら持って行っていいのか、おい。

前も土砂降りの日にビニール傘を盗まれたことがある、東雲のラモスフィールドで。
なんで土砂降りなのに傘持たずにフットサルコート来るんだよ、ずぶ濡れでコートに来たのか君は。

ビニール傘は安いから持って行ってもいいだろって思ってるだろ、こっちは安いのしか買えないしすぐにボロボロになるビニ傘になんなら結構な愛着があるんだよ。

図書館出て近くのコンビニで白いビニール傘を買いました。
590円也。

こういう出費スゲー痛い。
ホントに痛い、痛恨の一撃。
私の傘持って行ったヤツはすぐに詫び状とお菓子を持って返しに来るように。

転職は考えないとは言ったものの

図書館での勉強を再開した。

以前の会社に在職時の2012-2014年までの間にはやっていたのだが、最近は図書館での勉強はやっておらず夜に自宅でJavaScriptを使ったプライベート開発をやるというのが主なものだった。

再開した大きな理由は今年の夏のボーナスが下がったこと。

入社した2015年からずっとボーナスは微増していたのだが今年は2割減ることとなった。

理由を聞くと、納期が遅れたことにより予定していた額が入らずその分が減ったとのことである。
冬のボーナスで補填をする可能性もあると言っているが、ちょっとどうだろうかと思う。

入った当初は売り上げ好調という感じだった。

しかし、週1の会議では納期の話はするものの具体的な受注額の話は全くでず、納期が遅れてもそれほどピリピリしないのは何でかなと思っていた。

私からするとちゃんとお金の話をしてほしいと思っていたのだが、社長以下昔からいるメンバーたちはお金に興味ないというか売り上げにあまり興味がないような感じに見えて、大丈夫かなと思っていた。

それで今回の減額である。

ボーナスに期待しているわけではないが、なんかもうちょっと先にお達しがあっても良かったのではないかと思うし、非常に軽いのだ、捉え方が。

納期がゆるい分社内はピリピリしていないが、つまりその分売り上げは減っていくのではないか。
みんな気づかないうちに末期状態になるのではないかと私は危惧している。

社内のメンバーは新しい技術の取得意欲もたいしたこと無い、技術力で売っているように言っているがもはやその技術力は競合から見てかなり下の方ではないかと私は思う。

新しい技術とか新しいことがすべて良いわけではないが、より効率がいいかもしれない、より性能がいいかもしれない「新しい技術」を試そうとしない態度がやばいんでないのかと思っている。

私は会社の稼ぎの大方を生み出すコアの部分の開発には携わってはおらず、実際に社のメンバーたちの技術力はわからないが、話をしている限り勉強を常にしているような感じも見受けられず、この人たちはここで死んでいくつもりなのかなと思ってしまう。

他のエンジニア系の会社がどうかはわからないがGitを使わずに動かしているプロジェクトもあり、ちょっと驚く。

私も今の会社に入社して初めてGitを知ったのでえらそうなことを言えないが、ちょっとは勉強してよと思ってしまう。

特に何も言われることもなく、自由に色々できていいなと思っていたが、自由に色々できるのは管理能力のある人がいないだけというのが大きな理由である。

今の会社に対する私の疑問は下記の通り。

  • 技術力 => 低いのでは?
  • 完成させる力 => 管理できてないから低いのでは?

だから結構危ないのでは?と思っている。

私は入社以来、JavaScriptメインでやってきてこれからもこの言語をやるだろうと思っているが、それ以外の柱をもうひとつ作ろうかなと考えている。
一応今のところネットワーク系のスキルをもう一つの柱にできないだろうかと画策している。

勉強をしてすぐに転職するというつもりではないが、仮に営業成績が落ち始めたら転職を考えなければいけない。

非常に滞っている感じ

プライベートの開発も仕事もなんだか非常に滞っている感じ。

なんで電車のホームで多くの人はスマホ見ながら歩いているのか、危ないではないか。

空から大粒の雹が落っこちてきてそういう人たちのスマホの画面に直撃してしまえと思います。

イヤホンしながら動画見て階段降りたりしているのはもう名人芸です、私はマネできません。
しないけど。

電車に乗っていて踏み切りを通り過ぎたのですが、踏み切りで待っている自転車に乗った人が5人くらいいて、その5人全員がスマホを見てました。

まあ別にいいんだけども、私もスマホ見ながら歩いたりもするし、電車の中で見てたりもするんだけど、他人のスマホを見た時のこのザワザワ感はなんだろか。

ご祝儀にビクビク

先日、友人が結婚すると連絡をしてきたのだが、式をやるかどうかがよくわからない。

式をやるのか聞いてみたのだが、「やるかもしれないし、やらないかもしれない」という答え。

これは非常に困る。

アラフォーの私が友人の結婚式に包むべきご祝儀の額がいくらがふさわしいのかはよくわからないが、仮に式に出席するとなったら3万円包む。

ホントウは5,000円くらいでいいのではないかと思うのだが、それだと新郎新婦が式場に払う一人当たりのコストより低くなるはずなのでそれも忍びない。

というか人にケチだと思われたくない。

だったら断れよ、と思うのだがいい人だとも思われたいので断りづらい。

独身時代だったら3万の出費は少し痛いだけなのだが、結婚をしていると自分の自由にお金が使えないので少し痛いではなくて、私には痛恨の一撃なのだ。

さらに新郎新婦に直接3万を渡しているというよりも式場の使用料(入場料?)を払っているような感覚になり、別にこの式場で挙げてくれと私は頼んでいないし、街のレストランでいいんじゃないの?という思いが沸いてくる。

結婚式業界の人の生活を守るために払っているような感覚といえばいいだろうか。

友人の懐に入るのでもなく、式場代に消えていく運命の3万を喜んで払いたがる人がいるだろうか。まあそういう人もいるのだろうけど、私の心は全く喜んでいない。

そういうやつは式に出席するなよということなのだろうけど。

会場入り口に投票所みたいなのを設けておき、そこで用意された封筒にお金を包んで、投票箱、じゃなくてご祝儀箱みたいなのに入れるという案はどうだろう。

無記名を基本にして、0円でもOKみたいなのはどうか。

いい結婚式もあるし、来てよかったなと思うこともあるから、結婚式自体が悪いとは思わないのだけど、払わされているという感覚が抜けないのだ私は。