2011-01-01から1年間の記事一覧

git rebase -iで過去のコミットを編集する

Git

git rebase -iで過去を改竄する。 git rebase -i ブランチ名 で過去のコミットを編集することが出来ます。 細かいことはこちら古いコミットを書き換える: 歴史修正主義者のための git rebase -i 入門 - 学習する機械、学習しない人間 Next Generation。 git…

Vimからhlintを少し便利に使えるvim compiler plugin

http://blog.michaelrueegg.name/?p=209 こちらで紹介されているコンパイラプラグインを使うと、ページ下部の画像に表示されているような感じでhlintの出力する情報がvim上に表示されます。

wxHaskellでXRCファイルを読み込む。

import Graphics.UI.WX import Graphics.UI.WXCore main :: IO () main = start $ do r <- xmlResourceCreateFromFile "hoge.xrc" wxXRC_USE_LOCALE f <- xmlResourceLoadFrame r objectNull "hogeFrame" b <- xmlResourceGetButton f "hogeButton" set b [ …

冪乗計算のバイナリ法と冪剰余

GCJJ決勝のB問題を解いてたら解けなくて気づいたらここに辿り着いてたのでメモ。 冪剰余計算 import Data.List bits :: Integer -> [Integer] bits e = reverse $ bits' e where bits' 0 = [] bits' x = (x `mod` 2) : bits' (x `div` 2) binaryMod :: Integ…

PeggyでHTMLパーサー(手抜き)を書いてみた

PEGとか知らないけどPeggy - The Parser Generator for Haskellを見ながら書いてみた。 思うところは色々あるけどもう今日は終わりたいから書いておく。 {-# LANGUAGE TemplateHaskell, QuasiQuotes, FlexibleContexts #-} import Text.Peggy main = print .…

wxHaskellでMediaCtrlを使用する

※gdgdやりながら何とか動いた時の手順をまとめた自分用のメモなので、正規のやり方では無い可能性があります。 なお、ubuntu11.04での話です。 wxWidgets ./configure --enable-mediactrl --enable-unicode make make installでインストール。ここまで問題な…

マルバツゲーム

RWHでモナド変換子とか色々覚えたので、それらを使ってマルバツゲーム作ってみた。 {-# LANGUAGE GeneralizedNewtypeDeriving #-} import Control.Applicative import Control.Monad.Error import Control.Monad.Instances import Control.Monad.State impor…

gitでcloneとかする時のポート指定

Git

例えば、 git clone ssh://foo@hogehoge:ポート番号/barってする。

qtHaskellでのui/qtスクリプト/qrcファイルの扱い方

uiはuiLoaderを使う。 qtスクリプトは普通に読み込む。 qrcファイルは一旦「rcc -binary my_application.qrc -o my_application.rcc」とかやってrccファイルを作り、実行時にregisterResourceを使って読み込む。

ghc7でqtHaskell-1.1.4をインストール

qtHaskell-1.1.4はbuildスクリプトがghc7に対応していないので、Adminpanelを見て手作業で進めていきましょう。 またrunhaskell Setup.hs buildを実行すると、途中でQtc/Core/Attributes.hsで以下のようなエラーを出します。 Qtc/Core/Attributes.hs:583:13:…

isoのマウント

sudo mount -t iso9660 -o loop ISO_DIR MOUNT_DIR

PerlでのDNS逆引き

IPv4の場合の逆引き use Socket; gethostbyaddr(pack('C4',split('\.', $ip)), AF_INET); IPv6の場合の逆引き use Socket6; gethostbyaddr(inet_pton(AF_INET6, $ip), AF_INET6); とりあえず、やり方だけ記録。

画像を扱うアプリケーションをWindows用として開発機以外で使用する時の注意

Qt

JPEG開くのに失敗する!と散々困って終わってみれば以前にもやったような気がしなくもない事だった。 次の画像形式をQtで扱う場合、QtHoge.dll以外にplugins/imageformats以下に入ってるdllが必要になる。 GIF ICON JPEG MNG SVG TIFF 上記の画像形式を扱う…

widgetの透過

Qt

setWindowOpacityはウィンドウそのものの透過率の設定。 ウィジェットを個別に透過させたい時は次の方法を取る。 // パレットを設定しautoFillBackgroundを利用して透明色で塗りつぶす。 widget->setPalette(QPalette::Background, QColor(255, 255, 255, 12…

とりあえずインストールしてローカルからメールが送れる所まで。

※とりあえず動いた所までのメモなので、セキュリティが甘い可能性があります。 sudo apt-get install postfix でインストール。 すると何やら初期設定の種類を聞かれる。 テストが目的なだけなら「ローカルのみ(local only)」を選択。 localhostのみから外…