sigmaの日記

日々思ったことをつらつらと書きます。

[macOS] [error] NSrect has no member fill

swiftでアプリ開発をしているのだが、Apple提供のsample codeにバグがある。

developer.apple.com

このエラーは、swiftのバージョンが違うためにおこるエラーのようだ。

そもそも、legacy swiftを使えと指示があるのだが、build settingsでlegacy swiftをYesにしてもうまく動かないらしい(未検証)。

qiita.com

リンク先で解決法が示されている。それに従ったところ、標題のエラーがでた。

 

これを解決するには、

 

NSColor.white.set()
self.bounds.fill()

 

NSColor.white.set()
NSRectFill(dirtyrect)

 

とすれば良い。

 

 

他人が働いていないときに働きたい

 みんなで一緒に仕事をすると、人が気になって集中できない性質(たち)です。隣の席で人が作業しているだけで、結構妨害になると思いませんか。今、オフィスにパーティションが無くて、さらに席と席の間の距離が近いので、余計にそう感じるのかも知れません。いわゆる、集中力がそがれるという状態です。でも、集中力ってそんなに大事でしょうか?ひとつのことに専念してそれ以外は考えない、というのが、人間が仕事をするときのベストな状態だとはあまり思えないのですが。それに、我々平民は、日々の雑事に追われていますから、ひとつのことを考え続けるなどという贅沢な状況は、ふつう許されません。やれ会議だ、委員会だと呼ばわれて、宿題が積み重なります。

 実のところ、大事なのは集中力ではなくて、単に周辺環境だと思います。例えば、日曜とか早朝とか、あまり人のいない時間帯に仕事をするとすごくはかどります。でも、ひとつのことにずっと集中しているわけではありません。iPhoneでゲームをしたり、アプリで遊んだりしながら、時々プログラムを直し、また走らせ、ということを繰り返しているのです。でも、進むのが早いし、仕事の質も良くなっています。平日の人が多い時間帯だって、似たようなことをやっているはずなのですが、あまり仕事が進まず、質も悪いという気がします。つまり、どちらも、集中しているわけではありませんが、周囲に人がいない、という環境が、良い仕事をするためには必要条件だということでしょう。これは経験的なもので、理論的裏づけはありません。朝型、夜型ということについても考察したいですが、それはまた次回。

linuxで外付けHDDをマウントしてrootでなくても書き込み可能にする方法

 今日はくだらないTipsの紹介。

 この文章どおりにやったけれど、うまくいかなかったり、逆に変なことが起こったりしても、私は一切の責任をとりません。もしこれに従うなら、そのつもりでやってください。私はUbuntuでやりましたが、他のOS(Cent OSとか)でもだいたい同じはずです。備忘録的なことしか載せていません。もし分からないことがあったら自分で調べてください。

 linuxでは、HDDをUSB接続しただけでは、マウントされない。認識はされるかもしれないが、ファイルツリーにHDDが表示されない。マウントとは、外部デバイスをファイルツリーに表示させ、操作可能にすることである。

 マウントするために必要な作業は以下のとおりである。

1。マウンティングポイントを作成する。

2。外付けHDDを接続して認識させる。

3。デバイスファイルを確認する(Ubuntuデスクトップ版ならばDiskというアプリで可能)。

4。マウントする。

 具体的なコマンドのサンプルは、

mkdir /media/hdd_1tb

mount /dev/sdb /media/hdd_1tb

 これでOK。/dev/sdbはデバイスファイル。/media/hdd_1tbがマウンティングポイント。

 mountコマンドは、オプションを指定しないとデフォルトのファイルフォーマットを使う。linuxならば、ext3ext4を指定すれば良いので、

 mount -t ext4 /dev/sdb /media/hdd_1tb

とすれば良い。

 しかし、このままでは、HDDに書き込むためにいちいちルート権限が必要なので(マウンティングポイントで、ls -lしてみよ)、chownで権限を書き換える。

 chown user-name:user-name /media/hdd_1tb

 これで、rootでなくても書き込めるようになった。

マウント解除するときは

 umount /dev/sdb

とすれば良い。

読書の効能

 良く言われることだが、読書は良いものである。なぜなら、見知らぬ世界を垣間見せてくれる窓だからである。人間は知的な生き物であるから、子孫を残すような低次の欲求だけでなく、自らの知性を拡張しようとする姿勢が必要である。そのための手っ取り早い手法が読書である。

 小説を読むことに意味はあるだろうか。専門書や知識を網羅した本(辞書とか)に比べると、純粋な知識の量は遥かに劣るだろう。事実、実年サラリーマンは、小説なんか読まずに、専門書や自己啓発書を読むばかりではないだろうか(勝手な決めつけだろうか)。小さい頃は、ファンタジーやSFなどの小説を読んだかもしれないが、大人になるにつれ、エッセイや実用書を読むことが増えるのではないだろうか(お心当たりのある方はいませんか?)。それは、大人になって現実に定着したからだと言えるだろう。良い意味でも、悪い意味でも、大人は現実に定着しているもので、それはそうしないと生きていけないからだ。しかし、それは同時に、子供の頃のような可塑性を失うことにつながる。新たな考えを受け入れたり、自分の中に破壊を伴うような価値観の再構成は、大人になると難しくなるのは、今生きている現実を変更したくないからである。そういう「めんどくさがり」の大人にこそ、小説は向いている。一人の人間の妄想で、一個の世界が構築されているのが小説だ。その中に没入することは、自らのなかにわずかでも破壊と創造を導く。こういう刺激が大人をくだらない大人へ堕落することを防ぐかも知れないのだ。

 要するに、新しいことを受け入れられない、自分の生き方がもう古いとどこかで知っていながら、頑なにそれを変えようとしない、それが一部の大人、あるいは老人である。彼らにやり直すきっかけを与えるられるのが小説である。特に、自分が今まで読みもしなかったジャンルのものを読むのが良いだろう。

瞑想について

 最近、インテルの長友選手の本を読む機会があって、その中で、瞑想が紹介されていました。瞑想は、ヨガの中でも基本的な動作らしいです。また、スティーブ・ジョブズがよく瞑想をしていたというのは有名です(本当かどうか実際に見て確かめたわけではありませんが)。それから、細野晴臣も瞑想をして体調が良くなった、みたいなことを本に書いていました。

 瞑想というのは、そんなに良いものなのでしょうか。ぼくは、有名な人たちがみんな良いと言うから、瞑想をしようと思って、時々試みますが、そんなに長い時間はできません。なんだか、瞑想を始めると、その時間が、とても無駄なものに思えてくるのです。本には、無心になりなさい、と書いてあって、自分の姿を上から眺めるところを想像しなさいとか、自分の呼吸に意識を集中し、それ以外の思念が湧き上がってくれば(ドーナツ食べたいとか、twitterで遊びたいとか)、再び自らの呼吸に意識を集中させ、それを無視しなさいと書いてあります。

 どこかで読んだ話ですが、高僧と一般人に、瞑想をしてもらって、あるとき突然ベルを鳴らす、という実験をしたそうです。瞑想中の脳波を記録しているのですが、高僧も一般人も、最初にベルが鳴った時は同じように驚くそうです(脳波が乱れる)。しかし、これを繰り返すと、次第に慣れてきて、一般人はベルが鳴っても脳波が乱れなくなる。ところが、面白いことに、高僧は何回目のベルであっても、最初と同じように脳波が乱れるそうです。これがまさに、無心というやつでしょうね。

 普段生活しているときは、次々と思考がジャンプして、あれを考えて、またこれを考えて、ということを繰り返しているような気がします。もちろん、ひとつのことに集中するときもあると思いますが、ぼくはどちらかというと色々と思考が展開しているほうです。また、寝ているときも、夢を見ることからわかるように、色々と思考が跳躍しているようです。とすると、本当に何も考えないようにするというのは、瞑想しているときくらいで、そのときだけ、脳の思考ルーチンはお休みできるのでしょうか。その休息が、良いメンテナンスになって、次に通常に戻ったとき、普段よりも面白い発想をすることができるのかもしれないですね。だからジョブズや音楽家は瞑想が好きなのでしょうか。

良い発表とは

 良い発表をすることは重要である。なぜなら、発表の上手い下手によってその人の価値が決まるからである。確かに、発表の内容自体も、大切である。いくら発表が上手でも、コンテンツがくだらなければ、それなりの評価になる。しかし、コンテンツが面白いのに、発表が下手という人は、そのせいで損をしている。たとえば、そういう人は、就職活動や会社でのプレゼンなどで、せっかく良いコンテンツを持ってきたのに、十分にその魅力を伝えられない。良い仕事をしていれば、きっとだれかが評価してくれる、という昔の「職人気質」は、もはや通用しなくなりつつある。むしろ、論理立てて、分かりやすく人に伝えることも、コンテンツの一部となってきた。案外、内容はつまらなくても、発表が上手いために高い評価を受ける、などという逆転現象もよくある。

 良い発表をするためにまず必要なことは、十分な時間を発表資料の作成と発表練習に割くことである。時間をかければかけるほど、比例して発表は良くなっていくと考えたほうが良い。誰か練習相手がいるときには、他者からのフィードバックが得られ、発表の仕方のみならず、内容のブラッシュアップにもつながる。ひとりで練習するときには、内容の反芻をしっかり行えるので、より自分が言いたいことを適切に述べるためのよい練習になるだろう。なぜなら、その発表内容を一番良く知っているのは自分だからである。

 次に必要なことは、内容の流れを意識することである。まず、導入があって、この発表をする動機が語られる。研究発表ならば、この研究を行った大元の動機は何か、さらに、それに関連して、いくつかの先行研究を紹介すべきだろう。次に、発表全体を貫くテーマを述べる。つまり、どんな疑問があって、この研究に取り組んだのかということである。これら2つは、行き先案内版のようなもので、これがおろそかだと、聞いている方は不安で仕方がない。話がどこへ向かうのか分からないからだ。そして、必要に応じて方法を述べる。そして、結果。最後に、今まで述べたことの繰り返しとして結論を話してお仕舞いである。結論部分では、特に強調したい成果や、それらから当然のこととして導かれることを盛り込めば良い。以上のような流れが、特に理科系の発表では、一般的であろう。特殊な方法として、いきなり結論から入る、というものもあるが、それは、その結論が、聴衆にすぐに受け入れられ、しかもある程度驚きや感服を伴っていなければ効果は薄いと思う。

しんがりとトップ

しんがりを務めることと、トップを務めることはどちらが好きですか(自問)?

 どのような集団のなかでトップであり続けるか、ということによって変わることですが、一般に、トップをキープし続けることには努力が必要だと考えられます。さらに言えば、そのような努力を払い続けても、他に優秀な人が現れて、いつの間にか自分は二番手三番手、と落ちてゆくことが予想されるでしょう。だからはじめからしんがりを務めることにすれば、トップから転落するということはありません。しかし、このような逃避的な思考でしんがりを務めても良いことがあるとは思えません。それならば、たとえランキングからこぼれ落ちるようになったとしても、トップを目指したほうが良いでしょう。結果として、トップを取れなかったり、トップから転落しても、トップを取るために払った努力が、自らの糧となるからです。

 さて、ここまで考えてみて、「あえて」しんがりを務めることの意義は何でしょう。初めからトップを取ろうとせず、あえて、みんなのあとからついて行っている。そのような人は、一見、トップを目指すための努力を放棄した、怠惰な人間として見えるかもしれません。しかしながら、そのような人は、みんなが取りこぼしたもの、見向きもしなかったものに目を向けることができる人でしょう。トップを目指す人は自らの道を切り拓いていく力のある人です。トップランナーが切り拓いた道を大勢の人たちが通過してゆくわけですが、あえてしんがりを務めている人は、トップランナーやそれに追従するもの、みんなが道を通ったあとで、彼らが見逃した、つまらない、ささいなことに目を向けられる人です。みんなが、つまらないと思ったものですから、わざわざそれに目を留めて、拾い上げてもほとんどはゴミでしょう。しかし、たまに、ごくまれに、見方を変えてみたら宝石の原石が転がっていることがあるかもしれません。もしそうなれば、しんがりだった人は、一気にトップの座に上り詰めることになるのです。こう考えると、実は、トップを走る人と、あえてしんがりを行く人との差は、本質的にはありません。どちらも、自分で道を切り拓く能力のある人です。実のところ、もっとも凡庸でつまらないのは、トップでもしんがりでもない、行先もわからずただ前の人についていく人たちです。