whywaitterを作ってみようとして諦めた話

この記事は、whywaita Advent Calendar 2019 - Adventar の15日目の記事です。
昨日はid:jackson58 (staybuzz)さんの千早さんの話でした。
アイマスってよく知らないんですけど、コブラってアニメと関係性が深いらしいです。
千早さんは毎回出てくるらしいです。

なにをしようとした

Twitterの見た目を変えて、全部WhywaitaなTwitterを作ろうと考えました。
時間がなく、無謀な挑戦だったので、ここにはそれを諦めるまでの話をしたいと思います。

始まり

このAdvent Calendarに登録したのは先週のことでした。
この時点では何を書くのか全く決まっていませんでした。

月曜日、ふとした瞬間に浮かんできたのが、「Whywaitter」って単語でした

仕様策定

まずは仕様を考えることにしました。
最初に浮かんできたのはこれでした

  • ユーザー登録をして利用できるTwitterライクなSNSツール
  • 全員ユーザーネームと画像がTwitterのWhywaitaのもので固定
  • リプライは全員に飛ぶ
  • Whywaita本人が登録すると、Twtterで言うところの認証マーク✔がつく

流石に開発工数的に厳しいなってことになり、没になりました。

次に考えついたのはこれでした。

これならなんとかなるだろうと思った

作成

気がついたら15日の17時でした。起きたらこの時間でした。コードは0行です。
Chrome拡張も作ったことないし、JavaScriptも全くわからんけど、なんとかなるやろガハハとこの時間から作り始めて、Twitterのソースを見てしんどくなりました。
開発ツールを開いて見ればわかります。

<div dir="auto" class="css-901oao css-bfa6kz r-hkyrab r-gwet1z r-a023e6 r-vw2c0b r-ad9z0x r-bcqeeo r-3s2u2q r-qvutc0">why/橘和板</div>

そう、classに可読性がなかったのである。
一瞬でしんどくなりました。

ひとまず2時間くらいかけて、ここまで実装して諦めました。

function replace_why(){
    console.log("test");
    var section = document.getElementsByTagName('section'); 
    var tweets = section[0].getElementsByTagName('article');
    console.log(tweets);
    Array.prototype.forEach.call(tweets, function(element) {
        var names = element.getElementsByClassName("css-901oao css-bfa6kz r-hkyrab r-gwet1z r-a023e6 r-vw2c0b r-ad9z0x r-bcqeeo r-3s2u2q r-qvutc0");
        console.log(names[0].textContent);
        names[0].textContent = 'why/橘和板';
    });
}

function ObserveStream(){
    var observer = new MutationObserver(replace_why);
    var target = document.getElementsByTagName('section')[0];
    console.log(target);
    if(!target){ setTimeout(ObserveStream, 500); return;} 
    observer.observe(target, {
        attributes: true,
        childList:  true
    });
    replace_why();
} 

var observer = new MutationObserver(ObserveStream);
observer.observe(document.getElementsByTagName("body")[0], {
    attributes: true
});

このコードでなにができるかというと、ユーザーのプロフィール画面でツイートのユーザー名が「why/橘和板」に書き換わります。
ただそれだけです。
ホーム画面や検索画面では動きません。
あと、メニュー移動しても動かなくなります。
全部forEachで処理してしまうので、読み込めば読み込むほど重くなります。

f:id:neotaso:20191215221124p:plain

一番下のツイートは名前が書き換わってないです。
ObserverでNodeの変更を監視しているのですが、どうやら検知されるタイミングが遅いみたいです。なんもわからん。

仕組みについて

f:id:neotaso:20191215221913p:plain

Twitterの画面がこうなっていて、あとはコードを読めばわかるとおもいます。 あとはツイートの表示されているsectionを監視して、sectionが変更されたら、articleの中身を書き換えるだけですね

なぜホーム画面で動かないか

ホーム画面では「トレンド」の位置がちがい、若干上になっています。 そのためなのかはわかりませんが、ツイートのsectionより、早くロードされます。
f:id:neotaso:20191215223524p:plain この状態になってしまうと、トレンドがObserverに登録されてしまい・・・
きちんとロードが終われば、section[0]はツイートになるのですが・・・。
多分画面かsection2つのロードがキチンと終わるまで、待つべきでしょう。

おわりに

ちゃんと見通しを立ててから作業しようね!
あとはもうちょっとウェッブの知識がほしいなって感じました。
Webプログラミング関係、検索しんどくない?どこ見ても書いてること違うんだけど

多分Why君は強いので、これくらい朝飯前で実装できることでしょう

明日はuronさんのwaitawhyの滑らない話です。

DLsite AC2018: あまあまらぶネトリ

この記事について

この記事はDLsiteどっとこむ Advent Calendar 2018 - Adventarの24日目の記事になります。 昨日は@hiromikai_greenさんのDLsite作品レビュー 女子校の人気女子たちのおち○ぽペットにされちゃうお話♪ - Green Fortressでした。 hiromikai-green.hatenablog.com 音声作品は耳舐めや行き吹きかけで違和感しか感じないので、チョイスが難しい部類ですね。

本記事はアダルト作品のレビュー・・・というより「NTRとは」を語る記事です。<- 疲れて駄文を重ねてしまったので諦めました NTRですので、もちろんR-18ですが、卑猥な画像等は記事中に入っていないのでご安心ください。 リンクには注意してください。

はじめに

取りあえずこのAdvent Calenderでは1作品おすすめしてから書き始めるのが正解かなと、周りの記事に習って書き始めます。
あまあまらぶネトリを推しておきたいと思います。
寝取り作品になりますが、比較的とっつきやすい部類かなと思います。(絵柄等が合えばの話ですが)
しかも作者様の新作が出た関係で、現在40%オフになっています。800MB超えで500円ってなんなんですかね?

ついでに同じ作者様の作品も
【40%OFF】彼女があいつにされた事 [司瀬@あげぱん] | DLsite 同人 - R18
わたしと彼氏とアイツの事情 [司瀬@あげぱん] | DLsite 同人 - R18
両方とも寝取られ作品になってます。
前者の2GBで40%オフ後の価格が580円って本当に何なんですかね。 適当なエロゲ買うのと同じ容量やぞ。

結論

下のNTR解説を書いていたら疲れてしまって途中でやめてしまった。
なんでNTRは良いのかに結びつけるのが辛くなってきました。結論を言うならば、
NTRは女性が愛ではなく、快楽に落ちていく姿を様々な方向から見ることができる、よいジャンルで有ることが言いたかった感じです。
クリスマスは愛を語ることが多いですが、それをガン無視して、性に傾倒するこのNTRってジャンルに手を出してほしかった感じです。
寝取られ(男性視点)はいろいろと難度が高いので、寝取り作品や、女性視点の作品を見ることをおすすめします。
なんなら彼氏がいるって設定なのに、彼氏が作品中に1回も顔が出ない作品だってあります。
あまあまらぶネトリ この作品もNTRとして見るならば正直あまあまです。

皆様、良い性夜をお過ごしください。 以下、駄文なので読まなくていいです。

終わりに

25日がまだ埋まってないですが大丈夫でしょうか

一言

パ ル フ ェ 〜 chocolat second brew 〜がDLsiteで売られてたら思いっきりこれを語ってました 最高なので買ってください

続きを読む

Gentoo on Windows 10 (Gentoo Advent Calender 2016 5日目)

これはGentoo Advent Calendar 2016 Advent Calendar 2016 - Adventarの5日目の記事です。

昨日はろ。の人の記事でした。

Gentoo Advent Calendar - KMYの日記

流石にコンパイラ変えるのはやったことないですね。

概要

Windows10でWindows Subsystem for Linuxってのが追加されました。
そこでそれを使ってGentooを動かしてみようって話です。

ぶっちゃけて言ってしまえば、

github.com

github.com

この2つを読めばどうということはない記事です。
まぁそれでも良ければ読んでいただければ幸いです。

続きを読む

Gentoo(systemd)にDockerを入れた件についてふんわりとした感じのアレ

なんか半年近く記事書いてませんでしたね。 ま、ええわ。

環境

な感じ

なんか太字になっている部分がやらかしたんだなぁとわかっていただければ幸いです

どうせこのエントリの情報も古くなるし、エントリ書こうと思ってやろうとしたわけじゃないので内容はふんわりとした感じです。
メモとか備忘録というかそんな感じのアレです。
なんか聞きたければTwitterで聞いていただければ。

続きを読む

第1.0羽 「ひと目で、尋常でない第1羽と見抜いたよ」(Advent Calendarの記事)

はじめに

この記事はごちうさ Advent Calendar 2015 10日目

gochiusa.connpass.com

UEC Advent Calendar 2015 10日目

www.adventar.org

whywaita Advent Calender 2015 11日目

www.adventar.org

の記事となります。

話のメインはごちうさになります。
ごちうさAdventCalendarの昨日の記事は@sgymticさんの第9羽 毛玉はタイポし無慈悲なslは放たれる - 青春したい。でした。
pyonpyonってlsと間違えて打ちますよね!!よくあります!!
タイトルに関しては無視して1.0羽です

多分UECは生協でごちうさ一番くじ売ってたので関係あると思います。
UEC AdventCalendarの昨日の記事は@hikaru__mさんの 白鷹日誌 — dentooLTやるためにUEC行った時の話『UEC Advent Calendar...でした。
Dentoo LTの次回の参加も是非宜しくお願いします!

whywaitaもまた、ごちうさが好きでしょう。きっと。多分。maybe こちらのAdvent Calenderはまだの模様…

であい

いい忘れていたのですが、私はまだ1期1羽しか見ていません。まだ2羽見てないです。ただ1羽だけは何度も見ました。
今回の記事では1羽の詳解を行っていきたいと思います。

私のごちうさ第1羽との出会いは「"1"で検索したらごちうさ1羽のニコニコ動画が出る」ときいて開いたことが最初だった気がします。
f:id:neotaso:20151210215835p:plain

ひと目で、尋常でない第1羽と見抜いた瞬間でした

まだ見てない人も、もうすでに第1羽が暗唱できるレベルの人も是非見ような!

続きを読む

仮想上で録画サーバを構築したいお話 Part2

と催促っぽいものが届いたので続きやります

今日はハロウィンみたいだし、仮想パーティーだ!

neotaso.hatenablog.com

なおこちらのお話の続きになります

VMware ESXi とは

ハイパーバイザの一つです。似たようなものにKVMとかHyper-Vとか。マシンにはよくあるLinuxとかWindowsとかのOSをインストールせず、ESXi(多分Linuxベースなきがするけど)だけを入れることで、そのマシンの上でVMを建てる事ができる。 このESXi自体のコンソールは初期設定等しかできず、基本的には管理画面(vSphere Client)から操作することになる。(有償のESXは管理画面があるらしいけど見たことない)

今回はこのVMware ESXiの6.0を使います。なんか最近6.0U1が出たらしいのですが…

環境のおさらい

名称 品名
CPU Corei5-2500S
M/B msi Z77A-G41
メモリ DDR3 16GB
電源 500W
拡張 かにNIC
PT3
Geforce GT210
HDD Hitachi 350GB(2.5インチ)
WDGreen 3TB(録画データ用)x2
ケース SARA3
USB NTTComのアレ
KTV-FSPCIE
OS VMWare ESXi 6.0

こんな感じにしたい…のだが、一つ問題点がある
そう、かにNICしか積んでないことだ

VMware ESXiは基本的にネットワークカードのチップがIntel製のものにしか対応していない
ドライバが入っていないRealtek(通称蟹NIC)やBroadComはサヨナラってわけ

なお管理ソフトウェアで操作する関係上、NICは1つ以上ないとインストールすら許されない

そこの解決から話は始まる

vs 蟹NICドライバ

個人で使っている人が割りとこの問題に直面していることが多々あるので、すでにネットに数ある情報から解決した(NICを新しく買うお金はなかった)

http://www.computertechblog.com/adding-realtek-r8168-driver-to-an-esxi-6-0-iso/

ここのを参考にしました。
ESXiのインストーラにR8168のドライバーを突っ込みます。なんかESXiカスタマイザーっていうWindowsのアプリケーションを使いました。MacLinuxの方はどうするか知りません。頑張ってください。

で、6.0のインストーラに突っ込むわけですが、ドライバもドライバで、なんかMetadataとか入ったやつじゃないとダメみたいだ。なんかvib単体で突っ込んで失敗してる記事をどっかで見た。

で、ESXi-Customizerなのですが、これはすでに更新が止まっていて、新しくESXi-Customizer-PSという、PowerShell用のが作られたのですが、うまく動きませんでした
仕方なくESXi-Customizerを使ったのですが、Windows10では動きませんでした。バッチファイルだったので見てみると…

:check_win_ver  
   if /I not "%1"=="silent" call :logCons Checking Windows version ...  
   for /F "tokens=3,4,5 delims=. " %%a in ('ver') do (  
      set WinVer=%%b.%%c  
      if "%%a"=="2000" set WinVer=5.0  
      if "%%a"=="XP" set WinVer=5.1  
   )  
   if /I "%1"=="silent" goto :eof  
   if "!WinVer!"=="5.0" call :logCons --- INFO: Running on Windows 2000. What?!  
   if "!WinVer!"=="5.1" call :logCons --- INFO: Running on Windows XP.  
   if "!WinVer!"=="5.2" call :logCons --- INFO: Running on Windows Server 2003.  
   if "!WinVer!"=="6.0" call :logCons --- INFO: Running on Windows Vista or Server 2008.    
   if "!WinVer!"=="6.1" call :logCons --- INFO: Running on Windows 7 or Server 2008 R2.  
   if "!WinVer!"=="6.2" call :logCons --- INFO: Running on Windows 8 or Server 2012.  
   if "!WinVer!"=="6.3" call :logCons --- INFO: Running on Windows 8.1 or Server 2012 R2.  
   if "!WinVer!" GTR "6.3" call :logCons --- WARNING: Running on a Windows newer than 8.1 / 2012 R2. Don't know if this will work ...  
   if "!WinVer!" LSS "5.1" call :earlyFatal Unsupported Windows Version: !WinVer!. At least Windows XP is required & exit /b 1  
   if "!WinVer!" NEQ "6.1" call :logCons --- WARNING: Your Windows version is supported for customizing ESXi 5.x, but not ESXi 4.1.  
goto :eof

Windows10だと、WinVerは10.0になるらしく、この処理でのLSSは文字列の大小比較となり、"10.0" < "5.1"になる…f*ck

このexitの入ってる1行をおさらばして実行したら普通に動きました。(自己責任でお願いします)

インストール

言うことはありません。ディスクを入れてインストーラを動かすだけです。WindowsLinuxのインストールより簡単です

次回はいよいよ録画用のVMを建てます(やっと)

Twitterの画像の:origで投稿時原寸の画像が降ってくるお話

hogashi.hatenablog.com

知り合いがどうやらchromeのExtensionとしてTwitterの原寸画像を表示する奴を作成したらしい

この辺りは、URL+:origで出ることは割と知られている。(例: http://pbs.twimg.com/media/CQfHcVtUkAAB6A5.jpg:orig)
これとは別に標準のサイズ(:hogeなし)、大きいサイズ(:large)、サムネイル表示(:thumb)が存在する

記憶の上ではこんな感じだった。
とりあえず検証してみることに

まずは横長

これは僕のアニメを見てた時のスクショだ
あれ、origが原寸だ…って思いながら次は縦長

iPhoneで取った画像。
こちらも:origは原寸
あとは試しにめちゃくちゃ縦に長い画像を作ってみよう

なるほど~~と言った感じです
ある程度上限が決まっていてそれに収まるような形で縮小されるっぽい

試しにでかい画像も送ってみる

完全に:origは縮小しない感じみたいですね。記憶違いだったか…

あくまで予想ですが、まとめると次のような感じ
:thumbは上の検証には含まれてませんけど一応

オプション 横上限 縦上限
(無し) 600 1200
:large 1024 2048
:orig 原寸 原寸
:thumb 150 150
  • それぞれ上限が設定されており、それに収まるように画像が縮小される
  • 綺麗にサイズが整数になるまで縮小される
  • :origは縮小なし(加工(変換や画像情報破棄等)がされているかどうかは未確認)
  • :thumbは幅が短い方を150に合わせた後、長い部分をカット

みたいな感じですね

記憶違いじゃなかったどうか調べてみると

uasi.hatenablog.com

この記事を見た感じだと、1年前は2048x2048に:origは縮小されてた模様。いつから変わったんですかね?

今度から:origで画像を保存しましょ