noticket - updates

This commit is contained in:
Bastian de Byl
2025-01-08 12:35:09 -05:00
parent 67efdf6d41
commit dcea5bf679
24 changed files with 238 additions and 270 deletions

2
.gitignore vendored
View File

@@ -1,5 +1,5 @@
*.lock
flymd*
public/
resources/
static/
themes/

3
.gitmodules vendored Normal file
View File

@@ -0,0 +1,3 @@
[submodule "themes/papermod"]
path = themes/papermod
url = git@github.com:adityatelange/hugo-PaperMod.git

View File

@@ -0,0 +1,39 @@
.thumbnail-container {
width: 100%;
text-align: center;
padding: 10px 0;
}
.thumbnail-container a {
all: unset;
}
.thumbnail {
margin: auto;
padding: .75rem;
text-align: center;
max-width: 80%;
display: inline-block;
}
.thumbnail sub {
font-size: small;
font-style: italic;
}
.thumbnail-gallery {
margin: auto;
text-align: center;
padding-bottom: 2rem;
}
.thumbnail-gallery a {
all: unset;
}
.thumbnail-gallery .thumbnail {
display: inline-block;
margin: .125rem;
padding: .50rem;
width: 42%;
}

View File

@@ -1,12 +1,12 @@
# core
baseURL: "https://bdebyl.net/"
title: "Collection of useful, and useless information"
theme: "even"
baseURL: https://debyl.io/
title: debyl.io
theme: papermod
enableEmoji: true
# settings
paginate: 5
defaultContentLanguage: "en"
languageCode: "en"
defaultContentLanguage: en
languageCode: en
buildDrafts: false
canonifyURLs: true
enableRobotsTXT: true
@@ -15,10 +15,17 @@ markup:
goldmark:
renderer:
unsafe: true
highlight:
noClasses: false
# anchorLineNos: true
# codeFences: true
# guessSyntax: true
# lineNos: true
# style: monokai
# google analytics
googleAnalytics: "UA-163975086-1"
googleVerification: ""
googleAnalytics: UA-163975086-1
googleVerification:
# See https://gohugo.io/about/hugo-and-gdpr/
privacy:
@@ -30,63 +37,135 @@ privacy:
# https://gohugo.io/content-management/syntax-highlighting/
pygmentsCodefences: true
pygmentsCodefencesGuessSyntax: true
pygmentsOptions: ""
pygmentsOptions:
pygmentsUseClasses: true
author:
name: "Bastian de Byl"
sitemap:
changefreq: "weekly"
filename: "sitemap.xml"
changefreq: weekly
filename: sitemap.xml
priority: 0.5
outputs:
home:
- HTML
- RSS
- JSON
languages:
en:
languageName: English
weight: 1
taxonomies:
category: categories
tag: tags
series: series
menu:
main:
- name: "Home"
- name: Archive
url: archives
weight: 5
- name: Search
url: search/
weight: 10
- name: Tags
url: tags/
weight: 10
identifier: "home"
url: "/"
- name: "About"
weight: 20
identifier: "about"
url: "/about"
- name: "Archives"
weight: 30
identifier: "archives"
url: "/post/"
- name: "Tags"
weight: 40
identifier: "tags"
url: "/tags/"
params:
favicon: "/static/img/favicon.ico"
since: "2017"
logoImage: "/static/img/logo.png"
images:
- "/static/img/logo-prev.png"
logoTitle: "bdebyl"
keywords: ["bastian", "de byl", "bdebyl", "bastian de byl"]
description: "A random assortment of my personal projects."
env: production # to enable google analytics, opengraph, twitter-cards and schema.
description: Theme PaperMod - https://github.com/adityatelange/hugo-PaperMod
author: Bastian de Byl
# author: [Me, You] # multiple authors
# paginate of archives, tags and categories
archivePaginate: 20
# show 'xx Posts In Total' in archive page
showArchiveCount: true
# The date format to use; for a list of valid formats, see https://gohugo.io/functions/format/
dateFormatToUse: "2006-01-02"
# show word count and read time
moreMeta: true
# show "read more" link on post summary
readMoreEnabled: false
postMetaInFooter: true # contain author, lastMod, markdown link, license
linkToMarkDown: true # Only effective when hugo will output .md files.
contentCopyright: '<a rel="license" href="http://creativecommons.org/licenses/by-nc/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/4.0/80x15.png" /></a>'
ShowAllPagesInArchive: true
ShowBreadCrumbs: true
ShowCodeCopyButtons: true
ShowPageNums: true
ShowPostNavLinks: true
ShowReadingTime: true
ShowRssButtonInSectionTermList: true
ShowShareButtons: true
ShowToc: false
comments: false
defaultTheme: dark
disableSpecial1stPost: false
disableThemeToggle: true
displayFullLangName: true
images: [images/papermod-cover.png]
social:
a-email: "mailto:bastian@bdebyl.net"
g-github: "https://github.com/bdebyl"
m-instagram: "https://instagram.com/bastian.remi"
n-gitlab: "https://gitlab.com/bdebyl"
e-linkedin: "https://www.linkedin.com/in/bastian-de-byl-90171b187"
profileMode:
enabled: false
homeInfoParams:
Title: >
:wave: Welcome
Content: >
I created this site as a way of showcasing my projects, or other general
ideas. Its a sort of engineering portfolio, if you will.
<br/>
<br/>
This is just my personal blog site, feel free to get in touch with me
using the icon links below.
socialIcons:
- name: github
title: Github
url: https://github.com/bdebyl
- name: X
title: Twitter
url: https://x.com/bastiandebyl
- name: email
title: Email
url: mailto:bastian@debyl.io
# label:
# iconSVG: '<svg xmlns=http://www.w3.org/2000/svg height=25 viewBox=0 -960 960 960 fill=currentColor><path d=M320-240h320v-80H320v80Zm0-160h320v-80H320v80ZM240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-520v-200H240v640h480v-440H520ZM240-800v200-200 640-640Z/></svg>'
# text: Home
# icon: icon.png
# iconHeight: 35
assets:
disableHLJS: true
# favicon: <link / abs url>
# favicon16x16: <link / abs url>
# favicon32x32: <link / abs url>
# apple_touch_icon: <link / abs url>
# safari_pinned_tab: <link / abs url>
# cover:
# hidden: true # hide everywhere but not in structured data
# hiddenInList: true # hide on list pages and home
# hiddenInSingle: true # hide on single page
# fuseOpts:
# isCaseSensitive: false
# shouldSort: true
# location: 0
# distance: 1000
# threshold: 0.4
# minMatchCharLength: 0
# keys: [title, permalink, summary, content]
# privacy:
# vimeo:
# disabled: false
# simple: true
# twitter:
# disabled: false
# enableDNT: true
# simple: true
# instagram:
# disabled: false
# simple: true
# youtube:
# disabled: false
# privacyEnhanced: true
services:
instagram:
disableInlineCSS: true
twitter:
disableInlineCSS: true

View File

@@ -29,7 +29,7 @@ link to a text file containing my full public key is attached.
`70A4 AA02 555D BD55 9189 B4E0 F32B E05E ADAA 54FC`[^2]
{{< sub >}}[**Public Key**](/static/pubkey.txt){{< /sub >}}
[**Public Key**](/static/pubkey.txt)
</center>
## Donations

6
content/archives.md Normal file
View File

@@ -0,0 +1,6 @@
---
title: "Archive"
layout: "archives"
# url: "/archives"
summary: "archives"
---

View File

@@ -4,8 +4,8 @@ date: 2019-01-16
lastmod: 2019-02-11
categories: ["Blog"]
tags: ["photography"]
images:
- "/static/img/aperture-study/f17-f40-comp.jpg"
cover:
image: /static/img/aperture-study/f17-f40-comp.jpg
---
I found out recently that using the maximum aperture for a lens can have
deminishing returns. Simply put: it makes the image look "soft", or otherwise

View File

@@ -27,16 +27,12 @@ better understanding of the tools and methods used.
## Partitioning with `fdisk`
{{% admonition warning Warning %}}
This operation will destroy any data on the device, please ensure to back up
any data desired prior to this operation!
{{% /admonition %}}
{{% admonition info Info %}}
Replace instances of `/dev/sdN` with your actual device name (e.g. `/dev/sda`).
References specific to partitions will be stated as such (e.g. `/dev/sdN1`,
`/dev/sdN2`)
{{% /admonition %}}
1. Remove any existing partitions on the drive:

View File

@@ -6,8 +6,8 @@ tags: ["emacs", "linux"]
categories: ["Tutorial"]
contentCopyright: true
hideHeaderAndFooter: false
images:
- "/static/img/emacs-clang-libopencm3/header-completion.png"
cover:
image: /static/img/emacs-clang-libopencm3/header-completion.png
---
With some minor dependencies, it's fairly straightforward in setting up your
Emacs workflow to include IntelliSense-like auto-completion!
@@ -114,13 +114,11 @@ The above assumes that `libopencm3` is also places within the project
directory
{{< /sub >}}
{{< admonition warning Note >}}
There is a strange issue that is encountered with non-working completion for new
header include statements. The workaround for this includes running `M-x irony-server-kill`after new header
additions to your current working file. Irony's server is clever enough to
restart itself after a completion request is triggered via `TAB` so this is a
fairly uninvolved workaround.
{{< /admonition >}}
## Example

View File

@@ -92,43 +92,34 @@ this via:
- **ArchLinux:** `sudo update-ca-trust`
- **Debian/Ubuntu, RHEL:** `sudo update-ca-certificates`
{{< admonition tip "CA Path" >}}
On my system the full path to the CA certs is:
- `/etc/ca-certificates/extracted/cadir/sks-keyservers.net_CA.pem`
{{< /admonition >}}
Two following parameters should be added to your `~/.gnupg` configuration files:
### GnuPG Versions >2.1
{{< admonition note "gpg.conf" >}}
```text
keyserver hkps://hkps.pool.sks-keyservers.net
```
{{< /admonition >}}
{{< admonition note "dirmngr.conf" >}}
```text
hkp-cacert /etc/ca-certificates/path/to/CA.pem
```
{{< /admonition >}}
### GnuPG Versions <2.1
{{< admonition note "gpg.conf" >}}
```text
keyserver hkps://hkps.pool.sks-keyservers.net
keyserver-options ca-cert-file=/path/to/CA/sks-keyservers.netCA.pem
```
{{< /admonition >}}
## *Optional* - Ensure keys refreshed through keyserver

View File

@@ -4,8 +4,8 @@ date: 2018-01-11
lastmod: 2019-01-16
categories: ["Blog"]
tags: ["electronics"]
images:
- "/static/img/headphone-fix/IMG_7505.jpg"
cover:
image: /static/img/headphone-fix/IMG_7505.jpg
---
A colleague offered a pair of Bern Bluetooth drop-in headphones to me fore free,
with the catch being: _I had to fix them_
@@ -60,7 +60,7 @@ search of `AIWI TI` (_as shown in the photograph_) resulted
in [the following datasheet](http://www.ti.com/lit/ds/symlink/tpa6132a2.pdf)
which verified that to be the case.
<center>![Hello](/static/img/headphone-fix/TPA6132A2.png)</center>
![Hello](/static/img/headphone-fix/TPA6132A2.png#center)
**Bingo!** Now knowing the pinout, I could use my trusty multimeter (_a Fluke
115_) to test continuity of the circuit from the known-good and the now

View File

@@ -14,11 +14,9 @@ from WordPress)
<!--more-->
# Disclaimer
{{< admonition warning "Out of Date" >}}
The information in this article is **out-of-date**. I am, and have been, using my
own fork of the [hugo-even-theme](https://gitlab.com/bdebyl/hugo-theme-even) on
my [GitLab](https://gitlab.com/bdebyl) profile.
{{< /admonition >}}
---

View File

@@ -1,154 +0,0 @@
---
title: "Installing LineageOS Unofficial on Pixel 3a"
date: 2020-07-13
lastmod: 2020-07-13
draft: false
tags: ["android", "security", "hacking"]
categories: ["Tutorial"]
contentCopyright: true
hideHeaderAndFooter: false
images:
- "/static/img/lineageos-pixel3a/lineage-settings.png"
---
{{< admonition warning "Out of Date" >}}
This guide is now out of date since LineageOS officially supports the Pixel 3a,
see more here: <https://wiki.lineageos.org/devices/sargo/install>
{{< /admonition >}}
In this post I aim to highlight my findings in deciding to go through the
process of installing LineageOS on my Pixel 3a. Currently, LineageOS does not
officially support the Pixel 3a. However, InvisibleK (Dan Pasanen) does host
updated versions of his unofficial LineageOS build for the Pixel 3a complete
with a custom recovery to utilize for this purpose!
<!--more-->
{{< thumbgallery >}}
{{< thumb src="/static/img/lineageos-pixel3a/lineage-settings.png"
alt="Screenshot showing the LineageOS version and other LineageOS settings on the Pixel 3a" >}}
{{< thumb src="/static/img/lineageos-pixel3a/lineage-trust.png"
alt="Screenshot showing the LineageOS Trust feature" >}}
{{< /thumbgallery >}}
# Thank You
Before going on any further, I'd like to take a moment to give my sincere thanks
to InvisibleK (Dan Pasanen). Having to set up the entire custom build for Pixel
3a of LineageOS myself would add far more overhead in the overall simple task in
trying to get LineageOS to work on a Pixel 3a!
[**tl;dr**](#flash-custom-recovery)
# Preface
There are plenty of guides out there on how to install and set up ADB and
Fastboot on your host machine. For me, on Arch Linux, this was as simple as
running `pacman -S android-tools`. However, should you be on MacOS or Windows
you may have to find resources on how to go about this. I do not intend to go
over this here -- _sorry_
Additionally, this _guide_ also assumes the reader has some familiarity with ADB
and/or Fastboot.
# Source Files
If you, the reader, know what you're doing and simply just require the files
for your Pixel 3a they can be found here:
- <https://updater.invisiblek.org/sargo>
# Installation
{{< admonition warning "Warning!" >}}
If it isn't abundantly clear by now, be aware that you **will be destroying all
the data currently on your Pixel 3a** in the process of installing LineageOS on
your device! Stop now and back up any files, 2FA codes, or other prior to
proceeding.
{{< /admonition >}}
## Note about TWRP
As of writing this, TWRP[^1] (_a custom recovery commonly used in custom OS
installation_) does not support Android 10. This would have been the preferred
for a custom recovery, though not strictly required. Since we will be installing
LineageOS 17.1 for Android 10 we cannot use TWRP.
## Flash to Stock
Google is kind enough to provide a variety of versions of the stock images for
the Pixel devices. In my process of installing LineageOS, as it will be on
Android 10, I made sure to flash to the latest stock version of Pixel 3a Android
10. Do note that the versions are listed in reverse order, with the latest being
found in the bottom-most row.
- <https://developers.google.com/android/images>
Additionally, Google provides a helper script `flash-all` that I highly
recommend running as-is to flash your Pixel 3a to stock. This can take a few
minutes to complete.
## Flash Custom Recovery
Using InvisibleK's build page, you'll find the required custom recovery image
for flashing found at the bottom of the list of zip files marked with a lone
"download" link.
Flash it via the following steps:
1. Reboot to recovery
```bash
adb reboot bootloader
```
1. Unlock the bootloader if the 'Status' is locked:
```bash
fastboot flashing unlock
```
1. Flash the custom recovery (_make sure to replace `N` with the version you
downloaded, mine was '4'_)
```bash
fastboot flash boot sargo-recovery-eng-N.img
```
1. Boot the custom recovery either by re-entering recovery mode or fastboot --
make sure to wait for it to enter Android Recovery after
```bash
fastboot boot sargo-recovery-eng-N.img
```
## Install LineageOS
Now that the custom recovery is set up and booted into, we're ready to install LineageOS!
1. **Important!** Once in recovery, ensure to `Wipe data/factory reset` prior to
proceeding.
1. Select `Apply update from ADB`
1. ADB Sideload the version, if not latest, of LineageOS you want for your Pixel
3a
```bash
adb sideload lineage-17.1-2020517-UNOFFICIAL-sargo.zip
```
1. Wait for installation to complete then select 'Reboot system now' from the
recovery menu
1. **Enjoy LineageOS!**
## Verification
Once in LineageOS, you can browse the settings to verify the installation and
set up Trust the preferred way. Personally, I chose to leave the defaults.
# Bugs / Issues
I plan to keep this list of bugs and issues I discover up to date, but this is
what I have encountered so far:
- WiFi calling does not seem to work
[^1]: [Team Win Recovery Project](https://twrp.me/)

View File

@@ -67,10 +67,8 @@ It may be worth mentioning, to folks less familiar with `awk`, that the
being piped into `sha1sum`. I discovered incorrect `sha1sum` outputs **without**
`FNR==1` resulting in a useless password check!
{{< admonition note Note >}}
`IFS=` would not have fixed the above newline issue, as the problem stems
from the output of `pass "$p"` and **not** the filenames.
{{< /admonition >}}
That takes care of gathering our passwords, but we'll revisit this again in the
next part.
@@ -117,10 +115,9 @@ it's weak (_i.e. "Exists in attack dictionary", "Too short", etc._) was to use
well-documented or fully-fledged application to fully determine password
strength though for my purposes it will be good enough (_I don't care to write
my own version of this, yet.._).
{{< admonition note Note >}}
I made this part of the script **optional**, as not every user would want to
install `cracklib` on their system.
{{< /admonition >}}
This addition was made in the following order:

View File

@@ -6,8 +6,8 @@ tags: ["libopencm3", "stm32", "tutorial"]
categories: ["Tutorial"]
contentCopyright: true
hideHeaderAndFooter: false
images:
- "/static/img/stm32-examples/part0/stm32-basic-gpio-leds.jpeg"
cover:
image: /static/img/stm32-examples/part0/stm32-basic-gpio-leds.jpeg
---
One of the simplest projects to get started with the STM32 microcontroller
series: turn on the lights!
@@ -17,21 +17,12 @@ series: turn on the lights!
{{< thumb src="/static/img/stm32-examples/part0/stm32-basic-gpio-leds.jpeg"
alt="Photo of STM32 discovery board with illuminated green and blue LEDs" >}}
{{< admonition warning "Windows Users" >}}
This series of write-ups assumes the reader is on a Linux operating
system. Windows users _can_ utilize the [**Windows Subsystems for
Linux**](https://docs.microsoft.com/en-us/windows/wsl/install-win10) though your
mileage may vary!
{{< /admonition >}}
# Straight to the Chase
For those that want to cut to the chase and save time, here is the full source
code with friendly names to get you started:
{{< admonition note "Source Code" true >}}
```C
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
@@ -50,8 +41,6 @@ int main(void) {
}
```
{{< /admonition >}}
# Getting Started with libopencm3
[libopencm3](https://github.com/libopencm3/libopencm3) is a very powerful,
@@ -127,11 +116,9 @@ Makefile's variables of things you may want to change:
# Explanation
{{< admonition info "Naming Convention" >}}
As a note to the reader: below I will not refer to the GPIO port or pins using
the `#define` friendly names from above. This is purely for the sake
of clarity in hopes of avoiding confusion.
{{< /admonition >}}
Although the source code is fairly simple, lets dive into it at least
_somewhat_.

View File

@@ -6,8 +6,8 @@ tags: ["libopencm3", "stm32", "tutorial"]
categories: ["Tutorial"]
contentCopyright: true
hideHeaderAndFooter: false
images:
- "/static/img/stm32-examples/part1/blinky.gif"
cover:
image: /static/img/stm32-examples/part1/blinky.gif
---
After having reviewed [**Part 0**](/post/stm32-part0) of this series, we can now
explore controlling GPIO with the hardware timers! Other tutorials have used the
@@ -26,8 +26,6 @@ timers and their associated GPIO ports with Alternate Function modes.
For those that want to cut to the chase and save time, here is the full source
code with friendly names to get you started:
{{< admonition note "Source Code" true >}}
```C
#include <libopencm3/stm32/gpio.h>
#include <libopencm3/stm32/rcc.h>
@@ -79,8 +77,6 @@ int main(void) {
}
```
{{< /admonition >}}
# Set up the GPIO
Assuming the reader is either familiar with GPIO setup for the STM32F0, or has
@@ -107,10 +103,8 @@ For accomplishing this, a few things need to happen:
1. The desired GPIO pins need to be set to `GPIO_MODE_AF` in `gpio_mode_setup()`
1. The alternate function mode number `GPIO_AFx` has to be set for the pins using `gpio_set_af()`
{{< admonition warning "Note for Different STM32Fx Microcontrollers" >}}
Review the datasheet for the specific **STM32Fx** microcontroller being
programmed, as the Alternate Function mappings may be _significantly_ different!
{{< /admonition >}}
## GPIO Alternate Function Setup

View File

@@ -4,8 +4,8 @@ date: 2019-02-28
lastmod: 2019-02-28
categories: ["Blog"]
tags: ["electronics"]
images:
- "/static/img/thinkpad-usb-fix/DSC04781.jpg"
cover:
image: /static/img/thinkpad-usb-fix/DSC04781.jpg
---
From the moment that I first had my (_used_) ThinkPad X220, the bottom-right USB
port nearest to the SD card reader had been broken. The pad (_or bolster_) was

View File

@@ -13,10 +13,8 @@ is done!
<!--more-->
{{< admonition info Info >}}
If the reader is unfamiliar with OpenPGP, it's suggested to check out the prior
write-up on this blog: [**OpenPGP Best Practices (and Git)**](/post/gpg_best_practices_and_git/)
{{< /admonition >}}
# Importing Secret Keys

5
content/search.md Normal file
View File

@@ -0,0 +1,5 @@
---
title: "Search"
placeholder: Enter text to search..
layout: "search"
---

View File

@@ -0,0 +1,11 @@
{{- $src := .Get "src" }}
{{- $sub := .Get "sub" -}}
{{- $alt := .Get "alt" -}}
<div class="thumbnail-container">
<a href="{{ $src }}"><div class="thumbnail">
<center><img src="{{ $src }}" alt="{{ $alt }}" title="{{ $alt }}"></center>
{{- if $sub -}}
<sub>{{ $sub }}</sub>
{{- end -}}
</div></a>
</div>

View File

@@ -0,0 +1 @@
<center><sub><i>{{ .Inner | markdownify }}</i></sub></center>

View File

@@ -0,0 +1,15 @@
{{- $src := .Get "src" }}
{{- $sub := .Get "sub" -}}
{{- $alt := .Get "alt" -}}
{{ if not .Parent }}
<div class="thumbnail-container">
{{ end }}
<a href="{{ $src }}"><div class="thumbnail">
<center><img src="{{ $src | replaceRE "^(.*static/img)/(.*)$" "$1/w_500/$2" }}" alt="{{ $alt }}" title="{{ $alt }}"></center>
{{- if $sub -}}
<center><sub>{{ $sub }}</sub></center>
{{- end -}}
</div></a>
{{ if not .Parent }}
</div>
{{ end }}

View File

@@ -0,0 +1,3 @@
<div class="thumbnail-gallery">
{{.Inner}}
</div>

1
themes/papermod Submodule

Submodule themes/papermod added at 9f1f414be8