<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technology on Camping Coder</title><link>https://www.campingcoder.com/tags/technology/</link><description>Recent content in Technology on Camping Coder</description><generator>Hugo</generator><language>en-US</language><copyright>All rights reserved</copyright><lastBuildDate>Mon, 15 Oct 2018 00:00:00 -0500</lastBuildDate><atom:link href="https://www.campingcoder.com/tags/technology/index.xml" rel="self" type="application/rss+xml"/><item><title>Maxing out the Mini Delta 3D printer</title><link>https://www.campingcoder.com/2018/10/maxing-out-the-mini-delta-3d-printer/</link><pubDate>Mon, 15 Oct 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/10/maxing-out-the-mini-delta-3d-printer/</guid><description>&lt;p&gt;It&amp;rsquo;s been a bit since the last post as we&amp;rsquo;ve been adventuring a lot lately. We&amp;rsquo;re getting ready for Halloween by printing out ghost decorations on the &lt;a href="https://amzn.to/2KVmem9" target="_blank" rel="noopener noreferrer"&gt;Monoprice Mini Delta&lt;/a&gt; and we&amp;rsquo;re maxing out the build volume in the process. Follow along and check out how to get the most out of the little printer.&lt;/p&gt;&#10;&lt;p&gt;With Halloween around the corner, I was feeling a little behind the curve when it came to all the cool stuff that I could print out for the holiday found on &lt;a href="https://www.thingiverse.com/" target="_blank" rel="noopener noreferrer"&gt;Thingiverse&lt;/a&gt;. I looked at dozens of spooky items, but kept coming back to the same &lt;em&gt;will it be big enough&lt;/em&gt; thought. This is mainly because the &lt;a href="https://amzn.to/2KVmem9" target="_blank" rel="noopener noreferrer"&gt;Mini Delta&lt;/a&gt; can only print 110mm (4.33&amp;quot;) in diameter, but I typically only go to 90mm (3.54&amp;quot;) just so I have a little give. About the time I was going to give up the search I found it - a &lt;a href="https://www.thingiverse.com/thing:1065206" target="_blank" rel="noopener noreferrer"&gt;PacMan Ghost Lantern&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Scaling woes with 3D Printing</title><link>https://www.campingcoder.com/2018/07/scaling-woes-with-3d-printing/</link><pubDate>Wed, 11 Jul 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/07/scaling-woes-with-3d-printing/</guid><description>&lt;h2 id="overall"&gt;Overall&lt;/h2&gt;&#10;&lt;p&gt;If you&amp;rsquo;ve been following along with the &lt;a href="https://www.campingcoder.com/series/3d-printing/" target="_blank" rel="noopener noreferrer"&gt;3D printing series&lt;/a&gt; you&amp;rsquo;ll know that it&amp;rsquo;s fairly easy to use a Chromebook to print to your 3D printer using an &lt;a href="https://store.astroprint.com/collections/accesories/products/astrobox-raspberry-pi-3-kit" target="_blank" rel="noopener noreferrer"&gt;AstroBox Gateway Raspberry Pi 3 Kit&lt;/a&gt;. For a while now it&amp;rsquo;s been perfect while learning the ropes of 3D printing, but now I&amp;rsquo;ve moved into an area where I want pre-existing parts to integrate into my projects and that&amp;rsquo;s where the problem is. With the current setup of a &lt;a href="https://amzn.to/2KVmem9" target="_blank" rel="noopener noreferrer"&gt;Monoprice Mini Delta&lt;/a&gt; and the Astrobox there is no &lt;em&gt;easy&lt;/em&gt; way to adjust for your machine&amp;rsquo;s particulars. Follow along to see how I&amp;rsquo;ve mitigated the issue for myself and you can leverage the same solution too!&lt;/p&gt;</description></item><item><title>3D Printing with Astroprint</title><link>https://www.campingcoder.com/2018/06/3d-printing-with-astroprint/</link><pubDate>Wed, 27 Jun 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/06/3d-printing-with-astroprint/</guid><description>&lt;p&gt;If you read any of the other posts in the &lt;a href="https://www.campingcoder.com/series/3d-printing/" target="_blank" rel="noopener noreferrer"&gt;3D printing series&lt;/a&gt; you&amp;rsquo;ll know that after reading &lt;a href="https://www.raspberrypi.org/magpi-issues/MagPi69.pdf" target="_blank" rel="noopener noreferrer"&gt;The MagPi issue 69&lt;/a&gt; I think that the itch of 3D printing had solidly re-emerged in me. Additionally, if you&amp;rsquo;ve looked around Camping Coder you&amp;rsquo;ll also know that I&amp;rsquo;m a huge fan of &lt;a href="https://www.campingcoder.com/series/chromebook/" target="_blank" rel="noopener noreferrer"&gt;Chromebooks&lt;/a&gt; in general. That&amp;rsquo;s where the &lt;a href="https://store.astroprint.com/collections/accesories/products/astrobox-raspberry-pi-3-kit" target="_blank" rel="noopener noreferrer"&gt;AstroBox Gateway Raspberry Pi 3 Kit&lt;/a&gt; comes into play. It&amp;rsquo;s an awesome little tool which will allow you to easily print to your &lt;a href="https://www.amazon.com/gp/product/B07CJQ3D6L/ref=as_li_tl?ie=UTF8&amp;amp;tag=campingcoder-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B07CJQ3D6L&amp;amp;linkId=ad885df9744725119cac1a4cd9199908" target="_blank" rel="noopener noreferrer"&gt;Monoprice Mini Delta&lt;/a&gt; from your Chromebook.&lt;/p&gt;</description></item><item><title>Monoprice Mini Delta</title><link>https://www.campingcoder.com/2018/06/monoprice-mini-delta/</link><pubDate>Wed, 06 Jun 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/06/monoprice-mini-delta/</guid><description>&lt;p&gt;After reading &lt;a href="https://www.raspberrypi.org/magpi-issues/MagPi69.pdf" target="_blank" rel="noopener noreferrer"&gt;The MagPi issue 69&lt;/a&gt; I think that the itch of 3D printing had solidly re-emerged in me. About five years ago, I was very close to building one from scratch, but cost really kept me away. In the &lt;a href="https://www.raspberrypi.org/magpi-issues/MagPi69.pdf" target="_blank" rel="noopener noreferrer"&gt;issue&lt;/a&gt;, MagPi shows off a $100 kit printer, and lets face it - for $100 you really can&amp;rsquo;t go wrong.&lt;/p&gt;&#10;&lt;p&gt;Like any good nerd I started learning everything that I could about that one. Two of the major barriers were that it was on a multi month back order, which I really don&amp;rsquo;t have patience for and the other was the eight plus hour build time - between all of the other things in this season of life there really isn&amp;rsquo;t eight hours to &lt;em&gt;build&lt;/em&gt; a printer to be had.&lt;/p&gt;</description></item><item><title>3D Printing from a Chromebook</title><link>https://www.campingcoder.com/2018/05/3d-printing-from-a-chromebook/</link><pubDate>Wed, 30 May 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/05/3d-printing-from-a-chromebook/</guid><description>&lt;p&gt;If you&amp;rsquo;ve been following us for any length of time you probably already noticed that we huge fans of Chrome OS. With that there are &lt;em&gt;often&lt;/em&gt; issues that need to be worked around or dealt with when working with a highly secured OS, with a semi limited app ecosystem. One of them is that you cannot simply go install an application to run your 3D printer. With restrictions though sometimes better more innovative processes can flourish. Follow along with us as we show you how we got into 3D printing for only a few hundred dollars and a Chromebook!&lt;/p&gt;</description></item><item><title>Hugo and droppy, Chromebook friends</title><link>https://www.campingcoder.com/2018/05/hugo-and-droppy-chromebook-friends/</link><pubDate>Wed, 16 May 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/05/hugo-and-droppy-chromebook-friends/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/20180510-droppy.svg" alt="droppy logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;droppy logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;If you read the post on &lt;a href="https://www.campingcoder.com/2018/02/hugo---gulp--chromebook-awesomeness/" target="_blank" rel="noopener noreferrer"&gt;Hugo + gulp = Chromebook awesomeness&lt;/a&gt; then you know that there are a lot of steps in it, and a lot of parts moving to make the solution work. While it does meet the need I noticed that it&amp;rsquo;s a little much for daily use. That&amp;rsquo;s really where &lt;a href="https://github.com/silverwind/droppy" target="_blank" rel="noopener noreferrer"&gt;droppy&lt;/a&gt; comes into the picture. It runs on Raspberry Pi&amp;rsquo;s, so its light weight, and has a great interface - best of all it has a code editor built right in!&lt;/p&gt;</description></item><item><title>Hugo + SHH - gulp = a new workflow</title><link>https://www.campingcoder.com/2018/05/hugo---shh---gulp--a-new-workflow/</link><pubDate>Thu, 03 May 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/05/hugo---shh---gulp--a-new-workflow/</guid><description>&lt;p&gt;If you ready the post on &lt;a href="https://www.campingcoder.com/2018/02/hugo---gulp--chromebook-awesomeness/" target="_blank" rel="noopener noreferrer"&gt;Hugo + gulp = Chromebook awesomeness&lt;/a&gt; you&amp;rsquo;ll know that I&amp;rsquo;ve been adjusting my workflow to get Hugo to live reload on Chrome OS. While that solution worked okay, there were a few issues with it.&lt;/p&gt;&#10;&lt;p&gt;First off, the process required that a gulp task be setup to &lt;strong&gt;sync&lt;/strong&gt; the files with the Termux. This isn&amp;rsquo;t a big deal, but as a project grows there&amp;rsquo;s more to sync, which causes the process to slow down. Additionally, it stores a duplicate of the files, which digs into the precious limited space on many Chromebooks.&lt;/p&gt;</description></item><item><title>git stash and pop</title><link>https://www.campingcoder.com/2018/04/git-stash-and-pop/</link><pubDate>Thu, 26 Apr 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/04/git-stash-and-pop/</guid><description>&lt;p&gt;Sometimes you&amp;rsquo;re in such a rush to write code that you forget to switch branches and only realize later that oops&amp;hellip; wrong branch! What do you do then? Some might even be tempted to &lt;strong&gt;copy&lt;/strong&gt; their code elsewhere, switch branches and then copy it back. Well, there&amp;rsquo;s a better, more &lt;strong&gt;graceful&lt;/strong&gt; way called stash and pop that comes into play. Not only do they give you a way to temporarily store your code on a branch, but they let you move it to other branches as well.&lt;/p&gt;</description></item><item><title>Adding search to Hugo with elasticlunr</title><link>https://www.campingcoder.com/2018/04/adding-search-to-hugo-with-elasticlunr/</link><pubDate>Thu, 12 Apr 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/04/adding-search-to-hugo-with-elasticlunr/</guid><description>&lt;p&gt;Well, it finally happened. Shortly after our &lt;a href="https://www.campingcoder.com/2018/04/post-number-50/" target="_blank" rel="noopener noreferrer"&gt;50th post&lt;/a&gt;, we realized without using google or in current post links it was becoming harder to &lt;strong&gt;find&lt;/strong&gt; articles that had been written in the past. It&amp;rsquo;s not a secret that we use &lt;a href="http://gohugo.io/" target="_blank" rel="noopener noreferrer"&gt;Hugo&lt;/a&gt;, and it is a great platform for static sites, just not for search. After &lt;strong&gt;searching&lt;/strong&gt; on search for &lt;a href="http://gohugo.io/" target="_blank" rel="noopener noreferrer"&gt;Hugo&lt;/a&gt; we&amp;rsquo;ve finally implemented a solution that works for us without the need for outside services.&lt;/p&gt;</description></item><item><title>How to use git flow</title><link>https://www.campingcoder.com/2018/04/how-to-use-git-flow/</link><pubDate>Thu, 05 Apr 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/04/how-to-use-git-flow/</guid><description>&lt;p&gt;git flow is among one of my favorite ways to teach git, and frankly one of my favorite ways to use git. It&amp;rsquo;s a pattern to follow and one of the best parts about git flow is that it makes automation on top of git &lt;em&gt;&lt;strong&gt;very&lt;/strong&gt;&lt;/em&gt; simple. Additionally, most of the graphical user interfaces already have it built in, so you can&amp;rsquo;t lose.&lt;/p&gt;&#10;&lt;h2 id="what-is-it-really"&gt;What is it really?&lt;/h2&gt;&#10;&lt;p&gt;git flow is nothing except a git branching model. If you already read &lt;a href="https://www.campingcoder.com/2018/02/git-branches-simply-explained/" target="_blank" rel="noopener noreferrer"&gt;git branches simply explained&lt;/a&gt; and &lt;a href="https://www.campingcoder.com/2018/03/git-merges-demystified/" target="_blank" rel="noopener noreferrer"&gt;git Merges Demystified&lt;/a&gt; in our git series, then you have all the tools needed to start using git flow. Initially published by Vincent Driessen, the &lt;a href="http://nvie.com/posts/a-successful-git-branching-model/" target="_blank" rel="noopener noreferrer"&gt;git flow model&lt;/a&gt; has been a welcomed pattern for git branching and from there the tie ins to it have been just flowing.&lt;/p&gt;</description></item><item><title>Themeing gisty</title><link>https://www.campingcoder.com/2018/03/themeing-gisty/</link><pubDate>Thu, 29 Mar 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/03/themeing-gisty/</guid><description>&lt;style&gt;&#10; img[alt="gisty logo"] {&#10; width:70%;&#10; }&#10;&#10;&lt;/style&gt;&#10;&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.gistyapp.com/logos/Logo-text-w.svg" alt="gisty logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;gisty logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;h2 id="refactoring-gisty"&gt;Refactoring gisty~&lt;/h2&gt;&#10;&lt;p&gt;When I initially wrote &lt;a href="https://www.gistyapp.com" target="_blank" rel="noopener noreferrer"&gt;gisty~&lt;/a&gt; it was a quickly put together application, and I even waited a bit to &lt;a href="https://www.campingcoder.com/2018/01/introducing-gisty/" target="_blank" rel="noopener noreferrer"&gt;promote the application&lt;/a&gt;. Not to say that it was bad, but function was its primary goal. Ascetics was fairly &lt;em&gt;&lt;strong&gt;low&lt;/strong&gt;&lt;/em&gt; on the priority list at the time. At that time, it was all about the GitHub &lt;a href="https://en.wikipedia.org/wiki/Application_programming_interface" target="_blank" rel="noopener noreferrer"&gt;Application programming interface&lt;/a&gt; (API) calls to accurately pull the data needed, and to do it the same every time. Now six months later after using the application, some much needed attention has been given to the user interface (UI).&lt;/p&gt;</description></item><item><title>Running Tmux for Termux on a Chromebook</title><link>https://www.campingcoder.com/2018/03/running-tmux-for-termux-on-a-chromebook/</link><pubDate>Thu, 22 Mar 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/03/running-tmux-for-termux-on-a-chromebook/</guid><description>&lt;p&gt;It&amp;rsquo;s the little things that make writing code much more enjoyable. While I have been extremely happy since &lt;a href="https://www.campingcoder.com/2018/01/resetting-my-chromebook-back-to-stock/" target="_blank" rel="noopener noreferrer"&gt;resetting my Chromebook back to stock&lt;/a&gt;, since I can run all the applications that I need - I really wanted multi window for &lt;a href="https://termux.com/" target="_blank" rel="noopener noreferrer"&gt;Termux&lt;/a&gt;. While Chrome OS will not let you run multiple copies of Termux there is an application called tmux which will allow you to split up the one window into many regions.&lt;/p&gt;</description></item><item><title>Scheduling code deployment with Bitbucket</title><link>https://www.campingcoder.com/2018/03/scheduling-code-deployment-with-bitbucket/</link><pubDate>Thu, 15 Mar 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/03/scheduling-code-deployment-with-bitbucket/</guid><description>&lt;p&gt;Having a deployment pipeline is an awesome thing, it eliminates the mundane task of deploying changes. Really let&amp;rsquo;s face it, if a task is boring or mundane, then there&amp;rsquo;s likely a chance where a mistake could happen. Sometime though there&amp;rsquo;s a need to re-deploy, or at least deploy code at a certain time, and that&amp;rsquo;s where an overlooked feature in Bitbucket pipeline comes in which is simply called &lt;strong&gt;Schedules&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/20180315-bitbucket-pipelines-scheduled-runs-2.png" alt="Schedule button" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;Schedule button&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;</description></item><item><title>Serverless dynamic content with Hugo and JavaScript</title><link>https://www.campingcoder.com/2018/03/serverless-dynamic-content-with-hugo-and-javascript/</link><pubDate>Thu, 08 Mar 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/03/serverless-dynamic-content-with-hugo-and-javascript/</guid><description>&lt;p&gt;Wow that&amp;rsquo;s a $10 title, but it&amp;rsquo;s really the goal of this post - to show you how you can use Hugo and still retain all of the JavaScript goodies for dynamic content. For those who don&amp;rsquo;t know, in general for dynamic content you will typically require having a server with a database somewhere which allows you to request data. With Hugo there is no database, or place to pull the content, at least at first glance.&lt;/p&gt;</description></item><item><title>git Merges Demystified</title><link>https://www.campingcoder.com/2018/03/git-merges-demystified/</link><pubDate>Thu, 01 Mar 2018 01:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/03/git-merges-demystified/</guid><description>&lt;p&gt;Last time in our git series, we looked into &lt;a href="https://www.campingcoder.com/2018/02/git-branches-simply-explained/" target="_blank" rel="noopener noreferrer"&gt;branching and merging&lt;/a&gt; - setting the ground work for how to merge code when your working by yourself. While that is all well and good, the real power is in collaborating with a team. In this post, we discuss the dreaded merge conflict, what they are, and how to resolve them.&lt;/p&gt;&#10;&lt;h2 id="setting-the-stage"&gt;Setting the stage&lt;/h2&gt;&#10;&lt;p&gt;To explain a merge conflict, it is easier to tell the story of two developers - in out case Dev A and Dev B. They are both awesome developers and always branch from the right branch, check in their code, and write great commit messages. They have both been assigned to different features on our project.&lt;/p&gt;</description></item><item><title>git branches simply explained</title><link>https://www.campingcoder.com/2018/02/git-branches-simply-explained/</link><pubDate>Thu, 22 Feb 2018 01:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/02/git-branches-simply-explained/</guid><description>&lt;p&gt;So far in our git series, we&amp;rsquo;ve taken a look at all the steps needed to start using git to track and store your code. We haven&amp;rsquo;t looked into one of the most powerful parts of git which is branches. Branches solves the problem where you might be working on &lt;em&gt;X&lt;/em&gt; at the moment, but &lt;em&gt;Y&lt;/em&gt; needs attention now. Branches additionally help when working with other people on projects. For example, when I first started writing code this seemed so easy and my steps usually included something like:&lt;/p&gt;</description></item><item><title>Hugo + gulp = Chromebook awesomeness</title><link>https://www.campingcoder.com/2018/02/hugo---gulp--chromebook-awesomeness/</link><pubDate>Thu, 15 Feb 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/02/hugo---gulp--chromebook-awesomeness/</guid><description>&lt;p&gt;One of my favorite things about writing code is that you can learn or fail fast - typically the failures teach you a lot more too. The quick iterations really are fun and when they make your day just an increment better, you get a sense of accomplishment. If you&amp;rsquo;ve read my&#10;&lt;a href="https://www.campingcoder.com/2017/11/running-hugo-on-chromebook/" target="_blank" rel="noopener noreferrer"&gt;initial running Hugo on a Chromebook&lt;/a&gt; post which was followed by the &lt;a href="https://www.campingcoder.com/2018/01/resetting-my-chromebook-back-to-stock/" target="_blank" rel="noopener noreferrer"&gt;Hugo on 100% stock Chromebook&lt;/a&gt; you&amp;rsquo;ll get a sense of how the &lt;em&gt;little&lt;/em&gt; iterations make a difference.&lt;/p&gt;</description></item><item><title>Resetting My Chromebook Back to Stock</title><link>https://www.campingcoder.com/2018/01/resetting-my-chromebook-back-to-stock/</link><pubDate>Mon, 29 Jan 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/01/resetting-my-chromebook-back-to-stock/</guid><description>&lt;p&gt;With all the news coverage of the Meltdown, Spectre and whatever name exploits in the media, when I received the chance to upgrade to the newest version of Chrome OS, I jumped on it. This particular version for my &lt;a href="https://www.campingcoder.com/2017/12/thinkpad-chromebook-a-year-later/" target="_blank" rel="noopener noreferrer"&gt;ThinkPad Chromebook&lt;/a&gt; also included a firmware upgrade, which to me meant something new - I have not seen a firmware update in Chrome OS until then. The downside of the update is that it required a &amp;lsquo;Power wash&amp;rsquo; of Chrome OS, essentially resetting the machine back to stock. I thought about it for a little and decided to take it a step further and take the machine out of developer mode and see if with Android apps if I could mitigate the need for the elevated permissions on Chrome OS.&lt;/p&gt;</description></item><item><title>Introducing gisty</title><link>https://www.campingcoder.com/2018/01/introducing-gisty/</link><pubDate>Fri, 19 Jan 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/01/introducing-gisty/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.gistyapp.com/logos/Logo-text-w.svg" alt="gisty logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;gisty logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Over the years I&amp;rsquo;ve come to save snippets of code that solve my problems from my projects or the various places on the internet. Doing so has allowed me to be able to quickly reference a block of code from months or years ago. Not only does this save me time, but allows me to continuously update how I&amp;rsquo;m writing code and apply best practices in a consistent manner.&lt;/p&gt;</description></item><item><title>Automated code deployment with Bitbucket and Docker</title><link>https://www.campingcoder.com/2018/01/automated-code-deployment-with-bitbucket-and-docker/</link><pubDate>Thu, 11 Jan 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/01/automated-code-deployment-with-bitbucket-and-docker/</guid><description>&lt;p&gt;You&amp;rsquo;ve probably heard of Docker, but don&amp;rsquo;t have the time needed to learn or implement it - you probably also want to start automating your builds, because who likes to deploy code? In this post, we&amp;rsquo;ll cover using Docker to deploy code using Bitbucket Pipelines. It will be high level on what docker is and enough to either use someone else&amp;rsquo;s Docker image or build your own - without needing to install Docker on your machine. We will then use that image to deploy our projects source code using Bitbucket Pipelines.&lt;/p&gt;</description></item><item><title>What's a remote in git</title><link>https://www.campingcoder.com/2018/01/whats-a-remote-in-git/</link><pubDate>Thu, 04 Jan 2018 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2018/01/whats-a-remote-in-git/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-30_Intro-to-git-part-1.png" alt="git logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;git logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;In the last installment of the Learning git series we took a look at how to start using git to &lt;a href="https://www.campingcoder.com/2017/12/initializing-git/" target="_blank" rel="noopener noreferrer"&gt;version code&lt;/a&gt;. Now that we know how to commit our code, we need to know how to share it, or at least back it up. This is where the remote command comes into play with git.&lt;/p&gt;&#10;&lt;p&gt;In general, a remote is literally a &lt;em&gt;remote&lt;/em&gt; from your current machine. You can set it up a few different ways, but I&amp;rsquo;ll cover the central repository pattern here. With that pattern you can think of a remote as just a big cloud data store -it&amp;rsquo;s more than that, but let&amp;rsquo;s move on for now.&lt;/p&gt;</description></item><item><title>Initializing git</title><link>https://www.campingcoder.com/2017/12/initializing-git/</link><pubDate>Thu, 28 Dec 2017 00:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/12/initializing-git/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-30_Intro-to-git-part-1.png" alt="git logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;git logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Thus far in our Learning git series, we talked about an awful lot of theory and configuration, but haven&amp;rsquo;t actually used git for what git does. In this post we are going to discuss what we need to do in order to start tracking files with git. Additionally, we will review the &lt;em&gt;&lt;strong&gt;scope&lt;/strong&gt;&lt;/em&gt; of git on your files as well.&lt;/p&gt;&#10;&lt;p&gt;Like everything in the git-verse there&amp;rsquo;s more than one way to start using it. We will first look at a few graphical user interfaces, and then move onto the command line. For &lt;em&gt;most&lt;/em&gt; folks the user interface is the route to go while learning git, but the command line really is easy too - it just take a little more when you&amp;rsquo;re learning.&lt;/p&gt;</description></item><item><title>Setting up git</title><link>https://www.campingcoder.com/2017/12/setting-up-git/</link><pubDate>Thu, 21 Dec 2017 05:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/12/setting-up-git/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-30_Intro-to-git-part-1.png" alt="git logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;git logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;In the last two post in our Learning git series, we talked about why to use git and the basic pattern you&amp;rsquo;ll find yourself using most often. In this post we are going to walk through the steps needed to get git setup and functioning on both Windows and Chrome OS. It&amp;rsquo;s becoming easier and easier to do this, and hopefully this guide will get you on the right path.&lt;/p&gt;</description></item><item><title>Thinkpad Chromebook a year later</title><link>https://www.campingcoder.com/2017/12/thinkpad-chromebook-a-year-later/</link><pubDate>Thu, 14 Dec 2017 05:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/12/thinkpad-chromebook-a-year-later/</guid><description>&lt;div class="row g-4 info"&gt;&#10; &#10; &lt;table class="col-lg-6"&gt;&#10; &lt;thead&gt;&#10; &lt;th colspan="3"&gt;&#10; Ratings&#10; &lt;/th&gt;&#10; &lt;/thead&gt;&#10; &lt;tr&gt;&#10; &lt;td colspan="2"&gt;&#10; &lt;a href="https://www.amazon.com/gp/product/B01LWNVFIM/ref=as_li_tl?ie=UTF8&amp;amp;tag=campingcoder-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LWNVFIM&amp;amp;linkId=08cd7c4ea974bdbcab82aad206b5fb69" target="_blank"&gt;Link to product&lt;/a&gt;&#10; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td class="rating"&gt;&#10; Would we buy it again?&#10; &lt;/td&gt;&#10; &lt;td&gt;&#10; Yes&#10; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td class="rating"&gt;&#10; Value&#10; &lt;/td&gt;&#10; &lt;td&gt;&#10; High&#10; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&#10; &lt;td class="rating"&gt;&#10; Ease of use&#10; &lt;/td&gt;&#10; &lt;td&gt;&#10; Super Easy&#10; &lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/table&gt;&#10; &#10;&#10; &#10; &lt;div class="col-lg-6"&gt;&#10; &lt;p class="staticimage"&gt;&amp;nbsp;&lt;/p&gt;&#10; &lt;a href="https://www.amazon.com/gp/product/B01LWNVFIM/ref=as_li_tl?ie=UTF8&amp;amp;tag=campingcoder-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LWNVFIM&amp;amp;linkId=08cd7c4ea974bdbcab82aad206b5fb69" target="_blank"&gt;&#10; &lt;img class="staticimage" src="https://ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&amp;amp;MarketPlace=US&amp;amp;ASIN=B01LWNVFIM&amp;amp;ServiceVersion=20070822&amp;amp;ID=AsinImage&amp;amp;WS=1&amp;amp;Format=_SL250_&amp;amp;tag=campingcoderw-20" alt="Product image for Thinkpad Chromebook a year later" loading="lazy" /&gt;&#10; &lt;/a&gt;&#10; &lt;/div&gt;&#10; &#10;&lt;/div&gt;&#10;&#10;&lt;hr&gt;&#10;&lt;p&gt;I&amp;rsquo;ve been using my &lt;a href="https://www.amazon.com/gp/product/B01LWNVFIM/ref=as_li_tl?ie=UTF8&amp;amp;tag=campingcoder-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01LWNVFIM&amp;amp;linkId=08cd7c4ea974bdbcab82aad206b5fb69" target="_blank" rel="noopener noreferrer"&gt;ThinkPad Chromebook 13&lt;/a&gt; for a little over a year for multiple development activities. It all started with a an itch to try out Chrome OS and to get a half decent development machine. This is my second personal ThinkPad - the last one I actually ended up physically destroying the hard drive for because it had just become too old, but would not die. There have been ups and downs on this little experiment of mine and I hope to put out a little information for those whom might be looking at doing the same.&lt;/p&gt;</description></item><item><title>The git cycle</title><link>https://www.campingcoder.com/2017/12/the-git-cycle/</link><pubDate>Thu, 07 Dec 2017 05:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/12/the-git-cycle/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-30_Intro-to-git-part-1.png" alt="git logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;git logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;I like rocket ships - one of the best things about living where we do in Florida is that we get to watch the launches from our front porch. So I got to thinking, is git like a rocket ship? I busted out the doodling pad and realized yes it is - even more like one of the new reusable rockets, but that&amp;rsquo;s aside the point.&lt;/p&gt;</description></item><item><title>Intro to git - Part 1</title><link>https://www.campingcoder.com/2017/11/intro-to-git---part-1/</link><pubDate>Thu, 30 Nov 2017 05:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/11/intro-to-git---part-1/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-30_Intro-to-git-part-1.png" alt="git logo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;git logo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ve been using git for quite a few years now for version control on my software projects. It&amp;rsquo;s pretty popular and easy to use but I continue to meet programmers who have tried it but just can&amp;rsquo;t seem to grasp it. While it&amp;rsquo;s sad to see a colleague struggling with something, it&amp;rsquo;s worst when you have them &lt;em&gt;&lt;strong&gt;&amp;rsquo;learning&amp;rsquo;&lt;/strong&gt;&lt;/em&gt; on a live project - no one has fun there. I&amp;rsquo;ve been lucky enough to have presented sessions on git in the past at Orlando .Net Code Camp, and figured that having a series of posts breaking down those sessions could have some value.&lt;/p&gt;</description></item><item><title>Running Hugo on Chromebook</title><link>https://www.campingcoder.com/2017/11/running-hugo-on-chromebook/</link><pubDate>Sun, 12 Nov 2017 14:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/11/running-hugo-on-chromebook/</guid><description>&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I&amp;rsquo;ve made a few adjustments to the process in my &lt;a href="https://www.campingcoder.com/2018/01/resetting-my-chromebook-back-to-stock/" target="_blank" rel="noopener noreferrer"&gt;Resetting My Chromebook Back to Stock&lt;/a&gt; post. Mainly script cleanup and a way to do this without being in developer mode. This post still has the basics and a lot of good info not covered in the new post.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-12_General_Run-Hugo-on-Chromebook-1.jpeg" alt="Termux and hugo" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;Termux and hugo&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;If you read any of my post on &lt;a href="https://www.campingcoder.com/post/android-apps-arrive-on-thinkpad-chromebook-13/" target="_blank" rel="noopener noreferrer"&gt;Android apps on on Thinkpad Chromebook&lt;/a&gt; then you know that my primary machine is a &lt;a href="https://www.amazon.com/gp/product/B01HBJ60ME/ref=as_li_tl?ie=UTF8&amp;amp;tag=campingcoder-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01HBJ60ME&amp;amp;linkId=28454eafed263b6d543f593806107216" target="_blank" rel="noopener noreferrer"&gt;Thinkpad 13 Chromebook&lt;/a&gt;. This was an artificially imposed restriction on my end, to make me do more with less. While the experience has be very pleasant there have been a few places where a &amp;rsquo;little&amp;rsquo; more power or options would be welcomed - that&amp;rsquo;s where Termux comes into play.&lt;/p&gt;</description></item><item><title>Android Apps arrive on ThinkPad Chromebook 13</title><link>https://www.campingcoder.com/2017/11/android-apps-arrive-on-thinkpad-chromebook-13/</link><pubDate>Fri, 10 Nov 2017 12:00:00 -0500</pubDate><guid>https://www.campingcoder.com/2017/11/android-apps-arrive-on-thinkpad-chromebook-13/</guid><description>&lt;h2 id="finally"&gt;Finally&amp;hellip;&lt;/h2&gt;&#10;&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-11-10_General_Chrome-Apps-On-Thinkpad-13-Chromebook-1.jpeg" alt="Proof!" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;Proof!&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;After about a year of waiting for Android Apps on my &lt;a href="https://www.amazon.com/gp/product/B01HBJ60ME/ref=as_li_tl?ie=UTF8&amp;amp;tag=campingcoder-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;linkCode=as2&amp;amp;creativeASIN=B01HBJ60ME&amp;amp;linkId=6fc20497d651a1ea13fd8042515cb1c9" target="_blank" rel="noopener noreferrer"&gt;ThinkPad Chromebook 13&lt;/a&gt; they finally arrived in last night&amp;rsquo;s update. I was overly excited because just earlier that day I had been on the &amp;lsquo;chat&amp;rsquo; with Lenovo asking when this would happen. The answer that I had been given at noon was that the sales team did not know when they would be enabling the feature, but then that evening &lt;em&gt;&lt;strong&gt;poof&lt;/strong&gt;&lt;/em&gt; Android apps.&lt;/p&gt;</description></item><item><title>PASS Summit 2017</title><link>https://www.campingcoder.com/2017/10/pass-summit-2017/</link><pubDate>Tue, 31 Oct 2017 15:03:27 -0500</pubDate><guid>https://www.campingcoder.com/2017/10/pass-summit-2017/</guid><description>&lt;p&gt;&lt;figure class="image-figure"&gt;&lt;img src="https://www.campingcoder.com/post/2017-10-31_General_PASS-1.jpg" alt="PASS Conference Entrance" loading="lazy" decoding="async"&gt;&#10; &#10; &#10; &lt;figcaption&gt;PASS Conference Entrance&lt;/figcaption&gt;&#10; &#10; &#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ve been a member of Professional Association of SQL Server or &lt;a href="http://www.pass.org/" target="_blank" rel="noopener noreferrer"&gt;PASS&lt;/a&gt; for quite a few years now and am excited to be attending the&#10;&lt;a href="http://www.pass.org/summit/2017/Home.aspx" target="_blank" rel="noopener noreferrer"&gt;2017 PASS Summit&lt;/a&gt; starting on Halloween. This year&amp;rsquo;s &lt;a href="http://www.pass.org/summit/2017/Sessions/ConferenceSessions.aspx" target="_blank" rel="noopener noreferrer"&gt;sessions&lt;/a&gt; seem to be pretty exciting.&lt;/p&gt;&#10;&lt;p&gt;If you cannot attend this year they have a &lt;a href="http://www.pass.org/summit/2017/Home.aspx" target="_blank" rel="noopener noreferrer"&gt;live stream&lt;/a&gt; of some of the sessions and the key notes.&lt;/p&gt;&#10;&lt;p&gt;As one could imagine Microsoft has a huge presence here - its an association of their software after all, but the other sponsors also have had quite a presence in the past. Sometimes I feel like one of the main reasons to go is just to chat with sponsor booths because they typically have products that you &lt;em&gt;don&amp;rsquo;t&lt;/em&gt; see in your day to day. Even the other big players in cloud services like Google and Amazon Web Services are sponsors this year for the &lt;a href="http://www.pass.org/summit/2017/Home.aspx" target="_blank" rel="noopener noreferrer"&gt;2017 PASS Summit&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>