なかっちゃんの日記

勉強会とか日々の勉強の記録

ThinkPad X1 Carbon への情報収集

というわけで

そうなんですよ! こういうわけでパソコンを変えます.

macは?

まあ大学入学前に買って今まで頑張ってくれたんですけどね,「ここぞ!」というときにパワーが足りないんですよ.Latexコンパイル(20ページくらいのレポート)をする時もなんかもたもたって感じで…. あとスリープ復帰してだいぶ長い間CPU使用率が100%付近とかいう状態でバイト先でも端末借りてる状態でした.

求めるスペック

  • CPU Core i 5 or 7
  • メモリ 16GB以上
  • SSD 特にないけど多いと良い
  • USキーボードが選べる

これさえ満たしてもらえばいいかな.あとはMBPみたいにType-cしかないばっかしにhyperdriveとか買って周辺機器にお金使うのはなぁってのもあります.

ThinkPadにした理由

ここで候補に上がったのは「MBP」「ThinkPad」「Surface」です.これ以外のメーカは最初から眼中にないです.(Iiyamaとか若干気になるのはあるんですけどね),Ubunut入れたいしBIOSレベルでいじられてたらやっとられんので.いやーMBPが高いのはわかってた.これを満たそうとすると20万超えます.これに消費税とApple Careで25万orz) あとMacじゃないといけない理由も見当たらなかったですしね よしじゃあもうWindowsを抜いてUbuntuを入れるとしてwindows機を買おうと思い.Surfaceへ…

「お前 絶対Mac意識しとるやろ!」 とレビューを見ながら思いました.

さてThinkPadは前々からバイトで若干触る機会があり,これいいなぁって思ってました.X1 Carbonの新品なんて完全に一目惚れですね.XシリーズやTシリーズもいいなぁって(この時点でThinkPadに確定) Xシリーズは画面サイズが12.5インチという理由でなしに,x1にするかTにするか…. 持ち運びは毎日するのでやっぱし軽いほうがいいかなという理由でX1 Carbonにしました.

構成

  • Core i7-7500U (2.7GHz,MB)
  • メモリ 16GB
  • SSD 256GB 少し心配

SSDが少し心配ですがまあ十分なスペックなのでこれで行きます.OfficeはGoogoleのツールたちでなんとかしていきます.これから半年困らなかったら研究室の端末という手がでてくるのでどうにかなるでしょう.

集めた情報

今回はWindowsを完全に消し去ってUbuntuを入れるのできちんと情報収集をして作業を行おうと思いまして(あと全部記録を取ろうと)

UbuntuのVersion

現状(20170909)が最新版が17.04(End of Life data is January 2018)で次の18.04 LTSがでるのは2018年の4月とかいう話です.んで17.10が10月にでます.んー アップデート何回もするのめんどくさいけど来るのは9月20前後になりそうだし,夏休みに移行作業を済まして置きたいなぁ.16.04LTSのどちらにするか悩みどころ.タイミングが悪い

って思ってたんですけど17.04にしようと思います.理由はSwap領域の話になります.さっきのSSDの容量的なお話もあり,Swap領域はなしにしようかなって思ってました.これを見てあー  休止状態か… 基本スリープだろうけど長時間使わないときは使いそう….

SDカードを買って来てそこにswap領域を作るかってつもりでしたがところがどっこいUbuntu 17.04からスワップパーティションからスワップファイルに移行してるじゃないですか(参考サイト)

しかも

また確保するスワップファイルのサイズ計算は今までと大きく異なる。 ボリュームの空き容量の5%以下、もしくは、2GiBのいずれか小さいサイズを採用する。

だそうでメモリが大容量化してSwapがほぼ使われていないような状態になっている流れなのでそれを汲んででしょうね.

というわけでアップデートの回数多いけど17系を使って行こうかと思います.

次の目標を決めました

お久しぶりです.最近はどうも調子が乗らずうだうだしてしまう生活でした.(理由はあとで書きます)やっとこさ他のことをするきになりました.というわけでPerlでタスク管理ツールでも作ろうかなという次第です.

またここで言っても途中でやめるんだろとか言われそうなのでここを載せておきましょう.

サーバーレスで実現しようと思ったのですがまあちょうどいいしPerlでやってみるかぁって感じです.

なにがあったかって?

“5b285aWz44Go5Yil44KM44G+44GX44Gf”

はい ここでも使ってbase64で解読してください. いやーなんか直接書きたくないので暗号化した次第です.ただ僕のブログとfacebookから来られた方の大半は解読できるのではないでしょうか.まあこのあとの文を読んだらわかると思いますけどね.

3週間くらいたったのですが最初の週はどちらかというときつさからの開放感に浸ってましたけどまあそれ以上になると,どうも今までの時間が長かった分なにかと,記憶に結びついてきつくてですね.これはもう時間がたって風化していくのを待つしかないかなぁって思っています.もうどうしようもなくなったときに話を聞いてくれる人たちがいるのでどうにか生きているなぁって思ってます.自分の行動に後悔はしてないので時間はかかりますけど立ち直れるかなってほんのすこしの自信を持っていこうという感じです.

いろいろ思うことはあるんだけどもまだ落ち着いてないのでここではなしで

思ったこと

この記事を書いているときにはまだ終わってないけどこのタイトルがいいかなっておもったのでこのタイトルです.今回,自分を見つめる記事なのでマイナスなこともかなりありますがご了承ください.見たくないなら見ないでください

自分が消耗するまでやること

FaceBookで取り上げた話です.自分が消耗しきって,余裕がない状態でやらなければならないことに追われる状態がずっと続いて来ました.特に僕はメンタルが弱いのでもう疲れがたまるともうなんか泣きそうになりますよ.その場の空気に影響されやすいので遊びに行くときはテンションはもちろん高いです.遊ぶの楽しいですからね.

じゃあこの状態は乗り切るのが精一杯で中身のないものになるのかなって思ってたんですが,そこで引き下がらないのがさすが俺(自分で言うな).ここで自分が追いつめられたときにどんな風になるのかをきちんと文にすることができました.(ここには書かないです).これからの人生少なくとも何回かは山にぶち当たることになるので自分のことをきちんと分かる機会にできた(はず)です.

あと過度な我慢もかなり精神に負担をかけるのでこれをいかに対処していくかは今後も考えないといけないところですね,特に気分の上下が激しいので楽しいことがあったあとに落ち込むと気分の落差が…

あることを取るために他のたくさんのことを我慢することもこれから考えないといけない課題になりました.これ失敗して人間関係壊したので.

後期はそういうこともなさそうなので楽しく生きて行きたいと思います.自分を高めることは日常に余裕があるときにしたいですからね.多少忙しくてもやりたいことやるんですけどなんかもうそれすらできないのはちょっとって感じですね.

誰でもできることから得るもの

今日は話題多めで行きます.これは前回のHackerzLabの打ち上げのときに言われた話なのですが,バイトで会社のPCのリカバ・リセットアップもしてるって話してました.バイトでやらせていただいていることはもちろんかなり広い知識が必要なこともありますので同じ大学の連中腕も誰もができる仕事ではないと思っています.でもパソコンのリカバリ・セットアップは覚えれば誰でもできるよねってとある方に言われたんですよね.まあまずそれすら考えたことがなかった僕はそれについて一ヶ月間くらい考えてました.僕自身,下働きはきらいじゃないんですよね.むしろある程度必要だと思ってます.自分の実力が足りないのでその立場になっているからです.しかしまあそれも慣れてくると何も考えない作業になってしまうことが,多々あります.

そこからたまにでいいからそれについて少し調べてなにかを学ぶだけで誰でもできることが少しでも有意義になるのではないのかなって思いました.

自立する,自信をもつ

はい,最近少しはできるようになってきたかなって思ってます.今までは少しでも分かってくれる人がいたらその人ばっかで依存の症状がありました.HackerzLabとかYAPCとかでいろいろな方と話してやっと最近自分に自信がついてきました.今まで勉強してきたことを誇っていいし,これからもこの調子,これ以上にやっていけば,まあ人生貧困になったりはしないし,まあそれなりに充実できるだろうなって思います.(調子に乗っているわけではないですよw)

最近すこし自信がついてきてこれからこれをいかに伸ばしていこうかな

テストで点を取るのと学ぶこと

これは高校のときからずっと思っていることです.あいつは学校のテストの点はいいよなぁってやつです.昔からこの手の人とは結構関わってきました,課題もはやくから真面目に取り組んでるしテスト勉強も早くからちゃんとやってるし,ほんとに尊敬します.僕にはできないです.ただどうしても食い違うのは「なんで授業の歯にだけで終わっちゃうの?」って話なんですよ.そんだけ意欲的にとりくめるならそれをもっと超えてもはや最強になれるのでは?って思うんだけどそれはしないんですよね.なんでか不思議でならないんですよ.いわゆる高校までの勉強をそのまま大学でやってるだけなんですよね.言われた通りにやって,点数取って満足なんでしょうね.じゃあそんなに偉そうなことをいうお前はそれ以上にやってるのかと言われれば,「やりたいことはやってる」と答えます.やりたいことやってフル単ならだれも文句は言わんでしょう.そりゃあ合格ギリギリの科目もありますよ.でもまあそれでいいかなって思ってます.少なくとも(視野は狭いかもですが話がしやすいので)同じ学科の連中と比べればみんなのできない,知らないことができる自信はあるし.人とのつながりはある方だと思います.なんで僕が外の勉強会とかに行くのかって,学内にある点数取れればって空気に息が詰まってしまうからです.自分もやってるのであれですが,ずっとそこだけにいると全然伸びないと僕は思っているので行き始めたのがきっかけなんですよね.

なにか一つでもいい自分がやりたいことがある人は本当にいいと思う.

技術的なことはまあ夏の進捗が生まれたら書きます.んでこの記事もまだ書き足したいことがあったら更新します. 

明るいオタクって言われた話

こんにちは 久々ですね.

YAPCからもう少しで一ヶ月も経つんですね.

昨日,唯一の3限が20分程度で終わってしまったのでちょっと高校に行ってきたんですよね.久々に先生方とお話してきました.そこでとある先生に「あんたは昔から自分であんまやらんけどいろいろ首突っ込むよね」って言われました.(おかしいな自分でもやってたんだけどなぁ)僕的には今みたいにHackerzLab.博多をはじめ,いろんなイベントに行って話ししたりなんたりは大学に入ってやってる認識だったんですけどまさか高校のときからやってたとは思いませんでした.(認識がなかった) 言われてみれば生徒会だったこともあり行事の核になっている人と関わる機会は多かったです.そういうところなのかなと自分で思ったししてました.

その後は「今はなんの勉強してるの」とか「院いくの?」みたいな話をずっとしていたんですが,その中で「あんたは明るいオタクだから就職は心配してない」っていう発言があってですね."明るいオタクというワードがすごい印象に残りました.たしかに同期よりは外で活動してるので大学外の知り合いであるとか,現役の方とは話す機会は多い方だと思ってます.コミュニケーション能力は絶対に必要なものなのであって損はないですね(技術的なことは結構話すことができますがそれ以外がさっぱりだったりする) でもこれが自分の強みなのかなって思います.自分の強みって人に言われないとある程度考えていてもそれに言葉を当てはめるのって難しいですよね.仕事するときも明るいオタクを活かしていきたいなぁって思った今日このごろ

とりあえずテスト乗り切りますね

終わったらまたブログ書きます.

YAPC:Fukuoka行ってきた

聞いたセッション

perlペーペーなのでそれ以外で - Be PaaS Monger - クラウドエンジニアの三大美徳、またはIaaSを使わない3つの理由 - コンテナを「守る」仕組みから、中身を理解しよう! - システム障害をめぐる冒険 - Web application good error messages and bad error messages - 未来のプログラマー達へ ~Perl入学式卒業生から~ - グローバルなエンジニアを目指す為の入門的な話 - Inside Evalpark - the evolution of sandboxing - スキップしていいテスト、スキップしてはいけないテスト 〜速さと信頼を兼ねたテストコードを構築する術〜

懇親会ではわいとんさんとお話させていただいてAzure以外の話もしていただいて感謝です

中身については他の方々が書かれていると思うので学生の僕から得られたものを今の時点でまとめられるだけまとめていきたいと思います.開発経験がなさすぎてサーバを愛でる方がすきな僕が行って思ったことで本当に大事なことは

  • なんでもいいから自分の興味の有るもので設計,開発を行う
  • インフラエンジニアが監視,検知を楽にするためのツールを開発することがある

現役の方々からすると当たり前だろと言われそうですが(特に下は)学生からすると今の現場の流れ,しかも運用なんて聞かないとわからないんですよね,それ以外にも吸収するものが多い時間でした.

次の日はHackerzLabを午前,午後とトークしたりと充実した2日間でした

Perl入学式in福岡とかいう話もあるのでまた新しい機会がうまれそう

Mastodonのお話

この記事はHackerzlab.博多 用の記事です

mastodonとは

マストドンは、Twitterに似た特徴を持つが、オープンソースソフトウェアを実行している分散されたサーバーの連合によって管理される、連合型のソーシャルネットワークである。

簡単に言うとサーバがいっぱいあるTwitter

ストドンのサーバーは「インスタンス」と呼ばれる。利用者は一つのインスタンスに所属し、他者が閲覧できる短文を投稿できる。投稿の公開範囲は、ユーザー自身の設定とインスタンスごとの設定により決定される。投稿者本人のみ閲覧可能・投稿者のフォロワーのみ閲覧可能・あるインスタンス全体に公開・インスタンスを超えマストドンのネットワーク全体に公開・二者間のダイレクトメッセージを、投稿ごとに利用者は選択できる。 twitterとの差別化として、中央集権型のトップダウンの管理ではなく、小さなコミュニティによる自治的な管理という方向性をマストドンのサービスは模索している。

それぞれのインスタンスによって話題の方針がある

一覧 http://k52.org/mastodon/

用語

http://qiita.com/ato1234/items/22d49b9c17c758317077

タイムライン

タイムラインが何種類かあります

  • ホーム

    自分のフォロワーのtoot TwitterのTLみたいな感じ

  • ローカルタイムライン

    自分のインスタンスの人たちのtootが表示

  • 連合TL

​ 連携しているインスタンスのtootが表示

登録してみましょう

Https://hackerzlab.net

スマホアプリもあります http://justsize.hatenablog.com/entry/2017/04/17/060040

技術的な話を

Github:https://github.com/tootsuite/mastodon

ここを参考に今回はdockerを使わずに構築しました.

Redis

全てのデータをメモリにいれるとかなんとか

Postgres

DB

なんで2つDBがあるのか

Redisをキャッシュ保持,高速小容量で動かし,実際のデータはpostgreへって感じ

Rails

メインですね

API

C#REST APIでてました その他言語でもいけます.


ここから追記(2017/06/25)

スマホアプリ

iOS: Amaroq  

Android: Tusky  

Win/Mac: githubに上がってるそうです. web版でいい気もしますが

今の状況

mstdn.jpに一極集中するというよりかはいろんなところに分散されていっている感じです.企業としては

Qitta,DWANGOは表向きは試験的に行うと書いていました.

1つのインスタンスは一つの話題に特化するということが根付きつつある?

引用

https://matome.naver.jp/odai/2149218081638507401

HackerzLab.博多vol10に参加してきた

2回目の参加してきました.全然解けませんでしたww.これじゃいかんなあって思いなが復習しなきゃなーって思いつつ,レポート書いてました.レポート書き終わったんでささっとまとめて行きますね.

シーザ暗号解析

何文字ずらすかわかんなかったんで「どうしようかなープログラム書こうかなでも時間ないし」ってことで後回しにしました.んで解説でご紹介していただいたツールをここに置いときますね.perlとかで書いてみたいですね.有るものを違う言語で自分の手で作るのもだいぶ訓練になりそう

jad コマンド

javaの逆コンパイルのコマンドですね.ソースコードがそのままでてきてびっくりしました.ここまでの精度でもとにもどるのかーって思いました.

javap

僕はこっちのコマンドで解析しました.こっちのほうが「逆コンパイルだー」って感じがして僕は好きですw

コンパイルデコンパイル

皆さん意味は同じと取るんでしょうけど言葉の意味合いとして何か違和感を感じたので少し調べてみました.ここで言葉の意味を幾つか

んー期待していたとおりにの文言で出てこないですね.今僕の中で詰まっているのは

バイナリからソースコードを生成 することと バイナリからソースコードを取り出す ことは必ずしも同義ではないのではないだろうかと思うんですよ.実際にjavaでやってみました.

public class HelloWorld {
    public static void main (String[] args) {
        System.out.println("Hello World !!");
    }
}
import java.io.PrintStream;

public class HelloWorld
{

    public HelloWorld()
    {
    }

    public static void main(String args[])
    {
        System.out.println("Hello World !!");
    }
}

参考までにC言語は半分もどればいいとかいう話が…..(出処怪しい)

では本題にもどりましょう.上の2つの結果を見ていきましょう.最初のは有名所でHello Worldですね.んで逆コンパイルしたものが下になるんですけど,まあそりゃあそうなるだろって感じですし僕も,「へーこの精度で戻るんだ」って感想です.だからこそ100%すべて戻るみたいないい方をしていないかなと,自分自身で再確認しつつ「元のソースコードを見るためには逆コンパイルしたらいいよ」ではなく「元のコードと同じ動作をするコードの見本が見れるよ」くらいが正しい日本語ではないでしょうか.いやわかっている人はいいんですけど,それを知らない,わからない人に対してさも全く同じようなコードが生成されるような言い方はご法度ではないでしょうか(少し教育的な話にもなるんでしょうけど).今回違和感を覚えたので少しやってみました(文句はいくらでも受け付けます,)

SQLインジェクション

はい有名所ですね.しかし実際に調べたこともなかったのでこれを期にいろいろ調べてみた.はいそもそも定義いってみよう

だそうです.またこれが調べたら出てくる出て来る.これ自分で調べても理解はしていただけそうですね.まあSQL文を悪意のある人の思うように動くように書き換えるんですね.基本的にユーザーの入力したデータをSQL文に組み込むと思うのでそこをうまく活用したのかって感じです.例えば

SELECT * FROM hoge WHERE id= $ID AND password = $PASS 

こんなSQL文があったとしましょう(適当な文ですいません).ここで IDにコメントの “–"を入れると,

SELECT * FROM hoge WHERE id="admin" -- AND password =fuga

ってなるわけですから後ろの方全部無視なんですよね 参考

これは管理者としては阻止しなきゃいけない案件ですねー(NOSQLについても書こうと思ったけどやめた)

htpassword

でたBasic認証のやつ.ここにいろいろ書かれてますよーってやつですね.参考ここで力尽きたので…….