ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

Lenovo ThinkPad T14 Gen1 (AMD)にメモリを増設する手順

Lenovo ThinkPad T14 Gen1 (AMD)を買ったわけだが、自分の用途だとメモリが大量に必要なのに敢えて最小設定である8GBとしていた。これはLenovoでメモリ16GB機を購入するより、8GB機を購入してあとから8GB増設したほうが6000円~1万6000円安いため。

調べてみると、マザーボードに直接搭載されているメモリはPC4-25600だったので同じ性能のものを発注。先日無事にメモリ(PATRIOT PSD48G320081S, 8GB PC4-25600)が届いたので、増設した。

ThinkPadを選んだ理由の一つは充実したメンテナンスマニュアル。たかがメモリ交換とは思ったけどせっかくだしマニュアルを読んでみた。・・・お、初手から知らない手順がある・・・読んで良かった・・・。

以下、手順。

 

1. 高速スタートアップを無効にする

1.1 コントロールパネルを開く。

f:id:donadonasan:20200711122838p:plain

目視でコントロールパネルを探すのが面倒だったため検索している様子

1.2 コントロールパネルの表示方法を大きいアイコンまたは小さいアイコンに変更する。

f:id:donadonasan:20200711123300p:plain

コントロールパネルの表示方法変更

1.3 電源オプションをクリック

f:id:donadonasan:20200711123415p:plain

電源オプションをクリック

1.4 「電源ボタンの動作を選択する」をクリック

f:id:donadonasan:20200711123520p:plain

「電源ボタンの動作を選択する」をクリック

1.5 「現在利用可能ではない設定を変更します」をクリック

f:id:donadonasan:20200711123627p:plain

「現在利用可能ではない設定を変更します」をクリック

1.6 「高速スタートアップを有効にする」のチェックを外す

f:id:donadonasan:20200711123852p:plain

「高速スタートアップを有効にする」のチェックを外したところ

1.7 「変更の保存」をクリック。

以上で高速スタートアップは無効になります。

f:id:donadonasan:20200711123945p:plain

変更の保存ボタン

2. 内蔵バッテリの無効化

2.1 コンピュータを再起動し、Lenovoのロゴが表示されている間にF1キーを押してUEFI BIOSメニューに入る。

f:id:donadonasan:20200711125510p:plain

Lenovoのロゴが表示されている状態

f:id:donadonasan:20200711130503p:plain

UEFI BIOS メニュー画面

2.2 ConfigよりPowerをクリック

f:id:donadonasan:20200711131013p:plain

ConfigよりPowerをクリック

2.3 Disable Built-in Battery (和訳:内蔵バッテリを無効化)をクリック

f:id:donadonasan:20200711131127p:plain

Disable Built-in Batteryをクリック

2.4 Yesをクリックし内蔵バッテリを無効化する。

このとき、自動で電源も落ちる。

ダイアログ内の文章和訳:Yesをクリックするとシステムの電源が落ちます。このまま進めてよいですか?

f:id:donadonasan:20200711131244p:plain

Yesをクリックし内蔵バッテリを無効化する。このとき、電源も自動で落ちる。

2.5 内部部品の温度が下がるまで数分待つ。

以上で内蔵バッテリの無効化完了。

3. ベースカバーの取り外し

3.1 ノートPCから電源ケーブルを外し、ディスプレイを閉じる

f:id:donadonasan:20200711140351p:plain

解体準備の整ったThinkPad T14 Gen1 (AMD)

SIMカードを刺している場合は、外します。

3.2 裏返し、ネジを外す

正確には緩める。どのネジも紛失防止のため外れない模様

f:id:donadonasan:20200711140610p:plain

ThinkPad T15 Gen1 (AMD)の裏面 ネジを緩める場所

3.3 カバーを外す

コツを掴めば指の爪でも簡単にあけられる。マニュアルいわく、外すのは以下の順番。

f:id:donadonasan:20200711140801p:plain

カバー固定箇所と外す順番

開けるとこんなかんじ。

f:id:donadonasan:20200711141138p:plain

Lenovo ThinkPad T14 Gen1 (AMD) 内部写真

目についた主要部品たち。

f:id:donadonasan:20200711142354p:plain

Lenovo ThinkPad T14 Gen1 (AMD) 主要部品

搭載しているM.2 SSDSamsung PM991 M.2 PCIe Gen3 SSD。Gen4じゃないのか。ちぇっ。

それにしても高そうなファンである。フィンが高密度。

f:id:donadonasan:20200711143418p:plain

冷却ファン

なおカバーは放熱性向上のためか、銅でコーティングされていた。

f:id:donadonasan:20200711143528p:plain

カバー内側

4. メモリモジュールを装着

4.1 メモリモジュールをセット

メモリの切り欠きとコネクタの爪が合うようにメモリモジュールをセット。

f:id:donadonasan:20200711144337p:plain

切り欠きの位置

4.2 メモリモジュールを差し込む

レバーの幅広部分がメモリ側面の凹部に合う程度までメモリモジュールを差し込む。

f:id:donadonasan:20200711144531p:plain

メモリモジュールの差し込み

4.3 メモリモジュールを押し込む

レバーにより固定されるまでメモリモジュールを上から押し込む。

f:id:donadonasan:20200711144642p:plain

押し込まれ、固定できたメモリモジュール

5. もとに戻す

5.1 カバーを取り付け、ネジを締める

5.2 電源ケーブルを接続し、PCを起動する

5.3 メモリが増えたか確認する

f:id:donadonasan:20200711144912p:plain

メモリが8GBから16GBに増えました

5.4 高速スタートアップの設定をもとに戻す

f:id:donadonasan:20200711145109p:plain

高速スタートアップの設定をもとに戻す

なおバッテリは自動で有効に戻っていました。

以上。

Lenovo ThinkPadでBluetoothをつかったテザリングで「直接接続」しか選べない問題

Lenovo ThinkPadBluetoothを使ったテザリングをしようとしたけど、なぜか接続方法に「アクセスポイント」が無く、直接接続しか選べない。色々と調べたけど解決せず。そこで、古より伝わる「Windowsで困ったら再起動」を実行したら無事「アクセスポイント」が表示された。言い伝えは正しかった・・・

ThinkPad X240 vs ThinkPad T14 AMD

長年ThinkPad X240を使っていたがキーボードの調子が悪くなったので本体ごとThinkPad T14 AMDに買い替えたのでベンチマーク

 

ThinkPad X240 Core i5-4200U (2 Core 4 Thread 2.3GHz)

CINEBENCH Release 20: 473 cb

FinalFantasyXIV (ノート:標準品質) 1156

 

Thinkpad T14 AMD Ryzen 5 PRO 4650U (6 Core 12 Threads 2.1GHz)

CINEBENCH Release 20: 2223 cb

FinalFantasyXIV (ノート:標準品質)  2657

 

CPU性能を素直に反映するであろうCINEBENCHを見ると、コア数は3倍だけどスコアは4.7倍。素晴らしい。

グラフィック能力が関係してくるだろうけどコア数はあまり関係なさそうなFinalFantasyXIVはスコアが2倍。これも自分の用途なら十分。いいな、このThinkPad

さっそく開発環境をどんどん入れよう。

Factorioでの軌道上工場設計方針

(今回は文字ばっかりでつまんないです)

FactorioのSpace Exploration 0.3.x系公開により宇宙での生産ラインを完全に作り直す必要が生じた。面倒ではあるけど、せっかくなので色々と改善を図ってみる。

以前の設計では、宇宙に限っては物資の輸送をドローンに任せていた。いや、だって、宇宙世紀だし?しかしSpace Explorationではドローンが一定確率で墜落するRobot Attritionが必須となっており、この墜落確率は宇宙だと数倍にもなる。そのため、試験運転したらひどいことになってしまった。そこで、ドローンによる輸送を最小限にする。すなわち、特定の物資を必要とする場所にはロケットの着陸場を直接設け、ピンポイントで届ける。ドローンの使用は、再利用するロケット部品の輸送など最小限に留める。

また、従来の設計ではジャンクデータカードの再生処理を1箇所にまとめていたが、その結果ジャンクデータカード用ベルトコンベアが悲惨な幅になりそうだった。しかし、ジャンクデータカードの再生処理に必要な材料はジャンクデータカードそのものと流体のみである。そこで、ジャンクデータカードの再生は各サイエンスパックの製造拠点に分散配置することにした。一方、再生処理時に29%の確率で生じる壊れたデータカードは、リサイクル処理すると体積5倍のスクラップとなる。5倍は嬉しくないので、こちらは1箇所に集めて集中処理することにする。このように集中処理する対象をジャンクデータカードから壊れたデータカードに変更することで、必要なベルトコンベア数を1/3にできる・・はず。

スペース・エクスプローラー 0.3.xが公開

Factorioの大規模MODであるスペース・エクスプローラーが0.2.xから0.3.xへと大規模アップデートされた。その結果、レシピやら何やらが大規模に変更され、今までの生産ラインが全て無駄に。宇宙でまだ生産開始していないかったのに・・・。また、AAI Industoryが必須MODとなり、その結果地上の生産ラインも壊滅してしまった。

まあでも、また設計を楽しむ事ができると前向きに捉えつつ、変更点を見てみる。

宇宙での研究用アイテムは、以前と同様の天文・材料・生物・エネルギーの4種に加え、従来は地上で製造可能だった白いサイエンスパックがロケットサイエンスパックという名前になって宇宙での製造となった。

f:id:donadonasan:20200704112001p:plain

ロケットサイエンスパック

これの材料にVulcanite blockというものが見えるが、これは0.3.xで追加された新鉱物Vulcaniteを精製したもので、惑星nauvis等でのコアマイニング時に取り出される。

追加された新鉱物は他にもあり、それらはnauvisでは採掘できない。それらが必要な場合は他の惑星や月、アステロイドベルトに行く必要がある。追加されたのはベリリウムインジウム、Holmium、Cryonite、Vitamelenge、Naquatite。これら新鉱物は宇宙での上位サイエンスパック作成に必要だが、既存のアイテム製造に使うことで既存アイテムの原料を半減させたりもできる。

f:id:donadonasan:20200704112957p:plain

Vulcanite blockを使うと鉄の製造効率が1.5倍になる

f:id:donadonasan:20200704113158p:plain

ベリリウム板を使うと出来上がる貨物ロケットセクションが2倍になる

MODの日本語版は作業着手されているようだが、未完の模様。

AAI系MODの日本語版は作業完了しており、MODへの反映待ち。

FactorioのMODを日本語化する手順

FactorioのMODを自分で日本語化したい!という人向けの記事です。

日本語化の流れは以下の通り。

  •  1. modの圧縮ファイルを展開する
  • 2. 日本語用localeフォルダを作成する
  • 3. 文字列を定義するファイルをenフォルダとかからコピーしてくる
  • 4.  追加データをinfo.jsonから持ってくる
    • 4.1 title
    • 4.2 description
  • 5. 翻訳する
  • 6. Factorioを起動し翻訳結果を確認する

 

(以下長いので畳んでいます)

続きを読む

Factorio + AAI Programmable Vehiclesで自動移動&陣形形成+補給

Factorioにて採掘・戦闘を自動化するため、AAI Programmable Vehiclesと、関連MODを入れてみた。

そして、さっそく惑星内の敵性生命体を滅ぼすための制御回路を構築してみた。


An Example of Half-Automated Troop in Factorio using AAI Programmable Vehicles

目次

  • 目次
  • 全体構成
  • 各車両状態の取得と移動目標の設定、車両不在の表示
  • 群状態の取得
  • 群移動目標の設定
  • 車両間隔設定
  • X座標設定、Y座標設定
  • 各車両のUnit Data初期化

 

全体構成

f:id:donadonasan:20200611192418p:plain

AAI Programmable Vehiclesを使った移動・陣形構築・修理回路 外観

これにより、Pathで設定した経路に沿って車群が移動し、WayPointにて所定の陣形となり、各車両の修理完了後に次のWayPointへ向かって再び移動する。もし途中に敵の巣があったら蹂躙する。

BluePrintは以下。

Half-automatic troops for Factorio using AAI Prog…

各部分の働きは以下の通り。

f:id:donadonasan:20200611193924p:plain

AAI Programmable Vehiclesを使った移動・陣形構築・修理回路 概略構成
続きを読む