漫画、作曲、ラップ、プログラミングをやっています。I am Keita Roimo: Manga Artist, Musician, Rapper, Software Engineer.
Friday, April 20, 2018
Thursday, April 19, 2018
Virtualbox cannot be installed on MacOSX Sierra with the msg : installer: The install failed (The Installer encountered an error that caused the installation to fa...
It is blocked because of your security configuration.
On System Preference > Security and Privacy, on the right below, you see Allow button.
You need to push that button, since the access control blocking your installation.
https://apple.stackexchange.com/questions/301303/virtualbox-5-1-28-fails-to-install-on-macos-10-13-due-to-kext-security
.so や.dylib関数の中身をのぞく方法
以下のコマンドを使うといいらしい。これはLinux/Unix-y systemどちらでも使える。
nm -g engines/libvsapi.dylib
実行すると以下のようになる
0000000000292780 S _AMG_VSdt
0000000000099980 T _AddChunkInfo
000000000009a170 T _AddContentInfo
00000000000998a0 T _AddFileInfoToList
0000000000099670 T _AddFileToContentMgr
00000000001d21b0 T _AddProc
00000000001af090 T _AddStr2JvsBuf
00000000001b19f0 T _AddStr2VbsBuf
00000000001b1a70 T _AddStr2VbsBufx
00000000001b3780 T _AddStr2XmlBuf
00000000001d2220 T _AddVar
00000000000c7430 T _AfiDebugDTKeep
00000000000c7440 T _AfiDebugPrint
00000000001b4dc0 T _AnalyzeTagToken
00000000001aa810 T _AnalyzeTextDNA
0000000000011510 T _BASE_ARCBLK_GetAddSize
00000000000116c0 T _BASE_ARCBLK_LoadBlock
0000000000011530 T _BASE_ARCBLK_ReadAddSizeBlock
0000000000016b50 T _BASE_BITWIDTH_Init
0000000000016140 T _BASE_BUFREAD_Close
00000000000160e0 T _BASE_BUFREAD_Open
0000000000015ea0 T _BASE_BUFREAD_Read
0000000000016040 T _BASE_BUFREAD_Seek
0000000000016170 T _BASE_BUFREAD_Tell
0000000000270d60 S _BASE_CPRDCPR_SOUND_CHANNELNUM
0000000000270d40 S _BASE_CPRDCPR_SOUND_MODELS
0000000000016c40 T _BASE_CRC_GetCRC
0000000000016c80 T _BASE_CRC_MakeCRCTable
00000000000126c0 T _BASE_DCPR_AddBits
00000000000154e0 T _BASE_DCPR_Block
00000000000150b0 T _BASE_DCPR_DecompressV20Block
0000000000011110 T _BASE_DCPR_Done
0000000000012660 T _BASE_DCPR_DoneFile
0000000000015cb0 T _BASE_DCPR_FillReadBuf
0000000000011ef0 T _BASE_DCPR_HUFF_MakeCodes
0000000000012bf0 T _BASE_DCPR_HUFF_ReadWidths
0000000000011000 T _BASE_DCPR_Init
00000000000159e0 T _BASE_DCPR_InitFile
0000000000013cb0 T _BASE_DCPR_LZ77_Block
0000000000013810 T _BASE_DCPR_LZ77_BlockCore
0000000000012ff0 T _BASE_DCPR_LZ77_CalcHuffTabs
00000000000124b0 T _BASE_DCPR_LZ77_CopyString
0000000000010f50 T _BASE_DCPR_LZ77_CopyToDictionary
0000000000013e60 T _BASE_DCPR_LZ77_PreprocessBlock
0000000000014230 T _BASE_DCPR_LZ77_ReadSymbols
00000000000129d0 T _BASE_DCPR_LZ77_ReadSymbolsCore
00000000000111c0 T _BASE_DCPR_LZ77_WriteChar
0000000000014bf0 T _BASE_DCPR_PIC_Block
0000000000011160 T _BASE_DCPR_PIC_Done
0000000000011200 T _BASE_DCPR_PIC_GetContext
0000000000012920 T _BASE_DCPR_PIC_GolombRice
0000000000014db0 T _BASE_DCPR_PIC_Init
0000000000011340 T _BASE_DCPR_PIC_InitModel
00000000000113b0 T _BASE_DCPR_PIC_InitQuantizers
0000000000014910 T _BASE_DCPR_PIC_Line
00000000000143a0 T _BASE_DCPR_PIC_Pixel
00000000000125a0 T _BASE_DCPR_PIC_SetPixelState
0000000000011250 T _BASE_DCPR_PIC_SetPixels1
0000000000011310 T _BASE_DCPR_PIC_SetPixels2
00000000000147f0 T _BASE_DCPR_PIC_Symbol
00000000000134d0 T _BASE_DCPR_SOUND_Block
0000000000012ef0 T _BASE_DCPR_SOUND_CalcDcprTabs
0000000000013100 T _BASE_DCPR_SOUND_Get
00000000000114b0 T _BASE_DCPR_SOUND_GetPredictedChar
0000000000013660 T _BASE_DCPR_SOUND_GetSymbol
0000000000010fa0 T _BASE_DCPR_SOUND_Init
00000000000121a0 T _BASE_DCPR_SOUND_RarAdjust
0000000000012120 T _BASE_DCPR_SOUND_RarPredict
00000000000157e0 T _BASE_DCPR_UnstoreBlock
0000000000016250 T _BASE_EXTRACT_DecompressFile
0000000000010f10 T _BASE_MEMORY_MemCopy
0000000000010ef0 T _BASE_MEMORY_MemSet16
0000000000016c90 T _BASE_PATHFUNC_ToSystemPathSeparatorN
0000000000016ea0 T _BASE_QSORT_DoQuicksort
0000000000016cc0 T _BASE_QSORT_SortRange
0000000000016b70 T _BASE_QSORT_XchgElements
0000000000016b90 T _BASE_STATE_OutputProgress
000000000028b4c0 S _BISTROBPtn
000000000028b660 S _BISTROPtn
00000000002749a0 S _BZ2_crc32Table
00000000002741a0 S _BZ2_rNums
00000000000c7460 T _BufDebug2File
00000000000c7450 T _BufDebugPrint
0000000000214480 T _BuildKey
00000000002880e2 S _CEdl_Mark
0000000000275efc S _COMPOBJ_Mark
00000000002835e0 S _CONTENT_TYPE_STR
0000000000276560 S _CRC_16_CCITT
00000000002880e7 S _CVba_Mark
000000000015a9c0 T _CalculateSha1ByHandleWithOffset
0000000000029d40 T _CheckAutoIt325UpHeader
00000000001954e0 T _CheckMFilter
00000000001ae810 T _CheckQuotedString
000000000014b1d0 T _ClearUpPolicyVirusInfoList
00000000001ed010 T _ConvertStringAndKeepTrailer
00000000001ed1e0 T _ConvertStringByHandle
00000000000995c0 T _ConvertToCompressMethod
00000000001f3400 T _ConvertUTF16toUTF8
00000000001ecf00 T _ConvertUTF16toUTF8AndKeepTrailer
0000000000099520 T _CountFieldOptionSize
000000000009a030 T _CountFieldSettingSize
00000000001ecbc0 T _CreateAllPDir
0000000000098310 T _CreateDataBlock
00000000001e7660 T _CreateFBCBStructure
000000000009ac70 T _CreateTempFileHandle
00000000002927c0 S _CusDef_VSdt
000000000004f290 T _CutLine_GenericEmbed
0000000000064f20 T _DBuf_DataCopy
00000000000647a0 T _DBuf_FreeAll
00000000000645c0 T _DBuf_GetItemById
0000000000064e60 T _DBuf_ParseLoadBufParam
0000000000064970 T _DBuf_ParseLoadBufParam2
0000000000064740 T _DBuf_ResetAll
00000000000652a0 T _DBuf_SetSize
0000000000016ed0 T _DC_BASE_STATE_WriteFile
000000000029aff4 S _DWG_Signature
00000000000c7370 T _DebugPrint
000000000009c620 T _DecodeFileContent
00000000001ab490 T _DecodeQuotedString
00000000001ecc20 T _DeleteCreatedDir
000000000007fbd0 T _DestroyExcepList
000000000015de60 T _DoUnescapeString
00000000002848a0 S _ENCRYPT_XML_VERSION
00000000000099d0 T _ExBase64Decode_html_uri_data
0000000000010ba0 T _ExZipintegrationCollect
0000000000010720 T _ExZipintegrationScan
0000000000098c80 T _ExeDecoder_After5020
0000000000098b30 T _ExeDecoder_Before5020
0000000000285aa0 S _ExpEscape
0000000000098490 T _ExtractContentToHandle
000000000009b5c0 T _ExtractFileContentHeader
0000000000098ac0 T _ExtractFromDecompressData
00000000001f5390 T _FeatureArray_FreeData
00000000001f5440 T _FeatureArray_GetByID
00000000001f5540 T _FeatureArray_GetFirst
00000000001f50b0 T _FeatureArray_GetNext
00000000001f4a70 T _FeatureArray_Init
00000000001f4ab0 T _FeatureArray_IsAllDisable
00000000001f5580 T _FeatureArray_IsAnyEnable
00000000001f54c0 T _FeatureArray_IsEnable
00000000001f55e0 T _FeatureArray_SetBytes
00000000001f5490 T _FeatureArray_SetDisableByID
00000000001f5460 T _FeatureArray_SetEnableByID
00000000001f5500 T _FeatureArray_SetInt32
00000000001f5630 T _FeatureArray_SetString
00000000002880b0 S _FileContent_Mark
00000000002023a0 T _FillWin32CrcPattern
0000000000022b40 T _FldcEntry
00000000001b3e70 T _FndScrTag
00000000001a6370 T _FoundStrInTab
00000000001b1b00 T _FoundStrInVBSXTab
00000000001af100 T _FoundStrInXTab2
00000000002926c0 S _FoxmailMBX_VSdt
00000000001a1580 T _FreePTPtn
00000000001aa250 T _FreeSTPtn
00000000001a8490 T _FreeScriptCRC
00000000000ab080 T _FreeVirusPattern
00000000001e6820 T _GPBGetData
00000000001e6840 T _GPBGetDataSize
00000000001e6800 T _GPBResetData
00000000001e8420 T _GPBWriteBytes
00000000001e83a0 T _GPBWriteGPB
00000000001e8300 T _GPBWriteInt32
00000000001e88a0 T _GPBWriteInt64
00000000001e6af0 T _GPBWriteRawChar
00000000001e6850 T _GPBWriteRawData
00000000001e8280 T _GPBWriteString
00000000001b8b40 T _GenerateTLSHByHandle
0000000000098210 T _GetCompressionInfo
0000000000099bd0 T _GetContentInfoElement
00000000001463c0 T _GetDWGObjBgnEnd
0000000000086110 T _GetEA16
0000000000086610 T _GetEA_32
ちな、例えばRubyでこれらの関数を呼び出したい場合、Fiddleを使う。
参考リンク
https://tipszone.jp/20140211_dynamic-link/
nm -g engines/libvsapi.dylib
実行すると以下のようになる
0000000000292780 S _AMG_VSdt
0000000000099980 T _AddChunkInfo
000000000009a170 T _AddContentInfo
00000000000998a0 T _AddFileInfoToList
0000000000099670 T _AddFileToContentMgr
00000000001d21b0 T _AddProc
00000000001af090 T _AddStr2JvsBuf
00000000001b19f0 T _AddStr2VbsBuf
00000000001b1a70 T _AddStr2VbsBufx
00000000001b3780 T _AddStr2XmlBuf
00000000001d2220 T _AddVar
00000000000c7430 T _AfiDebugDTKeep
00000000000c7440 T _AfiDebugPrint
00000000001b4dc0 T _AnalyzeTagToken
00000000001aa810 T _AnalyzeTextDNA
0000000000011510 T _BASE_ARCBLK_GetAddSize
00000000000116c0 T _BASE_ARCBLK_LoadBlock
0000000000011530 T _BASE_ARCBLK_ReadAddSizeBlock
0000000000016b50 T _BASE_BITWIDTH_Init
0000000000016140 T _BASE_BUFREAD_Close
00000000000160e0 T _BASE_BUFREAD_Open
0000000000015ea0 T _BASE_BUFREAD_Read
0000000000016040 T _BASE_BUFREAD_Seek
0000000000016170 T _BASE_BUFREAD_Tell
0000000000270d60 S _BASE_CPRDCPR_SOUND_CHANNELNUM
0000000000270d40 S _BASE_CPRDCPR_SOUND_MODELS
0000000000016c40 T _BASE_CRC_GetCRC
0000000000016c80 T _BASE_CRC_MakeCRCTable
00000000000126c0 T _BASE_DCPR_AddBits
00000000000154e0 T _BASE_DCPR_Block
00000000000150b0 T _BASE_DCPR_DecompressV20Block
0000000000011110 T _BASE_DCPR_Done
0000000000012660 T _BASE_DCPR_DoneFile
0000000000015cb0 T _BASE_DCPR_FillReadBuf
0000000000011ef0 T _BASE_DCPR_HUFF_MakeCodes
0000000000012bf0 T _BASE_DCPR_HUFF_ReadWidths
0000000000011000 T _BASE_DCPR_Init
00000000000159e0 T _BASE_DCPR_InitFile
0000000000013cb0 T _BASE_DCPR_LZ77_Block
0000000000013810 T _BASE_DCPR_LZ77_BlockCore
0000000000012ff0 T _BASE_DCPR_LZ77_CalcHuffTabs
00000000000124b0 T _BASE_DCPR_LZ77_CopyString
0000000000010f50 T _BASE_DCPR_LZ77_CopyToDictionary
0000000000013e60 T _BASE_DCPR_LZ77_PreprocessBlock
0000000000014230 T _BASE_DCPR_LZ77_ReadSymbols
00000000000129d0 T _BASE_DCPR_LZ77_ReadSymbolsCore
00000000000111c0 T _BASE_DCPR_LZ77_WriteChar
0000000000014bf0 T _BASE_DCPR_PIC_Block
0000000000011160 T _BASE_DCPR_PIC_Done
0000000000011200 T _BASE_DCPR_PIC_GetContext
0000000000012920 T _BASE_DCPR_PIC_GolombRice
0000000000014db0 T _BASE_DCPR_PIC_Init
0000000000011340 T _BASE_DCPR_PIC_InitModel
00000000000113b0 T _BASE_DCPR_PIC_InitQuantizers
0000000000014910 T _BASE_DCPR_PIC_Line
00000000000143a0 T _BASE_DCPR_PIC_Pixel
00000000000125a0 T _BASE_DCPR_PIC_SetPixelState
0000000000011250 T _BASE_DCPR_PIC_SetPixels1
0000000000011310 T _BASE_DCPR_PIC_SetPixels2
00000000000147f0 T _BASE_DCPR_PIC_Symbol
00000000000134d0 T _BASE_DCPR_SOUND_Block
0000000000012ef0 T _BASE_DCPR_SOUND_CalcDcprTabs
0000000000013100 T _BASE_DCPR_SOUND_Get
00000000000114b0 T _BASE_DCPR_SOUND_GetPredictedChar
0000000000013660 T _BASE_DCPR_SOUND_GetSymbol
0000000000010fa0 T _BASE_DCPR_SOUND_Init
00000000000121a0 T _BASE_DCPR_SOUND_RarAdjust
0000000000012120 T _BASE_DCPR_SOUND_RarPredict
00000000000157e0 T _BASE_DCPR_UnstoreBlock
0000000000016250 T _BASE_EXTRACT_DecompressFile
0000000000010f10 T _BASE_MEMORY_MemCopy
0000000000010ef0 T _BASE_MEMORY_MemSet16
0000000000016c90 T _BASE_PATHFUNC_ToSystemPathSeparatorN
0000000000016ea0 T _BASE_QSORT_DoQuicksort
0000000000016cc0 T _BASE_QSORT_SortRange
0000000000016b70 T _BASE_QSORT_XchgElements
0000000000016b90 T _BASE_STATE_OutputProgress
000000000028b4c0 S _BISTROBPtn
000000000028b660 S _BISTROPtn
00000000002749a0 S _BZ2_crc32Table
00000000002741a0 S _BZ2_rNums
00000000000c7460 T _BufDebug2File
00000000000c7450 T _BufDebugPrint
0000000000214480 T _BuildKey
00000000002880e2 S _CEdl_Mark
0000000000275efc S _COMPOBJ_Mark
00000000002835e0 S _CONTENT_TYPE_STR
0000000000276560 S _CRC_16_CCITT
00000000002880e7 S _CVba_Mark
000000000015a9c0 T _CalculateSha1ByHandleWithOffset
0000000000029d40 T _CheckAutoIt325UpHeader
00000000001954e0 T _CheckMFilter
00000000001ae810 T _CheckQuotedString
000000000014b1d0 T _ClearUpPolicyVirusInfoList
00000000001ed010 T _ConvertStringAndKeepTrailer
00000000001ed1e0 T _ConvertStringByHandle
00000000000995c0 T _ConvertToCompressMethod
00000000001f3400 T _ConvertUTF16toUTF8
00000000001ecf00 T _ConvertUTF16toUTF8AndKeepTrailer
0000000000099520 T _CountFieldOptionSize
000000000009a030 T _CountFieldSettingSize
00000000001ecbc0 T _CreateAllPDir
0000000000098310 T _CreateDataBlock
00000000001e7660 T _CreateFBCBStructure
000000000009ac70 T _CreateTempFileHandle
00000000002927c0 S _CusDef_VSdt
000000000004f290 T _CutLine_GenericEmbed
0000000000064f20 T _DBuf_DataCopy
00000000000647a0 T _DBuf_FreeAll
00000000000645c0 T _DBuf_GetItemById
0000000000064e60 T _DBuf_ParseLoadBufParam
0000000000064970 T _DBuf_ParseLoadBufParam2
0000000000064740 T _DBuf_ResetAll
00000000000652a0 T _DBuf_SetSize
0000000000016ed0 T _DC_BASE_STATE_WriteFile
000000000029aff4 S _DWG_Signature
00000000000c7370 T _DebugPrint
000000000009c620 T _DecodeFileContent
00000000001ab490 T _DecodeQuotedString
00000000001ecc20 T _DeleteCreatedDir
000000000007fbd0 T _DestroyExcepList
000000000015de60 T _DoUnescapeString
00000000002848a0 S _ENCRYPT_XML_VERSION
00000000000099d0 T _ExBase64Decode_html_uri_data
0000000000010ba0 T _ExZipintegrationCollect
0000000000010720 T _ExZipintegrationScan
0000000000098c80 T _ExeDecoder_After5020
0000000000098b30 T _ExeDecoder_Before5020
0000000000285aa0 S _ExpEscape
0000000000098490 T _ExtractContentToHandle
000000000009b5c0 T _ExtractFileContentHeader
0000000000098ac0 T _ExtractFromDecompressData
00000000001f5390 T _FeatureArray_FreeData
00000000001f5440 T _FeatureArray_GetByID
00000000001f5540 T _FeatureArray_GetFirst
00000000001f50b0 T _FeatureArray_GetNext
00000000001f4a70 T _FeatureArray_Init
00000000001f4ab0 T _FeatureArray_IsAllDisable
00000000001f5580 T _FeatureArray_IsAnyEnable
00000000001f54c0 T _FeatureArray_IsEnable
00000000001f55e0 T _FeatureArray_SetBytes
00000000001f5490 T _FeatureArray_SetDisableByID
00000000001f5460 T _FeatureArray_SetEnableByID
00000000001f5500 T _FeatureArray_SetInt32
00000000001f5630 T _FeatureArray_SetString
00000000002880b0 S _FileContent_Mark
00000000002023a0 T _FillWin32CrcPattern
0000000000022b40 T _FldcEntry
00000000001b3e70 T _FndScrTag
00000000001a6370 T _FoundStrInTab
00000000001b1b00 T _FoundStrInVBSXTab
00000000001af100 T _FoundStrInXTab2
00000000002926c0 S _FoxmailMBX_VSdt
00000000001a1580 T _FreePTPtn
00000000001aa250 T _FreeSTPtn
00000000001a8490 T _FreeScriptCRC
00000000000ab080 T _FreeVirusPattern
00000000001e6820 T _GPBGetData
00000000001e6840 T _GPBGetDataSize
00000000001e6800 T _GPBResetData
00000000001e8420 T _GPBWriteBytes
00000000001e83a0 T _GPBWriteGPB
00000000001e8300 T _GPBWriteInt32
00000000001e88a0 T _GPBWriteInt64
00000000001e6af0 T _GPBWriteRawChar
00000000001e6850 T _GPBWriteRawData
00000000001e8280 T _GPBWriteString
00000000001b8b40 T _GenerateTLSHByHandle
0000000000098210 T _GetCompressionInfo
0000000000099bd0 T _GetContentInfoElement
00000000001463c0 T _GetDWGObjBgnEnd
0000000000086110 T _GetEA16
0000000000086610 T _GetEA_32
ちな、例えばRubyでこれらの関数を呼び出したい場合、Fiddleを使う。
参考リンク
https://tipszone.jp/20140211_dynamic-link/
Saturday, April 14, 2018
小説練習
漫画とかのための練習用(以下のやつはフィクションです。実際の人物、事件には一切関係有馬シェン)
園田は抑うつ状態になっていた。彼は中小企業の派遣SEで、あまり賢い方ではなかった。
彼は生活の反復に疲れていた。都会は刺激にまみれている、と目を輝かせ上京。彼の目の前には素晴らしい充実と幸福、成功があるはずであった。
でもそれは違った。彼は人を怖れた。人の蔑むような目、見下したような表情、無言の圧力、憎悪、虚勢、ヘイト。義務や社会的責任という重圧により彼は彼を律した。
毎日夜遅くまで会社に残る。デスマーチで、リーダーは人殺しのような顔で園田を睨みつけ、怒鳴りつけた。
大人の社会にもスケープゴートが必要だ。
下に見て安心できる存在。ネット上の掲示板や動画サイトにはそれが溢れている。
都会は彼にとって薄暗い繰り返しに見えた。彼の目から光は消え、表情は苦悶と恐れに変わった。
このまま苦しみをループしながら年をとる。年を重ねるたび、身体機能は低下し、見た目は醜くなるため、心が尖っていく未来が園田には予想できる。
年をとると肉体の価値は下がっていく。価値を保つためには、社会的成功や地位を確立しなくてはいけない。水戸黄門の印籠のように、肩書きや地位を競い合う、ゼロサムゲーム。
SNSで成功を競い合い、リア充ぶりをアピールする、そんなゼロサムゲーム。
「俺は何だ」
園田は立ち尽くす。煩い電車の軋む音や右翼の軍歌が微かに響き渡る高架橋下、僕にとって幸福とは何か。
彼は今日職場を無断欠席したのだ。
頭がガンガンする。鉛玉のようなものが前頭葉に埋まった感覚、自分という存在が否定された瞬間。大人の社会で生きるということは、常にこの「お前はいらない」という強迫観念から逃げ続けるゲームだ。
この強迫観念から逃げるため、誰かから責められることから逃げるため、そのエネルギーは、もっと弱者にたむけられる。存在しているだけで肯定されたのは子供のときだけ。そこからは存在には対価を渡さなければならない。存在自体の肯定は何かを生産した(ないしそのように見せかけた)対価だ。
ネクラな園田は友達も少ない。親も早くに他界した。愛するべき人はいない。
園田には生きる意味がない。唯一の救いは仮想現実だった。夜の繁華街に消え、束の間の安堵をえる。酒を浴びることで、痛みを感じている心は一瞬でも和らぐ。人と関わることに希望が持てない。先細りの暗い洞窟。
そしていつかは死ぬ。死ぬという最終地点に向かって、それを思うと、おそらく今与えられている全ての悲しみはただの仮象であるのかもしれない。今生きているけど、死ぬというのはおそらくは、はじめの状態へ戻るということで、はじめの状態について僕たちは経験してきたんだ。
彼はこのように独白していた。
「つまり生きていない状態から生きている状態に、そして最後に元の状態に」
それは少し楽な発想だった。
野々村はこの園田の大学時代の数少ない友人であった。彼らは惰性のように会っては愚痴を言い合っていたが、野々村は園田に辟易していた。
園田の持つ負のオーラ。
ひとの持つ負のオーラはこっちにまで伝染する。例えば、救い用のないギャンブル依存の人間を更正させようと、救いの手を差し伸べたとして、こいつはその手の持ち主をしゃぶり尽くす。
園田と野々村は共通の知人を通じて知り合った。二人とも同じ宗教に入っていて、その点親近感とかもあった。
家庭訪問のノルマがあり、この二人は青年団として、よく足立区を回った仲だったから。
「だが俺は」
野々村は鬱屈の溜まったような際どい顔で園田を凝視する。
「お前みたいに暗いやつは嫌いだね」
鳥貴族でこのブサイクな二人は傷を慰めあうでもなく、そのようにつるんでいた。
「でももうやりきれないんだ。誰かに聞いて欲しいんだ」
「俺はボランティアじゃないから。そのちゃん。それにそういう哲学的な話も好きじゃない。一銭の特にもならない。」
「そのちゃんやっぱ暗いんだよ。そういうのが顔に出てる。蓄積。地層みたいなもんなんだよ。」
「そう、、、、かな、、、、」
野々村は野々村で、この園田という28歳童貞くんに説教し、優越感を感じ、主従関係を作ることで自分の快楽の道具にしているきらいもあった。
「でもやっぱりみんな最後は死ぬんだよね。」
そりゃそうだ、そうだけどそんなこと考えて生きてるやつってキモくね?お前キモいじゃん。
「ハイデガーはね、死というところから実存を定義したって….」
またオメーのクソみてえな哲学講義か。
野々村の顔が死んだ魚のような、侮辱的な顔に変わる。
このような救いようのない関係ですら、相互依存なのかもしれない。
でも。園田はこの必ず最後は死ななくてはならないということを忘れてはならないと感じていた。
10年はとても早く、10年のサイクルで人は大幅に劣化する。
この劣化は、死に向かっていくスロットだ。10年は大きい。
どんなに家族に囲まれて死のうが、4畳半で誰に見つからずに死のうが、死んだあとというのは、そこにはさら地が残るだけである。
人間は情報自体のレプリケーションは可能だが、意識やポインタ自体のレプリケーションや継承はできない。
それは消えるのだ。そのため、親と子供はある意味で別の人格であり連続していて、かつ連続していない。
園田はさらに考える。
死ということが決まっているとすれば、人は、自分自身のためだけに生きるということはできない。それを自己の短期的な社会的利益のために演出する、というケースをのぞいて、自分自身は普遍的に連続し得ない個体であるから、それは土に還るし、そうしたら、誰かを、自分と関わる人間を支えること、助けること、与えること、作ること。
これによってしか、人間の実存は成立し得ない。
すなわち、社会と関わるということだ。
野々村の口が歪む。
「机上の空論だよね。リヴァイアサンだろ。競争社会に負けたやつの言い訳にしか聞こえないね」
園田は少し気分が良くなったらしい。
野々村はレバ刺しをひっくり返しながらこう呟く。
「園田くん、現実みなよ」
園田は抑うつ状態になっていた。彼は中小企業の派遣SEで、あまり賢い方ではなかった。
彼は生活の反復に疲れていた。都会は刺激にまみれている、と目を輝かせ上京。彼の目の前には素晴らしい充実と幸福、成功があるはずであった。
でもそれは違った。彼は人を怖れた。人の蔑むような目、見下したような表情、無言の圧力、憎悪、虚勢、ヘイト。義務や社会的責任という重圧により彼は彼を律した。
毎日夜遅くまで会社に残る。デスマーチで、リーダーは人殺しのような顔で園田を睨みつけ、怒鳴りつけた。
大人の社会にもスケープゴートが必要だ。
下に見て安心できる存在。ネット上の掲示板や動画サイトにはそれが溢れている。
都会は彼にとって薄暗い繰り返しに見えた。彼の目から光は消え、表情は苦悶と恐れに変わった。
このまま苦しみをループしながら年をとる。年を重ねるたび、身体機能は低下し、見た目は醜くなるため、心が尖っていく未来が園田には予想できる。
年をとると肉体の価値は下がっていく。価値を保つためには、社会的成功や地位を確立しなくてはいけない。水戸黄門の印籠のように、肩書きや地位を競い合う、ゼロサムゲーム。
SNSで成功を競い合い、リア充ぶりをアピールする、そんなゼロサムゲーム。
「俺は何だ」
園田は立ち尽くす。煩い電車の軋む音や右翼の軍歌が微かに響き渡る高架橋下、僕にとって幸福とは何か。
彼は今日職場を無断欠席したのだ。
頭がガンガンする。鉛玉のようなものが前頭葉に埋まった感覚、自分という存在が否定された瞬間。大人の社会で生きるということは、常にこの「お前はいらない」という強迫観念から逃げ続けるゲームだ。
この強迫観念から逃げるため、誰かから責められることから逃げるため、そのエネルギーは、もっと弱者にたむけられる。存在しているだけで肯定されたのは子供のときだけ。そこからは存在には対価を渡さなければならない。存在自体の肯定は何かを生産した(ないしそのように見せかけた)対価だ。
ネクラな園田は友達も少ない。親も早くに他界した。愛するべき人はいない。
園田には生きる意味がない。唯一の救いは仮想現実だった。夜の繁華街に消え、束の間の安堵をえる。酒を浴びることで、痛みを感じている心は一瞬でも和らぐ。人と関わることに希望が持てない。先細りの暗い洞窟。
そしていつかは死ぬ。死ぬという最終地点に向かって、それを思うと、おそらく今与えられている全ての悲しみはただの仮象であるのかもしれない。今生きているけど、死ぬというのはおそらくは、はじめの状態へ戻るということで、はじめの状態について僕たちは経験してきたんだ。
彼はこのように独白していた。
「つまり生きていない状態から生きている状態に、そして最後に元の状態に」
それは少し楽な発想だった。
野々村はこの園田の大学時代の数少ない友人であった。彼らは惰性のように会っては愚痴を言い合っていたが、野々村は園田に辟易していた。
園田の持つ負のオーラ。
ひとの持つ負のオーラはこっちにまで伝染する。例えば、救い用のないギャンブル依存の人間を更正させようと、救いの手を差し伸べたとして、こいつはその手の持ち主をしゃぶり尽くす。
園田と野々村は共通の知人を通じて知り合った。二人とも同じ宗教に入っていて、その点親近感とかもあった。
家庭訪問のノルマがあり、この二人は青年団として、よく足立区を回った仲だったから。
「だが俺は」
野々村は鬱屈の溜まったような際どい顔で園田を凝視する。
「お前みたいに暗いやつは嫌いだね」
鳥貴族でこのブサイクな二人は傷を慰めあうでもなく、そのようにつるんでいた。
「でももうやりきれないんだ。誰かに聞いて欲しいんだ」
「俺はボランティアじゃないから。そのちゃん。それにそういう哲学的な話も好きじゃない。一銭の特にもならない。」
「そのちゃんやっぱ暗いんだよ。そういうのが顔に出てる。蓄積。地層みたいなもんなんだよ。」
「そう、、、、かな、、、、」
野々村は野々村で、この園田という28歳童貞くんに説教し、優越感を感じ、主従関係を作ることで自分の快楽の道具にしているきらいもあった。
「でもやっぱりみんな最後は死ぬんだよね。」
そりゃそうだ、そうだけどそんなこと考えて生きてるやつってキモくね?お前キモいじゃん。
「ハイデガーはね、死というところから実存を定義したって….」
またオメーのクソみてえな哲学講義か。
野々村の顔が死んだ魚のような、侮辱的な顔に変わる。
このような救いようのない関係ですら、相互依存なのかもしれない。
でも。園田はこの必ず最後は死ななくてはならないということを忘れてはならないと感じていた。
10年はとても早く、10年のサイクルで人は大幅に劣化する。
この劣化は、死に向かっていくスロットだ。10年は大きい。
どんなに家族に囲まれて死のうが、4畳半で誰に見つからずに死のうが、死んだあとというのは、そこにはさら地が残るだけである。
人間は情報自体のレプリケーションは可能だが、意識やポインタ自体のレプリケーションや継承はできない。
それは消えるのだ。そのため、親と子供はある意味で別の人格であり連続していて、かつ連続していない。
園田はさらに考える。
死ということが決まっているとすれば、人は、自分自身のためだけに生きるということはできない。それを自己の短期的な社会的利益のために演出する、というケースをのぞいて、自分自身は普遍的に連続し得ない個体であるから、それは土に還るし、そうしたら、誰かを、自分と関わる人間を支えること、助けること、与えること、作ること。
これによってしか、人間の実存は成立し得ない。
すなわち、社会と関わるということだ。
野々村の口が歪む。
「机上の空論だよね。リヴァイアサンだろ。競争社会に負けたやつの言い訳にしか聞こえないね」
園田は少し気分が良くなったらしい。
野々村はレバ刺しをひっくり返しながらこう呟く。
「園田くん、現実みなよ」
Thursday, April 12, 2018
GTO 第一話
キャラクター
鬼塚英吉
23歳高校教師。元暴走族の総長という経歴を持つ。フリーターをしていたが、教師を志望している。天真爛漫でおもてうらのない性格。作中では予測不可能性、カリスマ性を担当する。
JK1
家庭環境に問題がある女生徒。男子生徒たちと結託してクラスに来る新任たちを次々に辞めさせる(美人局?)
男子生徒たち
いわゆる夜のこどもたち。腕っぷしの不良ではないが、半グレ状態であり、JK1とつるんでいる。
視聴者のメリット
- 鬼塚英吉のカリスマ性を楽しむ(予測不可能性)
- 人間関係の変化を楽しむ(始めマイナスの評価から始まっているものが、鬼塚の純粋でまっすぐな心とやさしさに触れ、生徒や取り巻く大人たちが変わっていく)
- JK1、男子たちの人間的な変化や成長を楽しむ(始めは冷徹で不信感の塊だったものが、鬼塚への信頼へと変わる)
- 美男、美女(反町、松島、JK1)
ストーリー
元暴走族でフリーターの鬼塚は、元同級生で警官の友人の紹介で長年なりたかった教員の面接を受ける。そこで、教頭たちのステレオタイプにさらされ、不合格となってしまう。しかし、男子生徒たちが教頭たちを襲おうとしているところを(恩義を売れば合格できる、という下心から)かばおうとするが、教頭が生徒たちをクズ呼ばわりしていることに憤りを覚え、教頭に暴力を振るってしまう。このことを受けて、鬼塚の生徒を思う純粋な気持ちに惹かれた理事長が鬼塚を採用し、鬼塚は2−4(最も問題のある生徒たちのいるクラス)に配属される。一見問題のなさそうな優等生の集まりに見えたが、彼らは担任の生徒を次々に辞職に追いやる手のつけられない問題児の集まりだった。
鬼塚を陥れるため、デコイとしてJK1が鬼塚のアパート前に現れ、悩みがあると称して鬼塚のアパートに侵入、服を脱ぎだし、それを仲間の男子生徒たちが呼び出してユスリを図る。鬼塚はこの時点で本当にJK1に悩みはないのか、と問いただすが、この時点ではこの問いは拒絶される。(伏線)また、ユスリは鬼塚の力によってねじ伏せられる。
一連の流れを通じて、JK1は鬼塚に次第に心を開くようになり、鬼塚の家に泊まるようになる。それは、自分の家庭に問題があり、両親と疎遠であり、両親自体も不仲であることが関係していた。これをJK1は「パパとママの間に冷たい壁ができた」と表現し、このことを打開するために鬼塚は実際にその壁を物理的に破壊する(予測不可能性)
感想
1. 始めに問題を起こす生徒がいる
2. その生徒はこれまでも過去に何人もの先生を辞めさせている
3. 今回の主人公にはカリスマ性と、予測不可能性(行動として)があり、これによってこの問題が解決される
という流れは私屋先生も継承しており、ここは多分テンプレート化されており、学園ものにおいては応用の価値がある。
デファクトとその問題に対して、全くべつの考え方やアプローチ(カリスマ性)によって、普段普通の人ができないことを主人公がやってスパーっといろいろ解決してくれるというところは、ヒーロー的でもあり、カタルシスという意味で重要な要素でもある。
まとめ
今回の作品の骨子は人間関係の変化であり、マイナスなものが、主人公の予測不可能性(面白い解法)によってプラスに転じていく過程を見て楽しむということ、また、主人公に二面性がないというところは、リアルの人間と違うある種の「理想」として機能しており、それによって魅力であること(例えば、視聴者たちは醜い大人の事情とか利己心猜疑心のまみれた実存に辟易しており、仮想現実においてはそれの対偶を求めている)が考えられる。また、それでいてキャラの内面の作りはシンプルになっているが、そのことによって幅広い年齢層が楽しめる構造になっている。(悪役もわかりやすい)
鬼塚英吉
23歳高校教師。元暴走族の総長という経歴を持つ。フリーターをしていたが、教師を志望している。天真爛漫でおもてうらのない性格。作中では予測不可能性、カリスマ性を担当する。
JK1
家庭環境に問題がある女生徒。男子生徒たちと結託してクラスに来る新任たちを次々に辞めさせる(美人局?)
男子生徒たち
いわゆる夜のこどもたち。腕っぷしの不良ではないが、半グレ状態であり、JK1とつるんでいる。
視聴者のメリット
- 鬼塚英吉のカリスマ性を楽しむ(予測不可能性)
- 人間関係の変化を楽しむ(始めマイナスの評価から始まっているものが、鬼塚の純粋でまっすぐな心とやさしさに触れ、生徒や取り巻く大人たちが変わっていく)
- JK1、男子たちの人間的な変化や成長を楽しむ(始めは冷徹で不信感の塊だったものが、鬼塚への信頼へと変わる)
- 美男、美女(反町、松島、JK1)
ストーリー
元暴走族でフリーターの鬼塚は、元同級生で警官の友人の紹介で長年なりたかった教員の面接を受ける。そこで、教頭たちのステレオタイプにさらされ、不合格となってしまう。しかし、男子生徒たちが教頭たちを襲おうとしているところを(恩義を売れば合格できる、という下心から)かばおうとするが、教頭が生徒たちをクズ呼ばわりしていることに憤りを覚え、教頭に暴力を振るってしまう。このことを受けて、鬼塚の生徒を思う純粋な気持ちに惹かれた理事長が鬼塚を採用し、鬼塚は2−4(最も問題のある生徒たちのいるクラス)に配属される。一見問題のなさそうな優等生の集まりに見えたが、彼らは担任の生徒を次々に辞職に追いやる手のつけられない問題児の集まりだった。
鬼塚を陥れるため、デコイとしてJK1が鬼塚のアパート前に現れ、悩みがあると称して鬼塚のアパートに侵入、服を脱ぎだし、それを仲間の男子生徒たちが呼び出してユスリを図る。鬼塚はこの時点で本当にJK1に悩みはないのか、と問いただすが、この時点ではこの問いは拒絶される。(伏線)また、ユスリは鬼塚の力によってねじ伏せられる。
一連の流れを通じて、JK1は鬼塚に次第に心を開くようになり、鬼塚の家に泊まるようになる。それは、自分の家庭に問題があり、両親と疎遠であり、両親自体も不仲であることが関係していた。これをJK1は「パパとママの間に冷たい壁ができた」と表現し、このことを打開するために鬼塚は実際にその壁を物理的に破壊する(予測不可能性)
感想
1. 始めに問題を起こす生徒がいる
2. その生徒はこれまでも過去に何人もの先生を辞めさせている
3. 今回の主人公にはカリスマ性と、予測不可能性(行動として)があり、これによってこの問題が解決される
という流れは私屋先生も継承しており、ここは多分テンプレート化されており、学園ものにおいては応用の価値がある。
デファクトとその問題に対して、全くべつの考え方やアプローチ(カリスマ性)によって、普段普通の人ができないことを主人公がやってスパーっといろいろ解決してくれるというところは、ヒーロー的でもあり、カタルシスという意味で重要な要素でもある。
まとめ
今回の作品の骨子は人間関係の変化であり、マイナスなものが、主人公の予測不可能性(面白い解法)によってプラスに転じていく過程を見て楽しむということ、また、主人公に二面性がないというところは、リアルの人間と違うある種の「理想」として機能しており、それによって魅力であること(例えば、視聴者たちは醜い大人の事情とか利己心猜疑心のまみれた実存に辟易しており、仮想現実においてはそれの対偶を求めている)が考えられる。また、それでいてキャラの内面の作りはシンプルになっているが、そのことによって幅広い年齢層が楽しめる構造になっている。(悪役もわかりやすい)
新曲作ったよ。今回はシンセサイザー不使用
新規で購入したMacBook ProにUSB端末がなかったので、シンセサイザーを使用できず、手打ちで全部作った!大変だった!
BPM: 92.0
ElectroBump: スネアとキック。コンプレッサはドラム用のやつ。
GrittyFunkDB: ハイハット系。これは分離。
Fingered Double Bass: Bitcrusher使用(攻撃性をあげる)、SilverVerbで艶出し: 主役
Classical Flute: メロディ担当に近いが、くどすぎると不快なので適度な音量に。
Deterioration: 奥行き、アトモスフィア担当。 SilverVerbは predelay, wet共に最大値まであげる
Erhu: 楔(洗脳効果)
Vintage Brassy Bass: ちょっとダブステップ(本当にやろうとすると LFOをいじる感じになるが)系統の音でエレクトリックの音色に全体を持っていく
もう自明だが、手で弾くより音のリズムが完全にクリアに制御されているので、手作り感が少なくそれっぽく聞こえる。
ただ、このままだと味が少ないので、もういくつか楽器足すかもしれない。
これで後々ラップしたいと思う。
BPM: 92.0
ElectroBump: スネアとキック。コンプレッサはドラム用のやつ。
GrittyFunkDB: ハイハット系。これは分離。
Fingered Double Bass: Bitcrusher使用(攻撃性をあげる)、SilverVerbで艶出し: 主役
Classical Flute: メロディ担当に近いが、くどすぎると不快なので適度な音量に。
Deterioration: 奥行き、アトモスフィア担当。 SilverVerbは predelay, wet共に最大値まであげる
Erhu: 楔(洗脳効果)
Vintage Brassy Bass: ちょっとダブステップ(本当にやろうとすると LFOをいじる感じになるが)系統の音でエレクトリックの音色に全体を持っていく
もう自明だが、手で弾くより音のリズムが完全にクリアに制御されているので、手作り感が少なくそれっぽく聞こえる。
ただ、このままだと味が少ないので、もういくつか楽器足すかもしれない。
これで後々ラップしたいと思う。
Tuesday, April 10, 2018
クレヨンしんちゃん 襲来!宇宙人シリリ
キャラクター
野原しんのすけ ... 本作品の核となる、「トラブルメーカー」の機能を担っている。後述するが、本作品の大きなメリットの支柱である「予測不可能性」「トラブル」のトリガーであり、映画編では主にこの「予測不可能性」がイシューの(カリスマ的な)解決につながる、という機能を果たす
野原みさえ ... 本作品では4−5歳に変換させられてしまうが、全編を通して花形を担っている。母の持つ機能(子供の姿になってもひまわりの面倒をみる、最後に初期化されてしまってもひまわりに関心をもつ、などなど)や美德を一手に担っており、しんのすけについて重要なトリガーとなる。
野原ひろし ... 本作品では10歳程度に変換させられる。彼は父の持つ機能「守護」「責任」という特性を通して節目節目で大きなインパクトをストーリーに与え、トリガーとしての役割も持つ。全体を通して、ひろしとみさえは子供の姿にさせられても尚、父と母としての重要な機能を示すことで、そしてそれが見た目の対照的になっていることで、そのインパクト、感動を引き起こす材料となっている。
シリリ ... 本作品のテーマである宇宙人で、主人公側に立つ善玉の役割。初期状態としては父(悪役)の 価値観を継承しており、地球人は信じるな、地球人を憎めというふうな固定観念を持っている。この初期状態が、しんのすけ達との交流(イベントを通して)によって、少しずつ、最後に重要な決定(父に背いて自らの意思で判断する)をするまでに変化、成長する、という意味で本作品の主人公である。
シリリの父 ... 悪役でありシリリの父。 彼が全面的な悪役の機能を担っており、彼が全ての主役たちの葛藤の反作用となっている。また、その悪の行動(全員人類を赤ちゃんにしてしまい、再教育する)の動機が、視聴者の認識を代弁するものとなっている。
対象
全年齢(子供より、だが大人もみれる仕様になっている)
報酬系
主人公(シリリ)の人間性の成長(自己実現の追体験)
みさえがかわいい(華やかさ担当、そのため、途中でしんのすけの服からねねちゃんにあてがわれた服に着替えた)
みさえの人間性(母性)の美德、共感(これが、逆境になって浮き彫りになる)
ひろしの人間性(父性)の美德、共感(これが、逆境になって浮き彫りになる)
悪役の主義主張への共感(大人が全ての醜さ、悪の元凶だということ) = 聴衆の日常もつ不満や問題意識の代弁 = スッキリ
しんのすけの予測不可能性と、それによる面白さ、おかしさ、また予測できないアプローチでの解法の面白み
主なストーリーライン
1. 野原家にUFO激突
2. その中から出てきた宇宙人、シリリの光線により、ひろしとみさえが子供になってしまう。
3. ひろし、みさえを元の姿に戻すにはシリリの父親の力が必要
4. シリリの父親を探すため、たびに出かける
5. たびの途中、なにものかに財産を奪われる
6. 金がないという制約か、ヒッチハイクをし、停まったトラックに乗せられる
7. トラックの運転手の家にとまるが、ここで一悶着あり、逃亡劇
8. ここでひろし、みさえとしんのすけ、シリリ(大雑把にいうと)が別々になってしまう
9. シリリとしんのすけに軋轢があるが、サーカスでしんのすけがシリリの窮地を救うことで二人の関係性は発展する
10. 四人が合流するが、ここでシリリの父の元に強制的に連れてこられる
11. シリリの父の悪の計画のプレゼンと、それを阻止するための格闘
12. シリリの父を克服し、万事解決する
起承転結:
起. 宇宙人との邂逅、体を元に戻すミッション
承. 宇宙人父の元までの旅
転. 父との邂逅と戦い
結論. 体が元にもどる
まとめ
全体的にメリットの提供の仕方が王道である。過度な暴力やリビドーを全て削り取り、子供向けの制約を守りつつ中身の面白さ(キャラの成長、困難の克服、手に汗握る戦い、絆)で勝負できているという点で、非常にレベルが高い作りとなっている。(テレビシリーズであれば、これはしんのすけの予測不可能性とそれの導くトラブルとそのおかしさに全て収束される)。原則的にキャラクターの良さ(人間賛美)を綺麗に浮き彫りにして描いているという点、また、それがイベントによって作られている点、などが印象的であった。このような全年齢で楽しめる、かつ面白い作りは、理想といっても過言ではない。
(ここまでちゃんと作り込めば、ジャンプでいける)
Subscribe to:
Posts (Atom)

