{"id":2537,"date":"2017-09-13T17:00:20","date_gmt":"2017-09-13T22:00:20","guid":{"rendered":"http:\/\/www.logikalsolutions.com\/wordpress\/?p=2537"},"modified":"2021-02-13T14:54:54","modified_gmt":"2021-02-13T20:54:54","slug":"how-far-weve-come-pt-17","status":"publish","type":"post","link":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/","title":{"rendered":"How Far We&#8217;ve Come &#8211; Pt. 17"},"content":{"rendered":"<p>On the desktop most of the application looks like this:<\/p>\n<figure id=\"attachment_2523\" aria-describedby=\"caption-attachment-2523\" style=\"width: 532px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-2523 size-full\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/lotto-tracker-file-menu.png\" alt=\"main screen image\" width=\"532\" height=\"360\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/lotto-tracker-file-menu.png 532w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/lotto-tracker-file-menu-300x203.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><figcaption id=\"caption-attachment-2523\" class=\"wp-caption-text\">Main screen<\/figcaption><\/figure>\n<figure id=\"attachment_2538\" aria-describedby=\"caption-attachment-2538\" style=\"width: 645px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-2538 size-full\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/file-chooser.png\" alt=\"import file chooser image\" width=\"645\" height=\"448\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/file-chooser.png 645w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/file-chooser-300x208.png 300w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><figcaption id=\"caption-attachment-2538\" class=\"wp-caption-text\">Import File Chooser<\/figcaption><\/figure>\n<figure id=\"attachment_2539\" aria-describedby=\"caption-attachment-2539\" style=\"width: 532px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-2539 size-full\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/entry-screen.png\" alt=\"entry screen image\" width=\"532\" height=\"360\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/entry-screen.png 532w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/entry-screen-300x203.png 300w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><figcaption id=\"caption-attachment-2539\" class=\"wp-caption-text\">Entry Screen<\/figcaption><\/figure>\n<figure id=\"attachment_2541\" aria-describedby=\"caption-attachment-2541\" style=\"width: 433px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-2541 size-full\" src=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/Screenshot_20170912_153536.png\" alt=\"all drawings report image\" width=\"433\" height=\"381\" srcset=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/Screenshot_20170912_153536.png 433w, https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/Screenshot_20170912_153536-300x264.png 300w\" sizes=\"(max-width: 433px) 100vw, 433px\" \/><figcaption id=\"caption-attachment-2541\" class=\"wp-caption-text\">All Drawings Report<\/figcaption><\/figure>\n<p>One of the many things which is nice about widget based projects and the designer is that we get some really good widgets and can (usually) see what things will look like before we compile. That file chooser is all built in and the calendar select widget is already there for us to use.<\/p>\n<p>\u00a0<\/p>\n<pre>void MainWindow::importAction()\n{\n    <strong>QString fileName = QFileDialog::getOpenFileName(this, tr(\"Lotto Data to Import\"), QDir::current().dirName(),<\/strong>\n                                                    <strong>tr(\"Text Files (*.txt *.csv)\"));<\/strong>\n\n    if (fileName.length() &gt; 0)\n    {\n        showImportFields(true);\n\n        dbIO.importData(fileName);\n    }\n}\n<\/pre>\n<p>That one line in bold is all I needed to toss up the fully functional dialog. For those unfamiliar with tr(), Qt has an awful lot of language translation capabilities built in. You are encouraged to use tr() around strings whenever your shop hasn&#8217;t moved to <a href=\"http:\/\/doc.qt.io\/qt-5\/linguist-id-based-i18n.html\">translation IDs<\/a>. I&#8217;m really bad about not using tr() in my own stuff. In truth it is because so many projects wait until the end.<\/p>\n<p>Why not? You need to have a final full code review anyway. Unless you are allowing for user selected language rather than OS or environment variable selection it&#8217;s a small thing. On one project, when we got to the bug fixing stage, one of the developers wrote a quick shell script which searched through the files for anything in double quotes and dumped it into a spreadsheet file along with source file name, line number and other info and we fed it to the translation team.<\/p>\n<p>A few weeks later we received the first cut from translation and that same person spent one hour integrating the translations. The QA team found the spots where the same thing should have been translated two different ways due to context and we went from there.<\/p>\n<p>As soon as I get some more time I will return to the 6-core AMD and see what else I need to install to cross compile this application for my Raspberry Pi. I&#8217;m torn between showing you the way you will probably try on your own and the &#8220;recommended&#8221; way.<\/p>\n<p>The cheat method many try is to install the precompiled version from the Raspbian repos on both. Since I have a shiny new SD card, I will most likely start clean via the recommended way. Still haven&#8217;t decided. As I said near the beginning of this I typically join a project once system setup has been both decided and documented. On FDA regulated projects it is mandatory to have a cookie cutter configuration document.<\/p>\n<p>EDIT:<\/p>\n<p>Ooops, thanks for the reminder. Here is the source.<\/p>\n<p><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2017\/09\/lottoTracker.zip\">lottoTracker<\/a><\/p>\n<p>Sorry about forgetting to post it.<\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-16\/\">&lt;Previous-part<\/a>    <a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-18\/\">Next-part><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Related Posts:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.theminimumyouneedtoknow.com\/qt_book.html\">QT Database book<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.theminimumyouneedtoknow.com\/agile_book.html\">AGILE book<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/qdebug-output\/\">Where Did My QDebug Output Go?<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/moc-parse-error-at-std\/\">MOC Parse Error at &#8220;std&#8221;<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/kde-neon-distcc-and-qt\/\">KDE Neon &#8211; Distcc and Qt<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/copperspice-and-diamond\/\">CopperSpice Experiments<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/qtcreator-no-qmlscene-installed\/\">QtCreator &#8211; No qmlScene installed<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.logikalsolutions.com\/wordpress\/uncategorized\/so-you-cant-get-your-qt-models-to-work-with-qml\/\">So You Can&#8217;t Get Your Models to Work with QML?<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>On the desktop most of the application looks like this: One of the many things which is nice about widget based projects and the designer is that we get some really good widgets and can (usually) see what things will look like before we compile. That file chooser is all built in and the calendar select widget is already there for us to use. \u00a0 void MainWindow::importAction() { QString fileName = QFileDialog::getOpenFileName(this, tr(&#8220;Lotto Data to &hellip; <a title=\"How Far We&#8217;ve Come &#8211; Pt. 17\" class=\"bnm-read-more\" href=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/\"><span class=\"screen-reader-text\">How Far We&#8217;ve Come &#8211; Pt. 17<\/span>Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":4347,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,1113],"tags":[159,1514,1515,1513],"class_list":["post-2537","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-information-technology","category-raspberry-pi","tag-qt","tag-tr","tag-translation-ids","tag-widgets","bnm-entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How Far We&#039;ve Come - Pt. 17 &#8211; Logikal Blog<\/title>\n<meta name=\"description\" content=\"Our lottery tracker application on the RaspberryPi. A nice, simple, kick the tires application to test out your build environment.\" \/>\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.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Far We&#039;ve Come - Pt. 17 &#8211; Logikal Blog\" \/>\n<meta property=\"og:description\" content=\"Our lottery tracker application on the RaspberryPi. A nice, simple, kick the tires application to test out your build environment.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/\" \/>\n<meta property=\"og:site_name\" content=\"Logikal Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-09-13T22:00:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-13T20:54:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2021\/01\/Lenovo-ThinkCentre-ports.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1920\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"seasoned_geek\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"seasoned_geek\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/\"},\"author\":{\"name\":\"seasoned_geek\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"headline\":\"How Far We&#8217;ve Come &#8211; Pt. 17\",\"datePublished\":\"2017-09-13T22:00:20+00:00\",\"dateModified\":\"2021-02-13T20:54:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/\"},\"wordCount\":503,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Lenovo-ThinkCentre-ports.jpeg\",\"keywords\":[\"Qt\",\"tr()\",\"translation IDs\",\"widgets\"],\"articleSection\":[\"Information Technology\",\"Raspberry Pi\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/\",\"name\":\"How Far We've Come - Pt. 17 &#8211; Logikal Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Lenovo-ThinkCentre-ports.jpeg\",\"datePublished\":\"2017-09-13T22:00:20+00:00\",\"dateModified\":\"2021-02-13T20:54:54+00:00\",\"description\":\"Our lottery tracker application on the RaspberryPi. A nice, simple, kick the tires application to test out your build environment.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Lenovo-ThinkCentre-ports.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2021\\\/01\\\/Lenovo-ThinkCentre-ports.jpeg\",\"width\":1920,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/information-technology\\\/how-far-weve-come-pt-17\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Far We&#8217;ve Come &#8211; Pt. 17\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/\",\"name\":\"Logikal Blog\",\"description\":\"For people with attention spans longer than a Tweet\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/c077f770ade13de7faaf616c3eac6842\",\"name\":\"seasoned_geek\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\",\"caption\":\"seasoned_geek\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r\"},\"description\":\"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\\\/Qt touchscreen\\\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \\\"Zinc It!\\\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \\\"The Minimum You Need to Know to Be an OpenVMS Application Developer\\\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \\\"The Minimum You Need to Know\\\" book series was born. Three years later he wrote his first novel \\\"Infinite Exposure\\\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \\\"The Earth That Was\\\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.\",\"sameAs\":[\"https:\\\/\\\/theminimumyouneedtoknow.com\"],\"url\":\"https:\\\/\\\/www.logikalsolutions.com\\\/wordpress\\\/author\\\/seasoned_geek\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Far We've Come - Pt. 17 &#8211; Logikal Blog","description":"Our lottery tracker application on the RaspberryPi. A nice, simple, kick the tires application to test out your build environment.","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.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/","og_locale":"en_US","og_type":"article","og_title":"How Far We've Come - Pt. 17 &#8211; Logikal Blog","og_description":"Our lottery tracker application on the RaspberryPi. A nice, simple, kick the tires application to test out your build environment.","og_url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/","og_site_name":"Logikal Blog","article_published_time":"2017-09-13T22:00:20+00:00","article_modified_time":"2021-02-13T20:54:54+00:00","og_image":[{"width":2560,"height":1920,"url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2021\/01\/Lenovo-ThinkCentre-ports.jpeg","type":"image\/jpeg"}],"author":"seasoned_geek","twitter_card":"summary_large_image","twitter_misc":{"Written by":"seasoned_geek","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#article","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/"},"author":{"name":"seasoned_geek","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"headline":"How Far We&#8217;ve Come &#8211; Pt. 17","datePublished":"2017-09-13T22:00:20+00:00","dateModified":"2021-02-13T20:54:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/"},"wordCount":503,"commentCount":0,"publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2021\/01\/Lenovo-ThinkCentre-ports.jpeg","keywords":["Qt","tr()","translation IDs","widgets"],"articleSection":["Information Technology","Raspberry Pi"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/","url":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/","name":"How Far We've Come - Pt. 17 &#8211; Logikal Blog","isPartOf":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#primaryimage"},"image":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#primaryimage"},"thumbnailUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2021\/01\/Lenovo-ThinkCentre-ports.jpeg","datePublished":"2017-09-13T22:00:20+00:00","dateModified":"2021-02-13T20:54:54+00:00","description":"Our lottery tracker application on the RaspberryPi. A nice, simple, kick the tires application to test out your build environment.","breadcrumb":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#primaryimage","url":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2021\/01\/Lenovo-ThinkCentre-ports.jpeg","contentUrl":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-content\/uploads\/2021\/01\/Lenovo-ThinkCentre-ports.jpeg","width":1920,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/information-technology\/how-far-weve-come-pt-17\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.logikalsolutions.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"How Far We&#8217;ve Come &#8211; Pt. 17"}]},{"@type":"WebSite","@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#website","url":"https:\/\/www.logikalsolutions.com\/wordpress\/","name":"Logikal Blog","description":"For people with attention spans longer than a Tweet","publisher":{"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.logikalsolutions.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.logikalsolutions.com\/wordpress\/#\/schema\/person\/c077f770ade13de7faaf616c3eac6842","name":"seasoned_geek","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","url":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r","caption":"seasoned_geek"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ae9adac14079d84b909e635d7af986fe4568053af4fd9ff8d4109298c392493e?s=96&d=mm&r=r"},"description":"Roland Hughes started his IT career in the early 1980s. He quickly became a consultant and president of Logikal Solutions, a software consulting firm specializing in OpenVMS application and C++\/Qt touchscreen\/embedded Linux development. Early in his career he became involved in what is now called cross platform development. Given the dearth of useful books on the subject he ventured into the world of professional author in 1995 writing the first of the \"Zinc It!\" book series for John Gordon Burke Publisher, Inc. A decade later he released a massive (nearly 800 pages) tome \"The Minimum You Need to Know to Be an OpenVMS Application Developer\" which tried to encapsulate the essential skills gained over what was nearly a 20 year career at that point. From there \"The Minimum You Need to Know\" book series was born. Three years later he wrote his first novel \"Infinite Exposure\" which got much notice from people involved in the banking and financial security worlds. Some of the attacks predicted in that book have since come to pass. While it was not originally intended to be a trilogy, it became the first book of \"The Earth That Was\" trilogy: Infinite Exposure Lesedi - The Greatest Lie Ever Told John Smith - Last Known Survivor of the Microsoft Wars When he is not consulting Roland Hughes posts about technology and sometimes politics on his blog. He also has regularly scheduled Sunday posts appearing on the Interesting Authors blog.","sameAs":["https:\/\/theminimumyouneedtoknow.com"],"url":"https:\/\/www.logikalsolutions.com\/wordpress\/author\/seasoned_geek\/"}]}},"_links":{"self":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/2537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/comments?post=2537"}],"version-history":[{"count":0,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/posts\/2537\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media\/4347"}],"wp:attachment":[{"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/media?parent=2537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/categories?post=2537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.logikalsolutions.com\/wordpress\/wp-json\/wp\/v2\/tags?post=2537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}