Skip to content

Instantly share code, notes, and snippets.

@rwest
rwest / float.py
Created March 31, 2011 20:02
A python function to convert FORTRAN formatted float strings into floats
import re
re_f_float_neg = re.compile('(-?[0-9.]*)(-\d\d\d)')
def fortran_float(input_string):
"""
Return a float of the input string, just like `float(input_string)`,
but allowing for Fortran's string formatting to screw it up when
you have very small numbers (like 0.31674-103 instead of 0.31674E-103 )
"""
try:
fl = float(input_string)

Screen Quick Reference

Basic

Description Command
Start a new session with session name screen -S <session_name>
List running sessions / screens screen -ls
Attach to a running session screen -x
Attach to a running session with name screen -r
@AAber
AAber / disk_used_alert2slack
Created June 14, 2017 13:38
Script to monitor disk space and alert via slack when disk usage is > 80% Place the script in /etc/cron.hourly
#!/bin/bash
# Parse df selected output
df -h|egrep -v 'File|tmpfs|docker|udev'| \
while read LINE; do
USED_NUMBER=`echo $LINE |awk '{print $5}'|sed 's/\%//'|sed 's/ //g'`
USED_PERCENT=`echo $LINE |awk '{print $5}'|sed 's/ //g'`
MOUNT_POINT=`echo $LINE |awk '{print $6}'|sed 's/ //g'`
if [ $USED_NUMBER -gt 80 ]; then
# Create message without spaces
@shyouhei
shyouhei / gist:266178ffedab5767a5b69b972c76f88a
Created September 27, 2017 07:31
優秀なプログラマーになるためのコツ

優秀なプログラマーになるためのコツ

重要な順で

優秀なプログラマーになるには非常に長い時間がかかるという現実を直視すべし

優秀なプログラマーというのは寝ている間に異世界に召喚されて無双するのとはわけが違うんですよ。

自分の例で言うとプログラミングを始めた中学生の時から優秀なプログラマだったかって、そんなわけない。みんなヘッポコからスタートしているに決まってるわけです。以来二十余年、地道に生き恥を晒し続けてきた結果として、現在いちおう業界の末席を汚すところまで来ている。このプロセスから目を背けるべきではないです。優秀なプログラマーに生まれる人間なんかいない。優秀なプログラマーに「育つ」んだし、それには時間が必要。今日から無双したいと思うな。

@kaityo256
kaityo256 / howto.md
Last active May 20, 2024 11:32
研究者として生きていくコツ

研究者として生きていくコツ

これは卜部さんの優秀なプログラマーになるためのコツに影響されて書いたものです。

著者について

自分を構成する要素は、大きい順にシステムエンジニア、プログラマ、研究者だと思っています。でも、おそらく給料は「研究者」として払われているため、研究者として生きていくコツとしました。僕はさほど優秀とは言えませんが、とりあえずそれなりに長いことそれで食っています。大学の教授のウェブサイトに「研究者としてのコツ」みたいなことが書いてあることがありますが、これには「既に大学の教授になっている人が書いている」という強烈なバイアスがかかっています。もちろん参考になることも書いてありますが、「死ぬほど研究しろ、研究のことだけ考えろ」的な文章が多い印象です。これは普通の人にとって役に立たない助言です。これは平均的な研究者として生きていくための戯言、ポエムだと思ってください。

健康第一

@rszeto
rszeto / .xbindkeysrc
Created September 30, 2017 21:33
Mouse bindings for Logitech M705 on Ubuntu
# Scroll left --> Ctrl+Shift+Tab
"xte 'keydown Control_L' 'keydown Shift_L' 'key Tab' 'keyup Shift_L' 'keyup Control_L'"
b:6
# Scroll right --> Ctrl+Tab
"xte 'keydown Control_L' 'key Tab' 'keyup Control_L'"
b:7
# Bottom side button --> Alt+Tab
"xte 'keydown Alt_L' 'key Tab' 'usleep 100000' 'keyup Alt_L'"
@kaityo256
kaityo256 / re_howto.md
Created January 21, 2018 10:40
Re:研究者として生きていくコツ

Re:研究者として生きていくコツ

これは以前書いた研究者として生きていくコツへの補足のようなものです。主にはてブ等でついたコメントへの返事です。

誰に向けて書いたか?

Twitter等で偶然見かけた、顔も名前も知らないポスドクさんたちの言動を見て、これから研究者を目指す学生さんに向けて書きました。そのポスドクさんたちは分野も違うので、私とは直接の知り合いではありません。何年も前のつぶやきに対する反応で、最近の投稿へのエアリプではありません。

研究者も人間です。長くポスドクをしていると、いつも任期に追われ、かつ自分の望むテーマとは必ずしも合致しないプロジェクトをわたり歩くことで、だんだん「自分は何屋さんなのか」がぼやけてくるなか、同期、後輩がポストを取っていくのを見て焦り、「もっとがんばらなきゃ」と自分を追い込んだり、社会や身近な人に呪詛を吐いたり、ということがありがちです。そんな人たちの言動を見て、将来ある若い人が負の影響を受けないといいな、と思って書いたものです。なので、現在ポスドクをやっている人に向けて書いたものではありません。

import numpy as np
import matplotlib.pyplot as plt
def motion(event):
x = event.xdata
y = event.ydata
if (x is None) or (y is None):
return
ln.set_data(x,y)
print('(x,y) = (%.2f,%.2f)' % (x,y))
@kaityo256
kaityo256 / fandcandcompiler.md
Last active October 4, 2020 04:48
FortranとC++とコンパイラと

FortranとC++とコンパイラと

はじめに

将来どうなるかはわからないのだが、とりあえず2018年現在、まだスパコンを使って数値計算をしようとしたらFortranかC++を使わなければならない。で、一般論としてコンパイラはFortranの方が最適化しやすく、似たようなコードをFortranとC++で書いたら、Fortranの方が早くなる、ということはまま起きる。それじゃ全部Fortranでかけばよいのか?というと、世の中そんなに単純では無い気がするよ、という感じのポエムです。

なお、以下に出てくる数値計算結果は筆者の(だいぶ昔の)経験を脚色したもので、実際に存在するアーキテクチャやコンパイラとは全く関係ありませんのであしからず。

C++で書いてみる

@azu
azu / README.md
Last active March 15, 2024 09:59
スタートアップ/企業の調べ方