{"id":1799,"date":"2008-04-17T08:24:00","date_gmt":"2008-04-17T20:24:00","guid":{"rendered":"http:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/"},"modified":"2008-04-17T08:25:34","modified_gmt":"2008-04-17T20:25:34","slug":"de-bug","status":"publish","type":"post","link":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/","title":{"rendered":"De-bug"},"content":{"rendered":"<p>Every night when we come back to the guest house after dinner, we have to de-bug.  No, I am not meaning we are so hard working that we are still fixing our code at night.  I mean de-bug literally.  Since the beginning of this week, we have serious bug problem in the guest house.  We are seeing 3 inches big cockroach every night.  So far Mark is more popular among the cockroaches, 3 cockroaches have shown up in his room, only one showed up in my room.<\/p>\n<p>The three cockroaches are murdered brutally by Mark.  Mark seems to develop a very efficient and fun method to de-bug.  First we need an old magazine and a Mag-Lite torch.  Mark will use the magazine to play with the cockroach until it flips upside down.  Then he will cover the cockroach with the magazine and pound it hard using the handle his torch.  After pounding repeatably for 30 to 40 times, we have a very nice minced cockroach and cockroach juice on the marble floor.<\/p>\n<p><a href=\"http:\/\/www.facebook.com\/photo.php?pid=1137890&amp;id=682650268\" class=\"tt-facebook-photo\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg?w=474\" alt=\"Mark brutally murder  Mr. cockroach with his Mag-Lite.\" border=\"0\" \/><\/a> Victim number 1<\/p>\n<p><a href=\"http:\/\/www.facebook.com\/photo.php?pid=1141936&amp;id=682650268\" class=\"tt-facebook-photo\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/photos-a.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1141936_8248.jpg?w=474\" alt=\"Mark's 2nd victim.\" border=\"0\" \/><\/a> Victim number 2<\/p>\n<p><a href=\"http:\/\/www.facebook.com\/photo.php?pid=1145501&amp;id=682650268\" class=\"tt-facebook-photo\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/photos-f.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1145501_7389.jpg?w=474\" alt=\"The third victim.\" border=\"0\" \/><\/a>   Victim number 3<br \/>\nTonight we tried a different approach.  Instead of killing the cockroach on spot, we decided to capture it.  Capturing it is much easier than killing it, since if you don&#8217;t hit it, it doesn&#8217;t run away.  You just have to cover it up with a food container and place the lid once it is inside.  Now, we have captured a cockroach, but we have no idea what to do with it.  There are a few suggestions: from taking it out and pound to its death, to flush it down the toilet, to drop it off from the balcon, to nuke it in the microwave.  At the end, we decide to spare its life for another night and leave it on top of the table.  I think Mark is thinking about keeping the cockroach as his pet, since he has already named the cockroach, Sammy.<\/p>\n<p><a href=\"http:\/\/www.facebook.com\/photo.php?pid=1147987&amp;id=682650268\" class=\"tt-facebook-photo\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/photos-d.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1147987_6301.jpg?w=474\" alt=\"We captured Mr. Cockroach.\" border=\"0\" \/><\/a> Sammy the cockroach.<\/p>\n<p><a href=\"http:\/\/www.facebook.com\/photo.php?pid=1147988&amp;id=682650268\" class=\"tt-facebook-photo\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/photos-e.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1147988_6672.jpg?w=474\" alt=\"Mark is saying hello to his new pet.\" border=\"0\" \/><\/a> Mark is saying hello to Sammy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our code at night. I mean de-bug literally. Since the beginning of this week, we have serious bug problem in the guest house. We &hellip; <a href=\"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">De-bug<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"lc_iscn_info":[],"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[50,235],"class_list":["post-1799","post","type-post","status-publish","format-standard","hentry","category-_scribble","tag-india","tag-cockcoach"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>De-bug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp<\/title>\n<meta name=\"description\" content=\"Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"De-bug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp\" \/>\n<meta property=\"og:description\" content=\"Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/\" \/>\n<meta property=\"og:site_name\" content=\"\u54f2\u5b50\u6232 Philosophist\u2019s Camp\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/horace.org\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/horace.org\" \/>\n<meta property=\"article:published_time\" content=\"2008-04-17T20:24:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2008-04-17T20:25:34+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg\" \/>\n<meta name=\"author\" content=\"hevangel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@horaceorg\" \/>\n<meta name=\"twitter:site\" content=\"@horaceorg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"hevangel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/\"},\"author\":{\"name\":\"hevangel\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"headline\":\"De-bug\",\"datePublished\":\"2008-04-17T20:24:00+00:00\",\"dateModified\":\"2008-04-17T20:25:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/\"},\"wordCount\":330,\"commentCount\":7,\"publisher\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"image\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/photos-c.ak.facebook.com\\\/photos-ak-sf2p\\\/v234\\\/59\\\/107\\\/682650268\\\/s682650268_1137890_9386.jpg\",\"keywords\":[\"\u5370\u5ea6\",\"cockcoach\"],\"articleSection\":[\"Daily Scribble\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/\",\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/\",\"name\":\"De-bug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/photos-c.ak.facebook.com\\\/photos-ak-sf2p\\\/v234\\\/59\\\/107\\\/682650268\\\/s682650268_1137890_9386.jpg\",\"datePublished\":\"2008-04-17T20:24:00+00:00\",\"dateModified\":\"2008-04-17T20:25:34+00:00\",\"description\":\"Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#primaryimage\",\"url\":\"http:\\\/\\\/photos-c.ak.facebook.com\\\/photos-ak-sf2p\\\/v234\\\/59\\\/107\\\/682650268\\\/s682650268_1137890_9386.jpg\",\"contentUrl\":\"http:\\\/\\\/photos-c.ak.facebook.com\\\/photos-ak-sf2p\\\/v234\\\/59\\\/107\\\/682650268\\\/s682650268_1137890_9386.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/2008\\\/04\\\/17\\\/de-bug\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"De-bug\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/\",\"name\":\"\u54f2\u5b50\u6232 Philosophist\u2019s Camp\",\"description\":\"\u860b\u679c\u65e5\u5831\u4f5c\u8005 - \u9673\u99ac\uff1a\u66f8\u8a55\uff0c\u5f71\u8a55\uff0c\u52d5\u6f2b\uff0c\u65c5\u884c\uff0c\u54f2\u5b78\u7b46\u8a18\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-CA\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/#\\\/schema\\\/person\\\/c8d9e8e7a71d343b4b2c4ef4365cdb4c\",\"name\":\"hevangel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\",\"width\":1313,\"height\":1259,\"caption\":\"hevangel\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/www.horace.org\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/spocky.jpg?fit=1313%2C1259&ssl=1\"},\"sameAs\":[\"http:\\\/\\\/www.horace.org\",\"https:\\\/\\\/www.facebook.com\\\/horace.org\"],\"url\":\"https:\\\/\\\/www.horace.org\\\/blog\\\/author\\\/hevangel-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"De-bug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","description":"Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/","og_locale":"en_US","og_type":"article","og_title":"De-bug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","og_description":"Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our","og_url":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/","og_site_name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","article_publisher":"https:\/\/www.facebook.com\/horace.org","article_author":"https:\/\/www.facebook.com\/horace.org","article_published_time":"2008-04-17T20:24:00+00:00","article_modified_time":"2008-04-17T20:25:34+00:00","og_image":[{"url":"http:\/\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg","type":"","width":"","height":""}],"author":"hevangel","twitter_card":"summary_large_image","twitter_creator":"@horaceorg","twitter_site":"@horaceorg","twitter_misc":{"Written by":"hevangel","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#article","isPartOf":{"@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/"},"author":{"name":"hevangel","@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"headline":"De-bug","datePublished":"2008-04-17T20:24:00+00:00","dateModified":"2008-04-17T20:25:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/"},"wordCount":330,"commentCount":7,"publisher":{"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"image":{"@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#primaryimage"},"thumbnailUrl":"http:\/\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg","keywords":["\u5370\u5ea6","cockcoach"],"articleSection":["Daily Scribble"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/","url":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/","name":"De-bug - \u54f2\u5b50\u6232 Philosophist\u2019s Camp","isPartOf":{"@id":"https:\/\/www.horace.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#primaryimage"},"image":{"@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#primaryimage"},"thumbnailUrl":"http:\/\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg","datePublished":"2008-04-17T20:24:00+00:00","dateModified":"2008-04-17T20:25:34+00:00","description":"Every night when we come back to the guest house after dinner, we have to de-bug. No, I am not meaning we are so hard working that we are still fixing our","breadcrumb":{"@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/"]}]},{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#primaryimage","url":"http:\/\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg","contentUrl":"http:\/\/photos-c.ak.facebook.com\/photos-ak-sf2p\/v234\/59\/107\/682650268\/s682650268_1137890_9386.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.horace.org\/blog\/2008\/04\/17\/de-bug\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.horace.org\/blog\/"},{"@type":"ListItem","position":2,"name":"De-bug"}]},{"@type":"WebSite","@id":"https:\/\/www.horace.org\/blog\/#website","url":"https:\/\/www.horace.org\/blog\/","name":"\u54f2\u5b50\u6232 Philosophist\u2019s Camp","description":"\u860b\u679c\u65e5\u5831\u4f5c\u8005 - \u9673\u99ac\uff1a\u66f8\u8a55\uff0c\u5f71\u8a55\uff0c\u52d5\u6f2b\uff0c\u65c5\u884c\uff0c\u54f2\u5b78\u7b46\u8a18","publisher":{"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.horace.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-CA"},{"@type":["Person","Organization"],"@id":"https:\/\/www.horace.org\/blog\/#\/schema\/person\/c8d9e8e7a71d343b4b2c4ef4365cdb4c","name":"hevangel","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","url":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1","width":1313,"height":1259,"caption":"hevangel"},"logo":{"@id":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2021\/11\/spocky.jpg?fit=1313%2C1259&ssl=1"},"sameAs":["http:\/\/www.horace.org","https:\/\/www.facebook.com\/horace.org"],"url":"https:\/\/www.horace.org\/blog\/author\/hevangel-2\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pwn21-t1","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2157,"url":"https:\/\/www.horace.org\/blog\/2009\/02\/03\/be-careful-what-you-ask-for\/","url_meta":{"origin":1799,"position":0},"title":"Be careful what you ask for","author":"hevangel","date":"February 3, 2009","format":false,"excerpt":"This is the second speech in the Toastmaster humorously speaking manual, leave them with a smile. The objective of this project is to prepare a serious speech that opens and closes with humorous stories and the closing story should reemphasizes the speech's main point. Dear Mr. chairman, fellow toastmasters, honored\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3948,"url":"https:\/\/www.horace.org\/blog\/2010\/01\/05\/y2k-bug-ten-years-plus-six-late\/","url_meta":{"origin":1799,"position":1},"title":"Y2K Bug Ten Years (Plus Six) Late","author":"hevangel","date":"January 5, 2010","format":false,"excerpt":"It would be interesting to find out what is the bug that causes the six years difference. Maybe it is just a stupid typo. The character 6 and 0 looks quite similar if you use a very small font. By Robert Charette, Tue, January 05, 2010, IEEE Spectrum News stories\u2026","rel":"","context":"In &quot;News Clips&quot;","block_context":{"text":"News Clips","link":"https:\/\/www.horace.org\/blog\/category\/_reference\/_newsclips\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10732,"url":"https:\/\/www.horace.org\/blog\/2015\/12\/11\/software-engineering-for-embedded-systems-mark-kraeling-robert-oshana\/","url_meta":{"origin":1799,"position":2},"title":"Software Engineering for Embedded Systems &#8211;  Mark Kraeling, Robert Oshana","author":"hevangel","date":"December 11, 2015","format":false,"excerpt":"\u8aaa\u8d77\u5beb\u7a0b\u5f0f\uff0c\u4e00\u822c\u4eba\u6703\u806f\u60f3\u5230\u5beb\u624b\u6a5fapps\uff0c\u67b6\u7db2\u7ad9\uff0c\u96fb\u5b50\u904a\u6232\uff0c\u5728PC\u6216server\u8dd1\u7684\u50b3\u7d71\u61c9\u7528\u7a0b\u5f0f\u3002\u5176\u5be6\u751f\u5e38\u751f\u6d69\u4e2d\u80fd\u63a5\u89f8\u7684\u7a0b\u5f0f\uff0c\u53ea\u4f54\u7e3d\u7a0b\u5f0f\u6578\u91cf\u7684\u5c0f\u90e8\u4efd\uff0c\u6709\u66f4\u591a\u7a0b\u5f0f\u8eb2\u5728\u6211\u5011\u770b\u4e0d\u898b\uff0c\u6478\u4e0d\u5230\u7684\u5730\u65b9\u3002\u5f9e\u5c0f\u81f3\u73a9\u5177\uff0c\u96fb\u5ead\u96fb\u5668\uff0c\u5927\u81f3\u6c7d\u8eca\uff0c\u98db\u6a5f\uff0c\u5de5\u696d\u6a5f\u68b0\uff0c\u7121\u4e00\u4e0d\u662f\u4f9d\u9760\u5167\u5d4c\u8edf\u4ef6\uff08embedded software\uff09\u53bb\u904b\u4f5c\u3002\u4e00\u500b\u624b\u6a5f\u8edf\u4ef6\u5e7e\u5341\u842c\u884ccode\u5df2\u7d93\u5f88\u5de8\u578b\uff0c\u5f37\u5982MS Office\u6216Windows\u4e5f\u4e0d\u904e\u6578\u5343\u842c\u884ccode\uff0c\u53ef\u662f\u4e00\u53f0\u6700\u65b0\u6b3e\u6c7d\u8eca\u6216\u98db\u6a5f\uff0c\u8f15\u6613\u4fbf\u904e\u4e00\u5169\u5104\u884ccode\u3002 \u6700\u8fd1\u56e0\u5de5\u4f5c\u9700\u8981\u958b\u767cembedded\u8edf\u4ef6\uff0c\u53ea\u597d\u81e8\u6025\u62b1\u4f5b\u8173\u770b\u66f8\u60e1\u88dc\u3002\u9019\u672cSoftware Engineering For Embedded Systems\u662f\u884c\u5167\u7684\u5929\u66f8\uff0c\u5f9e\u6700\u521d\u7684project planning\uff0crequirement\uff0chardware integration\u958b\u59cb\uff0c\u4e00\u8def\u8b1b\u5230\u843d\u624b\u5bebcode\u7684\u5982\u4f55\u63c0embedded OS\uff0c real-time system\u7684\u7279\u6027\uff0c\u4e0d\u540c\u7a2e\u985e\u7684optimization, multi-core, \u5230testing strategy\uff0cmanagement, regulation standard\u90fd\u6709\u8b1b\u3002\u5168\u66f8\u4e00\u5343\u4e8c\u767e\u9801\uff0c\u5beb\u7d66\u884c\u5167\u4eba\u770b\uff0c\u6216\u7528\u4f5c\u5927\u5b78\u8ab2\u672c\uff0c\u6c92\u6709\u4e00\u5b9a\u7684\u7a0b\u5f0f\u958b\u767c\u7d93\u9a57\uff0c\u4e26\u7406\u89e3CPU\u7684\u7d50\u69cb\uff0c\u57fa\u672c\u4e0a\u5b8c\u5168\u770b\u4e0d\u660e\u767d\u3002 Embedded\u8edf\u4ef6\u8207\u5176\u4ed6\u4e00\u822c\u8edf\u4ef6\u6027\u8cea\u5b8c\u5168\u4e0d\u540c\uff0c\u6700\u5927\u5206\u5225\u662freal-time\u548creliability\u7684\u9650\u5236\u3002\u8209\u4f8b\u82e5\u5beb\u500b\u624b\u6a5f\u904a\u6232\uff0c\u67d0\u6bb5code\u8dd1\u5f97\u6162\uff0c\u756b\u9762\u7529\u4e86\u4e00\u5169\u500bframe\uff0c\u4e0d\u662f\u4ec0\u9ebc\u5927\u4e0d\u4e86\u7684\u4e8b\u60c5\u3002\u751a\u81f3\u7a0b\u5f0f\u6709bug\uff0c\u5728\u67d0\u53e4\u602a\u7684corner case\u4e0bhang\u6a5f\uff0c\u53ea\u8981\u4e0d\u592a\u904e\u96e2\u8b5c\u53c8fix\u5f97\u5feb\uff0c\u7528\u5bb6\u4e5f\u4e0d\u6703\u904e\u4efd\u82db\u8cac\u3002\u53ef\u662fembedded\u8edf\u4ef6\u5c31\u4e0d\u540c\u4e86\uff0c\u8dd1\u5f97\u6162\u6216\u6709bug\u53ef\u4ee5\u6b7b\u4eba\u3002\u5982\u6c7d\u8eca\u7684ABS\u7cfb\u7d71\uff0c\u8edf\u4ef6\u53cd\u61c9\u6642\u9593\u5fc5\u9700\u662f\u5e7e\u6beb\u79d2\u4ee5\u5167\uff0c\u800c\u4e14\u4efb\u4f55\u60c5\u6cc1\u4e0b\u90fd\u4e0d\u80fd\u51fa\u932f\u3002\u65e9\u5e7e\u5e74Toyato\u7684\u63a7\u5236\u6cb9\u9580\u8edf\u4ef6\u51fa\u4e86\u554f\u984c\uff0c\u5118\u7ba1\u53ea\u662f\u5e7e\u767e\u842c\u4efd\u4e4b\u4e00\u6a5f\u6703\u51fa\u932f\uff0c\u4f46\u53ea\u8981\u6709\u4e00\u5b97\u5e7e\u4e4e\u6b7b\u4eba\uff0c\u4fbf\u8981\u5168\u7ddarecall\u517c\u5de8\u984d\u7f70\u6b3e\u3002 \u5beb\u4e00\u822c\u8edf\u4ef6\u7684\u7a0b\u5f0f\u8a9e\u8a00\u4e94\u82b1\u767e\u9580\uff0c\u5bebembedded\u8edf\u4ef6\u5247\u662f\u6e05\u4e00\u8272C\/C++\uff0c\u4f54\u8d85\u904e\u4e5d\u6210\u5e02\u5834\u3002\u7576\u8edf\u4ef6\u8b1b\u6c42\u901f\u5ea6\u548cpredictability\uff0c\u53c8\u8981\u76f4\u63a5\u53bb\u64cd\u63a7\u786c\u9ad4\u4f4d\u5740\uff0cC\u9019\u500b\u53e4\u8001\u7684\u4f4e\u968e\u8a9e\u8a00\uff0c\u57fa\u672c\u4e0a\u4e0a\u662f\u552f\u4e00\u9078\u64c7\u3002\u5168\u66f8\u6700\u7cbe\u5f69\u7684\u7ae0\u7bc0\u662f\u8b1breal time OS\uff0c\u8b1b\u89e3interrupt service routine\uff0c context switch\uff0c thread priority\uff0csemaphore\uff0c mutex\uff0c mailbox\u7b49embedded\u8edf\u4ef6\u6700\u57fa\u672c\u7684\u55ae\u5143\u3002\u4e4b\u524d\u6211\u6b7b\u5543threadx\u7684document\u6642\u770b\u5230\u4e00\u77e5\u534a\u89e3\uff0c\u9019\u672c\u66f8\u4fbf\u628a\u90a3\u4e9b\u6168\u5ff5\u89e3\u91cb\u5f97\u5341\u5206\u6e05\u695a\u660e\u767d\u3002\u53e6\u5916multi-core\u90a3\u4e00\u7ae0\u4e5f\u5f88\u597d\u770b\uff0c\u8b1b\u89e3\u4e0d\u540c\u7684memory\u67b6\u69cb\uff0c\u7a0b\u5f0fparallelize\u8981\u6ce8\u610f\u7684\u4e8b\u9805\uff0c\u8207super computer\u8edf\u4ef6\u6709\u4e0d\u5c11\u76f8\u540c\u4e4b\u8655\u3002\u4e0d\u904e\u76ee\u524d\u5de5\u4f5c\u4e0a\u9084\u672a\u7528\u5230\uff0c\u53ea\u662f\u505c\u7559\u5728\u8a8d\u8b58\u7406\u8ad6\u5c64\u9762\u3002\u53e6\u5916\u8b1b\u8edf\u4ef6\u5b89\u5168standard\uff0c\u5982ISO 26262\uff08\u6c7d\u8eca\uff09\uff0cDO-178C\uff08\u98db\u6a5f\uff09\u7b49\u7684\u7ae0\u7bc0\uff0c\u60b6\u96d6\u7136\u6709\u9ede\u60b6\uff0c\u4f46\u90a3\u4e9bstandard\u4e2d\u4f7f\u7528technical terms\u5206\u985e\uff0c\u4e5f\u662f\u5fc5\u9700\u8981\u8a8d\u8b58\u3002\u8edf\u4ef6\u754c\u8fd1\u5e74\u6d41\u884cAgile\uff0c\u66f8\u4e2d\u4e5f\u6709\u4e00\u7ae0\u8b1bAgile\u548cembedded\u8edf\u4ef6\u958b\u767c\uff0c\u4e0d\u904e\u6211\u89ba\u5f97\u50b3\u7d71\u7684project managment\u6bd4\u8f03\u9069\u5408\uff0cembedded\u59cb\u7d42\u6709\u592a\u591a\u5916\u5728\u56e0\u7d20\u7684\u9650\u5236\u3002 \u5f88\u591a\u4eba\u8aaa\u505aIT\u5beb\u8edf\u4ef6\u5165\u884c\u9580\u6abb\u5e95\uff0c\u6280\u8853\u66f4\u65b0\u901f\u5ea6\u5feb\uff0c\u5f88\u5bb9\u6613\u88ab\u5f8c\u6d6a\u53d6\u4ee3\u3002Embedded\u8edf\u4ef6\u5247\u63a5\u8fd1\u50b3\u7d71\u5de5\u7a0b\u884c\u696d\uff0c\u5f88\u591a\u77e5\u8b58\u5927\u5b78\u53ea\u6559\u76ae\u6bdb\uff0c\u5beb\u7a0b\u5f0f\u5f88\u8b1b\u5be6\u6230\u7d93\u9a57\uff0c embedded debug\u66f4\u662f\u4e00\u9580\u6613\u5b78\u96e3\u7cbe\u7684\u85dd\u8853\u3002C\u8a9e\u8a00\u548cCPU\u67b6\u69cb\u57fa\u672c\u4e0a\u904e\u53bb\u5341\u5e7e\u4e8c\u5341\u5e74\u6c92\u6709\u5927\u8f49\u8b8a\uff0c\u5728\u53ef\u898b\u7684\u5c07\u4f86\u4ea6\u4e0d\u6703\u6709\u751a\u9ebc\u5927\u8f49\u8b8a\uff0c\u5de5\u4f5c\u74b0\u5883\u76f8\u5c0d\u7a69\u5b9a\u548c\u8f03\u96e3\u53d6\u4ee3\u3002\u8b80\u96fb\u8166\u79d1\u76ee\u7684\u4eba\uff0c\u4e0d\u59a8\u8003\u616e\u4e00\u4e0b\u884cembedded\u9019\u689d\u8def\u3002","rel":"","context":"In &quot;\u66f8\u8a55&quot;","block_context":{"text":"\u66f8\u8a55","link":"https:\/\/www.horace.org\/blog\/category\/_books\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/11\/software_engineering_for_embedded_systems.jpg?fit=689%2C846&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/11\/software_engineering_for_embedded_systems.jpg?fit=689%2C846&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2015\/11\/software_engineering_for_embedded_systems.jpg?fit=689%2C846&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":12152,"url":"https:\/\/www.horace.org\/blog\/2017\/06\/21\/formal-verification-erik-seligman-tom-schubert\/","url_meta":{"origin":1799,"position":3},"title":"Formal Verification &#8211; Erik Seligman, Tom Schubert","author":"hevangel","date":"June 21, 2017","format":false,"excerpt":"\u9019\u7bc7\u4e0d\u662f\u66f8\u8a55\uff0c\u9019\u672c\u66f8\u4ea6\u4e0d\u662f\u4e00\u822c\u81ea\u5b78\u7a0b\u5f0f\u8a2d\u8a08\u7684\u96fb\u8166\u66f8\uff0c\u662f\u4e00\u672c\u6d89\u53ca\u975e\u5e38\u5c08\u9580\u7684\u77e5\u8b58\uff0c\u53ea\u6709\u8a2d\u8a08\u6676\u7247\u624d\u6703\u7528\u5f97\u4e0a\u7684\u6280\u8853\u8ab2\u672c\u3002\u975e\u884c\u5167\u4eba\u5b8c\u5168\u770b\u4e0d\u660e\u767d\uff0c\u9019\u7bc7\u53ea\u662f\u6211\u5b78\u7fd2formal verification(\u5f62\u5f0f\u5316\u9a57\u8b49)\u7684\u5fc3\u5f97\u548c\u7b46\u8a18\uff0c\u6240\u4ee5\u6211\u4ea6\u4e0d\u671f\u671b\u6709\u4ec0\u9ebc\u8b80\u8005\u3002 \u4ec0\u9ebc\u662fFormal Verification\uff1f\u9996\u5148\u8981\u8b1b\u4ec0\u9ebc\u662fdynamic verification\uff0c\u8a2d\u8a08\u6676\u7247\u4e0d\u540c\u5beb\u7a0b\u5f0f\uff0c\u5beb\u7a0b\u5f0f\u6709bug\u5f88\u7c21\u55ae\uff0c\u9664\u932f\u51fapatch\u6c92\u6709\u4ec0\u9ebc\u5927\u4e0d\u4e86\u3002\u6676\u7247\u6709bug\u5c31\u5f88\u5927\u4ef6\u4e8b\uff0c\u56e0\u70ba\u8981\u66f4\u6b63\u554f\u984c\uff0c\u5c31\u8981\u91cd\u65b0tape-out\u591a\u4e00\u6b21\uff0c\u53bb\u505a\u4e00\u500b\u5168\u65b0\u7684mask\u3002\u53ef\u4ee5\u60f3\u50cf\u88fd\u9020\u6676\u7247\u597d\u5370\u9ed1\u81a0\u789f\uff0c\u5148\u8981\u6574\u6709\u4e00\u5f35\u6bcd\u789f\uff0c\u7136\u5f8c\u624d\u53ef\u4ee5\u8986\u5370\uff0cmask\u5c31\u662fsilicon\u7684\u6bcd\u789f\u3002\u50b3\u7d71\u4e0a\u6e2c\u5f0f\u6676\u7247\u8a2d\u4ef6\u4e3b\u529b\u7528simulation\uff08\u5373dynamic verification)\uff0c\u8981\u82b1\u5f88\u591a\u4eba\u529b\u7269\u529b\u5beb\u500btestbench\u51fa\u4f86\uff0c\u7136\u5f8c\u6a21\u7591\u6676\u7247\u6240\u6709\u7684input\u540coutput\u3002\u9019\u662f\u4e00\u500b\u975e\u5e38\u56b4\u683c\u7684\u5de5\u5e8f\uff0c\u56e0\u70ba\u4e00\u500bbug\u4e5f\u4e0d\u53ef\u4ee5\u8d70\u6f0f\u3002\u6676\u7247\u51fa\u4e86\u8857\u4e4b\u5f8c\uff0cfix\u4e00\u500bbug\u7684\u6210\u672c\u662f\u5e7e\u767e\u842c\u7f8e\u5143\u3002\u5bebtestbench\u540c\u5beb\u666e\u901asoftware\u6c92\u6709\u592a\u5927\u5206\u5225\uff0c\u53ea\u4e0d\u904e\u6e2c\u8a66\u786c\u4ef6\u6bd4\u6e2c\u8a66\u8edf\u4ef6\u56b4\u683c\u5f88\u591a\u3002Formal Verification\u5247\u662f\u7528\u53e6\u4e00\u500b\u65b9\u6cd5\u53bb\u6e2c\u8a66\u786c\u4ef6\uff0c\u4e0d\u7528\u5bebcode\uff0c\u5bebformal specification\uff0c\u518d\u7528\u6578\u5b78\u908f\u8f2f\u7406\u8ad6\uff0c\u53bb\u8b49\u660e\u786c\u4ef6\u7684\u8a2d\u4ef6\u5fc5\u5b9a\u7b49\u65bc\u90a3\u500bspecification\u3002\u5b8c\u5168\u4e0d\u540c\u7684\u601d\u8003\u65b9\u6cd5\uff0c\u5b8c\u5168\u4e0d\u540c\u7684\u7528\u9014\u3002Formal Verification\u53ef\u4ee5\u6e2c\u8a66\u51fasimulation\u627e\u4e0d\u51fa\u4f86\u7684bug\uff0c\u59cb\u7d42simulation\u4e26\u4e0d\u662fexhaustive\uff0c\u4e0d\u904eformal\u6709\u5f88\u591a\u9650\u5236\uff0c\u8a2d\u8a08\u4e0d\u80fd\u592a\u5927\u4e0d\u80fd\u592a\u6df1\uff0c\u59cb\u7d42formal proof\u4fc2\u4e00\u500bNP-complete problem\u3002 \u591a\u5e74\u4f86formal\u4e00\u76f4\u53ea\u662f\u5b78\u8853\u7814\u7a76\uff0c\u771f\u6b63\u7684\u5546\u696d\u61c9\u7528\uff0c\u5927\u7d04\u4e94\u516d\u5e74\u524d\u624d\u958b\u59cb\u3002\u65e9\u671f\u7684formal tool\u975e\u5e38\u96e3\u7528\uff0c\u5e38\u5e38\u88ab\u6232\u8aaa\u8981\u535a\u58eb\u624d\u61c2\u7528\uff0c\u5f88\u591adesigner\u807d\u898b\u4fbf\u656c\u800c\u9060\u4e4b\u3002\u76f4\u81f3JasperGold\u7684\u63a8\u51fa\uff0cformal\u624d\u958b\u59cb\u666e\u53ca\u5316\uff0c\u9019\u4e9b\u5e74\u4f86JasperGold\u624b\u57f7\u725b\u8033\uff0c\u4e00\u679d\u7368\u79c0\u5dee\u4e0d\u591a\u7b49\u540c\u65bcformal\u7684\u4ee3\u540d\u8a5e\u3002\u65e9\u5169\u5e74\u6211\u4e5f\u5617\u8a66\u904e\u5b78formal\uff0c\u4e0d\u904e\u7576\u5e74JasperGold\u7684license\u592a\u8cb4\uff0c\u6211\u5011\u7d30\u516c\u53f8\u8cb7\u4e0d\u8d77\uff0c\u53ea\u597d\u7528\u4e86\u4e00\u500b\u5f88\u5dee\u5f88\u96e3\u7528\u7684IFV\uff0c\u7d50\u679c\u5b78\u5e2b\u672a\u6210\u4e0d\u4e86\u4e86\u4e4b\u3002\u53bb\u5e74\u6211\u516c\u53f8\u88ab\u4e00\u500b\u5927\u516c\u53f8\u6536\u8cfc\u4e86\uff0ceconomy of scale\u8b93\u6211\u5011\u6709\u591a\u597d\u591atools\u7528\uff0c\u4eca\u500bproject\u7d42\u65bc\u6709\u6a5f\u6703\u7528\u5230JasperGold\uff0c\u540cIFV\u76f8\u6bd4\u7c21\u76f4\u662f\u5929\u5802\u548c\u5730\u7344\uff0c\u300c\u5de5\u6b32\u5584\u5176\u5584\uff0c\u5fc5\u5148\u5229\u5176\u5668\u300d\uff0c\u5176\u5be6formal\u4e00\u9ede\u4e5f\u4e0d\u96e3\uff0c\u6211\u82b1\u4e86\u5169\u661f\u671f\u4fbf\u6eff\u5e2b\uff0c\u53ef\u4ee5\u5b78\u61c2\u7c21\u55ae\u7684formal specify\uff0c\u53bbproof\u6211\u500bdesign\u4e0d\u6703\u6709dead lock\u3002\u5982\u679c\u8981\u7528simulation\u4f5c\u540c\u6a23\u6e2c\u8a66\uff0c\u56e0\u70ba\u592a\u591acorner cases\uff0c\u662f\u4e00\u4ef6\u975e\u5e38\u75db\u82e6\u7684\u5dee\u4e8b\u3002\u73fe\u5728\u7528formal\u53bb\u505a\uff0c\u5e7e\u884ccode\u5beb\u5b8c\uff0c\u662f\u4e00\u4ef6\u5f88\u597d\u73a9\u7684\u73a9\u610f\u3002 \u6211\u4e00\u76f4\u90fd\u6709follow\u958bformal\u7684paper\u548ctutorial\uff0c\u96d6\u7136\u6c92\u6709\u5be6\u6230\u7d93\u9a57\u4f46formal\u7406\u8ad6\u5927\u81f3\u660e\u767d\uff0c\u7528\u65b0tool\u4e0d\u904e\u662f\u5b78syntax\uff0c\u5f88\u5feb\u4e0a\u624b\u3002\u6211\u516c\u53f8\u7684formal expert\u4ecb\u7d39\u6211\u770b\u9019\u672c\u300aFormal Verification\u300b\u8ab2\u672c\uff0c\u9019\u672c\u66f8\u662f\u4e09\u4f4dIntel\u5de5\u7a0b\u5e2b\u7de8\u5beb\u7684\uff0c\u7531\u6dfa\u5165\u6df1\u8b1b\u89e3\u5f88\u6709\u7cfb\u7d71\u5730\u5982\u4f55\u61c9\u7528formal verification\uff0c\u771f\u6b63\u7684hard-core\u6280\u8853\u542b\u91cf\u4e0d\u591a\uff08\u6280\u8853\u6771\u897f\u53ef\u4ee5\u81ea\u5df2\u770bdocument)\uff0c\u53cd\u800c\u66f4\u50cf\u662f\u904e\u4f86\u4eba\u5206\u4eab\u5fc3\u5f97\u548c\u7d93\u9a57\u3002\u9019\u672c\u66f8\u4e5d\u6210\u662f\u8001\u751f\u5e38\u8ac7\uff0c\u5e73\u6642\u7747tutorial\u7747paper\u90fd\u5b78\u904e\u807d\u904e\uff0c\u4e0d\u904e\u9918\u4e0b\u7684\u4e00\u6210\u975e\u5e38\u6709\u7528\uff0c\u8b93\u6211\u8305\u585e\u9813\u958b\uff0c\u5f88\u591a\u770b\u5df2paper\u4e0d\u660e\u767d\u4eba\u5bb6\u70ba\u4ec0\u9ebc\u4e00\u5b9a\u8981\u9019\u6a23\u505a\u7684\u5730\u65b9\uff0c\u7d93\u4ed6\u4e00\u89e3\u91cb\u5b8c\u5168\u660e\u767d\uff0c\u4e00\u7406\u901a\uff0c\u767e\u7406\u660e\u3002\u9019\u672c\u66f8\u53ef\u4ee5\u8aaa\u662f\u6211formal\u7684\u555f\u8499\u8001\u5e2b\uff0c\u4efb\u4f55\u4e00\u500b\u521d\u5b78formal\u8005\u5fc5\u5b9a\u8981\u770b\u3002\u5e02\u9762\u4e0aformal\u7684textbook\u4e00\u96bb\u624b\u6578\u5f97\u5b8c\uff0c\u56e0\u70baformal\u662f\u592a\u5c08\u9580\u7684\u6280\u8853\uff0c\u8b4e\u60f3\u60f3\u5b78\u5c31\u8981\u4ea4\u5f88\u8cb4\u5b78\u8cbb\u8acbconsultant\u53bb\u6559\uff0c\u4e0d\u904e\u6211\u8a8d\u70ba\u9019\u672c\u66f8\u6bd4consultant\u6559\u5f97\u66f4\u597d\uff0c\u56e0\u70ba\u4f5c\u8005\u6709\u771f\u6b63\u7684\u5be6\u6230\u7d93\u6b77\uff0c\u4e0d\u4f3cconsultant\u822c\u5927\u591a\u7d19\u4e0a\u8ac7\u5175\u3002 \u4ee5\u4e0b\u662f\u6211\u8a8d\u70ba\u66f8\u4e2d\u6709\u7528\u7684formal\u300c\u5fc3\u6cd5\u300d\uff1a cover\u548cassert\u662f\u540c\u4e00\u584a\u93e1\u5b50\u7684\u5169\u9762\u3002\u540c\u4e00\u500bproperty\uff0ccover\u5c31\u662fnot\u5de6\u500bproperty\u7684assert\u7684counter example\u3002assert\u5c31\u4fc2not\u5de6\u500bcover\u65e2unreachable proof Formal engine\u4fc2\u4e00\u500bbreath-first\u5481\u53bb\u884c\u6240\u6709\u7684state space\u3002assume\u540cassert\u5c31\u4fc2cut\u7d30\u500bstate space\uff0ccut\u8d70\u5de6illegal state\uff0c\u5982\u679c\u884c\u5230\u53bbspecification\u679c\u500bstate\uff0c\u54aa\u5c31proof\u5ea6\u56c9\u3002 \u4e00\u958b\u6ce2\u4e0d\u8981\u7acb\u5373\u5bebfull proof\uff0c\u5148\u7531cover\u958b\u59cb\u73a9\u3002\u5514\u7528assume\uff0c\u5269\u4fc2\u5beb\u4f60\u60f3\u7747\u4e5coutput\uff0c\u7747\u4e0bformal engine\u53ef\u4e0d\u53ef\u4ee5back trace\u4f60\u60f3\u8981\u7684input\uff0c\u7136\u5f8c\u518d\u6162\u6162fine-tune\u90a3\u4e9bassume \u7528cover\u6574\u597d\u6652assume\uff0c\u5c31\u53ef\u4ee5\u4e0a\u53bbbug hunting\uff0c\u5c08\u5fc3\u6435assert\u7684counter example\uff0c\u6700\u5f8c\u624d\u6574full proof\u3002\u7528\u4e4b\u524d\u5169\u500bsteps\u7684assume \u5514\u597dload\u592a\u591acode\uff0c\u592a\u591aassert\u540ccover\uff0c\u8981divide and conquer\u3002\u6709\u4e9btricks\u53ef\u4ee5\u7528\uff0c\u5982cutpoint\uff0cabstraction\uff0cfree variable\u7b49\u7b49","rel":"","context":"In &quot;\u66f8\u8a55&quot;","block_context":{"text":"\u66f8\u8a55","link":"https:\/\/www.horace.org\/blog\/category\/_books\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2017\/06\/images.jpg?fit=624%2C768&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2017\/06\/images.jpg?fit=624%2C768&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.horace.org\/blog\/wp-content\/uploads\/2017\/06\/images.jpg?fit=624%2C768&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":37,"url":"https:\/\/www.horace.org\/blog\/2005\/03\/22\/worldwind\/","url_meta":{"origin":1799,"position":4},"title":"worldwind","author":"hevangel","date":"March 22, 2005","format":false,"excerpt":"Worldwind is createdby NASA and is free to download. It is a model of earth with satellite photos overlay on the 3D terran, which you can fly over using different camera angle. The software also provide animation on different measurements on scientific data such as ocean current or cloud movement.\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4512,"url":"https:\/\/www.horace.org\/blog\/2010\/06\/15\/dac-2010-day-1-technical-review\/","url_meta":{"origin":1799,"position":5},"title":"DAC 2010 Technical Report (Day 1)","author":"hevangel","date":"June 15, 2010","format":false,"excerpt":"Today is the report of my first day in DAC. I signed up to a full day technical workshop Choosing Advanced Verification Methodology. After the workshop ended at 3:30p, I managed to checked out a few companies in the exhibition floor Vennsa Technologyies, Agnisys Inc and Veritools Advanced Verification Methodology\u2026","rel":"","context":"In &quot;Daily Scribble&quot;","block_context":{"text":"Daily Scribble","link":"https:\/\/www.horace.org\/blog\/category\/_scribble\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":false,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/1799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/comments?post=1799"}],"version-history":[{"count":0,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/posts\/1799\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/media?parent=1799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/categories?post=1799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.horace.org\/blog\/wp-json\/wp\/v2\/tags?post=1799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}