Ubuntu 18.04でAndroid StudioとSDK

えっと、UbuntuAndroidスマホ)の開発ができるのか、と思って調べたらAndroid Studioが動くらしい。ということでやりはじめたらいろいろトラブルがあってそれでもSDKエミュレーター)も含めて環境ができたみたいなのでとりあえずご報告。

本来はどんなトラブルがあってどんなふうに解決したのかを書きたいのですが、よくわからないまま進んでいるのでいまのところ出来た、ということだけ。
追記でなにか書くかもしれない。

わたしの経験では誰かが出来た、と書いてくれているだけでどんなに助けになるか(笑)ということもあるのでお許し下さい。

とりあえず、プロンプトで

android-studio

とタイプしてリターンを押すと、

Command 'android-studio' not found, but can be installed with:
sudo snap install android-studio

となって、なにこれ。snapってなに。

sudo snap install android-studio

とすると、今度は

sudo snap install android-studio --classic

とせよ、と叱られる。

まあ、この辺が序の口でいろいろありますので、続きはまたいつか。

プログラミング言語別四則演算+剰余べき乗+整数割り算

以前、プログラミング言語別四則演算+剰余べき乗というのを書いたのですが、それに整数割り算を付け加えてみました。

Ruby => + - * / % ** 整数割り算はそのまま 9 / 4 -> 2  
C => + - * / % pow(x,y) 整数割り算はそのまま 9 / 4  -> 2  
Python3 => + - * / % **(or pow(x, y)) 整数割り算は //  
Java => + - * / % Math.pow(x, y) 整数割り算はそのまま 9 / 4 -> 2  
J(プログラミング言語) => + - * % |~ ^ 整数割り算はfloor(<.)を使う  
R => + - * / %% ^  整数割り算はfloor()を使う  
Scala => + - * / % Math.pow(x, y) 整数割り算はそのまま 9 / 4 -> 2  
Groovy => + - * / % **(or Math.pow(x, y)) 整数割り算はintdiv()を使う  
PHP => + - *\ / % **(or pow(x, y)) 整数割り算はintdiv()を使う  
Perl => + - * / % **(or pow(x, y)) 整数割り算はint()を使う  
JavaScript => + - * / % Math.pow(x, y) 整数割り算はMath.floor()を使う  
Lisp(CLisp) => + - * / mod expt 整数割り算はfloorを使う  
Scheme(Racket) => + - * / modulo expt 整数割り算はfloorを使う  
Go => + - * / % math.Pow(x, y) 整数割り算はそのまま 9 / 4 -> 2  
Basic => + - * / mod ^ 整数割り算はint()を使う  
Haskell => + - * / mod ^ 整数割り算は divを使う div 9  4 -> 2  
elm => + - * / modBy(またはremainderBy) ^ 整数割り算は //  

python2.7とpython3の四則演算の違い "/" について

python2では 9 / 4  -> 2  
python3では 9 / 4 -> 2.25  

なるほどね。

中東の国々を覚えよう

キルギスってどこあるの、とか、ドーハの悲劇ってどこの国だっけとかわからなくて普通ではないでしょう。
がんばって中東の国々の位置関係を覚えて下さい。

https://kalz2q.github.io/jsdemo/middleeast.html

今回はたったの23問なので、あっと言う間に覚えられると思います。
たぶん忘れるのも早いのでできるだけすぐもう一度やって復習するのがおすすめです。

ギリシャ文字と数学記号を覚えよう

ギリシャ文字と数学記号を覚えるクイズサイトを作りました。

https://kalz2q.github.io/jsdemo/utfquiz.html

問題: ∂
答え: 偏微分、デル、ラウンドディー

みたいな問題が、82題出題されます。

5分で全部解けたら(覚えられたら)優秀だと思います。

ファイとプサイが区別できないとか、ニューとミューがあやしいというかたはたまにこのクイズをやって記憶をリフレッシュするといいと思います。 >> 自分

ほんとはMathJaxを使って美しい記号にしたかったのですが、うまく行かなかったで普通のフォントで300%にしています。
データベースは使っていません。
ただのテキストファイルです。
プログラムとデータは下記にありますので、勝手にgit cloneして変更して使ってください。

https://github.com/kalz2q/jsdemo.git

データだけ書き換えれば、問題なく動くと思うので英単語帳とかにもなるし、単語帳としても優秀なインターフェイスだと思う。
こういうやりかたにすればたいていのことはさくっと覚えられるのでいいのではないでしょうか。

単語帳は世の中にたくさんあるので、いいとして、日本語->英語の例文集をこの形にしたらどうか、というアイデアがあります。

問題: 日本の印象はいかがですか?
答え: What is your impression of Japan?

ま、こんな感じのをクイズ形式にする。
問題数を多くしないといけないので作成がたいへんかもしれない。

あと、ベタ問のデータベースから問題と答えをひっぱってきたらどうか。
いわゆる豆知識よりベタ問が好き。
違いはなにかというと、ベタ問は知っててあたりまえ。豆知識はしらなくてもいい。

アメリカの州名を覚えるプログラム

アメリカの州名と位置関係を覚えたいと思ってクイズサイトを作りました。

https://kalz2q.github.io/jsdemo/usaquiz.html

問題 バージニア州の南
答え ノースカロライナ州

というような問題のセットが60題くらいあって、覚えたら「知ってた」ボタンを押すと問題に出なくなるので、全部の問題を「知ってた」にするクイズゲームです。

位置関係なのではじめは地図を手元に用意したほうがいいです。

https://upload.wikimedia.org/wikipedia/commons/9/92/Map_of_USA_with_state_names_2.svg

とか。

マウスでボタンを押していくだけなので、さくさく覚えられます。たぶん。

以上

フォント遊び

はろはろはろ。
こんな字で失礼します。


はてなのマークダウンでwebフォントをどうやって使うのが簡単か。

とりあえず。

<div  style="font-family: 'tk92font', serif; font-size: 150%;">はろはろはろ。 <br>

とかしています。

行替えがめんどうですね。 とか。 まあいいか。
えっと、きっかけはgoogleがNoto Serif CJKの全言語版を作ったというニュースがあって、はてなで使えないかなとちょっとやってみたら、まだNoto Sans CJKほどは公開されかたがオープンではなくてつかえなかった。
そこで、大昔に作ったフォントをハードディスクのなかから探し出して、dropboxにいれて遊んでいるところです。
手書きなので完全フリーです。



つぎのような例文。文になっていないけど。

これは日本語这是汉语조선어Noto Serif CJK JP繁體字

Noto Serif CJKでこのような各国語が混じった文を統一的に美しく書きたい。
いまはできなくても時間の問題なのでちょっと待ちましょう。

その間、こうして自作のフォントであそぶ。
もっと漢字をたくさんいれないとおもしろくないですね。
子曰、吾十有五而志于学、三十而立、四十而不惑、五十而知天命、六十而耳順、七十而従心所欲不踰 矩。
おー、けっこうちゃんと書けているじゃん。
つくるのたいへんだったんだよなー。よく覚えていない

メモ
自分のはてなダイアリーを検索したら、2011年の4月の記事で自作フォントについて書いている。
TTEditというソフトで作っている。
今回はそれをubuntu上でwoff化した。
Dropboxにアップロードして、直リンクで、はてなダッシュボード、設定、デザイン、カスタマイズ、で、@font-faceにいまの直リンクを書く。保存
はてなブログの記事はhtmlで書く。はてなのマークダウンはマークダウン中にhtmlが書ける。githubではstyle関係は書けないのでフォント遊びができない。

Ubuntu 18.04のkernel update

きのう、Ubuntu 18.04のカーネルを4.15なのを4.16にアップデートする方法を

https://linuxhint.com/upgrade-kernel-ubuntu-1804/

に書いてある、と書きました。 スクリーンショットもあるし、わかりやすいのでそちらを参照してほしいのですが、自分のために手順をメモしておきます。

Ubuntu Kernel Update Utility (UKUU)というユーティリティを使う。
その前に端末で自分のUbuntuカーネルバージョンを調べる。
というのがそもそもなぜカーネルをupdateするに至ったかというと、なにかトラブルについてカーネルが古い、という情報をどこかで得たからであって、Ubuntuの更新でバージョンが既に上がっていればこの作業は必要ない。

uname -r

カーネルのバージョンがわかります。

ちなみにUbuntuのバージョンは

cat /etc/os-release

でわかります。

UKUUをインストールするためにUKUU ppaを登録する。

sudo add-apt-repository ppa:teejee2008/ppa

このあとで、ukuuをインストールする。

sudo apt-get install ukuu

ukuuがインストールされたので、次のように起動する。
Ubuntu 18.04の上のメニューバーのアクティビティをクリック。中央に出てくる検索画面にukuuと入力する。ukuuのアイコンをクリックする。

するとukuuが選択可能なバージョンのリストをダウンロードして示してくれる。
最新のものを選択してInstallボタンを押す。
専用の端末(ターミナル)のようなものが現れてインストールが始まる。終了したら端末下部にあるクローズボタンをクリックする。
UKUUがカーネルがトラブった場合の対処方法を示すのでこれはOKで消す。
再起動して、uname -rでカーネルバージョンを確認する。

以上

追記

ukuuを入れてからbugieとかいうデスクトップの宣伝のポップアップが出るようになってうるさいのでukuuをremoveすることにしました。

sudo apt --purge remove ukuu

bugieのポップアップはとりあえず出なくなったと思う。

追記

ポップアップがまだ出るので調査中です。
-> 設定 -> 通知 -> 通知ポップアップ -> オフ
で消えたみたい。
環境はubuntu 18.04です。
UKUUを疑って悪かった。