柿食えば 屁をしても一人

電気系の学生のブログ。何を書くかも決めていない

ABC106解説

公式の解説が充実しているので正直書くことはないのですが、記憶を定着させることと日本語の勉強のために書きました。
まず、公式の解説を読もうね。
https://img.atcoder.jp/abc106/editorial.pdf


A,B,Dが一発ACでCが7WAでした。(全完)
下がり続けていたレートを回復できたので良かったと思いました。

続きを読む

ABC105解説

まえがき

AtCoder Beginner Contest 105 - AtCoder

Unrated になって残念ですね(冷えてたので嬉しかったです)。
A, Bがコンテスト中AC、C, Dが解説ACです。
気合い入れて図とか使って解説するので、適宜追記していきます。
茶色以下でもわかるような解説を目指します。誤り、不明瞭な点があれば何らかの方法で連絡していただけると幸いです。

続きを読む

ティアックさんの「第2回バーチャルキャストを楽しむ会」に参加してきたよ

昨日(2018/07/21)行われた、「第2回バーチャルキャストを楽しむ会」に参加して来ました。
とても楽しかったので、今回行こうか悩んだ方の背中を押せるような記事が書きたいなーと思い、久しぶりに書いています。

バーチャルキャストを楽しむ会の雰囲気

ティアック株式会社 本社ロビー(製品のアウトレット品とかを売っている所)でやっていました。
多摩センター(サンリオピューロランドの最寄り駅)から迷いながら歩いて10分ぐらいで着きました。
会が13時開始だったので12時59分ぐらいについたのですが、その時はまだ誰もお客さんが来ておらず、
ここではないのでは…と心配になりながら入りました。
その後、矢継早に2,3人来られて、5人ぐらいで楽しむ会がスタートしました。
入れ替わり立ち代わりで人が来られ、15人ぐらい
あいえるちゃんねるのゲストでいらっしゃった加茂さんがほぼ全部取り仕切る感じでやってました。
f:id:snowytom:20180722153402p:plain
ティアック株式会社の加茂さん。とてもお美しい方でした。
あいえるらいぶ#018 - YouTube


バーチャルキャストに触れるのも初めてだったので、バーチャルキャストの動作のやり方から配信のやり方まで丁寧に説明して下さいました。最初の30分ぐらいは機器の説明や、コントローラの使い方、ちょっとした裏話などがありました。
第2回バーチャルキャストを楽しむ会@ティアック - 2018/07/21 13:23開始 - ニコニコ生放送
13:30頃から実際に生配信を行い、10分ぐらいで他の方交代するという形で始まりました。待ち時間や終わった後、飽きるのかな?と思ってましたが、ティアックさんのロビーに飾ってあるものを見たり、セール品を物色したり、また、他の人がHMD被ってVR体験しているのを見たり、飽きずに最後の方までいました。
(自分の番が終わったら帰ってる人もいたので、別にずっと拘束されてるわけではないです。)
時間の都合でさいごまでいなかったのでどんな感じで終わったのかはリポート出来ないのですが、結構ゆるい感じでした。
あと、お茶とお菓子を出していただき、ただで体験させてくれてるのにといたたまれない気持ちになりました。

初めてのバーチャルキャスト体験

構成

HMDにコントローラ、密閉型のヘッドセット、ヘッドセットをMiniStudioに接続して首掛け
https://store.teac.co.jp/html/products/detail.php?product_id=1912
でした。リンクと同じ組み合わせです。一番最初につけたときはけっこうごっつい感じだなぁという印象を受けましたが、すぐ気にならなくなりました。
ヘッドホンの密閉度がすごく、没入感もばっちりでした。

バーチャルキャストのファーストインプレッション

バーチャルキャストのUIはとても直観的でわかりやすかった。
大体のプレイグラウンドはわかってるつもりでしたが、結構壁にぶつかってしまいます。高そうなものが回りに並んでたので怖かった。

バーチャルキャストのほんとによかったところ

アリシアちゃんをずっと使っていたんですが、本当にかわいいんです。
ニコニ立体ちゃん特設サイト - ニコニ立体
自撮りカメラを常時起動して、ずっと眺めていたい…そんな気持ちになります。体験中ずっと、かわいい、かわいいとつぶやきながらやっていました。脳からやばい脳内麻薬が出てる感じがしました。
今、思い出しながら書いてるんですが、それだけでももう一度やりたい気持ちに襲われてます。

最後に

バーチャルキャスト、超楽しいのでもし第3回があったら是非行ってみるとよいと思います。僕もチャンスがあれば行きたい。
むしろなんらかの形で協力したい。
もっと思ったことあったんですけど、なんか文字に起こせないので、もしかしたら追記します。
https://store.teac.co.jp/html/products/detail.php?product_id=1561
このヘッドフォンをn0%引きで買ったのですが、とても使いやすくて満足しております。

他のサーバのユーザの情報を別のサーバに移植する

複数のサーバを運用していて、追加したり、OS更新したりして、ユーザの再登録が必要になった時に、全自動とは言えないけど、半自動で行う(行った)方法。
PWが初期化されるのはしょうがないものとする。

コピー元のサーバalpha、コピー先のサーバbravoとしてやる。

ユーザー一覧の取得
cat /etc/passwd

ユーザとuidとgidの一覧が出てくる。

cat /etc/passwd | grep "gid"

gidで選べば、ほしいユーザの一覧がもらえる。(grepはor,andできるのでなんとかしよう)
それを、txtファイルに流し込む。

cat /etc/passwd | grep "gid" >list.csv
データの加工

任意のエディタで":"を","に変換する。(":"を","に変換するのをパイプラインでやったほうがいい)。
excelで開いて、ユーザ名とuid,gidだけを残し、1列目からそれぞれ、ユーザ名、uid, gidで保存。何も書かなくて良いけど4列以上書く(理由は後述)

スクリプトの作成
#!/bin/bash
csvfile=hoge.csv
for line in `cat ${csvfile} | grep -v ^#`
do
    user=`echo ${line} | cut -d ',' -f 1`
    pass=`echo ${line} | cut -d ',' -f 1`
    uid=`echo ${line} | cut -d ',' -f 2`
    gid=`echo ${line} | cut -d ',' -f 3`
    eval useradd ${user} -g ${gid} -u ${uid}
    expect -c "
    spawn passwd ${user}
    expect \"New password:\"
    send -- \"${pass}\n\"
    expect \"Retype new password:\"
    send -- \"${pass}\n\"
    expect \"passwd: all authentication tokens updated successfully.\"
    send -- \"exit\n\"
    "
done

参考というかコピペ
対話式のコマンドをスクリプト化する方法 - Qiita

このスクリプトをrootで実行すればすべてのユーザを移動できる。

Tips
  • echoでspritしているときにgidに数字+改行コードが混ざってしまい落ちる(n敗)。それを簡単に防ぐには1つダミーの列を追加するのが良い。
  • LDAPとかRadiusとかの認証サーバの必要性を強く感じた。

カメラ用の三脚を買いました。【Mactrem 大型アルミ三脚CT62 ORENGE】

あけまして、おめでとうございます。今年もよろしくお願いします。
自分へのお年玉ということで、一眼レフ用の三脚を買いました。
結構リスキーな買い物をした、と思ったのでレビューを書きます。

続きを読む

C# でpair をdouble で整列【備忘録】

自作クラスPairをdoubleでソートしたいと思っていたが、
doubleの比較のやり方がわからないので引き算してバブルで書いていた。

扱う件数が300ぐらいになってしまい、バブルがボトルになってしまって辛かったがやり方が見つかった。良かった。
CompareToの使い方を知らなかっただけ、といえばそれまで。


ideoneっていつまで消えないのかしら…

using System;
using System.Collections.Generic;
public class Test
{
	public static void Main()
	{
		var list= new List<Pair<int,double>>();
		var random = new Random();
		for(int i=0;i<20;i++){
			list.Add( new Pair<int,double>(i+1,random.NextDouble()));
		}
		foreach(var item in list){
			Console.WriteLine("{0}:{1}",item.First,item.Second);
		}
		list.Sort((a,b) => a.Second.CompareTo(b.Second));
				foreach(var item in list){
			Console.WriteLine("{0}:{1}",item.First,item.Second);
		}
	}
}

public class Pair<T, U>
    {
        public T First;
        public U Second;
        public Pair()
        {

        }
        public Pair(T first, U second)
        {
            this.First = first;
            this.Second = second;
        }

        internal object Clone()
        {
            return MemberwiseClone();
        }
    }

GAで巡回セールスマン(TSP)を解く【神饌コード】

こんにちは

ToMです。昨日は寒く、今日はなかなかに暑いという体調を崩しがちな天気ですが皆さんいかがお過ごしでしょうか。 僕はLab.に出勤して趣味コーディング中です。

TSP using GAについて

初音ミク2017誕生祭神饌コード企画で書いていた、GAでTSPを解くプログラムが形になりました。

続きを読む