追記

tueda's diary


2018-12-08 tueda's diary

_ 予言: 改正入管法について

 改正入管法が可決されたようなので、予言しておく。

 特定第1号の在留上限5年は、2年後くらいに10年に伸ばす議論が始まり、4年後の期限ギリギリでまた強行採決されるだろう。これは5年後の政権が自民党であろうと、今後台頭してくるかもしれない保守系野党であろうと変わらないだろう。

 そもそも5年という上限値になんらかの根拠があるのかどうかが怪しい。「3年は短い、10年は長すぎる。じゃあ5年で良いんじゃね?」くらいの理由だと睨んでる。日本人は奇数が好きだ。

 だが現実問題として5年なんてあっという間である。恐らくこれから現場で「単純労働」でこき使われるひとが、たった5年で特定2号の試験に合格できるほど日本語や応用的な技能(そして日本社会の特質)を習得できる余裕があるとは思えない。とはいえ、5年もやればその分野の技能にはそれなりに習熟できる。それを手放してまたイチからやり直すのはもったい無い。

 きっとそんな話になるだろう。4年後には

二十歳で来日して、5年後は25歳。あと5年くらい日本で稼いで、30歳で母国で結婚しなよ。

 などというお為ごかしな会話がまかり通っていると予想するのである。


2018-12-03 Coworking Space Advent Calendar 2018

_ コワーキングスペースと勉強会とわたし

コワーキングスペースとわたし

 2017年12月より、大阪・天満にコワーキングスペース天満を正式オープンさせて頂きました。おかげさまでなんとかかんとか、1年運営することができました。応援下さった皆様には、感謝の気持ちでいっぱいです。


 そもそも私がコワーキングスペースというものを知ったのは2013年〜2014頃、今年がちょうど10周年になるSurvive SNSというグループの勉強会を、東京・茅場町のコワーキングスペース茅場町Co-Edoさんで開かせて頂いたことがきっかけでした。その後、仕事で週の半分を東京で過ごすようになり、空いた時間をCo-Edoさんで過ごさせて頂くようになりました。


 それまでは東京で空き時間ができると、電源の使えるカフェを探して徘徊した挙げ句、徘徊だけで空き時間が潰れるという事も多々ある「なにやってんだか」な状況でした。しかしコワーキングスペースを知ってからは、「ここから茅場町まで何分かかるか?」という事さえ把握していれば時間を非常に効率的につかえ、かなり生産性が上がりました。

勉強会とわたし

 そうこうしているうちにCo-Edoさんで毎月個人的な勉強会を開かせて頂くようになり、私にとって東京での生活・仕事にはCo-Edoさんはじめコワーキングスペースがなくてはならないものとなったのでした。


 勉強会…そう、勉強会といえば。20年くらい前に全国各地でオープンソースなコミュニティが盛んになったことがあって、大阪でもLinuxや*BSDなコミュニティが立ち上がり、盛んに活動していました(もちろん今でも多くのコミュニティ・グループが活動しています)。私もk*bugの設立に関わらせて頂いたり、関西オープンフォーラムというイベントの運営の末席を汚させて頂いたりしたご縁で、各種勉強会に参加させて頂き、また運営を担当させて頂くこともありました。


 当時、勉強会を開催するとなると一番困ったのが会場の問題です。貸し会議室を借りると費用がかかります。一定の参加者が見込める場合は参加者で頭割り、あるいは最初から参加費を設定しての開催も可能です。k*bugやk-ofの様な、ある種の「公共性」があるコミュニティやイベントの場合、メンバーに大学の先生やある程度の規模の企業の経営者がいたりして、会場を格安あるいは無償でご提供頂ける事もあるわけですが。個人が個人の趣味や想いを形にするようなイベント・勉強会ではそうもいきません。当時は勉強会を開催する敷居がとても高かったと思います。(そういう勉強会を各コミュニティでサポートしていこう、という機運もまた高かったのではありますが)

コワーキングスペースと勉強会

 その後、私自身は仕事に忙しく、なかなかコミュニティ活動にも参加できない時期がありました。そんな私をおいてけぼりにするかの如く、Survive SNSを通じてギークハウス的なプロジェクトがわき起こるのを横目で見、オフィスを飛び出したノマド族がカフェでMacを開き、さらにコワーキングスペースなるものが台頭してくる世の変遷を刮目もし瞠目もしていたのでした。


 そんな中、Co-Edoさんではドロップイン利用の形態で勉強会の開催ができる、そして参加者数にかかわらずひとりあたり1000円、しかも集金も会場でして頂ける!20年前、勉強会の会場確保と運営に四苦八苦していた(大袈裟)事を考えると正に隔世の感でした。

この福音を大阪にも!
オレは大阪でコワーキングスペースを運営するぞ!

と、まあ根っから楽天主義かついくつになっても若気の至りな私は思ったわけです。


 しかし皆さんご存じの通り、実は大阪にも老舗のコワーキングスペースさんが数多くありまして、各スペースの運営者の皆様のご尽力で、既に関西でも勉強会開催の敷居は非常に低くなっております。現に20年前にオープンソース界隈で一緒に活動していた某氏が主催する勉強会も、またここ数年ゲーム方面で活発に活動している某コミュニティの勉強会も、それぞれに拠点となるコワーキングスペースがあって活動をされているわけです。

じゃあもう、オレがやんなくても良いんじゃね?

と一瞬思ったのも事実です。それでもやっぱり。

  • 弊社オフィスのある天満・南森町地区は都心にしては人が多く住み
  • 若い人たちが自分たちの力でオシャレなカフェや小物店など
  • ただビジネスとしてだけではなく文化を感じさせる店を営んでます

 そんな地域のひとたちに、「コワーキング」という新しい働き方のカタチ、いやむしろ「コワーキング」という文化をお伝えできればなと思い、

敢えて2, 3週遅れで走り始めようじゃないの

と、小さいながらもスペースを開設させて頂きました。

コワーキングスペース天満

 弊スペースは本当にこぢんまりとしていて、勉強会利用で最大15-20人まで、ドロップインでゆったりご利用頂くには10人が限界かなという大きさです。幸い?、天満橋・南森町のちょうど中間地点という、交通の便が良いんだか悪いんだかという立地のおかげでたいてい空いてます(涙目)。


 ちょうどこのAdvent Calendarが成就するクリスマスまでは、土、日、祝はご予約なしのドロップイン利用は終日500円キャンペーンもやってます(たぶん、お正月が明けたら再開します)。少人数のお仲間で勉強会がしたいときなど、土日祝日に各々500円玉1枚を握りしめて集まって頂けば、プロジェクタ・スクリーンを使ったプチ勉強会も可能です。(ご予約で事前にお席の確保をいただく場合、本キャンペーンは対象外です。他の勉強会とバッティングしないかどうかはWebページのカレンダーをご参照ください。)


 私がコワーキングスペースの運営を始めた理由は、とにもかくにも、誰でも気軽に勉強会が開ける場所を提供したかった。それが、オープンソース界隈やコミュニティ活動から私が受けたご恩に感謝を示し、そしてこれまで受け取ったものを、次の世代にお渡しする事にも繋がると思ったから。


 最後にもう一度。大昔からコミュニティ活動を続けてきた皆さん、そして個人の力が最大限に発揮できる世の中にするためにご尽力頂いた皆さん、さらにはこれからもこの世界を支えて下さる皆さんに感謝を込めて。微力ながら私も頑張ります。


2018年12月3日
コワーキングスペース天満 https://temma.co
上田達也


※ この日記は、コワーキングスペース運営者限定アドベントカレンダー Advent Calendar 2018の3日目の記事として書きました。


2018-11-29 tueda's diary

_ 更新テスト

またもや久しく触ってなかったので、設定エラーが(;´Д`) ということで設定変更して更新のテストです。


2018-08-15 tueda's diary

_ 私がサマータイムを好きなたったひとつの理由

  • 夜更かししてても叱られない。

これに尽きる。

普通は暗くなってなお遊んでいると叱れるわけだが(これは子供だけではない。世の大多数のお父さんだって、夜遊びするとお母さんに叱られるのだ。でしょ?でしょ?)、日本の北海道あたりより高緯度な地方でサマータイムを実施すると、なんと、夜の10時頃でも明るかったりするのだ。

こんな時間まで明るいと、

  • 17時に退社
  • 18時から自宅で晩ご飯
  • 20時から近くの教会でコンサート鑑賞(あるいは出演)
  • 22時過ぎ、やっと暗くなったので村のパブに飲みに出かける

という、植木等もビックリなスーダラ生活ができるのだ!

こんな素敵なサマータイムを否定する意味が分からない。さあ、みんなでレッツサマータイム!

日本でサマータイム?は?残念!

とはいえ…

  • 緯度が低いとそもそも日没が早いので多少ずらしても楽しくない

ヨーロッパでもイタリアあたりまで下がると、実はあまり楽しくない。南ドイツもイマイチ。やっぱり北ドイツ以北でないと、サマータイム・スーダリズムの恩恵にはあまりあずかれない。

イタリアの場合、ローマ辺りでやっと東北くらいなんだよなあ…

日本でやって楽しいかどうか、推して知るべし。残念(ーー;)

2020年?は?地デジカ君に謝れ!

いや無理でしょ。地デジカ君は6年頑張ったんだよ!まだ推進キャラクタもいないのに1年や2年でできるわけ無いじゃん。バカじゃ無い?いやむしろ地デジカ君に謝れ!ヽ(`Д´#)ノ

真面目なひとはスーダラできないらしい、ごめんなさい

私や植木先生のようなスーダリストには地上の楽園・サマータイムゾーンなわけですが、真面目なひとには生活のリズムが崩れることで健康に不調を来すこともあるらしいです。

うーん、じぶんたちが楽しいから、という理由でひとさまを不幸にするのは本意ではないしなあ…どうせ我々は外が明るかろうが暗かろうが、スーダラしてるし、たまに真面目にしてても、ついうっかりいつものクセでお母さんには叱られるしなあ(ぁ)

結論

ということで日本でサマータイムは要らないんじゃないですかね。やっても良いけど、2020年とか2時間とか、ほかの皆さんに迷惑をかけるようなことは止めましょう。バカじゃ無い?って言われちゃうので。

我々はスーダラしているだけで、決してバカでは無いのです(ーー;)


2018-02-12 tueda's diary

_ DocDiff for OS X later Marvericks

ちょっと必要に駆られて日本語文章のdiffを単語や文字単位で取れるコマンドラインツールを探していたら,DocDiffというものを見つけた.非常に良く出来ているのだが,残念ながら開発が止まっている様だ.通常版は ruby 1.9 以前でないと動かないらしい.

OS X Marvericks 以降ではデフォルトの ruby が 2.0 になっているので,このままでは動かない.が,githubには ruby 2.x に対応したものが上がっているそうなので,そちらの記事を参考になんとか動かす事ができたので備忘録として記しておく.

  • master ブランチを zip で落とす
  • 落としたものから lib の下を自分の好きな場所におく (以下では${docdiff}/libとする)
  • 実行ファイルは bin/docdiff である.これも好きな場所に置く(同様に${docdiff}/bin/docdiffとする)

libはruby2.0のライブラリディレクトリの下に置いたら良いよとか,実行ファイルは /usr/local/bin の下にコピれば良いよとかあるのだが,Sierra 以降だとセキュリティ制約が厳しくなって,自分のホーム以外には(sudoしても)ファイルを置いたりパーミション変えたりが出来なくなっている.

なので,もういっそライブラリも実行ファイルも自分の好きな場所に配置して,

ruby -I ${docdifflib} ${docdiff}/bin/docdiff ファイル1 ファイル2

とかして実行した方がよっぽど楽である(し,ちゃんと動く).

なお,Yoseite 以降あたりの時期から gem でインストールもできるようになっているという事であるが,今回は試していない.DocDiff に少し手を入れる必要があったので,単純にソースコードを配置する方式の方が便利であった.

今回,大量のファイルをクロスチェックをする必要があったので,DocDiff には以下の感じで手を入れた.

  • 単語単位での一致率が一定の割合を超えた場合のみ差分を表示(正常終了)
  • それ以外は差分は表示せずに 1 を返す(敢えて異常終了)
  • Shell Script で戻り値をチェックして,差分表示があった場合のみファイルに落とす

ようにした.

余談

ruby をよく知らないのでとりあえず「一致率の閾値」をコマンドライン引数で渡すのではなくハードコーディングしてるとか,どういう基準で一致率を判定してるとかを公にしたくないとかの事情があって,今回はコードを公開しません(恥ずかしさ半分,大人の事情半分で).もう少し ruby が書けるようになったら整理して公開しても良いとは思うのですが.(DocDiff は BSD ライセンスらしいのでご勘弁).

もしかしたらmoodleで大量のドキュメントを収集する必要があるとか,集めたドキュメントの類似率を検証する必要があるとかいう方々には多少の役に立つかもしれませんので,ご興味を持たれましたら個人的にご連絡くださればと思います _o_


2018-01-16 tueda's diary

_ 連続する整数の和で表される整数

前回の【大阪・さんすう勉強会】 終了後に,参加者さんから質問を頂きました.とあるコースウェアでプログラミングの勉強をされているようで,そのお題についてでした.ざっくりこんな問いです(ちょっと変えてます).

  • 整数には,連続する整数の和で表すことができるものがある
    • 5 = [2 + 3], 18 = [3 + 4 + 5 + 6]
  • なかには複数の連続する整数の組み合わせが存在するものもある
    • 18 = [3 + 4 + 5 + 6], [5 + 6 + 7]

このように複数の組み合わせが存在するもののうち,ふたつ以上の組みが連続して現れるもの,たとえば

  • 3 = [1 + 2], [3]
  • 15 = [4 + 5 + 6], [7 + 8]
  • 27 = [2 + 3 + 4 + 5 + 6 + 7], [8 + 9 + 10] [13 + 14]

のようなものもある.このような正の整数を小さいものから順に表示するプログラムを作成せよ.

最初に聞いた時は「こんなの総当たりするしかないんじゃないの?」と思ってたんですが,なんと,ご質問者さんと勉強会参加者の方々が色々調べてくださって,実はこんな性質があることが分かりました.

  • 連続する整数の和で表される整数は,1以外の奇数の約数を持つ
  • この奇数の約数の個数だけ,和の組みが存在する
  • 具体的な組み合わせは以下の手順で求められる
    • 元の数を奇数の約数で割った商を中心に,割った奇数と同じ個数の連続した数を足すと元の数になる(0やマイナスもとりあえず並べる)
    • 小さい方がマイナスになる場合は,正の側と相殺する

参考: http://www.eikoh-seminar.com/echtas/blog/2015/10/post-224.html

ここまで分かれば,プログラムを書くのは簡単です.

戦略

以下の手順でプログラムを書くことにしましょう.

  • 与えられた数の,奇数の約数のリストを作る関数を作成する(総当たり)
  • そのリストで割った商を中心に,最小値と最大値だけを保持した配列を作る
    • 対象がその数自体の場合は単純にふたつに分ける
  • 配列が全部できたら,とりあえずまた総当たりで (最大値+1=最小値) となっているものを探す
  • 見つけたらそこで終了

実は質問者さんも最初,この戦略の事を仰ってたのですが,私が上記の性質を知らなかったのでちゃんと対応できなかったのでした.ゴメンなさい><;

コード(Java)

とりあえず私の手元ですぐに書けるのが Java だったので,Java で書いて見ました.戦略さえ立ててしまえば,コーディングには30分もかかりませんでした!(IntelliJ にだいぶ助けてもらってるからですけど(;´Д`))

いやー,算数の知識って重要ですね(ぁ)

import java.util.ArrayList;
import java.util.List;

/*
 * 解説
 * 連続する整数の和で表す事のできる整数は,1以外の奇数の約数をも ち,
 * そのような約数の個数分,和がその整数と同じ値になる連続ブロックを
 * もつ(らしい).
 * この時,奇数の約数(v)で元の整数(n)を割った値(c)を中心にし て
 * v 個の連続する数の和が n と等しくなる(ようだ).
 *
 * この性質は整数(負の数を含む)の範囲で有効であるが,今回は自然数
 * の範囲で連続性を見ることが条件なので,負の部分は正の部分と相殺す る.
 *
 */

public class Renzoku {

    public static void main(String [] args) {

        Renzoku r = new Renzoku();

        int count = 1;
        for (int n = 3; count <= 80; n++) {
            if (r.process(n, count)) {
                count++;
            }
        }

    }

    public boolean process(int n, int count) {
        boolean ret = false;
        ArrayList<MinMax> minmaxAll = new ArrayList<>();

        /*
         * 奇数の約数を求める(ほぼ総当たりだけど,loop は n の
         * 平方根までに押さえて,同じ loop の回数の中で反対側の
         * 計算もしている)
         */
        List<Integer> div = divisor(n);
        for (int v : div) {
            /*
             * 約数で割った数を中心に,最大値と最小値を求める
             */
            int c = n / v;
            int min = c - v / 2;
            int max = c + v / 2;

            /*
             * 元の数は単純にふたつに分ける
             */
            if (v == n) {
                min = n / 2;
                max = n /2 + 1;
            }
            /*
             * 最小値が負の数になる場合は正の側を相殺する
             */
            if (min <= 0) {
                min = min * -1 + 1;
            }

            /*
             * 区間の最小値と最大値だけを覚えておく
             */
            minmaxAll.add(new MinMax(min, max));
       }

        boolean isGot = false;
        for (MinMax minmax : minmaxAll) {
            for (MinMax minmax2 : minmaxAll) {
                if (minmax == minmax2) {
                    continue;
                }
                if (minmax.min == minmax2.max + 1) {
                    isGot = true;
                    break;
                }
            }
        }
        if (isGot) {
            System.out.println("Got!: " + count + ": " + n);
            ret = true;
        }
        return ret;
    }

    /**
     * 約数のリストを作る(奇数のみ)
     */
    public static final List<Integer> divisor(final int n) {
        final List<Integer> list = new ArrayList<>();

        for (int i = 1; i * i <= n; i++) {
            if (n % i == 0) {
                /*
                 * 平方根までしか見ないので,偶数であっても割った結果が
                 * 奇数になるものを掬う必要がある.
                 */
                if (i % 2 != 0) {
                    list.add(i);
                }
                int j = n / i;
                if (i != j && j % 2 != 0) {
                    list.add(n / i); // 逆向き
                }
            }
        }
        return list;
    }

    class MinMax {
        public int min;
        public int max;

        public MinMax(int min, int max) {
            this.min = min;
            this.max = max;
        }
    }
}

やっつけなので効率の悪いところや美しくないところは多々ありますが,そこは目をつぶるか,できたら綺麗に書き直してください(ぉ)

本日のツッコミ(全2件) [ツッコミを入れる]

_ いけばた [勉強会で質問させてもらった張本人ですw 解説ありがとうございます!解いてしばらくしたら、内容絶対忘れるので、解説し..]

_ うえお [ご参加ありがとうございました! 最近は日記ならぬ年記になっていたので,良いお題を頂いて良かったですw 来月もまた..]


2017-12-25 tueda's diary

_ 年記 #JAL

2017年確定FOP

前回の日記が,年末の確定FOP報告で,今日は今年初めての日記. みなさまあけましておめでとうございます(違)

今年最後のフライト分が本日確定しました.101回でもわんちゃんの行進はありません(ーー;)

去年よりは少し減りましたが,それでも良く乗りました.来年はもっと減る予定ですが,さて,ステータスの維持はできるのか?JALに払う金を考えるとDIAはちょっと厳しいかなあ...はてさて.


2016-12-31 tueda's diary

_ 今年もお世話になりました

JAL FOP 2016

ギリギリまで飛んでたので,今年の実績が今朝やっと確定.本当によく飛びました.すぐに風邪を引く私がこの2年間は,よくまあ大きくは体調を崩さずにやってこれたことです.プレミア解脱の時にも書きましたけど,ラウンジで休憩できるのが大きかったですね.

諸事情で1月はまた毎週飛ぶ事になってますが,2月以降ははてさて...とりあえず,せっかくのステータスを楽しめる程度の忙しさにすることが,来年の目標ですかね...とはいえ,止まると倒れるので(自転車操業),倒れない程度の巡航速度で頑張りたいと思います(ーー;)

来年もよろしくお願い申し上げます.


2016-10-03 tueda's diary

_ 到達

画像の説明

  今年もなんとか到達.毎週(ていうかそれ以上)の東阪往復が(しかも頻繁な予定変更が)ある身としては,ラウンジ利用,優先前方座席,優先空席待ちがあるのは「体力温存」という意味では本当にありがたいです.いつも言ってるけど,これ,新幹線だったらたぶん1年保ってないと思う.

  初めのうちはラウンジで仕事してたんだけど,結局,予定変更が多いとラウンジには10分とか15分しか居られない事も多くて,単なる休憩時間になってるわけです(後ろに仕事があって呑めないことも多い).これが意外と良かったかもしれない.休憩大事(´・ω・`)

  前方座席が優先的に取れると,早く降りられるので,バスなどの乗換待ち時間が短縮される可能性が高いのも助かります.伊丹から梅田までは乗換のないバスの方が断然楽だし,道が混まなければモノレール+阪急より速いです.

  優先空席待ちは言わずもがな.2,3日前の変更なら,だいたいクラスJの空席待ちは取れます.当日でも席を問わなければ確実に乗れる.金曜日の夕方の羽田とかエラいことになってるんだけど,それでも1時間後の便であればほぼ確実に乗れます.

  もちろんこれらの優先サービスはJGPでも同じなので,「仕事での移動で体力温存」という意味ではJGPで充分なわけです.

  ダイヤモンドとJGPの違いは

  • マイル積算率が上がる
  • 特典航空券が取りやすい(但し必要マイル数が上がる)

の2点だけ.まあ,ある意味「還元率」がダイヤモンドの方が高いと...但しここに至るまでにいくらJALに払ったかということを考えるとですね(;´Д`)

  下世話な話もしておくと,FOP単価はたぶん,普通に修行されている方の倍くらいかかってます.予定がしょっちゅう変更になるので,割引きっぷとか使えないんだもん(´・ω・`)

  来年度もこの生活が続くのかどうかは謎ですが,「飛行機に乗る」という新たな趣味ができて,人生がより一層楽しくなったのは確かなようですw


2016-09-07 tueda's diary

_ 日本は奴隷制度国家である

奴隷(どれい)とは、人間でありながら所有の客体即ち所有物とされる者を言う。 人間としての名誉、権利・自由を認められず、他人の所有物として取り扱われる人。 所有者の全的支配に服し、労働を強制され、譲渡・売買の対象とされた。 奴隷を許容する社会制度を特に奴隷制という。

wikipediaより引用

公僕という言葉がある.公務員は国民の僕(しもべ)であり,国民に奉仕する立場,職業であるという理由で,労働権が一部制限されている.とはいえ,公務員も国民であり,制限された労働権が補完されるべく,様々な制度が用意されている.何より,公務員には職業選択の自由がある.本人の意志で公務員を辞めることは,いつでもできる.完全な労働権(人権)を回復することができるのである.


さて,天皇および皇族である. 彼等には人権がない.当然ながら,労働権もない.日本国民の象徴(ならびに将来象徴となる候補)として地位と名誉は与えられてはいるが,その地位や職業を自らの意志で離脱(選択)することは許されていない. 国民の所有物であり,所有者の(定めた法律の)全面的支配に服し,労働を強制されるのである.彼等には,その立場,職業から自らの意志で離脱する術は無い(1).正に「奴隷」そのものであり,大きな手術を2度も経験した82歳という高齢者に,稲作労働あるいは能楽の舞に匹敵する重労働と想像される宮中での諸儀式をせしむるなど,老人虐待でさえある.


国民では無い(戸籍が無い)のだから,日本政府が彼等の人権を担保する必要はまったくない.とはいえ,生物学的には人間に属し,民族的にはおそらく日本民族に属するであろうと考えられる人々を,奴隷労働に駆り出し,さらには血統の保存のために皇族という隔離された家族の系統を保持するのは,まるで人間を家畜同然に扱っているようではないか.世界に冠たる法治国家,人権擁護を奉戴する民主主義国家としてはあるべからざる様態である.

即ち現在の天皇制を維持する限り,日本は民主主義社会などでは決して無く,奴隷制度を容認する社会であると言わざるを得ないのである.


1: 女性皇族の場合は「結婚」によって皇籍を離れるという制度があり,一応,本人の意志によって職業・住居の自由を得る事ができると言えるかもしれない.


総訪問者数: 本日の訪問者数: 昨日の訪問者数: