The book Real-time C++: Efficient Object Oriented and Template Microcontroller Programming is a great reference for exactly what you are looking for. It goes over concepts like encapsulating peripheral I/O in efficient classes, useful C++ language constructs like constexpr, and even extending the language to get for example std::chrono to work with your micros clock tick. Would recommend
>Can you give me any more to lead me down the right path? Like how I would start thinking about taking data encoded in a certain format (like JSON) and decoding it into another format?
You are so far from the point where this is the question you should have.
Questions about FPGAs you should be asking right now:
Then we can address the next set of questions. JSON means nothing to an FPGA, and human readability of the data you're sending to it has got to be the worst possible way to think about sending data to an FPGA. FPGAs and CPLDs are often used as "glue logic" to tie two interfaces together. So it's something they can do. JSON is just a very weird format to choose.
Seriously, check out this. HDLBits, Nand2Tetris. When working with FPGAs you need to realize that you're literally describing the hardware that the FPGA will implement. Like, imagine setting up a series of logic gates to decode JSON into a different format. If the scale of that problem doesn't terrify you, you need to start at the beginning.
I recently had a book come out on SystemVerilog if this might be of interest:
I'm a bit biased :) but I wrote it from 30 years experience for people new to hardware. It covers all (most?) of the gotchas that people unfamiliar with designing hardware will face.
depends on if you want to learn about blockchain or specifically crypto currency, but I think this is a good start for either.
https://www.amazon.com/Blockchain-Basics-Non-Technical-Introduction-Steps/dp/1484226038
Get to know OOP if you aren't familiar with it.
Personally I use W3schools to get going with specific languages. It's simple to follow and it teaches you the basics. But if you already know the basics of C++ then maybe Real-Time C++ or reading about design patterns can help you.
Really similar situation and the new dev recommended this book:
https://www.amazon.com/Real-Time-Efficient-Object-Oriented-Microcontroller-Programming/dp/3662478099
It’s been really rewarding to pick up C++17 (I last did C++ in 2014 to 2016) and you can wrap the C libraries in C++ and pick up a ton of nice features on the way.
I'm not sure of any other good ones. I've been doing things so long I don't typically read these types of books.
I don't have any particular recommendations for projects. If you have some example code in 'c' or similar it shouldn't be that hard to adapt to SystemVerilog once you know the basics. Feel free to PM me if you have any questions.
https://www.amazon.com/Blockchain-Basics-Non-Technical-Introduction-Steps/dp/1484226038
the best one, I think
Piano tuners. People who know how to remove facial hair by threading (a Middle Eastern method). Some would say all the professions are “dying” - see books by the father/son team from the UK (Richard Susskind): ‘The Future of the Professions: How Technology Will Transform the Work of Human Experts.’ Link: https://www.amazon.com/Future-Professions-Technology-Transform-Experts/dp/0198713398/ref=mp_s_a_1_6?crid=6DS4FNBTZ239&dchild=1&keywords=richard+susskind&qid=1633043037&sprefix=richard+suss&sr=8-6
Some say Architects,…
@radiofreetom on Twitter (author and prof at the Naval War Academy) has written a book called ‘The Death of Expertise.’
The internet is full of videos, articles and books on this subject. I will recommend you this book, the best in my opinion.
https://www.amazon.com/Blockchain-Basics-Non-Technical-Introduction-Steps/dp/1484226038
Those are good. I have some articles from a few years back on my blog: asicsolutions.com. I also wrote a book on SystemVerilog that covers some of that: https://www.amazon.com/FPGA-Programming-Beginners-electronic-SystemVerilog/dp/1789805414/ref=sr\_1\_1\_sspa?crid=29UJ63HS2UKPB&dchild=1&keywords=fpga+for+beginners&qid=1622556840&sprefix=fpga+for+%2Caps%2C174&sr=8-1-spons&p...
I recommend a book to many, with which I myself once began my journey to cryptocurrencies. It is called: Blockchain Basics: A Non-Technical Introduction in 25 Steps https://www.amazon.com/Blockchain-Basics-Non-Technical-Introduction-Steps/dp/1484226038. This is a very good book to start with, small and geared towards non-technical readers. The other answers contain a lot of useful information, but little information about what Bitcoin, blockchain, cryptocurrency, etc. are. Those resources that others have provided are for those with a minimal knowledge base.
Also, the advantage of the book is that it makes it easy to understand other concepts that previously seemed too complicated or confusing.
This is more about blockchain in general but if you want to understand how it works under the hood, it is the best and easiest book.
https://www.amazon.com/Blockchain-Basics-Non-Technical-Introduction-Steps/dp/1484226038
While the other comments have mostly answered your question, I’d like to toss in a book recommendation: Machine Learning Engineering by Andriy Burkov. It has the answer to your question, as well as to questions you didn’t know you had.
This one fits the criteria well I think.
The 100 page machine learning book.
For example, I'm itching to read this book right now :
https://www.amazon.com.au/dp/199957950X/ref=cm_sw_r_wa_apa_i_nNPkDb2ME19G3
Read some really good reviews, want to check it out now. So, where?
Obviously it's going to change. The lower level jobs will likely be automated while anything needing critical thinking skills or problem solving will be around for a while.
I've you're really worried about it consider reading this: https://www.amazon.com/Future-Professions-Technology-Transform-Experts/dp/0198713398
hey! here are a couple resources: * https://www.coursera.org/course/recsys * http://www.amazon.com/Recommender-Systems-Introduction-Dietmar-Jannach/dp/0521493366/ref=sr_1_1?s=books&ie=UTF8&qid=1396972808&sr=1-1&keywords=recommender+systems
Besides that, my recommendation (ha) is to just start building. Start it simple and see how good you can get it - it is easy to think only in terms of scaling, but if we can focus on the human-side (how people actually react to the recommendations) then we can't go wrong. (I hope!)