論文翻訳支援Webアプリ「Shaper」にテキスト整形結果をGoogle翻訳で開くボタンを追加しました

--------------------

2020/11/22 追記:

2020/11/22のアップデートにより、Google翻訳へのリンクをDeepLに変更しました。利用方法自体は、↓の内容と変更ありません。

--------------------

 

いつもShaperをご利用いただきありがとうございます.

dream-exp.net

dream-exp.hatenablog.com

公開から2年ほど経ちましたが,当初想定よりも多くの方が利用してくださっていて,開発者冥利に尽きる限りです.

さてこの度,Shaperをアップデートしましたのでご報告いたします.

テキスト整形結果をGoogle翻訳で直接開くボタンを設置しました

これまでは論文PDFからコピーしたテキストをShaperにペーストし,さらにGoogle翻訳にコピペする必要がありましたが,今回のアップデートで追加した「Google翻訳で翻訳する」ボタンから直接Google翻訳で翻訳をかけられるようになりました.

f:id:dream_exp:20190908120923p:plain

こちらの機能は 杏仁まぜそば様(@an_nindouph)が実装されていたアイデアをShaperに取り入れさせていただいたものになります.機能の取り込みを快諾いただき,Githubソースコードまで提供していただきました.この場をお借りしてお礼申し上げます.

 

引き続きShaperをよろしくお願いいたします.

筑波大学大学院 図書館情報メディア研究科 受験記

お久しぶりです。馬刺し(@dream_exp)です。

 

夏の院試に落ちて危うくプー太郎になるところでしたが、なんとか2月の院試で志望先研究科に合格することができたので、受験記としてまとめておこうと思います。なお、記載されている情報は2019年3月2日現在の物になりますので、ご了承ください。

 

大学院は2校受験したので、今回は「筑波大学大学院 図書館情報メディア研究科」について書きます。ここはあんまりネットに情報が載ってないので、ブラックボックス感強い研究科ですよね。

www.slis.tsukuba.ac.jp 

選抜方法みたいなのは↑のページに書いてあります。

 

入試その1:8月期受験

僕は高専での成績がカスだったので一般入試で受験しました。図書館情報メディア研究科の一般入試は8月と翌年2月の2回行われます。
採点はTOEIC 100点(スコア830点を満点とし、それを100点分に換算)、面接(研究計画についてのプレゼン)300点の計400点満点で行われます。面接が300点も占めてるので、かなり博打感ありますよね。

8月期入試は、7月の中旬ぐらいに研究計画付きで出願書類を提出し、8月の下旬に試験という日程です。僕はLightField × HDRIみたいなテーマで研究計画を書き出願。TOEICは確か620点で提出した覚えがあります。

面接は面接官(研究科の教員)の前で研究計画について7分程度のプレゼンをした後に、質疑応答が15分〜20分程度行われます。

f:id:dream_exp:20190302231635j:plain

落ちるとも知らず、まつりつくばで買ったかき氷を美味しそうに頬張る筆者

本番では研究計画を説明したのですが、見事に落ちました。

この時の反省点としては

  • 別にここの研究科じゃなくても良くない?感が面接官からめっちゃ伝わってきた
  • その研究結局何に役立つの?が面接官にうまく伝わってなかった
  • 図書館系の先生と情報メディア系の先生が混在しているので最大公約数的なプレゼンが求められることを失念していた

この3つでした。

これは他の大学院入試でも言えることですが、やはりこの研究科で研究する必要性みたいなものを正しく訴求する必要があって、僕はただ淡々と研究発表のごとく研究計画を発表してしまったので、そう捉えられても仕方がなかったな、と今振り返っても思います。

また、研究の成果がどのように役立つか、という点は、研究計画の中でロジックについての説明に時間を割きすぎてしまったあまりに、伝えられなかったと感じました。

3つ目は、まあ試験官をどうやって構成するかちょっと考えたら対策できそうなことではあるんですが、図書館系の方にも伝わるようなプレゼンをすることがとても肝だと感じました。

 8月期は落ちましたが志望校を変えるつもりは全くなく、2月に再度受験することを決めましたが、2月の方が定員数から見ても明らかに狭き門になりそうだったので、精神的にとても不安定な半年になりました。

入試その1:2月期受験

8月期同様に、今度は年末に研究計画を添えて出願書類を提出。TOEICのスコアは705点で提出しました。

今回は、今高専で取り組んでいる研究をベースにしたテーマで提出しました。8月期に落ちたのに懲りずに今回もギリギリに研究計画を書いて出したので、正直8月のことがフラッシュバックしそうになりながら年越し。

年明けに「受験者心得」という書類がWebサイトに掲示されるのですが、今回も8月と同じぐらいの人数が受験してて、心の中では終わったなと思ってました。

そんなこともあって受験のモチベーションも上がらなかったので、プレゼンを作ったのは試験直前でした。山口からつくばに移動してる間もKeynoteをイジイジしてたぐらいです。

今回は8月の受験の結果から、

  • 自分が研究/課外活動を通じて行ってきたことと、図書館情報メディア研究科の親和性の高さ → ここに来る意味を訴求する
  • 技術的にコアな部分は質問時に答えるようにして、ふわっとしたイメージで良いので、正しく研究の完成図と意義を捉えてもらう
  • どちらの分野の方にも伝わるプレゼン

この3つをフィードバックしました。前の日とかもゴリゴリスライド作ってたんですけど、なんか手を動かしてると不思議といけそうな気がしてきたので、そのまま朝を迎えて面接を受けました(アホ)。

今回はフィードバックの甲斐あって、かなり面接官の方にも納得していただけた感じがしました。帰りの東京までのバスはなんだかとても穏やかな気分でした。

2週間ぐらいして合格発表があったんですけど、面接のフィーリングや良かったとしてもまあ普通に倍率高そうだったので落ちてるだろうと思ってたら、なんと自分の受験番号が載ってて大層びっくりしました。結果として2月も8月と同じぐらいの倍率(約2.5倍ぐらい?)だったようで、なんとか救われた気持ちです。

 

受験を終えて

やはり面接のウエイトがかなり大きいので、面接官との相性に左右される部分も多いというイメージでした。あとTOEICスコアは多少なりとも合否に影響してくるので、お早めの対策を。図書館情報メディア研究科はIPテストのスコアも提出できるので、公開テストとIPテストをひたすら受けておくのがオススメです。

それにしてもギリギリ首の皮一枚で進路を決めることができてホントに良かった。春からはつくばにいるので、お近くの方よろしくお願いします。

 

次回はIAMAS受験編書いていきます!

non-creativity

最近、クリエイティブなことに全く手が動かなくなった。クリエイティブというよりは、目先のことを最低限消化するので手一杯。
今抱えているモノをすべて放り出して一旦リセットしたい。そっからまた、自分のクリエイティビティを取り戻したい。
でもそうすることができないし、しないのは、僕なりにどこかでけじめをつけたいと思っているからなんだと思う。

でもこうして積み重なったものを思い出すので、何をしていても本当に楽しくない。

 

高専本科の頃はプロコンに出たりして、曲がりなりにも高専という環境を楽しんでいたと思う。学校の勉強に関しては本当に不勉強だったけど、学生特権でまだまだやりたいことがあると思って専攻科に進学した。
non-creativityなマインドに陥ってしまったのは、専攻科に入学したときぐらいから。別に専攻科という環境が悪いとかそういうわけではなく、ただ単に自分の気力が失われただけだと思う。
プロダクトを作ってるより、YouTubeのめちゃくちゃくだらないビデオを見たり、Instagramにキラキラした写真を投稿するぐらいが楽しいと思うようになった。クリエイターとして、生産する側から消費する側に変わってしまった。
悪い意味で、同年代の普通の学生になってしまったのかもしれない。

だけど、心の奥底ではクリエイティブしなくていいの?と問いかけている自分がいて。ここ2年間は、仮想上のクリエイティブな自分と現実のnon-creativeな自分の乖離に苦しめ続けられた期間だったと思う。
心の声には逆らえなくて、企業の方からプログラム開発の仕事をいただいたり、先輩と手を組んで作品を作ったりしていたけど、自分が本気でコミットできなくて、どれも中途半端に終わってしまった。
お話を頂いたときは、元来そういうことが好きなので気持ちが高ぶって「ぜひ!」と声をあげるんだけど、ゆくゆくは積み重なったタスクの1つになる。そうしてそれが重りになって、動きがどんどん鈍くなっていったのを感じた。
今はこれにコミットするんだ、という強い意志が無いからかもしれないし、熱しやすく冷めやすい性格だからかもしれない。
こちらから連絡を途絶えさせてしまって、たち消えになった話もたくさんあった。僕のせいで迷惑かけてしまった方々には、本当に申し訳ない気持ちでいっぱいだ。時々そのことを思い出して、またネガティブになってしまうこともある。

今もたくさんのタスクが積み重なって、この文章に手を付けるのにも半年ぐらいかかった。本当に精神的に辛い時はTwitterすらできない。LINEやMessengerも返せなくなる。
タスクが積み重なると、優先順位どうこうの話じゃなくなって、どれにも手がつけられなくなるので。

これ書いてる暇あったら仕事しろよと野次が飛んできそうだが、これだけは書いておきたかった。今日は筆を執る気になったので。
いずれにせよ、このマインドから抜け出せないと、この先はないんだと思う。

フィジカルに相談に乗ってくれる人いたら、詳しく相談させてください。

node-webcamをmacOS HighSierraで使おうとしてハマった

node-webcamというパッケージをHighSierra環境で使おうとして少し躓いたのでまとめます。 

www.npmjs.com

Node.jsからWebカメラの映像をキャプチャする案件があって、いい感じのパッケージを探していたところ、こちらを発見しました。 どうやらimagesnap等の、ターミナルからWebカメラを操作できる系のコマンドをいい感じにラップしてるみたいです。

とりあえず、imagesnapのインストール。

$ brew install imagesnap

imagesnapは既にインストールされていたので、

$ npm install --save node-webcam  

でパッケージをインストール。

ひとまずbase64で画像データを取得できるかチェック。

var NodeWebcam = require('node-webcam');

NodeWebcam.capture("hoge", {callbackReturn: "base64"}, (err, data) => {
        console.log(data);
});

しかしundefinedが出力されて、一向にキャプチャされず...

imagesnapに問題あり?と思い、imagesnapのGithubを見に行くとmacOS High Sierra での不具合に関してのIssueが解決されたバージョンが新しくリリースされており、

$ brew upgrade imagesnap

imagesnap のバージョンを上げてあげるとちゃんと動きました。。。

 

 

ProcessingのSketchをTerminalから実行する

Processingのスケッチファイルを外部エディタで書きたかったので、ついでにSketchファイルを外部のターミナルから実行する方法を調べた。

手元の環境

processing-java のインストール

外部のターミナルからSketchファイルを実行するには、processing-javaというプラグインが必要になるのでインストールする。 f:id:dream_exp:20180308101624p:plain メニューバーのツール>processing-javaをインストールでインストールされる。

ターミナルから実行

実際にターミナルから実行してみる。

$ processing-java --sketch=/path/to/sketchdir --run

ポイントとしては、

  • --runオプションは必ず最後に記述すること
  • --sketchオプションで渡すパスは絶対パスである必要があり、またpdeファイルへ直接パスを通すのではなくpdeファイルが格納されているディレクトリのパスを渡す

この辺り。

その他のオプション

$ processing-java --help で確認できる。

Netlifyが最高すぎてGithubPagesから脱却できるかもしれない

高専祭ファッションショーで何か面白い企画やりたいなあと以前から思っていて,思いついたアイデア高専祭実行委員の方々とちくわ(@pavlov469)に相談したらぜひやろうということになって,今粛々と準備を進めているところである.

とりあえずリリース用のドメインを確保したので,テザーサイトでも置いておこうと思った.ホスティングサービスとしてまず検討したのはGithubPagesだったが,こちらは既にdream-exp.netを割り当てており,新たにドメインを割り当てることができない状況.そこで別のホスティングサービスを探していたところ,見つけたのが「Netlify.com」だった.

netlify.com

NetlifyはGithubPagesと同じ感じで,Githubに作成したWebサイトのリポジトリをそのまま公開できるサービスである.GithubPagesと違って公開するブランチを選べるため,今回であればテザーサイト用のブランチを切っておいて,そのブランチにPushされたタイミングでWebサイトを更新するといったことも可能である.この辺りの柔軟性はありがたい.

また,Netlifyは作成したサイトごとにドメインを割り当てることができる.先述のようにGithubPagesでは1アカウントあたり1ドメインしか割り当てられないため,いくつかのWebサイトをそれぞれ別のドメインで公開したいといった場合に非常に有効である.

標準でHTTPSにも対応しており,これだけの機能が無料で使えてしまう驚きのサービスである.簡単なWebサイトを公開したいといった時にはぜひ一度検討してみてはいかがだろうか.

ちなみに高専祭ファッションショー向けの企画テザーサイトは以下のURLで公開している.また順を追って情報を公開していく予定である.

LightSync

論文をGoogle翻訳にかける時に便利なWebApp「Shaper」を公開しました

はじめに

最近英語論文をサーベイする機会が増えてきて、Google翻訳に助けてもらいながらなんとか読んでいます。PDFで配布されている英語論文をコピペすると、行末のハイフネーションや改行が混ざっていて翻訳ミスが発生することが多くありました。翻訳ミスをなくすためにハイフネーションや改行を手作業で取り除くのはしんどいので、これを自動で取り除くWebApp「Shaper」を開発しました。

「Shaper」の使い方

f:id:dream_exp:20170722190307p:plain

まず論文から翻訳したい箇所をコピーします。

f:id:dream_exp:20170722190855p:plain

上記画像の赤枠のテキストエリアにペーストします。

f:id:dream_exp:20170722190942p:plain

ペーストした瞬間に整形後のテキストが下のテキストエリアに出力されます。
「Copy!」ボタンをクリックすると、整形後のテキストがコピーされます。
あとは、Google翻訳にペーストすれば良い感じに翻訳してくれます : )

こんな感じで使うと捗ります

Macな人はSplitViewを使ってこんな感じで画面分割して作業するのがオススメです。

f:id:dream_exp:20170722192543p:plain

 (はやくGoogle翻訳なしで論文スラスラ読めるようになりたい...)