swift-lang 処理系のインストールからFizzBuzzプログラムの実行まで

今話題の Swift 言語を触ってみました。Linuxで。 処理系のインストール バイナリからのインストールは、Quickstart guideというテキストに非常に簡潔にまとまっています。 $ wget http://swift-lang.org/packages/swift-0.94.1.tar.gz $ tar xvf swift-0.94…

無料ダウンロードできる言語処理系まとめ

言語は適当にチョイス。順番も適当。文言はパッと見で目立つものをピックアップ。 言語処理系にはランタイムとかコンパイルも含むゆるふわな分類です。 言語 ベンダ・処理系名 文言 Cなど GNU, GCC GCC, the GNU Compiler Collection Rust Mozilla, rustc Ru…

特定の major-mode "以外" の場合に hook を設定にする emacs lisp

やり始めたら 30 分くらいハマってたのでメモ。 以下コードは、 rust-mode "以外" の場合に after-save-hook に executable-make-buffer-file-executable-if-script-p を設定するものです。 (defun after-change-major-mode-hook-fn () (unless (eq major-mo…

rustpkg test でプロダクトコード中に書かれたユニットテストを実行する

以下のようなパッケージ foo が存在したとします。 // src/foo/lib.rs #[crate_id = "foo"]; pub fn super_complex_function() -> uint { 42 } #[cfg(test)] mod test { #[test] fn test_super_complex_function() { assert_eq!(42, super::super_complex_fu…

はてなブログおみくじ2014

はてなブログおみくじ2014 久方ぶりの更新がコレってのもかなりアレ感ありますね。そのうち、なんかちゃんとしたもの書きます。

Rust 基礎文法最速マスター (rust 0.7 編)

警告 (2014/1/25 追記) 以下の記事ですが、今となっては通用しない記述が多く含まれています。 0.7 から現在までに行われた大きな変更としては、思いつくだけでも 言語組み込み機能としての managed box が非推奨になった (将来削除され、ライブラリによる実…

デザインのテスト

見出しのデザインを考えるためのテスト記事です。 最高レベルの見出し 本文 2 番目のレベルの見出し 本文 3 番目のレベルの見出し 本文 4 番目のレベルの見出し 本文 5 番目のレベルの見出し 本文

はてなブログに移転しました

はてなブログに記事をインポート&はてなダイアリーからのリダイレクト設定をしました。 さんざん放置してたダイアリーの移転なので、特にこれといって変化はないでしょうが、 今後はちょくちょく記事書いて日常のあれやこれやを記録に残せたらなあ、と思い…

rust-incoming-git の PKGBUILD

rust の最新の変更の commit 先が master ブランチから incoming ブランチに変更されたため、 master ブランチの動きが少なくなってしまい寂しかったので、 incoming ブランチ用の PKGBUILD を作成しました。ついでに、AUR にアップしておきました。 AUR (en…

rust-git の PKGBUILD

AUR にある rust-git が、makepkg しようとすると毎回 llvm やら libuv のサブモジュールを clone しようとして時間がかかって仕方が無いので、初回だけ clone するように修正してみた。ついでに、コンパイラとして clang を使う設定もいれてみた。 既にある…

Rust で ProjectEuler #8 ~ #12

Problem 8 入力された数列に含まれる5つの連続した数の積のうち、最大のものを求める問題。 最新版ソース use std; fn main() { const prod_len: uint = 5u; let input = " 73167176531330624919225119674426574742355349194934 969835203127745063262395783…

Rust で ProjectEuler #4 ~ #7

Problem 4 3桁の2つの数の積で表せる最大の palindrome な数。 最新版ソース use std; fn to_palindromic(n: u64, dup_flag: bool) -> u64 { let cs = str::chars(u64::to_str(n, 10u)); let s = str::from_chars( if dup_flag { cs + vec::tail(vec::revers…

Rust で ProjectEuler のレポジトリを github で公開しました

レポジトリ作った。ソースは適宜修正していく予定ですので、最新版はこちらを参照してください。 gifnksm/ProjectEulerRust · GitHub

Rust で ProjectEuler #1 ~ #3

放置状態になっていたProject Eulerを再開してみることにしました。以前はHaskellでProb. 133まで解いてHaskellに慣れることができたので、今回はRustで書いてみようと思います。Haskellは最後まで使いこなせてる感は出なかったのですが、遅延評価ではないRu…

Rust で Generic な数値型を作る

ちまたで話題(?) の Rust 言語。昨年末くらいから「日本語情報が全然無い、先駆者になるチャンス!」とか思いながらのろのろしてたら、先日の0.1版発表で一気に知名度が上がってしまい(´・ω・`)としているgifnksmです。 0.1リリースでいろいろ変わりました…

Titech Portal Auto Loginの更新とメンテナー募集のお知らせ

Titech Portal Auto Loginを更新しました。更新内容は,ソースコードの整理です。 作者修了につき,多分これが最後の更新になります。東工大ポータルの仕様が変わらない限り現在のスクリプトは動き続けると思いますが,将来的に正しく動き続けるかどうかは分…

ニコニコ動画で watch ページにタグの履歴を表示する Greasemonkey スクリプト: NicoTag Tab を作った

インストールはこちら NicoTag Tab for Greasemonkey 機能 データグリッド状にタグを表示します グリッドの列毎にソートすることができます 表示する要素をフィルタリングすることができます XUL/Migemoがインストールされていると,ローマ字から日本語のタ…

ニコニコ動画でコメントを取得する方法のメモ

動画再生ページ上で動作するGreasemonkeyスクリプトから,動画についたコメントを取得する方法は主に2通りある。それぞれについてメモ。 新プレイヤーのAPIを使う方法 javascript: function hoge(data)alert(uneval(data)); void(document.getElementById("f…

LaTeXのOTFパッケージ+新jsドキュメントクラスでredeffont

TeX

これまで \usepackage[deluxe, expert]{otf} \usepackage{redeffont} を使っていて,見出しのフォントが太字にならないことに悩んでいた.今回,太字にならない原因と,その対策が分かったのでそれをまとめる. そもそもredeffont.styが新ドキュメントクラス…

Mathematicaでカレントディレクトリのパッケージを読み込む

やり方がわかったのでメモ.分かってしまえばかなり単純. SetDirectory[NotebookDirectory[]]; <

ニコニコ動画で getflv を呼び出すときに便利なGM用ライブラリ

NicoFilter Tabを書くときに使った関数をライブラリ化しました。gistにアップロードしてあります。ニコニコ動画でgetFlvを呼び出す関数 概要 ニコニコ動画用のGMスクリプトを書くときに,http://flapi.nicovideo.jp/api/getflv/sm*****を呼び出す処理が必要…

ニコニコ動画の動画再生ページに投稿者フィルターを表示させるGreasemonkeyスクリプト,NicoFilter Tab を作った

インストールはこちら http://userscripts.org/scripts/show/90132 近頃めっきり見なくなった投稿者フィルターですが,見えないよりは見えた方がいいよね!ということで,タブの形で見えるようにしてみました。 フィルターを可視化するスクリプトは,既に腐…

.NET 4.0 + C# + VS2010でManaged DirectXを使う

C#

日を改めて調べて見たら案外あっさり解決策が見つかったのでメモ。 プロジェクトの参照設定でMDXのDLLを追加する C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0 以下 app.configを以下の用に書き換える <startup useLegacyV2RuntimeActivationPolicy="true"> ... これでDirectXがC# on .NET Fra</startup>…

わくわくするルーレット「わくわくルーレット」を作った

わくわくルーレットというソフトを作りました。 説明やらダウンロードやらはこちらから わくわくルーレット バグ報告やら要望やらはこちらへどうぞ 【わくわく】わくわくルーレットサポートスレッド【するの?】 - Greasemonkey等サポート掲示板 ソフトの命…

nicovideo Thumbinfo Popup を更新

インストールはこちら nicovideo Thumbinfo popup for Greasemonkey http://nine.nicovideo.jp/watch/で始まるURLのポップアップに対応しました。

ニコニコ動画の動画再生ページに広告コメントを表示させるGMスクリプト: NicoAds Tab を作った

ダウンロードはこちら NicoAds Tab for Greasemonkey 先日作ったライブラリを使いがてらつくってみた。スクリーンショットを見て分かるとおり、かなりのやっつけ実装。最初はちゃんとしたUI作ろうと思ってたんだけど、思いの他面倒だったから結局やっつけた…

ニコニコ動画の動画再生ページのタブをGreasemonkeyから追加する方法

さっき書いた関数 (Nicopedia Tabで使ったやつ)を使えば,Greasemonkeyからタブが追加できたりしていろいろ便利になるんじゃないかな,と思ったので公開します。 function createPanel(label, id, action) { id = 'itab_' + id; let itab = document.querySe…

新Greasemonkeyスクリプト:Nicopedia Tab を作った

ニコニコ動画の動画再生ページに,ニコニコ大百科の動画記事(の概要?)を埋め込むGreasemonkeyスクリプトです。今回のリニューアルで消えちゃったやつをタブとして復活させました。 インストールはこちら Nicopedia Tab for Greasemonkey 運営が本気出せば…

nicovideo Add Thumbnailを更新

ニコニコ動画の動画再生ページにサムネイルを表示する"nicovideo add Thumbnail"を更新して新インターフェースでも動くようにしました。 インストールはこちら nicovideo Add Thumbnail for Greasemonkey 今回動画タイトルが<h1>じゃなくなったのもそうだけど,</h1>…

ニコニコ動画の「もったいないスペース」を減らすユーザースタイル書いた

ニコニコ動画の動画再生ページが新インターフェースになりましたね!これまで目立たなかったユーザー情報が目立つようになったのが良いですね! そんな新インターフェースなんですが,画説明文が長かったりする場合に下の図のように「もったいないスペース」…