Windows8.1時代のLet's Noteを初期化してWindows10に上げた

2015年から使っているLet's Note CF-SX4Windows Updateが勝手に当たって、それはよいのだが音が出なくなってしまったので復旧した、という話。
まあ、リカバリ領域を使って初期化しただけなんですが、Windows8.1時代に購入して無償アップグレードでWindows10に上げたものなので、リカバリするとどこに戻るのか、Windows10に再アップグレードは可能なのか、といった話を書き留めておく。やる前に調べたんですが、自分でやったという人は見つからなくて、こういう情報でもネットに上げておけば助かる人はいるかもと(ただし、誰もが同じ結果になるとは限らないので、真似する人は自己責任でお願いします)。

症状

気づいたのは2021/06/12。おそらくはその数日前のWindows Updateが悪かったと思うんですが、私の普段使いのPC、Let's Note CF-SX4から音が出なくなりました。Windowsの復元ポイントは一つもなくて復元できず。タスクバーのスピーカーアイコンのところに斜線が入っていて、クリックするとトラブルシューティングが走るが原因が特定できませんでしたとか言われて回復せず。PanasonicのサイトからWindows8.1用のサウンドドライバをダウンロードしてインストールしたが回復せず、Windows10用のドライバにはサウンドドライバっぽいものはなかったが、汎用のものに含まれてないかな、とめぼしいものを入れたが回復せず。

必要なものはバックアップしてリカバリ領域使って初期化すれば直るんでしょうが、このPCはもともとはWindows8.1で、無償アップグレードでWindows10に上げたものなので、初期化後、ちゃんとWindows10にできるかどうか確信が持てなくてずるずる延ばしていたところ、意を決して8/8頃にリカバリ実施。

結果から言えば、リカバリしたら8.1に戻ったけれども再度Windows10に上げることは可能でした。

やったこと

スクショとか残してないですが。

  1. BIOS画面からリカバリパーティションを選んでリカバリ実施。Windows8.1に戻った。
    参考サイト

    https://www.monodeasobu.com/entry/2021/01/03/143737

  2. Microsoftアカウントと紐づいたアカウントでログイン(これが必要かどうかは不明)
  3. Windows10のダウンロードサイトからUpdate Assistantをダウンロードして実行。

    https://www.microsoft.com/ja-jp/software-download/windows10

これで、実施時点の最新のWindows10に更新できました。

誰かの参考になりましたら。

JavaScriptってJavaにそっくりだよね

JavaScriptJavaは、違う言語である。それは間違いない。

しかし、「JavaScriptはもともとLiveScriptという名前だったのが、マーケティングの都合だけでJavaScriptに改名されたんです! その名前以外、Javaとは共通点は一つもありません!! JavaJavaScriptはメロンとメロンパンくらい違う!!!」と言われると、それはそれでちょっとおかしいだろう、と思う。「JavaJavaScriptはメロンとメロンパンくらい違う!!!」のところは、インドとインドネシアとか、すっかり大喜利状態になっているけれど、そんなふうに「まったく違う言語」と言い切るには、JavaScriptJavaにあまりにも似すぎている。

gist.github.com

togetter.comこれは、「どちらもC言語を先祖としているから……」といったレベルの話ではない。

web.archive.org

JavaがCに類似する構文を持っているのと同程度に、JavaScriptJavaの構文は似ています。しかし、JavaがCのサブセットではないように、JavaScriptJavaのサブセットではないのです。

Cが先祖である、程度の理由で、文字列のメソッドのstartsWith()とかcharAt()とかlength()とか、そんなことまで一致するはずがない。JavaScriptはあからさまにJavaに似せて作られている。

JavaScriptはもともとLiveScriptという名前でー! マーケティングの都合で―!!」と言いたがる人たちは、LiveScriptなる言語がいったいいつから存在したと思っているのだろう? LiveScriptは、そのさらに前にはMochaと呼ばれていて、Mochaが作られたのはJavaの登場より後だ。Mochaがコーヒーの名前であるあたり、明らかにJavaを意識している。このあたりの話は、JavaScriptの作者であるブレンダンアイク自身が、以下のように語っている(JavaScript Ten Years)。

Javaは、高価なコンポーネントウィジェットのためであるのに対し、Mochaは、Webデザイナー向けの言語である、と言っているわけで、JavaScriptは「Javaスクリプト言語版」であるという、メロンとメロンパンの人たちが否定する位置づけは、それなりには根拠があるように思える。何しろ、JavaScriptは、JavaのDateクラスの2000年問題のバグまでそっくり似せて作られている*1

f:id:kmaebashi:20210704234454p:plain

確かに、JavaScriptは、関数がファーストクラスオブジェクトであったりレキシカルクロージャがあったりと、プログラミング言語の進化の系統樹からすれば、C→C++Javaという系統よりも、Lispから取り入れたものが多い言語だとは思う(あとは、プロトタイプオブジェクト指向言語として、SELFとか)。しかし、それにしても、これほどあからさまに「似せて作られた」ことを無視して「メロンとメロンパン」とか「インドとインドネシア」とか言い募るのは、あまり誠実な態度とは言えないんじゃないですかね。

参考ページ:

https://www.markupdancing.net/archive/20081111-083300.html

 

――というようなことも、「完全初心者のためのプログラミング入門」には書いておりますよ! という宣伝でした。

kmaebashi.com

はじめに――完全初心者のためのプログラミング入門

*1:2021年現在、getYear()が121を返すことだと思われる。

プログラミングを始める前の予備知識って結構多いな、という話

しつこく、「完全初心者のためのプログラミング入門」の話。

完全初心者のためのプログラミング入門

http://kmaebashi.com/programmer/beginner/index.html

だいぶ前ですが、以下のようなツイートをしたことがあります。

で、実際、「完全初心者のためのプログラミング入門」には「ファイルとフォルダ」の項を入れました。

ファイルとフォルダ――完全初心者のためのプログラミング入門

Windowsを毎日使ってWebを見ていたとしても、ファイルやフォルダのことは知らない、エクスプローラーなど起動したこともない、という人は多そうですし、仕事でWordなりExcelなりを使っているからファイルやフォルダのことなんか当然知っている、という人でも、拡張子をデフォルトのまま非表示にしていて思った通りのファイルを作れなかった、というケースがありました。だったらやっぱりここから説明が必要です。いくらなんでもこんなことは知ってるよ、という人は読み飛ばしてもらえばよいとして。

まあ、これくらいのことは最初から覚悟していたのです。でも、いざ書き始めて、BMI計算プログラムを作ったところで、「あ、ここで身長体重に全角文字を入力してしまってはまる人もいるだろうなあ」と思って『「文字コード」とは何か?』を書き始めたりしてまあ時間がかかることかかること。

「文字コード」とは何か?――完全初心者のためのプログラミング入門

文字コードとは何か、を説明するにしても、いまどきJIS X 0201(半角カナ)とかJIS X 0208(シフトJISとかEUCとかの文字セット)とかはいらんのではないか、いきなりUnicodeUTF-8でよいのではないか、とは思いましたが、発端が「身長体重に全角文字を入力してしまってはまる」ことを想定しているわけで、そもそもパソコンを使い始めてからずっとプロポーショナルフォントを見てきた人にしてみれば、これぐらい歴史を追わないと全角・半角の区別などというものがなぜあるのかわからないでしょう。

コンピュータを使う限り、当然、ビットとかバイトの理解も必要ですし(これがわからないと文字コードエンコーディングの概念もわかりませんし)、

ビット、バイト、2進数、16進数――完全初心者のためのプログラミング入門

いろいろ書いているうちに書き手の私がどうしても「処理系」という言葉を使いたくなるわけですが、そうなるとコンパイラとかインタプリタの話題も必要です。

コンパイラとインタプリタ――完全初心者のためのプログラミング入門

本編の、「UFOゲームを作ってみよう」という話題を書き始める前に、この辺でずいぶん時間を取られてしまいました。

それにしても、我々プログラマは、みんな最低限の知識としてこれぐらいのことは身につけているわけです。そりゃまあどんな仕事でもこの程度のことは覚えなければいけないのかもしれませんけれど、プログラマというお仕事も、結構な専門知識が必要であるようです。それこそ「底辺」と呼ばれるような仕事であっても。

自分の仕事に誇りをもって、「給料増やせ!」と叫ぶべきですね。

「完全初心者のためのプログラミング入門」に改題しました

先週公開した「本当の初心者のためのプログラミング入門」ですが、公開後にぐぐってみたら、同名の書籍がKindleにあることがわかりました。向こうが先なので、「完全初心者のためのプログラミング入門」に改題します。

完全初心者のためのプログラミング入門

確かに、かぶっても不思議ではないタイトルでした。事前に確認しておくべきでしたね……

 

「本当の初心者のためのプログラミング入門」始めました

タイトルからして無謀ですが、「本当の初心者のためのプログラミング入門」というのを始めました(始めました、と言いつつ、続くかどうかは評判次第ですが)。

kmaebashi.com

この入門では、JavaScriptを使って、以下のような「UFOゲーム」を作ります。

下にある「キャノン砲」で、飛び回るUFOを撃墜するゲームです。

UFOは1機しかいないし、UFOは撃ってこないし、キャノン砲が発射するビームも画面上には1発しか存在しません(ビームが消えるまで、次のビームが撃てない。昔のスペースインベーダーギャラクシアンはこうだった)。しょぼいゲームですが、最初の一歩はこれでよいかな、と思っています。

実のところこのUFOゲームは、かつて「マイコンBASICマガジン」、略して「ベーマガ」の1982年8月号に載っていた「UFOゲームを作ってみよう」へのオマージュです。ベーマガのUFOゲームは、BASICで作られていて、「AAA」のUFOを「I」のビームで撃墜するようなゲームでした。ゲームとして遊ぶに足るものかどうかはともかく、当時のBASICゲームの作り方を学ぶにはとても参考になりました。当時の私は中1でしたが、それでも十分読みこなせる記事でした。

それに比べ、現在のプログラミング初心者は、どのようにプログラミングを学び始めればよいのでしょうか。スイッチONでBASICが動いた80年代のパソコンと違い、まず開発環境のインストールが必要ですし、Webアプリでも作ろうとするならHTMLとCSSとサーバ側言語とJavaScriptSQLが必要です。とても初心者の手に負えるとは思えません。

JavaScriptでUFOゲームを作るなら、HTMLとJavaScriptさえ覚えれば、あとはメモ帳1本で可能です(あ、絵を描くのにペイントも要るか)。最初は、正体不明のファイルを山ほど自動生成する統合開発環境を使うより、メモ帳なりのテキストエディタガリガリ書いていく方が、自分がやっていることがすべて理解できて勉強になると思います。

――とはいえ、最初の言語にJavaScriptが適切か、ということに関してはずっと思うところがあって。

 とはいえ、Windowsを買ってきたら環境構築なしでいきなり使えて、UFOゲームのようなゲームも作れて、世間に情報が多い言語というとやはりJavaScriptくらいしかないでしょう*1

というわけで書き始めてみると、これが大変で大変で、「本当の初心者」を対象にするのなら「ファイルとフォルダ」の概念くらいは書かなければいけないだろう、とは最初から思っていましたが、書き始めてみるとあれもこれもと書かなければいけないことが増えていって、ずいぶん時間がかかってしまいました(書き始めたの、いつだったっけ?)。

今回公開分で、ひとまずUFOゲームは最後まで作っています。最終的には、これくらいのシューティングゲームくらいまで持っていきたいと思っていますが、さて、どうなりますことやら。

※このシューティングゲームは、以下のリンクから遊べます。

http://kmaebashi.com/programmer/beginner/shooting03/shootinggame.html

 

*1:実のところ私はこの目的で1個言語を作ったりもしたのですが、個人開発の、ライブラリも揃わない、情報もない、バグもありそうな言語に初心者を巻き込めないよね。

ロードバイクは結局時速何kmぐらいで走れるのか

結論から先に書く。信号待ちの時間を含めた、実効速度というか、「1時間で何km先まで行けるか?」という速度で言えば、私の場合、時速15kmくらいだ。

まあ、私は40代も半ばを過ぎてからスポーツバイクに乗り始めたおっさんなので、決して速くはない。他のロードバイクにはしょっちゅう抜かれる。でもまあ、ママチャリやなんちゃってクロスバイクなら、街中ではだいたい100%抜いている(山道で、競争している男子高校生をゴボウ抜きにしたこともある)。ちなみに、鈴鹿の8時間エンデューロでは、私はママチャリに抜かれたことがある。ああいうところでは、ガチで走れる人がふざけてママチャリで出走したりするので(コスプレしている人もいる)、そういう人には抜かれる。ぶっちゃけママチャリだって速い人は速いわけで、ロードに乗れば誰でも速く走れるわけではないし、速い人だって、信号のある公道では、時速20kmを出すのは難しいと思う。

そして1時間後、あなたは何km移動しているでしょうか。15km先でしょうか。20kmだったら、相当の健脚か、コースや風向きに恵まれたのかもしれません。

――「自転車で100kmをラクに走る」p.84

ロードバイクに乗っている人の中には、巡航速度30km/hとか40km/hとか50km/hとか、好き勝手なことを言っている人がいるけれど、実際問題そんなスピードでは走れない。瞬間最大なら平地無風で40kmくらいはいけるかもしれないけれど(私にはちと難しい)、そのスピードでそうそう走り続けられるものではない。自転車競技で「アワーレコード」というものがあって、これは「1時間ひたすら漕いで何km走れるか」を競う競技なので走った距離がそのまま平均時速になる。これの世界記録が55kmくらいらしい。もっともこれは2014年のルール改定以後空力のよいあれこれが使えるようになった後の記録で、2000年のルール改定でエアロフレームが禁止されてから2014年の再改定までは、世界記録保持者でも1時間で50kmは走れなかった。

www.cyclowired.jp自転車の速度を、

  1. 瞬間最大で出せる速度
  2. 信号待ちのように完全に止まった時間を除いた、走っている時間の平均速度(サイクルコンピュータが表示する平均速度がこれ)
  3. 信号待ちを含め、実際に1時間で何km走れるかという速度

に分類したとすると、私の場合は、2.が20km/hくらい、3.が前述の通り15km/hくらいだ。1.は難しくて、当たり前だが下り坂や追い風なら早く走れる。本来なら無風で平坦な道で考えるべきなのだろうが、日本の公道で、延々と続く真っ平な道路などそうそうないし、完全な無風状態が続くこともない。体感的には、普通に走っていて、信号待ちから加速して35km/hくらいにはなるけれど、それでちょっと走ったら次の信号でまた止まる、というくらいか。これで「巡航速度35km/h」くらいと言ってはいけないと思う。その速度で走り続けたわけではないからだ。

ロードバイクは、なんかこうめちゃくちゃ速く走れるというイメージを持っている人が多いようなので、(私にとっての)実態を書いてみた。もちろん速い人は私よりずっと速い。鈴鹿サーキット1周6km弱、私はどうやっても10分はかかるが(かつて1回だけ9分56秒くらいで走ったことはあるが)、速い人は7分くらいで走るらしい。えっちらおっちら走っていて先頭集団に抜かれるときは「すげー」と思う。でも、信号のある公道での実際の速度となると話は別だろう。

これを読んでいる人の中には、ロードバイクを始めてみようと思って、実際どれぐらいのスピードで走れるのだろうと検索して辿り着いた人もいるかもしれない。夢を壊して申し訳ない。まあでも、この程度のスピードでも、1日で100kmとか150kmとか走れるようには割とすぐになるし、名古屋から150km走れば京都まで行ける(新幹線なら35分、とか、そういうことはいったん忘れろ)。遅くても、ペダルを踏めば、必ず前に進むのが自転車だ。楽しいですよ。遅くても。

card-media.money.rakuten.co.jp

ちなみに、しっかり漕いで、道が平坦で迷わない場合だったら、「1キロ移動するのに3分」が街中の自転車移動の目安だと思ってください。

ロードですらないミニベロやママチャリで、簡単に平均時速20kmで走れるようなことが書いてあるWeb記事や本は、一切信じるな

dailyportalz.jp

Googleのナビだと自転車で平均時速15kmで時間を出すようだけど、私がロードでそれくらいなので、普段距離を乗っていない人がそれを真に受けるのは危険だ。私もクロスバイクに乗り始めた最初のうちは、平均時速10km/hくらいで見積もっていた。

そういえば、スポーツバイクに乗るようになるはるか前、2005年にママチャリ買って購入2日後に長島温泉(片道30km)に行ったのだけど、この時の平均速度も10km/hくらいだったようだ。その後クロスバイクでも行ったけど、所要時間に特に差はなかったな。

 

自転車乗りなので所有する自転車について語ってみる その2

前回の続きです。

kmaebashi.hatenablog.com

スポーツ自転車としては最初に買ったRF-7、かなり気に入って乗り回していましたが、それなりに走るようになると、やっぱりロードバイクというものに乗ってみたくなります。正直最初にRF-7を買った時から、「これをちゃんと乗るようなら2~3年のうちにロードを買おう」と思っていたのですが、2年目の2015年の夏は仕事が大変にアレなことになってまるで乗れなかったので、3年乗って、2017年の春、3/15にロードを買いに行きました。なぜ日付まで覚えているかというと、この日は確定申告のために有休をとった日で(いつも期限ぎりぎりに申請書作って投函してた)、確定申告後にワイズロードに行ったためです。思いのほか税金取られてしょげていたので、当初はULTEGRA搭載ぐらいのグレードのやつを買おうと思っていたのに結局105のやつになりました。ちなみにULTEGRAだの105だのいうのはコンポーネント(変速とかブレーキとかその辺の部品一式)のシマノというメーカーのグレードで、ランクとしては上から順に

という順になります。シマノは日本のメーカーですが(釣り具なんかも作ってますが、ロードバイクの部門の方がはるかにでかいらしい)、世界のシェアの過半も占めていて、だいたいブレーキレバーの前面かチェーンリング(ペダルにつながった、でかい方のギア)に上記グレード名が書いてあるので、その辺に停めてあるロードバイクを見ても、だいたいそれで値段とかが想像できます。まあ、一点豪華主義でコンポだけ高いの乗せたとか*1、コンポは安いけどフレームは高いんだ、というケースもあるかもしれませんけど。

そんなこんなで結局買ったのが、TREK EMONDA SL5(2017年版)です。

f:id:kmaebashi:20180715103423j:plain

この写真は、しまなみ海道の「サイクリストの聖地」で撮ったもの。

2017年のモデルなので、メーカーであるTREKの公式ページはもう消えてしまっていますが、コンポが105、カーボンフレームで重量が実測7.68kgと、この時代のロードバイクとしては安物でもなく高すぎもせず、まあミドルレンジのロードバイクなのだと思います。前回のRF-7同様色は赤です。RF-7が赤になったのはたまたま店頭在庫が赤だったという理由でしたが、ロードはむしろ色で選びました。RF-7を乗っているうちに「俺の自転車は赤!」という意識が刻み込まれたようです。

ところで上の写真、見る人が見れば「えらくサドルが低いな」「ステム(ハンドルとステアリングの回転軸をつなぐ部品)長すぎない?」と思うかと思います。要は私が足が短いのでサドルは上げられず、胴体が長いのでステムを長いのに交換してハンドルを前に出しているのです。ロードバイクを買えばまともな店なら体を計測してこうやってポジションを出してくれるのですが、これはちょっと傷ついた*2

ロードに乗り換えてからも、以前からの定番の行き先、養老とか関ヶ原とか香嵐渓とかは行っています。鈴鹿の8時間エンデューロも出ました。それに加えてロードで行ったところと言えば、たとえばしまなみ海道とか。

f:id:kmaebashi:20190915064034j:plain

しまなみ海道は結局3回行っていて、初回は2018年7月、当日の天気はよかったのですが先週の関西豪雨のため断水で飲食店の類が広島側ではかなり休業していて(大島まで行ったら開いてた)、リベンジのつもりで2019年の7月に行ったら今度は当日の天気が悪く雨の中片道だけ走行して帰りは輪行、さらにリベンジということで2019年9月に再々挑戦、となったのでした。その辺のことは以前書いています。

kmaebashi.hatenablog.com

kmaebashi.hatenablog.com

kmaebashi.hatenablog.com

kmaebashi.hatenablog.com最後でリベンジを果たした、と言えればよいのですが、3回目は1日で往復したのでちと行程に余裕がなく(もう陽が短くなった9月に行ったというのもありますし)、また行きたいなあ、と思っていたら2020年はコロナ禍でどこにも行けず。

アルプス安曇野センチュリーライド(AACR)にも参加しました。まず2018年は120kmで参加(申し込んだときにはこれしか空いてなかった)。

f:id:kmaebashi:20180520064119j:plain

エイド(補給所)の「駐輪場」。ロードバイクなんて普通はスタンド付けないので、こうなる。

f:id:kmaebashi:20180520084734j:plain

白馬エイドの写真かな。

f:id:kmaebashi:20180520085140j:plain

白馬エイドの補給食。豚汁。(この他に紫米のおにぎりとかもありました)

f:id:kmaebashi:20180520101823j:plain

AACR参加者には有名なヤマザキYショップのおやき。実のところ私は当時それを知らずに、トイレを借りたくて駆け込んだコンビニがここだったのですが。

f:id:kmaebashi:20180520132254j:plain

ゴールでもらえたアイスたい焼き。翌年、160kmを走ってみたら、アイスたい焼きではなくて普通のたい焼きになっていた。

f:id:kmaebashi:20180520134138j:plain

ゴール地点にて。

2019年には160kmで参加しました。これについてはこちらで。

kmaebashi.hatenablog.comその他、琵琶湖一周(ビワイチ)もやった。それはこちらで。

kmaebashi.hatenablog.comところでこのロードバイク、買った時は普通のペダル(フラットペダル)を付けたのですが、途中でシューズも買って、ビンディングペダルに交換しました。

f:id:kmaebashi:20170903174837j:plain

これを使うと、ペダルとシューズが固定されるので、踏み外す心配がないとか、引き足が使えるので速く走れるといったメリットがあります。反面、急停車した時にとっさに足が出ないという危険もあるわけで、公道でこれを使うのは賛否があるところだと思います。私はと言えば、正直これを使ったからといって速く走れる気はしません。ただ、どうもフラットペダルだとガニ股になるのか膝が痛くなるというのがあって、ずっとビンディングを使っています。2回ほど立ちゴケしたけれど。1回目はビンディングシューズ買ってすぐの練習中で、買ったばかりのデフォルト状態でまさか固定力が最大に設定してあるとは思わず外せなかったためで、2回目は、本当に固定されていることを忘れていて、なんということもない対向自転車とのすれ違い時に止まろうとしてコケたのですけど。

カニカルな話をするなら、いまどきのロードバイクは、変速が手元でできるように、変速レバーがブレーキレバーと一体化しています。

f:id:kmaebashi:20170402141346j:plain

ブレーキレバーの内側に小さなレバーがあって、これを内側に押し込むと、右手側の場合、後ろのギアが一つ重くなります。

f:id:kmaebashi:20170402141355j:plain

軽くするときはどうするかというと、ブレーキレバー自体を内側に押し込みます。

左手側は逆で、小さなレバーを内側に押し込むと軽くなり、ブレーキレバー自体を内側に押し込むと重くなります。なんで逆にするのか、と思うかもしれませんが、「今より大きいギアに替えるときは大きなレバーが必要」ということなのだと思います。

さて、このロードEMONDA SL5も3年あまり、走行距離では13,000kmほど乗ってきて(今年はコロナのせいで京都にも琵琶湖にもAACRにもしまなみにも行けず、あまり走れていませんが)、消耗品は変えたものの壊れているわけでもないので、まだまだ乗り続けるつもり――なんですが、ロードバイクも世間じゃすっかりディスクブレーキが主流になっていて、そういう、特に安全にかかわるようなところで「口実」ができてしまうと、新しいの買っちゃおうかなあ、という気に――いやでもまだまだ今のを乗り続けますよ!!

*1:RF-7は割とこれよりかも

*2:RF-7を買う時もだいぶサドルを下げられたので、わかっちゃいたんですけどねえ。