# Happy New Year 2021

2020 may be the year we all want to forget. The silver lining is that the lockdown period gave me some extra time to work on extra content and improvements for this blog.

## Statistics for 2020

This is the third year in a row in which I have used Google Analytics for statistics.

### Content

This year, I thought it would be interesting to also include the total number of content pages on the blog, as well as the number of lines, words and characters in these pages, as counted on Jan 1st of the given year. I am only counting human created “pages” and “posts” in this tally, and not the automatically generated large number of “tag” and “category” pages. To find the last commit made in a given calender year I used the git command:

git rev-list -1 --before="Jan 01 2020" master


This spits out the hash of the desired commit. After checking out that commit I wrote a small Python script for tallying the number of _index.md files in the content directory of this blog, as well as counting the number of lines, words and characters within these files.

YearNum. Content FilesNum. LinesNum. WordsNum. Chars
201992571.4k380k2.26M
2020100574.8k424k2.51M
2021108980.9k470k2.80M

For a given year, all data is counted at the beginning of that year (i.e. the 1st of Jan at 00:00:00). I hope to increase the word per page ratio for the 2021 year, as I’ve come to realize that I’ve been splitting content across too many sub-pages, which both makes user navigation harder and hurts search rankings. This data unfortunately only goes as far back as I’ve used git to manage to blog…before 2019 the blog was managed by Wordpress running on a server.

### Usage Analytics Summary

YearNum. Page ViewsNum. Users
201783k41k
2018116k63k
201999k49k
2020134k97k

As per standard Google nomenclature, 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.

The top 6 pages, ranked by number of page views:

Again, we see the Linux-related serial port and CAN bus pages that shifted to top position in 2019 remain there for 2020.

## Goal Completion

Looking back at the Happy New Year 2020 page the goals were rather light, in fact, only the one! It would of looked really bad if I hadn’t completed this!

• Integrate more of the calculators at calc.mbedded.ninja into the pages of this blog (blog.mbedded.ninja). DONE: The SEO of the Vue-based SPA was not great. I ended up porting NinjaCalc to Next.js this year, in part because of easier server-side rendering. Many of the calculator pages of NinjaCalc have been integrated into relevant pages on this blog.

## Plans For This Year

• More content! (this is never not a goal)
• More diagrams: I’m beginning to think that some of the content on this blog is getting too text heavy, and there are not enough images. I hope to pad out text with more images this year, using LibreOffice Draw for diagrams, screenshots from KiCAD for schematics, and photos for examples.
• Decrease the number of sub-pages, and increase the num. of words per page of content: As mentioned above, I believe in the past I have split content between too many hierarchical subpages, which both makes the contents harder to read/fine, as well as hurting search engine rankings.

• Fleshed out the Linux Serial Ports Using C/C++ page with more info on custom baud rates.

• Resolved Netlify build error which started with commit 377ec8:

5:07:04 PM: ┌─────────────────────────────────────────────────────┐
5:07:04 PM: │ Plugin "@netlify/plugin-deploy-core" internal error │
5:07:04 PM: └─────────────────────────────────────────────────────┘
5:07:04 PM: ​
5:07:04 PM:   Error message
5:07:04 PM:   Invalid response from buildbot: Error: The TCP connection with the buildbot timed out after 60000ms


Then commit 377ec8 started working (the build took 1m 30s). But we got the error message with commit 58fcb9:

9:25:17 PM: ┌────────────────────────────────────┐
9:25:17 PM: │ 1. build.command from netlify.toml │
9:25:17 PM: └────────────────────────────────────┘
9:25:17 PM: ​
9:25:17 PM: \$ hugo --minify
9:26:18 PM: Building sites … Total in 61644 ms
9:26:18 PM: Error: Error building site: "/opt/build/repo/content/electronics/projects/columbus-radio/index.md:1:1": timed out initializing value. You may have a circular loop in a shortcode, or your site may have resources that take longer to build than the timeout limit in your Hugo config file.


I then tried Netlify options to rebuild the HEAD of the master branch without cache, and the build worked!

• Added a page on the SOT-583 component package.

• Added a page on the SOT-883 component package.