ぽよメモ

レガシーシステム考古学専攻

公開さえすればいいってもんじゃない

これはあくあたん工房お盆休みアドベントカレンダー7日目の記事です. 今日は開発者向けではなく,研究者向けの話をします.主にコンピュータサイエンスの話になりますが,ソフトウェアを書く必要のある分野であればどれもそう変わらないだろうと思います. …

Pythonの新しいCLIアプリケーションフレームワークuroborosを公開した

はじめに 背景 方針 uroboros 名前の由来 インストール 使い方 オプション引数の共有 注意点 今後の展望 まとめ はじめに Pythonの全てのCLIアプリケーションフレームワークに習熟してるわけではないです. 自分が必要だと思ったものから優先的に実装してい…

英文を一文ずつに分割してGoogle翻訳へ投げるAlfred Workflowを作った

これまでに作ったAlfred Workflow poyo.hatenablog.jp poyo.hatenablog.jp これまでに作ったAlfred Workflow これは何? 論文PDFの問題 環境 Google Translate Formatter 準備 使い方 注意点 一文ごとに分解する機能は単なる正規表現マッチとIFの羅列 ピリオ…

弱小大学の研究室における計算機環境の理想と現実

はじめに 理想 現実 今までの環境 新しい環境への移行にあたって 新しい環境 監視 情報共有・記録 他にやりたいこと 使用中であることの明示 自動ジョブ実行システム 今後の課題 理想に近づくために 共用計算マシンの整備 大学側での提供サービスの拡充 クラ…

ChainerのEarlyStoppingとOptunaによる最適化

はじめに 環境 枝刈りと過学習 EarlyStopping タイミング OptunaとEarlyStopping 実際にやってみた 枝刈り無し MedianPrunerによる枝刈り SuccessiveHalvingPrunerによる枝刈り まとめ はじめに 前回こんな記事を書きました. poyo.hatenablog.jp 本当は今回…

Optunaによる枝刈りとAsynchronous Successive Halving Algorithm

はじめに 環境 使用するコード 枝刈りとは MedianPruner アルゴリズム 使い方 n_startup_trials n_warmup_steps SucccessiveHalvingPruner アルゴリズム 使い方 まとめ はじめに PFNから発表されたハイパーパラメータ最適化ツールOptunaの記事が多数見受けら…

Python開発環境メモ(2019)

これは何 言いたいこと Pythonとは python というコマンド 複数バージョンの共存 バージョンを指定してインストール 実際に呼ばれるPythonのパス 仮想環境 Pyenv + Pyenv-virtualenv Venv(or virtualenv) Conda Pipenv Poetry まとめ パッケージの管理 開…

某botのこれまでとこれから

はじめに 某botの開発の歴史 そもそもbotを作ったきっかけ 第一世代 第二世代 何がつらいのか 開発面のつらい話 対象サイト上のデータ データの識別 更新検知の実際の流れ その他の考慮事項 運用面のつらい話 責任とコスト モチベーションの低下 このbotのこ…

自作キーボードに手を出した

沼だってわかってはいたんだ…… きっかけ 到着〜組み立て 個人的注意点 テープLED スタビライザー ファームウェアをカスタム カスタマイズ ビルド フラッシュ 個人的に微妙な点 スタビライザー バックスペースの位置 左サイドの最下段キーの配置 まとめ ↑最高…

xmodmapとxcapeで消耗するのはもうやめよう

きっかけ 環境 xkeysnailとは 導入 xkeysnailのインストール 設定 自動起動 キーリマップ config.py Ctrl(またはCaps)単押しでEsc SandS Mac風IME切り替え Vim like cursor Escしたときに自動でIMEオフ ansible-role-xkeysnail まとめ きっかけ ひさしぶり…

Hugo + Travis CI + Github pagesで独自ドメイン+HTTPSなWebページを公開する

きっかけ Hugoとは Travis CIを選んだ理由 Github Pagesとは ページを作る テーマの選択 hugoのインストール サイトの作成 テーマの追加 サンプルをコピーして編集 プレビューする ビルドしてみる Github pagesへ自動デプロイする リポジトリを作成してpush …

Django 2.0 + Channels 2.1 でチュートリアルやっていく(3)

前回のおさらい Tutorial Part 3: Rewrite Chat Server as Asynchronous consumerを非同期に書き直す 前回のおさらい poyo.hatenablog.jp 前回は実際にWebSocketでチャットを実装しました.が,実はあのconsumerは同期的に動いていたため,今回は非同期で書…

Django 2.0 + Channels 2.1 でチュートリアルやっていく(2)

前回のおさらい Tutorial Part 2: Implement a Chat Server chat roomのviewを書く Consumerを書く channel layerを有効化する 前回のおさらい poyo.hatenablog.jp 前回は簡単なプロジェクトのセットアップで終わっていました.これから実際にWebSocketを捌…

Django 2.0 + Channels 2.1 でチュートリアルやっていく(1)

はじめに 環境構築 今回作るもの 仕様 Tutorial Part1: Basic Setup アプリケーション初期設定 初期ページ追加 ASGI/Channelsサーバの起動 はじめに channelsの公式チュートリアルを順番にやっていこうというだけのものです.Djangoの基礎知識に関しては一切…

Travis CI + Codecov + NoseでCIしてSlackに通知

きっかけ 環境 各種サービスのセットアップ Travis CI Codecov リポジトリのセットアップ テストする .travis.ymlを書く .coveragercを書く READMEへバッジを貼る Travis CI Codecov 結果を確認 まとめ きっかけ これまでもTravis CIを使ってきていて、それ…

macOSで任意のWi-Fiへ接続・切断時に任意のシェルスクリプトを実行させる

きっかけ Hammerspoonの紹介 環境 使用する機能 WiFi切り替え検知 シェルスクリプト実行 実装 構成 config.json config.iniに変更があったときに自動で再読み込み ネットワーク環境切り替え WiFi切り替え時に実行 Hammerspoonをリロード 応用 研究室のWiFiに…

Octopassで簡単ユーザ管理

きっかけ 環境 導入 Octopassのインストール Personal Access Tokenの取得 設定ファイルの作成 sshdやpamの設定 /etc/ssh/sshd_config /etc/pam.d/sshd /etc/nsswitch.conf Githubへの鍵の登録 鍵ペアの作成 登録 SSHしてみる sudoしたい sudoerへのグループ…

ghq管理下のリポジトリを色々するAlfredWorkflowを作った

色々するとは言っても基本的に何かで開くだけです. きっかけ 環境 ghq-alfred 準備 できること Finderで開く ブラウザで開く ターミナルで開く エディタで開く Googleで検索 できないこと 既知の不具合 改善したいこと まとめ きっかけ 最近ghq*1でリポジト…

Entrykitのrenderで遊ぶ -後編-

頑張りすぎじゃ無いか感が溢れてきます. 発展的な記法 include file, text dir, dirs, files httpget, urlquery json, tojson yaml, toyaml split, join splitkv, joinkv seq append, drop index sh sigilにはあるが使えなかったもの 組み合わせる ファイル…

Entrykitのrenderで遊ぶ -前編-

Dockerコンテナでsedで頑張っているみんながたどり着くところ. Entrykitとは できること できないこと 環境 基本文法 パイプライン 変数宣言 var if range 補助的な文法 default capitalize lower upper replace trim indent len Sigilにはあるが使えないも…

alias vim="nvim"した

動機 環境 今回のゴール neovimへ移行する インストール 設定ファイルを作る aliasを張る dein.vimでプラグイン管理 インストール tomlでプラグイン管理 vim-airlineでかっこよくする dein.tomlに追記 文字化けを直す フォントのインストール iTerm2に設定 …

転科,あるいは人生について

普段まともな記事を書いているのでこういうときくらいポエムを投稿しても良いのでは無いかと思った. はじめに 大学院から思いっきり方向の違う専攻を選んで院試に合格したので記念ポエム.重要なことは書かない.その場で思いついたことを書いている. 生物…

ZFSのdedup地獄から命からがら逃げ延びた話

ZFS

はじめに 環境 dedup=onに気付くまで ARCに制限を加える ZFS以外の領域に書き込んでみる sambaの設定を見直す ZFSのパラメータを疑う dedup=offに出来ないか 頑張る 1. 新しい領域の作成 2. データのコピー 3. マウントポイントの変更 4. dedup=onな領域を削…

ライフサイエンス辞書で単語を引くAlfred Workflowを作った

きっかけ Go言語を使ったわけ 環境 lsd-alfred できること 検索してブラウザで開く 検索してクリップボードにコピー 検索結果から再検索 検索結果をさらに検索エンジンにかける 検索結果をSpotlight検索にかける 検索結果の一覧ページを開く ホットキーを使…

続・授業ノートをMarkdownでとって管理する

poyo.hatenablog.jp 以前こういう記事を書きましたが,以降いくつか新しいエディタを発掘したのでメモを残しておきます. 今回は事情によりMacのスクリーンショットのみですが,全てマルチプラットフォーム対応です. wri.pe 良いところ 微妙なところ ノート…

Dockerで簡単にNetatalkを動かしてTimeMachineでバックアップできるようにする

きっかけ 環境 前準備 設定 コンテナの選定 docker-compose.ymlに書く 複数ユーザでの使用 バックアップする 接続テスト TimeMachineを設定 まとめ きっかけ support.apple.com applech2.com うちのサーバではsambaでファイル共有をしているのですが,これま…

gitlab-ci-multi-runnerをRaspberry Piで動かしてDockerコンテナをビルド,Gitlab Container Registryにpushさせる

poyo.hatenablog.jp poyo.hatenablog.jp これらの過去記事で作成したGitlab環境を使用します. 前回の課題点の解消 きっかけ 環境 準備 HypriotOSのイメージを書き込む Gitlabの動いているサーバ上の準備 Container Registryを有効にする フロントのnginxのc…

新入生に捧ぐPCの選び方 -個人的おすすめ機種編-

poyo.hatenablog.jp poyo.hatenablog.jp 前回の投稿では選ぶ基準について話しましたが,今回は「とは言え一から探すの面倒なんだけど安定なのは?」みたいな人向けのPCを独断と偏見で選んでみました. 価格帯別個人的おすすめ 25万円~ Let’s Note SZ6 VAIO …

新入生に捧ぐPCの選び方 -Office・アクセサリ編-

poyo.hatenablog.jp 上記記事の続きみたいなものです. Officeソフトウェアについて Officeってそもそも何? Officeって必要? 買い方が色々あってよく分からない… MacにOfficeはないの? アクセサリについて VGAアダプター ケース(またはカバー) USBアダ…

新入生に捧ぐPCの選び方 -選び方の基準編-

新入生の皆様,ご入学おめでとうございます.pudding_infoです. 一応PCを売ったりするバイトをしていたりもします. 多くの場合,大学入学時には「レポートとかに使うだろうから」とPCを買ってもらう,又は買うのでは無いかと思います.ただこれまでPCなん…