{"id":13814,"date":"2017-03-02T08:40:52","date_gmt":"2017-03-02T13:40:52","guid":{"rendered":"http:\/\/scruss.com\/blog\/?p=13814"},"modified":"2017-03-02T08:40:52","modified_gmt":"2017-03-02T13:40:52","slug":"the-error-message-as-a-bourgeois-construct","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2017\/03\/02\/the-error-message-as-a-bourgeois-construct\/","title":{"rendered":"\u00e2\u20ac\u0153The Error Message as a bourgeois construct\u00e2\u20ac\u009d"},"content":{"rendered":"<p>If you try to run the <a href=\"http:\/\/www.filfre.net\/misc\/oregon1975.bas\">(unmodified) BASIC code for Oregon Trail (1975)<\/a> on PDP-8 BASIC, you get this:<\/p>\n<pre> DI 30\r\n XC 45\r\n XC 205\r\n\u00e2\u20ac\u00a6\r\n IF 700\r\n NM 730\r\n\u00e2\u20ac\u00a6 (many, many more lines \u00e2\u20ac\u00a6)<\/pre>\n<p>I thought at first it was a stack trace, but nope \u00e2\u20ac\u201d it&#8217;s error messages! You need to dig through your trusty <a href=\"https:\/\/archive.org\/details\/bitsavers_decpdp8os879_21565181\">language manual<\/a>, and on page 132 it has a table to explain:<\/p>\n<pre>DI ERROR IN DIM STATEMENT\r\nIF ERROR IN IF STATEMENT\r\nNM MISSING LINE NUMBER\r\nXC CHARS AFTER END OF LINE<\/pre>\n<p>(and yes, they&#8217;re in all-caps. <em>Mixed case? Mixed feelings!<\/em>)<\/p>\n<p>So whenever Python throws a tantrum (or as it calls it, an <em>exception<\/em>) and wails at length about its problems, remember PDP-8 BASIC: Two letters + a line number. That&#8217;s all.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you try to run the (unmodified) BASIC code for Oregon Trail (1975) on PDP-8 BASIC, you get this: DI 30 XC 45 XC 205 \u00e2\u20ac\u00a6 IF 700 NM 730 \u00e2\u20ac\u00a6 (many, many more lines \u00e2\u20ac\u00a6) I thought at first it was a stack trace, but nope \u00e2\u20ac\u201d it&#8217;s error messages! You need to dig [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[2062,2054,3044,2556],"class_list":["post-13814","post","type-post","status-publish","format-standard","hentry","category-computers-suck","tag-basic","tag-oregon_trail","tag-pdp8","tag-retrocomputing"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-3AO","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/13814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=13814"}],"version-history":[{"count":2,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/13814\/revisions"}],"predecessor-version":[{"id":13816,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/13814\/revisions\/13816"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=13814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=13814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=13814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}