January 2020 Updates
Added the Happy New Year 2020 page, which compiles interesting blog statistics for the 2019 year.
Renamed all leaf nodes filenames from
index.md, as using the former led to the tag pages not being created.
Information on handling warnings has been added to the Numpy page.
Updated the TSOC-6 Component Package page with more clarification on the differences between the different variants (D6+1, D6-1, D6N+1 and D6N-1).
Added a new QFP Component Package page, which will consolidate all of the variant information (e.g. TQFP) that existed on individual pages.
Updated many component package pages, including:
And also added the following packages to the component package database:
Switched the site title and content title around in the HTML page title, such that it is now:
<page title> | mbedded.nina
This makes it easier to determine what the page is when you have a lot of tabs open on a tab-based browser such as Chrome or Edge.
Added cached external content to the How To Calculate Maximum Track Current page.
Added more specific information about dynamic memory allocation on embedded systems to the Dynamic Memory Allocation page.
Happy New Year 2020
A big happy new year to you from Geoff here at blog.mbedded.ninja. Looking back at this blog in 2019, below are some interesting statistics from the 2019 year.
Statistics for 2019
This is the second year in a row in which I have used Google Analytics for statistics.
|Year||No. Page Views||No. Users|
A page view is a single view of a page (which can be a returning or new user). A user is a unique person who has visited this website at least once.
Most Popular Pages
Ranked by number of page views:
Compared to the top 10 pages of 2018:
For the first time ever, we see Linux-related pages take over the top positions that were held by Altium-related pages for at least the last 5 years. There were no hugely different page categories that entered the top 10 list this year.
Most Popular Referrers
Looking back at the goals set at the start of 2019, most of them were fully completed!
- DONE: Utilize Hugo to it's fullest capabilities. Although the migration from Wordpress to Hugo is complete, I feel like I have not yet explored all of the possibilities that Hugo allows. This includes sitemaps, RSS feeds, automatic thumbnail creation, better shortcodes, e.t.c.
- PARTIALLY DONE: Find a way to reliably detect dead links as they occur, along with an easy way of fixing them. This was enabled for internal links everytime the site is compiled (using a Hugo shortcode), but is harder to do for external links due to the amount of time/bandwidth required to check all the links.
- DONE: Move all of the mbedded.ninja GitHub repos into my own personal account, as there is no real need for a mbedded.ninja “organization” on GitHub, at it just leads to extra work and confusion on where repos are.
- DONE: Remove all the excess images in the blog repository. As a result of the Wordpress migration, there are many copies of a single image, each at a slightly different pixel size (I'm assuming they were created as part of a page load speed optimization in Wordpress). These are un-needed as Hugo can resize images at build time to correctly fit the container on the page. These extra images are just using up repo space.
- DONE: And of course, as always, add more content!
Plans For This Year
- Integrate more of the calculators at calc.mbedded.ninja into the pages of this blog (blog.mbedded.ninja).
December 2019 Updates
A new section on Hugo timeouts added to the Hugo page.
Fixed three issues preventing me from upgrading from Hugo
v0.60.1, and then upgraded! The two issues were:
Hugo was getting stuck while building the site upon upgrade from
v0.57.0. Hugo would not report any error, but would not finish building the site even after waiting for 30mins. Memory usage would keep increasing until all system resources were consumed. I had a feeling that this may be due to infinite recursion occurring somewhere. I disabled the
menushortcode that I wrote, as that used recursion to build the menu structure, and then the Hugo build completed. After looking over the
menushortcode code and verifying that the recursion should be terminating properly, on a hunch I tried updating all the
_index.md, which allowed me to re-enabled the menu shortcode.
Hugo would timeout with the following error:
3:42:50 PM: Error: Error building site: "/opt/build/repo/content/electronics/projects/columbus-radio/index.md:1:1": timed out initializing value. This is most likely a circular loop in a shortcode
but only when building on the CICD server (Netlify). I removed this
columbus-radiopage and would fail on another specific page. While these specific pages didn't use any unique shortcodes that the other pages didn't, I did notice that these pages contained a large number of image resources.
Hugo had a default timeout of 10s per page, and pages with a large number of image resources were taking longer than this to process (the images are scaled and resampled). This was an easy fix, I just increased Hugo's timeout to 30s in
timeout = 30000
Images and other HTML elements that used shortcodes disappeared from the website. This occurred between
v0.60.0. This ended up being caused by Hugo's switch from using Blackfriday to Goldmark as the default markdown renderer, and along with that the associated increase in the default security settings to now allow inline HTML within markdown. This issue was fixed by adding the following to
[markup.goldmark.renderer] unsafe = true
Updated the Rust page with code examples showing how to use
cargo, the basics of ownership, casting in Rust, and information on IDE support.
Added a new page on Map Tile Servers.
Updated the tmux page with a walk-through on how to install tmux from source.