えむにわリソース

ITのスキマ的なあれこれを書きます。

NefryBTのディスプレイに好きな画像を表示させる

暇になったのでNefryBT触ってみました。

付属のディスプレイがIPアドレスしか出さないのはもったいないので、

手始めに好きな画像を放り込んでみました。

f:id:m2wasabi:20171116124241j:plain

完全に理解した図

続きを読む

JaneStyleの4.0.0が出たのでずっと使える広告消し手動パッチの当て方について書く

タイトルの通り。β4 4.0.0 が出たそうです。5ch好きの皆様には朗報かもしれませんね。

5ちゃんねる専用ブラウザ 「Jane Style」 テストバージョン配布ページ

~2017/11/11追記~

4.0.0正式版がリリースされたので、URLは正式版の以下が正しいです。

5ちゃんねる専用ブラウザ 「Jane Style」

/~2017/11/11追記~

うちの環境では広告を表示するとアプリがフリーズして何もできないです。

某所に毎回時間差で動かすための書き換えアドレスが出るのですが、 毎回アドレスがアップされるの待ってるのも残念な人なので、 置き換えるべき検索を書いときます。

製作者側で対策されない限り今後も使える見込みです。

これはチート行為ですね。バイナリの書き換えは書き換えた人の責任において行ってください。 バックアップはとりましょう。壊れたって知らんです。

書き換えに使うツールはStirlingとかでいいんじゃないでしょうか。

それではオペの時間です。

続きを読む

技術書同人誌初心者が技術書典3で爆死したので戦略を練る

台風の迫る中技術書典3、無事完了しました。

関係者の方々、来場された方々、お疲れさまでした。

僕はというと、結論から言うと

刷りすぎた赤字ひどい助けて

技術書典主宰のひつじ氏のレポートを見ると

mhidaka.hatenablog.com

当日の頒布部数はサークル平均137部です。完売率は82.6%です。

激甘設定に見えます。

今回自分の出した本のスペックは

  • 60P 500円
  • 部数 100部
  • かかった費用 40kぐらい
  • 売れた部数 35部

赤字で焼き肉3回行けるぜ…

何がまずかったのか

印刷形式

調子に乗ってオフセットで刷ったけど、

人々の知らないものを広めたい目的で書く、

ニッチを自認するならオンデマンド一択だ。

部数

上記の印刷形式と関連するのですが、

オフセットの場合50部も100部もあまり変わらない値段になります。

これが罠で、完売するまで帰れま10

  • 誰もが知ってるアルファなパーソンが
  • 神絵師の描いた表紙で
  • 誰もが知ってるテーマの深掘りを扱うなら

部数アクセル踏んでも構わないけど、

そんなサークルになっちゃったら12時に完売御礼ゴールインでいいんだ。

勝ってから増刷すればいいんだし。

わきまえよう、MINOTAKE

昼下がりにさくっと切り抜けて幸せになろうよ

紙の本はリスクが大きいので、多少赤かギリギリでもいいので、確実に完売する部数、30~50ぐらいにしとこう。

電子版は在庫リスク抱えなくて良いのでとりあえず作っとくといいかも。

価格

100部MAXでトントンぐらいの価格設定でやると、いつまでたっても幸せが降りてきません。

働いても働いても楽にならない状態に陥ります。

逆に言うと価格設定は7割捌けでトントンぐらいにもってかないと100部印刷はリスキーです。

  • 紙+電書 60P 500円 オフセット
  • 電書のみ版 100円

んなぁ~

安かったのかな。

もし同じスペックで刷ってしまったら以下の価格で設定するかな…

  • 紙+電書 700円 (もしくはページ数減らす)
  • 電書のみ 300円

それよりもそもそもオンデマンドの少部数で原価を抑えるほうが肝要です

表紙

f:id:m2wasabi:20171020101718j:plain:medium

初期の衛藤ヒロユキ先生*1みたいな絵柄で良くもなく悪くもなく でしたが、

表紙だけで爆売れするということはないですが、一定のクオリティの足切りと底上げ効果があるので侮れないです。

最初に手に取ってもらえるというのは大事。

神絵師に依頼すると印刷代ぐらいの費用を報酬として支払うのですが、その原価の捻出方法が分からないので、隣のサークル(nayucolony)さんが

ガチでかわいいイラストで戦っていたので、どうやったのか聞いてみたら、 相方さんの妹さんに描いてもらったそうで、それなんて紗霧ですか。

そういえば前回の技術書典2のときも神田部品さんに聞いたら、妹さんが表紙担当されてたな。

というわけで勝利の鍵は絵のうまい妹です。

売り子

常に2人はブースが狭すぎて辛いですが、

完全ソロプレイだと、目の前においしそうな本がぶら下がってるのに、買いに行けない、

トイレに行けない、

もちろん飯も。

なので、早々に完売御礼する生存戦略でない場合は、

1日付き合ってくれる友達を探して巻き込んだ方が幸せです。

そんな友達募集中です。

初心者におすすめの戦略

  • オンデマンドで30~50部
  • とりあえず電子版は作ろう
  • 価格設定は安すぎず 爆死しない設定にしよう
  • 神絵師雇う余裕はないので絵のうまい妹を探そう
  • 自分が動くために完売するか、友達を巻き込もう

今回はズタボロです。

余裕が出来たらルーター買い替えようと思ってましたが、これは予定変更です。

納豆とTKGともやしの生活ですが、そろそろ1日1食を検討するかもしれないですね。

じゃあ、技術書書くのはもうやめるか?と聞かれると、

そんなわけないじゃないですか

これだけ情報が得られたなら、次は失敗しないと思います。

続きを読む

技術書典3でGrimoire.js本出します

10月22日(日)に秋葉原UDXで開催される技術書典3にて

『Grimoire,js解読記』を頒布します。

スペースは『え22』 Outlaw Tech です。

techbookfest.org

表紙はコレです。

f:id:m2wasabi:20171020101718j:plain:h320

神絵師も予算もないのでKonozama

内容は

  • Grimoire.jsの紹介
  • Grimoire.jsプロジェクトのソース読みからのTypeScriptビルド環境の追いかけ
  • Grimoirel.js開発者 Kyasbal氏 のGrimoire.jsレンダラー入門

です。

頒布価格は

  • 紙媒体+電書 500えん
  • 電書のみ 100えん

の予定です。

技術書典の決済システムは、電子版のみ対応予定。

紙媒体は、決済システムの在庫水際の立ち回りがよくわからないので現金のみでお願いします。

決済システム提供のお知らせ | 技術書典ブログ

開催詳細情報は公式サイトをチェックです!

techbookfest.org

入場に関しては整理券を配布するようです。

スマホで確認できるサイトがあるので活用しよう。

blog.techbookfest.org

あと上に登るとボーナスステージラウンジがあるみたいです。

blog.techbookfest.org

全く至れり尽くせりですね。

※次回は神絵師予算確保したい


2017/11/03追記

しめやかに通販やっています。

Boothさん m2wasabi - BOOTH(同人誌通販・ダウンロード)

Comic-ZiNさん(早く専売マーク取ってくれないかな…) COMIC ZIN 通信販売/商品詳細 Grimoire.js解読記

Re:View用のスターターキット作ったよ

これまでに何人もの人が作り、そして壊していったであろうRe:Viewのビルド環境
宗教上の理由でスクリプトをGulpでまとめました。
github.com

散在している情報をまとめただけのWindows環境構築Tipsも付いてます。

Google Cloud Speech APIを使ったHoloLensアプリ(Unity2017対応など)

先週のできごと

先日、Google Cloud Speech APIを使ったアプリを制作し、リクルートATL様に寄稿させていただきました。

f:id:m2wasabi:20170718072611j:image
HoloLensで言霊を撃ってみよう | ATL SHOWCASE

それにまつわる内容で、 Tokyo HoloLens ミートアップ vol.4でLTの機会を頂きました。

www.slideshare.net

HoloLensでの音声認識は手垢の付いたネタにも関わらず良い反響を頂きました。ありがとうございます。

Unity・アセットをアップデート

アプリ自体の紹介は上記リンクにお任せするとして、 寄稿・紹介後に、Unity2017への対応・Google Cloud Speech RecognitionのV3.0へのアップグレードを行ったので、 それについて書きます。

アプリのソースコードは公開しています。

github.com

Unity2017への更新

元々Unity5.6.1 で作成したアプリですが、寄稿が終わったのでUnity 2017.1.0f3 に更新しました。 本アプリ自体、特に難しいことはしてませんので、各アセットのバージョンアップ対応が主になります。

HoloToolkit for Unity

Unity2017対応は、アーカイブはまだですがmasterブランチでは行われています。 /Assets/HoloToolkit/ディレクトリをプロジェクトから削除し、 ダウンロードしたコードから /Assets/HoloToolkit/ をコピーすることで無事動作しました。 プロジェクト内のprefabやオブジェクトは適宜置き換えましょう。

github.com

Google Cloud Speech Recognition

Google Cloud Speech Recognition

Unity2017リリースの少し前に バージョン3.0に更新されました。

1. ThreadManager.csの更新

バージョン2.3まではUWPアプリケーションでも問題なく動作していたのですが、 3.0はUWPでビルドしようとするとエラーで蹴られます。(Unity Editorでは動く) f:id:m2wasabi:20170718085727j:plain

そこで、以下のファイルを書き換えます。 \Assets\FrostweepGames\GCSpeechRecognition\Scripts\Core\Managers\ThreadManager.cs

gist.github.com

2. 名前空間の変更

また、名前空間やクラス構成がごっそりと変わっているので、対応します。

using FrostweepGames.SpeechRecognition.Utilites;
using FrostweepGames.SpeechRecognition.Google.Cloud;

using FrostweepGames.Plugins.GoogleCloud.SpeechRecognition;
3. メソッドの置き換え

使い方もがらっと変わっているので、これも更新します。

3.1. クラスの変更
private ILowLevelSpeechRecognition _speechRecognition;

private GCSpeechRecognition _speechRecognition;
3.2. 初期化処理

初期化処理も大きく変更が必要です。

_speechRecognition = SpeechRecognitionModule.Instance;
_speechRecognition.SpeechRecognizedSuccessEvent += SpeechRecognizedSuccessEventHandler;
_speechRecognition.SpeechRecognizedFailedEvent += SpeechRecognizedFailedEventHandler;

_speechRecognition = GCSpeechRecognition.Instance;
_speechRecognition.SetLanguage(Enumerators.LanguageCode.JA);
_speechRecognition.RecognitionSuccessEvent += SpeechRecognizedSuccessEventHandler;
_speechRecognition.RecognitionFailedEvent += SpeechRecognizedFailedEventHandler;
3.3. イベントハンドラ

イベントハンドラも引数が増えたので対応します。

失敗時

private void SpeechRecognizedFailedEventHandler(string obj)

private void SpeechRecognizedFailedEventHandler(string obj, long l)

成功時

private void SpeechRecognizedSuccessEventHandler(RecognitionResponse obj)

private void SpeechRecognizedSuccessEventHandler(RecognitionResponse obj, long l)
3.4. Start/Stop

録音開始メソッドは、音声の個人認識をするオプションがつきました。

開始

_speechRecognition.StartRecord();

bool VoiceDetection = false;
_speechRecognition.StartRecord(VoiceDetection);

終了

_speechRecognition.StopRuntimeRecord();

_speechRecognition.StopRecord();
変更のサンプル

https://github.com/m2wasabi/SpeechGoUnity/commit/6d1824a659f05baa8d7e136f65419b9fc096f7d5

以上の変更で無事動くようになります。

おわりに

今回、Unity2017への更新で、C#6対応などビルド環境が一変したので心配しましたが、 思ったより不具合もなく移行できました。

アップデート対応は手間だけどやっておいて損はありません。

AndroidStudio3.0 Canary2 でKotlinをbuildしようとするとこける問題

f:id:m2wasabi:20170601195852j:plainAndroidStudio3.0からKotlinが正式サポートされました。 6月1日現在プレビュー版で以下からダウンロード可能です。 https://developer.android.com/studio/preview/index.html?hl=ja

AndroidStudio2.x空の変更点は、 プロジェクト開始時にJavaから変換を介せずに最初からKotlinでプロジェクトを開始できます。 f:id:m2wasabi:20170601194129j:plain

何も考えずにビルドすると、

Unable to find method ‘com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List;’

のようなエラーが出てしまいます。 f:id:m2wasabi:20170601194453j:plain

Kotlinのバージョンが合ってないので、

build.gradleの内容を以下のように書き換えます。

ext.kotlin_version = '1.1.2-3'
ext.kotlin_version = '1.1.2-4'

そんなわけでLet’s enjoy Kotlin!

参考

stackoverflow.com