Skip to content

Instantly share code, notes, and snippets.

Avatar

Ken Wakita wakita

View GitHub Profile
@wakita
wakita / refresh.sh
Last active Jun 12, 2022
macOS のファイルのメタ情報の再設定
View refresh.sh
cd /var/folders; for d in *; do if [ "$d" != zz ]; then sudo rm -rf "$d"; fi; done; echo 'macOS refreshed!'
@wakita
wakita / Readme.md
Last active Mar 30, 2022
Jupyter Lab + IJulia + PlotlyJS の環境構築
View Readme.md

Jupyter Lab + IJulia + PlotlyJS の環境構築

いくつかの Python 基盤を利用した Jupyter の上で IJulia を介して PlotlyJS が動作することを Apple M1 の ARM 環境で検証。

詳しい解説はQiita 記事

環境構築

  1. 指定したバージョンの Python に対応した venv 仮想環境を作成し、そこに Jupyter Lab をインストール
  2. Jupyter Lab を PlotlyJS に対応させるための拡張機能をインストール
View gform.py
#!/Users/wakita/.venvs/vis/bin/python
# Requirements: pandoc and imported Python modules
import json
import os
from pathlib import Path
import gspread
import pandas as pd
View today.snippets
# today
# today 1[d]: tomorrow, today 2[d]: the day after tomorrow
# today -1[d]: yesterday, today -2[d]: the day before yesterday
# today 1w: this day next week, 2w: two weeks later today, -2w: two weeks ago today
# today 1m: one month later today, 2m, -3m
# today 1y, -10y
snippet "today *(([+-]?[0-9]+)?)([dwmy]?)" "The date relative to today" r
`!p
import datetime
from dateutil.relativedelta import relativedelta
View vsjs.sh
#!/bin/zsh
# 以下のイニシャルは脇田のものです.自分(校正者)のイニシャルに変更して下さい.
initial=kw
dl() {
url=$1
file=`echo $url | sed -e 's|.*vsj21-||' -e 's/\?.*//'`
comment=`date "+-%m%d-$initial"`
file=`echo $file | sed -e "s/.docx/$comment.docx/"`
@wakita
wakita / install.sh
Last active May 29, 2022
nginx のインストールと初期設定 (macOS 用): install.sh を実行するだけ。docroot は ~/Sites
View install.sh
#!/bin/sh
# nginx について、研究室の scrapbox に書きました。
# https://scrapbox.io/smartnovax/nginx#60b5828d93b2e9000065e3e4
brew list nginx >& /dev/null || (echo "nginx が見つからないのでインストールします。"; brew install nginx)
# nginx の設定ファイルのなかの環境依存の部分を envsubst コマンドで変換したい。
# Homebrew の gettext パッケージは envsubst コマンドを含んでいる。
brew list gettext >& /dev/null || (echo "envsubst コマンドが見つからないので、gettext をインストールします。"; brew install gettext)
@wakita
wakita / Readme.md
Last active Oct 23, 2020
Word Cloud Widget
View Readme.md

@kabe くんからもらった Word Cloud データを Bokeh で表示するまで。

  • CSV のなかの第二欄 font-size という名称が JavaScript の識別子として不適切なので font_size に変更した.本当は Python で対応するべきだけれども,面倒だったので.

  • SVG の DOM 木の構成は簡単だったけれども,最初,SVG が表示されなくて慌てた.いろいろ調べたところ,XML の名前空間というものがあって,HTML と SVG では名前空間が異なるらしい.細かいことはわからないけれども createElementNS('http://www.w3.org/2000/svg', SVGタグ名) を使わないといけないらしい.

@wakita
wakita / Readme.md
Last active Sep 30, 2020
オンライン発表の時代のタイムキーパー用ツール
View Readme.md

オンライン発表の時代のタイムキーパー用ツール

Zoom 時代の発表会運営をスムーズにするためにタイムキーパー用に作ったツールです.

  1. 発表開始からの経過時刻を秒単位で表示します.
  2. 発表開始から指定された時間が経過すると,作業内容の指示を発話できます.タイムキーパーは時計を常時,気にかける負担から開放されます.
  3. 発表開始から指定された時間が経過すると,定型的な文章をコピーバッファにコピーします.発表参加者と共有しているチャットツールにペーストして,座長,発表者,参加者に時間経過を通知できます.

必要なパッケージのインストール

@wakita
wakita / animate.py
Last active Sep 5, 2020
Jupyter notebook のなかで periodic callback を動かす実験
View animate.py
from bokeh.io import output_file, output_notebook, show
from bokeh.models import *
from bokeh.layouts import *
output_notebook()
n = 0
animate_cb = None
def plot(doc):
@wakita
wakita / nnopt.py
Created Sep 1, 2020
NNを可視化するために頂点の配置を整数計画法で計算するスクリプト(田中くんのため)
View nnopt.py
import logging
import pickle
import time
import numpy
from z3 import *
NODES, EDGES, LAYERS = None, None, None
def parse(edges, layers):