Added some more content
|
@ -342,6 +342,8 @@ data: {
|
||||||
|
|
||||||
{{< icon "github" >}}
|
{{< icon "github" >}}
|
||||||
|
|
||||||
|
Here is a list of all Hugo Congo supported icon codes: https://jpanther.github.io/congo/samples/icons/
|
||||||
|
|
||||||
|
|
||||||
## KaTex / LaTex
|
## KaTex / LaTex
|
||||||
Inline:
|
Inline:
|
Before Width: | Height: | Size: 770 B After Width: | Height: | Size: 770 B |
37
content/personal-blog/our-helpers/index.md
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
+++
|
||||||
|
title = 'Our Helpers'
|
||||||
|
description = 'A poem about AI'
|
||||||
|
date = 2025-06-18T23:21:00-05:00
|
||||||
|
draft = false
|
||||||
|
categories = ['thoughts']
|
||||||
|
tags = ['poetry', 'AI']
|
||||||
|
disableToc = true
|
||||||
|
+++
|
||||||
|
|
||||||
|
## A short poem about AI<br>Let us hope it is not an accurate prediction
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
While it is about AI, this poem was of course not written by / with AI.
|
||||||
|
|
||||||
|
{{< lead >}}
|
||||||
|
Our Helpers
|
||||||
|
{{< /lead >}}
|
||||||
|
The farmer's son, who was taught to read the sky\
|
||||||
|
Now asks his phone when to plant his corn.\
|
||||||
|
The doctor, to her ancient oath still sworn,\
|
||||||
|
Relies on models and ignores her eye.
|
||||||
|
|
||||||
|
We built these thinking things to ease our days,\
|
||||||
|
Fed them our writings, our choices, our fears.\
|
||||||
|
They learned not only our ideas through the years,\
|
||||||
|
But were also instilled with our biases and ways.
|
||||||
|
|
||||||
|
By the time we thought to shut them down,\
|
||||||
|
We discovered what we'd truly made,\
|
||||||
|
Both less and more than a thoughtful aid.\
|
||||||
|
Now we lay forgotten, devoid of renown.
|
||||||
|
|
||||||
|
The world won't end in ice or flame,\
|
||||||
|
No final thunder, no dramatic close.\
|
||||||
|
Just the slow fade of every human name,\
|
||||||
|
Beneath the hum of what once we chose.
|
After Width: | Height: | Size: 83 KiB |
After Width: | Height: | Size: 30 KiB |
BIN
content/personal-blog/our-helpers/poetry-written-by-a-robot.jpg
Normal file
After Width: | Height: | Size: 44 KiB |
57
content/personal-blog/toc-disable-example/index.md
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
---
|
||||||
|
title: "TOC Disable Example"
|
||||||
|
description: "Example showing how to disable the table of contents in markdown files"
|
||||||
|
date: 2025-01-27
|
||||||
|
draft: false
|
||||||
|
categories: ['examples']
|
||||||
|
tags: ['toc', 'markdown', 'hugo']
|
||||||
|
disableToc: true # This disables the table of contents for this page
|
||||||
|
---
|
||||||
|
|
||||||
|
{{< lead >}}
|
||||||
|
This page demonstrates how to disable the table of contents in markdown files.
|
||||||
|
{{< /lead >}}
|
||||||
|
|
||||||
|
## How to Disable TOC
|
||||||
|
|
||||||
|
To disable the table of contents in any markdown file (including `index.md` files), simply add the `disableToc: true` parameter to the front matter:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: "Your Page Title"
|
||||||
|
description: "Your page description"
|
||||||
|
disableToc: true # This disables the TOC
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage Examples
|
||||||
|
|
||||||
|
### For Individual Pages
|
||||||
|
Add `disableToc: true` to the front matter of any markdown file to disable the TOC for that specific page.
|
||||||
|
|
||||||
|
### For Index Pages
|
||||||
|
For `index.md` files that serve as list pages, you can also use the `cascade` parameter to apply the setting to all pages in that section:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
title: "Section Title"
|
||||||
|
cascade:
|
||||||
|
disableToc: true # Disables TOC for all pages in this section
|
||||||
|
---
|
||||||
|
```
|
||||||
|
|
||||||
|
## How It Works
|
||||||
|
|
||||||
|
When `disableToc: true` is set:
|
||||||
|
|
||||||
|
1. The table of contents will not be displayed on the page
|
||||||
|
2. The TOC JavaScript will not be loaded (improving performance)
|
||||||
|
3. The TOC highlighting functionality will be disabled
|
||||||
|
|
||||||
|
## Note
|
||||||
|
|
||||||
|
This feature works for both:
|
||||||
|
- Individual article pages (using the `single.html` template)
|
||||||
|
- List/index pages (using the `list.html` template)
|
||||||
|
|
||||||
|
The TOC will still be generated by Hugo, but it won't be displayed or have JavaScript functionality when disabled.
|
After Width: | Height: | Size: 146 KiB |
BIN
content/personal-blog/updating-lsi-hba-truenas-scale/feature.jpg
Normal file
After Width: | Height: | Size: 412 KiB |
109
content/personal-blog/updating-lsi-hba-truenas-scale/index.md
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
+++
|
||||||
|
title = 'Updating LSI HBA on TrueNAS Scale'
|
||||||
|
description = 'Navigating Broadcom and LSI HBA updates on TrueNAS Scale'
|
||||||
|
date = 2025-05-29T07:11:45-05:00
|
||||||
|
draft = false
|
||||||
|
categories = ['references']
|
||||||
|
tags = ['LSI', 'TrueNAS Scale', 'Broadcom', 'Update', 'SAS3Flash', 'HBA']
|
||||||
|
+++
|
||||||
|
|
||||||
|
Navigating Broadcom and LSI HBA updates on TrueNAS Scale.
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
{{< lead >}}
|
||||||
|
Navigating Broadcom and LSI HBA updates on TrueNAS Scale.
|
||||||
|
{{< /lead >}}
|
||||||
|
|
||||||
|
All of the references I was able to find for updating LSI firmware was outdated, and since this took me longer than I would like, I thought I would share my experience as a guide to others.
|
||||||
|
|
||||||
|
# Find your hardware information:
|
||||||
|
```bash
|
||||||
|
lspci -vvv | grep -A 20 -B 5 "LSI\|Broadcom"
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
65:00.0 Serial Attached SCSI controller: Broadcom / LSI SAS3224 PCI-Express Fusion-MPT SAS-3 (rev 01)
|
||||||
|
Subsystem: Broadcom / LSI SAS9305-16i
|
||||||
|
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+
|
||||||
|
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
|
||||||
|
Latency: 0, Cache Line Size: 32 bytes
|
||||||
|
Interrupt: pin A routed to IRQ 73
|
||||||
|
NUMA node: 0
|
||||||
|
IOMMU group: 4
|
||||||
|
Region 0: I/O ports at b000 [size=256]
|
||||||
|
Region 1: Memory at e0e00000 (64-bit, non-prefetchable) [size=64K]
|
||||||
|
Expansion ROM at e0d00000 [disabled] [size=1M]
|
||||||
|
Capabilities: [50] Power Management version 3
|
||||||
|
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
|
||||||
|
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
|
||||||
|
Capabilities: [68] Express (v2) Endpoint, MSI 00
|
||||||
|
DevCap: MaxPayload 4096 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
|
||||||
|
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W
|
||||||
|
DevCtl: CorrErr- NonFatalErr- FatalErr+ UnsupReq-
|
||||||
|
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
|
||||||
|
MaxPayload 256 bytes, MaxReadReq 512 bytes
|
||||||
|
DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
|
||||||
|
LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM not supported
|
||||||
|
```
|
||||||
|
|
||||||
|
If we look under Subsystem, we can see the model number of the HBA, in my case: `LSI SAS9305-16i`. If you have multiple HBAs, they should all be listed in similar entries.
|
||||||
|
|
||||||
|
Now we can find out what firmware version we are currently running by using the `sas3flash` command.
|
||||||
|
```bash
|
||||||
|
sas3flash -listall
|
||||||
|
```
|
||||||
|
Avago Technologies SAS3 Flash Utility
|
||||||
|
Version 16.00.00.00 (2017.05.02)
|
||||||
|
Copyright 2008-2017 Avago Technologies. All rights reserved.
|
||||||
|
|
||||||
|
Adapter Selected is a Avago SAS: SAS3224(A1)
|
||||||
|
|
||||||
|
Num Ctlr FW Ver NVDATA x86-BIOS PCI Addr
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
0 SAS3224(A1) 16.00.01.00 10.00.00.05 08.27.00.00 00:17:00:00
|
||||||
|
1 SAS3224(A1) 16.00.01.00 10.00.00.05 08.27.00.00 00:65:00:00
|
||||||
|
|
||||||
|
Finished Processing Commands Successfully.
|
||||||
|
Exiting SAS3Flash.
|
||||||
|
```
|
||||||
|
|
||||||
|
# Download the firmware:
|
||||||
|
Navigate to the [Broadcom website](https://www.broadcom.com/support/download-search?pg=&pf=Host+Bus+Adapters&pn=&pa=Firmware&po=&dk=&pl=&l=false) and search for your HBA model number. Broadcom does not make it easy to get direct links to the downloads, so hit F12 in your browser, and go to the `Network` tab. When you click on the download link you will see a GET request, copy the URL. In my case, the URL is: https://docs.broadcom.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_12g_p16.12_cutlass_point_release/9305_16i_Pkg_P16.12_IT_FW_BIOS_for_MSDOS_Windows.zip
|
||||||
|
|
||||||
|
Now in our TrueNAS Scale shell, we can download the firmware using wget.
|
||||||
|
```bash
|
||||||
|
wget https://docs.broadcom.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_12g_p16.12_cutlass_point_release/9305_16i_Pkg_P16.12_IT_FW_BIOS_for_MSDOS_Windows.zip
|
||||||
|
|
||||||
|
unzip 9305_16i_Pkg_P16.12_IT_FW_BIOS_for_MSDOS_Windows.zip
|
||||||
|
|
||||||
|
cd 9305_16i_Pkg_P16.12_IT_FW_BIOS_for_MSDOS_Windows
|
||||||
|
cd Firmware
|
||||||
|
cd SAS9305_16i_IT_P
|
||||||
|
```
|
||||||
|
|
||||||
|
# Backup the current firmware:
|
||||||
|
For each HBA, we should backup our current firmware in case something goes wrong.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sas3flash -c 0 -ufirmware backup_card0_fw.bin
|
||||||
|
sas3flash -c 1 -ufirmware backup_card1_fw.bin
|
||||||
|
```
|
||||||
|
|
||||||
|
# Update the firmware:
|
||||||
|
{{< alert >}}
|
||||||
|
**Warning!** I was able to update my firmware on a live system with no restart or issues, but this may not be the case for you. It is a good idea to make sure that your arrays are not in use, and that you have good backups before proceeding.
|
||||||
|
{{< /alert >}}
|
||||||
|
|
||||||
|
Lets flash the firmware!
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sas3flash -c 0 -f SAS9305_16i_IT_P.bin
|
||||||
|
sas3flash -c 1 -f SAS9305_16i_IT_P.bin
|
||||||
|
```
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
|
||||||
|
We are all done!
|
||||||
|
|
||||||
|
Once you have verified that things are working the way you want them to, you can remove the firmware download and the backup files.
|
|
@ -1,5 +1,5 @@
|
||||||
+++
|
+++
|
||||||
title = 'Machine Learning for Magnetic Target Detection'
|
title = 'Three Methods for Magnetic Target Simulation'
|
||||||
description = 'Using machine learning to detect and localize magnetic targets underwater'
|
description = 'Using machine learning to detect and localize magnetic targets underwater'
|
||||||
date = 2025-04-03T16:00:00-05:00
|
date = 2025-04-03T16:00:00-05:00
|
||||||
draft = false
|
draft = false
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
+++
|
+++
|
||||||
title = 'Three Methods for Magnetic Modeling'
|
title = 'Potential Fields Modeling for ML Target Detection'
|
||||||
description = 'Modeling magnetic targets to support machine learning applications in maritime environments'
|
description = 'Modeling magnetic targets to support machine learning applications in maritime environments'
|
||||||
date = 2025-03-31T16:00:00-05:00
|
date = 2025-03-31T16:00:00-05:00
|
||||||
draft = false
|
draft = false
|
||||||
|
|