{"id":388,"date":"2011-10-20T09:00:49","date_gmt":"2011-10-20T16:00:49","guid":{"rendered":"http:\/\/www.juixe.com\/techknow\/?p=388"},"modified":"2011-10-15T09:15:06","modified_gmt":"2011-10-15T16:15:06","slug":"worst-software-bugs","status":"publish","type":"post","link":"http:\/\/juixe.com\/techknow\/index.php\/2011\/10\/20\/worst-software-bugs\/","title":{"rendered":"Worst Software Bugs"},"content":{"rendered":"<p>We all have heard of missiles blowing up in midair because of the wrong unit was used in calculating the trajectory or bank software that misplaced millions of dollars because of a decimal place.  It might not compare against blowing up a multi-million dollar missile but here are some of the worst software bugs I&#8217;ve seen in projects where I&#8217;ve worked.<\/p>\n<p>Shift + O Short Cut &#8211; I once worked on a software application where one of the engineers developed a screen search functionality that would find the UI screen by name or feature.  Needless to say the modal pop-up dialog for this search feature popped up when the user hit the Shift + O keys.  This feature was developed by the engineer on his own initiative, so you can imagine everyone&#8217;s surprised when we couldn&#8217;t even type a capital o without this thing popping up.<\/p>\n<p>Exposing Regular Expressions &#8211; In another project we developed micro expression language which was used and exposed at the application level to users.  In one situation, a user reported a error when he wanted to replace a variable place holder with a dollar amount.  It seems that when he called the expression language replaceall(&#8220;AMOUNT_VALUE&#8221;, &#8220;$0.00&#8221;) the got back the value of AMOUNT_VALUE.00.  This problem was caused because we used Java Regular Expressions feature of the String class and $0 expression is a special value in the Java RegEx.  This was like a <b>Regular Expression Injection<\/b> bug.<\/p>\n<p>Localization and Internationalization &#8211; In the same project we had a problem with displaying the correct currency symbol used in a financial account statement.  There is a big difference between $100 and \u00e2\u201a\u00ac100.  Account holders are not happy to know that their  \u00e2\u201a\u00ac100 are now worth $100.<\/p>\n<p>Cut\/Copy\/Paste Does Not Work &#8211; I have seen way too many Java\/Swing application where some component does not have proper support for cut, copy, or paste.  When you cut from a Java application and paste to say Notepad you get a stringified Java object.<\/p>\n<p>Textarea Size Limit &#8211; When filling online forms, the one bug that just kills me is where a textarea has a size limit not shown and you spend time typing a long response which will be either truncated, lost, or rejected on submit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We all have heard of missiles blowing up in midair because of the wrong unit was used in calculating the trajectory or bank software that misplaced millions of dollars because of a decimal place. It might not compare against blowing up a multi-million dollar missile but here are some of the worst software bugs I&#8217;ve [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[19,21,3],"tags":[146,608,802,804,611,613,612,609,610],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p902K-6g","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/388"}],"collection":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/comments?post=388"}],"version-history":[{"count":3,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/388\/revisions"}],"predecessor-version":[{"id":1467,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/388\/revisions\/1467"}],"wp:attachment":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/media?parent=388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/categories?post=388"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/tags?post=388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}