Skip to content

Instantly share code, notes, and snippets.

View wakita's full-sized avatar

Ken Wakita wakita

View GitHub Profile
@wakita
wakita / refresh.sh
Last active June 12, 2022 08:53
macOS のファイルのメタ情報の再設定
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 March 30, 2022 06:19
Jupyter Lab + IJulia + PlotlyJS の環境構築

Jupyter Lab + IJulia + PlotlyJS の環境構築

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

詳しい解説はQiita 記事

環境構築

  1. 指定したバージョンの Python に対応した venv 仮想環境を作成し、そこに Jupyter Lab をインストール
  2. Jupyter Lab を PlotlyJS に対応させるための拡張機能をインストール
#!/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
# 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
#!/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 02:27
nginx のインストールと初期設定 (macOS 用): install.sh を実行するだけ。docroot は ~/Sites
#!/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 October 23, 2020 14:22
Word Cloud Widget

@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 September 30, 2020 05:38
オンライン発表の時代のタイムキーパー用ツール

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

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

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

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

@wakita
wakita / animate.py
Last active September 5, 2020 02:08
Jupyter notebook のなかで periodic callback を動かす実験
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 September 1, 2020 08:35
NNを可視化するために頂点の配置を整数計画法で計算するスクリプト(田中くんのため)
import logging
import pickle
import time
import numpy
from z3 import *
NODES, EDGES, LAYERS = None, None, None
def parse(edges, layers):