Ubuntu20.04でMX Verticalのサイドボタンを有効化する

Ubuntu20.04でLogicool MX Verticalのサイドボタンを使ってブラウザバックしたい。 MX VerticalのサイドボタンはButton Pressとして認識されていないためlogiopsのインストールが必要があります。

logiopsのインストール

ligiopsをインストールします。 適当なディレクトリ上で以下の手順でビルドする。

依存ファイルのインストール

https://github.com/PixlOne/logiops#dependencies

ビルド・インストール

https://github.com/PixlOne/logiops#building

sudo systemctl enable logid

設定ファイルの配置

以下の内容で/etc/logid.cfgを作成する。

devices: (
{
    name: "MX Vertical Advanced Ergonomic Mouse";
    buttons: (
        {
            cid: 0x0053
            action =
            {
                type: "Keypress";
                keys: ["KEY_BACKSPACE"];
            };
        }
    );
}
);

CIDはサイドボタンのID。以下を参照して設定したいキーを探してください。 https://github.com/PixlOne/logiops/wiki/CIDs keysはキーボードのkeyと対応しています。以下を参照してアサインしたいキーを探してください。 https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h

設定ファイルを配置した後はdaemonをrestartしてください。

sudo systemctl restart logid

バックスペースでブラウザバックするAddonのインストール

Chromeは2016年からバックスペースでブラウザバックしなくなっています。 バックスペースでブラウザバックするためのアドオンをインストールします。 https://chrome.google.com/webstore/detail/go-back-with-backspace/eekailopagacbcdloonjhbiecobagjci

データ解析のための統計モデリング入門をJuliaでやっていく(3.4)

3.4

using DataFrames
using CSV

using GLM

using StatsPlots


resource_dir = normpath(joinpath(@__FILE__, "..", "..", "resources"))
data_path = joinpath(resource_dir, "data3a.csv")

data = DataFrame(CSV.File(data_path))
fit = glm(@formula(y ~ x), data, Poisson(), LogLink())
println(fit)

println(loglikelihood(fit))

xx = DataFrame(x=range(minimum(data.x), maximum(data.x), length=100))
yy = predict(fit, xx)

@df data scatter(:x, :y, group=:f)
plot!(xx.x, yy)
png("predict.png")

データ解析のための統計モデリング入門をJuliaでやっていく(3.2, 3.3)

3.2, 3.3

using DataFrames
using CSV
using StatsPlots


resource_dir = normpath(joinpath(@__FILE__, "..", "..", "resources"))
data_path = joinpath(resource_dir, "data3a.csv")

data = DataFrame(CSV.File(data_path))
println(data)

println(data.x)
println(data.y)
println(data.f)
println(typeof(data))
println(typeof(data.x))
println(describe(data))

@df data scatter(:x, :y, group=:f)

png("sample_scatter.png")

@df data boxplot(:f, :y)

png("sample_box.png")

データ解析のための統計モデリング入門をJuliaでやっていく(2.1)

2.1

using RData
using StatsBase

using Plots
gr()

resource_dir = normpath(joinpath(@__FILE__, "..", "..", "resources"))
data_path = joinpath(resource_dir, "data.RData")

objs = load(data_path)
data = get(objs, "data", [])
println(data)

# データ数
println("length", length(data))

# 標本平均、最小値、最大値、四分位数
println("stats", summarystats(data))

# ヒストグラム
histogram(data;bins=range(0, maximum(data), step=1.0))
png("sample.png")

# 標本分散
println("var", StatsBase.var(data))

# 標準偏差
println("std", StatsBase.std(data))

println("std(sqrt)", sqrt(StatsBase.var(data)))

柳宗理のスプーンは日本人のためのスプーンである

10年以上使用していたスプーンをなくした。
数年に一度、使い捨ての容器とともにカラトリーを捨ててしまうことがあるので、今回も捨ててしまったのだろう。
最近キッチン用品を柳宗理で統一していたのでスプーンも柳総理のものを購入した。

スプーンは一般的にスプーンの先端と柄をつないだ線が長軸になるような楕円のような形になっている。
簡単に言うと先端が尖った形になっている。
欧米ではスプーンの先端部分から口に差し入れる運用をするため、この形状が食べやすい構造となっている。
一方、日本ではスプーンの楕円の短軸の点となる部分、つまり横から口をつける。(カレーを食べる時を想像してほしい)
よって、欧米のスプーンは日本人の運用とはあっておらず使いにくい。

柳宗理のスプーンは先端が尖っておらず、少しばかりスプーンの横の部分が尖っている。
このため、スプーンの横から口をつける日本人にとってはとても使いやすいものになっている。

逆に言えば、このスプーンは欧米人には使いにくいのではないだろうか。
この製品はターゲットを日本人に絞るというマーケティングと伝統的な欧米のスプーンと日本での運用法の差を理解した上でのプロダクトデザインが綺麗に結実した物だと思う。

これは日本人のためのスプーンである。

202004ふりかえり

ある程度テーマを絞ってYWTしないと発散するなと思った。
通常スプリントごとに振り返りを行うため、ある程度スプリントに関連するテーマに絞られるため発散しないのだが、適当に時間で区切ってやると発散しがちである。
期間とリリース可能なプロダクトというテーマを同時に兼ね備えたスプリントという単位はうまくできてるなと思った。
そんなわけで次からスプリントごとの振り返りにしたい。