あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

このブログには広告が含まれます

統合失調症とはかくも恐ろしいものである

1年くらい前から近所の噂や嫌がらせと戦ってきた。

朝は3時あたりからうわさ話で目が覚め、ベッドでごそごそしていると「あ、起きたね」などという声が聞こえた。

夜にはテレビを見ていると「○○(テレビ番組の名前やテレビ局の名前)見てる」などと言われ、寝室へ行くのに居間の電気を消すと「寝るわ」などという声が聞こえた。

見えてはいないが声や音は常に聞かれていて、風呂場やトイレに入るのも知られていた。

風呂にいつ入る、トイレの回数が多いなど家の中の様子が筒抜けになっており、そのことを近所同士で話しているのが聞こえていた。

一日中がこの調子なのである。

盗聴器を探して、受信機や盗聴発見器などを買って調べたりした。

家の工事をしてもらったことがあるためにそのときに壁や屋根の下などに盗聴器をつけられた、これは取り出せないと考えたりもした。

畳を外して床下に潜り込んだこともあった。

もちろん、この間、定期的に通院し、医者から薬を処方してもらっていた。

しかし、声は消えなかったのである。

薬を飲んでも消えないことで、現実にそのような噂や嫌がらせをされているのだと、確信した。

そして、あるとき、予想だにしないことが起こったのである。

朝、筋肉が収縮して跳ねるような状態になって、目が覚めた。

すると、「何やってるの?」「電気ショック与えている」などという会話が聞こえてきた。

気にせず、もう一度、眠ろうとすると、再び筋肉がガクガクと震えだした。

遠隔から電磁波のようなものが当てられているのだと思った。

調べてみると電子レンジの部品を使ったマイクロ波を出す装置の情報が見つかった。

Electronic Harassment Information - Technical Surveillance Counter Measures (TSCM). Advanced Electronic Security Co.

「脳への電磁的攻撃」:禁止判決と対策サービスも | WIRED VISION

これは実際に売られたり、自作することができ、これを使った実験動画がYouTubeにいくつも公開されている。

www.youtube.com

www.youtube.com

10代か20代前半くらいの人がこんなものを作っているのを見て、自分もこのようなもので攻撃されているのではないかと思った。

もちろん、統合失調症の人たちが電磁波という妄想を抱くことは良くあることなので、自分もそうなってしまったのだと落ち込み半分で、現実ではない可能性を考えた。

そもそも電磁波の強さは装置と対象物との距離の二乗に反比例するので、そんなに遠くまでは届かないはずなのである。

そうは考えてみたものの、自分が現実に体験しているのだから、現実ではないと思いようがなかった。

それからは本当に悪夢の日々だった。

眠ると1時間や30分おきに電気ショックで起こされるのである。

あるときは突き刺すような傷みで目が覚めると、「おはよう」などという声が聞こえるのである。

またあるときには、30分どころか15分おきくらいに電気ショックを浴びて、眠ることもできなかった。

そのような嫌がらせをしている中学生か高校生くらいの男がいて、そのような嫌がらせや工作活動に興味を持った彼の友人と思われる男たちが集まって、私を実験材料のようにして、電気ショックを与えて、面白がっていたりしている会話が聞こえたりした。

そのような状況で1時間眠れれば良い方というほぼ睡眠できない状況が3,4ヶ月も続いた。

病院でそのことを話して、幾つか薬を試したが状況は変わっていなかった。

しかし、先日、セロクエルという薬が処方され、それを飲んでみたところ、上に書いたような状況はほぼ無くなったのである。

嘘のようだった。

電気ショックを与えて喜んでいる男もいなければ、盗聴してうわさ話をしている人もいなかったのである。

この事実に愕然とした。

近所のうわさ話については、夜に声が聞こえて、カーテンをあけて外を見た時にうちの前の道路に男がこちらを見ながらニヤニヤして立っていて、玄関に回って外に出て確認すると、向かいの家に入っていくのが見えたことがあり、そのあとから噂がひどくなったことがあるので、完全に妄想とは言えない。

実際、私は聴覚過敏の傾向があり、待合のスペースから、ドアを隔てた診察室の中の会話が聞こえ、医者に話したところ、会話の内容があっていたということがある。

しかしながら、セロクエルを飲む直前まで遭遇していた盗聴や電気ショックというものは、完全に幻聴、幻覚だったのである。

統合失調症の症状が悪くなったのだろう。

盗聴されているとか、噂されているなどといったものは幻聴なので、以前からあったし、統合失調症と診断されたのもその幻聴があったためだ。

しかし、電気ショックを受けていたという体験はこれまでしたことがなかった。

幻覚を感じるくらいまで病気が進行していたらしい。

特にこの電気ショックというのが幻覚だったという事実はなかなか受け入れがたかった。

幻聴もそうだが、幻覚は本当にリアルで現実に筋肉が収縮して跳ねるし、突き刺すような傷みを感じる、それで目が覚めるくらいなので、「本当のことでない」などと言われてもどうにもならない。

引きこもりする人で電磁波的な何かのせいで家にいられず、野宿をしている人の話があったが、彼ももしかすると私と同じような症状なのかも知れない。

diamond.jp

統合失調症というのは本当に恐ろしいものである。

以下のサイトで幻聴体験とはどのようなものか紹介した動画を見ることができる。

www.mental-navi.net

本人にとって、幻聴、幻覚は現実の声や体験と区別がつかないので、「それは幻聴だ」などと言っても意味がない。

また、不祥事などを起こしてメディアに追いかけられた人が、極端に人を恐れたり、逆に鬼の形相でカメラに襲い掛かってくるのをテレビで見たことがあると思う。

否定的な意味で注目をされ、四六時中追い掛け回されるという体験をすると、普通の人よりもメンタルが強いと思われるような政治家や芸能人、経営者などであっても、そのような心理状態になってしまうのである。

だから、幻聴、幻覚で苦しんでいる人に「本当でないのだから気にしなければ良い」などと言うのは、無責任で苦しんでいる人をさらに傷つける行為だということを覚えておいて欲しい。

また、もう一つ、家族や周辺の人が知っておくべきなのは、うつ病など他の精神疾患でもそうだが、病院へ行けばすぐに良くなるものではなく、その人にあった薬やその量を見つけるのに、相当長い時間がかかるということだ。

組合せ論で考えてみればわかるが、薬を処方してもらって飲んでみて、数ヶ月して効いたかどうか判断し、効かなければ別の薬を試してみるというトライアンドエラーを繰り返すのだから、効果が感じられる薬や治療法に出会うまで数年かかってもおかしくない。

そのくらい大変なものなのである。

治療を受けていない周囲の人間がしびれを切らすようではいけない。

症状の進行によって、使っていた薬が効かなくなったり、量が十分でなくなったりすることもありうる。

今回のことで統合失調症は治るということのない病気なんだということを改めて認識した。

ともかく、私の長い長い悪夢の日々はようやく終わった。

しばらくはこの穏やかな日々を味わいたい。

ロッカーを買った。段ボール箱2つ分で足りる人生

先日、ネットで注文したロッカーが届いた。

組み立て式だ。

ちょっと説明書が不親切でそれぞれのパーツの上下が良くわからず、最初の段階からかなり躓いた。

本来は2人で組み立てるものらしいが、何とか1人で組み立てた。

そのあと、段ボール箱2つ分の中に入っていたの本や、学生時代のノート、教科書、そしてビデオテープをロッカーに移した。

ギチギチにすきま無く詰め込んでいたので重さがかなりあり、重ねて置くこともできなかったので、部屋の真ん中のスペースを占領していたのだ。

ロッカーは高さが190cmくらいあり、高さ方向のデッドスペースを有効利用できることになる。

中身を段ボール箱からロッカーに移してみると半分から2/3程度のスペースが埋まった。

多いようだが少ないようでもある。

なんといっても私の持ち物の大半はこれだけだと言うことになるのである。

東京で統合失調症を発症した時に、そのまま部屋に置いてきてしまい処分されてしまったもの(CDなど)があるが、それを除けば、段ボール箱2つ分で事足りる人生だということになる。

ちょっと寂しい気持ちになった。

しかし、昔の教科書やノートを片付けていて、もう一度、勉強したい気持ちにもなった。

部屋も片付いて、ちょっと新鮮な気持ちにもなった。

ロッカーを一人で組み立てて、完成させることができ、自己肯定感も得られた。

段ボール箱がなくなり、部屋にはテーブルが置けるスペースができた。

またここから何かを始めてみたい。

気になるJavaの問題を見つけたのでpaiza.IOで試してみた

こんなツイートを見つけた。

int a=1;
int b=++a;
System.out.println("a+b" + a+b);

の答えはどうなるか?という問題である。

本来の狙いはSystem.out.printlnのカッコの中の

"a+b" + a+b

のところが、最初に文字列があるのでそのあとの + 演算子が算術演算子ではなく文字列の連結を意味するという引っ掛け問題だ。

ツイートにはその後のやり取りで答えが書かれていて、ツイートの主によれば答えは

a+b12

だという。

私は引っ掛けに見事に騙されたが、答えが違う気がした。

コードをブラウザ上で実行できるサイトはいくつかあるが、その一つであるpaiza.IOで調べてみることにした。

Web-based online coding environment | paiza.IO

以下が実行結果である。

Web-based online coding environment | paiza.IO

答えは

a+b22

である。

考えてみれば、当たり前で++というインクリメンタル演算子でaの値は1が加算されて2になるはずである。

そして++の位置はaの前なので、bの値はaが2になったあとでそれが代入されたものになる。

とするとaもbも2になる。

ツイッターで間違っていると指摘したのだが、無反応だった。

FF外だから仕方がないかもしれないが。

とりあえず自分の考えが合っていたのがわかって良かった。

この文字列のあとの + が算術演算子にならないという引っ掛けにハマる人は結構多いようだ。

System.out.println("A"+a+b);

System.out.println("A"+(a+b));

とすれば、a+bは数値として加算される。

ちょっと気になった時に、気軽に試せるpaiza.IOは便利だ。

この問題もやってみた。

for文の3番目の書き方がおかしい。

多分、i = i + 2だと思う。

答えの出力の「"答え=“a」もおかしい。

文字列を連結しないといけない。

もろもろ修正して

int b = 9765625;
int a = 0;
    for(int i = 101; i < 1101; i = i + 2) {
        a = b * i;
        if(全ての桁数が奇数か調べる関数(a)) {
            System.out.println("答え = " + a);
        }
    }

これをif文なしで走らせてみたらintが最大値を超えてマイナスの値になってしまう。

Integer (Java Platform SE 8)

intやlongの最大値、最小値 - unsigned

2^31 - 1 = 2147483647

以上はマイナスの値になる。

多分、問題は正の値について考えるのだろうから、aとbはintではなくlongにした。

全ての桁数が奇数か調べる関数(a)をcheck(a)として、関数を作った。

全ての桁数という意味が良くわからないが、各桁の数について奇数か偶数か調べて、全てが奇数ならtrueを、一つでも偶数ならfalseを返すのだと解釈した。

各桁の数を抜き出すには以下のリンクの方法を使った。

複数桁10進数の*桁目だけを抽出したい - C言語・C++・C# 解決済 | 教えて!goo

a = (value % 10);
value /= 10;

1桁目は素直に10で割ったその余りがその数。

2桁目は10で割った答えとそれを10で割った余り。

と順にやっていく。

全部、合わせてこんな感じにしてみた。

public class Main {
    public static void main(String[] args) throws Exception {
        // Here your code !
        long b = 9765625;
        long a = 0;
        for(int i = 101; i < 1101; i = i+2){
            a = b*i;
            if(check(a)) { 
                System.out.println("i = " + i);
                System.out.println("答え = " + a);
            }
        }
    }

    static boolean check(long a) {
        int value = 0;
        boolean isOdd = true;

        while(a > 0) {
            value = (int)(a % 10);
            isOdd = (value % 2 != 0);
            if(!isOdd) break;

            a /= 10;
        }

        return isOdd;
    }
}

実行結果はこれ

Web-based online coding environment | paiza.IO

i = 327
答え = 3193359375

一つしかないらしい。

合っているかどうかはわからない。

久しぶりにJavaをやってみた。

あと

こういうのもあったので、これも試してみたが8.0になった。

Javaのバージョンや実行環境にもよるのだろう。

これも面白かった。

017と書くと8進数を意味する。

なのでaの値は10進数で15(浮動小数点の値を表すdoubleなので正しくは15.0)。

017.0だと通常の10進数の少数になって頭の0は無視される。

だから、a = 15.0とb=17.0を比べるとbの方が大きい。

よってa > b はtrueとなる。

0x17と入力すると16進数を表すので、これは10進数の23になる。

記憶とちょっと違ったのがこれ。

String a = "abc";
String b = "abc";
System.out.println(" a == b : " + (a == b));
System.out.println(" a.equals(b) : " + (a.equals(b)));
System.out.println(" a == \"abc\" : " + (a == "abc"));

これは本来はa == bはfalseになるべきだったはずだと記憶しているのだが、間違っていただろうか?

文字列変数としてのaとbは別なので、a == bはfalseになり、中身の文字を比べるための関数equals()で比べて、trueを得るのだったと思う。

“abc"がプールされて、共通に使われるためにこれを共通に参照するaとbは、a == bでもtrueになってしまうんだったと思う。

a == “abc"も同じか。

String b = new Stirng(“abc”)とするとaとbとは別になるので、a == bはfalseになる。

CodeCampではJavaやAndroid開発などプログラミング言語が勉強できる。無料体験あり