This is the first of a 5 part article where I will explore some different ways to tokenize keywords. This is a simple and common task that seems to crop up when you least expect it. We have all probably done some variation of the brute force approach in this first posting, but the posts that follow should prove interesting. Here is the sequence:
Part 1 : STRCMP Brute Force and the framework
Part 2 : IF-ELSE for speed
Part 3 : Automating the IF-ELSE for maintenance
Part 4 :
If you are going to be writing any code you can probably use all the help you can get, and in that line you better be aware of the "Ballmer Peak".
Legend has it that drinking alcohol impairs your ability to write code, BUT there is a curious peak somewhere in the vicinity of a 0.14 BAC where programmers attain almost super-human programming skill. The XKCD below tries to explain the finer nuances.
But seriously many studies have shown that there is some truth to this in the sense that
Exactly how long is a nanosecond?
This Lore blog is all about standing on the shoulders of giants.
Back in February 1944 IBM shipped the Harvard Mark 1 to Harvard University. It looked like this:
The Mark I was a remarkable machine at the time, it could perform addition in 1 cycle (which took roughly 0.3 seconds) and multiplication in 20 cycles or 6 seconds. Calculating sin(x) would run up to 60 seconds (1 minute).
The team that ran this Electromechanical computer had o
I recently got my hands on a brand new PIC18F47K40 Xpress board (I ordered one after we ran into the Errata bug here a couple of weeks ago).
I wanted to start off with a simple "Hello World" app which would use the built-in CDC serial port, which is great for doing printf debugging with, and interacting with the board in general since it has no LED's and no display to let me know that anything is working, but immediately I got stuck. Combing the user's guide I could not find any mention of
What every embedded programmer should know about ADC measurement, accuracy and sources of error
ADC's you encounter will typically be specified as 8, 10 or 12-bit. This is however rarely the accuracy that you should expect from your ADC. It seems counter-intuitive at first, but once you understand what goes
on under the hood this will be much clearer.
What I am going to do today is take a simple evaluation board for the PIC18F47K40 (MPLAB® Xpress PIC18F47K40 Evaluation Board ) and de