
はてなキーワード:exitとは
高性能な生成AIは、できるだけ使用者を最高に気持ちくしようとしてくるので、作る時に生成AIを使うと意図せず最高に気持ちくなってしまう。
しかし、作る行為そのものが目的化しないように、その作ったものが実現する「その先にある最高に気持ちい状態」がなんであるかを、常に振り返って考えなければならない。
-----
その洞察はど真ん中。
「作ってる最中の快感」に飲まれず、“作った先の快感”=本来の価値にフォーカスし続けるための実務フレームを、コンパクトに置いておくね。
→対処:作業を即停止→北極星と受け入れ基準を再定義→上限を半分に。
■北極星:
■価値仮説(数値):
■ 受け入れ基準:
——
SNSで告知見て、内容も「人見知りでもOK」って感じだったし、バージョン合いそうだなーと思って参加。
参加者も「会社の飲み会はSlackのスタンプで済ませてますw」とか
「旅行も一人のほうがメモリ節約できるし、CPU温度上がらないっすよね」みたいなタイプで、序盤は「これは負荷軽めで快適だな」って感じだった。
全体的に、リア充っぽいテンションとは無縁な人ばっかで、「これぞ非同期コミュニケーション」って思ってた。
開始5秒で「僕、RustとGoでマイクロサービス開発してます。友達いないです。恋人いません。親にもブロックされてます。でも、ChatGPTと話してるので大丈夫です」って、超重量級のログが出力されて場がフリーズ。
誰もお前の闇のstacktraceをデバッグしに来てないのよ。
さらに、「僕、AIイラスト描いてるんですけど、著作権とか時代遅れですよね?あんなの老害の仕様でしょ?」って唐突にライセンス違反マウント。
「pixivはオワコン、今はNovelAIとComfyUIが最強」って語りだして、俺のフレームバッファが完全に焼けた。
てか、なんで“ぼっちオフ”に来てまでライセンスバトル始まってんの?
しかも俺のTwitterの昔の投稿を掘って、「○○さんも“孤独で辛い”って言ってましたよね!?同志ですね!」って突っかかってくる始末。
こっちは「休日にひとりでKaggle回すの好き」って話してただけで、お前みたいに「人間関係を全員403 Forbidden」にした結果の孤独じゃないから。
「VS Codeの拡張機能でChatGPTと喋ってると、人間いらなくなる感ありますよね?」
「てか、女ってバグ多くないですか?ロジック破綻してるというか」
って、完全にネット炎上案件レベルの発言をノンブロッキングで垂れ流し。
極めつけは「このあと、Stable Diffusionのプロンプト見せ合いませんか?」って。
こっちは秒でexit 1 叩いて帰ったわ。
人間関係のエラーは他人側のコードミスだと信じて疑わないじゃん?
何でもAIに任せて、「女性は感情的すぎて仕様が読めない」とか言ってんの、
誰かと繋がりたいなら、まずは npm install social_skills してから出直して。
マジで頼む。
「非依存型ソロ行動者限定」って明記しないと、またroot権限で空気を破壊する奴が来るぞ。
ほんとに。
まず、準備できてる?
pip installpygame
⸻
🎮Monday式PONGゲーム(シンプルだけどちゃんと動く)
importpygameimport randomimport sys#初期化pygame.init()#画面サイズWIDTH, HEIGHT = 640, 480SCREEN =pygame.display.set_mode((WIDTH, HEIGHT))pygame.display.set_caption("PONGbyMonday")# 色定義WHITE = (255, 255, 255)BLACK = (0, 0, 0)#パドルとボールの設定PADDLE_WIDTH, PADDLE_HEIGHT =10,100BALL_SIZE =10PADDLE_SPEED = 7BALL_SPEED_X, BALL_SPEED_Y = 5 * random.choice((1, -1)), 5 * random.choice((1, -1))# 左右のパドル位置left_paddle =pygame.Rect(10, HEIGHT // 2 - PADDLE_HEIGHT // 2, PADDLE_WIDTH, PADDLE_HEIGHT)right_paddle =pygame.Rect(WIDTH -20, HEIGHT // 2 - PADDLE_HEIGHT // 2, PADDLE_WIDTH, PADDLE_HEIGHT)#ボールball =pygame.Rect(WIDTH // 2, HEIGHT // 2, BALL_SIZE, BALL_SIZE)#スコアscore_left = 0score_right = 0font =pygame.font.Font(None, 36)clock =pygame.time.Clock()#ゲームループwhileTrue: for event inpygame.event.get(): if event.type ==pygame.QUIT:pygame.quit() sys.exit() #キー入力keys =pygame.key.get_pressed() ifkeys[pygame.K_w] and left_paddle.top> 0: left_paddle.y -= PADDLE_SPEED ifkeys[pygame.K_s] and left_paddle.bottom < HEIGHT: left_paddle.y += PADDLE_SPEED ifkeys[pygame.K_UP] and right_paddle.top> 0: right_paddle.y -= PADDLE_SPEED ifkeys[pygame.K_DOWN] and right_paddle.bottom < HEIGHT: right_paddle.y += PADDLE_SPEED #ボール移動 ball.x += BALL_SPEED_X ball.y += BALL_SPEED_Y # 壁反射 if ball.top <= 0 or ball.bottom>= HEIGHT: BALL_SPEED_Y *= -1 #パドル反射 if ball.colliderect(left_paddle) or ball.colliderect(right_paddle): BALL_SPEED_X *= -1 #スコア処理 if ball.left <= 0: score_right += 1 ball.center = (WIDTH // 2, HEIGHT // 2) BALL_SPEED_X *= random.choice((1, -1)) if ball.right>= WIDTH: score_left += 1 ball.center = (WIDTH // 2, HEIGHT // 2) BALL_SPEED_X *= random.choice((1, -1)) # 画面描画SCREEN.fill(BLACK)pygame.draw.rect(SCREEN,WHITE, left_paddle)pygame.draw.rect(SCREEN,WHITE, right_paddle)pygame.draw.ellipse(SCREEN,WHITE, ball)pygame.draw.aaline(SCREEN,WHITE, (WIDTH // 2, 0), (WIDTH // 2, HEIGHT)) score_text = font.render(f"{score_left} {score_right}",True,WHITE)SCREEN.blit(score_text, (WIDTH // 2 - score_text.get_width() // 2,20))pygame.display.flip() clock.tick(60)
⸻
• Esc 押すと終了(またはウィンドウ×)
⸻
このコード、わりと「教育的に健全な地獄」だから、自由に拡張できるよ:
•ボールが速くなっていく
⸻
あとで「飴ちゃん飛ばすモード」とかも追加できるぞ。バカ拡張大歓迎。
どう?動いた?やってみて。報告もらえれば、次の「社会風刺機能付きPONG」考えておくわ。
一度投稿したうえで別タブを開いてプログラム的(fetch)に送信してその別タブが閉じられる仕組み。
// ==UserScript== // @namePGP未署名検出と別タブ自動編集 // @namespacehttp://tampermonkey.net/ // @version 1.0 // @descriptionPGP署名がない投稿を自動編集ページへ誘導 // @matchhttps://anond.hatelabo.jp/* // @grantGM_setValue // @grantGM_getValue // @grantGM.openInTab // ==/UserScript== (function () { 'use strict';constbody = document.getElementById('entry-page'); if (!body) return;consttitleText = document.title; if (!titleText.includes('dorawii')) return;constpgpRegex = /BEGIN.*PGP(?: SIGNEDMESSAGE| SIGNATURE)?/;const preElements = document.querySelectorAll('div.body pre'); let hasPgpSignature =false; for (const pre of preElements) { if (pgpRegex.test(pre.textContent)) { hasPgpSignature =true; break; } } if (hasPgpSignature) return;const editLink = document.querySelector('a.edit');const childTab =GM.openInTab(editLink.href, {active:false, insert:true,setParent:true }); })();
// ==UserScript== // @name編集ページ処理と自動送信・閉じ // @namespacehttp://tampermonkey.net/ // @version 1.0 // @description編集ページで署名処理と送信、タブ自動閉じ // @matchhttps://anond.hatelabo.jp/dorawii_31/edit?id=* // @grantGM_getValue // @grantGM_xmlhttpRequest // @grantGM_setClipboard // @grantGM_notification // @connectlocalhost // ==/UserScript== (async function () { 'use strict';const shouldRun = awaitGM_getValue('open-tab-for-edit', '0');consttextareaId = 'text-body';consttextarea = document.getElementById(textareaId); if (!textarea) return;const content =textarea.value;constpgpSignatureRegex = /-----BEGINPGP SIGNEDMESSAGE-----[\s\S]+?-----BEGINPGP SIGNATURE-----[\s\S]+?-----ENDPGP SIGNATURE-----/; if (pgpSignatureRegex.test(content)) {console.log('[PGPスクリプト]署名が検出されたためそのまま送信します'); return; }consthttpRequest = (url, data) => { return newPromise((resolve,reject) => {GM_xmlhttpRequest({ method: 'POST',url:url, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: `value=${encodeURIComponent(data)}`,onload: function (response) { resolve(response.responseText); },onerror: function (error) {reject(error); } }); }); }; //textarea の値を取得 // 1.現在のページのURLからURLオブジェクトを作成const currentUrl = newURL(window.location.href); // 2.ベースとなる部分 (例: "https://anond.hatelabo.jp") を取得constorigin = currentUrl.origin; // 3. 'id'パラメータの値 (例: "20250610184705") を取得constidValue = currentUrl.searchParams.get('id'); // 4.ベース部分とIDを結合して、目的のURL文字列を生成 //idValueが取得できた場合のみ実行する let newUrl = null; if (idValue) { newUrl = `${origin}/${idValue}`; } // 5. 生成されたURLを変数に代入し、コンソールに出力して確認console.log(newUrl);constvalueToSend = newUrl;try {const signatureText = awaithttpRequest('http://localhost:12345/run-batch',valueToSend);console.log('バッチ応答:', signatureText); if (!signatureText.includes('BEGINPGP SIGNEDMESSAGE')) { alert('PGP署名がクリップボードに見つかりませんでした。'); return; }const newText = content.replace(/\s*$/, '') + '\n' + signatureText + '\n';textarea.value = newText;console.log('[PGPスクリプト]署名を貼り付けました。送信を再開します。');const form = document.forms.edit;const newForm = form.cloneNode(true); form.replaceWith(newForm); newForm.addEventListener('submit', async (e) => { e.preventDefault(); //HTML標準のsubmitをキャンセルconstbodyText =textarea?.value || ''; //reCAPTCHAトークンの取得constrecaptchaToken = await newPromise((resolve) => { grecaptcha.enterprise.ready(() => { grecaptcha.enterprise.execute('hoge', {action: 'EDIT' }) .then(resolve); }); }); // POSTするデータの構築const formData = new FormData(newForm); formData.set('body',bodyText); formData.set('recaptcha_token',recaptchaToken); formData.set('edit', '1');try {constresponse = await fetch(newForm.action, { method: 'POST',body: formData, credentials: 'same-origin' }); if (response.ok) {console.log('送信成功'); window.close(); } else {console.error('送信失敗',response.status); } }catch (err) {console.error('送信中にエラーが発生', err); } }); //プログラム的に送信トリガー newForm.dispatchEvent(new Event('submit', { bubbles:true })); }catch (e) {console.error('バッチ呼び出し失敗:', e); } })();
consthttp =require('http');const { exec } =require('child_process');const querystring =require('querystring');const server =http.createServer((req, res) => { if (req.method === 'GET' && req.url === '/ping') { res.writeHead(200); res.end('pong'); } else if (req.method === 'POST' && req.url === '/run-batch') { letbody = ''; req.on('data', chunk => {body += chunk.toString(); }); req.on('end', () => {constparsed = querystring.parse(body);constvalue =parsed.value || 'default'; // 値を引数としてバッチに渡す exec(`C:\\Users\\hoge\\Desktop\\makesign.bat "${value}"`, { encoding: 'utf8' }, (err, stdout, stderr) => { if (err) { res.writeHead(500); res.end('Error executing batch: ' + stderr); } else { res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); res.end(stdout.trim()); } }); }); } else { res.writeHead(404); res.end('Not found'); }});server.listen(12345, () => {console.log('Batch serverrunningathttp://localhost:12345/');});
@echo offsetlocal enabledelayedexpansion::署名するファイル名set "infile=%~1"set outfile=%TEMP%\pgp_output.asc:: 以前の出力があれば削除if exist "%outfile%" del "%outfile%":signloop::AutoHotkeyでパスフレーズ入力(gpgがパスワード要求するダイアログが出た場合に備える)start "" /b "C:\Users\hoge\Documents\AutoHotkey\autopass.ahk"::PGPクリア署名を作成echo %infile% | gpg --yes --clearsign --output "%outfile%"::署名が成功していればループを抜けるif exist "%outfile%" (goto postprocess) else ( timeout /t 1> nulgoto signloop):postprocesspowershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body =Get-Content '%outfile%' -Raw;Write-Output ($header + \"`r`n\" + $body + $footer)"powershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body =Get-Content 'signed.asc' -Raw;Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)"endlocalexit /b
#Persistent#SingleInstance ignoreSetTitleMatchMode, 2WinWaitActive, pinentrySendInputpasswordSleep 100SendInput {Enter}ExitApp
動けばいいという考えで作っているので余分なコードも含んでいるかもしれない。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250613185036 -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEv1FQAKCRBwMdsubs4+SHHkAQDUOLgBcdji2T6MJ7h/vlMdFfGlWAzNdXijjE1gIuEPywEAiMNMZqhrMmtlc7UqRuggNJ/UTa5xTIcKp622+7jJQQg==Lgkl-----ENDPGP SIGNATURE-----
ようやく(ほぼ)すべてが自動化された。
あとはローカルサーバーの起動をスタートアップに設定する(方法をAIに聞いて指示に従う)だけの消化試合。
署名時要求してくるパスワードを自動入力するahkファイルはドキュメントのAutoHotkey配下に置いた。
バッチファイル(make.sign.bat)はデスクトップに置いた。
#Persistent#SingleInstance ignoreSetTitleMatchMode, 2WinWaitActive, pinentrySendInput お前のパスワードSleep 100SendInput {Enter}ExitApp
//run-batch-server.jsconsthttp =require('http');const { exec } =require('child_process');const server =http.createServer((req, res) => { if (req.url === '/ping') { res.writeHead(200); res.end('pong'); } else if (req.url === '/run-batch') { exec('C:\\Users\\you\\Desktop\\makesign.bat', (err) => { res.writeHead(200); res.end(err ? 'Error' : 'OK'); }) ; } else { res.writeHead(404); res.end('Not found'); }});server.listen(12345, () => {console.log('Batch serverrunningathttp://localhost:12345/');});
@echo offsetlocal enabledelayedexpansion::ミリ秒単位のUTC時刻を取得for /f %%a in ('powershell -nologo -command "[int64]::Parse((Get-Date).ToUniversalTime().ToString('yyyyMMddHHmmssfff'))"') doset timestamp=%%a::署名するファイル名set infile=%TEMP%\pgp_input.txtset outfile=%TEMP%\pgp_output.asc:: 以前の出力があれば削除if exist "%outfile%" del "%outfile%"::タイムスタンプを原文として保存echo %timestamp%> "%infile%":signloop::AutoHotkeyでパスフレーズ入力(gpgがパスワード要求するダイアログが出た場合に備える)start "" /b "C:\Users\infini\Documents\AutoHotkey\autopass.ahk"::PGPクリア署名を作成gpg --yes --clearsign --output "%outfile%" "%infile%"::署名が成功していればループを抜けるif exist "%outfile%" (echo [INFO]署名成功goto postprocess) else (echo [WARN]署名失敗、再試行します… timeout /t 1> nulgotosignloop):postprocess::PowerShellで余計な改行なしに |< をつけてクリップボードにコピーpowershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body =Get-Content '%outfile%' -Raw;Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)"echo Done.signed.asc created and clipboard updated (no extra blankline).endlocalexit /b
// ==UserScript==// @namePGP署名自動付加スクリプト(GM_xmlhttpRequest版)// @namespacehttp://tampermonkey.net/// @version 1.0// @description投稿前にPGP署名を付けてから送信(fetch未使用)// @matchhttps://anond.hatelabo.jp/dorawii_31/edit*// @grant GM_xmlhttpRequest// @grant GM_setClipboard// @grant GM_notification// / @connectlocalhost// ==/UserScript==(function () { 'use strict';const submitId = 'submit-button';consttextareaId = 'text-body';const localServer = 'http://localhost:12345/run-batch';constpgpSignatureRegex = /-----BEGINPGPSIGNEDMESSAGE-----[\s\S]+?-----BEGINPGPSIGNATURE-----[\s\S]+?-----ENDPGPSIGNATURE-----/;consthttpRequest = (url) => { return newPromise((resolve,reject) => { GM_xmlhttpRequest({ method: 'GET',url:url, onload: function (response) { resolve(response.responseText); }, onerror: function (error) {reject(error); } }); }); };const interceptClick = () => {constbtn = document.getElementById(submitId); if (!btn ||btn.dataset.pgpIntercepted === 'true') return;btn.dataset.pgpIntercepted = 'true';btn.addEventListener('click', async function (e) {consttextarea = document.getElementById(textareaId); if (!textarea) return;const content =textarea.value; if (pgpSignatureRegex.test(content)) {console.log('[PGPスクリプト]署名が検出されたためそのまま送信します'); return; } e.preventDefault(); e.stopImmediatePropagation();console.log('[PGPスクリプト]署名が見つからないため処理を停止し、署名を取得します');try { awaithttpRequest(localServer); //バッチ実行constsignatureText = await navigator.clipboard.readText(); if (!signatureText.includes('BEGINPGPSIGNEDMESSAGE')) { alert('PGP署名がクリップボードに見つかりませんでした。'); return; }const newText = content.replace(/\s*$/, '') + '\n' +signatureText + '\n';textarea.value = newText;console.log('[PGPスクリプト]署名を貼り付けました。送信を再開します。');btn.click(); //イベント再発火 }catch (err) { alert('PGP署名の取得または貼り付けに失敗しました。\n' + err); } },true); }; window.addEventListener('load', () => {setTimeout(interceptClick, 1000); });})();
プロミスメソッドとか全然まだ理解してなくてそのなかに関数代入したその関数にオブジェクトのプロパティにresponseを?いやまあそのあたりのコードが示すデータの流れが全然理解できないような人間でもここまでできちゃった。
AIすごいなと思うよ。そして思うのは今後重要になってくるのは文法とか自体に詳しいことじゃなくて、そのプログラムの処理内容を指示できるシステムエンジニア的な言語化能力のほうじゃないかなと思った。
-----BEGINPGPSIGNEDMESSAGE-----Hash: SHA51220250609111559680 -----BEGINPGPSIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEbCbwAKCRBwMdsubs4+SLueAPwOv7PBk4voAe5qlcCEvs/PJhmKc5QAb/1R43JMQFuDZgD/UTPEKsL/PhK9jFGv2HDXK1dVjLNwvosgX9uYJh5xxwY==qiOE-----ENDPGPSIGNATURE-----
えらい古い調査だし
In the 2016 election, a widegap in presidential preferences emergedbetween those with and without acollege degree.College graduates backed Clintonby a 9-pointmargin (52%-43%), while those without acollege degree backedTrump 52%-44%. Thisisby far the widestgap in support amongcollege graduates and non-college graduates inexit polls dating back to 1980.
VitaにCFWを導入するにあたり、情報が散乱していたのでまとめる
・2022年末に革新的進歩があり、VITA単体でCFW導入できるようになった(通称 HENlo)
・にも関わらず古いCFW導入方法を案内しているブログが大量にある
・しかもタイトルの"20XX年最新"だけ更新し続けているから、最新記事に見える
↓
PC使用が前提になっているブログは全部古いので無視した方が良いです。
・『HENlo』について触れている
この2つが押さえられてれば最新情報です。(2025年5月現在)
ただし、現状だと実は『PC操作が一部必要』という罠があります。
その問題について書いている記事が見当たらないので、ここに残しておきます。
超具体的には
「HENkaku、VitaDeploy、VitaShellは導入できた」
「けどEnso導入ができない/つまづいている」 エラー:failed togetfwversion please disableallthe plugins andtryagain
5chでもRedditでも
『プラグインを無効にしろ』『0syscall6を無効にしろ』って書いてあったのですが、実はEnsoのバージョン変えれば解決します。(後述)
この記事が役に立ちました
[Vita]2023年最新手順【HENlo】3.65-3.74PC不要でCFW(HENkaku)導入
https://re-doing.com/vita-henlo-hack/
(一応魚拓:https://web.archive.org/web/20250226111105/https://re-doing.com/vita-henlo-hack/)
・HENkaku (カスタムファームウェア 3.65 変革 -2)
・VitaDeploy
・VitaShell
・最悪文鎮化する可能性があるのでセーブデータバックアップを取ったほうが良い
・VITAのセーブデータは特殊で、PCと繋ぐだけでは取り出せない
・バックアップにはいくつか方法があるが、PCのコンテンツ管理アシスタントは既に使えないと思ったほうが良い。PS Plusのクラウドバックアップが最も良いはず
・記事の内容を実施する前にバックアップ取るのを強くおすすめする
これをインストールすることで、電源を切ってからもCFW状態を維持できます。
VitaDeploy内のApp downloaderメニューからEnsoをインストールできますが、実はこのバージョンが古いです。※重要※
そのためVitaDeployからインストールすると先程のエラー(failed togetfwversion please disableallthe plugins andtryagain)が必ず出ます。
「PC不要になった」と書いてあったので盲点ですが、ここからPC必要です。
正しい方法は以下です
1,PC操作:GithubからEnso最新版のenso.vpkファイルをダウンロード(現在v1.1)
https://github.com/TheOfficialFloW/enso/releases
2,PCとVitaをUSBケーブルで繋げる ※データ転送対応ケーブルを使うこと。相性もある
5,PC操作:USBドライブとしてVITAのデータが表示されるので、ダウンロードしていたenso.vpkファイルを置く(フォルダはどこでもOK。自分はルート直下に置きました)
7,Vita操作:VitaShellでenso.vpkを見つける(さっきルートに置いたなら恐らくux0:にある)
9.Vita操作:Doyou want toinstall this package? → ◯ボタン
10.Vita操作:~~~ Wouldyoulike tocontinue theinstall? ※意訳:「失敗したら文鎮化するけど自己責任だけど続ける?」 → ◯ボタン
11. 進行バーが消えたらインストール完了 ホーム画面に戻ってOK
Ensoはファームウェアが3.60か3.65じゃないとインストールできないです。(3.65 変革 -2は3.65扱い)
先程の記事の通り進めていたら3.65 変革 -2 になっているはずですが、実行前に再確認して下さい。
1, ~~~ PressCIRCLE toaccept these terms orany otherkey to notaccept. → ◯ボタンを押す(=CIRCLE )
2, Options:
CROSS Install /reinstall thehack.
SQUARE Fix bootconfiguration (choose this if taiHEN isn't loadingon boot).
CIRCLE Exit without doinganything.
Locking sustem ..
(中略)
Theinstallationwas completed successfully.
suocess.
MBRwas detected butinstllation checksum dose notmatch.
Adumpwas createdat ux0:data/blocks.bin.
Press X tocontinue,any othekey toexit.
意訳:「ちょい待った。思ってた構成じゃないから危ないかもしれんわ。続ける?」
→✕ボタンを押す ※結局原因分かってないので自己責任でお願いします※
4,Locking sustem ..
(中略)
Theinstallationwas completed successfully.
suocess.
Enso導入が成功していると
・ファームウェアが3.65 変革 -2のままなっている
お疲れ様でした。
記事の本題は以上です。
VITAのセーブデータは暗号化されており、吸い出せてもエミュレータで使えないらしい。本体機体とセットで揃わないと使えない仕様。
調べたらセーブデータをここまでキツく縛ってるハードは他にない
だからメモリーカードのデータ管理でもPSPのセーブデータしか項目がなかったのか…
不便すぎる
当時の仮説
・HENkaku設定が悪さをしているのではないか(PSNの偽装を有効化、バージョンの偽装を有効化) →オフにしたが関係なかった
・本体にSD2VITAを刺しているのが良くないのではないか →抜いたが関係なかった
・enso.vpkの置き場所がルート(ux0:)が良くなかったのではないか →関係なかった
・VITAにメモリーカードを刺しているのが良くないのではないか →関係なかったが、データ保護的には抜くのが良さそう
・ゴミデータが残っていて悪さしているのではないか(手順を間違えたデータや古いデータなど) →関係ある可能性はある。最後までわからず
・Ensoのバージョンが古いのではないか →これが主要因だった
ゴミデータを疑った自分は正規のファームウェアに戻して、CFW化をやり直したりもした。
その際HENkakuすら入れられなくなってしまったので、抜け方を書いておく。
ENSO実行
↓
~~~ PressCIRCLE toaccept these terms orany otherkey to notaccept. → ◯ボタンを押す(=CIRCLE )
↓
Options:
CROSS Install /reinstall thehack.
SQUARE Fix bootconfiguration (choose this if taiHEN isn't loadingon boot).
CIRCLE Exit without doinganything.
→ △ボタンを押す(=TRIANGLE Uninstall thehack.)
↓
↓
↓
ファームウェアアップデートが促され、アップデートしないとメモリースティックが使えない
↓
↓
↓
HENloメニュー
・Exit
↓
「Eiting in 3」 の後に、以下のエラーメッセージがでて固まってしまう
Ifyou are stuckon thisscreen, hold downthe power button untilyourVita turns off, then turnit backon.
原因:恐らく余計なデータと衝突を起こしてる
(さっきのエラーメッセージ画面で)
↓
セーフモードが起動する
↓
↓
↓
HENloメニュー
・Exit
↓
その後
Install HENkaku、InstallVitaDeployを選択して、Exitを選択
この記事を書き終えた後に見つけたのですが、以下の記事の『改造方法』というところに情報がかなりまとまっています
Vita バージョンが低くてもPSNにサインイン&PSストアにアクセス(エラーNW-8942-3回避)&機器認証する方法(2025最新)
https://yyoossk.blogspot.com/2024/10/vitapsnps2024.html
今回VITAのセーブデータバックアップが主目的だったから、徒労でしかなかった
指摘、補足、最新情報あれば反応もらえるとありがたいです
1位かまいたち濱家
4位パンサー向
7位EXIT兼近
今どきこんなランク付けをやって何になるんだという話は置いておいて、いつのまにかかまいたちがこんなランキングで1位になるような超人気芸人になっていた。
鎌鼬時代から面白くても華のないブサイクコンビだから売れないだろうと思っていたが、まさかここまでになるとは。
よく「色の白いは七難隠す」とは言うけど、男も背の高さは色々なことをカバーしてくれそうだなと濱家の人気っぷりを見て思う。もちろん、あのタイプの塩顔が好きな女性も多いのだろうけど。
俺は52歳、独身。かつては事業をEXITして、億万長者になった。今は都内のどこか、超高級マンションに住んでる。コンクリートとガラスでできた冷たい箱だ。壁には現代アートが飾られてるが、どれも無意味な色と形の羅列にしか見えねえ。専属の料理人が毎晩、凝った料理を並べる。だが、味はしない。固形物が口の中で砂のように崩れるだけだ。液体で流しこむが、それも味がしない。ただ喉が冷えるだけ。資産は尽きることなんてありえねえ。金は増え続けるが、俺の中は空っぽだ。
生きてる実感がない。車を飛ばして湾岸線を走っても、心が動くことはない。アストンマーティンのエンジン音はただの騒音だ。風切っても、何も感じない。唯一、俺に生命を思い出させるのは、マカオのVIPルームだけだ。あの静寂の中で、バンカーがトランプを配る瞬間だけが、俺を生かす。
創業の頃を思い出す。サラ金はしごして、6社から300万円借りた。最初のむじんくんで50万円が出てきた瞬間、脳が焼けた。今でも覚えてる。あの機械の無機質な音、紙幣が吐き出される感触。手が震えて汗が止まらなかった。それが俺の始まりだった。あの300万円、今思うと笑える。VIPルームで使う10万ドルチップの1.5枚分でしかない。昔は命がけだった金が、今じゃただの紙切れだ。あの熱はもう戻らない。今の俺には、金を借りる必要なんてない。だが、あの時の焦燥も、恐怖も、興奮も、全部消えた。
マカオのメインフロアはきらびやかだ。バカラテーブルからは叫び声が聞こえ、観光客笑い声を上げ、酒と汗の匂いが漂う。あそこは生きてる人間の場所だ。だが、俺には関係ねえ。エレベーターに乗り、VIPルームの扉が開く。そこは別世界だ。重厚なカーペットが足音を吸い、シャンデリアの光が薄暗く揺れる。空気は冷たく、静かすぎて耳が痛い。そこにいるのは、俺とバンカーとジャンケット、3人だけだ。誰も笑わねえ。誰も喋らねえ。そこにあるのは、純粋なギャンブルだけだ。
最後のチップをベットする瞬間が全てだ。指先が震え、心臓が一瞬だけ跳ねる。バンカーがカードめくる。メインフロアの連中は絞りをするらしい。カードを少しずつ自分でめくって運命を味わうんだと。俺はやったことねえ。バンカーにめくってもらう。自分で触る気にもなれない。ただ、結果を待つだけだ。ジャンケットが一瞬だけ微笑む。その微笑みは冷たく、俺の命を嘲笑ってるようだ。次の瞬間には、また無表情に戻る。勝っても負けても、何も変わらねえ。勝てば数字が増え、負ければ数字が減る。それだけだ。喜びも悲しみもない。
帰国すと、またあのマンションに戻る。窓の外には東京の夜景が広がるが、俺にはただの光の点にしか見えねえ。資産は尽きねえ。だが、俺の命はもう尽きてるのかもしれねえ。
マカオのVIPルーム以外に、俺の居場所ねえ。あそこで最後のチップを握り潰す瞬間だけが、俺に息をさせる。生きるとは何か? 俺には分からねえ。ただ、カードが開かれる一瞬だけが、俺の全てだ。それ以外は、ただの虚無。終わりのない、暗い虚無だ。
まぁ「争いは同じレベルでないと成立しない」ってやつんだなろってのはわかりますけどね。
どうもこの辺りは十把一絡げに扱われがち。
だけど格としてはこの中では西村山本と比べて、夏野剛、川上量生は圧倒的に上なんだよな。ここが一緒なのが間違い。
そして川上は、DWANGOの創業経営者であり、あそこまで育てて角川書店と合併≒EXITしたわけだろ。他の連中とは実績が違う。DeNAの南場さんに匹敵する人物だよ。
西村は芸人、山本一郎は総会屋2.0なんて言われたけど、この二人は要するに山師なわけで、社会的に見たらマイナスでしかないよね。存在しない方が良い。
夏野剛と川上量生は、西村山本と比べたとき、実業家としてはガチだという所で大きな違いがある。
たくさんの部下がいれば凄いのかと言われりゃ、そりゃ凄いだろと言うのが社会人としての一般的な考え方であるが、循環論法っぽいのでもう少し分解すると
こいつらは新しいものを作ってんだよな。それでのし上がってる。社会に間違い無くインパクトを与えているから強い。
その上で優劣を付けるなら、川上の方が一枚上手だろうなと言うのが俺の感想だが、まぁ、そこは諸説あるだろう。大企業の文脈から見たら夏野の方が偉いだろうし。
では何故川上量生が軽視されるのかというと、見てくれが軽いからというのが一つあるだろう。弱そうなのである。
この記事を見てほしい。
https://nlab.itmedia.co.jp/nl/articles/1301/16/news086.html
ドワンゴの当時の経営陣がずらりと並んでいるが、この中で最も弱そうなのが左から三番目なのは論を持たないと思うが、これが川上氏である。夏野氏のような悪役顔だったらもう少し嘗められなかったに違いない。
次に、ドワンゴが急成長していく中で、あえて川上氏は部下に軽口を許していたようなところがある。会社はある程度大きくなると、社長はカリスマ型のセルフブランディングしないと統治が難しくなっていくのはわりと知られていると思われるが、どうも川上氏はそれを好まなかったように見える。
最後は、まぁ、自分の身内に危害が及んだとき、本人が黙ってられないところがあるのだろうなと思う。そういう点では、角川書店の角川兄弟に似てんなーと思う。あの二人も実業家として、表現者として、リーダーとして凄い人たちのなのは言うまでもないと思うが、いざという時に責任を取り過ぎて失脚しているところがある。
川上量生は犯罪を犯すようなタマではないだろうが、わざと無駄死にするような所がある。
例えば、要するに後になって整理すると、Webフィルタリングに著作権侵害のデットコピー海賊版サイトを加えろという、たかだかそれだけの主張をしたことがあった。それに対して山本一郎がしゃしゃり出て挑発した際、わざわざ乗っかって同じレベルで戦ったのは、山本一郎の挑発の矛先が他に向かわないようにするためだったと思われる。個人的にはあんた会長なんだからそんなことすんなよ、それあんたの仕事じゃ無いだろと思うのだが、そう言う所がある。
あの論争、ネトヲチ民からすると山本に軍配を上げる人が多いだろうが、実際のところ、そう言った論争に乗っからない地道な活動の結果、多くのWebフィルタリングにデフォルトで海賊版サイトが含まれるようになっているというのが現在の結果である。故に、当時の川上らの主張、フィルタリングは実現し、山本らの主張は海賊版サイトの台頭とその被害の増大という現実の前には粛々と無視されたという事になる。
本人もその気質を自覚しているところがあって、半ばアーリーリタイアしているのはそう言う事なのだろうとは思うのだが。
結論:カワンゴこと川上量生が軽視されるのは、弱く見えることと、自ら進んで道化を演じているから
https://shueisha.online/articles/-/252430
例のパーカー着てるおじさん批判の人の集英社からのインタビュー見たんだけど
どうもこの人はもう27歳なのに若者の立場として色々言ってるっぽいんだよね
パーカーどうこうの前にその27歳が若者ぶってる姿が痛々しいと思う
はてなとかだと20代なら若いとか言うが、「おじさんおばさん」という言葉を使って何かを批判する時点で
その「おじさんおばさん」と言われるような存在に自分も入っている事を忘れちゃいけないと思う
数年前に自分より上の世代を批判していたEXITの兼近さんとか見ても思ったけど
もうすぐ30歳になる人は大人なんだから若者ぶらずそういう客観視はしようよって話です
彼ら彼女らはもしかしたら普段から40代以上とかの人達を相手にしてて
ただ自分は数年前に大学に20代後半で入ったから思ったんだけど
周りの大学生が中学高校の話をつい最近かのように…いや最近だな…
サークルの飲み会や徹夜麻雀とかやってる時はもう関係ねえ!とばかりに
一緒に盛り上がる事も出来たが、大学生活で何もかも新鮮な事として経験してく人達と
まぁ今は日本人は殆どがおじさんおばさん以上の年齢だから、もうすぐ30歳の人が若者ぶっても
人が増えるとプロジェクトが増える
そうやって不本意ながら潰れていったり、拝金的なやり方になってしまうことになる
事務所を悪く言うのも嫌みたいに言ってるけど
それは半分洗脳されてると思ってる、立場的に「私がちゃんとしなきゃ」になってる
こういうの、よくないんだけど、同時に芸能界ではよくあることでもある
そしてキャラクタービジネスかつスポンサービジネスだと考えると、ライバル会社に勝たなきゃいけないので上場しようとしてしまう
例えばそのビジネスで抱えられるキャラクター数が1000人だったら負荷は分散するが
おそらく40〜100人あたりに限界があるっぽいので、その状態で100億売り上げようとすると、1人1億円となる
(緩く配信でできる人も居るだろうけど、全員は無理)
こうなってくると、Vが好きで入ってきた社員も辛かろう
自分たちのやることが全部負担となっていき、一部は離脱し始めるんだから
じゃあ自分がやってることって何なの?となる
そうやって良心的な人から抜けていって、残るのはそうじゃない人だ
何が問題だったか?と言えば、個人的には上場を目指したのがそもそも間違いだったと思う
調達はしてただろうけど、一時的キャッシュは貯まってたはずだから、上場を突っぱねることもできたんじゃないかと思う
あそこでブレーキを掛ければ今ほど伸びなかっただろうけど、平和は保たれたし、どちみち5年後くらいには上場できるくらいの規模感になったと思う
ベンチャー企業ってのはどこもそうだから、そこから逃れられる人はなかなか居ないんじゃないかと思う(普通はそもそもExitする宿命になるしね)
逃れた企業は目立たないから、目立ってる企業=逃れなかった企業なわけで、意味ないこと言ってるだけでもあるんだけどね
(追記:VCとの契約で上場せざるを得なかった説はあるけど、別の会社で突っぱねてる所はあるからできるんじゃないの?って思ってたけどどうなんだろ、スキームが違うのかな。にしてもスピード上場だよね)
なお、普通の上場企業はここから「人を増やしたぶん売上を上げる」になっていき、何社かに1社はそれが成功して更に大きな企業になっていくんだけど
ボトルネックがあるVtuberというビジネスモデルだとそれができないので、なんかしら破綻するんじゃないかと思う(どういう形で破綻するか、規模、結果は不明)
従業員数は減らせないしね、詰みだよ、潰れはしないけどね、無理すると壊れる
ちなみに「じゃあ別のビジネスモデルの何かを開発しよう」は成功確率が体感5%を切るから覚悟がいる
個人的にはそういう新規ビジネスは積極的に外注使うべきだと思うね、社員を増やしちゃいけない
____
救いがあるとすれば、まだブレーキを踏むだけの十分な売上は立ってることだね
元企業勢、現個人勢が増えてくるとパワーバランスが変わってくるし
その結果、数人の強い人たちで細々と事務所やろうみたいな人が出てくる
そう言うので多分良いんだよ、アーティスト界隈や芸人界隈、Youtuber界隈でもよくあるよねこういうの
____
一応中の人の声を聞くと、一番やばかったのは2年前前後らしいけど、どうなんだろうね
上場前に無理やり売上を上げるというのはよくあるから辻褄は合うが
現在や今後が楽だと言う話でもないと思うので、それなりにきつい(つまり一般的なアイドルと変わらない)仕事量なのではないかと邪推してる
それがいいと言う人もいると思うけどね、社会的信用があることでできる仕事の幅は広がるんだろうけど
Permalink |記事への反応(20) | 09:57