Trivia

Diary

暦の上ではすでに春だが・・・

昨日は節分、今日は2016年の立春となり、暦の上では春を迎えることとなる。とは言っても、この時期が最も寒い時期ではあるのだが・・・。
IT/Computer

初代のUltimaはBASICで書かれていた

世界的なコンピューターRPGの元祖として、Wizardryシリーズと並んで有名なUltimaシリーズだが、初代Ultima ((及びその前身のAkalabeth)) はリチャード・ギャリオット氏 ((ペンネームとして「ロード・ブリティッシュ...
C/C++

Bourne ShellはC言語としては非常識な書き方をしていた

かつて、Unix系OSで使われたシェルとして、Bourne Shellがあるが、1977年にリリースされていた初期のバージョンでは現在はもちろん、当時でさえC言語の書き方としては非常識な書き方をしていたという。これがIOCCCの発足するきっ...
C/C++

AddressSanitizerが思った以上に優秀

memcpyでアドレスオーバーラップさせると・・・で少しだけ言及したが、gcc4.8以降あるいはclang 3.1以降ではAddressSanitizer(略称ASan)が使えるようになっている。また、Xxode 7以降ではビルドスキーマの...
IT/Computer

Windowsのサポート期間の変遷を考えてみる

今日のWindowsのサポートライフサイクルは概ね明確でわかりやすいものになっている。新しいWindowsのバージョンが登場したら5年間またはその次のバージョンのWindowsが登場してから2年間のいずれか長い期間がメインストリームサポート...
C/C++

enumをキーとしたポインター配列を使った時にクラッシュする際の一時しのぎ

これは当方が実際に遭遇したことだが、任意のクラスポインターをenumのキーを使って格納している配列で、一部環境で動作させた時に原因不明のEXC_BAD_ACCESSが発生してクラッシュするという問題に直面した。思った以上に厄介な問題で、根本...
iOS

iOS9 SDKではUIGestureRecognizerのターゲットに弱い参照を使っている?

どうやらiOS9 SDKではUIGestureRecognizerのtargetを内部的には弱い参照に切り替えているようだ。そのため、何らかの形でtargetに弱い参照を禁止したクラスをセットするとクラッシュが発生する模様である。
iOS

Xcode 7でビットコードを有効にするにはDeployment Targetに要注意

Xcode 7ではデフォルトでビルド時にビットコードが含まれるという記事においてはXcode 7ではiOSアプリ/ライブラリー/フレームワークをビルドする時にはデフォルトでビットコードが含まれることを説明したが、今回はビットコードを含める際...
C/C++

printfとputsのパフォーマンス差を比較してみる

C言語を学習するときに、多くの場合、文字列の出力としてprintf関数を使うだろう。しかしながら、printfは強力な関数であり、特定の書式に従うことで比較的自由な文字列を出力することができるが、ただ単に固定の文字列を出力したいだけならオー...
C/C++

CとC++、C#、Javaにおけるenumの違い

C言語、C++、C#、Javaではいわゆる「列挙型」としてenumが使える。しかしながら、C言語とC++、C#、Javaのenumはそれぞれ別ものである。
Opinion

SSLの対応状況の変遷

「SSLチェックって大事だよね」では自分のサイトのSSLの脆弱性状況についていろいろ書いてみたが、SSLに対応しているサイト全体の傾向としてはどうなっているだろうか?「SSL Pulseの統計情報で見るSSL/TLS (2015年8月版) ...
Opinion

らくらくホンは全然らくらくじゃない!?

身内との話で、らくらくホンに乗り換えた携帯電話利用者曰く、「非常に使いづらい」らしい。当然ながら、当方はらくらくホンなどはつかったことがないのでなんとも言えないが、そういった話を時折耳にする。