毎日モザイク

White Room Layout Works

2019-11-21T00:41:52+09:00 [Thu]
--> [労働]

raid5リビルド記録

デンノーintelligear WDRED 3TB×5 raid5
11/14 時間不明 1番(一番上)ディスク デグレード
11/15 20:00 ディスク交換・リビルド開始
11/16 20:00 進捗1%
11/17 20:00 進捗1%
11/18 20:00 進捗1%
11/19 20:00 進捗16%
11/20 20:00 リビルド完了
監視ソフトが出す進捗がリニアなのかどうかわかりません。
前回再構築時も3日くらい9%で止まって、最後の12時間くらいで完了。

2019-10-03T08:37:23+09:00 [Thu]
--> [労働]

魂を加速する

120msもかかっていたvim(iterm2上)の起動を90msまで短縮した、たった一つの冴えたやり方的ななにか。

colorschemeを決めうちに変更。

そんだけ。

立派に作られたcolorschemeは各種のなにかに対応するため、ちゃんとしたスクリプトっぽい構成になっていますが、決まってしまえばめったに変更することがないので決め打ちに変更してしまいましょう。

なんだかんだいっても決め打ち数値を割り当てるだけの逐次処理は最強です。

せっかくなので、黒バック用の陰キャ全閉、見てるだけで陰気になる華やかさの破片もない普段遣いのものを晒しておきます。

もとはjellybeansだったはずなのですが、原型をとどめていません…。

何もかもが決め打ちなので、guiのみ。

"jellymod2 guionly
hi clear
syntax reset
set background=dark
let colors_name="jellymod2"
hi! Normal guifg=#EEEEEE guibg=#000000 cterm=NONE gui=NONE
hi! ColorColumn guibg=#000000
hi! Comment guifg=#888888
hi! Constant guifg=#DF6A5C cterm=NONE gui=NONE
hi! Cursor guifg=#222222 guibg=#AAAADD
hi! CursorColumn guibg=#1C1C1C
hi! CursorLine guibg=#1C1C1C
hi! CursorLineNr guifg=#AAAAAA cterm=NONE gui=NONE
hi! DbgBreakPt guibg=#4F0037
hi! DbgCurrent guifg=#DEEBFE guibg=#345FA8
hi! Delimiter guifg=#668799
hi! DiffAdd guifg=#D2EBBE guibg=#405026 cterm=NONE gui=NONE
hi! DiffChange guibg=#334455 cterm=NONE gui=NONE
hi! DiffDelete guifg=#444444 guibg=#300000 cterm=NONE gui=NONE
hi! DiffText guibg=#7697D6 cterm=NONE gui=NONE
hi! Directory guifg=#7697D6
hi! ErrorMsg guifg=#FFAAFF guibg=#000000 cterm=NONE gui=NONE
hi! FoldColumn guifg=#535D66 guibg=#111111 cterm=NONE gui=NONE
hi! Folded guifg=#A0A8B0 guibg=#384048
hi! Function guifg=#FAD07A cterm=NONE gui=NONE
hi! Identifier guifg=#C6B6EE cterm=NONE gui=NONE
hi! LineNr guifg=#444444 cterm=NONE gui=NONE
hi! MatchParen guifg=#FFFFFF guibg=#556779
hi! ModeMsg guifg=#999999 cterm=NONE gui=NONE
hi! NonText guifg=#555555 cterm=NONE gui=NONE
hi! Pmenu guifg=#DDDDDD guibg=#111111
hi! PmenuSel guifg=#DDDDDD guibg=#333333
hi! PreProc guifg=#8FBFDC cterm=NONE gui=NONE
hi! PreciseJumpTarget guifg=#B9ED67 guibg=#405026
hi! Question guifg=#79AA6A cterm=NONE gui=NONE
hi! Search guifg=#000000 guibg=#FFFF88 cterm=NONE gui=NONE
hi! SignColumn guifg=#777777 guibg=#111111
hi! Special guifg=#44AA99 cterm=NONE gui=NONE
hi! SpecialKey guifg=#774444 cterm=NONE gui=NONE
hi! SpellBad guifg=#FFAAFF
hi! SpellCap guifg=#7697D6 cterm=NONE gui=NONE
hi! SpellLocal guifg=#2D7067 cterm=NONE gui=NONE
hi! SpellRare guifg=#770066 cterm=NONE gui=NONE
hi! Statement guifg=#8197CF cterm=NONE gui=NONE
hi! StatusLine guifg=#111111 guibg=#666666 cterm=NONE,reverse gui=NONE,reverse
hi! StatusLineNC guifg=#222222 guibg=#666666 cterm=NONE,reverse gui=NONE,reverse
hi! StatusLineTerm guifg=#666666 guibg=#110033 cterm=NONE gui=NONE
hi! StatusLineTermNC guifg=#666666 guibg=#222222 cterm=NONE gui=NONE
hi! StorageClass guifg=#dd996F cterm=NONE gui=NONE
hi! String guifg=#79AA6A
hi! StringDelimiter guifg=#556633
hi! Structure guifg=#8FBFEE cterm=NONE gui=NONE
hi! TabLine guifg=#666666 guibg=#000000 cterm=NONE gui=NONE
hi! TabLineFill guifg=#000000 guibg=#000000 cterm=NONE gui=NONE
hi! TabLineSel guifg=#AAAAAA guibg=#000000 cterm=NONE gui=NONE
hi! Title guifg=#79AA6A cterm=NONE gui=NONE
hi! Todo guifg=#333333 guibg=#FFFFAA
hi! ToolbarLine cterm=NONE gui=NONE
hi! ToolbarButton cterm=NONE gui=NONE
hi! Type guifg=#FAD07A cterm=NONE gui=NONE
hi! VertSplit guifg=#111111 guibg=#111111
hi! Visual guibg=#404050
hi! VisualNOS cterm=NONE gui=NONE
hi! WarningMsg guifg=#FFFFFF cterm=NONE gui=NONE
hi! WildMenu guifg=#FFAAFF guibg=#302028
hi! rubyClass guifg=#447799 cterm=NONE gui=NONE
hi! rubyControl guifg=#8197BF cterm=NONE gui=NONE
hi! rubyIdentifier guifg=#C6B6FE
hi! rubyInstanceVariable guifg=#C6B6FE
hi! rubyPredefinedIdentifier guifg=#DE5577
hi! rubyRegexp guifg=#EE55EE
hi! rubyRegexpDelimiter guifg=#6600EE
hi! rubyRegexpSpecial guifg=#CC6666
hi! rubySymbol guifg=#7697D6 cterm=NONE gui=NONE
hi! link MoreMsg ModeMsg
hi! link IncSearch Search
hi! link Conceal Operator
hi! link Error ErrorMsg
hi! link Operator Structure
hi! link TagListFileName Directory
hi! link cFormat Identifier
hi! link cOperator Constant
hi! link cocoaClass objcClass
hi! link cocoaFunction Function
hi! link coffeeRegExp javaScriptRegexpString
hi! link diffAdded String
hi! link diffRemoved Constant
hi! link elixirAtom rubySymbol
hi! link erlangAtom rubySymbol
hi! link erlangBIF rubyPredefinedIdentifier
hi! link erlangDirective Statement
hi! link erlangFunction rubyPredefinedIdentifier
hi! link erlangNode Identifier
hi! link htmlEndTag htmlTag
hi! link htmlTag Statement
hi! link htmlTagName htmlTag
hi! link htmlBoldItalic Special
hi! link htmlBoldUnderlineItalic Special
hi! link htmlUnderlineItalic special
hi! link htmlItalic special
hi! link javaScriptRegexpString rubyRegexp
hi! link javaScriptTemplateDelim Identifier
hi! link javaScriptTemplateString String
hi! link javaScriptTemplateVar StringDelim
hi! link javaScriptValue Constant
hi! link luaOperator Conditional
hi! link objcClass Type
hi! link objcDirective rubyClass
hi! link objcMessageName Identifier
hi! link objcMethodArg Normal
hi! link objcMethodName Identifier
hi! link objcStatement Constant
hi! link objcSubclass objcClass
hi! link objcSuperclass objcClass
hi! link phpArrayPair Operator
hi! link phpBoolean Constant
hi! link phpFunctions Function
hi! link phpNull Constant
hi! link phpOperator Normal
hi! link phpQuoteDouble StringDelimiter
hi! link phpQuoteSingle StringDelimiter
hi! link phpRelation Normal
hi! link phpSuperglobal Identifier
hi! link phpVarSelector Identifier
hi! link pythonOperator Statement
hi! link rubyConstant Type
hi! link rubyFunction Function
hi! link rubyGlobalVariable rubyInstanceVariable
hi! link rubyInterpolationDelimiter Identifier
hi! link rubyModule rubyClass
hi! link rubySharpBang Comment
hi! link rubyString String
hi! link rubyStringDelimiter StringDelimiter
hi! link vimOper Normal
hi! link xmlDocTypeDecl PreProc
hi! link xmlDocTypeKeyword PreProc
hi! link xmlEndTag xmlTag
hi! link xmlEntity Special
hi! link xmlEntityPunct xmlEntity
hi! link xmlEqual xmlTag
hi! link xmlProcessingDelim xmlAttrib
hi! link xmlTag Statement
hi! link xmlTagName xmlTag
hi! link EndOfBuffer Ignore

MacVimだと、このあとGUIの起動という大仕事があるので、この程度切り詰めても体感できるほどの効果はありません。

2019-08-12T22:04:35+09:00 [Mon]
--> [日常]

denite-gitが動かないのはどう考えても以下略

denite-gitが動きません。

OSX10.11.6(ハードが古すぎてここが限界)
MacVim8.1.1722(157)
denite, denite-git,ほか依存関係者はさっきアップデートしたやつ。

tigかsourcetreeのどちらかがメインなので、あんまり気にしてませんでしたが、超あっけなく解決してしまったので一応書いておこう。

フォルダをApplication Support/repoからDesktop/repoに移したら普通に動きました…。

deniteかdenite-gitがフォルダ名にスペースがあるとダメなようです。普通は使いませんが、デフォルト名のは仕方ない…。

起動ディスクのデフォルト名にも入ってますが、アソコはposix pathでは展開されないので問題なし。ということのようです。

2019-07-16T01:36:28+09:00 [Tue]
--> [Ubuntu]

ひどいターミナル

st(suckless terminal or simple terminal)はひどい。

もちろん、いい意味で。

sucklessをgoogle翻訳すると「ひどい」と出る。ホントの意味はわからない。

.strcみたいな設定ファイルはなくて、なんというか、こう、コンパイル時に設定オプションを書き換えてリコンパイルしろという恐ろしい仕様。

起動オプションでも変更できる設定があるけど、せっかくなので設定用のファイルを書き換えたほうがstっぽい感じ。設定ファイルがわけわからん状態になっても大丈夫。オリジナルをコピーし忘れてもデフォルト設定ファイルがオマケで入っている親切設計。

もちろん、そんな鬼仕様なのでコンパイルは瞬殺で終わる。

起動が超速い。どのくらい速いかと言うとcairo-dockのエフェクトが終わらないうちに起動する。設定がハードコーディングされるので読み込むものがない。一人で使うものはこうでなくちゃ。どうせ決まった設定なんて滅多に変えないし、コンパイルは爆速なのでmake clean install Return!!!の!あたりで終わってる。

fcitxでインライン変換が出来ない。左右metaに割り当てたon/off切替が効かないのでcontrol+spaceを使わないといけない。何かに食われているらしいけど読むのはCのソースコードなのでまたの機会にw。キー設定も書かれているので読めばわかるだろ系。

安心のtrue color対応。ubuntuの旧型LTSでも使えます。

2019-05-15T23:56:03+09:00 [Wed]

Indesignから文字なし・文字ありのPNGで書き出して、レイヤー状態のPSDファイルでください。

Indesignからフォルダ1に文字非表示のPNG画像を書き出します。
ついで、フォルダ2に文字のみのPNG画像を書き出します。
これを適当な手段で合成して1枚のPSD形式にまとめて納品します。
そういう需要が少しあるようです。

// marge2ImagesIntoPsd.jsx
// Actionに"paste"セットを作って"pasteInto"アクションに
// "特殊ペースト→同じ位置にペースト"を記録
// Indesignで表示・非表示を分けて書き出したファイルを
// 一枚のレイヤー生きPSDファイルに結合する
// 2019.05.14 WhiteRoom
(function main () { var fs = folderSelect(); var re = /.*\.(JPG|jpg|PSD|psd|PNG|png|TIF|tif)$/; var layLitems = fs.layerL.getFiles(re); var layUitems = fs.layerU.getFiles(re); if ((layLitems.length) != (layUitems.length)) { confirm("画像ファイルと文字ファイルの数が異なっています。実行しますか?"); } //photoshop start for (var i = 0; i < layLitems.length; i++) { var fileObjL = new File(layLitems[i]); var fileObjU = new File(layUitems[i]); var saveLocation = new File(fs.savLoc + "/" + fileObjU.name); var psdOpt = new PhotoshopSaveOptions(); psdOpt.alphaChannels = true; psdOpt.annotations = true; psdOpt.embedColorProfile = false; psdOpt.layers = true; psdOpt.spotColors = false; open(fileObjL); open(fileObjU); activeDocument.selection.selectAll(); activeDocument.activeLayer.copy(); activeDocument.close(SaveOptions.DONOTSAVECHANGES); activeDocument.flatten(); //下段のレイヤーは統合します(個人的な都合) doAction("pasteInto","paste"); //同じ位置にペーストは面倒なのでaction activeDocument.saveAs(saveLocation, psdOpt, true, Extension.LOWERCASE); activeDocument.close(SaveOptions.DONOTSAVECHANGES); }
})();
//なんとなく分離してみただけ。この程度はmain()の中に入れたほうがいいかも
function folderSelect() { var retItems = new Object(); retItems.layerL = Folder.selectDialog("画像レイヤーのフォルダを選択してください"); retItems.layerU = Folder.selectDialog("文字レイヤーのフォルダを選択してください"); retItems.savLoc = Folder.selectDialog("保存先フォルダを選択してください"); return retItems;
}

まず定番の.DS_Storeほかファイラのクソファイル避け。
ブラックリスト方式は難しすぎるので(/^[^.].=$/ でも /(?!.).+$/ でも駄目だったので諦め)ホワイトリスト方式で。
次も定番の同じ位置にペーストがJSではできない。
できるっぽいけどかなりめんどくさそうなので、アクションに逃げます。
メニュー項目から同じ位置にペーストを記録したアクションを呼び出すだけでお悩み解決。
※同じinddから同じ設定で書き出した画像を扱うのが前提なので、サイズの不一致とか一切考慮に入れていません。