<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Untitled RSS Feed]]></title><description><![CDATA[Untitled RSS Feed]]></description><link>https://cmolitor.github.io/blog</link><image><url>images/DSC09039.jpg</url><title>Untitled RSS Feed</title><link>https://cmolitor.github.io/blog</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Aug 2018 06:12:19 GMT</lastBuildDate><atom:link href="https://cmolitor.github.io/blog/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Changing Wifi credentials of Redbear Duo IoT board]]></title><description><![CDATA[<div class="paragraph">
<p>At some point I had to change the Wifi credentials of my Redbear Duo board. Following the official instructions at <a href="https://github.com/redbear/Duo/blob/master/docs/out_of_box_experience.md" class="bare">https://github.com/redbear/Duo/blob/master/docs/out_of_box_experience.md</a> I was not able to change the credentials with the Android app. Probably as the app is not anymore maintained.</p>
</div>
<div class="paragraph">
<p>Thus, I followed the instructions to use a USB connection and the terminal on macOS to set the Wifi credentials.</p>
</div>
<div class="paragraph">
<p>Those were the steps:</p>
</div>
<div class="paragraph">
<p>1) Connect the Redbear Duo with the USB cable to my MacBook</p>
</div>
<div class="paragraph">
<p>2) Push the setup button at the Redbear Duo for at least ten seconds, until it starts flashing very fast. After around three seconds the blue led starts flashing and the Redbear Duo is in Listening mode, but in order to reset the wifi credentials you have to press the button longer until the blue led starts flashing very fast.</p>
</div>
<div class="paragraph">
<p>3) Search and connect to Redbear Duo:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code># search for devices:
ls /dev/tty.usbmodem*
# connect to device
screen /dev/tty.usbmodemXXXXX</code></pre>
</div>
</div>
<div class="paragraph">
<p>4) use commands: i: show id, v: show version and w: setup wifi</p>
</div>
<div class="paragraph">
<p>5) Done!</p>
</div>]]></description><link>https://cmolitor.github.io/blog/2018/08/23/Changing-Wifi-credentials-of-Redbear-Duo-IoT-board.html</link><guid isPermaLink="true">https://cmolitor.github.io/blog/2018/08/23/Changing-Wifi-credentials-of-Redbear-Duo-IoT-board.html</guid><dc:creator><![CDATA[Christoph Molitor]]></dc:creator><pubDate>Thu, 23 Aug 2018 00:00:00 GMT</pubDate></item><item><title><![CDATA[Some notes on creating an image from a Raspberry Pi SD card and restoring it]]></title><description><![CDATA[<div class="sect1">
<h2 id="_list_all_mounted_devices">List all mounted devices:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>diskutil list</p>
</div>
<div class="paragraph">
<p>Extract the information which diskX is the one of the SD card.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_unmount_device">Unmount device:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>diskutil unmountDisk /dev/diskX</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_create_image">Create Image:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>sudo dd if=/dev/diskX of=/Users/&#8230;&#8203;/NameOfImage.img bs=1m</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_restore_image_to_device">Restore image to device:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>sudo dd bs=1m if=/Users/&#8230;&#8203;/NameOfImage.img of=/dev/diskX</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_compress_image">Compress image:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>gzip -fk /Users/&#8230;&#8203;/NameOfImage.img</p>
</div>
</div>
</div>]]></description><link>https://cmolitor.github.io/blog/2017/11/26/Some-notes-on-creating-an-image-from-a-Raspberry-Pi-SD-card-and-restoring-it.html</link><guid isPermaLink="true">https://cmolitor.github.io/blog/2017/11/26/Some-notes-on-creating-an-image-from-a-Raspberry-Pi-SD-card-and-restoring-it.html</guid><category><![CDATA[RaspberryPi]]></category><category><![CDATA[CheatSheet]]></category><dc:creator><![CDATA[Christoph Molitor]]></dc:creator><pubDate>Sun, 26 Nov 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Küchenzeile mit IKEA Kallax]]></title><description><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>In der Küche war der Stauraum sowie die Ablagefläche etwas knapp, daher habe ich überlegt wie kostengünstig Stauraum, Ablagefläche und ein Platz für die Mikrowelle geschaffen werden konnte.</p>
</div>
<div class="paragraph">
<p>Nach verschiedenen Überlegeungen habe ich mich entschieden eine passende Lösung basierend auf dem IKEA Kallax Regal zu schaffen.</p>
</div>
<div class="paragraph">
<p>Zuerst kurz ein Foto der fertigen Lösung, die als Inspiration dienen kann. Weiter unten dann eine kurze Beschreibung der Kniffe und Anpassungen, die nötig waren, um mit einfachen IKEA Teilen die Lösung umzusetzen.
Die Teileliste mit Links findet sich am Ende des Artikels.</p>
</div>
<div class="paragraph">
<p>Die fertige Lösung sieht folgendermaßen aus:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Installation_fertig_1.jpg" alt="Ergebnis" width="500" height="300">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_unterschrank">Unterschrank</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Der Unterschrank besteht aus einem 2x2 IKEA Kallax Regal in weiß, einem IKEA ELVARLI (80x51cm) Regalboden sowie vier Möbelfußen (Möbelfuß Set Alpha 80 - 150 mm).</p>
</div>
<div class="paragraph">
<p>Zuerst wurde das IKEA Kallax Regal aufgebaut, wobei im Inneren nur das durchgehende Regalbrett und eins der "halben" Regalbretter montiert wurden. Somit entstand ein großes Fach für die Mikrowelle.</p>
</div>
<div class="paragraph">
<p>Danach wurden die Möbelfüße angeschraubt. Hier wurden einfach die Schrauben des IKEA Regals genutzt. Damit diese durch die Bohrlöcher der Möbelfüße passten, mussten die Bohrlöcher etwas aufgebohrt werden. Die Möbelfüße sind somit nur mit einer Schraube befestigt, was sich aber als vollkommen ausreichend herausgestellt hat.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Befestigung_Bein.jpg" alt="Befestigung Bein" width="500" height="300">
</div>
</div>
<div class="paragraph">
<p>Zum Schluß wurde die Arbeitsplatte bestehend aus einem IKEA ELVARLI (80x51cm) Regalboden angebracht. Diese wurde einfach aufgelegt und von unten durch die Regelwand mit vier Schrauben befestigt. Absolut ausreichend.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Befestigung_Arbeitsplatte.jpg" alt="Befestigung Arbeitsplatte" width="500" height="300">
</div>
</div>
<div class="paragraph">
<p>Die Türen für zwei Fächer wurden entsprechend der IKEA Anleitung und ohne Anpassungen montiert.</p>
</div>
<div class="paragraph">
<p>Das fertige Ergebnis sieht dann folgendermaßen aus:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Unterschrank_fertig.jpg" alt="Unterschrank" width="500" height="300">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_oberschrank">Oberschrank</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Für den Oberschrank wurde ein IKEA Kallax 3x1 Regal in weiß gewählt. Um das Regal sicher an die Wand aufzuhängen, habe ich mich entschieden in allen vier äußeren Ecken des Regals sogenannte Bettbeschläge anzubringen. Die Bettbeschläge wurden mittels Schrauben an den Stellen angebracht, die für den IKEA Kippschutz vorgesehen sind. Hierzu mussten die Bettbeschläge an den entsprechenden Stellen gebohrt werden. Zusätzlich wurden weitere Schrauben verwendet. Hier hat sich aber herausgestellt, dass andere Bohrstellen, als die für den Kippschutz vorgesehenen, nicht wirklich halten. Daher sind die hier verwendeten Bettbeschläge im Nachhinein betrachtet etwas überdimensioniert. Etwas kleinere Bettbeschläge oder einfache Winkel wären wohl auch ausreichend.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Befestigung_Winkel.jpg" alt="Bettbeschlaege" width="500" height="300">
</div>
</div>
<div class="paragraph">
<p>Nachdem die Bettbeschläge angebracht waren, konnte das Regal an der Wand montiert werden. Festhalten, Bohrstellen markieren, Regal absetzen und Löcher in die Wand Bohren. Hier wurden 10mm Köcher für SX10 Dübe gebohrt. Die verwendeten Sechskant-Schrauben für die Befestigung des Regals sind 8x80mm. Unterlagscheiben wären zu empfehlen.</p>
</div>
<div class="paragraph">
<p>So sah das Regal nach der Montage aus:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Oberschrank_ohne_Tueren.jpg" alt="Oberschrank ohne Tueren" width="500" height="300">
</div>
</div>
<div class="paragraph">
<p>Der Einbau der Türen für die beiden außenliegenden Fächer war nun etwas aufwändiger, da die Bettbeschläge etwas im Weg sind. Damit die Einsätze passen, mussten entsprechende Aussparungen gefeilt werden und auch Aussparungen für die Wandschrauben erstellt werden.</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Aussparungen_fertig.jpg" alt="Aussparungen" width="500" height="300">
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Aussparungen2.jpg" alt="Aussparungen" width="500" height="300">
</div>
</div>
<div class="paragraph">
<p>Montierter Einsatz mit Aussparungen:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Aussparungen_Montage.jpg" alt="Aussparungen" width="500" height="300">
</div>
</div>
<div class="paragraph">
<p>Nach dem Einbau der Türen sieht das Ganze folgendermaßen aus:</p>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Oberschrank_mit_Tueren.jpg" alt="Oberschrank" width="500" height="300">
</div>
</div>
<div class="imageblock">
<div class="content">
<img src="https://cmolitor.github.io/blog/images/kitchen_IKEA/Oberschrank_mit_Tueren_offen.jpg" alt="Oberschrank" width="500" height="300">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_zusammenfassung">Zusammenfassung</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Der Aufbau des Unterschranks war sehr einfach und ging schnell von der Hand. Der Oberschrank mit den Bettbeschlägen als sichere Befestigungsmöglichkeit hat einen gewissen Aufwand bedeutet (~2 Stunden).</p>
</div>
<div class="paragraph">
<p>Für die Durchführung wurden eine Bohrmaschine mit entsprechenden Bohrern und verschiedene Holzfeilen verwendet. Zum Anziehen der Sechskant-Schrauben wurde eine Ratsche verwendet.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_links">Links</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Möbelfüße:
<a href="http://www.ebay.de/itm/Mobelfus-Set-Alpha-80-150-mm-Mobelfuse-Sockelfuse-Schrankfuse-Bettfus-Sofafus/162090571638?hash=item25bd59d776:m:mop3084FJWFSQZ7JJ5-0i-Q" class="bare">http://www.ebay.de/itm/Mobelfus-Set-Alpha-80-150-mm-Mobelfuse-Sockelfuse-Schrankfuse-Bettfus-Sofafus/162090571638?hash=item25bd59d776:m:mop3084FJWFSQZ7JJ5-0i-Q</a></p>
</div>
<div class="paragraph">
<p>Regalboden, ELVARLI, IKEA:
<a href="http://www.ikea.com/de/de/catalog/products/80296291/" class="bare">http://www.ikea.com/de/de/catalog/products/80296291/</a></p>
</div>
<div class="paragraph">
<p>Regal, Kallax 2x2, IKEA:
<a href="http://www.ikea.com/de/de/catalog/products/20275814/" class="bare">http://www.ikea.com/de/de/catalog/products/20275814/</a></p>
</div>
<div class="paragraph">
<p>Regal, Kallax 3x1, IKEA:
<a href="http://www.ikea.com/de/de/catalog/products/30372188/" class="bare">http://www.ikea.com/de/de/catalog/products/30372188/</a></p>
</div>
<div class="paragraph">
<p>Regaleinsatz mit Tür, schwarz, IKEA:
<a href="http://www.ikea.com/de/de/catalog/products/20278167/#/60278170" class="bare">http://www.ikea.com/de/de/catalog/products/20278167/#/60278170</a></p>
</div>
<div class="paragraph">
<p>Bettbeschläge:
<a href="http://www.ebay.de/itm/361207035435" class="bare">http://www.ebay.de/itm/361207035435</a></p>
</div>
</div>
</div>]]></description><link>https://cmolitor.github.io/blog/2017/10/30/Kuchenzeile-mit-IKEA-Kallax.html</link><guid isPermaLink="true">https://cmolitor.github.io/blog/2017/10/30/Kuchenzeile-mit-IKEA-Kallax.html</guid><category><![CDATA[IKEA_Hacks]]></category><category><![CDATA[Kitchen]]></category><dc:creator><![CDATA[Christoph Molitor]]></dc:creator><pubDate>Mon, 30 Oct 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Setting up a web app project using Google Firebase and react.js]]></title><description><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>When I looked for a tutorial how to setup a Google Firebase project using react.js, I could not find many tutorials.
Maybe because it is trivial if you are familiar with Firebase and/or react.js.</p>
</div>
<div class="paragraph">
<p>Basically, what you need to do to setup Google Firebase and react.js are just two steps:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Create a react.js application using</p>
</li>
</ol>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code>create-react-ap nameOfApp</code></pre>
</div>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Initialize a firebase project within the folder of your react.js application with some specific settings</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>Here, I assume that you have node.js already installed on your machine. I am running everything on macOS.</p>
</div>
<div class="paragraph">
<p>In the following I will describe the two steps in more detail.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_1_setting_up_a_react_js_project">1. Setting up a react.js project</h2>
<div class="sectionbody">
<div class="paragraph">
<p>I found the following tutorial really helpful to create a first react.js app. Thus, instead of repeating it here, I recommend to follow the guide:</p>
</div>
<div class="paragraph">
<p><a href="https://medium.com/@diamondgfx/learning-react-with-create-react-app-part-1-a12e1833fdc" class="bare">https://medium.com/@diamondgfx/learning-react-with-create-react-app-part-1-a12e1833fdc</a></p>
</div>
<div class="paragraph">
<p>However, at some point I had an issue and had to install:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="highlight"><code>npm install --save react-router-dom</code></pre>
</div>
</div>
<div class="paragraph">
<p>But the everything was fine.</p>
</div>
<div class="paragraph">
<p>Important commands:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code><code>npm start</code></code> for starting your app on your local machine</p>
</li>
<li>
<p><code><code>npm run build</code></code> to build optimized code which will be put in the folder <code><code>build</code></code></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_2_setting_up_google_firebase_project">2. Setting up Google Firebase project</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The following steps have to be executed to setup a Google Firebase project. The source of this description can be found here:
<a href="https://medium.com/@larrysigo/hosting-your-react-app-with-firebase-hosting-add1fa08c214" class="bare">https://medium.com/@larrysigo/hosting-your-react-app-with-firebase-hosting-add1fa08c214</a></p>
</div>
<div class="paragraph">
<p>First you gave to install the firebase-tools and initialize firebase in your project.</p>
</div>
<div class="paragraph">
<p>Install firebase tools by <code><code>npm install -g firebase-tools</code></code> which install firebase globally so it can be used in the ternimal.</p>
</div>
<div class="paragraph">
<p>Second you have to initialize the firebase project in your project folder. Navigate there in your terminal and enter the command <code>firebase login</code><code>, then login and run the command <code>`firebase init</code></code>.</p>
</div>
<div class="paragraph">
<p>Follow the steps on the screen:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Select the Firebase features you want to use. Here, I chose Database, Hosting nd Cloud functions.</p>
</li>
<li>
<p>Firebase command-line interface will pull up your list of Firebase projects, where you can then choose the corresponding project using the up and down keys. Here all projects created in the frírebase online frontend will be listed.</p>
</li>
<li>
<p>Keep the default for the Database Rules file name and just press enter.</p>
</li>
<li>
<p>Pay attention to the question about public directory, which is the directory that will be deployed and served by Firebase. In our case it is <code><code>build</code></code>, which is the folder where our production build is located. Type <code><code>build</code></code> and proceed. If you make a istake here, you can change the public directory in the file <code><code>firebase.json</code></code></p>
</li>
<li>
<p>Firebase will ask you if you want the app to be configured as a single-page app. By default it is “no” — in our case, we could really benefit from the configuration, so we’ll type “y” and press enter. Later on you’ll be able to use react-router and the URLs will just work.</p>
</li>
<li>
<p>Firebase will warn us that we already have “build/index.html,” which we don’t want to be overwritten. Type “n” and press enter to keep our own “index.html,” generated by our build process earlier.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_further_material">Further material:</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Alternative/similar guide, I did not try yet: <a href="https://www.youtube.com/watch?v=mwNATxfUsgI" class="bare">https://www.youtube.com/watch?v=mwNATxfUsgI</a></p>
</li>
</ul>
</div>
</div>
</div>]]></description><link>https://cmolitor.github.io/blog/2017/08/26/Setting-up-a-web-app-project-using-Google-Firebase-and-reactjs.html</link><guid isPermaLink="true">https://cmolitor.github.io/blog/2017/08/26/Setting-up-a-web-app-project-using-Google-Firebase-and-reactjs.html</guid><dc:creator><![CDATA[Christoph Molitor]]></dc:creator><pubDate>Sat, 26 Aug 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[New web application with Google Firebase and react.js]]></title><description><![CDATA[<div class="paragraph">
<p>I had the idea to create a web application. May idea was to start quickly and not spending time with setting up and configuring servers. After some reading I decided to go with Google Firebase and using react.js for the frontend. So far, I have almost no experience with javascript. Thus, this little project will hopefully help me to get some experience with java script and react.js framework.</p>
</div>
<div class="paragraph">
<p>I chose Google Firebase as it provides some great feature, like realtime database, hosting of the entire web app as well as cloud functions to implement some backend code. And I wanted to try it out;-)</p>
</div>
<div class="paragraph">
<p>In the coming blog posts I will report about my experience regarding the setup and the configuration of the tools as well as my progress.</p>
</div>]]></description><link>https://cmolitor.github.io/blog/2017/08/24/New-web-application-with-Google-Firebase-and-reactjs.html</link><guid isPermaLink="true">https://cmolitor.github.io/blog/2017/08/24/New-web-application-with-Google-Firebase-and-reactjs.html</guid><category><![CDATA[Firebase]]></category><category><![CDATA[react.js]]></category><category><![CDATA[javascript]]></category><category><![CDATA[webapp]]></category><dc:creator><![CDATA[Christoph Molitor]]></dc:creator><pubDate>Thu, 24 Aug 2017 00:00:00 GMT</pubDate></item><item><title><![CDATA[Mein erster Blogeintrag]]></title><description><![CDATA[<div class="paragraph">
<p>Hier in diesem Blog werde ich über verschiedene technische Themen berichten, mit denen ich mich gerade beschäftige. Die Berichte dienen hauptsächlich zu meiner eigenen Dokumentation und können vielleicht auch für jemand anderen hilfreich sein.</p>
</div>]]></description><link>https://cmolitor.github.io/blog/2017/08/24/Mein-erster-Blogeintrag.html</link><guid isPermaLink="true">https://cmolitor.github.io/blog/2017/08/24/Mein-erster-Blogeintrag.html</guid><dc:creator><![CDATA[Christoph Molitor]]></dc:creator><pubDate>Thu, 24 Aug 2017 00:00:00 GMT</pubDate></item></channel></rss>