Raspberry piと外付けHDDでTimeCapsuleを作った

TimeCapsuleが欲しいけれど、少しお高いので外付けHDDと元々あったRaspberry Piで、TimeCapsuleを作りました。

Raspberry piにはrasbianを入れているので、基本的にdebianの設定通りでいいのかなと。

$ sudo apt-get install attr acl
$ sudo mount  /dev/sda1 /mnt/Timecapsule

Nettatalk3.0をインストール

$ sudo apt-get install libssl-dev libgcrypt11-dev libpam0g-dev libwrap0-dev libdb5.3-dev libavahi-client-dev libacl1-dev libldap2-dev libkrb5-dev
$ wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.0.tar.gz
$ tar zxvf netatalk-3.0.tar.gz 
$ cd netatalk-3.0/
$ ./configure --with-init-style=debian
....
% make
% make install

次にafpの設定

$sudo vim /usr/local/etc/afp.conf

;
; Netatalk 3.x configuration file
;
[Global]
; Global server settings
vol preset = default_for_all_vol
log file = /var/log/netatalk.log
uam list = uams_dhx.so,uams_dhx2.so
save password = no

[default_for_all_vol]
file perm = 0664
directory perm = 0774
cnid scheme = dbd

[Homes]
basedir regex = /home

[TimeMachine]
path = /mnt/Timecapsule
time machine = yes
vol size limit = 1843200

ここまで来てMacからTimeMachineの設定をしようとすると
こんな感じに、raspberrypiを認識します。

あとはポチポチするだけ。

GeForce 550 ti搭載マシンにUbuntu12.04を入れるときの注意

Geforce550TiにUbuntu12.04を入れようとすると,bootはするけれどそこから黒い画面が続いて何も反応がない.
どうやら,グラボが悪さをしているようなので,
インストール画面でオプションを指定して,オプションの後ろに

nouveau.blacklist=1

をつければ無事インストーラが立ち上がります.

何がなんだかわからないよ.Pygame

MacOSX Lion 64bit起動
Pygameをインストール中に

python setup.py buildでなんかエラーが出たとき.
すでにエラーが流れてしまったので,書けないけれど

ARCHFLAGS='-arch x86_64' python setup.py build

これ試してみて

これでもうまく行かなかったんだけれど,同じコマンド何回か打ってたら何故かビルドとおった
不思議

MacOSX LionにRubyQtをいれる

ここから

  • qt4-qtruby-2.1.0

を持ってきて適当に解凍

$ brew install cmake
cmake .

Melchior:qt4-qtruby-2.1.0 onodes$ cmake .
CMake Error at /usr/local/Cellar/cmake/2.8.5/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
  Did not find automoc4 (Automoc4Config.cmake, part of kdesupport).
  (missing: AUTOMOC4_EXECUTABLE)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/2.8.5/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
  cmake/modules/FindAutomoc4.cmake:56 (find_package_handle_standard_args)
  CMakeLists.txt:70 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!

なので,

  • Did not find automoc4 (Automoc4Config.cmake, part of kdesupport).

を入れる

Melchior:qt4-qtruby-2.1.0 onodes$ brew install automoc4
==> Downloading ftp://ftp.kde.org/pub/kde/stable/automoc4/0.9.88/automoc4-0.9.88.tar.bz2
######################################################################## 100.0%
######################################################################## 100.0%==> Downloading patches
==> Patching
patching file kde4automoc.cpp
==> cmake . -DCMAKE_INSTALL_PREFIX='/usr/local/Cellar/automoc4/0.9.88' -DCMAKE_BUILD_TYPE=None -Wno-
==> make install
cmake .

でどうやらできたみたい.

make 
make install

scala.vimを有効にする

scala.vimvim-scalaを配置しても有効にならない.
そこで下記を利用する.

~/.vim/filetype.vim を作る方法を試す。

" my filetype file                                      
if exists("did_load_filetypes")
  finish
endif
augroup filetypedetect
  au! BufRead,BufNewFile *.scala        setfiletype scala
augroup END

単純な数値計算で速度比較

数値計算といえばC/C++とかそんなイメージですが(fortranとか)
Javaだとどうなのか?というところからどっかのサイトに乗ってたアルゴリズムを使って時間を計りました.

※凄い雑なので,ループが多くて割り算があってくらいのプログラムです.
※オマケでRubyもやってみました

  • プログラム
#include <cstdlib>
using namespace std;

int main(int argc, char** argv) {

    double sum = 0;
    for(int i=0;i<1000*1000*1000;i++){
        sum+=1./(double)(i+1)/(double)(i+1);
    }   

    return 0;
}
public class Main{
  public static void main(String args[]){
  double sum=0.;
  for(int i=0;i<1000*1000*1000;i++){
    sum+=1./(double)(i+1)/(double)(i+1);
  }
  System.out.println(sum);  
  }
}
object Main {

  def main(args: Array[String]): Unit = { 

  var sum = 0.0;
  for(i <- 0 to 1000*1000*1000){
    sum += 1.0/(i.toDouble+1.0)/(i.toDouble+1.0)
  }
  }
}

RubyはDoubleではなくfloatで(そして,あくまでforです)

sum = 0.0 

for i in 0 .. 1000*1000*1000
  sum += 1.0/(i.to_f+1)/(i.to_f+1)
end
  • 実行結果(timeで測定)
C 21.73s
Java 18.10s
Scala 19.14s
Ruby 772.10s
Python 587.06s

結構Javaで書いてもいいんじゃないかなあという結果.
Rubyで書いてはいけない.