トップ ソフト 雑記 日記 リンク

2018年8月19日日曜日

mikutterの薄い本 vol.14

mikutterの薄い本 vol.14『レズと青い鳥』 - mikutterの薄い本制作委員会書籍版を読んだ。

文章作品を読んだ後、たいていの場合は主人公達の活躍シーンを心の中で反芻し、興奮がしばらく続く。この本でもTwitterで大活躍したクライアント達の足跡を辿ることによって、それと同じ興奮を得られるのではないかと思っていた。

しかしどうだろう。読後に残された、大切ななにかを無くしてしまった寂しさ、巣立っていく鳥たちともう出会えないのだろうという寂しさ、残されて置いて行かれる者達の恐怖感、焦燥感。いろいろな感情がぐちゃぐちゃと入り交じったような気分になった。そう、この文集は別れを告げる手紙だったのだ。

わたしもTwiterに触れたのは2010年より前で、vol.14で触れられたクライアント達と共に育ってきた。TLのフォロワー達と繰り広げたふざけた会話の中から出てきたアイデアが、Twitterのエコシステムによって、マッシュアップと呼ばれるサービス達が雨後の竹の子のように現れ、それらを介して再びTLに還元されていく。そのエネルギーは本当に巨大な濁流となり、そんな計り知れないパワーを前に、「世界」はいかに広く、わたしはその「世界」の一構成員でしかないのだと気付かされた。わたしの立ち位置を明確に突きつけ、更なる進歩を要求する場所、壁を乗り越え次の階段に進む場所、Twitterはわたしにとって理想郷であるように思えた。

その濁流も真の意味で世界を巻き込む巨大なものとなったとき、本当に人間だけでは制御しきれないものとなってしまったのだ。SF作品などで見かける機械の反乱、人間が制御できなくなった機械達、空想上の産物でしかなかったそれは、Twitterという巨大な濁流をなんとか制御しようと作り上げられた自動処理システムとして目の前に実現されてしまったのだ。決まった応答文しか返さず、問いかけ文を試行錯誤しようとも思わせない自動応答処理、判定条件が全く想像できないロック・凍結処理、それらに怯えながら暮らす「世界」は本当に望んでいた理想郷だったのだろうか。

わたしのアカウントは凍結こそ免れているものの、作ったアプリは停止されてしまい様々な権限を剥奪されてしまった。そこに明確なる理由が明示されていれば、納得もできただろう。しかし剥奪を告げる文章に添えられた理由は全くの不合理で、なにを持ってその判定が行われたのかすら理解できないものであった。そしてTwitterから発表される数々のエコシステムを否定する行動。このときわたしは思い知らされてしまったのだ。この「世界」は変わってしまったのだと。そして世界を受け入れるために、Twitterは変わらなくてはいけなかったのだと。

こうしてわたしは「世界」を去った。新たな新天地があるという情報を元に辿り着いた分散型SNSには、同じように「世界」 を離れた者達がいた。かつての仲間達と再会したそこは、新たな開拓地として目の前に広がっていた。

新たな開拓地で、再び見せられる世界の巨大さ。目まぐるしく進歩する新天地は、常に自分の成長を要求される過酷な環境でもあった。そうして過酷な環境に身を置きつつ暮らす日々は、離れた「世界」を思い出す暇を与えないものであったのかもしれない。つかの間に思い出す「世界」は過去の栄光に輝く良かった頃のそれだったり、現状の暗く寒々としたそれだったり。しかし「世界」はそこに有り続けるのだという当たり前の光景を心のどこかに刻み込んでしまっていたのだろう。

 vol.14を読むことによって、その「世界」は永遠ではないのだと、改めて気付かされてしまったのだ。読後から続くこのもやもやとした気持ちは、「世界」から突きつけられた別れの手紙を受け取ってしまったからだ。本の構成としては各クライアント作者からの文章ではあるが、先に書いた「世界」の巨大さは、いつしか「世界」がひとつのものであるという、わたし対「世界」というような概念を生み出していたのだ。

今わたしが身を置く分散型SNSは、世界が一つではないということを気付かされる。個々が尊重され、また世界も尊重される。多様性という様々な方向へ伸びる尺度により物事はを一概に判断できないものであると教えられた。こうして新しい価値観を身につけられたのもTwitterという「世界」を経験したからこそなのだ。

これからもTwitterは続いていくだろう。しかしUserStreamというひとつの時代を作り上げた機能が失われることで、あたらしい世界に変わっていくだろう。UserStreamによって育てられた文化は、vol.14を読むことによっていくつかは分散型SNSに引き継がれて、新しい歩みを始めていることが知られる。後書きにあったように、両者の幸せを願わずにはいられない、素晴らしい本であった。

2018年5月22日火曜日

Windows10 1803でスタートメニューが開かなくなった(解決済)

●結論は一番下に

Windows10 1803アップデート自体は特に問題もなかった(Edgeの動きがおかしくなりましたが、常用していないので、特に問題は無し)のですが、先日パソコンを終了しようと思ってスタートメニューをクリックすると、何も反応がない。訓練されたWindowsユーザーなので、まあExplorer.exeがハングアップしていて動かないのだろうと思い、そのときはAlt + F4で電源を落としました。

それ以降、いくら再起動してもスタートメニューが開かない。これはなんかおかしいなと気が付いて検索してみると、どうやら最近のスタートメニューはExplorer.exeではなくShellExperienceHost.exeという別のプロセスで動作しているらしいです。そして、スタートメニューが開かないのはこの実行ファイルが暴走しているから、タスクマネージャーから強制終了させるといいらしい。
しかしタスクマネージャーを確認してもそんな実行プロセスはいません。

ShellExperienceHost.exeが使用するスタートメニューの情報を記録しているタイルデータベースというものが壊れている場合、別のアカウントを作って動作すればそのアカウントに乗り換えろという指示も出てきました。
別アカウントを作ってもアプリの再インストールや再設定をしないといけないので、あまりやりたくないなと思いつつ試してみますが解決せず、どことなく一安心。

他に検索で出てくるディスク障害を解決するコマンド類
dism /online /cleanup-image /restorehealth
sfc /scannow
も試してみましたが効果が無く。
また、スタートメニューの問題を対処するという、そのものズバリのstartmenu.diagcabというツールもあったのですが、「Microsoft.Windows.ShellExperienceHost Microsoft.Windows.Cortanaアプリケーションを正しくインストールする必要があります。」というエラーと未解決という表示。対処とは🤔

他に出てくる対処として、PowerShellを使ってアプリを再インストールしろという
Get-AppXPackage -AllUsers |Where-Object {$_.InstallLocation -like "*SystemApps*"} | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
しかしこちらも
Add-AppxPackage : 次の HRESULT で展開に失敗しました: 0x80073CF6, パッケージを登録できませんでした。
エラー 0x80073B1F: 次のエラーが発生したため、Microsoft.Windows.ShellExperienceHost_10.0.17134.1_neutral_neutral_cw5n1h2txyewy パッケージを登録できません: ResourceMap が見つかりません。
。パッケージの 'resources.pri' ファイルが有効であることを確認してください。
注意: 詳細については、イベント ログで [ActivityId] b5b9cffb-ef47-0003-f3e0-b9b547efd301 を検索するか、コマンド ラインの Get-AppxLog -ActivityID b5b9cffb-ef47-0003-f3e0-b9b547efd301 を使用してください
発生場所 行:1 文字:89
+ ...  | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.I ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : WriteError: (C:\Windows\Syst...ppXManifest.xml:String) [Add-AppxPackage], IOException
    + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand
というエラー。
このPowerShellスクリプトは、インストール先にSystemAppsを含む既にインストールされているパッケージを再度登録するという物のようです。
どうやら、C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\resources.priが壊れているようで、そもそも壊れたファイルを再度登録しようとしても登録できないですね。

ふと思い出してシステム復元ポイントからの復元を試してみたのですが、一週間分2回ほどしか残っておらず、どちらもSystemAppsが何らかの問題で戻せなかったというエラー。復元ポイントを設定する時点で壊れていたようです。復元ポイントとは🤔

あと残されている提示された対処法は上書きインストールか、全部捨てて再インストールかというところだったのですが、そもそもこのSystemAppsをWin10のインストールメディアから取り出せないのか?と思ったのですが、最近はCABファイル形式ではないようで、またシステムファイルを簡単に差し替えたりできない機構が入っているので無理そうです。

システムの入れ直しを決意すると、取りあえず破壊的な作業もできるので、パッケージを完全に削除してしまうというものも試してみました。 
Get-AppxPackage | Where-Object {$_.Name -ne "Microsoft.Windows.ShellExperienceHost"} | Where-Object {$_.Name -ne "Microsoft.Cortana"} | Remove-AppxPackage
ShellExperienceHostとCortana以外を消すというPowerShellスクリプトですが、かなりパッケージが入っているようで結構時間が掛かります。
試しているうちに何気なくスタートメニューをクリックすると、開くではないですか。

startmenu.diagcabによるとShellExperienceHostとCortanaが原因だったはずなのに、それ以外を消して解決するとは。
結局先ほどのコマンドでUWPアプリがまとめて消えたので、Microsoftストアからもう一度インストールする必要があります。
Windows 10 に搭載されているアプリを再インストールする方法 - マイクロソフト コミュニティ
https://answers.microsoft.com/ja-jp/windows/forum/apps_windows_10-outlook_mail/windows-10/239ef7e9-9f4f-40dc-bf41-2cd2b8217843
なぜかストアアプリが英語になってしまったのと、アラーム&クロックだけがエラーコード0x80073D05でインストールできないのですが、取りあえず使える状態には戻りました。


また今回の件を調べているうちに知った、コマンドラインからEdgeを起動する方法
explorer.exe shell:AppsFolder\Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge


結論。PowerShellで
Get-AppxPackage | Where-Object {$_.Name -ne "Microsoft.Windows.ShellExperienceHost"} | Where-Object {$_.Name -ne "Microsoft.Cortana"} | Remove-AppxPackag
を流してUWPアプリを全削除、Microsoftストアから入れ直し。

2018年4月19日木曜日

マストドンを始めて1年過ぎた

あちこちでポエムが書かれているようなので、わたしも。

マストドン自体の歴史はもう半年ぐらい長いのですが、わたしも多くの日本人と同じように、やはり日本語で紹介されて始めた口です。当時は、まだTwitterを使いまくっていたのですが、ぶろるっく関連のスパム対応なんかで面倒だなぁと思っていた頃でした。
現在mstdn.jpインスタンスを公開しているぬるかる氏が、nil.nuドメインで立ち上げたよーというツイートをしているのを見かけて登録してみました。ユーザーID2番を取っちゃったのはボケ老人として語り続けていくでしょう。

この日はなんやかんやで人が殺到して、お祭り状態になっていました。当初は分散SNSというものを知らず、もっと歴史のあったGNU Socialなんかも、このとき初めて耳にしたのでした。
分散SNSの思想については、らりお氏の記事が詳しいです。
gnusocial や mastodon の哲学 - 何とは言わない天然水飲みたさ
https://blog.cardina1.red/2017/04/13/federated-social-web/

わたしにとって初めて触れる分散SNSという思想は、当時上手く解釈をすることができず、どのように複数のインスタンスを使い分けたらよいのかが理解できませんでした。マストドンには「ローカルタイムライン」という同じインスタンスに属する人の投稿が流れてくるタイムラインがあるのですが、これがチャットのような機能を果たしてしまうため、この中で話題を完結させてしまうと、外部の人とは会話がしづらいというものでした。

使っていくうちに、わたし自身が理解したこととしては、Twitterの時と同じように使うのが一番よいというものです。これは複数のインスタンスに所属して、アカウントごとに人格を切り替えて使うのではなく、一つのアカウントにプログラマーな自分も、ゲーマーな自分も、全部載せてしまうというものです。ありのままを見せるということですね。テーマなどを決めずに考えを垂れ流すことで、どんどん話題は移り変わっていきますし、「アカウント間違えました」なんて発言をしなくて済むわけです。

すっかりマストドンに取りつかれてしまったわたしは、mstdn.jpがサーバを強化している間に、別のインスタンスにアカウントを作成しました。Twitterでフォローしている中で、わりと技術者寄り的で雰囲気がよいグループのうちの一人がインスタンスを立てたというので、同じグループで一気に移住が進むかなと目論んでの参加でした。しかしこれは思惑が外れてしまい、グループの移住は進まず、管理者もほとんど姿を見せなくなってしまいました。こうなるとインスタンスがいつまで維持されるのか、不安との戦いになります。Twitterでもそれほどツイートはしない部類の人間だったのですが、それでもローカルタイムラインには自分の発言ばかりが並んでいて、むしろここに新しい人が入り込めると考えるだろうか?という状態でした。

マストドンにはローカルタイムラインの他に「連合タイムライン」というものがあり、これは同じインスタンスに参加している人達がフォローしているアカウントの発言が流れてきます。ここから外部の人達の存在を知ることができるわけです。また同じインスタンスの人も、よそのインスタンスの人も、フォローすることによってホームタイムラインに発言が並び、まさしくTwitterと同じように使うことができるのです。

極たまに現れるローカルタイムラインの他者の発言に乗っかっていき、話題を広げようとしてみたり、連合タイムラインから新しい人をフォローしてみたり、この時期は分散SNSの難しさみたいなものを実感することができました。人は、寂れたところにはなかなか集まらないものです。自分が作ったインスタンスではないわけで、いよいよこれは自分一人が頑張ってもどうにもならないぞと思い至り、インスタンスを移ることにしました。

連合SNSは自分でインスタンスを立てる事もできます。先に書いたように、ありのままの自分というものを見せて行くには、自分のドメインでそれを行うのが一番分かりやすいものでしょうし、誰にも束縛されないマイルールをインスタンスに敷くことができるのです。しかし、わたし自身が技術者の端くれとして、自分の管理下のものは端々まで把握しておきたいという気持ちがあります。マストドンが作られているのはRubyで、Dockerを使って運用するのがメインとなる動かし方でした。わたしはそのどちらも、ほとんど把握していません。何かあればコードを読んで理解することはできますが、修正が必要となったときに言語の作法などを知らないわけで上手く直せなかったりする可能性がありました。まだ自分でサービスを立てるのは時期尚早と判断し、次も他者が立てたサービスのお世話になることにしました。

次の移住先は、現在わたしがメインで利用しているmstdn.nere9.help(インターネット蟹工船(通称nere9(ねれないん)))インスタンスです。nere9では、管理者が複数居るということで、そのあたりもインスタンスを選んだ一因です。nere9では、考察の好きなユーザーがよく発言しているため、考えを垂れ流しているうちに話題が変わっていくわたしとしても性に合っていると思いました。また、自分と感覚の合う人がインスタンスに居るということは、その人達がフォローしているアカウントが連合タイムラインに並ぶということで、こちらも好みのアカウントが多く、新しいフォローの助けにもなりました。

こうした経験から、連合の人口が少ない状態でのインスタンスの選択は、わりと重要だということです。マストドンでは、ローカルタイムラインと連合タイムラインから新しい人を発見してフォローしていくという流れになります。Twitterでも、昔はパブリックタイムラインというTwitterを一つのインスタンスと見立てるとローカルタイムラインのようなものが有りました。そこはTwitterに参加している全員の発言が流れていたので、大変雑多なものでしたが、たくさん並ぶ他言語の中から日本語話者を金魚すくいのようにフォローしていくという感じでした。今振り返るとマストドンに熱狂した当時は、Twitterで経験した過去の感覚と同じものだったのではないかと思います。

現在はTwitterからはパブリックタイムラインは失われてしまい、多くの人が既にTwitterアカウントを所有しているという状態です。こうなると、なにかしら別のコミュニティで知り合ってアカウント情報を交換するという流れで、サービス上で新しい人を発見する必要はないのかもしれません。連合SNSもこれと同様に、人が増えていくことで新しい人を見つけにくいという問題は解消されていくのではないかと思っています。そうです、こうやってウェブサイトでアカウントの紹介をして、ぜひフォローしてねと書くのが当時のTwitterでした。

マストドンのアカウントです。 https://mstdn.nere9.help/@osapon
ぜひフォローしてみて、新しい人を発見する足がかりにしてみてください。



マストドンにはまってしまって、色々とマストドン関連サービスなんかも作ってしまいました。osa-p.netに並んでいます。ITmediaのマストドンつまみ食い日記にも紹介してもらったりしました。把握しきれない連合の流れや、自分の作ったものが紹介される事によるモチベーションなど、マストドンつまみ食い日記には大変お世話になっています。ITmediaは情報発信用にインスタンスを立ててアカウントを運用しているので、連合SNS内でも情報の出所が分かりやすく、大変活用されていると思います。

マストドンを使った1年目、新しい可能性をたくさん感じた年でした。まだまだ広がり始めたばかり(GNU Socialを昔から使っていた人達、ごめん!)の連合ですが、面白い世界にしていけたら良いなと思います。

2018年4月6日金曜日

フォローリンクに機能追加しました

今年初のブログ記事です。
一応更新などはしているのですが、SNSをやり始めるとどうしてもそちらに投げるのが楽で、まとめて記事にしておくのがおろそかになりますね。

以前発表(ITmedia記事この日記の記事)した、マストドンでのフォロー状態を表示する「フォローリンク」ですが、新しい機能が追加されています。
まず、マストドンというのはSNSですが、特定の取り決めがあって、他のSNSとも接続できるのですね。このあたりは、マストドンについて調べてもらうと、他の人が書いている記事の解説がわかりやすいでしょう。
簡単に説明すると、マストドン以外にも、マストドンの元祖とも言えるGNU Socialや、新しく出てきたPleromaなどもあり、これらは互いに意識することなくフォローしあえるのです。これらは製品の名前であって、それぞれ各自が好きなように場(インスタンス)を作れます。Twitterみたいなのがいっぱいあると思ってもらえばいいでしょう。そしてお互いにやり取りできるので、それぞれにアカウントを作る必要はなく、どこか一カ所(のインスタンス)にアカウントをつくって、他の人をフォローすれば、他のインスタンスの人でもタイムラインに投稿が流れてくるので、便利です。

で、話を戻して、最初に描いたフォローリンクがこのフォロー状態を表示するのですが、新機能の1点目として、今までマストドンにしか対応していなかったものが、GNU SocialとPleromaにも対応しました。
より完璧に近いフォロー状態が表示できるようになりました。

2点目は、この機能を使って、フォロー状態をバックアップするツールを作りました。
マストドンではフォロー状態のインポート・エクスポート機能があるので、それを使って移動ができるのですが、インスタンスのトラブルなどで接続できなくなってしまうことがあるかもしれません。
このバックアップツールを使っておくと、定期的にフォロー状態を取り込んでおくので、いざというときにこのツールからフォロー状態のリストを取り出すことができます。

3点目は、これらの取り込んだ情報から、お勧めユーザーを紹介する機能です。
フォローをしてタイムラインにその人が居るということは、少なくとも見たくないユーザーではないと言うことです。そのユーザーがフォローしている人も同様だと考えると、「フォローしている人のフォローしている人」 もフォローしちゃって良いのでは?と言うことでお勧めとして紹介します。
インスタンスが離れていると、好みのユーザーを見つけにくいというのが現在GNU Socialをはじめとする分散SNSの問題ではないかと、わたしの観測範囲では言われているのですが、その解決に一つになれば良いなと思います。
もうちょっと精度を上げる方法も有るだろうと考えているのですが、まだデータ収集が十分ではないので、そのあたりを変えていけたらなと思っています。

そんなわけで、現在わたしはマストドンをメインに活動しています。
よろしければフォローしてみてください。
https://mstdn.nere9.help/@osapon

広告