Nexus 7 2012にPure Nexus 6.0.1をインストール
Nexus 7 2012 "grouper"のオフィシャルアップデートがパフォーマンスが致命的に悪いポンコツ5.1.1で終わってしまっていて使い物にならなかったのでCyanogenMod 12.1を入れて子どものYouTube端末にしていたんだけど、こちらも最近パフォーマンスが非常に悪い状態で10秒くらい固まることが多くなってきていた。
CyanogenModもstableは2015-11のままでアップデートされていないようなので、Pure Nexus 6をつっこんだ。前回CyanogenModを入れたときには、Pure Nexus 6はまともに動かなかったので、CyanogenModを入れたのだった。
- 材料
- TWRP
- Pure Nexus 6.0.1 for Nexus 7 2012 grouper
- Open GApps ARM 6.0 nano
- nano/pico以外は/systemの容量が足りなくてerror code 70で中断する。
Fedora 24ではandroid-toolsを入れるとadb/fastbootが使える。
sudo dnf install -y android-tools
bootloaderを起動した状態でunlockを発行する。bootloaderはUSB Debugging有効でsudo adb reboot bootloader
か、電源ボタン+ボリューム下ボタン長押しで電源ONにするかで起動できる。
sudo fastboot oem unlock
recovery領域をTWRPに入れ替える。
sudo fastboot flash recovery twrp.img
flashしたら、bootloaderからRecover起動を選択するとTWRPが起動する。
USB接続からPure NexusとOpen GAppsのzipをNexus 7のDownloadディレクトリに転送する。転送したらTWRP上のInstallでzip選択して実行。再起動するとPure Nexusになる。
さて、Pure NexusだとYouTube閲覧端末として十分なパフォーマンス出るかな?
WildFly Swarm 2016.9 リリース、MicroProfileで実行
WildFly Swarm 2016.9がリリースされたので試してみます。
WildFly Swarm Project Generatorでデフォルトのまま生成してみると以下のpom.xmlが生成されました。Swarmのバージョンが2016.8.1
とひとつ前のものになっているので、2016.9
に書き換えてmvn package
でビルドします。ビルドしたら50MB弱のtarget/demo-swarm.jar
が出来上がり、java -jar target/demo-swarm.jar
で起動できます。http://localhost:8080/rest/helloにアクセスするとHello from WildFly Swarm!
が表示されます。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> <name>Wildfly Swarm Example</name> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <properties> <version.wildfly.swarm>2016.8.1</version.wildfly.swarm> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <failOnMissingWebXml>false</failOnMissingWebXml> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>bom-all</artifactId> <version>${version.wildfly.swarm}</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-plugin</artifactId> <version>${version.wildfly.swarm}</version> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <dependencies> <!-- Java EE 7 dependency --> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <!-- Wildfly Swarm Fractions --> </dependencies> </project>
demo-swarm.jar
の中には_bootstrap/demo.war
というようにアプリケーションのwarが含まれています。
swarm.jarを実行するのではなく、WildFly Swarm MicroProfileを使って指定したwarを実行することもでできます。
java -jar microprofile-2016.9-hollowswarm.jar target/demo.war
OpenShift Origin v1.3.0-rc1をoc cluster up
VagrantでVMセットアップする部分は前回のFedora 24でoc cluster upを利用してOpenShift Originをセットアップするを参照。
DOWNLOAD_URL=https://github.com/openshift/origin/releases/download/v1.3.0-rc1/openshift-origin-client-tools-v1.3.0-rc1-ac0bb1bf6a629e0c262f04636b8cf2916b16098c-linux-64bit.tar.gz FILENAME=$(basename $DOWNLOAD_URL) PATHNAME=${FILENAME%%\.tar\.gz} sudo dnf install git docker -y sudo sh -c "echo INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16' >> /etc/sysconfig/docker" sudo systemctl start docker sudo systemctl enable docker curl -LO $DOWNLOAD_URL sudo tar xf $FILENAME --strip=1 -C /usr/bin $PATHNAME/oc sudo curl -L https://raw.githubusercontent.com/openshift/origin/master/contrib/completions/bash/oc -o /etc/bash_completion.d/oc . /etc/bash_completion.d/oc sudo oc cluster up --metrics mkdir ~/.kube/ sudo cat /var/lib/origin/openshift.local.config/master/admin.kubeconfig > ~/.kube/config
NexusをDockerで動作させる
Nexusは基本的にOpenShift上で動作させて使ってるんだけど、自分の場合はOpenShift環境が複数あってNexusも作って壊して、みたいなことが多いという特殊な状態なので、別の環境にマスターとなるミラーがあったほうが良さそうだなぁ、ということで自分の汎用サーバにしているRHEL 7 VMでNexusを動かすことにした。
データボリュームはホストマウントでsystemdのUnitファイル書いておしまい。
sudo mkdir /sonatype-work && sudo chmod 777 /sonatype-work sudo sh -c "cat << EOM > /etc/systemd/system/nexus.service [Unit] Description=Nexus on Docker Requires=docker.service After=docker.service [Service] Type=simple ExecStartPre=-/usr/bin/docker stop nexus ExecStartPre=-/usr/bin/docker rm nexus ExecStartPre=/usr/bin/docker pull sonatype/nexus ExecStart=/usr/bin/docker run --name nexus -p 8081:8081 -v /sonatype-work:/sonatype-work:Z sonatype/nexus [Install] WantedBy=multi-user.target EOM" sudo systemctl start nexus && sudo systemctl enable nexus
Bose QuietComfort 35を買った
Bose QuietComfort 15を使っていて今年の3月にアンオフィシャルのイヤーパッドに交換していたのだけど、やはり安物なのかすぐ皮が割れてダメになってしまった。経験上オフィシャルのイヤーパッドは2年強持つけど5000円くらいするし、QC15はもう7年前の製品なのでこのタイミングでお金かかる補修も微妙だし本体ごと買い換えるかなー、ということで今年6月に発売されていたBose QuietComfort 35をポチった。ヨドバシのポイントが結構あったのも使いたかったしね。6時間でおうちに届いた。
Nexus 6はペアリングして問題なく利用できた。
Fedora 24はペアリングできたように見えるけどヘッドフォンとして認識していない。調べてみると、LinuxのbluezはLEでのペアリングをサポートしておらず、LEが有効になったままペアリングするとダメなので一度bredrにしてペアリングして設定を戻す、という作業が必要とのこと。ペアリングを除けばLEはLinux 3.4/bluez 5からサポートされているということらしい。
http://unix.stackexchange.com/questions/292189/pairing-bose-qc-35-over-bluetooth-on-fedora
Soundを開いてBose QuietComfort 35を選択。Profileには"High Fidelity Playback (A2DP Sink)"と"Headset Head Unit (HSP/HFP)"という2つのProfileがあり、前者はふつうに高音質だが後者は非常に低音質になる。ただし、後者じゃないとマイクが認識しない。InputでQC35を選択すると自動的に後者のプロファイルになるようだ。
調べてみるとこれはBluetoothの仕様で、A2DPは片方向トラフィックなのでマイクは明らかに機能しないとのこと。音楽聞くときとビデオカンファレンスするとき、それぞれ設定で切り替えないといけないのは面倒だなぁ。
WildFly 10.1.0.Final リリースしました
WildFly 10.1.0.Finalがリリースされました。WildFlyのサイトからダウンロードできます。
リリースノートはこちら。今回のハイライトはデフォルトでのHTTP/2のサポートです。
HTTP/2をサポートするには、TLSの拡張であるALPNをサポートする必要があるのですが、JavaのTLS実装にALPNのサポートが追加されるのはまだリリースされていないJava 9です。
Jettyにはalpn-boot.jarというbootclasspathを利用してTLS実装を差し替えるというhackライブラリがあるのですが、利用するJavaのバージョンに依存があり、バージョン毎に対応するalpn-boot.jarを利用しないと動作しないという欠点があります。そこで、WidFlyのWebサーバであるUndertowでは、ALPNをサポートする別のhackを実装して、今回のリリースとなりました。
Got 13 seconds?? All you need to learn HTTP/2 on #WildFly 10.1 #theeasylife #javaee #jboss https://t.co/Mx5hF2EPfA pic.twitter.com/K4X3Bkmugz
— Jason Greene (@jtgreene) August 20, 2016
ChromeでF12を押して、Networkタブを開き、表示項目を右クリックしてProtocolを追加するとHTTP/2であるかどうかを上のツイートのように確認できます。
OpenShift Origin 1.3.0 v1.3.0-alpha.3をoc cluster up
前回のFedora 24でoc cluster upを利用してOpenShift Originをセットアップするのalpha3バージョンです。コマンドのメモだけ。
sudo dnf install git docker -y sudo sh -c "echo INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16' >> /etc/sysconfig/docker" sudo systemctl start docker sudo systemctl enable docker curl -LO https://github.com/openshift/origin/releases/download/v1.3.0-alpha.3/openshift-origin-client-tools-v1.3.0-alpha.3-7998ae4-linux-64bit.tar.gz sudo tar xf openshift-origin-client-tools-v1.3.0-alpha.3-7998ae4-linux-64bit.tar.gz --strip=1 -C /usr/bin openshift-origin-client-tools-v1.3.0-alpha.3-7998ae4-linux-64bit/oc sudo curl -L https://raw.githubusercontent.com/openshift/origin/master/contrib/completions/bash/oc -o /etc/bash_completion.d/oc . /etc/bash_completion.d/oc sudo oc cluster up mkdir ~/.kube/ sudo cat /var/lib/origin/openshift.local.config/master/admin.kubeconfig > ~/.kube/config