こんにちは、ゲストさん

Choklogトップ - ランダムブログ - ログイン - ヘルプ

use sqlite3 on iPhone

次のところにヘッダファイルがあるっぽい。
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/include/sqlite3.h

[Objective C] create NSData instance from NSString

/*
 * And now, the actual GSXMLRPC class.
 */
@implementation	GSXMLRPC

- (NSData*) buildMethod: (NSString*)method
	         params: (NSArray*)params
{
  return [[self buildMethodCall: method params: params] dataUsingEncoding:
    NSUTF8StringEncoding];
}

- (NSString*) buildMethodCall: (NSString*)method
                       params: (NSArray*)params
{
  NSMutableString	*str = [NSMutableString stringWithCapacity: 1024];
  unsigned		c = [params count];
  unsigned		i;

  if ([method length] == 0)
    {
      return nil;
    }
  else
    {
      static NSCharacterSet	*illegal = nil;
      NSRange			r;

      if (illegal == nil)
	{
	  NSMutableCharacterSet	*tmp = [NSMutableCharacterSet new];

	  [tmp addCharactersInRange: NSMakeRange('0', 10)];
	  [tmp addCharactersInRange: NSMakeRange('a', 26)];
	  [tmp addCharactersInRange: NSMakeRange('A', 26)];
	  [tmp addCharactersInString: @"_.:/"];
	  [tmp invert];
	  illegal = [tmp copy];
	  RELEASE(tmp);
	}
      r = [method rangeOfCharacterFromSet: illegal];
      if (r.length > 0)
	{
	  return nil;	// Bad method name.
	}
    }
  [str appendString: @"<?xml version='"1.0'"?>'n"];
  [str appendString: @"<methodCall>"];
  NL;
  INDENT(1);
  [str appendFormat: @"<methodName>%@</methodName>",
    [method stringByEscapingXML]];
  NL;
  if (c > 0)
    {
      INDENT(1);
      [str appendString: @"<params>"];
      NL;
      for (i = 0; i < c; i++)
      	{
	  INDENT(2);
	  [str appendString: @"<param>"];
	  NL;
	  INDENT(3);
	  [str appendString: @"<value>"];
	  NL;
	  [[params objectAtIndex: i] appendToXMLRPC: str indent: 3 for: self];
	  NL;
	  INDENT(3);
	  [str appendString: @"</value>"];
	  NL;
	  INDENT(2);
	  [str appendString: @"</param>"];
	  NL;
	}
      INDENT(1);
      [str appendString: @"</params>"];
      NL;
    }
  [str appendString: @"</methodCall>"];
  NL;
  return str;
}

http://www.google.com/codesearch?hl=en&q=NSURLConnection+initWithRequest+show:thO0Gy4XKz8:WITO_lYqkRQ:OGAQEqv7aks&sa=N&cd=3&ct=rc&cs_p=ftp://ftp.gnustep.org/pub/daily-snapshots/core.current.tar.bz2&cs_f=core/base/Source/Additions/GSXML.m

椅子いろいろ

http://www.amazon.co.jp/exec/obidos/ASIN/B000MM0YKM/mahatanet-22/ref=nosim/

http://www.amazon.co.jp/asdf/dp/B0008JIEEC/ref=sr_1_8?ie=UTF8&s=electronics&qid=1214538014&sr=1-8

http://www.aeron-chair.jp/index.html?gclid=CMye3b_bk5QCFRMJewodSCYyuQ

http://item.rakuten.co.jp/mr-sohmu/c/0000001194/

(?:...)

Groups subexpressions without capturing (cluster)

by man perlreref

firefox on linux と livedoor の謎

普段 ubuntu 7.10 上で動作する firefox 3 beta 1 を使っているが、forefox 2 の頃から、livedoor の複数のニュースページなどに連続してアクセスすると、5回目のアクセスくらいから、接続の確立はするもののデータを取ってきてくれない。しばーらくしてから reload すると、何事もなかったようにロードされる。

これの原因がよくわからなくて、gmail とか定期的に外のサーバと通信しているページを全て閉じて、livedoor のページへのアクセスのみの状態にして、

% sudo tcpdump -i eth0 -s 1600 -w livedoor.cap port 80


のようにして全ての 80 ポートを流れるパケットをキャプチャしてみた。こうすれば途中で通信が止まった時に、どこで止まっているのかをつきとめられるはず。

さて、こうして次々と livedoor のページにアクセスしてみるわけだが、どういうわけかこういう時に限って、いくら連続して livedoor にアクセスしてもサクサクとニュースのページがロードされる。途中で通信が途切れる気配がない。

ひょっとして一緒に動いている gmail の javascript とか、greasmonkey とか何かが悪さをしているのかもしれない。

ちなみに macosx や windows の firefox だとこういうことは全く起こらない。

さて、また今度機会があったら深追いしてみることにしようかな。

PHP One Liner

% php -r 'phpinfo();'

A version of Mac OS X 10.5 was not found

image

iPhone SDK を Tiger にインストールようとしたら、怒られた。

ftp-archive.freebsd.org

古いバージョンの FreeBSD のバイナリとかインストール CD は、いろんなミラーからはなくなって ftp-archive.freebsd.org に置かれるみたい。
FreeBSD 5.4-RELEASE のインストーラ CD は次のところから入手できる。
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/i386/ISO-IMAGES/5.4
packages を一切インストールしないで、ベースシステムのみなら 5.4-RELEASE-i386-disc1.iso だけでことが足りる。

upgrade freebsd 4.x -> 6.x via remote host

さくらインターネット、専用サーバースレ Part9

286 :名無しさん@お腹いっぱい。:2008/01/27(日) 13:53:10 0
>>275
自分は4.xから6.xにリモートでアップグレードしたので以下参考に。

どうしても自力でリモートアップグレードしたいなら、
4.7→4.11→5.5→6.x
っていう順番になるとおもいます。

セキュリティアップデートと違って、
アップグレードの場合は/etc配下の各ファイルを、mergemasterで適切に上書きor編集しないとシステムが動かなくなるので注意。

4.11→5.5の手順は↓を参考に。(これ見て手順が理解できないならあきらめたほうがいいです)
http://www.freebsd.org/releases/5.4R/migration-guide.html
ただし、installkernel後(installworld前)のリブートは、手順と違ってマルチユーザモードでリブートすることになるので注意。

つまり、カーネルが5.5、ユーザランドは4.11の状態でブートすることになります。
(4.xのカーネルでブートした状態のままではinstallworldできません)
このとき、procファイルシステムをfstabからコメントアウトしてからリブートしないとダメです。
また、PAMモジュールが変わっているので、OpenSSHは自動起動しない状態でリブートしないとだめです。
かわりにTelnet接続を有効化しておいてください。
どうしてもこの状態(カーネルが5.5、ユーザランドは4.11)でSSH接続したい場合は、
事前にPortsからWITHOUT_PAM=yes付きでOpenSSHをインストールして、
PortsからインストールしたOpenSSHを公開鍵認証で使うようにしてください。

あと、compatを有効化しても動かないPortsもあるのでPortsも一通りリビルドが必要だと思ってください。

4.7→4.11と、5.5→6.xは、ハンドブック参照。

有償で再インストールする羽目になっても責任はもてないので、
失敗したら有償で再インストールをする覚悟をもちつつ、
事前にローカルでリハーサルしてから自己責任でやってください。



http://pc11.2ch.net/test/read.cgi/hosting/1195837699/286

livehttpheaders on firefox 3 beta 5

livehttpheaders はブラウザが行っている http の通信を見るのに便利なツールなんだけど、firefox 3 にはインストールできなくて困っていた。

が、今日オフィシャルサイトを見てみたら、version 0.14 がリリースされていて、0.14 では firefox 3 にもインストールできるようになっていた。