<metaproperty="og:description"content="My name is John. I’m a Embedded Developer. Over the years I’ve dabbled in a lot of side projects. I have a deep interest in making IoT and…">
<metaname="twitter:description"content="My name is John. I’m a Embedded Developer. Over the years I’ve dabbled in a lot of side projects. I have a deep interest in making IoT and…">
...
...
@@ -82,8 +82,7 @@
that tracks where clicks came from, what posts they viewed, and for how long. This analytics both respects “Do Not Track” and anonymizes ip addresses. There is no way I can make this an opt-in however if you would like to opt-out click below.
itemscope=""itemprop="author"itemtype="https://schema.org/Person"><imgclass="article__author__image"src="/images/avatar.jpg"alt="John Warren"><aclass="article__author__link"title="About John Warren"rel="author">John Warren</a>
<divclass="article__author"itemscope=""itemprop="author"itemtype="https://schema.org/Person"><imgclass="article__author__image"src="/images/avatar.jpg"alt="John Warren"><aclass="article__author__link"title="About John Warren"rel="author">John Warren</a>
<pclass="article__author__desc">Just a place to make stuff</p>
<metaitemprop="articleBody"content="My name is John. I’m a Embedded Developer. Over the years I’ve dabbled in a lot of side projects. I have a deep interest in making IoT and smart home systems, setting up offline backups of...">
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<pclass="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<pclass="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
<articleclass="post-list__item">
...
...
@@ -91,8 +90,7 @@
<divclass="post-list__item__col-2">
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<pclass="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
<articleclass="post-list__item">
...
...
@@ -91,8 +90,7 @@
<divclass="post-list__item__col-2">
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<pclass="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<pclass="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
<metaname="description"content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your…">
<metaname="description"content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your head.…">
<metaproperty="og:description"content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your…">
<metaproperty="og:description"content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your head.…">
<metaname="twitter:description"content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your…">
<metaname="twitter:description"content="Comic credit to xkcd! One of my favorites It’s understandable that a lot of the things I talk about on this site may go above your head.…">
<h6id="Comic-credit-to-xkcd-One-of-my-favorites"><ahref="#Comic-credit-to-xkcd-One-of-my-favorites"class="headerlink"title="Comic credit to xkcd! One of my favorites"></a>Comic credit to <ahref="http://www.xkcd.com"rel="external nofollow noopener noreferrer"target="_blank">xkcd</a>!
One of my favorites
</h6>
One of my favorites</h6>
<p>It’s understandable that a lot of the things I talk about on this site may go above your head. They went above my head when I wanted to learn too! I’m going to try to fill out this glossary with as many blurbs and succinct explanations as
I can about common embedded or programming concepts. There are some that may need more explanation. For those, I may write a “Fundamentals” post to explain more fully. If you’ve ever got a question, don’t hesitate to ask and I’ll see about
It’s understandable that a lot of the things I talk about on this site may go above your head. They went above my head when I wanted to learn too! I’m...">
<spandata-prompt="Enter a passphrase(empty for no passphrase):"data-strings=""data-action="prompt"data-delay="3000">Enter a passphrase(empty for no passphrase):</span>
<spandata-prompt="Enter same passphrase again:"data-strings=""data-action="prompt"data-delay="2000">Enter same passphrase again:</span>
<spandata-strings="Your identification has been saved in /Users/jwarren/testtt.<br>Your public key has been saved in /Users/jwarren/testtt.pub.<br>The key fingerprint is:<br>SHA256:wdsn98Q+L96juYXdPFHZ/UN3ucpfO7CqOqwornyNavI<br>The key's randomart image is:<br>+---[RSA 2048]----+<br>| |<br>| . =|<br>| o +*|<br>| + .. *|<br>| S o o o+.|<br>| +.=+.+|<br>| o . +*++|<br>|oo o.. o .=*+|<br>|*=E. ...o....=++=|<br>+----[SHA256]-----+"
data-action="print"data-delay="0">
<spandata-strings="Your identification has been saved in /Users/jwarren/testtt.<br>Your public key has been saved in /Users/jwarren/testtt.pub.<br>The key fingerprint is:<br>SHA256:wdsn98Q+L96juYXdPFHZ/UN3ucpfO7CqOqwornyNavI<br>The key's randomart image is:<br>+---[RSA 2048]----+<br>| |<br>| . =|<br>| o +*|<br>| + .. *|<br>| S o o o+.|<br>| +.=+.+|<br>| o . +*++|<br>|oo o.. o .=*+|<br>|*=E. ...o....=++=|<br>+----[SHA256]-----+"data-action="print"data-delay="0">
Your identification has been saved in /Users/jwarren/testtt.<br>
Your public key has been saved in /Users/jwarren/testtt.pub.<br>
class="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
<pclass="post-list__item__description">Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but...</p>
</div>
</article>
<articleclass="post-list__item">
...
...
@@ -87,8 +86,7 @@
<divclass="post-list__item__col-2">
<h3class="post-list__item__title"><ahref="/posts/setting-up-hexo-auto-deploy-from-gitlab/"title="Setting up Hexo Auto-deploy from Gitlab">Setting up Hexo Auto-deploy from Gitlab</a></h3>
<pclass="post-list__item__description">In a previous post I talked about why I like the idea of a static site generator, and the reasons for choosing to use one. In this post I want to...</p>
<h3id="The-iconic-font-and-CSS-framework"><ahref="#The-iconic-font-and-CSS-framework"class="headerlink"title="The iconic font and CSS framework"></a>The iconic font and CSS framework</h3>
<p>Font Awesome is a full suite of 675 pictographic icons for easy scalable vector graphics on websites,<br>created and maintained by <ahref="https://twitter.com/davegandy"rel="external nofollow noopener noreferrer"target="_blank">Dave Gandy</a>.<br>Stay
up to date with the latest release and announcements on Twitter:<br><ahref="http://twitter.com/fontawesome"rel="external nofollow noopener noreferrer"target="_blank">@fontawesome</a>.</p>
<p>Font Awesome is a full suite of 675 pictographic icons for easy scalable vector graphics on websites,<br>created and maintained by <ahref="https://twitter.com/davegandy"rel="external nofollow noopener noreferrer"target="_blank">Dave Gandy</a>.<br>Stay up to date with the latest release and announcements on
<p>Please read through our <ahref="https://github.com/FortAwesome/Font-Awesome/blob/master/CONTRIBUTING.md"rel="external nofollow noopener noreferrer"target="_blank">contributing guidelines</a>.<br>Included are directions for opening issues, coding standards,
and notes on development.</p>
<p>Please read through our <ahref="https://github.com/FortAwesome/Font-Awesome/blob/master/CONTRIBUTING.md"rel="external nofollow noopener noreferrer"target="_blank">contributing guidelines</a>.<br>Included are directions for opening issues, coding standards, and notes on development.</p>
<p>Font Awesome will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered<br>with the following format:</p>
<p>Spoqa Han Sans에 대한 제작 배경 및 미리보기에 대한 정보는 <ahref="http://spoqa-han-sans.com/"rel="external nofollow noopener noreferrer"target="_blank">Spoqa Han Sans Introduction</a>에서 얻으실 수 있습니다.</p>
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <ahref="http://scripts.sil.org/OFL"rel="external nofollow noopener noreferrer"target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<ahref="https://github.com/spoqa/spoqa-han-sans/graphs/contributors"rel="external nofollow noopener noreferrer"
target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
\ No newline at end of file
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <ahref="http://scripts.sil.org/OFL"rel="external nofollow noopener noreferrer"target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<ahref="https://github.com/spoqa/spoqa-han-sans/graphs/contributors"rel="external nofollow noopener noreferrer"target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
<p>Spoqa Han Sans에 대한 제작 배경 및 미리보기에 대한 정보는 <ahref="http://spoqa-han-sans.com/"rel="external nofollow noopener noreferrer"target="_blank">Spoqa Han Sans Introduction</a>에서 얻으실 수 있습니다.</p>
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <ahref="http://scripts.sil.org/OFL"rel="external nofollow noopener noreferrer"target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<ahref="https://github.com/spoqa/spoqa-han-sans/graphs/contributors"rel="external nofollow noopener noreferrer"
target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
\ No newline at end of file
<p>Spoqa Han Sans는 Spoqa에서 관리하고 있는 오픈 소스 서체로, <ahref="http://scripts.sil.org/OFL"rel="external nofollow noopener noreferrer"target="_blank">SIL Open Font License</a>로 배포되고 있습니다. (<ahref="https://github.com/spoqa/spoqa-han-sans/graphs/contributors"rel="external nofollow noopener noreferrer"target="_blank">프로젝트에 기여한 분들의 목록</a> 참고.)</p>
<metaproperty="og:description"content="So you want to create your own membrane keypad? Why? well making your own keypad can be useful for many reasons. It’s cheap and easy to…">
<metaname="twitter:title"content="Create Own Membrane Matrix Keypad (and Hooking It Up to the Arduino)">
<metaname="twitter:description"content="So you want to create your own membrane keypad? Why? well making your own keypad can be useful for many reasons. It’s cheap and easy to…">
<metaitemprop="articleBody"content="So you want to create your own membrane keypad? Why? well making your own keypad can be useful for many reasons. It’s cheap and easy to do, it can be placed in situations where it may be...">
<metaproperty="og:description"content="Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few…">
<metaname="twitter:description"content="Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few…">
...
...
@@ -89,8 +89,7 @@
it to the outlet to see if it still powered on. swapped Tx and Rx. Nothing!… All I have to say now is, make sure you are connecting ground to ground and not “DTR GRN” to ground. GRN looks a lot like GND at first glance. I did however ensure
my FTDI was in 3.3V mode. Make sure you do too!</p>
<p><imgsrc="/images/sonoff/ftdi.jpg"alt="FTDI Basic, Annotations added by me"></p>
<h6id="CC-BY-2-0-made-available-by-Sparkfun-Electronics"><ahref="#CC-BY-2-0-made-available-by-Sparkfun-Electronics"class="headerlink"title="CC BY 2.0 made available by Sparkfun Electronics."></a><ahref="https://creativecommons.org/licenses/by/2.0/"rel="external nofollow noopener noreferrer"
target="_blank">CC BY 2.0</a> made available by Sparkfun Electronics.</h6>
<h6id="CC-BY-2-0-made-available-by-Sparkfun-Electronics"><ahref="#CC-BY-2-0-made-available-by-Sparkfun-Electronics"class="headerlink"title="CC BY 2.0 made available by Sparkfun Electronics."></a><ahref="https://creativecommons.org/licenses/by/2.0/"rel="external nofollow noopener noreferrer"target="_blank">CC BY 2.0</a> made available by Sparkfun Electronics.</h6>
<p>Once that was sorted it was time to do a quick <code>flash_erase</code> and a <code>flash_write</code> of the new Micropython build for the 8266. Things should be smooth sailing from here. Let’s just do a quick <code>erase_flash</code></p>
<p>I tried this time and time again on my windows box, swapped over to my more familiar OSX laptop and did it again, tried older pre-compiled bins from <ahref="https://micropython.org/download#esp8266"rel="external nofollow noopener noreferrer"
target="_blank">micropython</a>. Nothing was getting me anywhere.</p>
<p>I tried this time and time again on my windows box, swapped over to my more familiar OSX laptop and did it again, tried older pre-compiled bins from <ahref="https://micropython.org/download#esp8266"rel="external nofollow noopener noreferrer"target="_blank">micropython</a>. Nothing was getting me anywhere.</p>
<p>Off to the googler (well, the duck, duck, go-er) to figure out what the issue is here. Most of what I find is people flashing Micropython on the SONOFF with no problems. Technically, I did it with no problem according to the flash verification.
What I’m specifically looking for is “SONOFF Micropython no REPL”. That lead me to this solution.</p>
<figureclass="highlight plain">
...
...
@@ -178,8 +176,7 @@
</table>
</figure>
</p>
<h5id="Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out"><ahref="#Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out"class="headerlink"title="Props go to pythoncoder for what I’m sure was a very frustrating time figuring this out."></a>Props go to <ahref="https://forum.micropython.org/viewtopic.php?f=16&t=3777"
rel="external nofollow noopener noreferrer"target="_blank">pythoncoder</a> for what I’m sure was a very frustrating time figuring this out.</h5>
<h5id="Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out"><ahref="#Props-go-to-pythoncoder-for-what-I’m-sure-was-a-very-frustrating-time-figuring-this-out"class="headerlink"title="Props go to pythoncoder for what I’m sure was a very frustrating time figuring this out."></a>Props go to <ahref="https://forum.micropython.org/viewtopic.php?f=16&t=3777"rel="external nofollow noopener noreferrer"target="_blank">pythoncoder</a> for what I’m sure was a very frustrating time figuring this out.</h5>
<p>He’s also posted a fairly detailed write up on why you shouldn’t waste your time with the SONOFF modules as they seem to all be unreliable both in runtime and connectivity. I won’t let that discourage me as I’m not using it for anything mission
critical or non accessible right now.</p>
<h3id="Back-on-track"><ahref="#Back-on-track"class="headerlink"title="Back on track"></a>Back on track</h3>
<metaitemprop="articleBody"content="Over the weekend I flashed off the default firmware on a cheap Sonoff basic Internet connected relay. Along the way I ran into a few issues, but eventually got MicroPython running on it.
<metaproperty="og:description"content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and…">
<metaname="twitter:title"content="Static what Generator?!">
<metaname="twitter:description"content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and…">
...
...
@@ -126,8 +126,7 @@
<h3id="A-Word-on-interactivity"><ahref="#A-Word-on-interactivity"class="headerlink"title="A Word on interactivity"></a>A Word on interactivity</h3>
<p>Static sites are very useful for serving your content. However, there are a few times where some interactivity is really useful. For instance, the comments section down below. Well in those cases, we can employ third party services with javascript
to bridge that gap. Discus seems to be very vigilant when it comes to user identity and exploit elimination. They provide an <abbrtitle="Application Programming Interface">API</abbr> in which you can send them your “shortname” and the
<abbr
title="Uniform Resource Locator">URL</abbr> of your post and they’ll provide a comments section that you can embed there.</p>
<abbrtitle="Uniform Resource Locator">URL</abbr> of your post and they’ll provide a comments section that you can embed there.</p>
</div>
<divclass="article__author"itemscope=""itemprop="author"itemtype="https://schema.org/Person"><imgclass="article__author__image"src="/images/avatar.jpg"alt="John Warren"><aclass="article__author__link"title="About John Warren"rel="author">John Warren</a>
<pclass="article__author__desc">Just a place to make stuff</p>
<metaitemprop="articleBody"content="Recently I’ve become disillusioned with most CMS options. They’re a pain to keep updated, plugins are constantly being abandoned, and they’re so prevalent in sites that they make a very attractive...">
<metaproperty="og:description"content="If there is one thing that grinds my gears it’s table based design and the “web development” companies that continue to use it. Web…">
<metaname="twitter:title"content="Table based design: Why I loathe it, and you should too!">
<metaname="twitter:description"content="If there is one thing that grinds my gears it’s table based design and the “web development” companies that continue to use it. Web…">
<metaitemprop="articleBody"content="If there is one thing that grinds my gears it’s table based design and the “web development” companies that continue to use it.
Web development is one heck of an industry. It changes, transforms,...">
<metaproperty="og:description"content="Well today’s the day! On the eve of Canada day I have made a giant step towards a good version of the plasma speaker! After letting the…">
<metaname="twitter:description"content="Well today’s the day! On the eve of Canada day I have made a giant step towards a good version of the plasma speaker! After letting the…">
<metaitemprop="articleBody"content="Well today’s the day! On the eve of Canada day I have made a giant step towards a good version of the plasma speaker! After letting the magic smoke out of countless ICs and Diodes I have finally...">