<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>IOIHAN Corporate</title>
    <description>IOIHAN is a software &amp; hardware development company specializing in embedded development, interfaces, and real-time communications.

Oracle Hospitality ISL/SIM development.</description>
    <link>https://www.ioihan.com/</link>
    <atom:link href="https://www.ioihan.com/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>heroku-buildpack-static deprecated - now what?</title>
      <pubDate>Sun, 02 Oct 2022 11:10:00 -0700</pubDate>
      <link>https://www.ioihan.com/blog/heroku-buildpack-static-deprecated-now-what</link>
      <guid>https://www.ioihan.com/blog/heroku-buildpack-static-deprecated-now-what</guid>
      <description>&lt;p class="MsoNormal" style="font-size: 48px;"&gt;Heroku VueJS CLI deoloyment &lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;Quite some fussing and putzing about with this buildpack configuration for the VueJS CLI publishing to Heroku.  The heroku-buildpack-static was easy and when it was depreciated we weren't left with anything "easy" as a replacement.  Well, if there was, I didn't find it.  Contacting support left a list of links and no closer to a solution for me.  &lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;Necessity is the mother of invention and yesterday was the day to get this resolved.  If you are equally frustrated with this process, this may be a solution.  It takes just a few minutes to implement.&lt;/p&gt;&lt;ul&gt;&lt;li class="MsoNormal" style="font-size: 13.5pt;"&gt;Replace the build pack with the nginx one, as suggested&lt;/li&gt;&lt;li class="MsoNormal" style="font-size: 13.5pt;"&gt;Add 2 files to your project - The contents of these files took a minute!&lt;/li&gt;&lt;li class="MsoNormal" style="font-size: 13.5pt;"&gt;Publish&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;The steps can be found here:  &lt;a href="https://github.com/wolfscott/heroku-vuecli-buildpack-notes" data-type="web" target="_blank"&gt;https://github.com/wolfscott/heroku-vuecli-buildpack-notes&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;(I would have written the steps here but this blog engine is horrible at editing and copy/paste here is likewise less than ideal) :( &lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;happy computing,&lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;\\//\\//olf&lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;&lt;span style="display: inline-block"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="font-size: 13.5pt;"&gt;&lt;span style="display: inline-block"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="display: inline-block"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="display: inline-block"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="display: inline-block"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;a href=https://www.ioihan.com/blog/heroku-buildpack-static-deprecated-now-what&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>Beyond Localhost</title>
      <pubDate>Fri, 29 Oct 2021 01:02:26 -0700</pubDate>
      <link>https://www.ioihan.com/blog/beyond-localhost</link>
      <guid>https://www.ioihan.com/blog/beyond-localhost</guid>
      <description>&lt;p style="text-align: left;"&gt;&lt;span style="color: #212529;"&gt;A while back, I discovered a DNS name that would allow me to use subdomains with my localhost development tasks. "lvh.me"  This was a fantastic find until one day it didn't work. It turns out the folks responsible for keeping that name registered decided it was no longer needed, and thus in one poof, it was no longer helpful.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;span style="color: #212529;"&gt;While this was only for development purposes, no big deal, but I wanted to see if I could stand up my own. Here is what I did. If you want another link, feel free to use: "127dev.link"; it  honors subdomains and ports and is a simple replacement for 127.0.0.1 (localhost), but supports subdomains.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #212529;"&gt;for example:  &lt;/span&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;localhost:3000&lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="color: #212529;"&gt; works great,  &lt;/span&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;subdomain.localhost:3000&lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="color: #212529;"&gt; does not&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #212529;"&gt;However,  &lt;/span&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;127dev.link:3000&lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #212529;"&gt;&lt;strong&gt;works&lt;/strong&gt;&lt;/span&gt;&lt;span style="color: #212529;"&gt;, so does &lt;/span&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;&lt;strong&gt;subdomain&lt;/strong&gt;&lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;.127dev.link:3000&lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;127dev.link &lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="color: #212529;"&gt;will point to YOUR LOCAL machine since it resolves to 127.0.0.1.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #212529;"&gt;Use &lt;/span&gt;&lt;span style="color: #212529;"&gt;&lt;u&gt;&lt;em&gt;127dev.link&lt;/em&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="color: #212529;"&gt;, or make your own.  I do make the assumption that you are familar with domain name registration and DNS record creation/management so I won't go into that here.&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: #212529;"&gt;Register your...&lt;a href=https://www.ioihan.com/blog/beyond-localhost&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>2021 and Beyond</title>
      <pubDate>Sat, 26 Dec 2020 17:01:23 -0800</pubDate>
      <link>https://www.ioihan.com/blog/2021-and-beyond</link>
      <guid>https://www.ioihan.com/blog/2021-and-beyond</guid>
      <description>&lt;p&gt;They say, it is broken.&lt;/p&gt;&lt;p&gt;Are we broken or simply toe-stubbed?&lt;/p&gt;&lt;p&gt;I suppose the answer depends on our grit, belief in our future, and our willingness to be a change agent. Disbelief in ourselves on any of these points and perhaps we -are- broken.&lt;/p&gt;&lt;p&gt;Broken things can be mended, renewed, or even overhauled depending on the nature of the break and the effort we are willing to extend to enact, or be, change.&lt;/p&gt;&lt;p&gt;I believe that 2021 will be a year of acceptance. Acceptance that things HAVE changed and unlikely to ever go back to "how it was" – Life is all about change and adapting to a new circumstance. Our reactions to change, whether we bend, or break, is our choice. We have power - power of choice.&lt;/p&gt;&lt;p&gt;Choose to be change, to embrace the change, and to help those within our circles realize they too have tremendous power – that of choice in how we respond.&lt;/p&gt;&lt;p&gt;Sure, life just handed us a bucket of lemons – Open your lemonade stand!&lt;/p&gt;&lt;p&gt;by Wolf Scott&lt;/p&gt;&lt;p&gt;Founding Fellow @ IOIHAN Research&lt;/p&gt;&lt;p&gt;www.ioihan.com&lt;/p&gt;&lt;a href=https://www.ioihan.com/blog/2021-and-beyond&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>Surveys Stink</title>
      <pubDate>Mon, 22 Jun 2020 23:08:58 -0700</pubDate>
      <link>https://www.ioihan.com/blog/surveys-stink</link>
      <guid>https://www.ioihan.com/blog/surveys-stink</guid>
      <description>&lt;p class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr  s-blog-post-section-text-5ro9m s-component-content s-blog-section-inner s-component s-text s-font-body sixteen columns container s-block-item s-repeatable-item s-block-sortable-item s-blog-post-section blog-section  s-blog-post-section-5ro9m s-blog-post-section-0 " style="text-align: left; font-size: 28px;"&gt;&lt;span style="color: #212529;"&gt;Surveys Stink&lt;/span&gt;&lt;/p&gt;&lt;p class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr public-DraftStyleDefault-block public-DraftStyleDefault-ltr  s-blog-post-section-text-5ro9m s-blog-section-inner s-component s-text s-font-body container s-blog-post-section blog-section  s-blog-post-section-5ro9m s-blog-post-section-0  s-blog-post-section-text-3miek s-component-content s-blog-section-inner s-component s-text s-font-body sixteen columns container s-block-item s-repeatable-item s-block-sortable-item s-blog-post-section blog-section  s-blog-post-section-3miek s-blog-post-section-1 " style="text-align: left;"&gt;&lt;span style="color: #212529;"&gt;To begin and qualify this post, the surveys I'm talking about are mindless customer-satisfaction surveys and those that fit somewhere within their borders. Short of a U.S. Census, there may be a reason to send more than three questions. I can't think of one offhand, but maybe. Oh, and watch your toes here, I heard some stompin goin on...&lt;/span&gt;&lt;/p&gt;&lt;p class="public-DraftStyleDefault-block public-DraftStyleDefault-ltr public-DraftStyleDefault-block public-DraftStyleDefault-ltr  s-blog-post-section-text-4fhfr s-blog-section-inner s-component s-text s-font-body container s-blog-post-section blog-section  s-blog-post-section-4fhfr s-blog-post-section-2  s-blog-post-section-text-b2tg0 s-component-content s-blog-section-inner s-component s-text s-font-body sixteen columns container s-block-item s-repeatable-item s-block-sortable-item s-blog-post-section blog-section  s-blog-post-section-b2tg0 s-blog-post-section-2 "...&lt;a href=https://www.ioihan.com/blog/surveys-stink&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>Dreams Remembered</title>
      <pubDate>Sun, 22 Apr 2018 16:13:35 -0700</pubDate>
      <link>https://www.ioihan.com/blog/dreams-remembered</link>
      <guid>https://www.ioihan.com/blog/dreams-remembered</guid>
      <description> Dreams Remembered &lt;p&gt;I recount as a young lad having dreams of success and happiness. Those were limited dreams, restrained by the exposure of a shielded and unexposed young man not privy to the possibilities of what life could offer. Those dreams were subdued by the responsibilities of raising a family, meeting social obligations, and making sure I didn’t overstep my boundaries. I recall several occasions being reeled back down to my place by friends and family — all meaning to do well, of course, and to “keep me secure”.&lt;/p&gt;&lt;p&gt;Several decades later, I struggle with those same limitations placed upon me by my younger self. Not intending to be timid in my dealings, but struggling to break free of those shackles. It pains me deeply to think that countless young people were similarly “encouraged” to be sensible and rational. Humbug!&lt;/p&gt; Decades Later &lt;p&gt;Fast forward a few decades and the landscape is quite different – failure is embraced, even encouraged. If you don’t have at least one sensational failure in your background you have failed indeed. Compare that to my startup years where it was frowned upon to be a solo-entrepreneur – today, it is glorified.&lt;/p&gt;&lt;p&gt;Enter the challenge to myself — as I write this little post, I remind myself that I struggled to build a business, a family, and an existence in this world; to make a mark. A mark to prove I was here, and to prove to myself that I mattered — the same happens by default these days as the community supports the individual struggling to make a mark and validates the person and the effort — not so 30 years ago. I sacrificed a lot – family being the highest toll, not giving much thought in that realm as there were larger stakes — foolish young man I was.&lt;/p&gt;&lt;p&gt;Wiser now? not likely – but hopefully so.&lt;/p&gt;&lt;p&gt;I am reminded along this life journey that we each seek out to impact the chronicles of recorded history to ensure our name is marked with significance – that we are remembered. My challenge to myself is to...&lt;a href=https://www.ioihan.com/blog/dreams-remembered&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>Your Button, Your Price, Your Goal?</title>
      <pubDate>Sat, 31 Mar 2018 16:15:42 -0700</pubDate>
      <link>https://www.ioihan.com/blog/your-button-your-price-your-goal</link>
      <guid>https://www.ioihan.com/blog/your-button-your-price-your-goal</guid>
      <description>&lt;p style="font-size: 130%;"&gt;&lt;strong&gt;Your Button, Your Price, Your Goal?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Sitting here waiting for some processes to complete on my PC I have been thinking. A scary thing sometimes. But, in this case the title of this post occurred to me and while I was pondering the thought I figured I would share.&lt;/p&gt;&lt;p&gt;Some folks focus on their Button – It seems they wait for someone to press it so they can react. Often they seem to wait for the opportunity to react badly and then justify their bad reaction as deserved by the person that “pushed their Button”. After all, it’s not their fault that you pushed the obvious button. You should know better. Their existence is spent waiting for that next button press. Their day is made complete when their button is pressed, despite their rather vehement outburst to the contrary. Deep down they gain satisfaction from having their button pressed and then being able to vent their deep dissatisfaction with their existence on that poor soul that stumbled upon the bright red button labeled “push me”.&lt;/p&gt;&lt;p&gt;Then, some folks focus on the short-term gain of life and circumstance. Corporations do this when their constantly focus on the bottom-line profits, neglecting the strategy of their long-term corporate life. These individuals flit from opportunity to opportunity trading their life energy for that next great thing that will change the world and their circumstance. They would perhaps not sell their grandmother into slavery, but other less obvious choices may seem to reflect they would if it wasn’t so frowned upon. Their choices seem to lack vision and purpose and the obvious next choice is myopic and often harmful to their long-term success which they seem quite blissful to dismiss in ignorance. Their price is obvious and their vision is painfully lacking. A sad sight to behold.&lt;/p&gt;&lt;p&gt;Lastly there are the goal makers. These individuals don’t let others press their buttons. They have realized that their buttons can be shielded...&lt;a href=https://www.ioihan.com/blog/your-button-your-price-your-goal&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>Disable Windows 10 Auto Restart “Feature”</title>
      <pubDate>Sun, 15 Oct 2017 11:17:51 -0700</pubDate>
      <link>https://www.ioihan.com/blog/disable-windows-10-auto-restart-feature</link>
      <guid>https://www.ioihan.com/blog/disable-windows-10-auto-restart-feature</guid>
      <description>&lt;p&gt;I have been really enjoying this Windows 10 Auto Restart “Feature” so thoughtfully provided by a company that specializes in server products and developer tools. I find it most convenient to have all my running tests abruptly terminated, my database server shut down and my web services taken offline such that other process I had running now fail. Besides that being a great testing tool to ensure your OTHER services handle failure well.&lt;/p&gt;&lt;p&gt;I trust you can read through that above paragraph and detect a very thick sense of sarcasm. I have scoured the web for months looking for a solution and stumbled upon a hint. However, even with this hint it still took some time to find the referenced settings. BUT, found the settings I have and now to share with you.&lt;/p&gt;&lt;p&gt;&lt;a target="_self" href="https://www.microsoft.com/en-us/windowsforbusiness/default.aspx"&gt;Microsoft Windows 10 Enterprise details can be found here.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;There used to be an option to “Download updates and notify me to Install” and that is oddly missing in Windows 10. Lest anyone think I’m against patching the OS let me assure you that is NOT the case. I am, however, very against any equipment being unpredictable both hardware and software. At the top of the list of design rules, is be predictable.&lt;/p&gt;&lt;p style="font-size: 130%;"&gt;So, here is a step by step guide.&lt;/p&gt;&lt;p&gt;I have some sample screenshots below to help clarify.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Press the [Windows] key and type “Group Policy”&lt;/li&gt;&lt;li&gt;Choose “Edit Group Policy” from the list&lt;/li&gt;&lt;li&gt;Once the app opens, the title reads “Local Group Policy Editor”&lt;/li&gt;&lt;li&gt;Now choose the following sections in the “Computer Configuration” section&lt;/li&gt;&lt;li&gt;Administrative Templates&lt;ol&gt;&lt;li&gt;Windows components&lt;ol&gt;&lt;li&gt;Windows Update, located at the very bottom  (see image below)&lt;/li&gt;&lt;li&gt;If you expand the “Windows Update” option as you have all the others, you will need to click the “Windows Update” selection to reveal the list of settings in the...&lt;a href=https://www.ioihan.com/blog/disable-windows-10-auto-restart-feature&gt;Read More&lt;/a&gt;</description>
    </item>
    <item>
      <title>Espressif ESP32 Quick Connection Guide</title>
      <pubDate>Wed, 01 Feb 2017 11:26:47 -0800</pubDate>
      <link>https://www.ioihan.com/blog/espressif-esp32-quick-connection-guide</link>
      <guid>https://www.ioihan.com/blog/espressif-esp32-quick-connection-guide</guid>
      <description>&lt;p style="font-size: 130%;"&gt;&lt;strong&gt;&lt;em&gt;Espressif ESP32 Quick Connection Guide &lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="font-size: 80%;"&gt;&lt;strong&gt;&lt;em&gt;Wednesday, 01-FEB-17, by Wolf Scott @ IOIHAN Development (www.ioihan.com)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;How to connect the ESP32 development board as a client via WiFi to an access point without setting up the entire tool-chain or writing any code. If you want to use the AT command set, you can find the reference on how to download the firmware here: &lt;a target="_blank" href="http://espressif.com/sites/default/files/documentation/esp32_at_instruction_set_and_examples_en.pdf"&gt; ESP32 AT Instruction Set &amp; Firmware Download&lt;/a&gt; My goal was a code-less test.&lt;/p&gt;&lt;p&gt;There isn’t a lot of information out there on this little device. I quickly discovered a very simple task quite frustrating, namely, connect to my access point and send an HTTP POST request via the serial port. The ESP32 is NOT compatible with the ESP8266 at this command level.&lt;/p&gt;&lt;p&gt;I’ve broken this down into 2 posts and wanted to share what I’ve discovered to hopefully speed things up on what should be a very simple task for such a tiny device, and so that I have this information handy in the future as well.&lt;/p&gt;&lt;p&gt;The goal: Connect my ESP32 Development board as a client via WiFi to my access point without installing the tool-chain or writing any code.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;I’ll cut to the chase and give you the commands for those that hate to read. See the notes below for additional details. I am running Windows 10, 64bit with the Arduino IDE version 1.6.12. (The Arduino IDE is only being used for the serial terminal)&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;I’m using the Espressif ESP32 development board – Developer Edition, from adaFruit. &lt;a target="_blank" href="https://www.adafruit.com/products/3269"&gt;https://www.adafruit.com/products/3269&lt;/a&gt; This thing is too big to be useful on my proto board but since I’m only using the USB connection, no worries; it keeps it from flopping around.&lt;/p&gt;&lt;p&gt;This development board...&lt;a href=https://www.ioihan.com/blog/espressif-esp32-quick-connection-guide&gt;Read More&lt;/a&gt;</description>
    </item>
  </channel>
</rss>
