{"id":8964,"date":"2019-04-15T09:17:09","date_gmt":"2019-04-15T08:17:09","guid":{"rendered":"https:\/\/blogs.mentor.com\/colinwalls\/?p=8964"},"modified":"2026-03-26T16:56:57","modified_gmt":"2026-03-26T20:56:57","slug":"some-inspiration-for-embedded-developers","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/embedded-software\/2019\/04\/15\/some-inspiration-for-embedded-developers\/","title":{"rendered":"Some inspiration for embedded developers"},"content":{"rendered":"<p>I am about to take a little bit of vacation around the Easter period. I will be visiting the United States. This is not unusual, as I have been to the US 60-70 times [I have lost count!] over the years. However, it is the first time when there is no plan to do anything work related. Last time I attempted a US vacation, I was invited to travel down to Mississippi to present at a sales conference; nothing like that will happen this time!<\/p>\n<p>As I am in pre-vacation mode, I thought that I would share some sources of inspiration about embedded software [and life] \u2026<!--more--><\/p>\n<p>I enjoy finding good quotations. It is not that I am too lazy to have my own ideas. I just enjoy some people\u2019s ability to capture an idea or concept in a few, well-chosen words. All of these have, I hope, some relevance to embedded software development:<\/p>\n<p><strong>Bad programmers worry about code. Good programmers worry about data structures and their relationships.<\/strong> \u2013 Linus Torvalds<\/p>\n<p><strong>You need to write code that minimizes the time it would take someone else to understand it\u2014even if that someone else is you.<\/strong> &#8211; From <em>The Art of Readable Code<\/em><\/p>\n<p><strong>There is no limit to how bad undefined behavior can be.<\/strong> &#8211; Greg Davis, GHS, talking about MISRA C at Embedded World 2017<\/p>\n<p><strong>Learn to love your debugger. You\u2019re going to spend a lot of time with it.<\/strong> &#8211; Jack Ganssle, some years ago. This is still good advice.<\/p>\n<p><strong>The perfect is the enemy of the good.<\/strong> &#8211; Voltaire (possibly)<\/p>\n<p><strong>The problem with object-oriented languages is they\u2019ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.<\/strong> &#8211; Joe Armstrong, the creator of Erlang<\/p>\n<p><strong>Don&#8217;t comment bad code &#8211; rewrite it.<\/strong> &#8211; Brian W. Kernighan &#8211; stolen from Jack Ganssle<\/p>\n<p><strong>Theoretically, Software is the only component that can be perfect, and this should always be our starting point.<\/strong> &#8211; Jesse Poore, IEEE Computer January 2004 &#8211; stolen from Jack Ganssle<\/p>\n<p><strong>A goal is a dream with a deadline.<\/strong> &#8211; Napolean Hill<\/p>\n<p><strong>The trouble with quotes on the Internet is that you can never know if they are genuine.<\/strong> &#8211; Abraham Lincoln<\/p>\n<p><a href=\"http:\/\/www.linkedin.com\/in\/colinwalls\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6579\" src=\"http:\/\/s3-blogs.mentor.com\/colinwalls\/files\/2014\/01\/linkedin.png\" alt=\"\" width=\"40\" height=\"40\" \/><\/a><a href=\"https:\/\/twitter.com\/colin_walls\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6583\" src=\"http:\/\/s3-blogs.mentor.com\/colinwalls\/files\/2014\/01\/twitter.png\" alt=\"\" width=\"40\" height=\"40\" \/><\/a><a href=\"https:\/\/www.facebook.com\/colinwalls.author\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6591\" src=\"http:\/\/s3-blogs.mentor.com\/colinwalls\/files\/2014\/01\/facebook.png\" alt=\"\" width=\"40\" height=\"40\" \/><\/a><a href=\"http:\/\/blogs.mentor.com\/colinwalls\/\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-6599\" src=\"http:\/\/s3-blogs.mentor.com\/colinwalls\/files\/2014\/01\/wordpress.jpg\" alt=\"\" width=\"44\" height=\"44\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am about to take a little bit of vacation around the Easter period. I will be visiting the United&#8230;<\/p>\n","protected":false},"author":71677,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[300],"industry":[],"product":[],"coauthors":[],"class_list":["post-8964","post","type-post","status-publish","format-standard","hentry","category-news","tag-embedded-software"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/8964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/users\/71677"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/comments?post=8964"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/8964\/revisions"}],"predecessor-version":[{"id":10780,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/8964\/revisions\/10780"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/media?parent=8964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/categories?post=8964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/tags?post=8964"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/industry?post=8964"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/product?post=8964"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/coauthors?post=8964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}