On.Programming

For most of us, programming (or more generally – software development) is all the life is about.

IT Hares are not different. And they have more than just quite a few bits to share about programming…

Journaled Flash Storage – Emulating EEPROM over Flash, ACID Transactions, and More. Part I – Flash vs EEPROM

September 28, 2015 by “No Bugs” Bunny

EEPROM vs Flash

Quote:

You cannot erase single byte of Flash, but need to erase the whole page

Another Quote:

First of all, we want to be sure that whatever-is-already-written to our persistent storage, stays there; this property is known as Durability.

Filed under: On.ProgrammingEmbeddedOn.HardwareMCU

Tagged With: MCUIoTFlashEEPROM
Read more

Modified Harvard Architecture: Clarifying Confusion

September 21, 2015 by “No Bugs” Bunny

von Neumann dines with Harvard

Abstract:

Definition of "Modified Harvard" architecture is confusing and overbroad. Proposed alternatives are "Almost-Harvard" and "Almost-von-Neumann

Quote:

"One thing nobody realised for a while is that the system with the least possible amount of chargebacks is the system which rejects all transactions outright

Filed under: On.ProgrammingEmbeddedOn.HardwareMCU

Tagged With: x86/x64MCUIoTCache
Read more

Multi-threading at Business-logic Level is Considered Harmful

September 7, 2015 by “No Bugs” Bunny

Last Straw: Business Logic+Multithreading

Quote:

However, the window for triviality is very narrow: for example, even going into two interrelated mutexes instead of one, can easily make multi-threading non-trivial

Another Quote:

Technically you are able to jump to any point of your program, but the variables you see may (and if you have a multi-threaded bug – will) differ every time you jump there.

Filed under: On.System ArchitectureDesign decisionsOn.ProgrammingDebugging

Read more

If they wrote it in a book, it MUST BE GOOD CODE! Or How many mistakes can fit into 100 lines of book tutorial code? Part 2

August 31, 2015 by “No Bugs” Bunny

mistakes in a book

Quote:

Throwing away 1400 bytes for no reason for every single network message is an outrageous waste

Another Quote:

Having this kind of stuff in your code is like having a time bomb: it will explode, and for any sizeable project if will usually happen sooner rather than later (unless, of course, “later” is the worst possible time for the explosion to happen)

Filed under: On.ProgrammingNetwork Programming

Read more