VPNつながらないと思ったらWiFiルータの設定が原因だった

Shrew Soft の VPN Client というソフトを使っているのだが、
"negotiation timout occurred"
というエラーが出て接続できない。

PC側でいろいろやってもダメなので、ルータが原因かと思い、WiFiルータの設定で「セキュリティ」というメニューを見てみると「PPTPパススルー」と「IPSecパススルー」それぞれについて有効か無効かの設定があった。今回の接続ではIPSecを使っているようだったので、IPSecパススルーを有効にすると無事繋がった。

複利計算(CAGR)

「72の法則」「114の法則」というのがある。(「なに?」「いいよ!」で覚えると覚えやすそう。) 但し、利率が小さい場合にしか使えない。利率が大きいと誤差が大きくなる。

3分LifeHacking:複利計算を“暗算”で行う - ITmedia エンタープライズ

利率がデカいとどうなるか、30%と50%で試算してみた。

30.00% 50.00%
3年後 2.2 倍 3.4 倍
5年後 3.7 倍 7.6 倍
10年後 13.8 倍 57.7 倍

軍隊の編制

軍隊の編制 - Wikipedia およそ
班、組: ピザ1枚 分隊(squad): ピザ2枚
小隊: 数十人
中隊: 数十〜数百人
大隊: 数百〜千人
旅団: 数千人 師団: 1〜2万人

一つ下の単位を2~6まとめたのが一つ上の単位らしい。
(2~6個分隊で1個小隊、とか)

IEが勝手に互換モードになった件

会社PCのIEでブラウズしてたら、勝手にIE5互換とかIE7互換になっているのに気づいた。 特定のサイトだけでなく、どのサイトみても互換モード。

<meta http-equiv="X-UA-Compatible" content="IE=edge">

て書いてあるページでも互換モード…

で、IEの「ツール > 互換表示設定」で「イントラネット サイトを互換表示で表示する」をOffったら治った。
イントラじゃない外部サイトでも互換表示になっちゃってたんだが…
会社PCのIEは自動構成スクリプトが設定されているので、そこでProxyが設定されてて、そこでおかしなことになってたのかな?

ExcelデータをSQLで処理(Microsoft Query)

VBA使った例もあるが、実はコード書かなくてもBIツール的に使えるらしい。

Microsoft Queryウィザードを使ってExcelのデーターを取り込む:エクセル2010基本講座

予め範囲に名前を付けておくと、Microsoft Query でブックを選択したら「使用可能なテーブルと列」のところに表示される。

なお、「外部テーブルの取り込み」で複数のデータソースをSQLで結合することはさすがにできなさそう。 (「ExcelデータとDBのデータをSQLで結合」とかちょっと期待したが、それはできない。Excel内でvlookup使えばできるが。)

トップレベルで定義された my と our

コメントに書いたような挙動となる。
myはパッケージが違うと参照できない。
ourはどこからでも参照できる。(但しパッケージを指定すること)

ちなみに、トップレベルのパッケージ名は"main"か、あるいは空文字。
よって、パッケージからトップレベルのグローバル変数"var"を参照する場合は $main::var とか $::var。

test.pl
#!/usr/bin/perl
use strict;
use warnings;

our $our_hoge = "hoge";
my $my_hoge = "hoge";

sub print_our_hoge() { warn $our_hoge; }
sub print_my_hoge() { warn $my_hoge; }

&print_our_hoge();
&print_my_hoge();

use test;

test::print_our_hoge(); # <- もちろん正常に動作。
test::print_my_hoge();  # <- もちろん正常に動作。
test.pm
package test;
use strict;
use warnings;

sub print_our_hoge() { warn $::our_hoge; } # <- 正常に動作。
sub print_my_hoge() { warn $::my_hoge; }   # <- エラー。

1;

あと、あまりやらないだろうが .pl を require で呼び出すときはこんな感じ。
myはファイルが違っても呼び出せない。
なお、ourはファイルが違う場合もパッケージ名付けないと呼び出せない。

test2.pl
#!/usr/bin/perl

our $our_hoge = "hoge";
my  $my_hoge = "hoge";

require 'test_sub.pl';
test_sub.pl
#!/usr/bin/perl
use strict;
use warnings;

warn $::our_hoge; # <- 正常に動作。
warn $::my_hoge;  # <- エラー。

1;