面積が等しいベン図を書く

親戚に質問されたので。 面積が等しいベン図と聞いて、2つのパターンが思い浮かぶ。 「Aのみ」と「Bのみ」と「AかつB」 の面積が等しい (3等分パターン) 「Aのみ+Bのみ」と「AかつB」の面積が等しい (2等分パターン) これを作図すると、次のようになる。 パ…

時間が無限に溶けていった

64時間で、初めてクリアしました。 (意外に15%程度しかクリアまで行ってないのね)

時間を無限に溶かしたい人のためのFactorio

Factorioを買って4日やった結果。 平日(月~木)で20時間が溶けた。 自動化 ✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌ 楽しい!

std::vector の実験

std::vector を少し高速化する - ひでたそ覚書帳 の実証実験 copy constructor のみ move constructor を追加 noexcept を追加

std::vector を少し高速化する

TL;DR std::vector 使う時は、noexcept な move constructor を実装しよう

意外に知らない %.2g の意味

C++20 で追加される(はずの) std::format のリファレンス実装 fmtlib/fmt を触ってて気づいたメモ。 浮動小数の小数点以下を2桁に抑えたい場合、例えば以下のように書くと思う。 #include <iostream> #include <format> #include <cstdio> int main() { double d = 3.1415926535; ::pri</cstdio></format></iostream>…

Cコンパイラ作りで心が折れそうになってるポイント

rui314 さんのブログを見て刺激されたので、3月末くらいからCコンパイラをのんびり作ってる。 低レイヤを知りたい人のためのCコンパイラ作成入門 ただ、最近は「ここ作りにくいな・・・」って思う点が出てきて、心が折れかかってるので、 自分の頭で悩んでる…

io.Readerはスレッドセーフなのか

Golang のインターフェイスにある io.Reader は、スレッドセーフなのか。気になったので、調べてみた。 結論から言えば os.File は、スレッドセーフになってる それ以外は、実装によるけど、スレッドセーフじゃないと思った方がいい っという感じになってた。

colaboratory用のプログレスバー

夏頃から話題に上がってる colaboratory を数週間いじってた。 Python には詳しく無いので、コピペしたり書き換えたりしながらいじってたけど。 colaboratory のイケてない点として、プログレスバーやログが延々と溜まっていく点が挙げられる。 原因を調査を…

並列処理の本を読み終わったので、並列処理を作りました

寝る前にのんびり読んでたので、読み終わるのが遅くなりましたが。 「Go言語による並行処理」を読み終わりました。 www.amazon.co.jp 読み終わった記念に、ストリームっぽい書き方ができる物を作りました。 github.com

zipをいじれるコマンドを作りました

もう2週間前になりますが。 zipをいじれるコマンド ziped を作りました。 github.com 簡単な使い方 # ファイルの中身表示 ziped ls hoge.zip # 該当するファイルを削除 ziped rm hoge.zip --filter="hoge.cpp" --overwrite # ファイルの名前を変更 ziped ren…

golang におけるパッケージパスへの苦情

今日は、ただの愚痴です。 golang で開発する上で、「パッケージパス」からは逃げられない。 全てのファイルは、パッケージに所属していなければいけない。 パッケージパスは、フォルダ構造に依存する。 そして、パッケージパスは、悲しいことに、「インター…

Proxyでつらい人のためのメモ書き

某社では、通信を 監視 管理するために、Proxyを通さないとインターネットに接続できないようになっている。 そんな、可哀想な人を救うために、知ってる範囲の設定を書き出してみた。 Proxyでつらい人のためのメモ書き · GitHub 参考文献 Qiita を見ると、つ…

goalngのarch/zipをカスタマイズした

golang には標準でライブラリが沢山入っており、例えば zip圧縮/解凍 を行う arch/zip なんてものもある。 もちろん、ソースコードは全て公開されている。 (github) しかし、このzipライブラリ、使ってく上で2点問題があった。 zipファイルの編集に向いてな…

Docker for Windows が起動しなくなった問題を直した

久々に Docker for Windows を起動したら、Hardware assisted virtualization and data execution protection must be enabled in the BIOS. で起動しなくなってしまった。 タスクマネージャーで確認しても、Intel VT-x は有効化されてた。仮想化機能は有効…

n度目のToDoアプリ作り

スマホアプリを作りたいけど、楽にやりたい。 という気分をかかえて、たぶん4回目になるReact Native入門を果たした。 ただ「エミュレータの動作が遅い」けど「実機で確認するには、有線接続や設定変更が大変」という面倒なところがあり、 今まで制作途中で…

Human Resource Machine を全クリした

友人から「解いて欲しい」と紹介されたゲーム Human Resource Machine を、今日クリアした。 ec.nintendo.com 7/28 に買ったらしいので、1週間で終わったのかー めっちゃ面倒 ゲームは簡単な命令 (load/store/add/sub など) と多少のメモリ領域を駆使して、 …

Integromat の無料枠を使い切りそうになった

この前の記事 Nature Remo を買ったので温度を記録した - ひでたそ覚書帳 イベント連携に Integromat を使ったけど、そこからメールが来た。 Dear client, Let us inform you, that you are about to run out of operations. From 2018-07-24 - 2018-07-27 y…

Nature Remo を買ったので温度を記録した

友人の勧めで Nature Remo mini を買った。 nature.global 赤外線リモコンだけでなく、温度計がついているようなので、API を叩いて温度を記録するようにした。 Local API APIがswaggerで書いてるの、超素晴らしい。 http://swagger.nature.global/ Local AP…

6月まとめ

ping 進捗 6月は(も)何も完成しなかったよ 声優の関連図を作ってみた 「同じ作品に出演している声優を、関連図にしたら面白いんじゃね?」という発想のもと。 wikipedia から情報を引っ張って作ってみた。 よく考えたら、1作品20名いたとして、10作品出演し…

godoc の template に関するメモ

godoc で markdown を生成したいと思って、調べたときのメモ。 既に、それを実現しているコードはこちら。 GitHub - FreekKalter/godoc-md: Godoc template and executable to generate markdown README from go source code. これを参考に、自分独自のテン…

Golang のかゆいところに手が届きそうで届かないライブラリを公開した

Golang を書いてて思うのは slice の操作が面倒 (Generics無いから、型ごとに書かないといけない) map のキーのみ、値のみの配列が欲しい error handling boilerplate 他にもいろいろあるけど。 とりあえず、自分が「今作ってて、あるといいな」と思ったヘル…

生存報告 (2018/06)

3年くらいブログ書いてなかったので、生存報告の意味も兼ねて。 ここ数ヶ月にやってたこと Electron(typescript) + Golang で、画像ビューワー electronでなにか作ろうと思い、画像ビューワーを作ってみた。 フロントエンドを typescript 、バックエンドを g…

少しだけスタイルを修正

放置してるブログですが。 画面が横に短いと、ふと思ってしまったので、画面を横長にしてみました。画面の圧が強いですね!!

AtomのキーバインドがJIS配列でバグってる件について

Atomが流行ってるらしいので、vimから乗り換えようとして。Atomをvimっぽく使うやつとして、次のを入れてみた。(vimから離れなさい) vim-mode ex-mode vim-mode は vim の normal/insert-mode を実現するプラグイン。 ex-mode は、その名の通り、ex-mode を…

Mechanizeでソシャゲーにログインしよう

ソシャゲーやってると、機能不足を感じるんですよ。 例えば、持ってるアイテムの一覧とか、レベルアップ可能な一覧とか。 そういう、支援が欲しいんですよ。今回は、某ソシャゲーに、Mechanizeでログインするところまでやろうと思います。 cookieを使ってロ…

C++ template で簡易言語を作ってみた

VS2013から可変長テンプレートに対応した*1ようなので、少し遊んでました。 少し遊んでると「templateだけでsortできないかなー」とか考えだし、「それなら、Cライクな簡易言語を作ってしまえばいいんじゃね?」まで考えました。そして、こちらが完成品にな…

C Preprocessorの闇に触れてみた

ちょっと C Preprocessor をやってみたくて、次のコードを書いてみた。*1 #define SEQ_TO_SEQ(X) SEQ_TO_SEQ_I(0)X ## _END #define SEQ_TO_SEQ_I(X) SEQ_TO_SEQ_0 #define SEQ_TO_SEQ_0(X) ((X)) SEQ_TO_SEQ_1 #define SEQ_TO_SEQ_1(X) ((X)) SEQ_TO_SEQ_0 …

main関数をテストしたい基地外な人のためのメモ ~クラス編~

もう main関数 とか関係無いけど。残念な人なので、今日はこんなコードに当たりました。 // main.cpp #include <stdio.h> #include "hoge.h" int main(int argc, char* argv[]) { Hoge hoge("hoge hoge"); return (hoge() != 0); } 昨日より短いですね!!今回の場合 </stdio.h>…

main関数をテストしたい基地外な人のためのメモ

やりたいこと 稀有に発生するかもしれないエラーをテストしたい ロジックは、main関数に直書きされてる 元のソースコード/プロジェクトは弄ってはいけない! 例えば、次のようなコードをテストしたいとします。 // main.c #include <stdio.h> #include "hoge.h" int m</stdio.h>…