{"id":354,"date":"2022-08-14T23:40:09","date_gmt":"2022-08-14T23:40:09","guid":{"rendered":"https:\/\/mechied.com\/?page_id=354"},"modified":"2024-08-12T02:36:53","modified_gmt":"2024-08-12T02:36:53","slug":"programming","status":"publish","type":"page","link":"https:\/\/mechied.com\/index.php\/programming\/","title":{"rendered":"Programming"},"content":{"rendered":"\n<p class=\"has-base-background-color has-background\">Psssst! I also build hardware things! That portfolio is <a href=\"https:\/\/mechied.com\/index.php\/hardware\/\" data-type=\"page\" data-id=\"11\">here<\/a>.<\/p>\n\n\n\n<p>You can view the code for these <a href=\"https:\/\/github.com\/daleshort\" data-type=\"URL\" data-id=\"https:\/\/github.com\/daleshort\">on my github<\/a>.<\/p>\n\n\n<div class=\"wp-block-visual-portfolio\">\n<div class=\"vp-portfolio vp-uid-45797187 vp-id-Z1Rw36a\"\n\tdata-vp-layout=\"grid\" data-vp-content-source=\"post-based\" data-vp-items-style=\"default\" data-vp-items-click-action=\"url\" data-vp-items-gap=\"84\" data-vp-items-gap-vertical=\"31\" data-vp-pagination=\"infinite\" data-vp-next-page-url=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_page=2\" data-vp-grid-columns=\"3\" data-vp-grid-images-aspect-ratio=\"4:3\" >\n\t<div class=\"vp-portfolio__preloader-wrap\">\n\t\t<div class=\"vp-portfolio__preloader\">\n\t\t\t<img decoding=\"async\" loading=\"eager\" src=\"https:\/\/mechied.com\/wp-content\/plugins\/visual-portfolio\/assets\/images\/logo-dark.svg\" alt=\"Visual Portfolio, Posts &amp; Image Gallery for WordPress\" width=\"20\" height=\"20\" data-skip-lazy>\n\t\t<\/div>\n\t<\/div>\n\t\t<div class=\"vp-portfolio__items-wrap\">\n\t\t\t\n<div class=\"vp-portfolio__items vp-portfolio__items-style-default vp-portfolio__items-show-overlay-hover\">\n\n\t\t<article\t\tclass=\"vp-portfolio__item-wrap post-758 portfolio type-portfolio status-publish format-standard has-post-thumbnail hentry portfolio_category-golang portfolio_category-programming portfolio_category-react portfolio_category-rpi portfolio_category-typescript vp-portfolio__item-uid-cc27b54b\" data-vp-filter=\"golang,programming,react,rpi,typescript\" \t\t>\n\t\t\t\t\t\t\t\t\t<figure class=\"vp-portfolio__item\">\n\t\t\t\t\n<div class=\"vp-portfolio__item-img-wrap\">\n\t<div class=\"vp-portfolio__item-img\">\n\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/portfolio\/servo-coolant-nozzle\/\"\n\t\t\t>\n\t\n\t\t<noscript><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"585\" data-skip-lazy src=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-600x585.jpg\" class=\"wp-image-763\" alt=\"\" srcset=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-600x585.jpg 600w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-300x293.jpg 300w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-500x488.jpg 500w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-768x749.jpg 768w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-1536x1498.jpg 1536w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-2048x1998.jpg 2048w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-400x390.jpg 400w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-800x780.jpg 800w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-1920x1873.jpg 1920w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/noscript><img fetchpriority=\"high\" decoding=\"async\" width=\"600\" height=\"585\" src=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-600x585.jpg\" class=\"wp-image-763 vp-lazyload\" alt srcset=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAwIiBoZWlnaHQ9IjU4NSIgdmlld0JveD0iMCAwIDYwMCA1ODUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PC9zdmc+\" data-src=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-600x585.jpg\" data-srcset=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-600x585.jpg 600w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-300x293.jpg 300w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-500x488.jpg 500w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-768x749.jpg 768w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-1536x1498.jpg 1536w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-2048x1998.jpg 2048w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-400x390.jpg 400w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-800x780.jpg 800w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/10\/servocropped-1920x1873.jpg 1920w\" data-sizes=\"auto\" loading=\"eager\">\n\t\t<div class=\"vp-portfolio__item-overlay\">\n\t\t\t\t\t<\/div>\n\n\t\t<\/a>\t<\/div>\n<\/div>\n\n\t<figcaption class=\"vp-portfolio__item-caption vp-portfolio__item-caption-text-align-center\">\n\t\t<div class=\"vp-portfolio__item-meta\">\n\t\t\t\n<div class=\"vp-portfolio__item-meta-categories\">\n\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Agolang\"\n\t\t\t>\n\tgolang<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Aprogramming\"\n\t\t\t>\n\tprogramming<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Areact\"\n\t\t\t>\n\tReact<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Arpi\"\n\t\t\t>\n\tRPi<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Atypescript\"\n\t\t\t>\n\ttypescript<\/a>\t\t<\/div>\n\t\t<\/div>\n\n<h2 class=\"vp-portfolio__item-meta-title\">\n\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/portfolio\/servo-coolant-nozzle\/\"\n\t\t\t>\n\tServo Coolant Nozzle<\/a><\/h2>\n\n<div class=\"vp-portfolio__item-meta-excerpt\">\n\t<div>\n\t\tRPi CNC coolant nozzle controller written in Golang with Typescript\/React frontend\t<\/div>\n<\/div>\n\n<a class=\"vp-portfolio__item-meta-read-more\" href=\"https:\/\/mechied.com\/index.php\/portfolio\/servo-coolant-nozzle\/\">\n\tRead More<\/a>\n\t\t<\/div>\n\t<\/figcaption>\n\t\t\t<\/figure>\n\t\t\t\t\t<\/article>\n\t\t\n\t\t<article\t\tclass=\"vp-portfolio__item-wrap post-663 portfolio type-portfolio status-publish format-standard has-post-thumbnail hentry portfolio_category-django portfolio_category-programming portfolio_category-python portfolio_category-react vp-portfolio__item-uid-711a5537\" data-vp-filter=\"django,programming,python,react\" \t\t>\n\t\t\t\t\t\t\t\t\t<figure class=\"vp-portfolio__item\">\n\t\t\t\t\n<div class=\"vp-portfolio__item-img-wrap\">\n\t<div class=\"vp-portfolio__item-img\">\n\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/portfolio\/normas-ice-cream\/\"\n\t\t\t>\n\t\n\t\t<noscript><img loading=\"lazy\" decoding=\"async\" width=\"490\" height=\"432\" data-skip-lazy src=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM.png\" class=\"wp-image-709\" alt=\"\" srcset=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM.png 490w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM-300x264.png 300w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM-400x353.png 400w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><\/noscript><img decoding=\"async\" width=\"490\" height=\"432\" src=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM.png\" class=\"wp-image-709 vp-lazyload\" alt srcset=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iNDkwIiBoZWlnaHQ9IjQzMiIgdmlld0JveD0iMCAwIDQ5MCA0MzIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PC9zdmc+\" data-src=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM.png\" data-srcset=\"https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM.png 490w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM-300x264.png 300w, https:\/\/mechied.com\/wp-content\/uploads\/2024\/08\/Screenshot-2024-08-15-at-9.52.33-PM-400x353.png 400w\" data-sizes=\"auto\" loading=\"eager\">\n\t\t<div class=\"vp-portfolio__item-overlay\">\n\t\t\t\t\t<\/div>\n\n\t\t<\/a>\t<\/div>\n<\/div>\n\n\t<figcaption class=\"vp-portfolio__item-caption vp-portfolio__item-caption-text-align-center\">\n\t\t<div class=\"vp-portfolio__item-meta\">\n\t\t\t\n<div class=\"vp-portfolio__item-meta-categories\">\n\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Adjango\"\n\t\t\t>\n\tDjango<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Aprogramming\"\n\t\t\t>\n\tprogramming<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Apython\"\n\t\t\t>\n\tpython<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Areact\"\n\t\t\t>\n\tReact<\/a>\t\t<\/div>\n\t\t<\/div>\n\n<h2 class=\"vp-portfolio__item-meta-title\">\n\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/portfolio\/normas-ice-cream\/\"\n\t\t\t>\n\tNorma&#8217;s Ice Cream<\/a><\/h2>\n\n<div class=\"vp-portfolio__item-meta-excerpt\">\n\t<div>\n\t\tI automated Norma&#8217;s Ice Cream&#8217;s weekly lottery, replacing their manual process with a custom server using React, Django, Twilio, and Square.\t<\/div>\n<\/div>\n\n<a class=\"vp-portfolio__item-meta-read-more\" href=\"https:\/\/mechied.com\/index.php\/portfolio\/normas-ice-cream\/\">\n\tRead More<\/a>\n\t\t<\/div>\n\t<\/figcaption>\n\t\t\t<\/figure>\n\t\t\t\t\t<\/article>\n\t\t\n\t\t<article\t\tclass=\"vp-portfolio__item-wrap post-572 portfolio type-portfolio status-publish format-standard has-post-thumbnail hentry portfolio_category-javascript portfolio_category-vue portfolio_tag-javascript portfolio_tag-vue vp-portfolio__item-uid-1d40eab9\" data-vp-filter=\"javascript,vue\" \t\t>\n\t\t\t\t\t\t\t\t\t<figure class=\"vp-portfolio__item\">\n\t\t\t\t\n<div class=\"vp-portfolio__item-img-wrap\">\n\t<div class=\"vp-portfolio__item-img\">\n\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/portfolio\/recripcha\/\"\n\t\t\t>\n\t\n\t\t<noscript><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"714\" data-skip-lazy src=\"https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-600x714.png\" class=\"wp-image-573\" alt=\"\" srcset=\"https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-600x714.png 600w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-252x300.png 252w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-420x500.png 420w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-300x357.png 300w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-400x476.png 400w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-500x595.png 500w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM.png 627w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/noscript><img decoding=\"async\" width=\"600\" height=\"714\" src=\"https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-600x714.png\" class=\"wp-image-573 vp-lazyload\" alt srcset=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAwIiBoZWlnaHQ9IjcxNCIgdmlld0JveD0iMCAwIDYwMCA3MTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PC9zdmc+\" data-src=\"https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-600x714.png\" data-srcset=\"https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-600x714.png 600w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-252x300.png 252w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-420x500.png 420w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-300x357.png 300w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-400x476.png 400w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM-500x595.png 500w, https:\/\/mechied.com\/wp-content\/uploads\/2023\/01\/Screenshot-2023-01-02-at-12.55.25-PM.png 627w\" data-sizes=\"auto\" loading=\"eager\">\n\t\t<div class=\"vp-portfolio__item-overlay\">\n\t\t\t\t\t<\/div>\n\n\t\t<\/a>\t<\/div>\n<\/div>\n\n\t<figcaption class=\"vp-portfolio__item-caption vp-portfolio__item-caption-text-align-center\">\n\t\t<div class=\"vp-portfolio__item-meta\">\n\t\t\t\n<div class=\"vp-portfolio__item-meta-categories\">\n\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Ajavascript\"\n\t\t\t>\n\tjavascript<\/a>\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__item-meta-category\">\n\t\t\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_filter=portfolio_category%3Avue\"\n\t\t\t>\n\tVue<\/a>\t\t<\/div>\n\t\t<\/div>\n\n<h2 class=\"vp-portfolio__item-meta-title\">\n\t\t<a\n\t\thref=\"https:\/\/mechied.com\/index.php\/portfolio\/recripcha\/\"\n\t\t\t>\n\tReCripcha<\/a><\/h2>\n\n<div class=\"vp-portfolio__item-meta-excerpt\">\n\t<div>\n\t\tA joke captcha that protects sites from ableist scum.\t<\/div>\n<\/div>\n\n<a class=\"vp-portfolio__item-meta-read-more\" href=\"https:\/\/mechied.com\/index.php\/portfolio\/recripcha\/\">\n\tRead More<\/a>\n\t\t<\/div>\n\t<\/figcaption>\n\t\t\t<\/figure>\n\t\t\t\t\t<\/article>\n\t\t\n<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"vp-portfolio__layout-elements vp-portfolio__layout-elements-bottom vp-portfolio__layout-elements-align-center\">\n\t\t\t\t<div class=\"vp-portfolio__pagination-wrap\">\n\t\t\n<div class=\"vp-pagination vp-pagination__style-minimal\" data-vp-pagination-type=\"infinite\">\n\t<div class=\"vp-pagination__item\">\n\t\t<a class=\"vp-pagination__load-more\" href=\"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354?vp_page=2\">\n\t\t\t<span>Load More<\/span>\n\t\t\t<span class=\"vp-pagination__load-more-loading\"><span class=\"vp-spinner\"><\/span><span class=\"vp-screen-reader-text\"> Loading More&#8230;<\/span><\/span>\n\t\t\t<span class=\"vp-pagination__load-more-no-more\">You\u2019ve reached the end of the list<\/span>\n\t\t<\/a>\n\t<\/div>\n<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Psssst! I also build hardware things! That portfolio is here. You can view the code for these on my github.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ngg_post_thumbnail":0,"_vp_format_video_url":"","_vp_image_focal_point":[],"footnotes":""},"class_list":["post-354","page","type-page","status-publish"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/comments?post=354"}],"version-history":[{"count":19,"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354\/revisions"}],"predecessor-version":[{"id":661,"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/pages\/354\/revisions\/661"}],"wp:attachment":[{"href":"https:\/\/mechied.com\/index.php\/wp-json\/wp\/v2\/media?parent=354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}