2012年9月17日(月)

煩わしい印刷ジョブの削除

OSがWindows7のPCで、印刷ジョブが残るトラブルがしばしば発生している。自分だけかと思いきや、けっこうあるみたいで、ヒューレット・パッカード社の『Windows 2000/XP/Vista/7 印刷ジョブの削除方法』のウェブページに対応方法が図解入りでわかりやすく取りまとめられているので、いつも参照させてもらっている。

ちなみに、この対応方法にある作業をそのままバッチファイル化したのが、ライフハッカーの『プリントジョブをサクッとキャンセルする方法』である。ただし、このバッチファイル、何の確認もせず一定条件下のファイルを全消去してしまうというのはいかにも危険なため、いちいちGUIで操作するのは煩わしいが、よくわかっている上級者以外は使用すべきではないと思う。

Posted by 不法電波 at 10:00
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2012年9月16日(日)

エクセルでパスワード生成

Microsoft Excelで0~9とa~z(小文字)を使って任意の桁数のランダムなパスワードを生成しようかと思ったんだけど、全然スマートにできない。これらの文字を使った1桁の乱数なら、以下の計算式で簡単に生成できる。

=IF(RANDBETWEEN(1,36)<11,CHAR(RANDBETWEEN(48,57)),CHAR(RANDBETWEEN(97,122)))

このRANDBETWEEN関数はとても便利だが、「分析ツール」に含まれる関数のため、利用するためには分析ツールアドインの組み込みが必要。それが嫌な場合はより一般的なRAND関数を利用しても、以下のとおり人間の視覚的にはわかり辛い計算式ながら可能。

=IF(RAND()*36<10,CHAR(RAND()*10+48),CHAR(RAND()*26+97))

しかし、いずれにせよ、任意の桁数のパスワードを生成しようとすると、どうしても格好悪い方法しか思い付かない。例えば、上述の計算式のいずれかをA1~A20の20個のセルにそれぞれ入れ、B1に生成したい桁数を入力し、とこかのセルに以下の計算式を入れれば、任意の桁数のパスワードは簡単に生成できるが、これでは生成できる桁数が最大20桁までに制限されてしまうし、そもそも長ったらしくて全然スマートじゃない。なお、VBAを使えば簡単なんだろうが、だったらエクセルでやらずに最初からPerlでワンライナーだって。

=LEFT(A1&A2&A3&A4&A5&A6&A7&A8&A9&A10&A11&A12&A13&A14&A15&A16&A17&A18&A19&A20,B1)

ダッセ俺超ダッセ。でも、"=CONCATENATE(A1:A20)"で範囲指定した文字列を一つに結合できないExcelもいかがなものかと思う。

Posted by 不法電波 at 13:49
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2012年3月19日(月)

おちゅ~しゃにパッチ

専ブラから2ちゃんねるに書き込むには、専ブラが忍法帖に対応していなければならない。Linux機にインストールしたおちゅ~しゃという専ブラがこれに対応していなかったため、バージョン6.0のソースに下のレスNo.721のパッチを当ててビルドしたところ、書き込めるようになったばかりでなく、ディストリビューションのビルド版よりCPUの占有率がダダ下がったので、ちょこっと幸せな気分。

716 : 忍法帖【Lv=1,xxxP】 :2011/06/02(木) 02:02:43.42 ID:gKpUdOnv
おちゅ~しゃから書き込みテスト1
719 :716:2011/06/04(土) 02:17:26.26 ID:wVIwNEAp
忍法帖の書き込みパッチ書いた
でも不具合あり。

DELETE FROM ochusha_cookies WHERE GLOB("[a-z]*", name) AND domain != uri.get_server();
こんなSQL文を実行すれば良さそうだが SQLite3Statementクラスが
C++初心者には、理解できていない誰か助けて。
720 : 忍法帖【Lv=3,xxxP】 :2011/06/04(土) 02:19:05.95 ID:wVIwNEAp
--- libochusha/cookie_manager.cc.org
+++ libochusha/cookie_manager.cc
@@ -465,6 +465,23 @@
cookie_value_buf.append(cookie.get_value());
}

+ if (select_matched_domain->bind(INDEX_DOMAIN, strpbrk((char*)uri.get_server(),".")))
+ {
+ if ( select_matched_domain->step() == SQLITE_ROW)
+ {
+ cookie_value_buf.append("; HAP=");
+ cookie_value_buf.append(select_matched_domain->get_column_text(COLUMN_VALUE));
+ }
+ }
+ select_matched_domain->clear_bindings();
+ select_matched_domain->reset();
+
return cookie_value_buf.c_str()[0] != '\0'
? strdup(cookie_value_buf.c_str()) : NULL;
}
721 : 忍法帖【Lv=9,xxxP】 :2011/06/12(日) 22:31:35.28 ID:RC9C2bUp
>>720 を修正
libochusha/cookie_manager.ccの93行目を
< #define OCHUSHA_COOKIES_SELECT_MATCHED_DOMAIN "SELECT * FROM ochusha_cookies WHERE domain = ?4;"
---
> #define OCHUSHA_COOKIES_SELECT_MATCHED_DOMAIN "SELECT * FROM ochusha_cookies WHERE GLOB(\"*\" || domain, ?4);"
これの方が簡単。

hibariで書いていて kamomeに書き込もうとすると、みたいな事をすると

ERROR:ブラウザを立ち上げなおしてみてください。

と言うエラーになる。クッキーで den=boを送らなければ良いのだが。
おいお前ら! おちゅ~しゃはどうですか? Ver.5

テストスレへの試し書き後、Mozilla FirefoxのプラグインであるSQLite Managerで~/ochusha/cookies.sqliteを開いたところ、クッキーに忍法帖のHAPの値が生成されていることを確認。そこで、その値をこれまで使っていたJD for Linuxのabout:configにあったHAPの値に書き換え、忍法帖のレベルをJDからおちゅに引き継いだ。引き継ぎの成功もテストスレで確認。これでようやく、忍法帖の出現で一時浮気していたJDからおちゅに戻れる。

Posted by 不法電波 at 23:07
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2012年1月9日(月)

XAMPP及びPerl環境の再構築

先日吹っ飛んだHDDには、データ用(Dドライブ)でありながら、XAMPP for Windows及びActivePerl環境(当時のXAMPPにはPerlが含まれていなかった!)を構築してあったのを忘れていた。
そこで、再構築に至ったのだが、ついでに、Perlのバージョンはここland.toと同じ5.8.8に合わせる事にした。

といっても当時のインストーラ、確か5.6.Xも同時に吹っ飛んでしまった上、ActivePerlからはもう古いバージョンをダウンロードできないため、まんま再現するのは不可能だからだったりもする。
再構築に当たり、今でもダウンロードできるStrawberryPerl又はXAMPP Perl Add-onという選択肢から、後者のアドオンのほうを選んだ。
だって当時のStrawberryPerlってDドライブにインストールするためにDドライブ専用インストーラ(strawberry-perl-5.8.8.4-ddrive.exe)を使うらしいんで、何か不安。
対してこのアドオンなら、XAMPPとの親和性もありそう。
しかし、部屋に転がっていたHDDをとりあえず新Dドライブにしておいたので、そこへ無考えにXAMPP->Perl Add-on 5.8.8(xampp-win32-perl-addon-5.8.8-2.2.8-installer.exe)とインストールしたところ、Perl Add-onのインストール時、XAMPPに含まれるApache HTTP Serverのバージョンとの相性が悪いらしく、コケた。
調べたところ、このアドオンのバージョンに対応するのはXAMPP 1.6.6a(xampp-win32-1.6.6a-installer.exe)らしい。
XAMPPをアンインストールした後、今度はXAMPP 1.6.6a->Perl Add-onの順にインストールしたところ、あっさり再構築完了。

Posted by 不法電波 at 10:50
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2011年12月24日(土)

クリスマスイヴにHDDが死亡

いやー、これはまいった。
自分はシステム用(プライマリ)とデータ用(セカンダリ)とハードディスクドライブを分けているが、データ用のHDDのほうがお亡くなりになってしまった。
使用歴10年弱の容量20GBという代物だったが、お亡くなりになって疑問を感じた。
システム用のほうはさらに製造年が古く、しかも、いつも回転しているイメージがあるが、なぜデータ用ほうが先に亡くなったのか。

Googleは2007年2月に「Failure Trends in a Large Disk Drive Population」(大容量HDDにおける故障傾向/PDFファイル)という論文を発表した。大規模なサーバーで運用していることで知られるGoogleだが、これによると HDDは、使用頻度、温度やS.M.A.R.T値(Self Monitoring, Analysis and Reporting Technology:故障の予兆を知らせる値)にほとんど関係なく、年間5%程度が故障するという。また、CMU's Parallel Data LabのBiance Schroeder氏による「Disk failures in the real world: What does an MTTF of 1,000,000 hours mean to you?」(現実世界でのハードディスク故障:平均故障時間が100万時間とはどういう意味か)という論文では、HDDの年間平均故障率がメーカー公称値の 0.58~0.88%に対し実測で0.5%~13.5%の開きがあることが示され、平均でメーカー公称値の約15倍になるという報告がなされている。

細かい数値については相違があるものの、以上の2つから言えるのは「HDDは通常運用の範囲で確実に壊れる」ということだ。実際、一般的なオフィスでも「ウイルスに感染した!」という騒ぎより「週明けにPCを立ち上げようとしたら立ち上がらない」というようなトラブルのほうが頻繁に起きる。しかもこのトラブルは、「起きてしまってからでは遅い」という、実に困った性質を持っている。最善の策は、HDDの故障を前提にして、ファイルが消えてしまっても大丈夫なようにあらかじめバックアップを取っておくことだ。

最新セキュリティの条件 第3回:PC メンテナンスやバックアップも「ノートン 360」におまかせ (1/3) - ITmedia +D PC USER

つまりは、どちらが先にお亡くなりになるかはわからない、ということらしい。
しかし、バックアップが必要なのは理解できるが、それはコストとの兼ね合いだと考えている。
つまり、デジカメによる思い出の画像ファイルなどコストを掛けても良いと思うものならバックアップするが、どうでも良いファイルには一銭も払いたくない。
ちなみに、お亡くなりになったHDDに入っていたデータファイル群は、収集に時間は掛っているが、バックアップの必要性のあるファイルはなかったはずだ。
えっ、あのファイルって亡くなられたHDDに入ってたっけ?…嘘だと言ってよ、バーニィ

Posted by 不法電波 at 18:36
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2011年12月23日(金)

VisualWgetでダウソに勤しむ

ダウソに勤しむとき、WindowsXP機でお世話になっているのがVisualWgetというダウンローダー。
LinuxをはじめとするUnix系で高名なWgetというCUIなダウンローダーに対する、.NET Framework 2.0によるオープンソースなGUIフロントエンド。
有難いことに日本語化もされている。
で、FlashGotというMozilla Firefoxプラグインの詳細なオプションで追加する実行ファイルのパス・送信書式は、以下のとおり。

X:\hoge\VisualWget.exe
--continue --ca-certificate=X:\hoge\cacert.pem [--directory-prefix=FOLDER] [--referer=REFERER] [--post-data=POST] [--load-cookies=CFILE] [--header=Cookie:COOKIE] [--user-agent=UA] [URL]

X:\hoge\の部分はVisualWgetをインストールしたフォルダーを指すが、cacert.pemの内容が偽SSL証明書事件以前とかなり古いので、心配ならばcURL - Extract CA Certs from Mozillaのウェブページから当該ファイルをダウンロードし、更新したほうが良い。
とは言っても、VisualWget最新版(Ver.2.5a2)に含まれるWget自体がVer.1.11.4、OpenSSLライブラリー(libeay32.dll及びlibssl32.dll)がVer.0.9.7mといずれもかなり古い。
しかし、後者のライブラリーを更新してVisualWgetが動作するかは未検証。
なお、送信書式については、以下の引用のとおり、Wget由来のコマンドラインオプションのうち、長いコマンドラインオプションは受け付けるが、短く省略されたコマンドラインオプションは受け付けないらしい。

When you call VisualWget externally from other program and specifying the command-line options, please make sure that you only use long form (not short form) when specifying the options. For examples, the short form of --continue is -c, the short form of --directory-prefix is -P.
Please see http://www.gnu.org/software/wget/manual/wget.html for the list of all available options.

3 Usages - VisualWget

ちなみに、そのWget自体の実行ファイルのパス・送信書式は次のとおりで、ほとんど変わらない。

C:\Windows\System32\cmd.exe
/C start X:\hoge\wget.exe --continue --ca-certificate=X:\hoge\cacert.pem [--directory-prefix=FOLDER] [--referer=REFERER] [--post-data=POST] [--load-cookies=CFILE] [--header=Cookie:COOKIE] [--user-agent=UA] [--input-file=UFILE]

しかし、同様のフロントエンドであるWinWGetは、残念ながらWgetに詳細なコマンドラインオプションを継承しないようだ("WinWget.exe [URL]"のみ受け付ける模様)。
また、日本語化もされていないようなので、個人的にはWinWGetの用途がほぼない。

Posted by 不法電波 at 11:44
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2011年10月30日(日)

win32-EUballotとは何ぞや?

最近のMozilla Firefoxのビルドに、win32-EUballot向けというのがある。
これは何ぞや、と言うと、欧州経済領域向け、つまり欧州連合(EU)及び欧州自由貿易連合(EFTA)加盟国向けのビルドという事らしい。

Support/EUBallot - MozillaWiki』を読んでもさっぱりわからないが、『about:mozilla » Firefox Mobile, Weave, EU ballot, Add-ons manager, Interns, Test Pilot, MDC, Store, OOPP, Lightning, and more…』で何となくわかった。
欧州委員会とMS、Windowsのブラウザ選択を巡る独禁法問題で和解』によれば、マイクロソフトがWindowsとInternet Explorerを抱き合わせる事で、ウェブブラウザの市場を独占しているため、『Information Regarding Web Browsers』という画面でユーザにウェブブラウザを選択させる事となった(EU browser choice submission)。
で、win32-EUballotというのは、その仕組みのためのビルドの事のようだ。
なお、具体的に通常のビルドとどこが違うのかは試していない。
だって、欧州経済領域向けのため、win32-EUballotの中にja(日本語)向けビルドはないのだから。

Posted by 不法電波 at 15:16
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2011年9月25日(日)

スタンドアロン版PrismでユーザCSS

過去記事に書いたPrismインフォシークメールに接続してきたが、Prism - MozillaWikiを読み、ユーザースタイルシート(ユーザーCSS)が利用できるのを今日知った。
WindowsXPなので、C:\Documents and Settings\ユーザー名\Application Data\WebApps\アイコン名@prism.app\webapp.cssを設置し、そのwebapp.cssに以下のような広告をブロックするCSSを書いてみたところ、邪魔だった広告が消えた。

@charset 'UTF-8';
#広告要素のid属性名,
.広告要素のクラス属性名,
{ display: none !important; }

また、ユーザーCSSと同じ場所(階層)にwebapp.jsを設置し、そのファイルにJavaScriptでコードを書けば、ユーザーJavaScript(ユーザーJS)として動作するそうだ。
しかし、Mozilla系のユーザーJSの書き方を知らないので、この機能は利用していない。

Posted by 不法電波 at 13:28
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2011年4月24日(日)

Apache 2でASP.NET 2.0

今更感があるが、WindowsXP機にXAMPP Liteがインストールしてあるので、Apache HTTP Server 2上でASP.NET 2.0を動かしてみたときのメモ。
まず、mod_aspdotnetからダウンロードしたmod_aspdotnet-2.2.0.2006-setup-r2.msiをインストールしたら、次に、C:\xampplite\apache\conf\httpd.confの末尾に以下の2行を追加した。

# ASP.NET
Include "conf/extra/httpd-aspdotnet.conf"

んで、"How to make Apache run ASP.NET / ASP.NET 2.0"に従って、C:\xampplite\apache\conf\extra\httpd-aspdotnet.confを以下の内容で作成した。

LoadModule aspdotnet_module modules/mod_aspdotnet.so

AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj licx rem resources resx soap vb vbproj vsdisco webinfo

<IfModule mod_aspdotnet.cpp>
# Mount the ASP.NET /asp application
AspNetMount /asp "c:/xampplite/asp"
#/asp is the alias name for asp.net to execute
#"c:/xampplite/asp" is the actual execution of files/folders in that location

# Map all requests for /asp to the application files
Alias /asp "c:/xampplite/asp"
#maps /asp request to "c:/xampplite/asp"
#now to get to the /asp type http://localhost/asp
#It'll redirect http://localhost/asp to "c:/xampplite/asp"

# Allow asp.net scripts to be executed in the /asp example
<Directory "c:/xampplite/asp">
Options FollowSymlinks ExecCGI
Order allow,deny
Allow from all
DirectoryIndex index.htm index.aspx
#default the index page to .htm and .aspx
</Directory>

# For all virtual ASP.NET webs, we need the aspnet_client files
# to serve the client-side helper scripts.
AliasMatch /aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*) "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
<Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
Options FollowSymlinks
Order allow,deny
Allow from all
</Directory>
</IfModule>

最後に、C:\xampplite\asp\index.aspxを以下の内容で作成した。

<%@ Page Language="JScript" %>
<html>
<head>
<title>ASP.NET 2.0 Sample Page</title>
</head>
<body>
<p><% Response.Write("'Hello, world!' on " + ScriptEngine() + " Ver." + ScriptEngineMajorVersion() + "." + ScriptEngineMinorVersion() + "." + ScriptEngineBuildVersion()) %></p>
</body>
</html>

ウェブブラウザでhttp://localhost/asp/に接続したところ、「'Hello, world!' on JScript Ver.8.0.50727」と表示され、JScript .NETのバージョンから.NET Framework 2.0が動作していることを確認できた。
上手くイッたw

Posted by 不法電波 at 13:02
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

2011年2月6日(日)

IronPythonとXAMPPでCGIテスト

WindowsXP機にIronPythonインストールしてみたところであるが、今回はCGIで動かしてみた。
事前にC:\xamppliteフォルダにXAMPP Liteがインストールしてある。
そして、IronPythonのインストール先フォルダはC:\IronPythonだから、まず、次のようなpython.cgiをC:\xampplite\htdocsに用意した。

#! /IronPython/ipy.exe
print "Content-type: text/html\n\n"
print "<html>Hello world!</html>"

次に、ウェブブラウザでhttp://localhost/python.cgiに接続したところ、"Hello world!"と表示された。
上手くイッたw

Posted by 不法電波 at 01:18
Categories: コンピュータ | 楽天
コメント (0) | トラックバック (0) |

TopBottom

< コンピュータ 2 | Home