囚人トレ CC1

プリズナートレーニング。Amazonの履歴を見てみると今年の3月に購入となっている。
現時点の進捗。

胸・プッシュアップ

前から腕立は週1でやっていたので、片手腕立はできた。

しかし。
この本のstep10は全然違う。

おそらくこの本のstep10の写真の信憑性は。。。いや、奮い立たせてくれるところにこの本の魅力が在るのだと思う。
もっとも近い動画はこれかな。
https://www.youtube.com/watch?v=eGqvupCdOSE&t=1m39s
追記: 次のほうが近いかも
https://www.youtube.com/watch?v=MlRCAJbwjMs&t=1m5s
追記2: すごい!
https://www.youtube.com/watch?v=IkG8rCCXnE8
https://www.youtube.com/watch?v=TKxBRVQ00T4

動画

  • 胸に効くフォームになっている。
    • 右手が少しクローズプッシュアップのように内旋。
    • 上体が40度ぐらい曲がる。
    • 右足が傾いて浮いている。
  • 正面からの写真を撮ったとすると、真っ直ぐな体の横40度ぐらいに足が外に出るはず。

  • 肘・肩に効く?フォームになっている。
    • 足が揃っている。
    • 両足の幅も拳幅半分ぐらいで僅かである。
    • 上体が真っ直ぐ。
    • 右手も真っ直ぐ。
    • ボトムで脇が締まっている。手も胸のすぐ横。頭の横ではない。
  • 正面からの写真は真っ直ぐに見える。
  • 上下の写真の右手とフロアの木目がズレている。

本のフォームは、今のところ出来そうにない。このフォームの動画も見付けられなかった。

胸に効かせるのであれば、肩幅ぐらいに足を開いて、手で二等辺三角形のような三点支持をして行なうのがよいかもしれない。
https://www.youtube.com/watch?v=hEMXbKVukUg&t=17s

ブルースリーは外側に手を置いている。頭頂の横。
https://www.youtube.com/watch?v=Xu2Xc_a71wI&t=3s

フォームに厳格なら、おそらくCC1の中で一番難しい。

足・スクワット

小学生か中学生のころに、宮川道場を見学させてもらった際に皆さん普通に軽々やっていました。
帰宅してやってみるとグラグラしてまともに出来なかった記憶があります。
この本で再会するとは。。。

step10の後は、手を後で組むのに惹かれています。
https://www.youtube.com/watch?v=1-Yuq9pD7JY&t=1m14s
シュリンプよりずっと難しい気がしています。

背・プルアップ

これまで懸垂は全くやってきませんでした。

ワンアームプルアップはまだまだ遠そうです。
やっとネガティブホールドで数秒止まれるようになったところです。

自衛隊式懸垂だと15回でした。

腹・レッグレイズ

前からクランチは週1でやっていたので、レッグレイズはできました。Vレイズや、Vシットもできました。
最初の頃は限界前に前腕や肩が辛かったのですが、CC2の前腕トレが早々に効果があったのか、今は腹に集中できています。

クランチは腹直筋上部、レッグレイズは腹直筋下部とのことです。
レッグレイズに変えてから、どこの効いているのか分かりませんが、上が張って下が引っ込んだ気がします。

レッグレイズをやっていると、魔裟斗さんの動画が頭をよぎります。
https://www.youtube.com/watch?v=5u4o5msitOs

自分は1repに倍ぐらい時間を掛けてるのですが、どうなんでしょう。
(多くの動画は魔裟斗さんぐらいのテンポです)

立ちコロは背中や腰を痛めないように気をつけます。

クランチはもう限界と思っても、もう1rep出来ることが多いのですが、レッグレイズは出来ないことが多い。不思議です。

脊・ブリッジ

関連するものは床でのバックエクステンションぐらいしかやっていませんでした。
クロージングブリッジが出来るようになりました。

CCではブリッジを一番重要なエクササイズとしていますが、そう思います。

ゲッコーブリッジを練習していると、背面がよく鍛えられる気がします。
片足や片手を浮かせた、3点でブリッジに入るバリエーションも試しています。
https://www.reddit.com/r/bodyweightfitness/comments/5u0les/bridge_progressions_for_lower_back_and_pushing/

肩・ハンドスタンドプッシュアップ

最初は逆立ちして、傍からは分からないぐらいにしか肘を曲げることができませんでした。

頭頂が床に付くところまで出来てきました。

僧帽筋から首筋の後が鍛えられすぎるのかもと思っています。
首を回すと、なんか首筋後の筋肉が厚い気がするのですが。。。おおげさかな。

いずれは補助なしでやってみたい。

step10は出来るのでしょうか。。。動画は見つかるのですが。。。
https://www.youtube.com/watch?v=uue1ZvMAeRw&t=9s
この動画の最初で人間業じゃない動きをしているんで、やっぱりこれも。。。

腹斜・フラッグ

なかなか場所が無いと思いますが、これで練習できてます^^
突っ張りボーイ 山ちゃん (サポートリフター) YM-1629 Pole Smith

その他

自重は。

  • どこでもできる。今できる。
  • スキマ時間でもできる。
  • 使用する道具が僅か。
  • いつでもできる。休める。マイペース。
  • 出来ない動きが出来るようになる。徐々に少しずつ出来るようになっていってるのが分かるので、楽しい。
  • 工夫や知識が次第に養われる。

CC1,CC2 を通して肩を使うトレーニングが多い気がしていています。
自分が今のところ弱いのか、分割法が向いていないのか。。。

Geo::IP だと日本と判定できてた普通のプロパイダのIPが
GeoLite2 だとフランスになっちゃう。。。

# fgrep p5-Geo-IP /usr/ports/MOVED
net/p5-Geo-IP||2019-02-16|Has expired: Uses legacy GeoIP 1 format which no longer works; switch to GeoIP 2 where possible

ということで乗り換えたのだけど、つらみ。

しかし https://www.maxmind.com/en/geoip-demo だと日本となるな。。。

Geo::IPfree だと日本となるぞ。。。

freebsd-update の components 推測

base.txz しか展開していない jail で kernel/generic が coponents として検出される。

# freebsd-update -b /jails/jail1 --currently-running 11.1-RELEASE -r 11.2-RELEASE upgrade
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 11.1-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic world/base

The following components of FreeBSD do not seem to be installed:
kernel/generic-dbg world/base-dbg world/doc world/lib32 world/lib32-dbg

Does this look reasonable (y/n)?

kernel/generic は次に因るらしい。
https://github.com/freebsd/freebsd/blob/d946d8f14c81df5c94524f0c759db84880bbcae8/usr.sbin/freebsd-update/freebsd-update.sh#L2230

STRICTCOMPONENTS の出番なのかなぁ。

Perl黒魔術 Import::Into ほか

MyApp::Web::Controller::* や
MyApp::Form::* など
名前空間によってインポートするメソッドやベースクラスの定型を
MyApp::Class に纏めてみます。

package MyApp::Class;

use strict;
use warnings;
use feature qw(:5.10);

use B::Hooks::AtRuntime qw(after_runtime lex_stuff);
use File::Spec;
use Import::Into;
use Module::Runtime qw(require_module);
use String::CamelCase qw(decamelize);

my $APP_CLASS = __PACKAGE__ =~ s/::Class$//r; # MyApp
my $APP_HOME  = Cwd::realpath(File::Spec->catdir(File::Basename::dirname(__FILE__), "../.."));
my @COMMONS = (
    [ "Module::Runtime", qw(require_module use_module) ],
);

sub import {
    my ($caller, $filename) = caller;
    $filename = Cwd::realpath($filename);

    if ( $filename =~ /$APP_HOME/ ) {
        my $rel = File::Spec->abs2rel($filename, $APP_HOME);
        # lib/ 以下では package の記述を省略 lib/MyApp/Web/Controller/Root.pm -> MyApp::Web::Controller::Root
        if ( $rel =~ m{^lib/(.*)} ) {
            my $pkg = $1 =~ s{/}{::}gr =~ s/\.pm//r;
            unless ( $caller eq $pkg ) {
                # require B::Hooks::Parser;
                # B::Hooks::Parser::inject("; package $pkg;");
                lex_stuff "; package $pkg;";
                $caller = $pkg;
            }
        }
    }

    # uss utf8; use strict; use feature qw(:5.10) を省略
    utf8->import;
    strict->import;
    feature->import(':5.10');

    my %seen;
    my @loads;
    my @imports;
    my @extends;

    if ($caller =~ /^${APP_CLASS}::Web$/) {
        push @imports, ["Moose"];
        push @extends, ["Catalyst"];
    }
    elsif ($caller =~ /^${APP_CLASS}::Form\b/) {
        push @imports, ["HTML::FormHandler::Moose"];
        push @extends, ["HTML::FormHandler"];
    }
    elsif ($caller =~ /^${APP_CLASS}::Web::Controller\b/) {
        push @imports, ["Moose"];
        push @extends, ["Catalyst::Controller"];
    }

    for my $pkg (@loads) {
        require_module($pkg) unless $seen{$pkg}++;
    }
    for my $args (@COMMONS, @imports) {
        my ($class, @args) = @$args;
        require_module($class) unless $seen{$class}++;
        $class->import::into($caller, @args);
    }
    for my $args (@extends) {
        $caller->meta->superclasses(@$args);
    }

    # 律儀に autoclean するには
    # namespace::autoclean->import( -cleanee => $caller );

    # namespace::autoclean だと遅い場合は次でもおけ
    # namespace::clean->import(
    #     -cleanee => $caller,
    #     -except  => 'meta',
    # );

    # Controller は自動で namespace を設定する
    if ( $caller->isa('Catalyst::Controller') ) {
        # use MyApp::Class の最後 1; の後のランタイムフェーズで評価するには after_runtime {}
        after_runtime {
            unless ( exists $caller->config->{namespace} ) {
                my $suffix = Catalyst::Utils::class2classsuffix($caller);
                state $map = {
                    "Controller::Root" => '',
                };
                $caller->config->{namespace} = $map->{$suffix} // decamelize $suffix =~ s/^Controller:://r;
            }
        }
    }

    # 自動で __PACKAGE__->meta->make_immutable
    if ( $caller->isa('Moose::Object') and $caller->meta->is_mutable ) {
        after_runtime {
            $caller->meta->make_immutable;
        }
    }
}

1;


@INC を弄ったり、ソースフィルタを使えば use MyApp::Class も削れるかも。

動くやつは こちら

CentOS6 だと思って /etc/sysconfig/i18n を書き換えても、戻っちゃう。

管理画面からは、初期設定時の Wizard からしか変更できない?

# cat /usr/sausalito/codb/objects/1/.productLanguage
ja_JP
# echo en_US > /usr/sausalito/codb/objects/1/.productLanguage

上じゃだめだった。

管理画面の admin の個人プロフィールの言語設定が
/usr/sausalito/codb/objects/1/.productLanguage
/usr/sausalito/locale
/etc/sysconfig/i18n
に反映されるらしい。。。

いつも嵌るので。

grep eth /usr/sausalito/codb/objects/*/.device すると eth0:0 などが見付かるので、直接そこを弄れば解決する。

# grep eth /usr/sausalito/codb/objects/*/.device
/usr/sausalito/codb/objects/11/.device:eth0:0
/usr/sausalito/codb/objects/168/.device:eth2
/usr/sausalito/codb/objects/2/.device:eth0
/usr/sausalito/codb/objects/3/.device:eth1

気軽に再起動できない環境では、気を付けてください。

vm-bhyveでBlueOnyxを動かす

* pkg install vm-bhyve grub2-bhyve
* zfs create zroot/vm
* sysrc vm_enable="YES"
* sysrc vm_dir="zfs:zroot/vm"
* service vm start
* vm switch create public
* vm switch add public alc0
* cp -p /usr/local/share/examples/vm-bhyve/*.conf /zroot/vm/.templates/
* vm create -t centos6 -s 30g bq-5208r-6.9

* fetch http://updates.blueonyx.it/pub/BlueOnyx/ISO/BlueOnyx-5208R-CentOS-6.9-20171025.iso
* mdconfig -f ~/BlueOnyx-5208R-CentOS-6.9-20171025.iso
* mount -t cd9660 /dev/md0 /mnt
* ack -C5 kick /mnt/isolinux/isolinux.cfg # grub2-bhyve で BlueOnyx のCDブートメニューを出す方法が分からいので直接選択

label linux
  menu label Install BlueOnyx 5208R (Default Partitions)
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=cdrom:/ks/kickstart.cfg
label small
  menu label Install BlueOnyx 5208R (Small Servers)
  kernel vmlinuz
  append initrd=initrd.img  ks=cdrom:/ks/kick_small.cfg
label expert
  menu label Install BlueOnyx 5208R in Expert Mode
  kernel vmlinuz
  append initrd=initrd.img

* umount /mnt
* mdconfig -d -u md0

* vim /zroot/vm/bq-5208r-6.9/bq-5208r-6.9.conf

loader="grub"
cpu=1
memory=1G
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"

uuid="212f5391-848b-11e9-840d-fcaa14e24f0e"

network0_mac="58:9c:fc:03:19:05"
network0_switch="public"

# grub> cat (cd0)/isolinux/isolinux.cfg
grub_install0="linux /isolinux/vmlinuz ks=cdrom:/ks/kickstart.cfg"
grub_install1="initrd /isolinux/initrd.img"

# grub> cat (hd0,msdos1)/grub/grub.conf
grub_run0="linux /vmlinuz-2.6.32-696.13.2.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 console=ttyS0 crashkernel=auto rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM"
grub_run1="initrd /initrd-2.6.32-696.13.2.el6.x86_64.img"

* vm install bq-5208r-6.9 ~/BlueOnyx-5208R-CentOS-6.9-20171025.iso
* vm start bq-5208r-6.9

追記 BlueOnyx-5209R-CentOS-7.7-20191010.iso 用

grub_install0="linux /isolinux/vmlinuz inst.ks=hd:LABEL=BlueOnyx-5209R-x86_64:/ks/kickstart.cfg initrd=initrd.img inst.stage2=hd:LABEL=BlueOnyx-5209R-x86_64 rd.live.check quiet net.ifnames=0 biosdevname=0"
grub_install1="initrd /isolinux/initrd.img"

grub_run_dir="/grub2"

perl adv
perl adv