プログラミングの基礎

読みます。

テキストエディタのデータ構造

Text Editor: Data Structures – averylaird.com 配列でテキストを保持するのは最悪。やめるべき。 ropeというデータ構造がある。 gap bufferという手法のほうがシンプル。Emacsもこれを使っている。 piece tableという手法が現時点では最善と考えられる。 T…

PRAWで遊ぶ動画シリーズ

www.youtube.com Web APIの使い方は動画のほうが分かりやすいと思う(アプリケーションの登録や、どういう情報を取ってこれるのかというのが一目瞭然なので)。

neru.md

XNUカーネルのソースが公開 XNUはOS XやiOSでつか使われているDarwin OSの一部、とのこと。 apple/darwin-xnu: The Darwin Kernel (mirror) redditではこのコミットログが人気コメントとなっている。 -# vim turds +# vim swap files *~ *.swp .gitignoreに…

Microというテキストエディタについて

Micro - Home Microは、Golangで書かれたターミナルベースのテキストエディタである。モダンなターミナルの機能を最大限利用している、プラグインマネージャが最初から入っている、依存性のない静的バイナリ、といった特徴が謳われている。 主にUnix系OSで使…

today.md

kiloのほう一応エディタっぽいものが出来上がってきた。検索や構文ハイライトはひとまず置いて、訳出をやる。

today.md

すごく雑に斜め読みした記事です。 Start Your Engines – Firefox Quantum Lands in Beta, Developer Edition - The Mozilla Blog Rustでブラウザを書き直すServoというプロジェクトがあったが、その成果がFirefoxに取り込まれてProject Quantumというのにな…

diary.md

ポインタの勉強してる(今更)

today.md

Cloud Jupyter Notebooks Made Easy Jupyter Notebookをネットで使えるやつ。 パッケージ色々使える。 他言語(R, Julia, Octave)のカーネル入ってる 安全なサーバーにリモート接続する環境を提供(そりゃそうだ) 使えるライブラリはここにリストアップさ…

oyasumi.md

何も書くことがないのにブログを更新するのもなんだが、技術ネタはやる気があれば拾ってこれるはずなので、書くことがないということは逆にやる気のなさのバロメータとして働くだろう。これはそういう記録です。

today.md

Serpent.AI - Game Agent Framework (Python) OpenAI Universeの実装に不満を持った人によって作られたゲームプレイAIフレームワーク。 ネイティブ実行(DockerコンテナやVNCサーバーから使うのではない) OpenAIはライセンスをきちんとして特定のゲームAPI…

おやすみ

書いてた記事がまとまらなかったのでふて寝です。

今日もおやすみ

どうしてもダレますな。CC CleanerかiTerm2か.ioドメインの話題でお茶を濁そうとしたがまあ既に解説されてるんで出番なっしん。

きょうはおやすみ

ねむくなってきたのだ。

Rustでカタラン三角形

思いつきでちょろっとrust。 Catalan’s Triangle | Programming Praxis fn main() { let mut v = vec![1]; for _ in 0..7 { v = v.iter().scan(0, |state, &x| { *state = *state + x; Some(*state) }).collect::<Vec<_>>(); println!("{:?}", v); v.push(0); } } </vec<_>…

today.md

Input: Fonts for Code — Info プログラマ向けフォント"Input"。curly bracketの視認性が高いと話題。プロポーショナルフォントで、a, g, i, l, 0, *などの視認性を調整できる。ウェイトや幅高も調整可能。コードはモノスペース、コメントはプロポーショナル…

today.py

Go faster Python プロファイリングの記事。Jupyter Notebookで書かれている。timeit, cProfile, line_profilerの使い方、NumPyとCythonのパフォーマンスの計測の仕方が書いてある。 Machine Learning Recipes with Josh Gordon - YouTube Googleによる動画…

PyPIには悪意のあるソフトウェアが登録されている

いわゆるtyposquatting案件です。 skcsirt-sa-20170909-pypi | NBU Pytosquatting まずやばさを感じる一例を。 PyPIにはurllib3というサードパーティ製のHTTPクライアントがある。今回、このurllib3からわずかに名前を変更した、悪意のあるソフトウェアが登…

Pythonはなぜこれほどまでに速く成長しているのか

前文のみ(翻訳でもない)。 Why is Python Growing So Quickly? - Stack Overflow Blog Stack Overflowにおいて、Pythonの質問数がすさまじい勢いで増加していることは前回見た。メジャーなプログラミング言語中もっとも成長率が高く、所得の高い国ほどよく…

きゅうけい

やる気が先細りしてきたのでやる気を出すようにしたい。 スーパーハカーっぽい人たち。 code challenge - Build a working game of Tetris in Conway’s Game of Life - Programming Puzzles & Code Golf Stack Exchange ライフゲームでテトリスを作るやべー…

src2png (puppeteerを使ってソースコードを画像化するツール)

パワポなどのプレゼンツールを使うとき、プログラムを画像として貼り付けたいことがある。そういう願いを実現する、いわゆる便利ツール。 mplewis/src2png: Turn your source code into beautiful syntax-highlighted images. とりあえず動作確認までやった…

読んだもの

ながいぶんしょうがよめないので眺めているというほうが正確だ。 Dylsxeia 筆者の友人は失読症。読むことはできるが、文字が"飛び回っている"ように見える。 typoglycemiaというのがある*1。これをJavaScriptでアニメーションさせたら失読症を再現できるので…

今日はきゅうけい

連続更新日を埋めるだけの駄記事ともいう。pyconの一部評判が だったので野次馬根性で動画見てましたが疲れたので寝ます。

今ちょうどプログラミング言語作ってみたかったんだよね〜、と言うときに見る資料

上からレスを見てメモしてくだけ。 Ask HN: Resources for building a programming language? | Hacker News ちなみに私はbrainf*ckとlispもどきしか作ったことしかないミジンコです。 スレを読む限り、ドラゴン本なんて読んでられないよ、という気持ちがあ…

今日のr/Pythonニュース

Google Search unofficial API for Python with no external dependencies : Python GitHub - aviaryan/python-gsearch: Google Search unofficial API for Python with no external dependencies スクレイピングフレームワークなどを使わず、Pythonの標準ラ…

r/Pythonで話題になったポストにあーだこーだ言うだけ

The Incredible Growth of Python - Stack Overflow Blog 書き出しだけ抜き出す。 We recently explored how wealthy countries (those defined as high-income by the World Bank) tend to visit a different set of technologies than the rest of the wor…

今やっていること

cを理解したいと思ったのでkiloを読み始めた。 github.com READMEは読みます写経しますといっているが、現状Build Your Ownを読みながらやっている。コードを1行1行読み込んだ方が力はつくのかもしれないが、現状rawモードの使い方もよく分かっていないので…

Pythonのどうしてこうなるの?トリッキーコード集 (part 6)

午前0時は存在しない (Python 3.5以前限定) from datetime import datetime midnight = datetime(2018, 1, 1, 0, 0) midnight_time = midnight.time() noon = datetime(2018, 1, 1, 12, 0) noon_time = noon.time() if midnight_time: print("Time at midnig…

Pythonのどうしてこうなるの?トリッキーコード集 (part 5)

連鎖演算には注意しよう >>> True is False == False False >>> False is False is False True >>> 1 > 0 < 1 True >>> (1 > 0) < 1 False >>> 1 > (0 < 1) False 解説 https://docs.python.org/2/reference/expressions.html#not-in より 形式的には、 a, b…

Pythonのどうしてこうなるの?トリッキーコード集 (part 4)

同じオペランド、異なる結果 解説 変更不能オブジェクトを変更する 解説 スコープ中に定義されていない変数を使う 解説 外側のスコープから消える変数 解説 どこでreturnしても帰ってくる! 解説 真が偽であるとき (Python 2.x系限定) 解説 同じオペランド、…