Added Makefile, updated theme, using fork of even theme

This commit is contained in:
Bastian de Byl
2018-12-19 23:26:10 -05:00
parent ad41075f43
commit f6ac6ee3fd
5 changed files with 325 additions and 182 deletions

32
Makefile Normal file
View File

@@ -0,0 +1,32 @@
# This Makefile was originally taken from https://github.com/alimac/alimac.io/
# Website hostname, used to set:
# - image and container names
# - path to web root (in /tmp directory)
WEBSITE=bdebyl.net
# Look up CloudFront distribution ID based on website alias
DISTRIBUTION_ID=$(shell aws cloudfront list-distributions \
--query 'DistributionList.Items[].{id:Id,a:Aliases.Items}[?contains(a,`$(WEBSITE)`)].id' \
--output text)
default: run
build:
hugo
run:
hugo server
clean:
@# Clean up existing generated site
rm -rf public/
deploy: clean build
@# Upload files to S3
aws s3 sync --acl "public-read" --sse "AES256" public/ s3://$(WEBSITE)
cache:
@# Invalidate caches
aws cloudfront create-invalidation --distribution-id $(DISTRIBUTION_ID) --paths '/*'
.PHONY: build run deploy

View File

@@ -1,196 +1,168 @@
# Tranquilpeak baseURL = "http://bdebyl.net/"
baseURL = "https://bdebyl.net/" languageCode = "en"
languageCode = "en-us" defaultContentLanguage = "en"
defaultContentLanguage = "en-us" title = "A random assortment of my personal projects."
title = "bdebyl" preserveTaxonomyNames = true
theme = "hugo-tranquilpeak-theme" enableRobotsTXT = true
# disqusShortname = "basdb-site" enableEmoji = false
# googleAnalytics = "UA-123-45" theme = "even"
paginate = 7 # Syntax highlighting by Chroma. NOTE: Don't enable `highlightInClient` and `chroma` at the same time!
canonifyurls = true pygmentsOptions = "linenos=table"
pygmentsCodefences = true
pygmentsUseClasses = true
pygmentsCodefencesGuessSyntax = true
hasCJKLanguage = true # has chinese/japanese/korean ?
paginate = 5
disqusShortname = "" # disqus_shortname
googleAnalytics = "" # UA-XXXXXXXX-X
copyright = "" # default: author.name
[permalinks] [author] # essential
post = "/:year/:month/:slug/" name = "Bastian D."
[taxonomies] [sitemap] # essential
tag = "tags" changefreq = "weekly"
category = "categories" priority = 0.5
archive = "archives" filename = "sitemap.xml"
[author] [[menu.main]] # config your menu
name = "Bastian de Byl"
bio = "This site serves both as my portfolio and collections of personal projects."
job = "Software Engineer"
location = "New England"
# Your profile picture
gravatarEmail = "bastiandebyl@gmail.com"
# picture = "https://cdn1.iconfinder.com/data/icons/ninja-things-1/1772/ninja-simple-512.png"
# Menu Configuration
[[menu.main]]
weight = 1
identifier = "home"
name = "Home" name = "Home"
pre = "<i class=\"sidebar-button-icon fa fa-lg fa-home\"></i>" weight = 10
identifier = "home"
url = "/" url = "/"
[[menu.main]] [[menu.main]]
weight = 2
identifier = "categories"
name = "Categories"
pre = "<i class=\"sidebar-button-icon fa fa-lg fa-bookmark\"></i>"
url = "/categories"
[[menu.main]]
weight = 3
identifier = "tags"
name = "Tags"
pre = "<i class=\"sidebar-button-icon fa fa-lg fa-tags\"></i>"
url = "/tags"
[[menu.main]]
weight = 4
identifier = "archives"
name = "Archives" name = "Archives"
pre = "<i class=\"sidebar-button-icon fa fa-lg fa-archive\"></i>" weight = 20
url = "/archives" identifier = "archives"
url = "/post/"
[[menu.main]] [[menu.main]]
weight = 5 name = "Tags"
identifier = "about" weight = 30
name = "About" identifier = "tags"
pre = "<i class=\"sidebar-button-icon fa fa-lg fa-question\"></i>" url = "/tags/"
url = "/#about" [[menu.main]]
name = "Categories"
[[menu.links]] weight = 40
weight = 1 identifier = "categories"
identifier = "github" url = "/categories/"
name = "GitHub"
pre = "<i class=\"sidebar-button-icon fa fa-lg fa-github\"></i>"
url = "https://github.com/bdebyl"
# [[menu.links]]
# weight = 2
# identifier = "stackoverflow"
# name = "Stack Overflow"
# pre = "<i class=\"sidebar-button-icon fa fa-lg fa-stack-overflow\"></i>"
# url = "https://stackoverflow.com/users/636472/kakawait"
# [[menu.misc]]
# weight = 1
# identifier = "rss"
# name = "RSS"
# pre = "<i class=\"sidebar-button-icon fa fa-lg fa-rss\"></i>"
# url = "/index.xml"
[params] [params]
# Customize date format use to render blog post date, categories and other version = "4.x" # Used to give a friendly message when you have an incompatible update
# You must use date format used by Go Time package https://golang.org/pkg/time/ debug = false # If true, load `eruda.min.js`. See https://github.com/liriliri/eruda
# Months (not work with short month like "jan", "feb", etc) are translated if translation exists on i18n folders
# Default format is: January 2, 2006
dateFormat = "2 January 2006"
# Global keywords configuration. Following keywords will be add to every pages since = "2017" # Site creation time
# keywords = ["development", "next-gen"]
# Syntax highlighter, possible choice between: "highlight.js" (recommanded) and "prism.js" (experimental) # site info (optional)
# You can comment it to disable syntax highlighting logoTitle = "bdebyl" # default: the title value
syntaxHighlighter = "highlight.js" keywords = ["bastian", "de byl","bdebyl"]
description = "A random assortment of my personal projects."
# Hide sidebar on all article page to let article take full width to improve reading, and enjoy wide images and cover images. (true: enable, false: disable) # paginate of archives, tags and categories
clearReading = true archivePaginate = 5
# Define categories will create hierarchy between parents: `categories = ["foo", "bar"]` will consider "bar" a sub-category of "foo". # show 'xx Posts In Total' in archive page ?
# If false it will flat categories. showArchiveCount = false
hierarchicalCategories = true
description = "bdebyl.net" # The date format to use; for a list of valid formats, see https://gohugo.io/functions/format/
dateFormatToUse = "2006-01-02"
# Customization # show word count and read time ?
# Define the behavior of the sidebar moreMeta = false
# 1: Display extra large sidebar on extra large screen, large sidebar on large screen,
# medium sidebar on medium screen and header bar on small screen and
# extra large sidebar is swiped on extra large screen and large sidebar on all lower screen (default)
# 2: Display large sidebar on large screen, medium sidebar on medium screen and
# header bar on small screen and large sidebar is swiped
# 3: Display medium sidebar on large and medium screen and header bar on small screen and
# medium sidebar is swiped
# 4: Display header bar on all screens, extra large sidebar is swiped on extra large screen and
# large sidebar is swiped on all lower screens
# 5: Display header bar on all screens and large sidebar is swiped on large screen
# 6: Display header bar on all screens and medium sidebar is swiped
sidebarBehavior = 1
# Your blog cover picture. I STRONGLY recommend you to use a CDN to speed up loading of pages. # Syntax highlighting by highlight.js
# There is many free CDN like Cloudinary or you can also use indirectly highlightInClient = false
# by using services like Google Photos.
# Current image is on AWS S3 and delivered by AWS CloudFront.
# Otherwise put your image in folder `static/_images/` (development) or in `source/assets/images/` if you can't or don't want to build the theme,
# and use relative url : `your-image.png`
coverImage = "https://bdebyl.net/img/cover.png"
# Display an image gallery at the end of a post which have photos variables (false: disabled, true: enabled) # Some global options, you can also close or open something in front matter for a single post, see more information from `archetypes/default.md`.
imageGallery = true toc = true
autoCollapseToc = false # Auto expand and collapse toc
fancybox = true # see https://github.com/fancyapps/fancybox
# Display thumbnail image of each post on index pages (false: disabled, true: enabled) # mathjax
thumbnailImage = true mathjax = false # see https://www.mathjax.org/
# Display thumbnail image at the right of title in index pages (`right`, `left` or `bottom`) mathjaxEnableSingleDollar = false
# Set this value to `right` if you have old posts to keep the old style on them mathjaxEnableAutoNumber = false
# and define `thumbnailImagePosition` on a post to overwrite this setting mathjaxUseLocalFiles = false # You should install mathjax in `yout-site/static/lib/mathjax`
thumbnailImagePosition = "bottom"
# Automatically select the cover image or the first photo from the gallery of a post if there is no thumbnail image as the thumbnail image
# Set this value to `true` if you have old posts that use the cover image or the first photo as the thumbnail image
# and set `autoThumbnailImage` to `false` on a post to overwrite this setting
autoThumbnailImage = true
# Your favicon path, default is "/favicon.png" postMetaInFooter = true # contain author, lastMod, markdown link, license
# favicon = "/favicon.png" linkToMarkDown = false # Only effective when hugo will output .md files.
contentCopyright = '' # e.g. '<a rel="license noopener" href="https://creativecommons.org/licenses/by-nc-nd/4.0/" target="_blank">CC BY-NC-ND 4.0</a>'
# Header configuration changyanAppid = "" # Changyan app id
# The link at the right of the header is customizable changyanAppkey = "" # Changyan app key
# You can add a link (as an icon) at the right of the header instead of the author's gravatar image or author's picture.
# By default, author's gravatar or author's picture is displayed.
# url: /#search
# icon: search
# class: st-search-show-outputs
# Custom CSS. Put here your custom CSS files. They are loaded after the theme CSS; livereUID = "" # LiveRe UID
# they have to be referred from static root. Example
# [[params.customCSS]]
# href = "css/mystyle.css"
# Custom JS. Put here your custom JS files. They are loaded after the theme JS; baiduPush = false # baidu push
# they have to be referred from static root. Example baiduAnalytics = "" # Baidu Analytics
# [[params.customJS]] baiduVerification = "" # Baidu Verification
# src = "js/myscript.js" googleVerification = "" # Google Verification
# Display `Next` on left side of the pagination, and `Prev` on right side one. # Link custom CSS and JS assets
# If you set this value to `true`, these positions swap. # (relative to /static/css and /static/js respectively)
# swapPaginator = true customCSS = []
customJS = []
# Sharing options # Display a message at the beginning of an article to warn the readers that it's content may be outdated.
# Comment and uncomment to enable or disable sharing options [params.outdatedInfoWarning]
# If you wanna add a sharing option, read user documentation : enable = false
# Tranquilpeak configuration > Theme configuration > sharing-options hint = 30 # Display hint if the last modified time is more than these days ago.
[[params.sharingOptions]] warn = 180 # Display warning if the last modified time is more than these days ago.
name = "Facebook"
icon = "fa-facebook-official"
url = "https://www.facebook.com/sharer/sharer.php?u=%s"
[[params.sharingOptions]] [params.gitment] # Gitment is a comment system based on GitHub issues. see https://github.com/imsun/gitment
name = "Twitter" owner = "" # Your GitHub ID
icon = "fa-twitter" repo = "" # The repo to store comments
url = "https://twitter.com/intent/tweet?text=%s" clientId = "" # Your client ID
clientSecret = "" # Your client secret
[[params.sharingOptions]] [params.gitalk] # Gitalk is a comment system based on GitHub issues. see https://github.com/gitalk/gitalk
name = "Google+" owner = "" # Your GitHub ID
icon = "fa-google-plus" repo = "" # The repo to store comments
url = "https://plus.google.com/share?url=%s" clientId = "" # Your client ID
clientSecret = "" # Your client secret
# [params.header.rightLink] [params.flowchartDiagrams]# see https://blog.olowolo.com/example-site/post/js-flowchart-diagrams/
# class = "" enable = false
# icon = "" options = ""
# url = "/#about"
# Customize link of author avatar in sidebar [params.sequenceDiagrams] # see https://blog.olowolo.com/example-site/post/js-sequence-diagrams/
# [params.sidebar.profile] enable = false
# url = "/#about" options = "" # default: "{theme: 'simple'}"
# Customize copyright value "© 2017 <CUSTOMIZATION>. All Rights Reserved" [params.busuanzi] # count web traffic by busuanzi
# [params.footer] enable = false
# copyright = "<a href=\"https://github.com/kakawait\">kakawait</a>" siteUV = false
sitePV = false
pagePV = false
[params.reward]
enable = false
[params.social]
a-email = "mailto:bastiandebyl@gmail.com"
g-github = "https://github.com/bdebyl"
m-instagram = "https://instagram.com/bastian.remi"
n-gitlab = "https://gitlab.com/bdebyl"
# See https://gohugo.io/about/hugo-and-gdpr/
[privacy]
[privacy.googleAnalytics]
anonymizeIP = true # 12.214.31.144 -> 12.214.31.0
[privacy.youtube]
privacyEnhanced = true
# Uncomment these options to make hugo output .md files.
#[mediaTypes]
# [mediaTypes."text/plain"]
# suffixes = ["md"]
#
#[outputFormats.MarkDown]
# mediaType = "text/plain"
# isPlainText = true
# isHTML = false
#
#[outputs]
# home = ["HTML", "RSS"]
# page = ["HTML", "MarkDown"]
# section = ["HTML", "RSS"]
# taxonomy = ["HTML", "RSS"]
# taxonomyTerm = ["HTML"]

141
content/post/archinstall.md Normal file
View File

@@ -0,0 +1,141 @@
---
title: "Installing ArchLinux with Full Disk Encryption (LUKS)"
date: 2018-12-19T22:35:11-05:00
categories: ["Tutorial"]
tags: ["linux"]
---
This is a guide written on how to install Arch Linux using LUKS for disk encryption, and Systemd-boot as the bootloader.
<!--more-->
It is assumed that the reader has basic linux knowledge and understands that examples are given via output commands.
The reader may always consult manpages, the [Arch Wiki](https://wiki.archlinux.org/), or other documentation to build a better understanding of the tools and methods used.
---
# Partitioning
1. Create a partition scheme using partitioner of choice (e.g. `gdisk`, `fdisk`, `cgdisk`).
- First partition should be EFI/boot partition at around 256MB+ (type: `ef00`)
- Second partition should be Linux LVM partition using rest of disk space (type: `8e00`)
1. Make the the EFI/boot partition FAT32 via `mkfs.fat -F32`
# Encryption
1. Format the Linux LVM partition:
```
# cryptsetup luksFormat /dev/sdaN
Enter passphrase:
```
**Note:** _Remember your passphrase! You will need this every time you boot your computer_
1. Create a mapping for your Linux LVM (LUKS):
```
# cryptsetup open --type luks /dev/sdaN <map_name>
```
_Use whatever name you want. Ex. `lvm`, `volume`, etc._
1. Create the physical volume, volume group, and logical volumes for `<map_name>` specified in the previous step:
```
# pvcreate /dev/mapper/<map_name>
# vgcreate <volume_name> /dev/mapper/<map_name>
```
_Use whatever volume name you want. Ex. `volume`, `main`, `linux`, etc._
```
# lvcreate -L2G <volume_name> -n swap
```
_Select size for swap, if desired. Here we use `2G` for 2Gb._
```
# lvcreate -L16G <volume_name> -n root
# lvcreate -l 100%FREE <volume_name> -n home
```
1. Specify and write the desired filesystems:
```
# mkfs.ext4 /dev/mapper/<volume_name>-root
# mkfs.ext4 /dev/mapper/<volume_name>-home
# mkswap /dev/mapper/<volume_name>-swap
```
# Install Linux
1. Mount the boot partition and logical volumes for installation:
```
# mount /dev/mapper/<volume_name>-root /mnt
# mkdir /mnt/home
# mkdir /mnt/boot
# mount /dev/mapper/<volume_name>-home /mnt/home
# mount /dev/sdaN /mnt/boot
# swapon /dev/mapper/<volume_name>-swap
```
1. Install the base system (_Assuming you have internet connectivity. Use `wifi-menu`, or other, to connect to the internet at this point._):
```
# pacstrap /mnt base base-devel
```
# Set-up Linux Installation
1. Generate the `fstab`:
```
# genfstab -p /mnt >> /mnt/etc/fstab
```
1. Move into the installation:
```
# arch-chroot /mnt
```
1. Configure `initramfs`:
1. Edit `HOOKS` in `/etc/mkinitcpio.conf` using text editor of your choice (e.g. `vi`, `nano`, etc.). Move the `keyboard` hook before `filesystems`, and add `encrypt` and `lvm2` hooks **before** `filesystems`:
```
# egrep '^HOOKS' /etc/mkinitcpio.conf
HOOKS=(base udev autodetect modconf block keyboard encrypt lvm2 filesystems fsck)
```
_Read the comment documentation on `HOOKS` in the document to find out more._
1. Generate `initramfs`:
```
# mkinitcpio -p linux
```
1. Install a bootloader (e.g. `systemd-boot`, `grub`, `syslinux`, etc.):
1. I will be using `systemd-boot`
```
# bootctl --path=/boot/ install
```
1. Edit the loader configuration using a text editor of your choice:
```
# cat /boot/loader/loader.conf
default arch
timeout 3
editor 0
```
1. Create the loader entry for the default `arch` entry specified above (_You can edit this name if desired._). Use `blkid /dev/sdaN` to find the UUID of your crypt device, and recall the volume name you gave your device above (_`main` in example below_):
```
# cat /boot/loader/entries/arch.conf
title Arch Linux
linux /vmlinuz-linux.img
initrd /initramfs-linux.img
options cryptdevice=UUID=9f1fc119-b1dc-49d8-9a5a-686ad9e2fd2e:volume root=/dev/mapper/main-root quiet rw
```
1. Create a root password using `passwd`.
1. Set a hostname:
```
# echo "<your_hostname>" > /etc/hostname
```
1. Set up the time:
```
# ln -fs /usr/share/zoneinfo/<continent>/<city/place> /etc/localtime
# hwclock --systohc --utc
```
1. Set the locale to `en_US`:
```
# sed -i 's/^\#en_US/en_US/' /etc/locale.gen
# locale-gen
# locale > /etc/locale.conf
```
1. Done!
```
# exit
# unmount -R /mnt
# reboot
```

View File

@@ -3,9 +3,6 @@ title: "Make Your Ears Bern"
date: 2018-01-11T04:26:57+01:00 date: 2018-01-11T04:26:57+01:00
categories: ["Blog"] categories: ["Blog"]
tags: ["electronics"] tags: ["electronics"]
thumbnailImagePosition: top
thumbnailImage: "/img/headphone-fix/thumbnail.jpg"
coverImage: "/img/headphone-fix/IMG_7518.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_ A colleague offered a pair of Bern Bluetooth drop-in headphones to me fore free, with the catch being: _I had to fix them_
@@ -17,7 +14,7 @@ A colleague offered a pair of Bern Bluetooth drop-in headphones to me fore free,
Past mistakes have taught me to be gentle and patient when it comes to taking things apart. This was no exception either. After looking over the unit on each side, I figured the only way *in* was lifting the mesh cover off. So I went at it, carefully, with a pair of tweezers. I worked my way around the edge and wedged the mesh upwards. Past mistakes have taught me to be gentle and patient when it comes to taking things apart. This was no exception either. After looking over the unit on each side, I figured the only way *in* was lifting the mesh cover off. So I went at it, carefully, with a pair of tweezers. I worked my way around the edge and wedged the mesh upwards.
{{< image classes="fancybox clear center nocaption" src="/img/headphone-fix/IMG_7505.jpg" >}} ![Zoom, Zoom, Zoom!](/img/headphone-fix/IMG_7505.jpg)
# Okay, Maybe Turn It On # Okay, Maybe Turn It On
@@ -27,8 +24,11 @@ Now that the problematic speaker side was successfully opened without any damage
I played a song via smartphone on the speakers. The result was as expected: _the right speaker put out no sound._ I checked the known-good left speaker using my **Rigol 1074Z** oscilloscope. This may not have been entirely necessary, but I wanted to find out what to expect when troubleshooting the right channel. I played a song via smartphone on the speakers. The result was as expected: _the right speaker put out no sound._ I checked the known-good left speaker using my **Rigol 1074Z** oscilloscope. This may not have been entirely necessary, but I wanted to find out what to expect when troubleshooting the right channel.
{{< image classes="fancybox fig-50" group="turniton" src="/img/headphone-fix/IMG_7506.jpg" title="Left Speaker" >}} ### Left Speaker
{{< image classes="fancybox clear fig-50 right" group="turniton" src="/img/headphone-fix/IMG_7511.jpg" title="Right Speaker">}} ![Left Speaker](/img/headphone-fix/IMG_7506.jpg)
### Right Speaker
![Right Speaker](/img/headphone-fix/IMG_7511.jpg)
Knowing what to expect on the oscilloscope, I hooked up the probe to the right, problematic, speaker. The result was much different, indicating either noise or an open circuit. It may be worth mentioning that the right speaker was disconnected at this point in time to ease the troubleshooting process. Knowing what to expect on the oscilloscope, I hooked up the probe to the right, problematic, speaker. The result was much different, indicating either noise or an open circuit. It may be worth mentioning that the right speaker was disconnected at this point in time to ease the troubleshooting process.
@@ -38,15 +38,15 @@ Knowing what to expect on the oscilloscope, I hooked up the probe to the right,
Lucky for me the PCB pads were labeled -- even better `SPKL+` (_left_) and `SPKR+` (_right_) were easy to find. Lucky for me the PCB pads were labeled -- even better `SPKL+` (_left_) and `SPKR+` (_right_) were easy to find.
{{< image classes="fancybox clear center" src="/img/headphone-fix/IMG_7507.jpg" >}} ![](/img/headphone-fix/IMG_7507.jpg)
Outside of the bluetooth board hidden under the piece of tape, there's not a whole lot going on in the circuit. It was my guess that the visible surface mount QFN chip was most likely the op-amp used for the speakers. A quick Google 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. Outside of the bluetooth board hidden under the piece of tape, there's not a whole lot going on in the circuit. It was my guess that the visible surface mount QFN chip was most likely the op-amp used for the speakers. A quick Google 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.
{{< image classes="clear center" src="/img/headphone-fix/TPA6132A2.png" title="TPA6132A2 QFN Pinout" >}} <center![TPA6132A2 QFN Pinout](/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 known-bad speaker traces back to the `OUTL` and `OUTR` outputs of the amplifier. **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 known-bad speaker traces back to the `OUTL` and `OUTR` outputs of the amplifier.
{{< image classes="fancybox clear center" src="/img/headphone-fix/IMG_7514.jpg" >}} ![](/img/headphone-fix/IMG_7514.jpg)
Removing the board from the housing required a bit of finesse. I didn't want to bother desoldering the left speaker connections to make removal easier. So, with a bit of gentle back and forth I was able to get it the PCB out and inspect traces on the bottom side. Removing the board from the housing required a bit of finesse. I didn't want to bother desoldering the left speaker connections to make removal easier. So, with a bit of gentle back and forth I was able to get it the PCB out and inspect traces on the bottom side.
@@ -60,7 +60,7 @@ After a few minutes of scratching my head and repeatedly going over the datashee
Using the 3.5mm mini-jack's solder pads, I found continuity to be true from the chips left and right outputs to the conveniently accessible solder pads. _A bodge wire was in order_.. Using the 3.5mm mini-jack's solder pads, I found continuity to be true from the chips left and right outputs to the conveniently accessible solder pads. _A bodge wire was in order_..
{{< image classes="fancybox clear center" src="/img/headphone-fix/IMG_7515.jpg" >}} !(/img/headphone-fix/IMG_7515.jpg)
# All's Well That Ends Well # All's Well That Ends Well
@@ -68,6 +68,6 @@ Using the 3.5mm mini-jack's solder pads, I found continuity to be true from the
Again, using my trusty Fluke 115, I verified continuity from the chip's `OUTR` pin to `SPKR+`. Lo and behold it was now closed-circuit! I was very happy to see the expected waveform from the known-good left channel now also appearing on the right channel. Again, using my trusty Fluke 115, I verified continuity from the chip's `OUTR` pin to `SPKR+`. Lo and behold it was now closed-circuit! I was very happy to see the expected waveform from the known-good left channel now also appearing on the right channel.
{{< image classes="fancybox clear center" src="/img/headphone-fix/IMG_7516.jpg" >}} ![](/img/headphone-fix/IMG_7516.jpg)
At this point I quickly re-soldered the wires to the speaker and enjoyed music now coming into both ears! At this point I quickly re-soldered the wires to the speaker and enjoyed music now coming into both ears!

View File

@@ -3,8 +3,6 @@ title: "Humble Beginnings"
date: 2017-12-21T01:42:57-05:00 date: 2017-12-21T01:42:57-05:00
categories: ["Blog"] categories: ["Blog"]
tags: ["code"] tags: ["code"]
thumbnailImagePosition: top
thumbnailImage: "/img/humble-beginnings/main.png"
--- ---
After running into too many road blocks I've decided to go with the [**Tranquilpeak**](https://github.com/kakawait/hugo-tranquilpeak-theme) theme for this site. Before this, I was really looking forward to using the [**Tracks**](https://github.com/ageekymonk/hugo-tracks-theme) theme (ported from WordPress) After running into too many road blocks I've decided to go with the [**Tranquilpeak**](https://github.com/kakawait/hugo-tranquilpeak-theme) theme for this site. Before this, I was really looking forward to using the [**Tracks**](https://github.com/ageekymonk/hugo-tracks-theme) theme (ported from WordPress)
<!--more--> <!--more-->
@@ -17,12 +15,12 @@ If you want a general overview, feel free to check out the relevant [commit](htt
Right off the bat I noticed the navigation bar seemed a bit off, to say the least: Right off the bat I noticed the navigation bar seemed a bit off, to say the least:
{{< image classes="center" src="/img/humble-beginnings/header-problem.png" title="Navbar Issue" >}} <center>![Navbar Issue](/img/humble-beginnings/header-problem.png)</center>
The links showed as numbers and pointed to `/0`, `/1`, and `/2` respectively. These, of course, lead to 404s. The links showed as numbers and pointed to `/0`, `/1`, and `/2` respectively. These, of course, lead to 404s.
{{< image classes="center" src="/img/humble-beginnings/404.png" title="404 Page - Should probably make this look a bit better, eventually..">}} <center>![404 Page](/img/humble-beginnings/404.png)</center>
This didn't seem like the intended behavior, so I kept digging. Eventually, I found out the problem lied in the usage of the `.Site.Sections` variable used in a loop to populare items in the page header. This didn't seem like the intended behavior, so I kept digging. Eventually, I found out the problem lied in the usage of the `.Site.Sections` variable used in a loop to populare items in the page header.
@@ -55,7 +53,7 @@ Looking at other template files in the theme's layout, I stumbled on a chunk of
The original uses the `.Site.Sections` variable, which I replaced with `.Site.Params.navlinks`. **This** seemed like intended behavior as the user-defined `config.toml` nav links weren't ever utilized or populated anywhere on the site. The original uses the `.Site.Sections` variable, which I replaced with `.Site.Params.navlinks`. **This** seemed like intended behavior as the user-defined `config.toml` nav links weren't ever utilized or populated anywhere on the site.
{{< image classes="center clear" src="/img/humble-beginnings/tracks-config.png" title="Nav Links from Tracks Theme config">}} <center>![Nav Links from Tracks Theme config](/img/humble-beginnings/tracks-config.png)</center>
I borrowed the code found in `layouts/partials/sidebar.html` (*which also never appears to be used*) to include the nav links and get my desired behavior: I borrowed the code found in `layouts/partials/sidebar.html` (*which also never appears to be used*) to include the nav links and get my desired behavior: