We describe a Coq formalization of a subset of the x86 architecture. One emphasis of the model is brevity: using dependent types, type classes and notation we give the x86 semantics a makeover that counters its reputation for baroqueness. We model bits, bytes, and memory concretely using functions that can be computed inside Coq itself; concrete representations are mapped across to mathematical ob
自分の書いているプログラムからNICの設定を直接弄りたくなった事はないだろうか? プログラム内からifconfigコマンドに引数をつけて実行すれば簡単に実現できるが、それはあんまり格好良くないし、情報を取り出そうとするとifconfigコマンドの出力文字列をパースしたりしなければならなくなって格好悪い。 よりプログラムの書き方として正しいのは、ifconfigコマンドが叩いているAPIを自力で叩いてみる事だろう。 というわけで、ここではifconfigコマンドがNICを操作するために叩いているAPIを自力で叩いてNICの設定を変更してみようと思う。 まずは最も単純なプログラムとして、NICのリンクステータスをUP/DOWNするというのを試してみよう。 ソケットへのioctlによるNICリンクステータス変更 ifconfigコマンドで行われているNICリンクステータスの変更処理を最小限のコー
ゴクロの大平と申します。はじめまして。 4月からjoinさせていただいた、特に特記事項の無い平凡なプログラマです。さだまさしが好きです。 SmartNews開発者ブログをご覧になる方々は、サービスの裏側で動作するクローラーや多種多様な機械学習のロジックであったり、フロントエンドのUIの話であったり、サービス固有の話に興味が有る方が多いと存じますが、都合上(原稿の担当順番の都合上)、今回は一般的な話をさせていただきます。 ※先掲の話題については次回以降取り上げられますので、お楽しみに。 一般的な話題とはいえ、大企業とスタートアップでは取り巻く環境や解決すべき課題も異なっていますので、その辺もあわせてお伝え出来ればなと思います。 なお、今回のテーマは、サーバー/ミドルウェアの構成管理ツールとして最近有名になってきた「chef」と「fabric」です。 かなり長文のエントリーになってしまい
Senior Mindset BookGet promoted, earn a bigger salary, work for top companies Start with a free chapterGet a free chapter from the Senior Engineer Mindset book and a sample audiobook chapter, followed by a Senior Mindset 101 email course. The birth of LISP - a summary of John McCarthy's original paper A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer
This package provides a featureful compiler from Haskell to JavaScript based on GHC. It generates small, fast code, makes use of standard Haskell libraries, integrates with Cabal, supports most GHC extensions and works on Windows, Linux and OSX. Non-Linux users are strongly recommended to download pre-built binary packages from haste-lang.org instead of building from source.
8 July 2013. Cryptome/A English translation and original German supplemented by Der Spiegel's English version published today. The two English versions differ. 7 July 2013 Snowden Der Spiegel Interview Article in German: http://cryptome.org/2013/07/snowden-spiegel-13-0707.pdf Related article in German: http://cryptome.org/2013/07/snowden-spiegel-13-0707-2.pdf English translation provided by A: htt
私は情報収集にはてなブックマークを多用しており、暇な時は結構な割合ではてなブックマークで記事を探してます。しかし、はてなブックマークは最新の記事を探すのは便利ですが、過去の記事を探すにはいまいち使えません。個人的には多少過去の記事でも自分が興味を持っている分野に関しては、レコメンドして欲しいと感じてます。 ありがたいことにはてなはAPIを公開しており、はてなブックマークの情報を比較的簡単に取得できます。そこでこのAPIを利用して自分に合った記事を見つけるようなレコメンド機能をRとPythonで作成してみたいと思います。 利用するデータは、はてなAPIを使って収集します。具体的には、はてなブックマークフィードを利用して自分のブックマークしているURLを取得し、そのURLをブックマークしているユーザをエントリー情報取得APIを用いて抽出し、そのユーザのブックマークしているURLを収集します。こ
This is also a Gist for you to clone and use runhaskell on How do we add extra information to a tree? This has been called The AST Typing Problem. After being hit with this problem in Roy’s new type-inference engine, I tried figuring out how to represent the algorithm. I eventually realised that it looked like a comonadic operation. Turns out it’s been done before but I couldn’t find any complete
June 25th 2013 All right, let’s talk Music Generation. I was reading about Genetic Algorithms recently, and I wondered whether they could be applied to music. Turns out they can, and have been. There’s some pretty cool music that’s been generated through these algorithms. Unfortunately, there isn’t really a good way for computers to tell good music from cacophony, so the fitness check in these alg
LOUDSとは木を表現する簡潔データ構造の一つである。 以下のリンクの練習問題を全て解いたらLOUDSについての理解が進んだので、それについて簡単にメモしておく。 情報系修士にもわかるLOUDS ※ノード番号とは、木を根から(左の子優先の)BFSで辿った順番であり、indexとはビット列を配列に例えた際の添字番号の事である。 ※また、rankとselectは簡潔データ構造の基本操作であるが、それらは言葉で軽く説明している ※以下特に言及しない限り1と0はビットを意味する LOUDSの基本事項 1. LOUDS bit string (LBS、要するにただのビット列)「10」から成るスーパールートであるノード番号0を入れる 2. 0が親ノードの区切りである。 3. 子ノードの数だけ1を列挙した後、0を入れる。 子ノード番号intから親ノード番号を取得する方法: 子ノード番号intからinde
パーサの勉強のために、前回は infixing library を作りましたが、今回は型システムを作ってみます。 Lisp という言語はコード自体がデータとして扱えるので、このようなシステムを作るにはうってつけです。 型システム入門を読みつつ型システムを Lisp のコードに落とし込んでいきます。 今回作ったものは このコミット にあります。 とはいえなんというか、ブログにできることがそんなに多いわけではなく(実装の詳細を日本語にできない)。 まず、型の制約を表すデータを定義します。 (defrecord Constraint [expected actual]) (defrecord Forall [variables expression]) (defrecord Bound [variable]) (defrecord Pair [first second]) (defrecord
1月に「高速文字列解析の世界」を購入してから半年が経ちました。以下、文字列本と呼びます。 高速文字列解析の世界――データ圧縮・全文検索・テキストマイニング (確率と情報の科学) 作者: 岡野原大輔出版社/メーカー: 岩波書店発売日: 2012/12/27メディア: 単行本購入: 15人 クリック: 324回この商品を含むブログ (4件) を見る 全文検索として、「CSA」や「FM-Index」が紹介されていますが、「全文検索システム」を作るには、これらだけでは不十分です。なぜなら、以下のような特徴があるからです。 文書IDの識別が遅い。 各文書IDに出現する頻度を求めるのが遅い。 ちなみに、転置インデックス(or N-gramインデックス)を使った場合、これらの処理は高速ですね。 インデックスを圧縮しているのだからしょうがないとも考えられますが、作りたいですよねぇ、「全文検索システム」。こ
01:19 13/07/06 ソートキラー改 ここまでのあらすじ: → ソートの実装を渡すと、 自動でその実装の苦手な入力を作ってくれる ソートキラーを作りました。 → でも遅い。元々のソート処理が O(f(n)) として O(n2 f(n)) 時間かかる。 → あっ O(n3 + f(n)) になった! …という最後のステップを、コードは書いたのだけど説明どこにも書いてなかったのでメモ書きです。 本当にメモ書きであんまりわかりやすく書いてないので、気になる人だけ読んで下さい。 あと、特にたいしたことではないのでアルゴリズム得意な人には自明だと思われます。 説明 古いバージョンも新しいバージョンも、やっていることの流れは、こうです。 要素xは要素yより {小さい,大きい,わからない} の3状態を記録した n×n の表を準備。 初期値は "わからない"。 ソート関数に「xはyより小さいですか
This package has been superseded. Please read this blog post for more details. Introduction The Go runtime has built in support for several types of profiling that can be used to inspect the performance of your programs. A common way to leverage this support is via the testing package, but if you want to profile a full application it is sometimes complicated to configure the various profiling mech
その2。 ホモトピー群とEckmann-Hilton argument 型がweak ∞-groupoidだということが分かったので、weak ∞-groupoidに対して、ホモトピー群というものを定義する。type theory的には、ホモトピー群を定義する動機はあまりないけど、数学にinspireされて、(意味があるかどうかは分からないけど)こういうものを定義してみて、後で、natのような具体的な型に対して、ホモトピー群を計算しようという試み 普通のgroupoid Xに対して、Hom(x,x)は群になる(xはXの適当なobject)。fundamental groupoidを思い出すと、これは、空間上の点xから点xへの適当な曲線の適当な同値類の集合と見なせる。例えば、円周の場合、適当な点Oを固定すると、fundamental groupoidは、点Oから点Oへ右回り(左回り)にn周す
Perhaps the most common format of data for machine learning is text files. Often data is too large to fit in memory; this is sometimes referred to as big data. But do you need to load the whole data into memory? Maybe you could at least pre-process it line by line. We show how to do this with Python. Prepare to read and possibly write some code. The most common format for text files is probably CS
Table of contents Why not use JavaScript? JavaScript has a lot of warts in the language and while the ECMAScript community is doing a good job with its upcoming revisions, it’s still left with a lot of the old cruft. Also, for those who want to code for older browsers, all the shiny new features that the newer versions of ECMAScript provide are for all intents and purposes unreachable. Some of the
Large Text Compression Benchmark Matt Mahoney Last update: June 4, 2024. history This competition ranks lossless data compression programs by the compressed size (including the size of the decompression program) of the first 109 bytes of the XML text dump of the English version of Wikipedia on Mar. 3, 2006. About the test data. The goal of this benchmark is not to find the best overall compressi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く