- Updates to the UART and RS-232 communication protocol pages.
- New Cross Product page under Mathematics->Geometry.
- Updated the Fixed Point Mathematics page with more information of multiplication, division and modulo.
- NinjaCalc got a new ‘Two Coordinate Geodesics’ calculator. This has it’s own post here.
- Added information on “unused parameter” compiler warnings to the Qt page.
NinjaCalc has a new calculator, a “Two Coordinate Geodesics” calculator that can help you analyse properties of two coordinates/points on the earths surface (defined by latitude/longitude).
Given two points in latitude/longitude form (both degrees and radians supported), the calculator can give you the great circle (shortest) distance between the two points, and the initial/final bearings. This calculator can also find an intermediate coordinate/point between the two coordinates, given a fractional amount (such as 0.5). All of these properties are calculated using the Haversine formula.
All these properties are shown on a interactive model of the earth in 3D (the sphere can be rotated).
This calculator can be found in the NinjaCalc web app at http://ninja-calc.mbedded.ninja/.
- Updated the C Data Types page with information on software-based floating point arithmetic.
- New apt page under Programming->Operating Systems->Linux->Programs.
- New Anaconda page under Programming->Languages->Python.
- Updated the C++ Exceptions page with information on the noexcept keyword introduced in C++11.
Happy new year for 2018!
Here are some statistics for 2017:
|Num. views||111k (down 40% from last year)|
|Visitors||64k (down 35% from last year)|
|Num. Of New Pages||90 (up 30% from last year)|
Most Popular Pages:
|Altium Tricks And Standards||12.8k|
|Altium Bugs And Things To Watch Out For||7.0k|
|A Function Pointer Based State Machine||2.8k|
Most Popular Referrers:
And here are the visitors in 2017 by country:
I think the biggest reason for the drop in visits (down 40%) in 2017 was due to the moving of www.mbedded.ninja to blog.mbedded.ninja. Even though www.mbedded.ninja was then setup to redirect to the new URL (you can click the above links if you don’t believe me!), a significant drop in traffic was seen from this point onwards (I’m not that savvy on the details of SEO, but I guess it hurt the site’s reputation). You can see the drop in the image below:
The total number of visits (ever) is now at 730k. Bring on 1 million!
Some things I would like the improve on the blog in 2018:
- Move more and more images away from using image plugins, and instead use the default media handler.
- Add more child page sections to pages, and make sure each child page has both an image and a intelligible description.
- Boost visitor count back up to it’s former levels (or better!) by improving content and SEO.
- Fully retire the use of the QuickLatex plugin, using MathJax-Latex plugin for latex rendering instead.
- Added info on the SGP4 DateTime object to the C++ Clocks And Timing page.
- New Auto (Specifier) page under Programming->Languages->C++.
- New Streams page under Programming->Languages->C++.
- New Affine Transformations page under Mathematics.
- New Projective Transformations page under Mathematics.
- New GCC Profiling page under Programming->Compilers->GCC.
- New Premade Recipes page under Programming->Embedded Linux->Yocto.
- Updated the Python SWIG Bindings From C++ page with a tutorial on how to pass (and call) callbacks from Python code to C++ code, and information on custom typemaps and typechecks (with working code examples).
- New BlogAssets repository and a central place to store all code examples/diagram source files for this website.
- New Visual Studio Code page under Programming->Integrated Development Environments (IDEs).
- Fixed many of the broken links (approx. 60) on this blog, via the help of the great WordPress plugin Broken Link Checker.
- Added new Git Subtrees page under Programming->Version Control Systems->Git.
- Created a new repo called CppTemplate (on GitHub), with the purpose being for it to provide a way to quick start development on a new C++ project.
- New GCC Code Coverage page under Programming->Compilers->GCC.
- New GCC Bugs page under Programming->Compilers->GCC.
- Updates to the C++ Threading page with info on how set the priorities of a std::thread on different operating systems.
- Updates to the C++ Virtual Methods page.
- New Concurrency Patterns page under Programming->Design Patterns.
- New Memory Barriers page under Programming->Design Patterns.
- New Coordinate Conversion page under Space.
- Updates to the Assembly page.
- New Perlin Noise page under Mathematics.
- New Python SWIG Bindings Froms C/C++ page under Programming->Languages->Python.
- New LVDS (Low-Voltage Differential Signalling) page under Electronics->Communication Protocols.
- New Monitor Linux Process Memory Usage Using C/C++ page under Programming->Operating Systems->Linux.
- Added a “Posted” and “Last modified” metric to every post/page. This should help readers determine the age and relevance of the information on a particular page.
- Added the lightbox effect to all single images on posts/pages.
- New Magic Statics page under Programming->Programming Languages->C++.
- New Communication Protocol Theory page under Electronics->Communication Protocols.
- New Algorithms And Data Structures page under Programming.
- New Time Complexity page under Programming->Algorithms And Data Structures.
- Updates to the CAN Protocol page.
- New High-Level Data Link Control page under Electronics->Communication Protocols.
- New Using SocketCAN With The Command-Line In Linux page under Programming->Operating Systems->Linux.
- Updated the Altium Keyboard Shortcuts page with fixes for out-of-date shortcuts and a few additional new shortcuts (many thanks to Justin Massiot for providing info).