
はてなキーワード:エディタとは
頼れる旦那がいるから安心して会社も辞められたし、Xで反政府ごっこも出来るんだろうね
「子どもを産んだ人はいい小説が書けない」なんて事はないと思うし、紫式部やアガサ・クリスティをはじめとして反例は沢山あるけれど、
そういう作家は「母」である事に囚われずに視野を広く持って創作してた訳で
この人みたいに「ママ」を売りにしてるようじゃ無理だろうね
清繭子
エッセイスト。1982年生まれ、大阪府出身。早稲田大学政治経済学部卒。
出版社で雑誌、まんが、絵本等の編集に携わったのち、小説家を目指して、フリーのエディター、ライターに。ブックサイト「好書好日」にて、「小説家になりたい人が、なった人に聞いてみた。」を連載。連載のスピンオフとして綴っていたnoteの記事「子どもを産んだ人はいい小説が書けない」が話題に。本作「夢みるかかとにご飯つぶ」でエッセイストデビュー。
anond:20260201092625 の文字数制限にひっかかっていたことに気がついたので分割した。
自動車ナビ専用アプリ (徒歩ルートもない) ということもあり、かなりすっきりした地図。最大ズームにしても一戸建て住宅は基本的に表示されない仕様になっている。
利用者が地図をつくるシステムになっているため、田舎では自分で地図を編集する覚悟で使用することになる。都会・田舎にかかわらずGoogle (後述のとおり関連会社のため) に情報を送信してよいのであれば、知っている道こそアプリを起動した状態で走行し、地図の誤りがあれば編集に参加してほしい。
駐車場所の保存は写真つきにできる。位置情報を取得しづらい地下駐車場ではとくに便利。
制限速度やスピード取り締まりを地図編集でいれることができ、ルート案内の有無にかかわらず警告してくれる。
案内音声はデフォルトでは音声合成 (サヤカ = 一時期Googleの読み上げでつかわれていたのとおなじ音声) だが、道路名や交差点名などの読み上げがなくてもいいなら人間の音声 (はるか) による案内もできる。人間の音声はけっこうよく、海外製アプリにしてはかなりききとりやすい音声で案内してくれる。また、Appleマップと同様、スマホの音量設定にかかわらず、常にWaze側で設定した音量で音声が再生される (つまりスマホ側の音量が0でも100でも案内時は固定音量) 。CarPlay対応カーナビをもっておらず、スマホ単独で使用している場合には案内音声の明瞭度がけっこう重要な点だったりするので、この点も意識してえらんでほしい。
あと、完全に知っている道ならばあえて知らない言語に設定してみるのもたのしいかも...?
※ "Including street names" "道路名読み上げ" と表示されているものは音声合成、その他は人間が録音した音声になる、
またナビゲーションアプリとしてはおそらく唯一、自分で音声を録音することもできる。録音項目数はおおいけど、録音しなかった音声は標準音声 (はるか) で案内可能なので無理に全部録音する必要はない。
あと、ラジオ・ポッドキャスト・オーディオブックを再生している場合、案内音声のタイミングで再生を続行するか一時停止するかを設定でえらべる。音声同士はかぶらないようにしてほしい派とずっと再生しておきたい派のどちらにも対応できるのはありがたい。Appleマップだと強制的に一時停止されるが、ほかは未確認 (自動車はもっていないが徒歩ナビがあるアプリは確認してもよかったかもしれない) 。
WazeはGoogle関連会社のため、検索でWaze独自のデータにヒットしなかった場合は自動的にGoogleMapsのデータを検索する。そのため、検索してもみつからないという問題は (Googleに登録されているかぎりは)おこらないので安心してほしい。また、Wazeで事故や道路工事を報告した場合、GoogleMapsにも反映される (ただし地図データはことなるため報告場所のピンの位置がわずかにずれることはある) 。
車両種別は "Private" (自家用車) "Taxi" (タクシー) "Motorcycle" (オートバイ)から選択できる。というかWazeでオートバイルートを選択できるならGoogleMapsでも選択できてもいいとおもうのだが...。
地図の配色は2種類から選択できる (昔はもっとあったのだが...) 。"マップエディタ" に設定すると、道路種別により色がかわる。
なお、ナビゲーションをしていない状態でも、バックグラウンドで動作する。運転を終了後一定距離歩く、運転していない状態で一定時間経過する、メニューからスリープを選択する、のいずれかで停止する。
※ 車を降りる前に停止すると駐車位置が保存されないので注意。
もともとはドコモ地図ナビだったのだが、ドコモのサービス見直しによりゼンリンの単独運営にきりかわった。これによりドコモユーザー以外でも使用可能になった。
ナビゲーション機能を使用するのは有料契約が必要。住宅地図を除く地図を閲覧するだけなら契約は必要ない。
地図の種類はたくさんあるが、"徒歩地図" は "駅の出入り口やバス停などをより見やすくした地図" と書いてあるわりにはけっこう拡大しないとバス停が表示されないというのはちょっとなー...。もうすこし広域の地図でもバス停を表示してくれたらいいが。ゼンリンベースの地図同士でくらべても、Yahoo!のほうが見やすいかな...。
ナビゲーションの案内音パターン (チャイムのこと) は3種類から選択できるが、海外製は無音のやつもおおいから無音を選択できてもよかったのではという気もするが。
アイシンのNAVIeliteとトヨタのTCスマホナビの後続。
地図がトヨタ製のため、運転時に便利なランドマークが優先的に3D化されているほか、画面下側にあるほど建物がうすくなるようになっている。
このアプリでナビゲーションする以外に、リモコンとして使用して、トヨタのカーナビ or NaviCon対応カーナビに目的地を送信することもできる。
VICSの渋滞情報はデフォルトで渋滞なしも表示されるが、渋滞なしを非表示にして、混雑・渋滞のみを表示する設定にもできる。
トヨタ (アイシン) のナビは社外ナビでもかつて採用していたというメーカーが多数あり、人によっては聞き馴染みのある音声で案内してくれる (徒歩ルートはバイブレーションのみ対応なので車ルートで設定する必要がある) 。
アプリ内ヘルプページによると、ナビゲーション中の "○○県に入りました" という音声もあるとのこと。
ナビゲーション機能は有料。
ベースとなる地図はゼンリンなのに建物の形やスポット情報はOpenStreetMapという変わり種。
そのため、地図を一定以上拡大するとアイコン (とくに駐車場) がやたらと表示されるため少々見づらい。ある程度広域にしたほうがよいだろう。
※ランドマーク表示設定でオープン駐車場をオフにすればかなり緩和されるが、ほかの駐車場も消えるので一長一短。
あと、日本語翻訳が不自然。案内音声にも影響しているので、英語ができるなら音声だけでも英語にしたほうがつかいやすいだろう。
HUD機能が最大の特徴で、ルート案内中にメニューからHUDモードをオン、フロントガラスのちかくにセットすると、目線をそらさなくても窓に反射する文字で曲がる地点までの距離を確認できるというもの。
※エアバッグやセンサーなどをふさぐような設置はしないように注意。
最近のスマートフォンで増えてきたOLEDディスプレイと相性がよいとおもわれる。(LCDとはことなり黒は完全に発光しないため明るさを最大にしても黒い部分の発光が気にならない)
次世代のCarPlay (計器類もふくめてCarPlay対応になるもの) は通常のCarPlayとはことなり車両自体の対応が必要なので、そのような車両が普及するまではHUDが便利な機能になりうるとおもう。
そのほか、SmartCam (ドライブレコーダーで録画しながらその映像を使用してナビゲーション) なんて機能もある。一石二鳥。ただしカメラ常時動作はまちがいなくバッテリーを消費するのでご注意。
そのほか、海外製カーナビではめずらしいルートシミュレーション機能がある ("プレビュー" という名前) 。
ルートサイドのガソリンスタンドと金額を自動表示する機能もある (オフにもできる) 。
一方通行の道路を走行中に逆走車がいると通知する機能はあるが、日本には対応していない ("この機能は現在の国ではご利用いただけません" と表示される) 。日本にこそ必要な機能な気がするのだが。VICSと提携してほしいな。
逆走はどのくらい危険? → もしマリオカート64をもっている、もしくはNintendo Switch Online + 追加パックに加入しているのであれば、マリオカート64のマリオGPをひととおりクリアすると出現する "おまけ"レベルで "キノピオハイウェイ" を走行してみてほしい。すべての車が逆走した状態でせまってくる。自分の車のスピードに相手の車のスピードが加算されるので、非常に危険。もし現実で逆走車情報を見聞きした場合、車間距離をじゅうぶんにとって、左右によけられる状態にしよう。
スマホアプリは、起動していきなり現在地の住所と最寄りの鉄道駅が画面下側に表示されるのが最大の特徴。
あと、スマホアプリの文字サイズは端末設定に連動でも大中小の選択でもなく、1倍・1.25倍・1.5倍・2倍というかわった調整方法になっている。
デフォルトの地図が住所ごとの色分けという、ちょっと昔の国産地図によくある配色になっている。
地図表示は無料だと "デフォルト" "円キョリ" "地形図" "防災マップ" "方位" が選択可能。方位はことしの恵方が強調表示される、いわゆる恵方コンパスとなる。
有料登録すると、"境界線マップ" "ひらがなマップ" "通り名マップ" "到達円マップ" が追加で選択可能になる。月額課金のほか広告再生で5分間だけ有料機能を使用することもできる (回数制限は不明だが繰り返し広告再生はできた) 。自分みたいに使用頻度がすくなめの人にとっては5分10分だけ使用したいというケースがおおいので、広告再生で一時開放は非常にありがたい。
"境界線マップ" は前述のYahoo!マップの住所地図とほぼおなじで、住所ごとの境界線が表示される。
"通り名マップ" はAppleマップのドライブ地図・Yahoo!マップの交通状況・自動車用アプリ (WazeやmoviLinkなど) のように、道路番号や道路名を優先表示するもの。
"到達圏マップ" は現在地から徒歩○○分 (デフォルトは10分) で移動できる目安範囲を表示するもの。Apple WatchのAppleマップにも似たような機能がある (iPhoneにはない) が、Appleは円キョリみたいにただの円が表示されるのに対して、マピオンは道路にそっての表示になるので、精度がより高い。
電車やバスのルート案内がメインであり、起動時の画面が経路検索になっている。地図はおまけ機能だろう。なお、地図をデフォルトにすることもできるが、Appleのように前回使用時の画面をデフォルトにする設定が望まれるところ。
ルート検索は交通機関と徒歩は無料だが、自動車のみ有料という特殊な課金スタイルになっている。
地図は操作性があまりよくない。まず、日本製サービスによくある中心点が表示されるシステムだが、ノースアップ (北を上) にしていても現在地の点の位置と中心点の位置があわない。ヘディングアップ (進行方向を上) ならまだわかるが...。
そして、任意の場所に目的地を設定したいときも、スポット名をタップしても何も反応がない。地図を長押ししても反応がない。目的地を手入力する画面で "地図から選択" もない。答えは、地図をスクロールして中心点をあわせてから、その中心点をタップ。なんて仕様だ...。スクロールで自動的に目的地に設定ボタンを表示するような仕様にしてくれればまだましなのだが...。
同じメーカーが開発した天気アプリもウェブの寄せ集め系 (設定をふくむ全ての画面でロードが発生するうえにiOSでは位置情報取得に毎回許可操作が必要) だからなのか、表示に時間がかかる。
アプリ版は現在はない (昔はあった) が、かつてグループ会社だったパイオニアがCOCCHiというアプリ (後述) を提供しているのでいらないという判断がされた可能性もありそう。
さまざまな地図サービスのベース地図となっている、ジオテクノロジーズが直接提供しているもの。
地図表示は "印刷用" "RPG風" "古地図風" といった変わり種も選択できる。 "RPG風" "古地図風" は名前のとおりだが、"印刷用" というのは地図表示が白黒になり、モノクロ印刷に適した表示になる。
現在 "お絵描きマップ" がベータ版として提供されており、地図上に手書きしてそのまま印刷、というのもよいだろう。
ルート検索は条件設定も多数あるが、経由地の滞在時間を設定する機能もある (渋滞考慮などに影響する) 。これはなかなかない。
アプリ版がないため、そのまま音声案内ができないのが残念。
夜モードの地図は専用地図ではなく、ただ画面を暗くしただけというもの。
無料版と有料版は機能の差異以外には案内音声の音質がことなるほか (有料版のみニューラル音声が利用できる) 、渋滞情報の表示もことなる (無料版はスマートループのみで有料版はVICS併用) という、変わった差別化がされているのがおもしろい。
有料版に住宅地図オプションを付加すると、上記ゼンリン地図ナビの有料版同様、ゼンリン住宅地図も表示できるようになる。意外とニーズがあるんだな...。
最近は車検証も電子化したが、車検証をスキャンすることで、自動的にその車両にあわせたルートになる (規制車種区分もふくめた考慮は有料限定だがその他は無料でも可能) 。
渋滞情報にあわせた自動再探索は、画面上に2つのルートが表示されて、元ルートと新ルートをボタン操作で選択する方式。
ナビ音声はiOS版はAppleマップ同様デフォルトの音声読み上げ機能を使用している。が、選択できる音声が "Kyoko" (デフォルト音声) と "O-ren" (高音質の女性音声) のみが選択可能で、 "Otoya" (高音質の男性音声) は使用できない。切り替え機能があるならOtoyaもいれてくれればよかったのに...。Sygicは3つとも選択できる。
現在地を表示するアイコンを車のアイコンにはできないものの、そのかわりカスタマイズが豊富。矢印の色のほか、矢印のまわりに円を表示するかどうか、円を塗りつぶしにするか線にするか、といったところまで選択できる。
ルート検索はスタンダードルートと有料登録すると選択できるプレミアムルートがある。プレミアムルートはHERE (前述のとおり日本では昨年開始したばかりのサービス) のシステムをつかっているとのこと。
あまり使用例がない (今回とりあげたサービスでは乗換MAPナビのみ)昭文社の地図データの元になっているもの。紙の地図がそのまま電子化されたものだと考えるとよい。
事前にPC版から地図データを取り込む必要があるため、スマホ単独では使用できない。
いちおう地図表示は標準・グレー・ミッドナイトから選択できる。
まあ全部あげるときりがないけど...。
全世界の地図を表示できるサービスでズームレベルを最小にしたとき地球儀表示になるのはAppleマップ・HEREWeGo・Sygic。地図表示のまま縮小されるのはGoogleMaps・Yahoo!マップ・Bing地図・Waze。
文字数制限にひっかかったためanond:20260202081917 に書いた。
ふとした疑問を質問してる。
「なぜこうなっているんだろう?」「これの由来はなんだろう?」「どういうしくみなんだろう?」みたいな、知的好奇心から来る素朴な疑問が大半。自分は自然科学系の質問が多いかな。
答えを見る限りわかりやすいし、必要な時は情報ソースも示してくれる。
自分で複数の情報ソースにあたって調査するよりもずっと速いし楽。ウィキペの使い方に近い。
「冷蔵庫にコレとコレがあります。手軽に作れる料理を教えて」みたいに聞くと複数の案を出してくれるし、調理法のポイント説明も丁寧でわかりやすい。自分は料理経験がとぼしいので助かってる。
ヴァイブコーディングとも言うけど、指示を出してコードを書いてもらったり、自分が書いたコードのチェックをしてもらったり。
つってもチャット聞いたりエディタ付属のアシスタントをそのまま使ってるだけなので基本的には無料の範囲。
それでも生産性で言うと10~20倍くらいにはなってるし品質も上がってる。
エディタの乗り換えとか嫌じゃないんだろうか。
ちなみに自分はめちゃくちゃ嫌。
VSCodeに乗り換えるときもハードルあったし、Antigravityとかかなり似てるUIのやつをテーマも合わせて使ってみたけどほんのちょっとのサクサク感・UIのムニュムニュ感の違いとかが嫌すぎる。
慣れれば乗り換え前の方には戻れない状態になるんだけど、慣れるまでの不快感がすごく強い。
今年からGitHub CopilotとClaude Codeを併用できることになって、Claude CodeはCLIだからターミナルから使おうと思ってるんだけど、「今までVSCodeでやってきたことをターミナル上でやる」というのにハードルを感じて(見た目やちょっとした動きの違いで不快になるのが容易に想像できる)もう半月経ってしまった...
どこかで一念発起してがんばらないとなあ。はあ。
自動調理家電が色々と話題だが電子レンジこそが自動調理家電の雄であることを気付かされた。食材をつっこんでメニュー選んで後は待つだけというQOLの爆上げを感じることが出来る。
「令和時代の新三種の神器」に「ドラム式洗濯乾燥機」と「食洗機」と「ロボット掃除機」が挙げられるが、前述の三種を既に所有していた身としては「スチームオーブンレンジ」の方が先だろと言わざるを得ない。
スチームオーブンレンジについてぶっちゃけて言えば、最新のスチームオーブンレンジじゃなくて型落ちでも全く問題がないので未所持の方は本気でご検討を。
その名の通りの風呂で使える防水無線スピーカー。対応音声コーデックはSBCとAAC。
最大の特徴はQi2対応によるマグネット無線充電が可能な点で、このマグネットにより風呂場で磁石が効く部分へ付けられること。風呂に入りながらゆっくりと音楽やポッドキャストを聞く、動画を観るなどに最適で、日本人のために設計されたとしか思えない。
風呂場で磁石使える部分なくとも洗濯ネットか何かに放り込んで吊るしておけば良い。
Ankerの比較的まともなUSB-C toUSB-Cケーブル。
高性能なUSBケーブルは結構堅いのが多いけれどもコイツは他社と比較すると柔らかめ。何だかんだでこういう細かな部分でQOLってのは上がるんだなぁと再認識。
AMD Ryzen7 PRO 8840U、DDR5 64GB、M.2SSD 1TBという構成。
もともとはAppleMacbook Pro(2023)でAppleM2Max、メモリ32GB、SSD 1TBという構成のものを使っていた。
結局のところLinuxで開発するならホストOSもLinuxが一番面倒が無いんだという悟りを得てしまいThinkPadonLinuxへ移行。
利用しているLinuxディストリビューションはNixOSで、KVMにWindows11も居る状況。
デスクトップ環境はHyprland、シェルはzsh、日本語入力はfcitx5-mozc-ut、エディタはNeoVimとVSCode(nvimプラグイン導入)。
NVIDIA DGXSpark互換機で128GBのユニファイドメモリを積んでいる便利なやつ。
DGXSpark互換機はNVIDIAからの積極的なサポートもあり日進月歩な感じで少し目を離すとかなり変わっていく印象。
筆者は画像生成はほとんど行っておらず機械学習に利用しているが、Thinkpadと合わせてこのフットプリントで高い処理能力を活かした機械学習できるの本当に良いね。
数年は戦えるし、たぶんリセールバリューも期待できるので買って損は無い気はしている。
ただ、ChatGPTやGeminiへの課金は減ったと言えども続けてしまっているので「ChatGPTやGemini要らず!」なんてレビューは嘘だと思う。
結局は新モデルが出たら触りたくなるのが技術者の性なので「DGXSparkはコスパ良い!」なんてのは幻想だよと。
ちなみにASUS ASCENT GX10へこだわりがあったわけでなく、たまたま最も早く入手できたのがコレだっただけ。
ラズパイもここまで性能が上がったのかと感動した。
一般ユーザーの用途では軽いビジネス文書作成やWebブラウジングくらいならば余裕で実用に耐えうる。実家の老父母のPCはもうコレで良いんじゃないか?と錯覚するレベル。
技術者的な目線では簡易的なサーバーや無線LANルーターなどの構築も可能で、今は8GB版が子供用の無線LANルーターになっている(ネット使いすぎを防ぐための方策。一定時間に使いすぎると速度を徐々に低下させてる)。
むしろここまで来ると「次世代機Raspberry Pi 6(16GB版)がどうなるか?」に興味津々で、HDMIだけじゃなくDisplayPortとか対応して120fps出力とかしだしたら本当にもうコレで良いんじゃないかなぁ?
MediaTek Dimensity 7400X、メモリ8GB、ストレージ256GB、デュアルカメラ、FeliCa、物理nanoSIM(eSIMも対応)、外部SDカードは未対応。
Appleエコシステムから抜けちゃったので「コレでもう良いんじゃねぇかな?」という感じに落ち着いてしまった。
散々言われまくっているが「iPhoneAirが目指すべきはコレだった」というのは本当にそう思う。だってテーブルへ置きやすいし。
若者から老害って言われても仕方ないと思うけど「電話掛けるとき物理的に曲げられる素晴らしさ」よな。人間工学的にコッチの方が正しいんじゃなかろうか?
筆者、実は自作キーボード勢および自作格ゲーアケコン勢である。INARI M06とは卓上で利用できる射出成形機だ。
3DプリンターでFDM方式をやって光造形方式をやって、色んな3Dプリンターを買っては試して売っぱらい「やっぱり射出成形が最強だよね!」とついに手を出した。
3Dプリンターでは一切真似のできない製造速度と強度、精度に「やっぱりコレよ!」となっている。
しかし、INARI M06には上位機種INARI P35が存在しており「・・・いやコレを導入したらもう業者ではないか?」と自問自答を繰り返している。
卓上CNCフライス盤と呼ばれる工作機械。上記のINARI M06のアルミニウム金型を削り出すために導入。カスタムパーツも豊富で、何ならカスタムパーツも自分自身で製造できるという性能を持っている。
3Dプリンターが不必要というわけでなく用途の違いと言うか、試作するには3Dプリンターはまだまだ有用で、試作を元に金型を作って量産するのに射出成形機って便利なのよね。
今ではキーキャップのほか、基盤やキースイッチすら自作が出来る環境になっているものの、PCケースみたいな大型のものは自作できないので、そろそろメタルベンダーとか100v溶接機(家庭電源で使える)とか必要なんじゃないかな?と検討してる。
ただやはり、自身で加工が困難だと感じる部分はJLPCBやmeviy(㈱ミスミ)に頼むのもアリだ。
ごめん、最初に10選って書いたけど10個ピックアップするの無理だった。
細々した工具とかガジェットとか買ってるんだけど10選に挙げたいってほどのものじゃなかった。
というわけで最後は頼んだ。
https://szkwjp.sakura.ne.jp/suzukawaeditor_nansho.html
スズカワエディタの難所
スズカワエディタの作者たる私(YoshihikoSuzuki)の場合であるが、プログラミングにかかった時間は①~④に約2週間、⑤に約6週間である。⑥については機能によって大きく異なり、短くて1週間、長いもので2年近くかかっている。プログラミング開始から21年以上経過するが未だに継続中である。
この難所?RopeとかSumTreeでググればサルでもある程度は解決できる。
もしかしたら、できるかなと思い、実装してみたら、ディスクに書き出すこともできた。
"Ropes: anAlternative toStrings",by
Boehm, Atkinson, and Plass, inSOFTWARE--PRACTICE AND EXPERIENCE, VOL. 25(12), 1315–1330 (DECEMBER 1995).
https://www.cs.tufts.edu/comp/150FP/archive/hans-boehm/ropes.pdf
なんで知ってれば、鈴川エディタっぽいものは比較的簡単に作れる。
二分探索木版でもリーフノードをリンクドリストでつなぐのはくそ面倒だけどな…。
プログラミングとは、勉強も運動もスマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校の試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である。
近年ではパソコンのスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単にディープラーニングもできるようになった。Unityで3Dゲームをバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペックの暴力だぜ。
開発環境や言語も選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のものが出回っている。Eclipseとか今考えるとよくあんなので開発できてたな。
いまや小学生からおばあちゃんまでアプリ作りに熱中し、高校生はIoTとかやり始め、大学生は商業レベルか?ってレベルのものをネットで発表し、私はウェブアプリのスマホでのレイアウト崩れひとつすら直せず静かにエディタを閉じてnoteで過激タイトル記事を書いている。
掛け算に順序があると思っているような知能の下級雑用係(自分のことを教育専門職だと思い込んでいる)ですら「小学生にプログラミングを教えるぞ!」と意気込んでいる。やめろ。お前らには無理だ。無理だからマジでやめろ。考え直せ。無理だって。掛け算に順序つけないと相手に教えられないレベルのやつがプログラミング教えるのマジで無理だって。算数とは次元が違うって。「ピーチ姫いつも簡単に誘拐できるし今度はベヨネッタも誘拐してみるか」ぐらいの無謀さだって。やめとけ。マジでやめろ。
まあそんなこんなで入り口はめちゃくちゃ広く、入門するのはマリオカートより簡単である。話逸れるけどSwitchのマリオカート、運転アシスト機能ついて初心者でもコース完走できるようになったから心折れちゃった人ももう一度チャレンジしてみてね。
それとは特に関係ないんだけど、大学行ってた時ティーチングアシスタント(TA)っていう授業のお手伝いさせられたのよね。ちゃんとお金出るやつ。
学部の3年か4年から始まって、院の1年か2年までやってて、途中で休学挟んだから、ええと、あー、うん、数年間TAやってたんよ。数学とプログラミングのコマ。CとOctaveとかいうやつ。Cのほうは情報学科で、Octaveは違う学科。JavaとかC++のコマはTA入れさせてもらえなかった。
プログラミングの実習は週2コマ(連続)あって、情報学科なら必修科目。なのでサポートは相当手厚く、先生とTAが絶え間なく机間巡視し、わからないことがあればセンパイがなんでも答えてくれるというわけだ。授業外でもサポートはしており、わからなければ先生や研究室にいる学生に好きなだけ聞きにいっても良いということになっていた。必修だから落とされたら困るしな。
2コマだから3時間 * 15回で、45時間。そして私の時は2年まででC/C++/Javaと必修だった(今はなんの言語かは知らない)ので、その3倍、135時間は最低やることになる。プログラミング実習以外にもプログラミング触る授業多いから実際はもっと多い。宿題やる時間もあるので実際はもっともっと長くプログラミングに触れることになる。卒論書く時期に入ると、テーマによっては書く人はさらに書くので、もっともっともっともっと長い。
これだけ時間をかければほとんどの人がプログラミングできるように……ならない。むしろできない人の方が多い。なんで。why。教えて。
会社になるとさすがにプログラミングできるできないは死活問題である。
「今日から入ったxxでーす。業界未経験ですがよろしくおねがしまーす。さっそくなんですけどPythonのここわかんないんですけどどうすれば……あっそうすればいいんですね。次はここなんですけど……なるほど!ありがとうございます。じゃあまた明日ー」
いやー社会人にもなると熱意が違うね。学生なんかわかんなくてもほとんど聞きに来ないのにな。こりゃガンガン伸びますわ。私も社会人1年生でPythonなんて3秒ぐらいしか触ったことないから適当答えてるけど。
「ちょっとお時間よろしいですか?」「いやちょっと今忙しいから後になっちゃいますわ。すんません……」
そんなこんなで1週間ぐらい放置してしまった。やべー絶対嫌われる。どこまで進んだかな……?えっまだそこ?進んでなくない?
もしかしてこれ全部教えないとダメなやつか。そりゃ大学4年間プログラミングやったやつでもプログラミングできないんだから、そうか。よく考えると当たり前だよな。
プログラミングをやめろ
大学4年間と大学院2年間プログラミングやったやつでもできないし、会社で毎日8時間を数週間プログラミングについやしてもできないやつはできないし、そもそも人類というのはプログラミングできない可能性がある。
少年少女たちに「プログラミングはいいぞ!自由にものが作れて達成感がある!頭が良くなった気分にもなれるし!」と吹聴してまわんのもいいけど、6年間情報科学について勉強したようなやつの大半がプログラミングできないんですよ。それもごくごく初歩的な部分。
野球とかサッカーなら、まあ友達との試合には参加できなくてもごく稀にバットにボールを当てたり、ボールを1回あらぬ方向に蹴ったり、ぶっちゃけ周りとのレベル差で楽しくなくてすぐやめちゃうだろうけど、なんとか基礎の一部ぐらいはできるじゃないですか。
ピアノとかダンスでも、猫踏んじゃったをごくごくゆっくり弾くぐらいはできるかもしんないし、学芸会の振り付けを10秒ぐらいは踊れたりできるかもしれない。その後やっぱ周りのレベル見て諦めちゃうかもしんないけどさ。
プログラミング、6年やってミットを頭にかぶってるバッターとか、鍵盤蓋の上から殴って音鳴らそうとするやつとか、まずそういうレベルのやつが大量発生するんですよ。だいたい7割ぐらいの率。どうすんだよこいつら。私の教育の問題か?マジで?本当に?
プロが練って考えて凝縮した本や授業、センパイたちによる指導。それらを結集して得られるはずのものが7割ぐらいどっかに消し飛んでる。無駄だろこれ。
今からプログラミングやろうとしてるやつ、お前は確実に向いてないからさっさと諦めて刺身にタンポポ乗せる仕事に戻ってくれ。参加しても鍵盤蓋叩き割るやつと同じ病室に入るだけだ。
プログラミングをやめろ。
ぼくはこう思うんですよ
そもそもなんで大の大人がそんな両手にバット持ってセカンドに立ったりゴールの方をボールのところまで動かす奇行に走るんだろうな。わかんねえや。
綺麗な分析はできないけど、いわゆる「できない」やつが共通して言ってたフレーズがある。
「ぼくはxxxだと思ってるんですけど、動かないんですよ」
うん、そうだね。そう思うんだ。でも動いてないじゃん。じゃあ違うんじゃない?モニターに「にらみつける」やってもバグは取れないし防御力下がるだけだぞ。
まず根本的に考えと事実が違ってるって結果出てるじゃん。じゃあもう考え変えちゃえば早くない?
名言の引用は好きではないけど、「プログラムは思った通りには動かない。書いた通りに動く」って言葉がある。実に名言だと思う。次点で好きなのが「ある問題を解決しようと正規表現を使うと問題が2つに増える」かな。
お前が何を思っているかはプログラミングにおいて一切影響しないんだよ。お前が何を書いて、コンピュータがどう処理したか、それが全て。
深く考えないことについてぎゃーぎゃーいうやつもいるけどプログラムなんてまず最初は動けばいいんだから何も考えずに次試せばいいだろ。んで3回ぐらいは自分で思い浮かんだの試して、全部ダメだったら調べるとか先生に聞いてみるとかさ。逆に1発で通ったら自分の思考見直して理解深めるとかさ。
ドキュメントとかあんまり理解できない初心者のうちは、とにかくお試しと修正のサイクル回すの重要で、「これがこうだから動くはず」というカードを3種類ぐらい作って全部片っ端から試すのが早いと思うよ。モニターをにらみつけるな。
お前がどう思ってるかよりも、まずはお前の書いたプログラムがどう動いているか(どう動いていないか)を確認するのが先だ。動かなかったら考えが違う、はい次のプラン、はいその次のプラン、はい次。
この「ぼくはこう思ってる」が出てくるの、なんの教育の成果なんだろうね。お前の気持ちなんてどうでもいいって現国でも数学で散々教えられただろ。
Error: variable 'a'is undefined,line24
↑のエラーは架空のエラー文(英語下手でも許して)だけど、エラー、出るよね。プログラム組んでたら。んでやっぱいるのよ。エラーを「にらみつける」やつ。解決しねえって言ってんだろ。
「エラー出たんですけど、どうすればいいんですか」
「エラーにはプログラムがなぜコンパイル通らないかの原因がそのまま書かれている。例えば今出ているError: variable 'a'is undefined,line24は、24行目の変数aが未定義ということを示している。事前に変数aを定義していないか、打ち間違えてsになっているとかではないのかな?」
だいたいが「腑に落ちねぇー」みたいな顔する。まあ、一気に喋りすぎたしな。疑問点1個1個潰していくか。
「何か疑問点ありそう?変数ってなにー、とか、定義ってなにー、とか」「ないです。わかりました!」
わかったのか。よかった。またモニターをにらみつける開始。なんでだよ!!!!「お前顔にチョコついてるぞ」って言われたらチョコ拭き取るだろ。変数aが未定義ですねって言われたら変数a定義すりゃいいだろ。
でもプログラミングド下手なやつ(全人類の7割ぐらい)は、エラーをにらみつけてる。ずっとにらみつけてる。防御力下限まで下がったかな。にらみつけてて何が変わるんだよ。
「英語読めなくて……」
いや「ais undefined」なんて「HeisSuperman」ぐらいの英語だろなんで読めないんだよ。お前この大学どうやって入ったんだよ。たしかどの入試方式でも英語あっただろ。単語わからんかったらググれ。
「aが未定義って書いてあるんですけど、ここのfor文の私の考えが間違ってるのでしょうか」
いや24行目のaって書いてるだろ。まずなんでそこ無視するんだよ。お前がfor文で使ってんの教科書通りのiだろ。24行目ってわかるか?for文あるの40行目あたりだよな?aとiが違う文字ってわかるか?
「さっきのエラー直したら新しいエラーが出たんですけど、どうすればいいですか」
千尋!贅沢な名だねえ
変数に名前をつけろ。関数に名前をつけろ。クラスに名前をつけろ。全てに名前をつけろ。
C言語の古い教科書だと「a」とか「b」とか「i」とかで書いてるけど、そんなの人間が読めるわけねえだろ。冷静に考えろ。「input」「output」「index」とかにしとけ。
2重for文の変数名i, jにしたら絶対途中で打ち間違えるだろ。お前は打ち間違える。そういうやつだ。2重ループなんてどうせ行列計算の課題だろ。rowとcolumnにしとけ。これで打ち間違っても気づくし、それぞれに意味が付いてくる。
ちなみに同じ長い名前にも優劣がある。「result」よりも「sum」のほうが強い。「result」はなんの結果かわからない(全ては結果であるので)が「sum」は合計値であることがわかるからだ。「password」と「plainPassword」なら「plainPassword」が勝つ。暗号化されていないパスワードであることがわかるので、情報量が多いからだ。
ただし例外はいくつかある。「tmp」は一時変数であることが(プログラマにとって)明らかだ。「dir」はディレクトリであることがわかる。「src」「dist」あたりもよく使われる。このあたりは短くていいんじゃねーかな。
でも、この前温度センサ扱うプロジェクトで「tmp」って変数名使って温度(temperature)と脳内で混線してバグって発狂してた同僚いたけど。そういうときは名前長くするか別の名前使おうな。
関数の名前なんて「calcAverageFromArray」ぐらい長くしていいから。「myFunc」とかしなくていいから。「fetchJsonDataFromUniversityInternalServer」とかでいいから。マジで。いやこれ本当に。
そもそも今時ディスプレイでかいし、識別子なんて先頭数文字打ったらエディタが補完してくれるし、短くするメリットがない。
それでも名前が長いと感じる?関数がでかすぎるんじゃないか。細かく処理を分けるとかしてみろ。「combineArrayAndFindMax」関数は「combineArray」と「findMax」に分割したらいいと思うぞ。名前が長いと思っても名前を削るな、機能を分割しろ。自然と名前が短くなる。
それかシンプルでかっこいい名前を見つける。「convertEvilHtmlToPeacefulText」は「sanitize」に置き換えることができる。イカす名前だ。
プログラミングできない奴はマジでこれらのことをやらない。ずっとaとかbとかzとか使ってる。お前それ自分で読めんのか。読めねえだろ。myfuncってなんだよ何するんだよ。お前自分で理解できてんのかそれ。
それでも頑なにaとかbとか使う。なんでだよ。
動作原理わからず書き散らすな。動作原理っつってもそんな深いところじゃなくて言語表面上レベルの動作な。
リテラルは値を作成して、代入は値に名前をつけている、とかその程度のレイヤー。メモリがどうこうとかはいらんと思う。あっでもポインタのときはいるか……。めんどくせえな。
まあ動作原理っていうか自分が何やってんのか理解してくれって程度の話になるんだが。
例えばfor文で処理50回まわすとき、「50回分の処理を行なっている」ではなく「ループ開始時に変数を初期化。条件判定して成立していれば文の中を実行する。条件変数の値を変化させてまた条件判定からやり直す」ぐらいの粒度で捉えててほしいかな、という気持ち。
これはfor文で詰まる人がやたら多かったからだ。彼らはfor文をアトミックな操作だと思っていた。つまりfor文はひとまとまりの命令であり、長いfor文とprintfの間に粒度の違いはないと思っていたらしい。
つまり、「for文の中でエラーが起こる」という事象がほぼ理解できない。forはアトミックであり、内部など見えないのだから。じゃあお前が今書いたfor文の中身はなんなんだってやんわり聞くと「さあ…?」みたいな反応が返ってくる。はあ。
関数についてもなかなか誤解が多かった。関数「sum_array(a, b)」と関数「average_three_numbers(a, b, c)」は全く別の原理で動いているのだと。ここでの「全く別の原理」というのはシグネチャが違うとか実装が異なるとかそういう意味ではなく、コーラを飲んでゲップが出る原理と糸電話で声が伝わる原理ぐらいの全くの別、という意味である。
彼らは関数ひとつひとつについて「新しく原理を学習」していたのだ。マジかよ……。どうやったらそんな発想に行き着くんだろう。そりゃ時間かかるわな。
そのため、関数が値を返す(または返さない)ということも理解できておらず、「関数の戻り値と関数の戻り値を足す」とか「関数の引数に関数の戻り値を直接渡す」とかやりだすと大パニックになる。メソッドチェーンとかやった日には大学潰れると思う。ただ、これはC言語が悪い部分もあると思う。配列とかいじりだすと、初心者が書けるレベルの関数だとあんまり値返さないしな。
たのむ、他のはできなくてもこれはできてほしい。自分が何をやりたいのかは理解してほしい。流石にお前のやりたいことなんて他人にはわからんぞ。
「配列の中の数値の合計値を求めたいんです」とか「名前と身長と体重をひとつにまとめた構造体が作りたいんです」とか。簡単なのでいいから。
「いま何やろうとしてどこで詰まってる?」って聞いても「……?」みたいな反応されたら困るんだよ。
例えば「キーボードから数値を10回入力し、それぞれの値を配列に格納して、最後に配列の値を逆順に表示せよ」みたいな問題が出てきたときに、「キーボードから値を入力する」「10回繰り返す」「配列に値を格納する」「配列の値を逆順に表示する」に分解できると思うんだけど、自分が何やりたいのかわからない奴はまずこれができない。
彼らには「キーボードカラスウチヲジュッカイニュウリョクシソレゾレヲハイレツニニュウリョクシテサイゴニハイレツノアタイヲギャクジュンニヒョウジセヨ」に見えている。
かろうじて「キーボード」「ハイレツ」あたりの単語は拾えるらしく、標準入力から値とったり配列を作ったりはしてるんだけど、そこから先に進まない。モニターにらみつけてる。またにらみつけるかよ。
あれだ、算数の文章題できなくてとにかく文章に出てくる数値足したり引いたりするやつ。あれのプログラミング版。文章が読めない。
こういう人にはメモ用紙取り出して、まず文章が何について言ってるのか、どういう工程に分けることができるのか、今後も同じことが起こったときにどうやって分けるのか。みたいなのを教えるんだけど、大抵あんまりしっくりこないらしく、成功したことは皆無。なんとかうまく教えたいんだが。
もうこのあたりになってくるとプログラミング関係なくね……?ってなるんだけど、意外とそういうプログラミング関係ないところで詰まる人めちゃくちゃ多いよ。
今すぐプログラミングをやめろ
「××の民主化」とかもてはやされ、絶対善だと脊髄反射的に評価される。
正気の沙汰ではない。
それまでそれをやるには手間暇金能力が足りない、あるいはない人にもそれができるようになる。
例えば、オーケストラを編成するだけの資金力がない人、楽器の演奏ができない人にも、作曲、演奏ができるようにしたDTMは素晴らしい。
うん、素晴らしい。
大量の文字を原稿用紙に書き付けて、何度も書き直すだけの体力のない人にも、小説書きができるようにしたエディターは素晴らしい。
うん、素晴らしい。
けどさ、いろんなものが軽くなり過ぎて、量が増え過ぎて、薄っぺらになってない?
腕とラケットが一体化していたところで大半の人の生き死にには影響しないけどさ。
そういうアニメに、低価格であることだけでもって、市場が席巻されて、幸せ?
まだ、そういう「鑑賞」「娯楽」のように切り捨て自在なものなら、切り捨てればそれで終わりだから構わないけど、システムとか、データが作成蓄積され、常に使われ続けて、いきなり消えたら困るものがそういう基礎の上に構築されるの、問題ないと思う?
ある日いきなりlocalhostへの接続ができなくなったりする世界だぞ(最近のWindows)。
そして、誰もその不具合の解決できない世界だぞ(AI有効活用しています、って対外発表している組織の技術力)。
「いい声と言われた人募集」
マイク前で適当に声出したら務まるとか声優に対して考えてる人が存在するかもしれないけど、彼らだってあれこれ山のように考えてきて、演技してる。
全員がとは言わんけど。
たぶん。
適当にコード書いたら務まるとかエンジニアに対して考えてる人が存在するかもしれないけど、んなわけねぇ。
全員がとは言わんけど。
いや、大半は考えてねぇし、考える能力がないような気はするけど w
だからどの会社も、エンジニアを名乗る謎のカオナシが大量増殖して、お金という一番大事なリソースをガンガン削られてる。
AI の出力が正しいかどうか判断できない、使いこなすだけの技術力能力のないカオナシが、素性のわからんコードを大量生産する組織、プロダクト、サービスに未来があるとか、本気で考えてる?
やばいと思ったら、このカオナシ、うんこの山だけ残してトぶよ? w
もしそう見えるんだとしたら、お前の思考レベルがミジンコ並みに低いだけだ。
多層に思考すること。
これは人間だけができることだし、これこそが創作、機械、仕組みを作るということの、本質だ。
そして、それを磨くことが生きることだ。
https://github.com/oonyanya/FooList/tree/main
巨大ファイルを一瞬で開いて、編集できるデモプログラムを書いてみた。
VisualStudio2022ならビルドできるはずなんで試してみてくれ。
手元のPCで試したところ、770MBのログファイルを一瞬で開くことができた。
最後まで読み込むのにかかった時間はSSD、Core i5 10400F、メモリー16GBの構成で5秒程度。
バカまじめによむとくそ遅いし、メモリーを食うので、遅延読み込みとメモリーマッピングの技術を使ってる。
本来なら、System.IO.PipelinesやSystem.IO.MemoryMappedFilesを使ったほうがいいんだが、めんどくさいので、FileStreamでごかましてる。
そこは突っ込まないでくれ。
そして、こいつを使えば、誰でもEmEditorや鈴川エディタもどきが簡単に作れる。
やる気があれば、AvalonEditに組み込むこともできるかも。
https://x.com/kenmcalinn/status/1971350035465220500]
ソーカル事件、よく調べると話が全然違って(査読紙ではなくフィクションものる雑誌に、エディタに意味不明だから大幅に訂正するように要求されるもソーカルは無視して、有名な物理学者の挑戦として特集号に出版)、たぶん悪影響のほうが大きかったんじゃない。
雑誌側は後から掌を返して「最初から少し怪しい論文だなとは思っていた」「哲学的部分の多くを削除してほしいと頼んだ」と反論してるんだけど、ソーカル側が「そんな要求は一度も受け取らなかった」と証言してる。それどころか、何度も批判コメントを求めたのにまったく送ってもらえなかったとか。
その他にも雑誌側の主張のおかしな点はAmato氏の記事などで散々指摘されてるよ。
俺の仕事でのAIの使い方を書くので、意見が欲しいです。(この使い方は良くないよ、とかこういう使い方おすすめだよ、みたいなやつ)
中堅サラリーマン。たまに現場で接客もする、商業施設運営の部門マネージャー。
貸与PCは通信制限によりファイルのアップロードが基本できないので、データを投げるなら基本はcsvの生文字列直貼り(もちろん日付と数字の羅列とかそういうもの)
会社からは、個人情報や機密をAIに投げるなとだけ御触れが出ている。自腹のChatGPT使ってる人は自分以外にも複数人確認。あとシステム部に申請してPythonとVSCode入れてもらってる。
なにか課題があるとき、断片的に自分の中に浮かんでいる考えを整理したりアクションを計画するために使う。
「2階トイレだけクレームが多いな、担当者の問題か?」「注意喚起するか?」「手を抜きにくい仕組みづくり」「担当をもっとローテーションする?」
みたいな思いつきを羅列して、やるべきことの順序を整理してもらう。
業務システムから出る帳票のCSVがyyyymmdd.csvで、日付ごとのレポートしか出ないけど、ひとつのデータに統合したいとき、ガッチャンコさせるPythonを書いてもらった。
コード自体は全く持って読めないけど、長くPCオタクとしてトラブルシューティングしてきたのでどんな処理がされてるのか、どんな情報が必要なのかはリテラシーの延長でなんとなく理解できる。
「コードの最初のほうで統合元csvのパスを指定するくだりがあるはず」ぐらいの解像度。
あと多分これパワークエリとかでもできそうな気がするんだけど、我流でOffice触ってきたからいままで使うタイミングなくて、最近やっとひとが作ったステップを恐る恐るいじったりするようになった。もちろんChatGPTとお話しながらだけど。
ExcelのVBAもChatGPTに書いてもらったりする(共同編集のファイルでセルの変更履歴をセルのノートに残すとかその程度)。
VBAの仕組みというか構造の理解がまだまだ浅くて、言われたものを言われた場所に全コピペするだけ。エディター?の画面も真ん中のフィールドでCtrlVする以外触ったことない。
外国籍で在留資格が家族ビザの場合の就労制限、みたいに、マニアックな条件の人の面接中に瞬間的にその場で質問するとか。基本的な知識はもちろんあるけど、この手のものって条件分岐が多すぎてとっさに出てこないこともある。
もちろん後からソースをあたって裏取りはするが、その場で相手の就労をイメージできるので役立つ。
ある売上情報の傾向から発想を得たり推測を立てたとき、それを検証するための統計とかがないか聞く。
「◯◯を▲▲で✕✕な調査ない?」とか聞くとちょうどいい感じの政府統計とか見つけてくれる。
どうしても仕事の気分が出なくて15分くらいサボりたいとき、自作PCの構成の相談に乗ってもらってる。
帰宅後に自作マスターの友人(知識披露大好きマン)にその構成を投げて答え合わせとブラッシュアップしたり、友人の意見をChatGPTに投げたりしてる。
冷蔵庫の在庫を投げて晩飯のレシピの相談をしていた時期もあったが、大抵おいしくないので定番メニューのレシピを復習したいとき以外相談しなくなった。