Macのicloudデスクトップファイルが急に見れなくなった時の対処

 

タイトル通りのお話なわけだけど、たぶんきっかけはmacが自動でシステムアップデートしたことなんだと思う。

朝パソコンを開いて気づいたらデスクトップファイルにアクセスできず。

ちょっと焦ったのだけど、最近使ったファイルからは開けたので、間違って消してしまったとかいうことではなさそう。

よくよく見てみると、ファインダーのデスクトップのところがicouldからローカルに変わっていたので、たぶんこれが原因。

ってことで適当に”desktop file local iCloud Mac”なんて感じでぐぐったら解決方法が見つかった。

iCloud Drive

システム設定からAppleID>iCloud>iCloud Drive> optionsをクリック

んでもってDesktop&document filesのチェックをオンにする。

これだけで無事デスクトップファイルが元に戻りました。

 

たぶんMacのシステムアップデートに合わせてこのオプションのチェックが外されたってのが原因だったのでしょうねえ。

 

 

D

数値を表にまとめてグラフにしてってソフトウエアは何が良いのだろうねー?

 

特に私から何か答えがあるわけでもないのだけど、なんとなくの雑記。

テーブルというか数値データをシェアするのにはエクセル使うことが多いんだけど、その理由はまあエクセル使ってる人が多いからってのが主なところ。「タブか空白区切りのテキスト送ってっ!」って人もいるけれど、まあエクセルにしてくれって言われることも結構多いわけだ。

良かれ悪かれデータをエクセルでシェアしてるんだから、そのままグラフもエクセルでアウトプットできれば良いんだけど、大概の場合エクセル出力の図でハッピーになってくれる研究者は少ないのも事実……見てわかればいいじゃん、と思わないではないけど。

 

ってなわけでグラフ作るには何かしら別のソフトで、ってことになることが多いよね。

つかったことある有償ソフトだとIgor。Igorはデータプロセスのソフトとか書けたりするから、その絡みでつかってるって人が多い。それからmatlabなんかで同様の理由で結構使われてて、出力スタイルまで整えたスクリプトを持ってるって人も結構いる。でも、この辺のソフトは結構良い値段がする。

つかったこと無いけどOriginもよく使われてるよね。値段は知らないけど。

 

んでまあ元貧乏研究者としてはフリーソフトでどうにかしたかったところなわけだけど……そうなるとgnuplotあたりが筆頭かしらね?

Gnuplotはテキストデータなんかがあるときにプロット作るにはとても足回りが良いのだよね。装置の出力データなんかをとりあえずプロットするときはだいたいgnuplotをつかっていた。

それなりに絵を整えることもまあできるので、gnuplotで書いた絵を発表用に使うことはまあ可能。

 

あとはPythonとかつかってもいいんだけど……こっちもアウトプットの体裁を整えるのは割と簡単なんだけど、エクセルからデータの読み込みってなるとpandas当たりでちょこちょこ書く必要がある。

同じスタイルのエクセルがたくさんあってデータを読み込んでプロット、って言うならPythonも悪くないんだけど、違ったデータスタイルに合わせてちょいちょい書き直す必要があったりするとトタンに面倒くさくなったりするのだよな。

んー、pandasでデータ読み込むってところの処理をちょっと便利にできるようなテンプレを書いておくといいのかなー。

 

まあ結局何つかっても大して変わらない印象だけど、「利便性もビジュアルもこれが最高っ!」みたいな新しいソフトとかはあるのかしらねえ?

 

D

 

エクセルで行と列の端を固定したい

 

 

学生さんとかにもらうエクセルシートの行列の端が固定されていることはよくあるのだけど、自分でやったことのなかったこの操作……というわけで一応備忘投稿。

 

1 Viewタブを開く

2 そしたらSplitをクリックして、灰色のラインを動かして固定する行・列を決定する

3 左端のfreeze panesをクリックして固定。戻すときは同じ場所のUnfreeze。

 

これだけ、おしまい。

 

関連記事

1. python・科学記事のまとめ

 

D

エクセルで数式を他のシートにコピーしつつ参照セルを変更したい

 

備忘投稿。

普段はさほどエクセルを使わないので、意外と知らないプロセスが多かったりする。

今回やりたかったのはエクセルで平均を計算するってだけなんだけど、同じスタイルで作られたエクセルファイルがいっぱいあったので、同じ数式を別のシートにコピペして使いたかったのだ。

普通に数式をコピペすると数式が元のセルを参照してしまうので、新しいシートで同じ場所のセルを参照することができない。

式を貼り付けるときのスタイルは色々オプションがあるのだけど、どれを使っても上手くいかず。

 

……で、どうすればいいのかというと、下記の順で貼り付けることで一応目的のことは達成できる。

1 FormulaタブのところでShow Formulasをオンにする(日本語版だと数式・数式の表示かな)

2 数式表示になったセルを普通にコピーする

3 適当なテキストエディタに一度貼り付けてから、それをコピーし直す。私はMacのNotesに貼り付けたけど、たぶん何でも大丈夫なんじゃないかな。

4 使いたいエクセルブックのところで参照セルがずれないようにペーストする

 

これで一応できたのは良かったんだけど、もうちょっとスマートな方法があってもいいんじゃないかなあって気がするよね。数式をこういう形でコピペするってのはあまり一般的な手法じゃないってことなのかねえ……

関連記事

1. python・科学記事のまとめ

D

ワードプレス上でjavascriptとhtmlを使って計算をやらせる

 

前回の投稿ではhtmlで色々計算させようと思ったのだけど、htmlだけだと色々やるのはちょっと難しそうな雰囲気。

内部リンク: ショートコードでhtmlコード利用・練習編〜四則演算導入〜

そういうわけで、今回の投稿ではjavascriptとhtmlを組み合わせて、ワードプレス上でちょっとだけ複雑な計算をやらせることを目標としたい。

ショートコードでjavascript自体が普通に動くのは確認済み。

内部リンク: htmlとjavascriptでユーザーインプットに対して文字列を返す

なので、後はjavascriptでちょっと複雑な計算を走らせる方法を調べれば良いだけだな。

ワードプレス上でjavascriptにちょっと複雑な計算をやってもらう

ってわけでJavascriptは何があるのかなーってみてたら、Mathオブジェクトでだいたい揃ってる。

うん、やりたいことやるのにこれだけで問題なさそうだな。

おお、つまりjavascript動かすテンプレ準備しちゃえば、そこそこの計算させるウェブツール作ってくのは結構楽なんだな。

ってかあっさり解決しすぎちゃってこの投稿書くことがまったく無いなー。

sinはMath.sinで計算できるよ!

なんて書いてもなあ……ああ、radiansが組み込まれてないらしいので(Math.PI/180)かける必要があるよ!

んー、いまいち。

あー、有効数字の関係かsin360度が0にならないな。そんなときは計算したところで.toFixedで出力桁数調整して解決!

さて、少し文字数も増えたしこんなもんでいっか……とりあえず下の実行例は角度を突っ込んで、角度1のサインと角度2のコサインを足し算して出力するもの。

コードのスクショ:

sinとcosの足し算

あ、日本語、ていうか全角だとバグるなこれ。英語になおしまーす。

実行例:

 

sin-angle (degree):

cos-angle (degree):

calculate sin(A)+cos(B)

 

よーっし、後は作りたかったwebツールを別投稿でつくろう!

関連記事

1. ウェブサイト制作系お勉強のまとめ

D

科学論文の著者の決め方はどうあるべきか

 

なんて真面目っぽいタイトルで始めるけれど、ただの愚痴雑記。

日曜夕方だってのについ仕事用のメールを開いてしまったのが失敗の始まり。

知らないポスドクから届いていたメールを要約すると……

「論文投稿したんやでー」

ふむふむ、よかったな。 ……ところで、君誰?

「メジャーレヴィジョンやでー」

そうか。ちょっと大変だけど、メジャーは結構通るもんだしまあ頑張れ。

「お前のプログラム使ってこの論文書いてたんやでー」

へえ、そうなんだね。まあ何人かに配ったプログラムだからそういうこともあるかもね。

「それでな、とりあえずお前のこと著者に混ぜたろうと思うんやー」

……ん? なんで? もうメジャーレビジョンしてるんでしょ?

「レビューアの突っ込みに儂らだけじゃ応えられないんやでー」

あー……いや、プログラム使ってくれるのはありがたいのだけどさ、内容わからないで使ってるなら先にコンタクトとってもらいたかったなあ……

「ほんじゃー著者に名前入るわけだし頑張ってなー」

へ、へえ……やだ。

……ってな感じのメールを頂いたので、丁重に共著者に入ることはお断りしたのだ。まあ、しょうがないからレビジョンの手伝いは少しするけれどさ。たぶんちょっとやり取りしたら通る感じの論文ではありそうだったし。

 

まあ、それで本題に戻るわけなんだけど、みなさんはどうやって論文の共著者を決めてますかねえ?

原則的なルールに則っていくと、論文に対して重大な貢献をしてる人だけをいれるってことになるんだよね。この辺シビアなグループとそうじゃないグループは結構あって、シビアな人たちはホントに……

  • 論文をデザインした人(主にシニア)
  • 主要な実験をした人(主にファースト)
  • その人抜きじゃどうにもならない材料、実験や解析を付け加えた人

このくらいのコントリビューションが無いと著者に入れないっていうグループもある。

うちのグループは化学工学で材料科学って感じの場所なのでかなり緩め。

論文をいっぱい書くグループの方が、共著者が増えていく印象があるかな。ただの印象だけど。

そんなわけで、うちの場合なんかだと……

  • 予算とってきた人(+ちょろっと編集仕事)
  • 細部の実験に手を貸してくれた人(+ちょろっと編集仕事)
  • 解析方法のプログラムの提供(+ちょろっと編集仕事}
  • あと協力した他所の学生のボス(+ちょろっと編集)。これが一番意見が分かれるところだけど、実際問題として共同プロジェクト的な形にしてボスもいれるってのはよくある話。揉めることもある話だから、PIの人には学生やらポスドク任せにしないで欲しい。うちの今のボスもこの辺結構いい加減で疲れることが多かった。

なんてあたりも共著者に入っていったりしている。とはいえ、このあたりも編集仕事をどれかけ真面目にやってるかとか、仕事が一つ二つ三つと重なってけばまあ正当な著者とも言えるのだろうけどね。

私もなるべくならば実験をして解析をして、論文にしっかりと意見を言うってくらいのところまでは著者になるような場合はしている。

逆に言うとちょろっと実験しただけで後は何もせず、しれっと名前を論文に乗せる人もいっぱいいるわけなんだけどね。

前もちょっと愚痴雑記を書いたけれど、著者いっぱいの論文が増えてる現在、シニアかファースト以外の価値なんてあってないようなもの。

ほんとはシビアな著者選定にしといた方が皆幸せになるのかもしれないけど、実際分業制の進んでいる昨今ではそうも言ってられないってのも事実。

著者選定とその評価のあり方ってのは、偉い人達がしっかりとオーガナイズしてくれないと、若手とか学生が困っちゃいますよねーって話ですね。

今の大学とかだとこのあたりを教える講義とかあったりするのかしらね? 論文倫理学? 昔もあったのかな?

 

まあそれはいいのだけど……話をちょっと今日のメールのやつに戻すと、まあ私は論文で使う解析ソフトを他の目的で書いただけだし、彼らがそれを流用して私抜きで論文を仕上げられるのならば私が著者に入る必要は全くない。

プログラムの理解に怪しいところがあるんだったら先に連絡をしてほしかったけれど、それを教えたからって私が著者に入る必要はやはりない。

彼らのデータのとり方の指導をして、彼らのためにプログラムを書き換えて、論文を仕上げていくときにそれなりに使える意見を出した……このあたりが論文の著者に入るのに妥当なラインなのかなー。

まあ今回のメールにしても、別に著者に入れるなんて言わなくてよかったんだよね。彼らがこの論文を作り上げた段階で私を入れる必要がないと思っているわけで、それには100%同意だし。

論文の真ん中くらいに名前を載せることなんて大した意味はないんだからさ、こういうときに遠慮せずにアクノーレッジするからちょっと意見貸してなーって言える状況にあったほうが健全だよねー。

なんてことを綴りたくなった愚痴雑記でした。

 

関連記事

1. python・科学記事のまとめ

D

macでプログラムとか書いている時によく使うターミナルコマンドなど

 

プログラムをターミナルのviで書いてる時なんかによく使うコマンドなどを書いていく投稿。

macのターミナルのコマンド関連

terminalで現在いるディレクトリをファインダーで開く

openにピリオド

open .

ファインダーで開いてるディレクトリにterminalで移動

コマンドラインにcdをタイプしてから、ファインダーの中のフォルダをドラッグしてターミナルの上にドロップ。

コマンドラインからZipにフォルダーを圧縮

単純に圧縮するだけってのがしたいのにいつも忘れるコマンド。変なオプションつけてパスワード付きになっちゃったりするんだよな。

ともかく、これだけで良い。

zip -r AnyName.zip FolderName

terminalからファイルの拡張子をまとめて変える

for filename in ./*; do mv $filename ${filename%}.txt; done

これってシェルスクリプトってやつなの? 詳しくないからわからないんだけど、まあ動いてるからヨシッ。

terminalからファイル、フォルダのサイズチェック

du -sh (filename/foldername)

 

その他mac使うのに便利な操作

macのファインダーで隠しファイルを出したい場合

[command]+[shift]+[.]

これだけ。

タブブラウザの閉じたタブを復元

[command] + [shift] + [t]

macというかブラウザだけど。

 

 

何かあれば随時追記予定。

 

 

関連記事

1. python・科学関連記事のまとめ

D

配列から要素をランダムに取り出してユーザーに返す(html, javascript)

 

前回の投稿でユーザーインプットに対して文字列を返すところまで書いたので……

内部リンク: htmlとjavascriptでユーザーインプットに対して文字列を返す

後はこの文字列を配列からランダムに取り出すようにしたい。

配列からランダムに取り出すってところは割と有名なやつがあるので難しくない(下のL15のところ)。

Math.Random()で0から1の間のランダムポイントを作り出して、配列の長さをかけることでその長さにスケールをあわせる。んでMath.floor()を使って整数化して取り出したい配列の要素指定に変える……ということだろうな。

配列からランダム取り出し

問題は、これだと一旦文字列取り出したところで固定されちゃうところなんだよな……繰り返しクリックしても、取り出されるのが同じ値になってしまう。

って、ああ……単純にファンクションの中でMath.random()に走ってもらえばいいだけか。

これにちょっと悩まなきゃいけないプログラム系の素養のなさが悲しい。

修正したのが以下のコード。まあ、もうちょいスマートな書き方はありそうだけど、とりあえずこれでやりたかったことは走っているから良しとしよう。

ランダムで文字列を取り出し その2

というわけで……これをワードプレスのショートコードに突っ込んで、以下が実装例。

ユーザーインプット(1・2かそれ以外)によって別々の配列から文字列を返す。

……Oops、ワードプレスエラーでサイトが表示できねえ。

ああ、これだとname_arr、name_arr2、name_arr3の配列のところのシングルクオテーションがショートコードのルールか何かに蹴られるのか。

ワードプレスに使う場合は、ここをダブルクオテーションに変える必要があるってことね。

というわけでそれを修正後の実行例。

 

here is output

 

うん、問題なく動いていそうな挙動。

というわけで、無事配列からランダムで文字列を返すツールができました。ちゃんちゃん。

これで自分で欲しかったwebツールを書くだけの材料ができたので、別サイトにて1つ目のwebツールを仕上げることにしよう。

……ってあれ、投稿のシングルページだとしっかり動くけど、ブログトップページだと動かないってバグがあるな。まあ、このページがブログトップから開かれる確率はほぼ0だろうしいいか。

関連記事

1. ウェブサイト制作系お勉強のまとめ

D

htmlとjavascriptでユーザーインプットに対して文字列を返す

 

前回は簡単な計算を書いてみたわけだけど……

内部リンク: ショートコードでhtmlコード利用・練習編〜四則演算導入〜

今回はユーザー入力に対して文字列を返すというものを書きたい。

やりたいのは例えば1-5で指定されるような文字列の辞書、というか配列を作っておいて、その文字が入力されたらランダムで1個の文字列を返すっていうこと……なのだけど、今回はとりあえずユーザーインプットに文字列を返すところだけ。

記述は難しくはない。だけど条件分岐とかが出てくるので、javascriptを混ぜることは必要になってくる。

ワードプレスのショートコードでhtml内包のjavascriptでユーザーとやり取り

とりあえず書いてみたのはユーザーの数字入力に対して、適当な文字列を返すプログラム。例のごとく諸事情でスクショで。コード自体は後でどっか別ページにまとめて貼り付ける予定。

ユーザー入力に対して文字列を返すコード

1だとTaroで、2だとHanako、それ以外だとJiroを返すコード。ああ、outputのライン(L19)は前のコードから消し忘れただけなのでいらない。

  • <script>の中にjavascriptを記述する。
  • if else文は他のプログラム言語と似たような記述方式だから書きやすい
  • documentのgetElementByIDメソッドでID”res1″にアクセスして、innerHTMLで内容を書き換える
  • innerHTMLよりもtextContentの方がいいよってのを見かけた。どっちでも動きはする。

 

以下が実行例。上のスクショコードをtextContentで書き換えて、ワードプレステーマのfunction.phpのショートコードテンプレに突っ込む。

内部リンク: wordpressにショートコードでhtmlコードを導入してみよう

という感じでこのjavascriptは私の環境では動いているけれど、javascriptなので止めてる人は動かないかもしれません。

 

here is output

 

関連記事

1. ウェブサイト制作系お勉強のまとめ

 

D

ショートコードでhtmlコード利用・練習編〜四則演算導入〜

 

前回の投稿ではwordpressのショートコードを使えば、ワードプレスブログ内にhtmlコードがより便利に導入できることがわかった。

内部リンク: wordpressにショートコードでhtmlコードを導入してみよう

今回の投稿は応用編っていうかまあ練習をするって投稿。もう少しいろいろとした計算をもう少しまともな見た目で書いてみたい。

とりあえず四則演算を回してみよう

まあ、これは計算記号を変えるだけで良いわけだけど、もうちょっとフォーマットを綺麗にしてみようという感じの目標で……

四則演算させるhtmlコード

っとまあ、とりあえずこのような感じで。相変わらずコード的なものをブログ本文に入れるとショートコードが動かなくなるので、コードはスクショで……

四則演算をショートコードでの実行例

そのままfunction.phpのショートコードの中身にコピペして……新しいショートコードを作製。実行すると……

 

=0

 

という感じで、当たり前だけどhtmlだけでも四則演算は普通にできますね。

三角関数・指数・対数などなど

このあたりのシンプルな関数はどうなのかなっていう調査。

いずれはユーザー入力に対してPythonを走らせるって方向に行くつもりなのだけど、とりあえずはhtmlでできることを模索したい……のだけど、htmlにはそんなファンクションはなさげなのかな?

CSSには計算が組み込まれてるみたいだけど、ざっと見てる感じではjavascriptと組み合わせる方が王道だろうか。

そうなるとjavascriptとショートコードの相性的なものから再勉強か。それなら別の投稿にまとめたほうが良い気がするので、これはまた次回の投稿で。

関連記事

1. ウェブサイト制作系お勉強のまとめ

D