<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8857431988988627285</atom:id><lastBuildDate>Wed, 15 Apr 2026 11:15:54 +0000</lastBuildDate><category>Delphi</category><category>CodeGear</category><category>C++Builder</category><category>COM</category><category>photo</category><category>Touch</category><category>peek</category><category>Tips</category><category>Raspberry Pi</category><category>Lifestyle</category><category>Unicode</category><category>programming</category><category>C++</category><category>Java</category><category>Code</category><category>Tiburon</category><category>bash</category><category>Review</category><category>ergonomics</category><category>iOS</category><category>iPhone</category><category>vlog</category><category>3D Printing</category><category>C#</category><category>Help</category><category>JavaOne</category><category>funny</category><category>javapackager</category><category>packager</category><title>Chris Bensen</title><description>This is my blog about software development, mountain unicycling, Photography, and stuff I find interesting.</description><link>http://chrisbensen.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>546</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-8554588516726217146</guid><pubDate>Thu, 10 Nov 2022 04:56:00 +0000</pubDate><atom:updated>2022-11-09T20:56:59.790-08:00</atom:updated><title>Mastondon or Twitter</title><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;a rel=&quot;me&quot; href=&quot;https://mastodon.social/@chrisbensen&quot;&gt;Mastodon&lt;/a&gt;
&lt;a href=&quot;https://mastodon.social/@chrisbensen&quot;&gt;https://mastodon.social/@chrisbensen&lt;/a&gt;
or
&lt;a href=&quot;https://twitter.com/chrisbensen&quot;&gt;Twitter https://twitter.com/chrisbensen&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2022/11/mastondon-or-twitter.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7872032682800987490</guid><pubDate>Tue, 09 Nov 2021 15:00:00 +0000</pubDate><atom:updated>2021-11-18T07:32:28.443-08:00</atom:updated><title>How do I find my router&#39;s public IP Address from the command line?</title><description>&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span color=&quot;var(--highlight-color)&quot; style=&quot;font-size: 13px; font-style: inherit; font-variant-caps: inherit; white-space: inherit;&quot;&gt;dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://twitter.com/jpluimers&quot;&gt;@jpluimers&lt;/a&gt;&amp;nbsp;commented on Twitter that he uses:&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span color=&quot;var(--highlight-color)&quot; style=&quot;font-size: 13px; font-style: inherit; font-variant-caps: inherit; white-space: inherit;&quot;&gt;alias whatismyipv4=&#39;curl http://ipv4.whatismyip.akamai.com &amp;amp;&amp;amp; echo&#39;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Which is quite a bit shorter, I&#39;ll admit. However I think mine works in more situations, such as when http is blocked as&amp;nbsp;&lt;a href=&quot;https://twitter.com/jpluimers&quot;&gt;@jpluimers&lt;/a&gt;&amp;nbsp;mentions. I&#39;m not worried about length because a. I don&#39;t have to do this very often and b. when I do I search my blog and copy-paste. If you do it often, maybe alias the dig command. But I will leave that as an exercise for the reader.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2021/11/how-do-i-find-my-routers-public-ip.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-527753277258547161</guid><pubDate>Sun, 14 Mar 2021 14:00:00 +0000</pubDate><atom:updated>2021-06-10T09:19:09.320-07:00</atom:updated><title>World&#39;s Largest 3D Printed Raspberry Pi Brick Computer</title><description>

&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/Y5m0R9tTdR0&quot; width=&quot;320&quot; youtube-src-id=&quot;Y5m0R9tTdR0&quot;&gt;&lt;/iframe&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://makeprojects.com/project/worlds-largest-3d-printed-raspberry-pi-lego-computer&quot;&gt;Make:projects&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2021/03/worlds-largest-3d-printed-raspberry-pi.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Y5m0R9tTdR0/default.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6359113537293780091</guid><pubDate>Fri, 04 Dec 2020 15:00:00 +0000</pubDate><atom:updated>2020-12-04T08:37:22.430-08:00</atom:updated><title>GraalVM on macOS Big Sur</title><description>&lt;p&gt;&lt;span style=&quot;font-family: Menlo;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;Apparently&amp;nbsp;Graal isn&#39;t registered or signed right for macOS Big Sur:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;gt; graalvm-ce-java11-20.3.0/Contents/Home/bin/java —version&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;Produces the following:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixRJtH8FYBNW704pDqmAhzTV_1kwNF3fxgEBu4_xcGCWNXo8zyJbMSdUSFPrF11m9e8LC3DeTI-S01TBLKc80zycPElvI1n6Fymk7VuRX9U3h7iKH3of31EiZOR7GLL6D9OJDfeIZ5wQWr/&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;362&quot; data-original-width=&quot;372&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixRJtH8FYBNW704pDqmAhzTV_1kwNF3fxgEBu4_xcGCWNXo8zyJbMSdUSFPrF11m9e8LC3DeTI-S01TBLKc80zycPElvI1n6Fymk7VuRX9U3h7iKH3of31EiZOR7GLL6D9OJDfeIZ5wQWr/&quot; width=&quot;247&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: Menlo;&quot;&gt;To get around this, run the following:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;gt; sudo xattr -r -d com.apple.quarantine graalvm-ce-java11-20.3.0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&amp;gt; graalvm-ce-java11-20.3.0/Contents/Home/bin/java --version&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;openjdk 11.0.9 2020-10-20&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;OpenJDK Runtime Environment GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;OpenJDK 64-Bit Server VM GraalVM CE 20.3.0 (build 11.0.9+10-jvmci-20.3-b06, mixed mode, sharing)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/12/graalvm-on-macos-big-sur.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixRJtH8FYBNW704pDqmAhzTV_1kwNF3fxgEBu4_xcGCWNXo8zyJbMSdUSFPrF11m9e8LC3DeTI-S01TBLKc80zycPElvI1n6Fymk7VuRX9U3h7iKH3of31EiZOR7GLL6D9OJDfeIZ5wQWr/s72-c" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2491472367417501335</guid><pubDate>Tue, 17 Nov 2020 15:00:00 +0000</pubDate><atom:updated>2021-02-19T08:43:35.690-08:00</atom:updated><title>All Raspberry Pi Super Computer Posts in One Spot</title><description>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/KbVcRQQ9PNw&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/QZ9LufeXdgw&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&amp;nbsp;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;
&lt;br /&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/i5FiCxc-rJY&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;p&gt;&lt;a href=&quot;https://www.thingiverse.com/thing:3958586&quot;&gt;https://www.thingiverse.com/thing:3958586&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.thingiverse.com/thing:4652356&quot;&gt;https://www.thingiverse.com/thing:4652356&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/06/very-large-raspberry-pi-cluster-part-i.html&quot;&gt;http://chrisbensen.blogspot.com/2019/06/very-large-raspberry-pi-cluster-part-i.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/06/very-large-raspberry-pi-cluster-part-ii.html&quot;&gt;http://chrisbensen.blogspot.com/2019/06/very-large-raspberry-pi-cluster-part-ii.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/06/very-large-raspberry-pi-cluster-part-iii.html&quot;&gt;http://chrisbensen.blogspot.com/2019/06/very-large-raspberry-pi-cluster-part-iii.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/07/very-large-raspberry-pi-cluster-part-iv.html&quot;&gt;http://chrisbensen.blogspot.com/2019/07/very-large-raspberry-pi-cluster-part-iv.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/07/very-large-raspberry-pi-cluster-part-v.html&quot;&gt;http://chrisbensen.blogspot.com/2019/07/very-large-raspberry-pi-cluster-part-v.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/07/very-large-raspberry-pi-cluster-part-vi.html&quot;&gt;http://chrisbensen.blogspot.com/2019/07/very-large-raspberry-pi-cluster-part-vi.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/09/bringing-pi-home.html&quot;&gt;http://chrisbensen.blogspot.com/2019/09/bringing-pi-home.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/11/raspberry-pi-super-computer-stl-files.html&quot;&gt;http://chrisbensen.blogspot.com/2019/11/raspberry-pi-super-computer-stl-files.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/11/using-max-build-volume-of-ultimaker-3d.html&quot;&gt;http://chrisbensen.blogspot.com/2019/11/using-max-build-volume-of-ultimaker-3d.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2019/12/get-mac-address-for-pi-cluster.html&quot;&gt;http://chrisbensen.blogspot.com/2019/12/get-mac-address-for-pi-cluster.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2020/01/raspberry-pi-overlay-root-filesystem.html&quot;&gt;http://chrisbensen.blogspot.com/2020/01/raspberry-pi-overlay-root-filesystem.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2020/07/behind-scenes-building-worlds-largest.html&quot;&gt;http://chrisbensen.blogspot.com/2020/07/behind-scenes-building-worlds-largest.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://chrisbensen.blogspot.com/2020/11/parts-list-for-raspberry-pi-mini-super.html&quot;&gt;http://chrisbensen.blogspot.com/2020/11/parts-list-for-raspberry-pi-mini-super.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/11/all-raspberry-pi-super-computer-posts.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/KbVcRQQ9PNw/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-612890063139975953</guid><pubDate>Wed, 11 Nov 2020 15:00:00 +0000</pubDate><atom:updated>2020-11-11T07:00:01.502-08:00</atom:updated><title>git - make the history never exist</title><description>&lt;p&gt;I committed something to my git repo that I didn&#39;t mean to. Always, I mean always create a .gitignore first and add everything that should be excluded. Modifying the history is super scary and dare I say, dangerous. I did a quick google search and ran across this which seems to have the best steps for doing the desired surgery.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/10067848/remove-folder-and-its-contents-from-git-githubs-history/32886427#32886427&quot;&gt;https://stackoverflow.com/questions/10067848/remove-folder-and-its-contents-from-git-githubs-history/32886427#32886427&lt;/a&gt;&lt;/p&gt;&lt;p&gt;First run this to check the size:&lt;/p&gt;&lt;pre style=&quot;border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; line-height: 1.30769231; margin-bottom: 0px; margin-top: 0px; max-height: 600px; overflow: auto; padding: 12px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-800); font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;git count-objects -vH&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Just in case that link stops working I&#39;ve pasted there relevant bits here:&lt;/p&gt;&lt;pre class=&quot;lang-sh s-code-block hljs bash&quot; style=&quot;border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; line-height: 1.30769231; margin: 0px 0px calc(var(--s-prose-spacing) + 0.4em); max-height: 600px; overflow: auto; padding: 12px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# Make a fresh clone of YOUR_REPO&lt;/span&gt;
git &lt;span class=&quot;hljs-built_in&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-literal); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;clone&lt;/span&gt; YOUR_REPO
&lt;span class=&quot;hljs-built_in&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-literal); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;cd&lt;/span&gt; YOUR_REPO

&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# Create tracking branches of all branches&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-keyword); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;for&lt;/span&gt; remote &lt;span class=&quot;hljs-keyword&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-keyword); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;in&lt;/span&gt; `git branch -r | grep -v /HEAD`; &lt;span class=&quot;hljs-keyword&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-keyword); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;do&lt;/span&gt; git checkout --track &lt;span class=&quot;hljs-variable&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-variable); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;$remote&lt;/span&gt; ; &lt;span class=&quot;hljs-keyword&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-keyword); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;done&lt;/span&gt;

&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# Remove DIRECTORY_NAME from all commits, then remove the refs to the old commits&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# (repeat these two commands for as many directories that you want to remove)&lt;/span&gt;
git filter-branch --index-filter &lt;span class=&quot;hljs-string&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-variable); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;git rm -rf --cached --ignore-unmatch DIRECTORY_NAME/&#39;&lt;/span&gt; --prune-empty --tag-name-filter cat -- --all
git for-each-ref --format=&lt;span class=&quot;hljs-string&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-variable); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;%(refname)&quot;&lt;/span&gt; refs/original/ | xargs -n 1 git update-ref -d

&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# Ensure all old refs are fully removed&lt;/span&gt;
rm -Rf .git/logs .git/refs/original

&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# Perform a garbage collection to remove commits with no refs&lt;/span&gt;
git gc --prune=all --aggressive

&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# Force push all branches to overwrite their history&lt;/span&gt;
&lt;span class=&quot;hljs-comment&quot; style=&quot;border: 0px; box-sizing: inherit; color: var(--highlight-comment); font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;# (use with caution!)&lt;/span&gt;
git push origin --all --force
git push origin --tags --force&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Lastly run this command to check the size again:&lt;/p&gt;&lt;pre style=&quot;border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-left-radius: 5px; border-top-right-radius: 5px; border: 0px; box-sizing: inherit; color: var(--highlight-color); font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; line-height: 1.30769231; margin-bottom: 0px; margin-top: 0px; max-height: 600px; overflow: auto; padding: 12px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-800); font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;git count-objects -vH&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;It appears to have worked. I did have to reclone my repository which seemed a little odd but it worked.&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/11/git-make-history-never-exist.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3186407932530862117</guid><pubDate>Tue, 10 Nov 2020 15:00:00 +0000</pubDate><atom:updated>2020-11-10T07:00:10.774-08:00</atom:updated><title>Delete .DS_Store files on Mac</title><description>&lt;p&gt;As with many things I post to my blog I post them here rather than keeping on some personal repository of information because I don&#39;t want to have to remember it every time (no matter how simple it might be) and other people might find it useful when searching around.&lt;/p&gt;&lt;p&gt;Have you ever needed to remove all the .DS_store files on your Mac from all subdirectories, I dunno, maybe from a git repository? If so here:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;font-family: Menlo; font-size: 11px; font-stretch: normal; line-height: normal; margin: 0px;&quot;&gt;&lt;span style=&quot;font-variant-ligatures: no-common-ligatures;&quot;&gt;find . -name &quot;.DS_Store&quot; -print -exec rm {} \;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/11/delete-dsstore-files-on-mac.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3582329898563220010</guid><pubDate>Thu, 05 Nov 2020 15:00:00 +0000</pubDate><atom:updated>2020-11-05T11:20:47.663-08:00</atom:updated><title>Parts List for Raspberry Pi Mini Super Computer</title><description>&lt;p&gt;&amp;nbsp;Here are the parts for the Raspberry Pi Mini Super Computer. A build video can be found &lt;a href=&quot;https://youtu.be/QZ9LufeXdgw&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; color: black;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;background-color: #b0b3b2; border: 1px solid rgb(0, 0, 0); height: 11px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;b&gt;Name&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #b0b3b2; border: 1px solid rgb(0, 0, 0); height: 11px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;b&gt;Description&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #b0b3b2; border: 1px solid rgb(0, 0, 0); height: 11px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;b&gt;URL&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #b0b3b2; border: 1px solid rgb(0, 0, 0); height: 11px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;b&gt;Count&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #b0b3b2; border: 1px solid rgb(0, 0, 0); height: 11px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;b&gt;Price&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #b0b3b2; border: 1px solid rgb(0, 0, 0); height: 11px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;b&gt;Total&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Ubiquiti Networks US-48 48-Port UniFi Managed Gigabit Switch with SFP BH #UBUS48 • MFR #US-48 4 reviews 2 Questions, 3 Answers&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/c/product/1267264-REG/ubiquiti_networks_us_48_48_port_unifi.html&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/c/product/1267264-REG/ubiquiti_networks_us_48_48_port_unifi.html&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;359&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;718&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Network Cloud Key&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Ubiquiti Networks UniFi Cloud Key Gen2 B&amp;amp;H # UBUCKG2 MFR # UCK-G2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/bnh/controller/home?O=productlist.jsp&amp;amp;A=details&amp;amp;Q=&amp;amp;sku=1426308&amp;amp;is=REG&amp;amp;fromDisList=y&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/bnh/controller/home?O=productlist.jsp&amp;amp;A=details&amp;amp;Q=&amp;amp;sku=1426308&amp;amp;is=REG&amp;amp;fromDisList=y&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;179&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Ubiquiti Networks Networks Unifi Security Gateway Pro (USG-PRO-4)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/c/product/1224003-REG/ubiquiti_networks_usg_pro_4_enterprise_gateway_router.html&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/c/product/1224003-REG/ubiquiti_networks_usg_pro_4_enterprise_gateway_router.html&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;311.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;311&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Lenovo&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/c/product/1447926-REG/lenovo_10vg000sus_m715q_tiny_amd_ryzen.html&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/c/product/1447926-REG/lenovo_10vg000sus_m715q_tiny_amd_ryzen.html&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$649.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$1298.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 35px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Raspberry Pi 3B+&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 35px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 35px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.adafruit.com/product/3775&quot;&gt;&lt;u&gt;https://www.adafruit.com/product/3775&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 35px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;84&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 35px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$35.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 35px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$2940.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Pearstone Cat 6a Snagless Patch Cable (1&#39;, Blue)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/c/product/1368134-REG/pearstone_cat6_a01bl_cat6_snagless_patch_cable.html&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/c/product/1368134-REG/pearstone_cat6_a01bl_cat6_snagless_patch_cable.html&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;84&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$1.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$167.16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Pearstone Cat 6a Snagless Patch Cable (3’, Blue)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/c/product/1368083-REG/pearstone_cat6_a03bl_cat6_snagless_patch_cable.html&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/c/product/1368083-REG/pearstone_cat6_a03bl_cat6_snagless_patch_cable.html&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$1.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$11.94&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;http://startech.com/&quot;&gt;&lt;u&gt;StarTech.com&lt;/u&gt;&lt;/a&gt;&amp;nbsp;3 ft / 91cm Micro USB Cable - A to Right Angle Micro B - USB Type A - 90 Degree Micro-USB Type B (M) - Black (UUSBHAUB3RA)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B001AR4NC8/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B001AR4NC8/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;84&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$3.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$252.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Security-01 2 Packs 80mm by 80mm by 25mm 8025 12V DC 0.20A Ball Bearing Brushless Cooling Fan 2pin AV-F8025MB UL CE&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B072QCTYJW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B072QCTYJW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$15.98&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$671.16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;USB Charging Station, 60 Ports USB Power Station&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07MB12XZ4/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B07MB12XZ4/ref=ppx_yo_dt_b_asin_title_o06_s00?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;0&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;NP-05B Remote PDU, UL-STD TUV Listed, 5 Switchable Outlets. Manufactured and Supported in USA. Control Via Web, Telnet, USB Serial Port.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B0039OZKPE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B0039OZKPE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$229.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$229.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;10 Pack AC 250V 10A IEC 320 C14 Panel Mount Plug Adapter Power Connector Socket Black Screw Mount 3 Pins Inlet Power Plug Socket By MXR&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07DCXKNXQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B07DCXKNXQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$6.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 107px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$6.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 419px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;20 Amp Commercial Grade Self Grounding Duplex Outlet, White&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 419px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 419px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.homedepot.com/p/Leviton-20-Amp-Commercial-Grade-Self-Grounding-Duplex-Outlet-White-CR020-W/301361601?mtc=Shopping-VF-F_D27E-G-D27E-27_2_WIRING_DEVICES-MULTI-NA-Feed-PLA-NA-NA-WIRING_DEVICES&amp;amp;cm_mmc=Shopping-VF-F_D27E-G-D27E-27_2_WIRING_DEVICES-MULTI-NA-Feed-PLA-NA-NA-WIRING_DEVICES-71700000033102358-58700003867202208-92700048704098216&amp;amp;gclid=Cj0KCQjwlN32BRCCARIsADZ-J4sX8I34COOeOObT54AuBh8-WH9bJEW56rMUTTd-6F6A_CWZAGu1hdMaAg4fEALw_wcB&amp;amp;gclsrc=aw.ds&quot;&gt;&lt;u&gt;https://www.homedepot.com/p/Leviton-20-Amp-Commercial-Grade-Self-Grounding-Duplex-Outlet-White-CR020-W/301361601?mtc=Shopping-VF-F_D27E-G-D27E-27_2_WIRING_DEVICES-MULTI-NA-Feed-PLA-NA-NA-WIRING_DEVICES&amp;amp;cm_mmc=Shopping-VF-F_D27E-G-D27E-27_2_WIRING_DEVICES-MULTI-NA-Feed-PLA-NA-NA-WIRING_DEVICES-71700000033102358-58700003867202208-92700048704098216&amp;amp;gclid=Cj0KCQjwlN32BRCCARIsADZ-J4sX8I34COOeOObT54AuBh8-WH9bJEW56rMUTTd-6F6A_CWZAGu1hdMaAg4fEALw_wcB&amp;amp;gclsrc=aw.ds&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 419px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 419px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$1.58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 419px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$1.58&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;ADJ Products AC POWER STRIP (PC-100A)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B00KFZ98YO/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B00KFZ98YO/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$60.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$60.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 204px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Lenovo m715q&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 204px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 204px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.bhphotovideo.com/c/product/1447926-REG/lenovo_10vg000sus_m715q_tiny_amd_ryzen.html/?ap=y&amp;amp;ap=y&amp;amp;smp=y&amp;amp;smp=y&amp;amp;lsft=BI%3A514&amp;amp;gclid=Cj0KCQjwlN32BRCCARIsADZ-J4tcQ5N2xqLSAEzwLDfX2ZHTNgKxCieVyw98BsSOkuGtUyIclAF70E8aAvMeEALw_wcB&quot;&gt;&lt;u&gt;https://www.bhphotovideo.com/c/product/1447926-REG/lenovo_10vg000sus_m715q_tiny_amd_ryzen.html/?ap=y&amp;amp;ap=y&amp;amp;smp=y&amp;amp;smp=y&amp;amp;lsft=BI%3A514&amp;amp;gclid=Cj0KCQjwlN32BRCCARIsADZ-J4tcQ5N2xqLSAEzwLDfX2ZHTNgKxCieVyw98BsSOkuGtUyIclAF70E8aAvMeEALw_wcB&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 204px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 204px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$500.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 204px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$1000.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 143px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;UGREEN USB C Charger 18W PD 3.0 Type C Wall Charger Power Delivery for iPhone SE 11 Pro Max Xs Max XR X 8 Plus, AirPods Pro, iPad Pro, Google Pixel 3a XL, Samsung Galaxy S10+ S9+, LG V50 ThinQ G8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 143px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Needed to power cloud key&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 143px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07R7K2QMW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B07R7K2QMW/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 143px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 143px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$13.89&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 143px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$13.89&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;XLX 50PCS 25Pair Mini Micro 2.54 2PIN Female and Male Connection Plug with Red Black Terminal Connector Wire Cable 200mm Compatible with JST XH&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Connect to fans. You have to swap red and black or remember to connect red to black&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B076JFFDWN/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B076JFFDWN/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$17.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$17.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 23px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Power supply for fans?&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 23px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 23px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 23px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 23px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 23px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;DisplayPort to HDMI, Benfei Gold-Plated DP Display Port to HDMI Adapter (Male to Female) Compatible for Lenovo Dell HP and Other Brand&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Connect Lenovo to HDMI&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B017Q8ZVWK/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B017Q8ZVWK/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$9.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$19.98&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;BATIGE HDMI Male to Female Car Mount Flush Extension Cable Truck Boat Motorcycle Dashboard Flush Mount with Mounting Panel - 3ft&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B01LX1FQPE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B01LX1FQPE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$9.45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 119px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$18.90&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 131px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;VELCRO Brand ONE-WRAP Roll Black | 30 Ft x 1-1/2 In | Reusable Self-Gripping Hook and Loop Tape | Cut Straps to Bundle Tie Materials and Tools in Garage Shed or Worksite&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 131px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 131px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B00404ULFQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B00404ULFQ/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 131px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 131px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$20.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 131px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$20.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;GOWOS (5 Pack) Cat6 Shielded RJ45 Panel Mount Industrial Bulkhead - Female to Female Feed Thru Coupler&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07PRDVZ5X/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;th=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B07PRDVZ5X/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;th=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$57.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$57.03&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Neutrik NE8FDP etherCON RJ-45 Feedthrough Chassis Connector&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B002BER402/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B002BER402/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$8.71&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;$17.42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Gigabit + PoE Adapter (L6-NETPOE)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://redpark.myshopify.com/products/gigabit-ethernet-poe-adapter-l6-netpoe?_pos=1&amp;amp;_sid=d0dccef3e&amp;amp;_ss=r&quot;&gt;&lt;u&gt;https://redpark.myshopify.com/products/gigabit-ethernet-poe-adapter-l6-netpoe?_pos=1&amp;amp;_sid=d0dccef3e&amp;amp;_ss=r&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 95px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;USB Micro B Cable for Lightning 400mm (L90-B-4)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://redpark.myshopify.com/products/usb-micro-b-cable-for-lightning-l90-b-40?_pos=4&amp;amp;_sid=a7fe65e2c&amp;amp;_ss=r&quot;&gt;&lt;u&gt;https://redpark.myshopify.com/products/usb-micro-b-cable-for-lightning-l90-b-40?_pos=4&amp;amp;_sid=a7fe65e2c&amp;amp;_ss=r&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;29.00&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;29&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;SR Mini Keyboard Wired Thin Light 78 Keys USB Multimedia Small for Pc Computer Laptop&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B01IQL2VCE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B01IQL2VCE/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;12.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;12.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Neutrik NE8FDP etherCON RJ-45 Feedthrough Chassis Connector&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B002BER402/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B002BER402/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;8.71&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;17.42&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 395px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Seismic Audio - SA-ET10-10 Foot CAT6 Ethercon Compatible RJ45 Pro Audio Patch Cable - Pro Series OFC for Recording, Stage, Studio use&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 395px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 395px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/dp/B07MCYS74X/ref=sspa_dk_detail_4?psc=1&amp;amp;pd_rd_i=B07MCYS74X&amp;amp;pd_rd_w=xd6L9&amp;amp;pf_rd_p=48d372c1-f7e1-4b8b-9d02-4bd86f5158c5&amp;amp;pd_rd_wg=eTMA3&amp;amp;pf_rd_r=K8R6X4J5Y7Z0728XY4EY&amp;amp;pd_rd_r=1bdfcc85-8cc3-48cd-856a-c4fc7c79ac54&amp;amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExS1dVQVMzS1VGVEVOJmVuY3J5cHRlZElkPUEwMTgyMDkzMzczMkhVTDVGT0VGRCZlbmNyeXB0ZWRBZElkPUExMDE0NTkyMVNXOVpRQUdOV0o2NiZ3aWRnZXROYW1lPXNwX2RldGFpbCZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=&quot;&gt;&lt;u&gt;https://www.amazon.com/dp/B07MCYS74X/ref=sspa_dk_detail_4?psc=1&amp;amp;pd_rd_i=B07MCYS74X&amp;amp;pd_rd_w=xd6L9&amp;amp;pf_rd_p=48d372c1-f7e1-4b8b-9d02-4bd86f5158c5&amp;amp;pd_rd_wg=eTMA3&amp;amp;pf_rd_r=K8R6X4J5Y7Z0728XY4EY&amp;amp;pd_rd_r=1bdfcc85-8cc3-48cd-856a-c4fc7c79ac54&amp;amp;spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExS1dVQVMzS1VGVEVOJmVuY3J5cHRlZElkPUEwMTgyMDkzMzczMkhVTDVGT0VGRCZlbmNyeXB0ZWRBZElkPUExMDE0NTkyMVNXOVpRQUdOV0o2NiZ3aWRnZXROYW1lPXNwX2RldGFpbCZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 395px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 395px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;19.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 395px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;19.99&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Pelican Air 1615 Case with Foam (Yellow)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;With Foam&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B07JHTXF3X/ref=ppx_yo_dt_b_asin_title_o08_s01?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B07JHTXF3X/ref=ppx_yo_dt_b_asin_title_o08_s01?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;325.77&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 83px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;325.77&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;Ceptics 12Pcs International Travel Worldwide Grounded Universal Plug Adapter Set - Charge Your Devices from Anywhere in The World&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;font-family: Helvetica; font-size: 12px; font-stretch: normal; line-height: normal; margin: 0px; min-height: 14px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;&lt;a href=&quot;https://www.amazon.com/gp/product/B01DJEBLQU/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&amp;amp;psc=1&quot;&gt;&lt;u&gt;https://www.amazon.com/gp/product/B01DJEBLQU/ref=ppx_yo_dt_b_asin_title_o05_s00?ie=UTF8&amp;amp;psc=1&lt;/u&gt;&lt;span style=&quot;font-variant-ligatures: common-ligatures;&quot;&gt;&lt;u&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;1&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;13.85&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;border: 1px solid rgb(0, 0, 0); height: 108px; padding: 4px; width: 89px;&quot; valign=&quot;top&quot;&gt;&lt;p style=&quot;margin: 0px;&quot;&gt;&lt;span style=&quot;color: black; font-family: Helvetica Neue; font-size: 10px; font-stretch: normal; font-variant-ligatures: common-ligatures; line-height: normal;&quot;&gt;13.85&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/11/parts-list-for-raspberry-pi-mini-super.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7737868263337031402</guid><pubDate>Thu, 27 Aug 2020 14:00:00 +0000</pubDate><atom:updated>2020-08-27T07:00:01.451-07:00</atom:updated><title>Three Important Things to Work From Home</title><description>&lt;div&gt;As most people around the world with a desk job have been working from home for the better part of the last 6 months, and as I sit here displaced because of the California fires without my normalcy, I just wanted to write about a few things that I find important working from home, but the same can apply to working from an office as well:&lt;/div&gt;&lt;br /&gt;
1. A good headset&lt;br /&gt;
&lt;br /&gt;I have tried a lot of headsets. There are two that I really like&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://amzn.to/3aXFl9U&quot;&gt;Sennheiser GAME ZERO Gaming Headset&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;a href=&quot;https://amzn.to/3lnl6qU&quot;&gt;Apple AirPods&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Both of these have noise cancelling and just work. Don&#39;t bother with the AirPod Pro noise cancelling, I&#39;m sure they&#39;re nice but they are super expensive, and if you don&#39;t get the wireless charging case then you can get AirPods for around $120 which is still expensive but they really work great. Other similar headphones are out and I haven&#39;t tried all of them but considering I&#39;d probably try 2-3 at half the price then surpassing the price of the AirPods and the AirPods work great I just go with it.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. A good desk adjusted ergonomic desk that is adjusted properly&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://progressiveactuators.com/products/table-lift-sets-flt-02-white/&quot;&gt;Powered Up Down Desk&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://progressiveactuators.com/products/lifting-column-sets-flt-04/&quot;&gt;4-Legged Powered Up Down Desk&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Buy a set of these legs and an IKEA butcher block counter top and you have yourself one awesome desk.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Exercise&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Daily minimum 30 minutes of hard exercise. Find a routine and stick to it. Burpies in a tight space are great but get the heart rate up there.&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/03/three-important-things-to-work-from-home.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7939752997130825796</guid><pubDate>Wed, 26 Aug 2020 14:41:00 +0000</pubDate><atom:updated>2020-08-26T07:41:28.545-07:00</atom:updated><title>Evacuated from the Fires in Santa Cruz - Tried to Rescue the Raspberry Pi Mini Super Computer</title><description>&lt;p&gt;&lt;span style=&quot;caret-color: rgb(20, 23, 26); color: #14171a; font-family: system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Ubuntu, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 15px; white-space: pre-wrap;&quot;&gt;We had to evacuate our home because of the fires in Santa Cruz California. Trying to find some humor in a very difficult situation.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&quot;&quot; class=&quot;BLOG_video_class&quot; height=&quot;266&quot; src=&quot;https://www.youtube.com/embed/i5FiCxc-rJY&quot; width=&quot;320&quot; youtube-src-id=&quot;i5FiCxc-rJY&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/08/evacuated-from-fires-in-santa-cruz.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/i5FiCxc-rJY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7049052382736039216</guid><pubDate>Thu, 30 Jul 2020 14:00:00 +0000</pubDate><atom:updated>2020-07-30T16:17:51.666-07:00</atom:updated><title>Upgrade to macOS Catalina broke the Arduino IDE</title><description>Everything was working fine and then I upgraded to macOS Catalina. The Arduino IDE version 1.8.12 just wouldn&#39;t start. Then I ran from terminal and looked at the actually error.&lt;br /&gt;
&lt;br /&gt;
./Arduino&lt;br /&gt;
Set log4j store directory /Users/cbensen/Library/Arduino15&lt;br /&gt;
2020-07-30 08:39:47.311 Arduino[73800:11442574] name is : .SFNS-Regular&lt;br /&gt;
2020-07-30 08:39:47.311 Arduino[73800:11442574] family is : .AppleSystemUIFont&lt;br /&gt;
2020-07-30 08:39:47.311 Arduino[73800:11442574] name is : .SFNS-Bold&lt;br /&gt;
2020-07-30 08:39:47.311 Arduino[73800:11442574] family is : .AppleSystemUIFont&lt;br /&gt;
2020-07-30 08:39:47.312 Arduino[73800:11442574] name is : .SFNSMono-Regular&lt;br /&gt;
2020-07-30 08:39:47.312 Arduino[73800:11442574] family is : .SF NS Mono&lt;br /&gt;
2020-07-30 08:39:47.706 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNS-Regular&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.706 Arduino[73800:11442574] CoreText note: Set a breakpoint on CTFontLogSystemFontNameRequest to debug.&lt;br /&gt;
2020-07-30 08:39:47.706 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNS-Regular&lt;br /&gt;
2020-07-30 08:39:47.707 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNS-Bold&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.707 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNS-Bold&lt;br /&gt;
2020-07-30 08:39:47.707 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNSMono-Regular&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.707 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNSMono-Regular&lt;br /&gt;
2020-07-30 08:39:47.710 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNSMono-Regular&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.710 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNSMono-Regular&lt;br /&gt;
2020-07-30 08:39:47.710 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNSMono-Regular&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.710 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNSMono-Regular&lt;br /&gt;
2020-07-30 08:39:47.713 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNS-Regular&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.713 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNS-Regular&lt;br /&gt;
2020-07-30 08:39:47.713 Arduino[73800:11442574] CoreText note: Client requested name &quot;.SFNS-Bold&quot;, it will get Times-Roman rather than the intended font. All system UI font access should be through proper APIs such as CTFontCreateUIFontForLanguage() or +[NSFont systemFontOfSize:].&lt;br /&gt;
2020-07-30 08:39:47.713 Arduino[73800:11442574] needed to substitute Lucida Grande for: .SFNS-Bold&lt;br /&gt;
java.lang.NullPointerException&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at cc.arduino.contributions.packages.ContributionsIndexer.parseIndex(ContributionsIndexer.java:134)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at processing.app.BaseNoGui.initPackages(BaseNoGui.java:483)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at processing.app.Base.&amp;lt;init&amp;gt;(Base.java:273)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;at processing.app.Base.main(Base.java:150)&lt;br /&gt;
&lt;br /&gt;
After some digging around, trying a few things I came across this article https://github.com/arduino/Arduino/issues/9828 and I decided to live life on the edge and try the hourly build! And that did it. So there&#39;s an issue and it apparently is known and has been fixed.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/07/upgrade-to-macos-catalina-broke-arduino.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2402454399991190438</guid><pubDate>Thu, 23 Jul 2020 14:00:00 +0000</pubDate><atom:updated>2020-07-23T07:00:12.379-07:00</atom:updated><title>Running Out of Memory with SQL Developer</title><description>Previously I wrote about getting SQL Developer to work, well, just work &lt;a href=&quot;http://chrisbensen.blogspot.com/2020/04/sql-developer-on-mac.html&quot;&gt;here&lt;/a&gt;. It just doesn&#39;t work as downloaded and is still a very useful tool when connecting to databases. I recently ran into another issue, which is out of memory problems. It&#39;s rather easy to fix but I spent all day tracking down in the boot scripts for how. So here&#39;s how (even if all I&#39;m doing is documenting it for my future self):&lt;br /&gt;
&lt;br /&gt;
1. Open the file in your favorite text editor:&lt;br /&gt;
&lt;br /&gt;
/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/ide/bin/ide.conf&lt;br /&gt;
&lt;br /&gt;
2. Search for the line:&lt;br /&gt;
&lt;br /&gt;
AddVMOption &amp;nbsp;-Xmx800M&lt;br /&gt;
&lt;br /&gt;
3. Change it to more, a lot more! I just added a couple zeros and I&#39;m all good:&lt;br /&gt;
&lt;br /&gt;
AddVMOption &amp;nbsp;-Xmx80000M&lt;br /&gt;
&lt;br /&gt;
So there you have it.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/07/running-out-of-memory-with-sql-developer.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2606174465501984794</guid><pubDate>Wed, 01 Jul 2020 14:00:00 +0000</pubDate><atom:updated>2020-07-01T07:00:00.143-07:00</atom:updated><title>Behind the Scenes - Building the World&#39;s Largest Raspberry Pi Cluster</title><description>I thought I&#39;d published this already. Well, better late than never. Here is a look behind the scenes of building this amazing piece of equipment.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://youtu.be/KbVcRQQ9PNw&quot;&gt;https://youtu.be/KbVcRQQ9PNw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;

&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/KbVcRQQ9PNw&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/07/behind-scenes-building-worlds-largest.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/KbVcRQQ9PNw/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4094132047790402746</guid><pubDate>Mon, 04 May 2020 14:00:00 +0000</pubDate><atom:updated>2020-05-04T07:00:00.632-07:00</atom:updated><title>Java Preview Features</title><description>Today I went to write some Java and test out the preview features. It wasn&#39;t as easy to use them as I thought it&#39;d be. I normally use Netbeans. Don&#39;t ask. I use a lot of different IDEs but quickly realized yeah, JDK 14 and the preview features don&#39;t work in 11.3 at all. So here&#39;s how to get it working in InntelliJ IDEA.&lt;br /&gt;
&lt;br /&gt;
1. Go to File and choose Project Stucture&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFx2GXicS9mnZDq0mYBZldCO0rJjRZgSUTmTMGiN1kdIgxzJE8gHCsTT-3DLo52lFw8TymmSua5GI-prs_OvQGG3-XQ0bOx_HU1f1huOvIApxnlBbIBQ4zr3qYa_Lb9yO3EEPZTI8VAmq_/s1600/Screen+Shot+2020-04-30+at+2.20.56+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFx2GXicS9mnZDq0mYBZldCO0rJjRZgSUTmTMGiN1kdIgxzJE8gHCsTT-3DLo52lFw8TymmSua5GI-prs_OvQGG3-XQ0bOx_HU1f1huOvIApxnlBbIBQ4zr3qYa_Lb9yO3EEPZTI8VAmq_/s320/Screen+Shot+2020-04-30+at+2.20.56+PM.png&quot; width=&quot;220&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. From here set the &quot;Project language level&quot; to 14 so you can write some records and text blocks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFx2GXicS9mnZDq0mYBZldCO0rJjRZgSUTmTMGiN1kdIgxzJE8gHCsTT-3DLo52lFw8TymmSua5GI-prs_OvQGG3-XQ0bOx_HU1f1huOvIApxnlBbIBQ4zr3qYa_Lb9yO3EEPZTI8VAmq_/s1600/Screen+Shot+2020-04-30+at+2.20.56+PM.png&quot; imageanchor=&quot;1&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdV3Icifc9zAS9hKFndBQC0xX76Hl_pCiDl7eL_iY0_Vyg_AMOGMnC1C8_stmGsumG0nwy0_2pctAnNN10J4iKOTb71rDB6dw8qaY9Jjm0zb-JfrC_YkTmT-7HQQG-79gFMO6JpchUu8u_/s1600/Screen+Shot+2020-04-30+at+2.21.08+PM.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdV3Icifc9zAS9hKFndBQC0xX76Hl_pCiDl7eL_iY0_Vyg_AMOGMnC1C8_stmGsumG0nwy0_2pctAnNN10J4iKOTb71rDB6dw8qaY9Jjm0zb-JfrC_YkTmT-7HQQG-79gFMO6JpchUu8u_/s640/Screen+Shot+2020-04-30+at+2.21.08+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Viola!&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/05/java-preview-features.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFx2GXicS9mnZDq0mYBZldCO0rJjRZgSUTmTMGiN1kdIgxzJE8gHCsTT-3DLo52lFw8TymmSua5GI-prs_OvQGG3-XQ0bOx_HU1f1huOvIApxnlBbIBQ4zr3qYa_Lb9yO3EEPZTI8VAmq_/s72-c/Screen+Shot+2020-04-30+at+2.20.56+PM.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6716015145597327056</guid><pubDate>Fri, 17 Apr 2020 00:00:00 +0000</pubDate><atom:updated>2020-04-16T17:14:03.594-07:00</atom:updated><title>3D Printed Face Shield</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Uyq1JHXRCndtMnpFwZSV_a0Z7XZ9Pa9zOhIyZ4wVasbkUaaVSTzwA-v9wXmRSy0x71U3mtmyjem3eTXmP4rCdfqI0IhqjJ2XQnot-Uvy7qTCYxGEo3dY4JWS9Fyw3FM2gM4CDL-jL84s/s1600/Face+Shield.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Uyq1JHXRCndtMnpFwZSV_a0Z7XZ9Pa9zOhIyZ4wVasbkUaaVSTzwA-v9wXmRSy0x71U3mtmyjem3eTXmP4rCdfqI0IhqjJ2XQnot-Uvy7qTCYxGEo3dY4JWS9Fyw3FM2gM4CDL-jL84s/s320/Face+Shield.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.thingiverse.com/thing:4292328&quot;&gt;https://www.thingiverse.com/thing:4292328&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
I uploaded a quick easy to print 3D printed face shield. This is based off the model by:&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
https://3dverkstan.se/protective-visor/&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
I have included both the STL and the Fusion 360 files.&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
I solved three problems with the original design:&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
1. Healthworkers didn&#39;t like the curls at the end since it conflicted with face mask straps and headbands so now the ends are straight.&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
2. I changed it to use a standard 3 hole punch. It doesn&#39;t attached to as many places but it isn&#39;t a problem because of the other fixes.&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
3. Each of the three visor attachment nubs is notched so the plastic goes over easier. This also solved the problem where the visor plastic would tear and fall off.&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
Now some hospitals will only accept face shields that come up over the head. This could be easily modified but would require a laser cutter or had cutting plus additional material, or extra time 3D printing. Many hospitals will accept this design and they are far faster to produce. So I suggest testing it out.&lt;/div&gt;
&lt;div style=&quot;caret-color: rgb(85, 85, 85); color: #555555; line-height: 16px; max-width: 580px; opacity: 0.8;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;nbsp;

&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;amp;OneJS=1&amp;amp;Operation=GetAdHtml&amp;amp;MarketPlace=US&amp;amp;source=ac&amp;amp;ref=qf_sp_asin_til&amp;amp;ad_type=product_link&amp;amp;tracking_id=chribens-20&amp;amp;marketplace=amazon&amp;amp;region=US&amp;amp;placement=B003U6KYO8&amp;amp;asins=B003U6KYO8&amp;amp;linkId=7f207d2b2752af2b9efa2606c06f3e7a&amp;amp;show_border=false&amp;amp;link_opens_in_new_window=false&amp;amp;price_color=333333&amp;amp;title_color=0066C0&amp;amp;bg_color=FFFFFF&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;
    &lt;/iframe&gt;



&lt;iframe frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&amp;amp;OneJS=1&amp;amp;Operation=GetAdHtml&amp;amp;MarketPlace=US&amp;amp;source=ac&amp;amp;ref=qf_sp_asin_til&amp;amp;ad_type=product_link&amp;amp;tracking_id=chribens-20&amp;amp;marketplace=amazon&amp;amp;region=US&amp;amp;placement=B0015ZXIL2&amp;amp;asins=B0015ZXIL2&amp;amp;linkId=15eaab028a05b10ca3356a9e58001150&amp;amp;show_border=false&amp;amp;link_opens_in_new_window=false&amp;amp;price_color=333333&amp;amp;title_color=0066c0&amp;amp;bg_color=ffffff&quot; style=&quot;height: 240px; width: 120px;&quot;&gt;
    &lt;/iframe&gt;&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/04/3d-printed-face-shield.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7Uyq1JHXRCndtMnpFwZSV_a0Z7XZ9Pa9zOhIyZ4wVasbkUaaVSTzwA-v9wXmRSy0x71U3mtmyjem3eTXmP4rCdfqI0IhqjJ2XQnot-Uvy7qTCYxGEo3dY4JWS9Fyw3FM2gM4CDL-jL84s/s72-c/Face+Shield.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-2007193809152239619</guid><pubDate>Wed, 15 Apr 2020 14:00:00 +0000</pubDate><atom:updated>2020-04-15T08:26:07.881-07:00</atom:updated><title>SQL Developer on Mac</title><description>I&#39;m doing a little Autonomous Database project so I downloaded SQL Developer for Mac. When I run it I get the error:&lt;br /&gt;
&lt;br /&gt;
SQL Developer requires a minimum of Java 8.&lt;br /&gt;
Java 8 can be downloaded from:&lt;br /&gt;
&amp;nbsp;http://www.oracle.com/technetwork/java/javase/downloads/&lt;br /&gt;
&lt;br /&gt;
Fortunately this is really easy to fix. I will file a bug so you don&#39;t have to make these changes but here&#39;s how to fix it.&lt;br /&gt;
&lt;br /&gt;
1. Right click on SQL Developer in the dock and choose Options | Show in Finder&lt;br /&gt;
2. Right click on SQLDeveloper.app and choose &quot;Show Package Contents&quot;&lt;br /&gt;
3. Double click on Contents and then MacOS&lt;br /&gt;
4. Go to http://www.oracle.com/technetwork/java/javase/downloads/ and download JDK 1.8 JRE&lt;br /&gt;
5. Unzip it and copy the directory into the MacOS directory&lt;br /&gt;
6. Open sqldeveloper.sh in any text editor. I commented out everything in the file and pasted in the following:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;export PATH=/Applications/SQLDeveloper.app/Contents/MacOS/jre1.8.0_251.jre/Contents/Home/bin:$PATH&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;export JAVA_HOME=/Applications/SQLDeveloper.app/Contents/MacOS/jre1.8.0_251.jre/Contents/Home&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
so now&amp;nbsp;sqldeveloper.sh looks like this:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# TMP_PATH=`/usr/libexec/java_home -F -v 1.8`&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# if [ -z &quot;$TMP_PATH&quot; ] ; then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; TMP_PATH=`/usr/libexec/java_home -F -v 9`&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; #TMP_PATH=&#39;/Applications/SQLDeveloper.app/Contents/MacOS/jre-9.0.4.jre/Contents/Home&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; if [ -z &quot;$TMP_PATH&quot; ] ; then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; &amp;nbsp; osascript -e &#39;tell app &quot;System Events&quot; to display dialog &quot;SQL Developer requires a minimum of Java 8. \nJava 8 can be downloaded from:\n http://www.oracle.com/technetwork/java/javase/downloads/&quot;&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; &amp;nbsp; exit 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; fi&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# fi&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# export JAVA_HOME=$TMP_PATH&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# if [[ -f $HOME/.sqldeveloper/19.1.0/env.sh ]];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &amp;nbsp; source &quot;$HOME/.sqldeveloper/19.1.0/env.sh&quot; &amp;gt;&amp;gt; /dev/null&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# elif [[ -f $HOME/.sqldeveloper/env.sh ]];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# then&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;source &quot;$HOME/.sqldeveloper/env.sh&quot; &amp;nbsp;&amp;gt;&amp;gt; /dev/null&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# fi&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;#&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# here=&quot;${0%/*}&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# cd &quot;${here}&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# cd ../Resources/sqldeveloper/sqldeveloper/bin&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;# bash ./sqldeveloper &amp;gt;&amp;gt;/dev/null&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;export PATH=/Applications/SQLDeveloper.app/Contents/MacOS/jre1.8.0_251.jre/Contents/Home/bin:$PATH&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;export JAVA_HOME=/Applications/SQLDeveloper.app/Contents/MacOS/jre1.8.0_251.jre/Contents/Home&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-size: x-small;&quot;&gt;/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sqldeveloper&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
7. Save sqldeveloper.sh&lt;br /&gt;
&lt;br /&gt;
Now run it and you should get the splash screen.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrPmxj8RrE5vtI8eaQZI9QNVW25huVS3DR-WQTa3KwaQ_rENbYR9JHO2cWVD9novoa1Ts7Pt5JE5KSBWUdAZsf0_w-4ofO2EbewXJa0OVe1D5yWLq6OVCSBCdRjyGbKUpOcGuigCqshml/s1600/Screen+Shot+2020-04-14+at+5.15.58+PM.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;332&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrPmxj8RrE5vtI8eaQZI9QNVW25huVS3DR-WQTa3KwaQ_rENbYR9JHO2cWVD9novoa1Ts7Pt5JE5KSBWUdAZsf0_w-4ofO2EbewXJa0OVe1D5yWLq6OVCSBCdRjyGbKUpOcGuigCqshml/s640/Screen+Shot+2020-04-14+at+5.15.58+PM.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I actually worked on the core product that SQL Developer uses and built that splash screen, the fancy progress bar graphics and all the loading code of the plugins and migration system.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/04/sql-developer-on-mac.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLrPmxj8RrE5vtI8eaQZI9QNVW25huVS3DR-WQTa3KwaQ_rENbYR9JHO2cWVD9novoa1Ts7Pt5JE5KSBWUdAZsf0_w-4ofO2EbewXJa0OVe1D5yWLq6OVCSBCdRjyGbKUpOcGuigCqshml/s72-c/Screen+Shot+2020-04-14+at+5.15.58+PM.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-1309547792605935681</guid><pubDate>Mon, 10 Feb 2020 15:00:00 +0000</pubDate><atom:updated>2020-02-10T07:00:05.102-08:00</atom:updated><title>Fusion 360 On Mac</title><description>For the last year I&#39;ve been using Fusion 360. Solidworks is too expensive for what I do, I haven&#39;t really liked Rhino or ViaCad, OpensCAD or FreeCAD. For the most part it works pretty good. There is however one problem I constantly encounter and that is the auto update mechanism leaves a lot to be desired. Chrome does this extremely well and I wish Autodesk would replicate their excellent system because at least once a month the Fusion 360 app either changes location in my dock or disappears completely. The disappearing completely is the biggest problem because then I have to go searching for it. Usually it lives here:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;/users/&amp;lt;username&amp;gt;/library/application support/autodesk/webdeploy/production/Autodesk Fusion 360.app&lt;br /&gt;
&lt;br /&gt;
So hopefully this saves someone some time.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/02/fusion-360-on-mac.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4441866473942320134</guid><pubDate>Mon, 27 Jan 2020 15:00:00 +0000</pubDate><atom:updated>2020-03-12T09:23:32.534-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><title>Raspberry Pi Overlay Root Filesystem</title><description>&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px;&quot;&gt;
I copied this from&amp;nbsp;&lt;a href=&quot;https://yagrebu.net/unix/rpi-overlay.md&quot; style=&quot;font-family: -webkit-standard;&quot;&gt;https://yagrebu.net/unix/rpi-overlay.md&lt;/a&gt;&amp;nbsp;so I don&#39;t loose it. I have done a lot of network booting and overlay file system work this last year and these are the best directions for overlay file system and don&#39;t want to loose them. I will rewrite them to include my own subtle changes at some point, and publish network booting and network booting + overlay file system (which is a total crazy mess with no directions).&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px;&quot;&gt;
&lt;span style=&quot;font-size: 28px;&quot;&gt;Raspberry Pi Overlay Root Filesystem&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
This document describes a method to protect the root filesystem from writes while still allowing all applications to function as normal while writing to a temporary Overlay filesystem. Figuring this out would have been impossible for me without this excellent post by&amp;nbsp;&lt;strong style=&quot;-webkit-print-color-adjust: exact;&quot;&gt;ejolson&lt;/strong&gt;&amp;nbsp;on the&amp;nbsp;&lt;a href=&quot;https://www.raspberrypi.org/forums/viewtopic.php?f=63&amp;amp;t=161416&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;RPI.org forums&lt;/a&gt;.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
For my installation I used a RPI 3 and the latest Raspbian Stretch Lite image (2017-11-29). I do not know if these instructions will work without modification on earlier RPI hardware.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
&lt;strong style=&quot;-webkit-print-color-adjust: exact;&quot;&gt;Note:&lt;/strong&gt;&amp;nbsp;When the overlay filesystem is in place your RPI will function as usual, but any data generated after startup is only saved in RAM and will be lost upon reboot.&lt;/div&gt;
&lt;h2 style=&quot;-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; cursor: text; font-family: serif; font-size: 24px; margin: 20px 0px 10px; padding: 0px; position: relative;&quot;&gt;
Let&#39;s Begin&lt;/h2&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
First we need to create a&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;initramfs&lt;/code&gt;&amp;nbsp;image that contains the overlay module and a boot script to mount our root partition with the overlay. (All this could of course be compiled into the kernel image, but&amp;nbsp;&lt;a href=&quot;https://manpages.debian.org/initramfs-tools.8&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;initramfs-tools(8)&lt;/a&gt;&amp;nbsp;is an easier way to learn about the early init-process.)&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;echo overlay &amp;gt;&amp;gt;/etc/initramfs-tools/modules&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
Place the following boot script in&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/etc/initramfs-tools/scripts/overlay&lt;/code&gt;&amp;nbsp;&lt;a href=&quot;https://yagrebu.net/unix/rpi-overlay/overlay&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;(download)&lt;/a&gt;:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;# Local filesystem mounting                     -*- shell-script -*-

#
# This script overrides local_mount_root() in /scripts/local
# and mounts root as a read-only filesystem with a temporary (rw)
# overlay filesystem.
#

. /scripts/local

local_mount_root()
{
        local_top
        local_device_setup &quot;${ROOT}&quot; &quot;root file system&quot;
        ROOT=&quot;${DEV}&quot;

        # Get the root filesystem type if not set
        if [ -z &quot;${ROOTFSTYPE}&quot; ]; then
                FSTYPE=$(get_fstype &quot;${ROOT}&quot;)
        else
                FSTYPE=${ROOTFSTYPE}
        fi

        local_premount

        # CHANGES TO THE ORIGINAL FUNCTION BEGIN HERE
        # N.B. this code still lacks error checking

        modprobe ${FSTYPE}
        checkfs ${ROOT} root &quot;${FSTYPE}&quot;

        # Create directories for root and the overlay
        mkdir /lower /upper

        # Mount read-only root to /lower
        if [ &quot;${FSTYPE}&quot; != &quot;unknown&quot; ]; then
                mount -r -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /lower
        else
                mount -r ${ROOTFLAGS} ${ROOT} /lower
        fi

        modprobe overlay

        # Mount a tmpfs for the overlay in /upper
        mount -t tmpfs tmpfs /upper
        mkdir /upper/data /upper/work

        # Mount the final overlay-root in $rootmnt
        mount -t overlay \
            -olowerdir=/lower,upperdir=/upper/data,workdir=/upper/work \
            overlay ${rootmnt}
}&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
Create the&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;initramfs&lt;/code&gt;&amp;nbsp;image:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;update-initramfs -c -k $(uname -r)&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
It will be placed in&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/boot/initrd.img&amp;lt;kernel_version&amp;gt;&lt;/code&gt;&amp;nbsp;- you can rename it to match your kernel file if you want.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
Add the following to&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/boot/config.txt&lt;/code&gt;&amp;nbsp;- where&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;initrd7.img&lt;/code&gt;&amp;nbsp;is the&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;initramfs&lt;/code&gt;&amp;nbsp;image you created in the previous step:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;kernel=kernel7.img
initramfs initrd7.img&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
And finally, add&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;boot=overlay&lt;/code&gt;&amp;nbsp;to the beginning of&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/boot/cmdline.txt&lt;/code&gt;.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
This should do it. Reboot and keep your fingers crossed.&lt;/div&gt;
&lt;h2 style=&quot;-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; cursor: text; font-family: serif; font-size: 24px; margin: 20px 0px 10px; padding: 0px; position: relative;&quot;&gt;
Kernel Panic&lt;/h2&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
If the OS doesn&#39;t come back up, there is probably a typo somewhere, or you missed something.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
You can remove&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;boot=overlay&lt;/code&gt;&amp;nbsp;from&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;cmdline.txt&lt;/code&gt;&amp;nbsp;to boot as normal.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
A serial connection can be really handy when trying to troubleshoot the startup process. USB TTL console cables are dirt cheap, just make sure you get one that outputs 3.3V on the TX line so that you don&#39;t fry your RPI. Use&amp;nbsp;&lt;a href=&quot;https://manpages.debian.org/screen.1&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;screen(1)&lt;/a&gt;&#39;s buffer to scroll back and try to figure out where it went wrong.&lt;/div&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
The documentation is also quite good. Read the man page for&amp;nbsp;&lt;a href=&quot;https://manpages.debian.org/initramfs-tools.8&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;initramfs-tools(8)&lt;/a&gt;&amp;nbsp;and the default boot scripts themselves:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;less /usr/share/initramfs-tools/init
less /usr/share/initramfs-tools/scripts/local&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1px; cursor: text; font-family: serif; font-size: 24px; margin: 20px 0px 10px; padding: 0px; position: relative;&quot;&gt;
Finishing Touches&lt;/h2&gt;
&lt;h3 style=&quot;-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: serif; font-size: 18px; margin: 20px 0px 10px; padding: 0px; position: relative;&quot;&gt;
Read-Only /boot&lt;/h3&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
The&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/boot&lt;/code&gt;&amp;nbsp;filesystem is still mounted&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;rw&lt;/code&gt;. You can protect it as well by adding&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;ro&lt;/code&gt;&amp;nbsp;to the boot partitions mount options in&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/etc/fstab&lt;/code&gt;:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;PARTUUID=72a9e9a9-01   /boot   vfat   defaults,ro   0   2&lt;/code&gt;&lt;/pre&gt;
&lt;h3 style=&quot;-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: serif; font-size: 18px; margin: 20px 0px 10px; padding: 0px; position: relative;&quot;&gt;
overctl&lt;/h3&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
Since I would be updating the filesystem on my RPI regularly, I wanted a secure way to enable and disable the overlay.&amp;nbsp;&lt;a href=&quot;https://yagrebu.net/unix/rpi-overlay/overctl&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;overctl&lt;/a&gt;&amp;nbsp;has the following features:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;Usage: overctl [-h|-r|-s|-t|-w]
   -h, --help     This message
   -r, --ro       Set read-only root with overlay fs
   -s, --status   Show current state
   -t, --toggle   Toggle between -r and -w
   -w, --rw       Set read-write root&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
Place the script in&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/usr/local/sbin&lt;/code&gt;&amp;nbsp;and mark the file as executable. You will also need to create the following files containing the&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;cmdline.txt&lt;/code&gt;&amp;nbsp;options that you wish to toggle between:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;/boot/cmdline.txt.orig
/boot/cmdline.txt.overlay&lt;/code&gt;&lt;/pre&gt;
&lt;h3 style=&quot;-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: serif; font-size: 18px; margin: 20px 0px 10px; padding: 0px; position: relative;&quot;&gt;
motd(5)&lt;/h3&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;&quot;&gt;
I figured I could use a reminder of which state the RPI is in. So I cobbled together this&amp;nbsp;&lt;a href=&quot;https://manpages.debian.org/motd.5&quot; style=&quot;-webkit-print-color-adjust: exact; color: #4183c4;&quot;&gt;motd(5)&lt;/a&gt;&amp;nbsp;script:&lt;/div&gt;
&lt;pre style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); font-size: 13px; line-height: 19px; margin-bottom: 15px; margin-top: 15px; overflow: auto; padding: 6px 10px;&quot;&gt;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; margin: 0px; padding: 0px;&quot;&gt;#!/bin/sh

str=$(mount | grep &#39; on / &#39;)

if echo $str | grep -q &#39;overlay&#39;; then
        printf &quot;\n------ INFO: / MOUNTED WITH OVERLAY ------\n\n&quot;
elif echo $str | grep -q &#39;rw&#39;; then
        printf &quot;\n++++++ INFO: / MOUNTED READ-WRITE ++++++\n\n&quot;
else
        printf &quot;\n!!!!!! WARNING: / UNKNOWN STATE !!!!!!\n\n&quot;
fi&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;-webkit-print-color-adjust: exact; background-color: white; font-family: serif; font-size: 14px; margin-top: 15px;&quot;&gt;
Place the code above in&amp;nbsp;&lt;code style=&quot;-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;&quot;&gt;/etc/update-motd.d/80-overlay&lt;/code&gt;&amp;nbsp;and make sure the file is executable.&lt;/div&gt;
&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/01/raspberry-pi-overlay-root-filesystem.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-1132231270266886291</guid><pubDate>Thu, 09 Jan 2020 05:12:00 +0000</pubDate><atom:updated>2020-01-10T18:01:09.269-08:00</atom:updated><title>Sony vs Canon: DSLR and Mirrorless</title><description>I had the Sony A9 and AIII and just couldn&#39;t use them because they are way too small for my hands. I think there has been so much attention on mirrorless, as well as marketing money to influencers on YouTubers which makes it seem like everyone is using Sony. I get it, mirrorless has it&#39;s place, and there are some great features. there&#39;s also some terrible features. I currently use a number of Canon DSLR cameras including the Canon EOS R. The R isn&#39;t my favorite camera, but it has grown on me. Anytime I reach for a camera, certainly for traveling, that is what I bring 90% of the time. The R and a Canon 7GX MII has been with me to 4 continents over the last year and I honestly wouldn&#39;t trade them for any Sony, despite having access to them. So here is my list of pluses and minuses:&lt;br /&gt;
&lt;br /&gt;
- Blackout: The A9 has no blackout, all other mirrorless cameras have way too much blackout in my opinion. Canon R blackout is better than any Sony other than A9 but impossible to oh take photos of whales because they move too fast. Any DSLR such as Canon 5D MIV work fine for sports and wildlife photography, I just don&#39;t get the complaining of DSLR blackout. A DSLR instantly refreshes, where a mirrorless displays the previous image for way way too long and then refreshes. Only the A9 is usable for any wildlife or sports photography period.&lt;br /&gt;
&lt;br /&gt;
- In body image stabilization (IBIS) I really don&#39;t understand why everyone wants IBIS. IBIS actually is a detractor if you want a seriously durable camera because the sensor shakes around.&lt;br /&gt;
&lt;br /&gt;
- Smaller bodies are good for small hands, but not good for big hands. I have tried every battery grip available for the A series and they just don&#39;t work. The new body design is better, but not even close to a Canon or Nikon. Also the grip is shallow enough and the lens release is at the base of the body so when I grab the camera I&#39;ve released the lens more than a few times.&lt;br /&gt;
&lt;br /&gt;
- Sony can&#39;t handle water. If a Sony looks at water it stops working. Where I have dropped my 1D in river water and they keep working.&lt;br /&gt;
&lt;br /&gt;
- Sony has no service support. When a camera needs servicing Sony suggest throwing it away and buying a new one. Canon has CPS, which is awesome if you need a camera serviced. Absolutely ridiculous Sony. No professional can depend on a Sony because of this.&lt;br /&gt;
&lt;br /&gt;
- Shake a Sony camera and it makes noise. Strange.&lt;br /&gt;
&lt;br /&gt;
- Love Sony A9 silent shooting, amazing for Wedding photography. Absolutely a game changer.&lt;br /&gt;
&lt;br /&gt;
- I like the flip out LCDs on Canon better than Sony. Also the touchscreen. The menu system on Canon is way better too. The video codec is a little better on Sony.&lt;br /&gt;
&lt;br /&gt;
- Canon color science is the best there is. Nikon is actually really great too. Hasselblad is pretty awesome too. Sony, not so much, every photo and video needs to be adjusted to look good. But Nikon video is lacking.&lt;br /&gt;
&lt;br /&gt;
- Weight. Anyone that tells me that a Sony weighs less is crazy. Put a comparable lens on both cameras and compare the weight, they are basically the same and actually the Sony weighs more, just with a tiny camera in your hands. If you put a super small lens on a Sony then you have a weight savings, but meh. Now size is a bit smaller for traveling which is nice. But go for a micro 4/3 if size is a real issue.&lt;br /&gt;
&lt;br /&gt;
- What is really nice about mirrorless is there&#39;s a shutter release button for photos and a record button for video. You don&#39;t have to switch between modes and remember do I look through the eyepiece or the rear screen.&lt;br /&gt;
&lt;br /&gt;
- Lastly, all camera&#39;s do their best autofocus in good light. However, mirrorless cameras have poor autofocus anytime the light is anything less than good. The reason for this is what you see is what you get, but that is also what you autofocus from, where a DSLR will flip the mirror down and open up the lens aperture, evaluate then flip everything back to take the photo. This can take time, but 16 FPS for the pro series and 5FPS for the low end is pretty darn good.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2020/01/sony-vs-canon-dslr-and-mirrorless.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3516986627591904794</guid><pubDate>Fri, 20 Dec 2019 15:00:00 +0000</pubDate><atom:updated>2020-03-12T09:23:39.057-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><title>Get MAC Address for a Pi Cluster</title><description>&lt;div style=&quot;text-align: left;&quot;&gt;
There are a lot of ways to get the MAC address for a Raspberry Pi. For the Super Pi there were a lot of Pi, 1050 to be specific (two of them are dead on arrival and we disabled 24 of them to get the exact number we wanted, 1024), we looked at the DHCP log files. &lt;a href=&quot;https://www.linkedin.com/in/rfeague&quot;&gt;Roy&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/SomeBraveDude&quot;&gt;Mike&lt;/a&gt; spent a few days doing this. Think about it, if you spend one minute times 1050, that&#39;s 17.5 hours! I&#39;m surprised they didn&#39;t go crazy but they seemed to be having fun. For the Mini Super Pi, I need to know the order.&lt;/div&gt;
&lt;br /&gt;
At this point I&#39;m going to digress a little. When building a large Raspberry Pi cluster at some point it&#39;s worth network booting. I&#39;d say after 8 the cost of network booting is worth it. Just the time and expense of buying and cloning eight network cards. Network booting a Pi isn&#39;t terribly difficult, it&#39;s doing it consistently with a lot of them that&#39;s the problem. The netboot on a Pi times out after a short period of time, it isn&#39;t implemented 100% to spec, I could go on but these are things you can find out with some research. Although it&#39;s buried so if people want me to document these issues let me know in the comments. If there are any problems netbooting the Pi can be dead in a big cluster with no way to reboot it except reboot the entire thing. It helps to have a static IP address. Best way of doing this is by using DHCP (yeah, that&#39;s confusing) but map the MAC address to an IP address. Oh, also if you have enough Raspberry Pi, the MAC address may not be unique. We have two Pi with the same MAC addresses. Most clusters won&#39;t run into this. Also, network booting while not difficult requires the use of overlay file system. The problem comes when combining the two which is rather difficult. I got overlay file system working. Roy merged netboot and overlay and Vijay did this with Oracle Linux. There are a few other options netboot and redirect all writes to separate files and hope you got all them, create an NFS mount for each Pi (yeah, no). The only downside to netboot + overlay file system is you can&#39;t run Docker, which means you can&#39;t run K8 because Docker uses overlay and you can&#39;t use overlay on top of overlay.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ofTenI5a0_-tH_ICihpf9vy6QPvPLeE6-PdN0VN3KWFiXwhfyB9b6SiRKaMAbmTTRM_8CdkfZyfQM3ZV0WIwiEdv2tKFWWi5l_c5ckgVLQcqsVLASS_WgWv3P4_9A_BeWJIDoOkzBWT1/s1600/IMG_4294.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ofTenI5a0_-tH_ICihpf9vy6QPvPLeE6-PdN0VN3KWFiXwhfyB9b6SiRKaMAbmTTRM_8CdkfZyfQM3ZV0WIwiEdv2tKFWWi5l_c5ckgVLQcqsVLASS_WgWv3P4_9A_BeWJIDoOkzBWT1/s640/IMG_4294.JPG&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
OK, back to the reason for this blog post. My new system for obtaining the MAC address is as follows:&lt;br /&gt;
&lt;br /&gt;
1. Install Raspbian on an SD card. I used belenaEtcher on Mac just because it&#39;s easy.&lt;br /&gt;
2. Copy the following Python script to the Pi and call it pimac.py&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 18px; white-space: pre;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;socket&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;time&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;threading&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;datetime&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;uuid&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;random&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #6a9955;&quot;&gt;#&amp;nbsp;This&amp;nbsp;is&amp;nbsp;needed&amp;nbsp;so&amp;nbsp;we&amp;nbsp;get&amp;nbsp;a&amp;nbsp;network&amp;nbsp;interface&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
time.sleep(&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;)&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #6a9955;&quot;&gt;#&amp;nbsp;Global&amp;nbsp;variables&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
MacAddress&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;hex&lt;/span&gt;(uuid.getnode())&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(MacAddress)&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;(MacAddress))&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&amp;nbsp;MacAddress.endswith(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;L&#39;&lt;/span&gt;):&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MacAddress&amp;nbsp;=&amp;nbsp;MacAddress[:-&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;]&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(MacAddress)&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
client&amp;nbsp;=&amp;nbsp;socket.socket(socket.AF_INET,&amp;nbsp;socket.SOCK_DGRAM)&amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;#&amp;nbsp;UDP&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
client.setsockopt(socket.SOL_SOCKET,&amp;nbsp;socket.SO_BROADCAST,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
client.bind((&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2222&lt;/span&gt;))&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
server&amp;nbsp;=&amp;nbsp;socket.socket(socket.AF_INET,&amp;nbsp;socket.SOCK_DGRAM,&amp;nbsp;socket.IPPROTO_UDP)&lt;/div&gt;
&lt;div&gt;
server.setsockopt(socket.SOL_SOCKET,&amp;nbsp;socket.SO_BROADCAST,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
server.settimeout(&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.2&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
server.bind((&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3333&lt;/span&gt;))&lt;/div&gt;
&lt;div&gt;
hostname&amp;nbsp;=&amp;nbsp;socket.gethostname()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
IPAddr&amp;nbsp;=&amp;nbsp;socket.gethostbyname(hostname)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Your&amp;nbsp;Computer&amp;nbsp;Name&amp;nbsp;is:&quot;&lt;/span&gt;&amp;nbsp;+&amp;nbsp;hostname)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Your&amp;nbsp;Computer&amp;nbsp;IP&amp;nbsp;Address&amp;nbsp;is:&quot;&lt;/span&gt;&amp;nbsp;+&amp;nbsp;IPAddr)&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;SendMessage&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;port&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;message&lt;/span&gt;):&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data&amp;nbsp;=&amp;nbsp;message&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;endodeddata&amp;nbsp;=&amp;nbsp;data.encode()&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;server.sendto(endodeddata,&amp;nbsp;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&amp;lt;broadcast&amp;gt;&#39;&lt;/span&gt;,&amp;nbsp;port))&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;message&amp;nbsp;sent!&quot;&lt;/span&gt;&amp;nbsp;+&amp;nbsp;data)&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SendMessage(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3333&lt;/span&gt;,&amp;nbsp;MacAddress)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;time.sleep(&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
3. Create a cron job:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sudo crontab -e&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
4. Add this line to the end of the file:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;@reboot python /home/pi/pimac.py &amp;amp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
5. Copy the following Python script to your desktop and run it. I&#39;m running it in Visual Studio Code.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: #1e1e1e; color: #d4d4d4; font-family: Menlo, Monaco, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 18px; white-space: pre;&quot;&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;datetime&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;os&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;signal&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;socket&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;threading&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;time&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;re&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&amp;nbsp;uuid&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&amp;nbsp;os.name&amp;nbsp;==&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;nt&#39;&lt;/span&gt;:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;signal.signal(signal.SIGINT,&amp;nbsp;signal.SIG_DFL)&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
server&amp;nbsp;=&amp;nbsp;socket.socket(socket.AF_INET,&amp;nbsp;socket.SOCK_DGRAM,&amp;nbsp;socket.IPPROTO_UDP)&lt;/div&gt;
&lt;div&gt;
server.setsockopt(socket.SOL_SOCKET,&amp;nbsp;socket.SO_BROADCAST,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
hostname&amp;nbsp;=&amp;nbsp;socket.gethostname()&lt;/div&gt;
&lt;div&gt;
IPAddr&amp;nbsp;=&amp;nbsp;socket.gethostbyname(hostname)&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Your&amp;nbsp;Computer&amp;nbsp;Name&amp;nbsp;is:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{0}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;.format(hostname))&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Your&amp;nbsp;Computer&amp;nbsp;IP&amp;nbsp;Address&amp;nbsp;is:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{0}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;.format(IPAddr))&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;waitForPosts&lt;/span&gt;():&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Ready&#39;&lt;/span&gt;)&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
addresses&amp;nbsp;=&amp;nbsp;{}&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Listen&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;threading&lt;/span&gt;.&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Thread&lt;/span&gt;):&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;__init__&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;port&lt;/span&gt;):&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;threading.Thread.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;__init__&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;self&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;self&lt;/span&gt;.port&amp;nbsp;=&amp;nbsp;port&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;self&lt;/span&gt;.UIDCount&amp;nbsp;=&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;):&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client&amp;nbsp;=&amp;nbsp;socket.socket(socket.AF_INET,&amp;nbsp;socket.SOCK_DGRAM)&amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;#&amp;nbsp;UDP&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.setsockopt(socket.SOL_SOCKET,&amp;nbsp;socket.SO_BROADCAST,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;client.bind((&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;self&lt;/span&gt;.port))&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data,&amp;nbsp;addr&amp;nbsp;=&amp;nbsp;client.recvfrom(&lt;span style=&quot;color: #b5cea8;&quot;&gt;1024&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mac&amp;nbsp;=&amp;nbsp;data&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&amp;nbsp;mac&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&amp;nbsp;addresses:&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;addresses[mac]&amp;nbsp;=&amp;nbsp;mac&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;val&amp;nbsp;=&amp;nbsp;mac.decode()&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&amp;nbsp;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;:&#39;&lt;/span&gt;.join(re.findall(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;..&#39;&lt;/span&gt;,&amp;nbsp;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;%012x&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&amp;nbsp;%&amp;nbsp;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;(val,&amp;nbsp;&lt;span style=&quot;color: #b5cea8;&quot;&gt;16&lt;/span&gt;))))&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
publish_thread&amp;nbsp;=&amp;nbsp;Listen(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3333&lt;/span&gt;)&lt;/div&gt;
&lt;div&gt;
publish_thread.start()&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
waitForPosts()&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
Note: If you decide you want to remove the dictionary in the code above to allow duplicate MAC addresses to print out, which his a great debugging tool and since UDP is not guaranteed is a perfectly fine way to go, then you might want to remove duplicates. To do this in Visual Studio Code this is one way I found to do it:&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;border: 0px; box-sizing: inherit; caret-color: rgb(36, 39, 41); color: #242729; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; font-stretch: inherit; line-height: inherit; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1em 30px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px 0px 0.5em; padding: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;&lt;div style=&quot;border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;kbd style=&quot;background-color: #e1e3e5; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(173, 179, 184); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;&quot;&gt;Control&lt;/kbd&gt;+&lt;kbd style=&quot;background-color: #e1e3e5; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(173, 179, 184); box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; box-sizing: inherit; display: inline-block; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 11px; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: 1.4; margin: 0px 0.1em; padding: 0.1em 0.6em; text-shadow: rgb(255, 255, 255) 0px 1px 0px; vertical-align: baseline; white-space: nowrap;&quot;&gt;F&lt;/kbd&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px 0px 0.5em; padding: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;&lt;div style=&quot;border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; padding: 0px; vertical-align: baseline;&quot;&gt;
Toggle &quot;Replace mode&quot;&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px 0px 0.5em; padding: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;&lt;div style=&quot;border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; padding: 0px; vertical-align: baseline;&quot;&gt;
Toggle &quot;Use Regular Expression&quot; (the icon with the&amp;nbsp;&lt;strong style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;.*&lt;/code&gt;&lt;/strong&gt;&amp;nbsp;symbol)&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px 0px 0.5em; padding: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;&lt;div style=&quot;border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; padding: 0px; vertical-align: baseline;&quot;&gt;
In the&amp;nbsp;&lt;strong style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;search&lt;/strong&gt;&amp;nbsp;field, type&lt;span style=&quot;font-family: inherit; font-style: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;((^[^\S$]*?(?=\S)(?:.*)+$)[\S\s]*?)^\2$(?:\n)?&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px 0px 0.5em; padding: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;&lt;div style=&quot;border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; padding: 0px; vertical-align: baseline;&quot;&gt;
In the &quot;&lt;strong style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;replace with&lt;/strong&gt;&quot; field, type&amp;nbsp;&lt;code style=&quot;background-color: #eff0f1; border: 0px; box-sizing: inherit; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 1px 5px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;$1&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;&lt;div style=&quot;border: 0px; box-sizing: inherit; clear: both; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; padding: 0px; vertical-align: baseline;&quot;&gt;
Click&amp;nbsp;&lt;a href=&quot;https://i.stack.imgur.com/t9Rmm.png&quot; rel=&quot;noreferrer&quot; style=&quot;border: 0px; box-sizing: inherit; color: #0064bd; cursor: pointer; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;img alt=&quot;the Replace All button&quot; src=&quot;https://i.stack.imgur.com/t9Rmm.png&quot; style=&quot;border: 0px; box-sizing: inherit; font-family: inherit; font-stretch: inherit; font-style: inherit; font-variant-caps: inherit; line-height: inherit; margin: 0px; max-width: 100%; padding: 0px; vertical-align: baseline;&quot; /&gt;&lt;/a&gt;&amp;nbsp;(&quot;Replace All&quot;).&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
6. So now insert the SD card, plug the Pi into network, and power and wait. The output on your desktop will be a list of your MAC addresses in a known order and it is easy to know if one is dead and which one.&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2019/12/get-mac-address-for-pi-cluster.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8ofTenI5a0_-tH_ICihpf9vy6QPvPLeE6-PdN0VN3KWFiXwhfyB9b6SiRKaMAbmTTRM_8CdkfZyfQM3ZV0WIwiEdv2tKFWWi5l_c5ckgVLQcqsVLASS_WgWv3P4_9A_BeWJIDoOkzBWT1/s72-c/IMG_4294.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6475360080874401792</guid><pubDate>Tue, 17 Dec 2019 15:00:00 +0000</pubDate><atom:updated>2019-12-17T07:00:02.762-08:00</atom:updated><title>Shopify Payment System</title><description>It&#39;s a long story, but I have been dealing with an issue with Shopify for well over a year now. Many websites use them as their Payment system behind their merchant account. And they are very convenient, if one knew what they were getting into. Unfortunately there is absolutely zero disclosure on any of the websites that use it how this will work, how to edit your stored information or how to delete the data they stored. This is a direct breach of the GDPR,&amp;nbsp;Informatique et Libertés as well as the new California data privacy law CCPA.&lt;br /&gt;
&lt;br /&gt;
So with about a year of working with all of the merchants and Shopify support, I finally can report there is a way to opt out of Shopify:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://pay.shopify.com/optout&quot;&gt;https://pay.shopify.com/optout&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2019/12/shopify-payment-system.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-4174347486126277588</guid><pubDate>Mon, 09 Dec 2019 23:21:00 +0000</pubDate><atom:updated>2019-12-09T15:21:04.703-08:00</atom:updated><title>Sparkfun MP3 Shield</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgvuxsqxu-XcBLI-5BFCxn0Coy2rFwoQO6J3SYy46PS1iavEDl-MOsiljPB1ZHcn4eZ-rGUI97KRgdNXjymtoCpKtLaklnhRNhdIrm-8m1snNs90D5X_DXFYHM-nXYdptQ28ObgqevGy/s1600/12660-01a.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgvuxsqxu-XcBLI-5BFCxn0Coy2rFwoQO6J3SYy46PS1iavEDl-MOsiljPB1ZHcn4eZ-rGUI97KRgdNXjymtoCpKtLaklnhRNhdIrm-8m1snNs90D5X_DXFYHM-nXYdptQ28ObgqevGy/s320/12660-01a.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://www.sparkfun.com/products/12660&quot;&gt;SparkFun MP3 Player Shield&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I have used a lot of these MP3 player shields in projects. They are super awesome and super simple to use, but I figured a small writeup was worthwhile as there are some details that aren&#39;t in the official documentation as well as some tips I have when using the shield.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr3qR2zJm9We-OZwRF43PIIY4KzWm1szcgTf0M9pNSa2rk6e0cCnmK69FT1ZH-uMzyR7geugt71Xr_eKOrHCB-XolgI4Fks-Fd10N32_DYwANropZKou3EEt6dRv-Qu3tQUurgUkeNdwrp/s1600/Screen+Shot+2019-12-06+at+3.14.48+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;206&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr3qR2zJm9We-OZwRF43PIIY4KzWm1szcgTf0M9pNSa2rk6e0cCnmK69FT1ZH-uMzyR7geugt71Xr_eKOrHCB-XolgI4Fks-Fd10N32_DYwANropZKou3EEt6dRv-Qu3tQUurgUkeNdwrp/s320/Screen+Shot+2019-12-06+at+3.14.48+PM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The MP3 shield uses just about every pin on the Arduino. The documentation states you can use D5, D10 and A0-A5. However, I have found that for some reason when using the shield I have found neither D5 nor D10 to be usable. So typically what I do is setup a software serial using two of the analog pins:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#include &amp;lt;SPI.h&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#include &amp;lt;SdFat.h&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#include &amp;lt;SFEMP3Shield.h&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;#include &amp;lt;SoftwareSerial.h&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SdFat sd;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;SFEMP3Shield MP3player;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;SoftwareSerial input(A0, A1); // RX, TX&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;void setup() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; Serial.begin(115200);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; input.begin(9600);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; input.flush();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; if(!sd.begin(9, SPI_HALF_SPEED)) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; sd.initErrorHalt();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; if (!sd.chdir(&quot;/&quot;)) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; sd.errorHalt(&quot;sd.chdir&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; uint8_t result = MP3player.begin();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; if(result != 0) // check result, see readme for error codes.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.println(&quot;error&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.print(F(&quot;Error code: &quot;));&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.print(result);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; // Loudest volume for left and right&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; MP3player.setVolume(0, 0);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; Serial.println(&quot;Ready&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;void loop() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp; if (input.available()) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.println(&quot;reading&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; String action = readFromSerial();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.println(action);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; input.flush();&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; if (action == &quot;play&quot;) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;Playing&quot;);&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; uint8_t result = MP3player.playMP3(&quot;awesome.mp3&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; delay(3000);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Serial.println(&quot;Ready again&quot;);&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;String readFromSerial() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; static char buffer[80];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; if (readline(input.read(), buffer, 80) &amp;gt; 0)&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.println(buffer); &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; return buffer;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;int readline(int readch, char *buffer, int len)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; static int pos = 0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; int rpos;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; if (readch &amp;gt; 0) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; switch (readch) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; case &#39;\n&#39;: // Ignore new-lines&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; case &#39;\r&#39;: // Return on CR&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rpos = pos;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pos = 0; &amp;nbsp;// Reset position index ready for next time&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return rpos;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; default:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (pos &amp;lt; len-1) {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; buffer[pos++] = readch;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; buffer[pos] = 0;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; // No end of line has been found, so return -1.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; return -1;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;}&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2019/12/sparkfun-mp3-shield.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaJgvuxsqxu-XcBLI-5BFCxn0Coy2rFwoQO6J3SYy46PS1iavEDl-MOsiljPB1ZHcn4eZ-rGUI97KRgdNXjymtoCpKtLaklnhRNhdIrm-8m1snNs90D5X_DXFYHM-nXYdptQ28ObgqevGy/s72-c/12660-01a.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-6466003896614450053</guid><pubDate>Mon, 18 Nov 2019 15:00:00 +0000</pubDate><atom:updated>2020-03-17T16:02:58.403-07:00</atom:updated><title>Using Max Build Volume of Ultimaker 3D Printer</title><description>Sometimes you have to print at the max build volume of your 3D printer. You&#39;ll get the error: &quot;does not fit build volume&quot;. I have an Ultimaker and the easiest slicer to use is Cura. And sometimes I want the full build volume of 330 x 240 x 300 mm. If you set the &quot;skirt link count&quot; to zero, it won&#39;t print the line around the part so you can get the full x and/or y. As you may know the reason for the skirt is so that the printer gets a consistent extrusion of the filament, but I you need the full bed size, then you need the full bed size. Also turn off brim and set build plate adhesion to &quot;none&quot;. Lastly set &quot;travel avoid distance&quot; to 0. Do it in that order for best results.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgaLX_R6fah6TUP-TM4VpYbRfXmmTNfKnogC9wJ2L04hNnHpJ8brH2Qdb0qnV69Rcj7MW8bybmF1uoTXsMI1lIxcmnRM7WibpBodgsEy1cbVxXmLCKKJ9n9WH_kYkpv68P33_uV74F2Yf/s1600/Screen+Shot+2019-11-17+at+5.55.52+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgaLX_R6fah6TUP-TM4VpYbRfXmmTNfKnogC9wJ2L04hNnHpJ8brH2Qdb0qnV69Rcj7MW8bybmF1uoTXsMI1lIxcmnRM7WibpBodgsEy1cbVxXmLCKKJ9n9WH_kYkpv68P33_uV74F2Yf/s320/Screen+Shot+2019-11-17+at+5.55.52+PM.png&quot; width=&quot;318&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm2-mWxhfkKtVVIXnaZHvwmrgUBHwP6zHYfe-uFd1NiU0CKvvUSXYxzDkhmWnhgP8oaWe8OayWkpgqMKfEnjMzJfrglrDHWGoJoohQLdUp_Abb0RoYDAxVFoT7Pk8dT99v19Yi8TFJoPdo/s1600/Screen+Shot+2019-11-22+at+8.24.08+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgm2-mWxhfkKtVVIXnaZHvwmrgUBHwP6zHYfe-uFd1NiU0CKvvUSXYxzDkhmWnhgP8oaWe8OayWkpgqMKfEnjMzJfrglrDHWGoJoohQLdUp_Abb0RoYDAxVFoT7Pk8dT99v19Yi8TFJoPdo/s320/Screen+Shot+2019-11-22+at+8.24.08+AM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioZwVBdT6a4i7_WJ5S5GQt_CPBofOIqHJ45Xq1sEA5P1upK4ZhSwn8SocgYjXtbv1HKuIO5DhVbdYeJSdI9Blql07GNyD4xbbxj9xqmr_icvTmCjEOSIwOVksB3RrMRzPZ61ZovrXx23D_/s1600/Screen+Shot+2019-11-19+at+9.34.45+AM.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;91&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioZwVBdT6a4i7_WJ5S5GQt_CPBofOIqHJ45Xq1sEA5P1upK4ZhSwn8SocgYjXtbv1HKuIO5DhVbdYeJSdI9Blql07GNyD4xbbxj9xqmr_icvTmCjEOSIwOVksB3RrMRzPZ61ZovrXx23D_/s320/Screen+Shot+2019-11-19+at+9.34.45+AM.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2019/11/using-max-build-volume-of-ultimaker-3d.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVgaLX_R6fah6TUP-TM4VpYbRfXmmTNfKnogC9wJ2L04hNnHpJ8brH2Qdb0qnV69Rcj7MW8bybmF1uoTXsMI1lIxcmnRM7WibpBodgsEy1cbVxXmLCKKJ9n9WH_kYkpv68P33_uV74F2Yf/s72-c/Screen+Shot+2019-11-17+at+5.55.52+PM.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-3554478333479327865</guid><pubDate>Tue, 05 Nov 2019 15:00:00 +0000</pubDate><atom:updated>2020-03-12T09:23:45.039-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><title>Raspberry Pi Super Computer STL Files Published on Thingiverse</title><description>Finally. I&#39;m sorry it took so long. Here it is, the files to print your very own 2U rack mountable Raspberry Pi holder for 21 Raspberry Pi 3B+. Let me know if you have any questions or problems. Just because we made over 50 of these, doesn&#39;t mean it&#39;s easy.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.thingiverse.com/thing:3958586&quot;&gt;https://www.thingiverse.com/thing:3958586&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2019/11/raspberry-pi-super-computer-stl-files.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8857431988988627285.post-7216648476291574909</guid><pubDate>Mon, 02 Sep 2019 14:00:00 +0000</pubDate><atom:updated>2020-03-12T09:23:52.647-07:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Raspberry Pi</category><title>Bringing Pi Home</title><description>&lt;iframe allow=&quot;accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/ROC2FhExiRY&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-4398465119811197&quot;;
/* 468x60, created 7/20/08 */
google_ad_slot = &quot;3994176404&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;&lt;/div&gt;</description><link>http://chrisbensen.blogspot.com/2019/09/bringing-pi-home.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/ROC2FhExiRY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>