{"id":655,"date":"2013-04-17T14:07:08","date_gmt":"2013-04-17T12:07:08","guid":{"rendered":"http:\/\/lazlo.de\/?p=655"},"modified":"2013-05-03T11:04:14","modified_gmt":"2013-05-03T09:04:14","slug":"655","status":"publish","type":"post","link":"http:\/\/lazlo.de\/blog\/2013\/04\/17\/655\/","title":{"rendered":"Read &#8220;Stop Writing So Much Firmware&#8221;"},"content":{"rendered":"<p>Just read an very nice article by James Grenning\u00a0titled &#8220;<a href=\"http:\/\/www.renaissancesoftware.net\/blog\/archives\/458#more-458\" target=\"_blank\">Engineers and Programmers, Stop Writing So Much Firmware<\/a>&#8221; on software design with regards to embedded system and this piece of software embedded folks call firmware.<\/p>\n<p>He makes the point that business logic must be decoupled from technological implementation dependencies very nicely. This wisdom is nothing new but still you don&#8217;t see it used very often in the real world (sadly).<\/p>\n<p>My conclusions from this reading are basically:<\/p>\n<ul>\n<li>firmware should be designed with a systems software aspect in mind (not application software)<\/li>\n<li>decouple any business logic from implementation technology (okay, this is an obvious one)<\/li>\n<\/ul>\n<p>I think especially the first point is one I&#8217;ll be able to apply to my \u00a0prototype\u00a0scope firmware.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just read an very nice article by James Grenning\u00a0titled &#8220;Engineers and Programmers, Stop Writing So Much Firmware&#8221; on software design with regards to embedded system and this piece of software embedded folks call firmware. He makes &hellip; <a class=\"more-link\" href=\"http:\/\/lazlo.de\/blog\/2013\/04\/17\/655\/\">More<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[115,102],"tags":[108,82,6,80,36,98,109],"class_list":["post-655","post","type-post","status-publish","format-standard","hentry","category-software-work","category-work","tag-design","tag-development","tag-embedded","tag-firmware","tag-software","tag-systems","tag-testability"],"_links":{"self":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/posts\/655","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/comments?post=655"}],"version-history":[{"count":7,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/posts\/655\/revisions"}],"predecessor-version":[{"id":760,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/posts\/655\/revisions\/760"}],"wp:attachment":[{"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/media?parent=655"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/categories?post=655"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/lazlo.de\/blog\/wp-json\/wp\/v2\/tags?post=655"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}