@ledsun blog

無味の味は佳境に入らざればすなわち知れず

人食いダンジョンへようこそ! 4

強力な魔物アラクネに追い詰められた幼なじみを、ダンジョンマスターの力を得た主人公と仲間になったモンスターは、どうやって彼女を助けるのか? 恵まれない主人公に突然力をもたらす「魔法のランプ」パターンですが、得た力がモンスター側のダンジョンマスターというピカレスクです。 主人公が人間の善性を持ちつつ、人間の方が悪意に満ちているように描かれています。 とはいえ、「魔法のランプ」パターンだとすれば、最後は力をうしなって普通の人間として生きる道を選ぶしかハッピーエンドにする方法がありません。 でもまあ、個々までの展開からして、それはなさそうですよね。 どういう結末を迎えるのでしょうか?楽しみです。エロいです。

「SAVE THE CATの法則」の2章を読んだ

前回は、脚本作りでは、最初にログライン(TLDRとか今北産業とかのことです)を磨くことが重要。 今回は、作ったログラインが、どのジャンルに属するか判定するのが重要という話でした。

ジャンルというのは、使っているギミックのことではなくて、ストーリーの種類、物語の類型のことでした。 僕は、脚本のデザインパターンと、理解しました。 なので、2つのゾンビ映画が違うジャンルに属することがあるようです。

前回同様、漫画記事を書くときに、ログラインに加えて、ジャンルも意識してみようと思います。

ジャンル

あっているかわかりませんが、ジャンル分けの練習をします。

家の中のモンスター

「家」て、捨てて逃げられない場所の事らしいです。パニック映画がこの辺みたいです。

金の羊毛

宝探しの旅のことのようです

魔法のランプ

難題に直面した平凡な奴

人生の節目

バディとの友情

なぜやったのか?

バカの勝利

組織の中で

スーパーヒーロー

前回の感想

ledsun.hatenablog.com

転生したら第七王子だったので、気ままに魔術を極めます(5)

前巻のボスを倒し、もはや敵なしの主人公。次に挑む新ジャンル神聖魔術。神聖魔術とはいったいどのような魔術なのか?主人公はどのように蹂躙していくのか? 主人公の表現は強くなりすぎて、バトルシーンで苦戦する姿は想像出来ません。

絵面的な見所は、主人公の魔術が割とダークな表現なのに対比して、神聖魔術がカラフル(漫画なので白黒ですけど)でキラキラした表現なところです。 作画の方の魔法表現の引き出しどれくらいあるんでしょうね?眼福です。

「SAVE THE CAT」の2章にあるジャンルでいうと、最初は「家のなかのモンスター」かと思いました。 それは、そういうエピソードがあるという話で、全体としては「金の羊毛」っぽいです。

WiXチュートリアルのユーザーインターフェースのサンプルをコンパイルする方法

WiX チュートリアル 日本語訳 Lesson 2 ユーザー・インタフェイス / 1. 最初のステップ

candle.exe SampleWixUI.wxs light.exe -ext WixUIExtension SampleWixUI.wixobj

とありますが、次のようなエラーが出ます。

PS C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI> light.exe -ext WixUIExtension SampleWixUI.wixobj
Windows Installer XML Toolset Linker version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.

C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(10) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(10) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(10) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(10) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(58) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(76) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(83) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(73) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(16) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(17) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(4) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(4) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(29) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(32) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\Users\led_l\wix-play-ground\Sample-2-1-WixUI\SampleWixUI.wxs(48) : error LGHT0311 : A string was provided with characters that are not available in the specified database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.

次のようにカルチャーを指定するとリンクに成功します。

light.exe -ext WixUIExtension -cultures:ja-JP SampleWixUI.wixobj

github.com

へ、プルリクエストを出せば良いと思うのですが・・・イマイチ、問題がよくわかっていないんですよね・・・。 さしあたってissueを作ります。

WiXを使ってWindowsインストーラーを作っているとBurnin' X'masする

WiXインストーラーをコンパイルするコマンドがこんな感じなんです。

candle.exe' .\SampleFirst.wxs

コマンドを打つ度に、頭の中で「キャンドルも 十字架も...」するんですよ。 作った人はそんなこと1ミリも考えてないと思うんですけど、罪なコマンド名です。

www.youtube.com

WSL向けのWindowsポートフォワード設定をスクリプト化する

WSL上で動かしているWebアプリケーションを外部から参照する - @ledsun blog で手動でやる方法はわかりました。 毎回手動でやるのは、思い出すのが大変なので、スクリプトにしました。

FOR /F "usebackq" %%i in (`wsl exec hostname -I`) DO @SET IP=%%i
netsh interface portproxy add v4tov4 listenport=8000 connectaddress=%IP%

で、有効にします。

netsh.exe interface portproxy delete v4tov4 8000

で、無効にします。 スクリプト化して良いことは、管理者権限でPowerShellを立ち上げなくて良くなったことです。 デスクトップにでも置いておいて、右クリックから「管理社として実行(A) 」できます。

バッチファイルでコマンドの実行結果を変数に代入

FOR /F "usebackq" %%i in (`wsl exec hostname -I`) DO @SET IP=%%

の部分です。なんで実行結果を取得するのにFor文が出てくるんだ?って思うけど、こう書くみたいです。

バッチファイルでコマンドの実行結果を変数に格納する | まくまくWindowsノート

FOR ループに /f "usebackq" オプションを指定することで、バッククォートで囲まれた文字列がコマンドとして解釈されるようになります。

なんだそりゃ?って感じです。 PowerShellで書いたら、もうちょっとなんとかなるのでしょうか?

消しやすいポートフォワード設定

netsh.exe interface portproxy delete v4tov4 8000

の部分です。 この命令、IPアドレスとポート番号がフルマッチです。

あるIT技術者の障害(じゃなくて生涯)対応 : ●Windowsのnetshコマンドで設定したポートフォワード設定を削除しようとしてエラー

listenportとlistenaddressは両方必要という事ですね( ´ー`)

前回みたいに、

netsh.exe interface portproxy add v4tov4 listenaddress=192.168.1.50 listenport=8000  connectaddress=172.25.208.56

て、設定しちゃうと

netsh.exe interface portproxy delete v4tov4 8000

では、削除できなくて、

netsh.exe interface portproxy delete v4tov4 listenaddress=192.168.1.50 listenport=8000 

としないと削除できません。 ホストのWindowsIPアドレスを取得するのがなかなか面倒です。 また、IPアドレス変わったら、自動では消せません。 IPアドレスなしでポートフォワード設定するのが良いようです。

WSLが[プロセスはコード 4294967295 で終了しました]

WSLが [プロセスはコード 4294967295 で終了しました] と表示されて起動出来なくなりました。

f:id:ledsun:20211117184402p:plain
WSLの起動に失敗したところ

対処方法

管理者権限のあるPowerShell

PS C:\Windows\system32>  netsh winsock reset

Winsock カタログをリセットしました。
リセットを完了するためにコンピューターを再起動する必要があります。

して、コンピューターを再起動したら直りました。

WSL2 distro failing to startup with code 4294967295 · Issue #5092 · microsoft/WSL · GitHub を参考にしました。

発生した操作

WSLのネットワークがおかしくなったので、No internet connection on WSL Ubuntu (Windows Subsystem for Linux) - Stack Overflow を参考にして

netsh winsock reset 
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

を全部実行して、コンピューターを再起動したら、起きました。

WSLのネットワークがおかしいとは?

ledsun@MSI:~/textae►ncu                                                                     (development/5|💩?↑17) 09:51
Checking /home/ledsun/textae/package.json
[--------------------] 0/48 0%/home/ledsun/.local/share/nvm/v17.0.1/lib/node_modules/npm-check-updates/build/src/index.js:27
    throw err;
    ^

FetchError: request to https://registry.npmjs.org/ajv failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org
    at ClientRequest.<anonymous> (/home/ledsun/.local/share/nvm/v17.0.1/lib/node_modules/npm-check-updates/node_modules/minipass-fetch/lib/index.js:110:14)
    at ClientRequest.emit (node:events:390:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:402:35)
    at emitErrorNT (node:internal/streams/destroy:164:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'EAI_AGAIN',
  errno: 'EAI_AGAIN',
  syscall: 'getaddrinfo',
  hostname: 'registry.npmjs.org',
  type: 'system'
}

Node.js v17.0.1

こんな感じで、registry.npmjs.orgの名前解決が出来なくなりました。

github.com

igaiga先生も、であったことがあるみたいです。 今思うと、netsh winsock resetだけ、実行したら直ったんじゃないかなあ?と思いますが、確認方法はありません。

RubyMineにPlantUML integrationプラグインをいれてREADMEに書かれたUMLを図示する

タイトル通りなんです。

インストールしただけだと、図示されませんでした。 README.mdをエディタで開いて、UMLの行の左に出てきた三角形をクリックしたら、***.jarがインストールされて、図示されるようになりました。

スクリーンショットは取り損ねました。

参考

iPadのSafariのアドレスバーでURLを編集する方法

WebアプリケーションをiPadデバッグしています。

Webアプリケーションを実行している開発PCに振られているIPアドレスが変わったときに、昨日デバッグに使ったタブを開いて アドレスバーの http://192.168.1.48:8000/dist/demo/development.htmlhttp://192.168.1.52:8000/dist/demo/development.html に変えたいです。

アドレスバーをタップすると、URL全体が選択されます。 そこで、選択領域の前端と後端を調整して48を選ぼうとします。 が、前端をタップすると、なぜか編集終了します。 これで毎回苦戦していました。

今日、上手い編集方法を見つけました。

  1. アドレスバーをタップし、URL全体を選択します。
  2. URLと×ボタンの間の領域を、2回タップします。

すると、カーソルが選択領域なしのキャレットになります。 なんと、キャレットはドラッグして移動できるんです! 48:の間に移動すれば、ソフトウェアキーボードでバックスペースキーと数字キーを操作するだけで、IPアドレスの変更が完了します! やった、便利!

絵がないとわかりにくいですね。

AndroidChromeだと、アドレスバーを編集するときに最初からキャレットです。 それに慣れていたので、URL全体が選択される挙動に戸惑っていました。

追記

ソフトウェアキーボードのSpaceキーを長押しするとキャレットになるそうです。 elimさんに教えてもらいました。

IDEの設定を同期する

Macで育てたIDEの設定を引き継ぎたいので、IDEの設定をクラウドで同期してみました。 対象のIDEは、VSCodeとRubyMineです。

VSCode

Githubアカウントで同期できるので簡単でした。 問題はprettierとかtabnineとかWSLにインストールしないと行けないプラグインがあることです。 設定を同期しただけで、即使えるわけではなくて、必要に応じてインストールが必要でした。

f:id:ledsun:20211116101855p:plain
VSCodeのWSLにインストールが必要な旨のエラー

RubyMine

最新バージョンは最初から設定の同期機能が有効になっています。 WindowsにインストールしたRubyMineでは設定がすぐ見つかりました。 Macの方は、設定方法が見つからず迷いました。

IDE 設定を共有する | RubyMine

設定 / 環境設定ダイアログ Ctrl+Alt+S のプラグインで、IDE 設定の同期プラグインが有効になっていることを確認します。

RubyMineはWSLで動かす方法がわかっていないので、WSL用の設定は特に何もしていません。

キー配置をDvorakにするインストーラーを作る

WiXというツールをつかってWindows用のインストーラーを作る勉強をしています。

練習用に、その中でレジストリに値を書き込む機能があったので、WindowsでDvorakキー配置 - @ledsun blog で設定したリポジトリキーを書き込むインストーラーを作成してみました。

次のようなXMLファイルを作ります。

<?xml version='1.0' encoding='utf-8'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>

  <Product Name='Dvorak Keymap'
           Id='8CFF2094-8718-44B8-9128-195BF79D39E2'
           UpgradeCode='A0419383-3A0F-4571-B588-309A4090DE3A'
           Language='1041' Codepage='932'
           Version='1.0.0' Manufacturer='ledsun'>

    <Package Id='*' Keywords='Dvorak Keymap'
             Description="レジストリにキー配置をDvorakにするためのScancode Mapを書き込みます。"
             Manufacturer='ledsun' InstallerVersion='100'
             Languages='1041' Compressed='yes' SummaryCodepage='932' />

    <Directory Id='TARGETDIR' Name='SourceDir'>

      <Component Id="ScancodeMap"
                 Guid="B061CD08-398B-47D2-8BAC-B3DA45CCE0D5">
        <RegistryValue Root='HKLM'
                       Key='SYSTEM\CurrentControlSet\Control\Keyboard Layout'
                       Name='Scancode Map'
                       Type='binary' 
                       Value='0000000000000000250000001a000c001b000d002b007d00280010003300110034001200190013001500140021001500220016002e001700130018002600190035001a000d001b001d003a0018001f00120020001600210017002200200023002300240014002500310026001f0027000c00280027002c0010002d0024002e0025002f002d00300030003100110033002f0034002c0035003a001d0000000000'
                       />
      </Component>
      
    </Directory>

    <Feature Id='Complete' Level='1'>
      <ComponentRef Id='ScancodeMap' />
    </Feature>

    <InstallExecuteSequence>
      <ScheduleReboot After="InstallFinalize"/>
    </InstallExecuteSequence>
  </Product>
</Wix>

次のコマンドで、msiファイルをビルドできます。

PS C:\Users\led_l\wix-play-ground\Dvorak> candle.exe Dvorak.wix     
candle.exe : error CNDL0103 : The system cannot find the file 'Dvorak.wix' with type 'Source'.
PS C:\Users\led_l\wix-play-ground\Dvorak> candle.exe .\Dvorak.wxs
Windows Installer XML Toolset Compiler version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.

Dvorak.wxs
PS C:\Users\led_l\wix-play-ground\Dvorak> light.exe .\Dvorak.wixobj
Windows Installer XML Toolset Linker version 3.11.2.4516
Copyright (c) .NET Foundation and contributors. All rights reserved.

C:\Users\led_l\AppData\Local\Temp\ruhtlg0c\Dvorak.msi : warning LGHT1076 : ICE71: The Media table has no entries.

warning LGHT1076 : ICE71: The Media table has no entries.

と、警告が出ています。 インストールするファイルがないためではないかと思います。 Windowsインストーラーで、レジストリだけ書き込むという使い方は想定していないのだと思います。 ていうか、バッチファイルかけば十分そうですよね*1

理解を深めるために、XMLファイルの内容を説明します。

    <Feature Id='Complete' Level='1'>
      <ComponentRef Id='ScancodeMap' />
    </Feature>

インストーラーが完了したときの状態を定義します。

      <Component Id="ScancodeMap"
                 Guid="B061CD08-398B-47D2-8BAC-B3DA45CCE0D5">
        <RegistryValue Root='HKLM'
                       Key='SYSTEM\CurrentControlSet\Control\Keyboard Layout'
                       Name='Scancode Map'
                       Type='binary' 
                       Value='0000000000000000250000001a000c001b000d002b007d00280010003300110034001200190013001500140021001500220016002e001700130018002600190035001a000d001b001d003a0018001f00120020001600210017002200200023002300240014002500310026001f0027000c00280027002c0010002d0024002e0025002f002d00300030003100110033002f0034002c0035003a001d0000000000'
                       />
      </Component>

レジストリにキーマップを変更する値を書き込みます。 Scancode Mapはなければ、デフォルトのキー配置が使われるだけなので、インストール前の状態に戻すみたいな処理はしていません。 アンインストールすると、単に削除されます。

Scancode Mapは1つしか値が持てないので、Dvorak配置にする変更と、CtrlキーとCapsキーを入れ替える変更は、まとめて1つの値に書きます。 実際、このバイナリ値は、Dvorak配置とCtrlキーとCapsキーの入れ替えが両方入っています。

    <InstallExecuteSequence>
      <ScheduleReboot After="InstallFinalize"/>
    </InstallExecuteSequence>

Scancode Mapを反映するには再起動が必要です。 インストール/アンインストール完了時にOSを再起動します。

勇者に敗北した魔王様は返り咲くために魔物ギルドを作ることにしました。 4

魔王様がせっかく助けた蛇姫様は引きこもりになり、人間からは大軍を差し向けられ、魔王様はこの窮状をどうくぐり抜けるのか?

大技魔法はバンバン繰り出されるし、クリーチャーデザインは更新されまくるし、「ベルセルク」と「ガイバー」がいっぺんに来たみたいな感じで素晴らしいです。

そういえば、ガイバーは32巻で止まっちゃっているみたいです。 現在漫画「強殖装甲ガイバー」打ち切り理由や休載理由はなぜ?連載再開(最終回)しない?最新刊33巻はいつ? 5年間、公式情報なしというのは・・・音信不通なのかもしれないですね。

A-X-L/アクセル 於 Netflix

www.youtube.com

Netflixで見ました。 https://www.netflix.com/watch/80195967

ETみたいなボーイミーツ怪異なジュブナイル映画。ただし、少年はモトクロスライダーで、怪異は軍用ロボット犬。 2018年のアメリカのファミリー映画です。

モトクロスバイクで、ロボット犬と戯れる絵面が素晴らしい。 「犬神」で主人公が23の背中に乗って夜の街を駆け抜けるのと同じくらい素晴らしい。 です。

興味深いのは、ロボット犬なのに、走る動きは犬よりライオンっぽい点です。 確かにロボット犬は、モトクロスバイクと同じかちょっと大きい感じなので、数百kg~1tあってもおかしくないです。 そう考えると100kgもない犬のモーションより、200kg近いライオンのモーションの方が雰囲気が出るのかもしれません。

ロボット犬バディは、90年代だと「クライシスダイバー」みたいになりそうなんですが、2010年代だとこうなるんですね。

参考

2011/11/20 追記

「Save the cat」の2章によると、ETのような映画の代表作に「少年と犬」という映画があるそうです。 そういえば、僕のこのジャンルの原体験は「ナイトライダー」「魔神英雄伝ワタルナルニア国物語の「馬と少年」辺りです。

ThinkPad TrackPoint Keyboard II 英語配列

プログラマのワークフロムホームが普通になった現代ですが、 最近、新しい働き方としてリアルオフィスワークを試しています。

ノートパソコンの組み込みキーボードだと、機種によって配置に慣れなくて不便です。 家では、外付けの分割キーボードとトラックボールを使っています。 分割キーボードはかさばるので、通勤時に運ぶのが大変です。 トラックボールまで運ぶとなると、なおさらです。

WindowsでもMacでも繋がります。 Macの場合はBluetooth接続すると、毎回接続しなおしなです。 常用するには不便ですが、ワークフロムオフィスの時だけ使う分には、問題ないでしょう。 意外と、自分が赤ポチ操作に慣れていて、一緒に持って行ったトラックボール使いませんでした。

ノートPCと重ねれば2cm厚みが増える程度なので、オフィスワークの通勤時はこれだけ持って行くのがよさそうです。 実際には、このほかにケーブルとかACアダプターとかも運びます。

「SAVE THE CATの法則」の最初の方だけ読んだ

最初の方、1章の半分くらいまで読みました。 ログラインが大事だという話が書いてありました。 なるほど、ブログの漫画記事を書くときに、ログラインを書くつもりで書くのが良さそうと思いつき、試してみることにしました。

ブログの漫画記事を書くときに、次のような悩みがあったのです。 具体的なネタバレするのもあんまりだし、ピンポイントで特徴を探してきて分析みたいなことができるわけでなし、かといって何も書かないと記憶の彼方に消滅するし・・・