読者です 読者をやめる 読者になる 読者になる

10分

from functools import reduce for _ in range(11): x, y = map(int, input().rstrip().split(' ')) r = [x << i for i, k in enumerate(reversed(bin(y)[2:])) if int(k) == 1] if r: r = reduce(lambda x,y: x^y, r) else: r = 0 print('%d@%d=%d' % (x, y…

brson氏のcookbook

他になんもやる気が起きないのでとりあえず目を通した。error_chain!マクロを使ってunwrap()(a.k.a panic!)の弊害を避けたコードを書いている。雰囲気では読めるのだが、雰囲気以上の理屈がわからないのでよくわからない。そもそもbookのエラー処理の項すら…

Pythonでインスタンス変数を初期化するだけの`__init__`を省略する

こんなクラスを作るとします。インスタンス変数を初期化するだけの退屈なコードです。 class Foo: def __init__(self, a, b, c): self.a = a self.b = b self.c = c foo = Foo(1, 2, 3) だるいですね。 namedtupleを使うと__init__を捨てて楽に初期化できま…

MathJaxをMarkdownと混在させると正しく描画されない現象

はてなで数式が正しく描画されない ugya-!!!という気持ちになったのでググった。 Issues with Markdown まず問題点。 markdownではアンスコ_が強調ブロックとして扱われる。latexで下付き文字を使おうとしたとき、これが変に解釈され問題が起きる。というよ…

Friends (CheckIO)

iterableなsetの対で友人関係を表現するデータ構造Frindsクラスを作る。 Friendsは以下のメソッドをサポートする。 友達の追加add, 同じデータすでに存在するときFalse, そうでないときTrueを返す。 削除remove, データが存在しないときFalse, 存在するならT…

ghosts age (CheckIO)

雑にフィボナッチ数列を作り、雑にゆうれいちゃんの不透明度の数列を作り、indexを取ると答えが合っていた。 ハロウィンネタなのでscaryな解求むということらしいが面白みのない凡庸なクソコードである。 def checkio(opacity): opcs = [10000] fibs = [1, 2…

2つの日付の差分を取る(CheckIO)

2つの日付がタプルで与えられる(year, month, day)。その差分を日数で取り絶対値を返す問題。 from datetime import datetime, timedelta def days_diff(date1, date2): return abs((datetime(*date2) - datetime(*date1)).days) if __name__ == '__main__':…

古諺:もっとも安全なプログラムはコンパイルされないプログラムである

Maniष Goregaokar on Twitter: "The safest program is the program that doesn't compile -- ancient Rust proverb"

2系では使えないPython 3の優れた機能

Python 3で新たに導入された機能であっても、dict内包/set内包、setリテラル、そして__future__.print_functionについてはPython 2.7にバックポートされ未だに使える。 しかしながら、Python 3でしか使えない有用な機能は多く存在する。この記事はそれを紹介…

エネルギー利用図

LLNL がsankey diagramにして出してる。 Energy Flow Charts アメリカだとこんな感じ。 https://flowcharts.llnl.gov/content/assets/images/charts/Energy/Energy_2016_United-States.png ここでのquadの意味について:BTUという熱量単位がある。エネルギー…

clippy入れようとしたらエラー

clippy v0.0.130 build failure on May 3rd nightly · Issue #1723 · Manishearth/rust-clippy · GitHub crxppy.

Chromeで見ているページのURLリンクをすべてコピーする方法( devtoolsを利用して)

想定読者は中途半端だがJS知らないHTML知ってるくらいの人。 $$, map, filterくらいだったら何となく雰囲気で使えるはず(ムリか) devtoolsのconsoleを開く(WindowsならCtrl+Shift+J, MacならCtrl+Option+Jがショトカキー) $$が document.querySelectorAl…

頭固い

うー

やる気

出ない。うける~。

LYREBIRD

Computational Voice Synthesisというやつだろうか。興味深い。

やる気

profilerを動かした

Rustでカッコ対応判定

{}, [], ()の3種類について対応の判定をする。あんま分かりやすいコードじゃないですが… fn valid_braces(s: &str) -> bool { let mut v = Vec::new(); for c in s.chars() { if c == '{' || c == '[' || c == '(' { v.push(c); } else { if v.is_empty() {r…

連続する文字列の中で長さ最大のものを選ぶ in Rust

codewarsより。 入力として、文字列の配列と整数kが与えられる。配列中のk個の連続する文字列を結合し、長さが最大となるものを選びたい。 longest_consec(vec!["zone", "abigail", "theta", "form", "libe", "zas"], 2); // => "abigailtheta" 解 文字列配…

PRAWで遊ぶ(Python Reddit API Wrapper)

ここではPRAWでredditの投稿(submission)を取得する。さしあたりread_only=Trueで済むことだけをやっていく。知見が溜まったらbotを作ってもいいかもしれない。 PRAWのドキュメントに載っている最小利用例を引く。(以下の認証情報は本物ではない。あなた…

元素周期表テキストデータ

この辺りから持ってくる。 chemistry.stackexchange.com

Pythonで文字列の長さに対するmax/minを取る

Pythonにおける文字列の大小比較はどのように行われるのか。それは文字列を先頭文字から順に比較して、Unicodeコードポイントが大きいほうが大きいと扱われる。 >>> max('abcde', 'efg') 'efg' 長さを比較したい場合は関数len()を用いて文字列長に変換する。…

かじばの

makezine.jp www.youtube.com www.youtube.com

【読んだだけ】Python言語のソースをいじり文法を改良する

Modifying the Python language in 6 minutes – Hacker Noon increment and decrement · tonybaloney/cpython@fd7c20c CPythonをいじってみよう啓蒙記事。Pythonにインクリメント演算子を実装するという想定である。当然こんなものはPEPを通らないので教育目…

pythonのdifflibに文字を食べさせるだけ(SequenceMatcher)

from difflib import SequenceMatcher x = 'すっごーい!あなたはヒトのフレンズなんだね!' # 基本となる文字列 y = 'すごーい!あなたは、ヒトなフレンズなんだね!' # 表記揺れ z = 'すごーい!タモリさんはイグアナのフレンズなんだね!' # 名詞の入れ替…

pythonでasciiコード対応表を出力する

from pprint import pprint pprint([(i, chr(i)) for i in range(32, 128)])

とくにない。

conjによるintoの実装

brave and trueでintoによってconjが実装できるという話があった。 で、逆にconjでinto実装できるだろうと思ったので書いてみた。無意味な手慰みだがdestructuringに慣れるくらいの気持ちでタイピング。 (defn my-into [x [y & ys]] (if (empty? ys) (conj x…

Clojure for the Brave and True: Chapter 03 読み

Do Things: A Clojure Crash Course | Clojure for the Brave and True 前回はchapter 01を読んだ。chapter 02についてはEmacsの話なので取り扱わない(使ってはいるが操作がおぼつかず、文章にまとまらない。気が向いたら初心者の気持ちとして感想文を書き…

Clojure for the Brave and True: Chapter 01 読み

かんたんなスニペットをREPLを利用して書いていく章。言語機能をひとめぐりするのにREPLは有用だ。 ところでClojureのプログラムはLeiningenというツールを使ってビルトするのが常識(de facto standard)になっているらしい。よって、ここではまずLeiningen…

サボり

ゲームがたのしかった(小並

ちからをたくわえている

こいついつも

準備

clojureの勉強を始めました。brave and trueを読みながら4clojureを解いています。4clojureは現在elementaryとeasyだけ70問ときました。brave and trueはノートを取りながらchapter 4に入ったところです。これを機に覚えたいと思っていたemacsにも手をだしま…

手書きモダンHTMLのためのお役所仕事的所作(最低限必要なもの)

Plain HTML with a few bureaucratic gestures | Mark J. Nelson 最近のHTMLについてのしょうもないお作法について書かれたありがたい記事。 モバイル向けに<meta name=viewport content="width=device-width, initial-scale=1">をセットするべき*1 <meta charset=utf-8>する 別解としてたとえばApacheの.htaccessにAddCharset UTF-8 .htmlするとブラ</meta></meta>…

ネタ

medium rare なんか最近のウェブ肥大しすぎ、という意見を、js/css肥大しすぎなmediumで書いてた奴がいたんすよ。という皮肉なコメントをモチベーションとして、じゃあgoでproxy立ててhtmlマエショリしちゃえばいいんじゃね? ということをやった記事。mediu…

へなちょこーど

写経+練習問題解いたやつ。言語になるといいですね。 かんけいないけどふらすくがよーわからんのでうぇぶさーばじさくするところからべんきょうしたい。 INTEGER, PLUS, MINUS, MUL, DIV, SPACE, EOF = 'INTEGER', 'PLUS', 'MINUS', 'MUL', 'DIV', 'SPACE', …

ドナルド・トランプのツイートを元に株式取引を行うPythonスクリプト

ジョークプログラムだと思うがWeb APIマッシュアップとしては秀逸だと思った(こなみ maxbbraun/trump2cash: A stock trading bot powered by Trump tweets Twitter Streaming APIで発言をリアルタイム抽出 Google Cloud Natural Language APIで固有表現抽出…

CPythonの開発が今週金曜日(2017.02.10)にGitHubに移行予定

掲題の通り。 [Python-Dev] GitHub migration scheduled for Friday 日本時間だと土曜日ごろになるだろうけど、これからはIssue眺めたりして開発追っちゃおっかなー♪

覚えといてぽえー

ゲームつくりたくてちまよっていろいろ浮気してた。 でも本気でつくりたいならやっぱHMHやろうな、という結論になった。 なので明日以降のわたしは今日の結論を肝に銘じてください。 浮気はやめなくていいんだけど、ちゃんとやらないといつまでもちゃんとで…

ちかれた

ちょっと休憩。

makeなんとかかんとかpygame chap01読み

CC BY-NC-SA 3.0 Make Games with Python - the latest e-book in The MagPi Essentials range! - Raspberry Pi そのうち訳すかもしれないがメモ書きとして。 四角を描いてみる(hello.py)。 import pygame pygame.init() window = pygame.display.set_mode…

文字列のパングラム(pangram)判定 in Python

パングラムは文字列に26種のアルファベットそれぞれが1回以上使われているもの。以下は文字列がパングラムならTrue,でなければFalseを返す。 import string def is_pangram(text): A = set(map(lambda x: x.lower(), text.replace(' ', ''))) B = set(strin…

はてなブログのテーマreportの横幅を広げる

css分かりません。 はてなブログのcssはデザインCSSという項目からいじれる。 外側のコンテナの大きさを超えるとfloatがかかってるエレメンツが下にすっ飛んでしまうので、適当に幅を増やした。 div#wrapper { width: 760px !important; } div#container { w…

整数をSI接頭辞で簡易表現(Firendly Number, by checkio)

Friendly number :: py.CheckiO - game for python coders 基数、桁精度、接頭辞、接尾辞。すべてデフォルト引数があるがオプショナルに指定できる。 提出に何度も落ちて都度失敗した入力をかわす、という感じで継ぎ足した。ひどいコードになった。最初のう…

アナグラム判定(checkio)

最初一行でall(x == y for x, y in zip(*map(...)))という書き方を試みた。zipは短い方の配列の要素が尽きたら処理を切り上げるのでverify_anagram("Hello", "Hell")のような入力で死にます。大人しく書き直したのが以下。 def verify_anagrams(w1, w2): f =…

Cipher map(checkio)

rotateして舐めてく富豪実装。 def recall_password(cipher_grille, ciphered_password): rotate = lambda x: list(zip(*reversed(x))) j = "".join r = "" for _ in range(len(cipher_grille)): for x, y in zip(j(cipher_grille), j(ciphered_password)): …

minとmaxの自前実装(checkio)

サンプルケースにはないけどgeneratorがテストケースに入ってる。 それまでは要素からもいっちょ先頭取り出す(args = args[0])という感じだったのでnot subscriptable errorで怒られた。 まぁそうだよねと思いながらiterとnextに変えた。あんまり面白くは…

整数をローマ数字に変換

冗長なのでもっと短くできる。 また別の書き方もあるんだろう。 でも自分にはこれくらいベタな書き方がわかりやすいかな…(あとあと見るぶんにも) ローマ数字は1から3999までしかないので拡張性は気にしなくていいのです。 def int2roman(n) s = [] singles…

Pythonの簡易な壊し方

r/pythonでバズったスレを垂れ流す作業。 MIT License Copyright © 2017 Adhityaa Chandrasekar adtac/destruction: Break Python programs with a simple import. builtinsの名前がPython 2か3かにより違うので、ここでは3系前提で話す。 Pythonの組み込み…

Pythonでbash風のパイプやリダイレクトが使えるライブラリ(syntax_sugar)

パイプ、リダイレクト、中置関数、関数合成演算子、俺が好きな構文糖衣をPythonで書けるようにしてくぜ!という姿勢が素敵。 GitHub - czheo/syntax_sugar_python: A library adding some anti-pythonic syntatic sugar to Python いやREADMEにはmatzのstree…

Flask 入門日誌 - ブログ構築(flaskr)編

Flask 入門日誌目次 - にっき Quickstartは、すでに他のWAF経験がある人向けの文書で、Flask特有のやりかたが書かれているという印象。まったくの初心者は読んでいってもピンと来ない部分が多いので、チュートリアルを読み進める。Flaskのチュートリアルは、…