pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


2chが5chに変わったというので、ドメインの取得日や所有者について調べてみる

2ch.net が 5ch.net に移管されるということで「5ch.net」みたいなドメイン名が良く取れたよね、見たいな話を聞いたけど「いやいや、そんなの、関係者が以前から持っていたはずでしょ」としか思えないわけで、実際に検証してみることにする。

まずは本記事作成時点でのドメイン登録情報を whois で調べてみる。

すると、以下のことがわかる。

  • 1ch.net, 3ch.net, 5ch.net を除き、Jim の所有になっている
  • 5ch.net 〜 9ch.net の登録日はいずれも 2000年3月1日である
ドメイン whois 情報 初回登録日 所有者
1ch.net https://www.whois.com/whois/1ch.net 2003-01-11 Privacy Protect, LLC (PrivacyProtect.org)
2ch.net https://www.whois.com/whois/2ch.net 1999-07-22 Jim Watkins (Race Queen, Inc)
3ch.net https://www.whois.com/whois/3ch.net 2002-03-24 SATOSHI SHIMOSHITA
4ch.net https://www.whois.com/whois/4ch.net 2000-03-01 Jim Watkins(N.T.Technology, inc)
5ch.net https://www.whois.com/whois/5ch.net 2000-03-01 Wilson Orje (Loki Technology, Incorporated)
6ch.net https://www.whois.com/whois/6ch.net 2000-03-01 Jim Watkins(N.T.Technology, inc)
7ch.net https://www.whois.com/whois/7ch.net 2000-03-01 Jim Watkins(N.T.Technology, inc)
8ch.net https://www.whois.com/whois/8ch.net 2000-03-01 Jim Watkins(N.T.Technology, inc)
9ch.net https://www.whois.com/whois/9ch.net 2000-03-01 Jim Watkins(N.T.Technology, inc)

では、5ch.net の過去の登録情報はどうなっていたかというと、インターネットアーカイブ上に 2017年5月16日づけのアーカイブが残っています。

http://web.archive.org/web/20170516051351/https://www.whois.com/whois/5ch.net

これをみると、registrant contact は Jim Watkins、Race Queen, Inc なので、やはり 5ch.net - 9ch.net を一括で取得していたことがわかります。

今回の5ch.netへの移管の実態は全く良くわからないけれど、単にドメイン名が変わっただけであり、なおかつ実質的な管理者も変わっていないんじゃないかなあ、という感じがしますよねえ。

Delphi/C++BuilderのVCLでPageControlをタブ抜きで使う

Delphi/C++BuidlerでVCLでアプリ作るときにPageControlを使うとタブでメニューを切り替えるような設定メニューを提供するのに便利だが、Windows10的なデザインにはそぐわないので、SplitView でメニュー表示しつつ PageContrtol で表示を切り替えることを考えた。

そういう場合に PageControl 自体が描画するタブは不要なので、消す場合のメモ。

  1. PageControl.Pages[].TabVisible をすべて False にする。これでタブ部分と PageControl 内の TabSheets がすべて消える。

  2. 表示したいタブを PageControl..ActivePageIndex に指定すれば、そのタブだけが描画される。

Google Spreadsheet のデータをタブ区切りテキストなどの形式でダウンロードする

自分用のメモ

Google Spreadsheetのデータを他のアプリで取り扱いたい場合の最もスタンダードな方法はGoogleAPI経由で取得する方法だと思います。

しかし、片手間で自分用に作るアプリから参照するデータソースとして GoogleAPI を真面目に実装してデータ取得するのは少々めんどくさい気分になります。

そこで「外部に漏れても構わないデータ」であることを前提として、Google Spreadsheet のデータをタブ区切りテキストなどのフォーマットでアプリケーションにダウンロードすることを試みます。

こんな形式でダウンロードできる

ざっと試してみると、こんな感じにURL変換すればダウンロードできます。文書を「リンクを知っている全員が閲覧可」にしておけば認証無しで取得できます。

形式 URL
元データ https://docs.google.com/spreadsheets/d/DOCUMENT_ID/edit#gid=GID
Excel(xlsx) https://docs.google.com/spreadsheets/d/DOCUMENT_ID/export?format=xlsx&gid=GID
ods https://docs.google.com/spreadsheets/d/DOCUMENT_ID/export?format=ods&gid=GID
PDF https://docs.google.com/spreadsheets/d/DOCUMENT_ID/export?format=pdf&gid=GID
CSV https://docs.google.com/spreadsheets/d/DOCUMENT_ID/export?format=csv&gid=GID
TSV https://docs.google.com/spreadsheets/d/DOCUMENT_ID/export?format=tsv&gid=GID
HTML https://docs.google.com/spreadsheets/d/DOCUMENT_ID/export?format=zip&gid=GID

あるいは、Google にログイン済みのブラウザで開くことでもダウンロードできます。

正規表現でASCII文字の記号にマッチさせる

データの集合からASCII文字の記号を除外する必要が出てきたのでパターンマッチを忘備録として記す。

このパターンマッチは [!-/:-@[-`{-~] と書ける。

これは以下の4つの範囲指定から成る。

範囲 対象文字 パターンマッチ指定
0x21 - 0x2F !“#$%&‘()*+,-./ !-/
0x3A - 0x40 :;<=>?@ :-@
0x5B - 0x60 [¥]^_` [-`
0x7B - 0x7E { }~ | {-~

ただし正規表現に慣れてない方向けには [!-/]|[:-@]|[[-`]|[{-~] と書いてあるほうが読みやすいかもしれない。

WindowsでProxy利用のon/offを切り替える処理をPowerShellで書く

……というタイトルの記事ですが、オリジナルの実装を自力で書くのではなく、以下のページの内容をありがたく使わせていただきます。

http://www.hsyntt.com/changing-proxy-server-settings-for-internet-explorer-using-powershell/

しかし上記のサイトはこの記事の時点では停止している(どうやら、DNSにレコードがない?)ようなので、やむを得ず、Wayback machine からサルベージを試みたのが以下のコードです。

自分の環境では、これを enable_disable_proxy_to_localhost_8080.ps1 という名前で保存して使っています。

このコードは実行するごとに自ホスト上の 8080 を proxy として使ったり、設定を無効にしたりできるので大変便利に使えます。

接続先の情報は NewProxy に記述しておけばOKです。

$regKey="HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
 
 
#Change Ip:Port to your Proxy Address:
$NewProxy = "127.0.0.1:8080"
 
#Gets the actual value of the proxy setting
$ActualProxy = Get-ItemProperty -path $regKey ProxyServer -ErrorAction SilentlyContinue
 
 
#Thanks to Aymeric Mouillé from blog.msdn.microsoft.com for those lines of code, I did some modifications on them
#Enables Proxy and changes Value, if Proxy is disabled
if([string]::IsNullOrEmpty($ActualProxy))
{
    Set-ItemProperty -path $regKey ProxyEnable -value 1
    Set-ItemProperty -path $regKey ProxyServer -value $NewProxy
 
    Write-Host Proxy is now enabled
    Write-Host New Value: $NewProxy
}
#Disables Proxy and deletes Value, if Proxy is enabled
else
{
    Set-ItemProperty -path $regKey ProxyEnable -value 0
    Remove-ItemProperty -path $regKey -name ProxyServer
 
    Write-Host Proxy is now disabled
    Write-Host Value has been deleted
}
 
 
 
 
#The following lines of Code prevents you from restarting I.E.. Otherwise you had to restart I.E. in order to take the registry changes
#Thanks to jvdp81 from blog.msdn.microsoft.com for those lines of code
$source=@"
[DllImport("wininet.dll")]
public static extern bool InternetSetOption(int hInternet, int dwOption, int lpBuffer, int dwBufferLength);
"@
 
#Create type from source
$wininet = Add-Type -memberDefinition $source -passthru -name InternetSettings
 
#INTERNET_OPTION_PROXY_SETTINGS_CHANGED
$wininet::InternetSetOption([IntPtr]::Zero, 95, [IntPtr]::Zero, 0)|out-null
 
#INTERNET_OPTION_REFRESH
$wininet::InternetSetOption([IntPtr]::Zero, 37, [IntPtr]::Zero, 0)|out-null
 
 
Read-Host Press Enter to close

iPhone7のモバイルSuciaで2017年9月末から新幹線にチケットレス乗車できる(ただしエクスプレス予約を除く?)

今月末(2017年9月)からは、SuicaPASMOなどの交通系ICカードを使って東海道山陽新幹線チケットレス乗車できるスマートEXが始まります。

このサービスは専用のサイトで会員登録することで東京-博多間の新幹線をオンラインでチケット予約できるようになり、なおかつ手持ちのSuica, PASMO等を登録するとチケットレス乗車もできる、というサービスです。しかもスマートEXの利用に年会費は不要です。

そして乗車直前(正確には乗車券受け取り前またはチケットレスで改札を通過する前)までは予約変更がインターネット経由で行えます。今まではみどりの窓口や券売機で切符を買っていた方は今後はスマートEXに移行したほうが利便性が上がりますね。

さて、このサービスについて調べているときに、興味深い情報を見つけました。それは iPhone7 や Apple WatchSuica がスマートEXのチケットレス乗車に利用できる、というものです。

appsuica.okbiz.okwave.jp

これがなぜ興味深いかといいますと、スマートEXの上位サービスであるエクスプレス予約では、現時点(2017年9月初旬)では iPhone, Apple WatchモバイルSuica東海道山陽新幹線チケットレス乗車に利用することはできないからです。

expy.jp

現状でモバイルSuica東海道山陽新幹線チケットレス乗車するには、以下の条件を満たすことが必要です。

expy.jp

なんだかわかりづらい話になるので表にまとめてみました。

クレジットカード 利用可能なチケットレス乗車サービス 乗車方法 iPhone/Apple WatchSuica対応 通常の乗車料金
一般のクレジットカード スマートEX(年会費不要) 手持ちのSuica, PASMO 利用できる 通常の片道運賃より200円安い
一般のクレジットカード エクスプレス予約(旧プラスEXからの統合、年会費 1,080円) 専用のICカード 利用できない 最大で1,480円安い
JR東海エクスプレスカードまたはJ-WESTカード エクスプレス予約(クレジットカードに付帯、年会費不要) 専用のICカード 利用できない 最大で1,480円安い
ビューカード エクスプレス予約(年会費 1,080円、ビューエクスプレス特約) モバイルSuica 利用できない(AndroidフィーチャーフォンモバイルSuica は利用可能) 最大で1,480円安い

ビューカードや一般のクレジットカードでエクスプレス予約を利用する方は年会費を負担しているにもかかわらず、年会費無料のスマートEXよりも低いサービスレベルのように見えてしまいます。料金面ではエクスプレス予約の方が割引が大きいのですけど、東海道新幹線の利用客のうち業務(出張)利用は多いでしょうから、そういう方はスマートEXにしたほうがモバイルSuicaで乗車できて便利そうです。

このあたり、なんとかならないものですかねえ。そもそも専用のICカードが必要というのが今の時代にはそぐわないので、エクスプレス予約でも手持ちのICカードで乗車できるようになってほしいものですが。


※2017年10月13日追記:2017年10月23日のSuicaアプリケーションのアップデートにより、エクスプレス予約でもiPhoneモバイルSuicaをIC乗車券として利用できるようになるそうです。

expy.jp

mac版のESET Cyber Security Pro を再インストールするとOSがフリーズする現象が出て難儀中...

私のMacbookは2012年に購入したものをOSバージョンアップを続けて使ってきたのですが、最近になって accountsd の Warinng が頻発するなど、マイナートラブルが出るようになってきました。

そこでSSDを綺麗にしたのち、TimeMachineのフルバックアップから復元してみました。

TimeMachineのフルバックアップからの復元は大変カンタンに行えたのですが、どうも復元後の AntiVirus 系の動きがおかしい。

AntiVirusには ESET Cyber Security Pro という製品を使っているのですが、こいつが有効な状態だと一部のサイトに接続できない事象が出ました。

そこで ESET Cyber Security Pro をアンインストールし、再度インストールしてみることにしました。

アンインストールの手順は基本的にココに出ている通りなのですが、要するに「インストール用のパッケージに含まれるアンインストーラを実行する」という作業を行います。

eset-support.canon-its.jp

その後、普通にインストールを試みたのですが、インストール完了後に「サーバとの通信エラー」が出てインストールが不完全な形で完了してしまいます。

この状態でOS再起動すると、macOSへのログイン後にいくつかの機能がフリーズしてしまい、実質的に使えない状態に。

こういう場合に取りうる方法は、セーフブート、SMCリセット、NVRAMリセットだと思うので順番に試してみたのですが、セーフブートだとフリーズは起きないので ESET の機能が何かと conflict している可能性は非常に高い。SMCリセット、NVRAMリセットは効果が確認できず。

support.apple.com

support.apple.com

support.apple.com

まあとにかくセーフブートだとフリーズしないので、止むを得ずセーフブートでアンインストーラを実行して ESET を消してみたら、その後は普通に使えるようになりました。

当面はこれで様子を見つつ、なんとかして ESET が再度動くようにしないと、とても困ります。。。