サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大そうじへの備え
www.komoto.org
Perlの5.8以降では、割と簡単にUnicodeが使えるようになっています。 自分の備忘録も兼ねて、簡単に使い方をまとめておきます。 Perlのsource codeをUnicodeで書く Source codeをBOM(byte order mask)なしのutf8で書きます。 そして、次のように"use utf8;"と書いておけば、とりあえず source code内でUnicode文字列を扱うことができます。 #!/usr/bin/perl use utf8; #use strict; $somevar = "漢字の文字列"; $somevar = "\x{3042}\x{3044}\x{3046}"; ## "あいう" 標準入出力の文字code 上記のようにすれば、source codeをUnicodeで書くことはできます。 しかし、このままでは文字列をprintするとutf8の
おきまりのネットワーク設定の話ではなく、Ethernetケーブルがささっている のか、抜けているのかをLinux上で検出しようという話です。 なにが問題なのか ノートパソコンにLinuxをインストールしている方も結構いるかと思います。 普段から持ち歩く場合、ネットワーク設定はDHCPに任せておくと、接続先を変 えたときにわざわざ設定し直したりせずにすみ、便利に使えます。 そんな便利なDHCPですが、新幹線の中などでネットワークにつながっていない ときにちょと問題となります。起動時にDHCPサーバーを探そうとして、1分ぐ らい起動時間が余分にかかってしまうのです。たいてい、外で使う場合はちょ こっと何かしたいという場合が多く、その余計な1分が気になっていました。 ethtoolを使ってみる SorceForgeのgkernelプロジェク トに、ethtoolなるものがあります。これを使うとケ
SAS共有 storage 最近、SASで複数台接続できる disk storage 製品がでています。 Dell PowerVault MD3200/MD3220 IBM System Storage DS3500 このあたりの機種だと4台をSASで直結できるため、 小規模なPC cluster(≤8 node)であれば SAN switch なしで安価に高性能な共有 storage を構成することができます。 また、それ以上の台数になる場合にはSAS switch (LSI 6160など) 経由で接続することができます。 安価な PC に NFS serverをやらせるのもありですが、こういった storage 製品の上にOCFS2やGFS2を載せて /home を共有して使うというのも良いでしょう。 この手の storage 製品は複数の論理 drive を作ることができ、 root
「いまさらFortran!?」などと言われそうですが、誤解を恐れずに、あえて書 くなら、現在普及している高級言語の中でFortranは最も先進的な言 語です(ただし数値計算分野に限る)。 簡単にFortranの歴史を書いておきます。 Fortranの生まれは古く、1957年、IBMのJohn Backusにより世界初の高級言語 として開発されました。FORmula TRANslatorの名が示すように、Fortranは当 初から数値計算を目的としていました。 その後、FORTRAN66、FORTRAN77規格ができ、FORTRAN77は数値計算用言語とし て多くの研究者に愛用されてきました。そのため、数値計算関連の書籍やライ ブラリでは、FORTRAN77で書かれた物が数多くあります。 最近、FORTRAN77の問題点を改善し、さらに数値計算特有の機能を強化した Fortran90及びFo
Intel macでrEFItとGRUB2 EFIを使ってLinuxを起動する Intel macでMacOS X以外のOSを起動する場合、 Boot Campを使う方法が一般的です。Boot Campを用いると、旧来のBIOSを持ちい た方法でOSを起動できるため、今までのPC/ATなやり方でWindowsやLinuxといっ たOSを起動することができます。 しかし、Intel macでは古くさいBIOSと決別し、新しいEFIが標準の起動方法に なっています。いまさらBIOSを持ち込むBoot Campを使うのではなく、EFI を用 いてLinuxを起動する方法を説明します。(要は単なる潔癖) 例として用いるのは、Mac mini Core2Duo 2GHz (MB463J/A, Early 2009)で、 64bit modeで起動させます。 参考 GRUB WikiのHow to t
ポリゴンの表裏 ポリゴンには、表面と裏面というものがあります。標準では、頂点が反時計回りに見えるのが表で、時計回りに見えるのが裏になります。ちなみに、glFrontFace()を使うと、表裏を逆にすることもできます。 使用法 ポリゴンの表裏は、処理軽くするために使われます。つまり、ポリゴンのおもて面のみを描き、裏を描かないようにすることで、描くポリゴンを減らし、処理を軽くします。使う関数は、次の2つです。 glEnable(GL_CULL_FACE) 片面表示を有効にします。 void glCullFace(GLenum mode) どの面を描画しないようにするかを指定します。modeには、GL_FRONT、GL_BACK、GL_FRONT_AND_BACKのいずれかです。GL_FRONTを指定すると、表面を描画しない、つまり、裏面のみを描画します。GL_BACKなら、表面のみが描かれ、G
ここでは、OpenGLの基礎知識、二次元図形の描き方、glutを使ったウインドウの作り方を解説します。 配布物 sample01.c OpenGLの基礎 OpenGLの大きな特色として、"State Machine"であることがあげられます。どういうことかと言うと、OpenGLは与えられた状態を覚えていて、コマンドが発行されると、覚えている状態をつかって実行します。例えば、色を一度指定すると、もう一度指定しなおすまでずっと同じ色で描画を行います。 毎回いろいろ指定しなくてよいので楽だしオーバーヘッドも少ないのですが、状態を意識していないと痛い目にあったりします。 OpenGL関連ライブラリの構成 How to buildでも触れたように、このページで扱うサンプルプログラムは3つのライブラリを使います。 OpenGLライブラリ(libGL.so / opengl32.dll) OpenGLの
環境光に対する照らされかた。環境光とは、空気による乱反射などによる光のこと。実際には、環境光が一定などということは無いが、わざわざ計算するととんでもない計算量になるし、一定にしてもたいして問題にはならないので、OpenGLでの環境光はどの物体も一定の明るさに照らすようになっている。 この値を大きくすると、環境光に対して明るく照らされるようになる。あまり大きくするとのっぺりして、立体感がなくなるので注意。
サンプルプログラム 早速ですが、サンプルプログラムを見てください。今回の目玉は、以下の関数です。 void glTranslatef(GLfloat x, GLfloat y, GLfloat z) 平行移動します。 void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) その場での回転。(x,y,z)というベクトルを軸にして、角度angle度だけ回転します。回転の方向は、右ネジの方向です。 今回は使っていませんが、似たような使い方をする関数として、次のような関数があります。 void glScalef(GLfloat x, GLfloat y, GLfloat z) 拡大・縮小をします。 それから、座標変換用の行列を操作する関数として、次の2つを使っています。 void glPushMatrix(void) void
今回は、いよいよテクスチャマップをしてみます。sample08.cだけでなく、ppmread.c、ppmread.h、texture1.ppmもいっしょにダウンロードしてください。 テクスチャの読み込み サンプルプログラムを見てみます。まず、最初にppmread.cの方です。OpenGLのテクスチャに直接関係のあるのは、ReadPPMTexture()の中の、glGenTextures()、glBindTexture()、glTexImage2D()の3つの関数です。 (注)今回は、ReadPPMMipmap()は使いません。ミップマップは次回、解説します。 void glGenTextures(GLsizei n, GLuint *textures) OpenGLでは、テクスチャにそれぞれ番号をつけて、テクスチャを管理します。glGenTextures()は、その番号を取得する関数です。
NetBSD 5.0へ移行中です。記事中にNetBSD 4.0と5.0が混じっている部 分がありますので注意してください(そんなに変わらないけど)。 I-O DATAのUSL-5Pに NetBSDを入れてserverにして遊ぼう という頁です。15k円ぐらいで、fan-less、低消費電力のserverが買えるので すから、放っておく手はありません。 USL-5Pとは build.sh for USL-5P Install NetBSD NetBSDの初期設定 pkgsrcを使う ご意見、ご感想は、小本 真広 <[email protected]>まで。メールする前にtop pageの注意書を読んでください。
用意するもの CompactFlash 2枚 (1枚はInstall時だけ使用する128MB以上のもの、もう1枚は1GB程度の本番用) USBに接続してCompactFlashを読み書きできるアダプタ Serial console(ある方が望ましいがtelnetでも作業可) Install用CompactFlashを用意 まず、 Install用の disk imageをdownloadしてCompactFlashに書き込みます。 Linuxや*BSDを使っている人は、以下の様にしてddを使ってCompactFlashへ書き 込みます。間違えてHDDに書いてしまわない様に気をつけてください。 Windowsを使っている人はrawriteを使えば書き込めるんじゃないかな… # gzip -d usl5p-128M_5.1.2.gz # dd if=usl5p-128M_5.1.2 of=/d
H.264とは? H.264は映像圧縮規格の1つです。またの名を、MPEG-4/AVCと言います。動画圧 縮規格なので、MPEG-2やVC-1の仲間です。地上デジタル放送、Blu-ray Discや HD DVDの符号化方式に採用されたことから、今後MPEG-2に代わって標準的に使 われていくことが予想されます。 Linuxでも、再生と圧縮ぐらいはできるということで、取り上げてみます。 H.264動画を再生する MPlayerや、ffmpegに含まれるffplay を使えば、 H.264動画を再生することができます。とっても簡単なので、これ以上の説明 は無し。 H.264動画を作る(簡易版) ffmpegを使うと、以下のように簡単にH.264映像とAAC音声へと変換できます。 ただし、細かな設定はできません(たとえば、interlaceを指定できない)。ま た、この方法で作ったoutput
我が家では、三菱ディスプレイ社の RDT261WH を使っています。このdisplayは、WUXGA(1920x1200)の解像度を表示でき るすぐれものですが、Linux + X.orgからWUXGA出力をするためには少しコツが いります。 # なかなか表示できずにハマったので自分用メモ Modeline SXGA(1280x1024)などの解像度であれば、X.orgが標準でModelineを持っている ため、"Screen" sectionに「Modes "1280x1024"」と書 くだけで、SXGA出力となります。ところが、WUXGAのModelineは(X.org 7.2の 時点では)持っていない様で、/etc/X11/xorg.confに書き込まなければなりま せん。 一般には、欲しい解像度のModelineを手っ取り早く作るに は、"gtf" というcommandを使います。
C言語の規格は結構いい加減で、処理系依存と言うcompilerが勝手に決めてよ い部分が何箇所かあります。そのため、AVRではうまく動くプログラムがH8に もっていくと動かない等といったことが起こりえます。 せっかく書いたプログラムが別のマイコンでは使えないというのも寂しいので、 移植性のよいプログラムを書くための注意点をあげてみましょう。 C言語の基本型について 整数型 処理系依存で一番有名なのは、sizeof(int)でしょう。C言語の 整数型はshort,int,long とありま すが、それぞれ何bitであるかは、compilerが自由に決めて良く、 sizeof(short) <= sizeof(int) <= sizeof(long)であることだ けが規格で決められています。 ですので、shortもintもlongも 16bitという処理系もあれば、shortが16bit、in
DXFファイルとは DXFファイルは、Autodesk社の、AutoCAD用に開発されたファイル形式で、3次元のポリゴンや直線から成る形状を保存できます。しかし、ポリゴン表面の色、質感や、テクスチャマップなどの情報を持つことはできません。 現在、多くの3DCGアプリケーションがDXFファイルの入出力をすることができます。
Fortranを使おう
冬休みの工作で、組込みMPU用のFAT16読み書きライブラリを作成しました。主 な目的は、SD CardへGPSの航跡を記録することです。 組込み用に良さそうなFATライブラリが無いか探してみましたが、Assembler で書かれていたり、Hardware制御と分離されていなかったりと、あまり好みの ものが無かったので自作してしまいました。 目的がGPS loggerですので、読み書き速度は10kB/secも出せれば十分ですが、 そのかわりに極力小さな ROM/RAM で動作することを目標としています。また、 移植性重視(bit field等のC言語の実装依存機能は使わない)、Hardware層と Filesystem層はちゃんと分離するといった点に気をつかっています。 Download **2009-09-10以前のものにはbugがありました。過去にdownloadした方は最新版と差し替
VPN技術について VPNとは、Virtual Private Networkの略称です。離れたところにあるLAN同士を、 インターネットなどを通してパケットを転送することで、直接つながっているよ うに見せる技術です。従来、専用線を引かなければならなかったのを、インター ネットで安価に代用しようということです。 ただし、インターネットにLANのパケットを流すわけですから、盗聴や改変され る心配があります。そのため、暗号化や認証といったことに気を配る必要があり ます。 Contents VPNの比較 VPN対応 低価格ルーター 接続テスト: BSR14とBEFSR41C-JP / BSR14とMR104FH / BSR14とLinux OpenVPNを使ったVPN VPN環境でのWindows Network OpenVPNやVTunのEthernet Bridgeを使う WINSサーバーと
WINSサーバーとDMBを使う 複数のセグメントにまたがったWindows Networkを構築するために、WINSサー バーというしくみがあります。これは、DNSと似たような役割をします。 まず、名前解決の仕組みですが、コンピューターが起動したときに、自分のコ ンピューター名とIPアドレスをWINSサーバーに登録します。WINSサーバーは LMBなどと違って、あらかじめ決まったコンピューターなので、ブロードキャ ストは不要です。 名前解決をする場合は、ブロードキャストを使うのではなく、WINSサーバーに 名前を問い合わせて、IPアドレスを取得します。このように、WINSサーバーを 使えば、ブロードキャストは不要なので、間にルーターがはさまっていてもちゃ んと動作します。 続いて、ブラウジングです。WINSサーバーはコンピューターの一覧を持ってい るので、それを取得すれば良いような気がしま
VPN技術の比較 VPNを実現する方法はいろいろありますが、それなりに使われていそうなものを 挙げてみました。 IPSec VPN技術のうち、たぶん最も普及しているのがIPSecでしょう。VPNルーターと いう形で、ハードウェア実装している製品も売られています。 IPSecの場合、TCP/IPに暗号プロトコルを追加する形になります。 TCP,UDP と 同じレベルでのサポートで、通常OSレベルでの実装となります。 IPv6環境はIPSec標準実装となっているので、IPv6環境ならIPSecで決まりといっ た感じです。しかし、IPv4環境では専用プロトコル(ESP,プロトコル番号 50番 / AH,51番)に対応していないNATやFirewallがあるため、NATの裏側から接 続する場合や、動的IPで接続したいといった場合は使いにくいかもしれま せ ん。 暗号方式はDES/3DES/AESが
ffmpegは、 open sourceのビデオ/オーディオ変換ソフトウェアです。 ffmpegのインストール 必要なもの ffmpeg - ffmpeg本体 XviD - MPEG4 video encoder faac/faad - AAC audio encoder/decoder x264 - H.264 encoder (H.264形式で圧縮したい場合のみ必要) XviDは無くてもffmpeg内蔵のMPEG4 encoderを使うことができますが、XviDの 方がきれいに圧縮できます。 build & install 大抵のopen source softwareと同様に"./configure; make; make install"でOKです。めんどくさがりな人は、Turbo Linux 10用にRPMパッ ケージを作ってあります。download.komoto.org か
VPNルーターを使ったり、OpenVPNを使ったVPNの構 築のようにしてVPNを構築すると、http,ftp,pop3などでの通信はできます が、Windowsのネットワークコンピューターにコンピューターの一覧が表示さ れなかったり、共有ドライブが見えなかったりします。 何が問題なのか VPN環境で問題となる機能は、名前解決とブラウジングの2つです。 名前解決は、コンピューター名からIPアドレスを取得する機能です。この機能 は、LAN内のコンピューター全部に届くブロードキャスト通信を使っています。 具体的には、「hogehogeというコンピューターさん答えてください」というブ ロードキャストを出すと、その名前のコンピューターが「はーい、私です」と 返事を返すという要領でIPアドレスを取得しています。 もう1つのブラウジング機能は、Windowsの「ネットワークコンピューター」に コンピュ
概要 大阪本社と京都支社で個別に構築されていたLANを、インターネットVPNを使って 接続し、利便性を向上させることにします。大まかな要件は以下の通り。 両方とも動的グローバルIPでインターネットに接続 Windowsのファイル共有ができる NetMeetingによるビデオ会議ができる Age of Empireで遊べる 新規に必要なものをそろえるのであれば、 PersolのBSR14 とか、 LinksysのBEFSR41C-JP あたりを2台買ってきてIPSecで接続するのが簡単ですが、それでは味気ない ので、既存のLinuxマシンを使ってVPNを構築します。 VPN技術の比較から、両端が動的IPでも接続できるOpenVPNを使うことにします。 ネットワーク仕様 大阪本社 LAN 1192.168.110.0/255.255.255.0 ルーター 1 (Linux) eth0 : 19
Contents PPTPとは kernelとpppの準備 PPTP Clientを使う PoPToP(PPTP server)を使う WindowsのPPTP PPTP接続テスト PPTPとは VPN技術の比較のページでもちょっとふれまし たが、PPTPは、Point-to-Point Tunneling Protocolの略で、TCP/IP上にPPPコ ネクションを張ってVPNをするというプロトコルです。 PPTPの利点として、IPSecなどはIPしか通しませんが、PPTPであればNetwareの IPXなど、PPPを通すことのできるプロトコルなら何でも通せます。また、 Windowsで標準実装になっているので、PPTPサーバーさえ用意すれば気軽に出 先からVPN接続できるのも魅力でしょう。 PPTPの認証と暗号化 ちょっと話がそれますが、PPTPプロトコルで使われる認証方法と暗号化に
Contents OpenGLとは OpenGLの特徴 情報の入手元 OpenGLを使ってみよう OpenGLとは OpenGLは、3Dグラフィック用(2Dも描けるけど)のAPI群です。最初は、SGIのグラフィックワークステーションでリアルタイム3D表示をするためのAPIとして誕生しました。現在では、Un*xやWindowsを始め、思いつくほとんどのプラットフォームに移植されていて、3Dグラフィックの業界標準となっています。 具体的な用途としては、CADや3Dモデラーの画面表示や、Quakeなどの3Dゲームに使われています。特に、CAD、3Dモデラーといったアプリケーションでは、それらのほとんどがOpenGLを使っています。 OpenGLの特徴 3D表示をするプログラムを書こうと思ったとき、OpenGL以外にもいくつかの選択肢があります。例えば、MicrosoftのDirectXを使うとか
独断と偏見により、個人で買える値段のルーターで、VPN機能を持ったものを調べてリストを作ってみました。リストから漏れているものもあるでしょうし、筆者が買ってテストしている訳ではないので、評判などは当てにせず、自分で調べてください。 News [2003/10/18] 実験用にLinksys BEFSR41C-JPとPersol BSR14を買ってきました。>>接続テスト 情報源 Google 基底状態な領域 掲示板 価格.comの掲示板 2ch ハードウェア板 2ch 通信技術板 家庭用ルーター(アルファベット順) Buffalo BHR-4RV / WHR2-G54V PPTPサーバー機能を持ったルーターです。IPSecはできません。外出先から PPTPで自宅に接続するような使い方に向いています。 Elecom LD-BBR4M3 IPSec通信ができるようです。数がでていないのか、あま
Welcome to www.komoto.org Contents OpenGL入門 趣味の電子工作 研究関係 I-O DATA USL-5P + NetBSD HPC関連の話題 VPN 気象情報 その他 このWeb siteについて 個人の趣味の範囲で、主に技術的な話題を扱っています。特に、自分でやって みたときに、情報が少なくて困ったことを中心に書いています。 記載内容に関して なるべく正確な情報を書くように努力していますが、記載内容について保証は できません。書いてある通りにやってもうまくいかなかったり、なんらかの損 害を与えることもあるかもしれませんが、自己責任でおねがいします。 なお、間違い等に気づかれた場合、下記メールアドレスまで連絡をいただけるよ う、よろしくお願いします。 Web Browserについて どのWeb Browserでも読める書き方をしているつもりです。 A
このページを最初にブックマークしてみませんか?
『www.komoto.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く