Wonder Code

プログラミングとか、PCについてが多いかな

Pythonでハフマン符号化を実装してみた

何番煎じ?と言いたくなるぐらいPythonでやってみた例はたくさんあるけど 勉強に車輪の再発明をするのもよいと思いやってみる。 ハフマン符号 (Huffman encoding) ハフマン符号はデータを圧縮するための方法の一つ。 HTTP/2とかPNGとかでもつかわれている有名…

ECMAScript Module (ESM)がimportしようとしたらハマった

久々にブログ書く 下のようなコードをECMAScript Module(ES Module、ESMともいう)をimportしようとしたらハマってしまったので書いておく。 //hello.mjs function hello() { console.log("Hello"); } export { hello } <html lang="ja"> <head> <meta charset="utf-8"> <script type="module"> import { hello } from './hello</meta></head></html>…

ネットで見かけた確率の問題に答える

https://story.hyuki.net/20161023173434/ 数学ガールとかの著者の方がtwitterでつぶやいてた問題。 面白そう。少し考えてみる (あってるかどうかは不明) 表に1と書いてあり、裏に2と書いてあるコインが一枚ある。このコインを二回投げて、出た数二つを合計…

orelangをPythonで実装してみた

http://qiita.com/shuetsu@github/items/ac21e597265d6bb906dc いろんな人がいろんな言語で実装してた。 Python版が載ってなかったので参戦。 一応、引き算にも対応した。 class Engine: def __init__(self): self.operators = {} self.variables = {} self.…

Stack Overflowの通知アプリをWebExtensionsでやろうとしたらできなかった

Stack Overflowの通知アプリをWebExtensionsで作ろうとしたらAPIがなくてできなかった 自分の質問に回答がついたとか、誰かがコメントしたとか、そういうのがトゥルテンって通知センターとかに出るようにしたいと思ってトライした。 inboxの内容をとるAPIは…

DOMParserが便利すぎる

なんかDOMParserというのを見つけた 標準であるやつで、HTMLとかXMLとかSVGとかの文字列をParseしてDOMにしてくれるらしい。 返ってくるのはDOMなのでgetElementByIdとかが使えるようだ var parser = new DOMParser(); var dom = parser.parseFromString(xml…

kiloを読む

kiloという1000行ほど(コメント除く)のテキストエディタがあるらしい。 私はコードを読むのがとても苦手なので読んでみようと思う こんな記事もあるので今回はなんとなく理解できそうな希ガス C言語1000行以下のエディタ「Kilo」を理解する (1) シンプルな内…

はじめてのOSコードリーディングを買ってみた

面白そうだったから買った ちょっと読んでみて思ったが、かなり詳しく説明してあるけど、コード読むのが苦手な私としては、やっぱりむずい。 もっとコードを読むことに慣れないといけない。 ただ、大事な構造体のフィールドの使われ方が表になっているのは読…

柿(かき)と杮(こけら)というどう見ても一緒にしか見えない、実は違う文字

柿(かき)と杮(こけら)というどうみても同じだろ!! って思うけど実は違うらしい。 Pythonをつかって検証してみた。 結果: やっぱり違った ほかにもいろいろな紛らわしい漢字はたくさんあります。 ぜひ、さがしてみてください!!

Fetch APIを触ってみた (GET編)

Fetch API は PromiseベースのXMLHttpRequestといった感じのAPI Promiseベースのため、thenやcatchを使い、処理を書いていく。 この記事はFirefox 39 Nightlyのfetchを元に書いています。まだStreamではありません。 このエントリーではArrow function を使…

Broadcast Channel APIを触ってみた

Firefox38で実装されているBroadcast Channel APIを触ってみた。 感想は、 簡単にフレームやタブ、ウィンドウ間の通信ができていい感じ。 この図が示しているように幾つかのcontextがBroadCastチャンネルに接続して、通信を行う。 var broadcast = new Broad…

ワダエフェ〜ムな物を作った。(Official)

最近話題のWada.fmのジングルを聞けるものを作りました。(非公式)(公式) これでいつでもどこでもワダエフェ〜ム! 疲れた時にワダエフェ〜ム! 悲しい時にワダエフェ〜ム! バブの泡でイイカンジの時にワダエフェ〜ム! など、いろいろな時にお使いいただけます。 「さいきんのおたよ…

40個の図でわかるローマ帝国

ローマ帝国のことがよくわかる写真が多くあります。 ローマ帝国といえばカエサルやアウグストゥスといった有名な皇帝が多く、私が世界史の中で一番嫌いな単元でした。 さて、このサイトはローマ帝国についてのいろいろな写真や図があります。 軍艦 噴火で失…

FirefoxでH.264サポートについて

Firefox33からCiscoのOpen H.264がサポートされます。 そのため、これまでサポートされていたもの以外の Mac や Windows の Firefox などでもH.264が再生できるようになるそうです。 MP4が再生できるようになるのはかなりいいですな しかし、下記のリンクのM…

マウスでぐりぐり動かせる人工衛星のモデルがかっこいいChrome Expriment

動画の中に動かせる3Dモデルが出てきたりして、JavaScriptだけで、できているとは思えない ものがいっぱいです。 人工衛星の現在の位置確認も動かしながらできます。 この彗星は動画の中に動かせる3Dモデルとして登場します ちなみにこの人工衛星はISEE-3と…

Googleの遊べるロゴでもう一度遊びたい!

Googleの検索のページのロゴが記念日などの際にそれにちなんだものにかわります その中には、 ルービックキューブや パックマンなど ロゴで遊べるものもありますが、次の日には元に戻ってしまい遊べなくなってしまいます。 しかし、Googleの検索ページで何も…

Head First C を読んだ

Cの入門ということで読んでみました この本は絵や写真がかなり多いです。 Cの中でもつまずきやすいポインタや構造体などのことが細かく書いてあります。 その他 Makefileの基本的なことをやっていたりするのでCでプログラミングを始めるのに一通り大事なこと…

ハッキングのスキルがわかるゲーム

自分のハッキングのスキルを試せるゲームです。 表示されたコードの脆弱性可能な限り早く見つけるゲームですな。 一人用のモードでは3段階の難易度があります 最初は、SQLインジェクションで、最高レベルになるとクロスサイトスクリプティングの脆弱性に関す…

Googleのメモ帳アプリ [Google Keep]

さっぱり、存在を知りませんでした。 サービス発表が2013/3/20という事で、一年以上経っている訳ですが、使ってみました。 メモの色を変える 写真付きメモを残す メモを通知させる事によって、リマインダーのように使う 買い物に向いているような、リストの…

iTunesのアートワークを画像として取得するものを作ってみた

JavaScriptの勉強もかねて iTunes アートワークを画像に変換するものを作りました。 ~/Music/iTunes/Album Artwork 以下のファイルにある .itc ファイルを中央の四角の部分までドラック & ドロップするか、その下の選択ボタンを押すと出る、ダイアログボック…

Computer Vision のライブラリ [ tracking.js ] の レーシングゲームが面白い

画像識別のJavaScriptのライブラリです。 驚いたのは、中核(core) の部分が7KBだという事です。 そして、デモの、レーシングゲームがかなり難しくて、面白い! 横にあたるとダメージをうけて、一定以上になると壊れてしまいます。 ゲームはソースコードもGith…

ファイヤージャグリングを逆再生した動画がすごい

Ignition Sequences - YouTube ファイヤージャグリングを逆再生しただけですがすごいですね。 普通のファイヤージャグリングもきれいですが、これも、光が集まってとてもきれいですね

Firefox31でCSS変数が実装されたらしい

スタイルシート内で :root { --main-color: #FFFFCC;} とし、 background-color: var(--main-color); という風にするとできるようです。 しかし :root { --size: 20;} と代入した場合 div#rect { width: var(--size) px; } では無効な値とされてしまうため、…

Bashの履歴検索Tips

メモ的にエントリー 知っている人も多いかもしれませんが個人的にすごく驚きました BashでCtrl-r を 押すと、historyファイル内を検索できるらしいです。 かなり便利なのでぜひ、使ってみてください

ロゴ自体をレスポンシブにする

これが 画面サイズを小さくすると、 サイトをレスポンシブにすることはありましたが ついにロゴ本体まで・・・ 新しい発想ですね これを取り入れれば真のレスポンシブデザインになっていきそうです。 Responsive Logos

Macのイースターエッグを見つけた

最近、いろいろなイースターエッグにはまっています。 Shiftを押しながら最小化(左上の黄色いボタン)を押すと・・・ 写真では、分かりにくいですが、非常にゆっくり格納されていきます。 ちなみに、出すときも同様にすると、ゆっくり出ます。

脳ってすごい!!

This Is How Your Brain Grows - YouTube 人間の脳ってこれだけのことをやっているのか すごいですね 脳をコンピュータで再現できる日はいつになるのやら

Twitterのイースターエッグについて

TwitterのWebのタイムラインで↑↑↓↓←→←→BAとすると... ちなみに昔、グラディウスとかやってた人には懐かしいと思います。 何と一回転します!

古いコンピュータを見た子供の反応

KIDS REACT TO OLD COMPUTERS - YouTube このコンピュータはAppleⅡでしょうか? 電源入れるのに手間取っていたり、インターネットをしようとしてできなかったり、反応がいいですな こういう感じで自主的に物事を学んでもらうというやり方も良いかもしれません…

バイリンガルニュースが面白い!!

今更感があるかもですが、 最近、RebuildとかmozaicとかのPodcastに、はまっているのですが、 バイリンガルニュースというPodcastを聞いてみて、とても面白いと思いました。 2人の人が一人は日本語、もう一人は英語で気になったニュースなどについて話してい…