<?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" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Chase Hilbert]]></title><description><![CDATA[Thoughts, school, hobbies and ideas.]]></description><link>https://ghost.chilbert.co/</link><image><url>https://ghost.chilbert.co/favicon.png</url><title>Chase Hilbert</title><link>https://ghost.chilbert.co/</link></image><generator>Ghost 2.15</generator><lastBuildDate>Fri, 05 Apr 2024 19:01:09 GMT</lastBuildDate><atom:link href="https://ghost.chilbert.co/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[The time has come]]></title><description><![CDATA[This blog post means that I have officially finished my final project with Learn/FlatIron Software Engineering school and ready to get coding!  ]]></description><link>https://ghost.chilbert.co/final-project/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4e01</guid><category><![CDATA[Projects]]></category><category><![CDATA[Code School]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Sat, 01 Feb 2020 21:35:00 GMT</pubDate><media:content url="https://static.ghost.org/v2.0.0/images/organising-your-content.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://static.ghost.org/v2.0.0/images/organising-your-content.jpg" alt="The time has come"><p>We made it.  I made it.  The image above has nothing to do with school, but it has everything to do where I want to be as I write this!</p><p>This blog post means that I have officially finished my final project with Learn/FlatIron Software Engineering school and ready to get coding!  </p><p>This final project was tough.  Combining Rails, React and Redux into a project that has a blazing fast front end with a solid API backend.  All in all, I finished and I learned a ton!  </p><p>For me, I still have a lot left to tackle when it comes to this stack and plan to focus my attention on React.js and Vanilla JS.  </p><p>Redux showed to be the hardest piece of this project for me.  Reducers and state were a challenge and i'm confident there is more to optimize with my final project.  </p><p>In the future, I plan to continue building out the features of this project and launch it on a domain just for fun!  I will post an update to this blog post once a heroku install has been created!  Stay tuned!</p><p>Thanks Flat Iron! Its been a blast.</p>]]></content:encoded></item><item><title><![CDATA[Was it worth it?]]></title><description><![CDATA["Chase, you are already so busy, was this school stuff actually worth it?  What will it do for you?"]]></description><link>https://ghost.chilbert.co/learn-co-thoughts/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4dfd</guid><category><![CDATA[Code School]]></category><category><![CDATA[Personal]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Sun, 19 Jan 2020 21:35:00 GMT</pubDate><media:content url="https://ghost.chilbert.co/content/images/2020/02/white-iphone-xr-3586249.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://ghost.chilbert.co/content/images/2020/02/white-iphone-xr-3586249.jpg" alt="Was it worth it?"><p>A common question I am asked these days is "Chase, you are already so busy, was this school stuff actually worth it?  What will it do for you?"</p><p>YES!  </p><p>Although at times the workload for this course was pushing me into the wee hours of the night, was frustrating me beyond belief as I tried to digest concepts and syntax, and was sometimes just simply too much for everything else going on, it was WORTH it.  </p><p>I have always been a learner and I do not plan to stop anytime soon. This course was a structured way to approach that learning.  I have found in the past that my appetite to learn can sometimes be larger than my capacity to do it.  Ill bounce from my curriculum or topic to another, try to squeeze a book in, try to build a site, spin up a server, and in the end have learned a little about a lot and not enough to matter. </p><p>This course was different.  It challenged me to keep my focus and because of that I am walking away with a much stronger graspe on the things I learned. </p><p>So what now?  I will keep doing what I am doing.  But now... my hope is to contribute code everywhere I can.  My hope is that I will not be crippled by a fear of not knowing enough, but just dive in and contribute. We all have to start somewhere and I'm grateful for what I know through the last year of learning and excited to see it come out in real way.  I am pumped!</p><p>C</p>]]></content:encoded></item><item><title><![CDATA[Project #4 Rails-JS]]></title><description><![CDATA[<p>Blog post for this project coming soon!</p>]]></description><link>https://ghost.chilbert.co/rails-js-project/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4e03</guid><category><![CDATA[Code School]]></category><category><![CDATA[Projects]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Thu, 31 Oct 2019 20:35:00 GMT</pubDate><media:content url="https://static.ghost.org/v2.0.0/images/admin-settings.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://static.ghost.org/v2.0.0/images/admin-settings.jpg" alt="Project #4 Rails-JS"><p>Blog post for this project coming soon!</p>]]></content:encoded></item><item><title><![CDATA[Project 3: Ruby on Rails - Cellr]]></title><description><![CDATA[This project really showed me the value in feature planning, understanding scope and working in small enough sessions to keep my mind from completely going to spaghetti.]]></description><link>https://ghost.chilbert.co/cellr-rails/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4e05</guid><category><![CDATA[Code School]]></category><category><![CDATA[Projects]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Fri, 30 Aug 2019 20:35:00 GMT</pubDate><media:content url="https://ghost.chilbert.co/content/images/2019/09/bottle-macro-shadow-121191.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://ghost.chilbert.co/content/images/2019/09/bottle-macro-shadow-121191.jpg" alt="Project 3: Ruby on Rails - Cellr"><p>A few things have changed since the last time I published a blog, and of course, a few things haven't!   What changed?  Well, I expanded my existing knowledge of Ruby on Rails enough to build an app from the ground up.  And what stayed the same?  I still love wine, I'm still on a wine kick and I'm still in school.  So when project three came around I knew I wanted to expand on my previous project and build a Rails version of <code><a href="https://chasehilbert.com/sinatra-project/">Cellr</a></code>.  </p><blockquote>Process makes perfect</blockquote><h2 id="process">Process</h2><p>This project started with a plan.  It had to.  I promised myself I would and I knew it was going to be just the thing that kept me away from all confusion.  The requirements list was longer than any project thus far and I couldn't afford to get halfway in without a plan.  Well, I made a plan, sketched out my models, their associations, my routes and guess what... I still got halfway through and felt like my plan was failing me.  What table should act as my join, what had many of what and what belonged to who???  I was confused.  Thankfully, I was able to chat with a few friends to help flush this out, but it was not easy.  This project really showed me the value in feature planning, understanding scope and working in small enough sessions to keep my mind from completely going to spaghetti.  I also learned that for me, verbalizing my plan helps me catch gaps (Maybe I need to present my plan to myself next time.)</p><h2 id="project">Project</h2><p>My app is a basic rails app that allows a user to track inventory in their wine Cellr (or cabinet, refrigerator, etc.).  Users can sign up with a simple email/password combo or through oAuth through Facebook.  The app itself keeps one database of Wineries and bottles of wine.  This prevents duplicate data from being persisted to our database.  A user is able to "add" a bottle of wine through adding the price they paid for that specific bottle.  At that time, users are directed to their Cellr overview page which calls out the bottle count, the total value, the average vintage and a list of wines in each Cellr.  I used a scope method on the User class in order to calculate the highest valued Cellr in the app overall.  That page is accessible to both logged in and logged out users.  I leveraged Bootstrap for to style the front end and the <code><a href="https://github.com/bootstrap-ruby/bootstrap_form">bootstrap_form</a></code> gem was a lifesaver!  This gem allows the developer to use the <code>bootstrap_form_for</code> helper in place of <code>form_for</code> and gives access to its own version of the <code>form_for</code> helpers.  It's awesome!</p><p>As an added bonus, I decided to work through getting my project deploying to Heroku.  It was a lot of fun.  I ran into some issues with my database migrations and url/paths.  Working through those bugs just further helped solidify these concepts!</p><h2 id="so-what-now-">So what now...</h2><p>I plan to continue to code in this project when I have time.  I may even decide to use it for my next project which will utilize JS.  For that to work, I will have to rewrite the front-end away from ERB and potentially change how my controllers are sending data to my views. Sounds fun :) </p><p>For now here are a few enhancements and features that I think will make this app even more functional and user friendly.  </p><ol><li>Refactor controllers.</li><li>Move duplicate view code into partials to stay DRY.</li><li>Add comments or notes to a bottle that will be accessible to the user through their Cellr or on the bottle show page available to all users.</li><li>Show bottles of wine to logged out users and in order to "view info", prompt a login/signup.</li><li>Share bottle of wine to facebook.</li><li>Group wines in users Cellr by Winery, Type, or Grape Variety.</li><li>Front-end update with better design and UX. Potentially use a Bootstrap theme!</li></ol><p>** List subject to grow and continue growing. </p><p>*** I'm learning that ^^ is just a thing in this world, and I like it!</p><p></p><p>👉🏻 Check out the <a href="https://github.com/chilbert/cellr-rails">project on GitHub</a></p><p>👉🏻 Check out the project <a href="https://cellr-production.herokuapp.com">live project</a> and track your Cellr.</p><p>Buy some wine!  <a href="https://coinbase.com/">Visit Vervewine.com</a></p><p>Thanks for reading!  Cheers!</p>]]></content:encoded></item><item><title><![CDATA[Sinatra Project - Cellr]]></title><description><![CDATA[For our second project we were tasked with creating a CRUD/MVC app using Sinatra.]]></description><link>https://ghost.chilbert.co/sinatra-project/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4dff</guid><category><![CDATA[Code School]]></category><category><![CDATA[Projects]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Sat, 29 Jun 2019 20:35:00 GMT</pubDate><media:content url="https://ghost.chilbert.co/content/images/2019/06/macro-people-stemware-39605.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://ghost.chilbert.co/content/images/2019/06/macro-people-stemware-39605.jpg" alt="Sinatra Project - Cellr"><p>It is project time again at Learn!  For our second project we were tasked with creating a CRUD/MVC app using Sinatra.  I have loved learning Sinatra thus far and was excited to get into a project from the ground up.  The task was simple.  Create an app that tracked something, included multiple models (one being users), included associations, sessions, and all basic CRUD functionality.  I have been on a bit of a wine kick lately and just recently purchased a wine refrigerator for my home. Bingo! I was going to track my own personal wine collection with my app.  </p><p>At the end of my last project, I vowed to never start another development project without writing down the requirements and the project structure.  I started there and it made my life so much easier as I began to get into the code.  </p><p>I kicked off my project with the <a href="http://thebrianemory.github.io/corneal/">Corneal gem</a> which was awesome.  A few commands in the terminal and the file structure was done! ActiveRecord, Shotgun, etc. were all baked in so now I just had to get started. </p><p>The app is very simple.  A user can login, view all the wines in their Cellr, update or delete those wines and logout.  Cellr tracks the wine name, the wine grape variety, the wine vintage and the current bottle count the user has on hand!  In order to fulfill the requirements I am using bcrypt to hash passwords and authenticate with the <code>has_secure_password</code> macro.  A user <code>has_many</code> wines and wines <code>belong_to</code> a user.  Sessions are keeping users logged in and clearing when a user logs out.  Lastly, I am using some form validation to ensure that a user cannot save or update a wine without the information being valid.  </p><p>I leveraged Bootstrap 4 to style and clean up the look a bit as well.</p><p>I am learning the more I get into these projects that it is very easy to have a wishlist a mile long.  I am already wanting to add improvements to my project.  Things like sorting/filtering, archiving wines, adding photos, etc.  I had to catch myself and focus in on the requirements.  I think this will be a good lesson to remember moving forward in both projects and work.  This project really helped me continue to learn the CRUD/MVC as well as HTTP and Restful routes.  Excited to take this knowledge into Rails!</p><p>All in all, I am pleased with my project.  It satisfies the requirements and is truly something I can see myself using down the road.  As I mentioned before, I do have other features I would love to build into so I plan to write those down in the repo and go from there as I have time!  For now...</p><p>👉🏻 Check out the <a href="https://github.com/chilbert/crypto-prices">project on GitHub</a></p><p>Buy some wine!  <a href="https://coinbase.com/">Visit Vervewine.com</a></p><p>Thanks for reading!  Cheers!</p>]]></content:encoded></item><item><title><![CDATA[CLI Data Gem  🍻]]></title><description><![CDATA[It's that time... time for my first project at the Flatiron Software Engineering Bootcamp.]]></description><link>https://ghost.chilbert.co/cli-data-gem/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4e07</guid><category><![CDATA[Code School]]></category><category><![CDATA[Projects]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Wed, 24 Apr 2019 20:35:00 GMT</pubDate><media:content url="https://ghost.chilbert.co/content/images/2019/04/app-product.2f7cd52b3f0cb409c4aa605d46b08e91.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://ghost.chilbert.co/content/images/2019/04/app-product.2f7cd52b3f0cb409c4aa605d46b08e91.jpg" alt="CLI Data Gem  🍻"><p>It's that time... time for my first project at Flatiron Software Engineering Bootcamp. The task at hand was to leverage all we have learned about Ruby and object oriented programming in order to build an OO ruby application that uses the CLI.  Simple enough, right? Oh and just for fun, we are required to scrape an external data source as part of it.</p><p>Before diving into my project, I figured I would toss out three things I learned in the process of completing this assignment. </p><ol><li>Having a plan will save you time.  As someone who builds furniture from Ikea without the instructions (anyone else?)... this was a necessary lesson for me to learn. It wasn't that I couldn't think of the logical steps on the fly, it was that I didn't realize how necessary a frame of reference would be in the wee hours of the night or after a long day at work.  My chicken scratch diagram was invaluable and I will be sure to start future projects with this in mind. </li><li>Be mindful of the sites you are scraping. Only scrape what is necessary and be specific. No need to DDOS (hyperbole) the site that is so generously providing you data!</li><li><code><strong>binding.pry</strong></code> is your friend and you should hang out more! A lot more.</li></ol><h2 id="the-project">The Project</h2><p>Requirements for the project are as follows:</p><ol><li>Provide a CLI</li><li>Your CLI application must provide access to data from a web page.</li><li>The data provided must go at least one level deep. A "level" is where a user can make a choice and then get detailed information about their choice.</li><li>Use good OO design patterns. </li></ol><h2 id="coinbase-sounds-like-fun">Coinbase sounds like fun</h2><p>Coinbase allows users to buy, sell and manage their cryptocurrency portfolio.  I decided to create an application that would allow a user to see what price specific cryptocurrencies were trading for at the time the application executed.  My "second level" would ask a user to select a coin using the coin's short-code (i.e <code><strong>BTC</strong></code>) which should return the coin's market cap, description and landing page URL.   </p><p>The application consisted of three main pieces.  The <code><strong>Scraper Class</strong></code>, the <code>C<strong>oin Class</strong></code>, and the <code><strong>CLI Class</strong></code>.  After I had my file structure setup, I proceeded to building the scraper.  I used <strong>pry</strong> to return results to the terminal to verify I was consuming the right data.  I have two methods in this Class.  My first method scrapes the main Coinbase page for the names of the coins, the price, the market cap and each coin's individual Coinbase page URL.  The descriptions of the coins can be found on the individual pages for each coin (why the URL is important to store).  Rather than grabbing all of this in one scrape, I am waiting until the user selects a coin to specifically go scrape for that Coin's description.  My initial coin list is created by passing an array from the first scrape into the Coin class.  </p><p>My coin class is responsible for creating the Coin objects and assigning them attributes.  The attributes I assigned were the things above I needed to scrape.  I had to write a few of methods to interact with the Coin objects.  I needed to find a specific coin object from the list of <code><strong>Coin.all</strong></code> using the <code><strong>shortcode</strong></code>. I also needed to update a Coin with the <code><strong>description</strong></code> once the user had selected that coin. </p><p>Finally, I needed to design how the user would interact with the CLI in order to get the data they needed.  This part was fun and I still have some wish list items I hope to add.  The flow is fairly simple.  I show the user a list of coins, allow them to pick a coin via short-code to see more detail and at that time allow them to start over or exit.  After I had this working, I went back through my <code><strong>input = gets</strong></code> and made sure I was considering edge cases where the user enters things I wasn't asking for and handled errors appropriately.  I also made sure there was a clear way to exit the program within each prompt.    </p><p>The next step for me is to make this a Ruby Gem and publish it at rubygems.org. This is just a "nice to have" step for me and a process I want to be familiar with.  Will update this article with the RubyGems.org link once I have it! But in the meantime...</p><p>👉🏻 Check out the <a href="https://github.com/chilbert/crypto-prices">project on GitHub</a></p><p>Trade some crypto!  <a href="https://coinbase.com">Visit Coinbase.com</a></p><p>Thanks for reading!  Cheers!</p>]]></content:encoded></item><item><title><![CDATA[Cheers to a new adventure!]]></title><description><![CDATA[Welcome, it's great to have you here.
I know that first impressions are important, so I will keep this brief!  My name is Chase Hilbert and I am glad to meet you.]]></description><link>https://ghost.chilbert.co/welcome/</link><guid isPermaLink="false">5c6f198908f3a60c6dee4e09</guid><category><![CDATA[Code School]]></category><category><![CDATA[Personal]]></category><dc:creator><![CDATA[Chase Hilbert]]></dc:creator><pubDate>Thu, 21 Feb 2019 21:35:11 GMT</pubDate><media:content url="https://ghost.chilbert.co/content/images/2019/02/ChaseBlogPost.png" medium="image"/><content:encoded><![CDATA[<img src="https://ghost.chilbert.co/content/images/2019/02/ChaseBlogPost.png" alt="Cheers to a new adventure!"><p>👋 Welcome, it's great to have you here.</p><p>I know that first impressions are important, so I will keep this brief!  My name is Chase Hilbert and I am glad to meet you.</p><p><strong>A few things you should know upfront</strong>:</p><ol><li>I have never had a personal blog, maintained a blog or written blog articles. </li><li>I have recently started a coding bootcamp through <a href="https://flatironschool.com/">Flatiron School</a> and blogging is something that is required over the next 10 months.  Yes, I am being forced to do this, but I am optimistic. </li><li>I created this site using <a href="https://gatsbyjs.org">GatsbyJS</a> and <a href="https://ghost.io">Ghost</a> CMS.  Isn't she lovely? 👏</li><li>I am passionate about family, technology, craft drinks, music, great experiences and adventure.  I am hoping to write about all of the above.</li></ol><p>Now that we have that out of the way...</p><p><strong>Why did you decide to learn software development?</strong></p><p>"Chase, you are 33, long out of school and have a great job.  What could a coding bootcamp, specifically one that takes 10 months, actually help you accomplish?" <br>- Some curious friends</p><p>So glad you asked.  Simply put, I am a student and a learner.  Technology fascinates me.  It evolves quickly with new frameworks shipping almost daily (it seems).  Even so, real problems still exist and need a solution.  Working with great teams, creating real value and using technology to do so has influenced my desire to grow professionally and specifically, by learning to be a better coder.  </p><p>I chose Flatiron due to the structure of the learning and the curriculum.  We will be learning HTML, CSS, Ruby, SQL, ORM, Rails, Sinatra, Javascript, React, Redux, and JSON.  A lot of bootcamps had mandatory lecture times with attendance, class times at night or weekends or was just a full time requirement.  My schedule and current commitments to family and work disqualified me from those pretty quick. Flatiron allows a hybrid between a set schedule and self paced.  Bingo!  Enough accountability for me to see this through with enough flexibility for me to keep my existing rhythms in play.  </p><p>And a little back story...</p><p>6 years ago I found myself working with some of the smartest people I had ever met.  These guys and girls were creative, they were smart, and they loved what they did.  They were Account Managers and System Admins on my Enterprise Support team at Rackspace.  From day 1 at The Castle (Rackspace HQ) I was intrigued.  I wanted to learn linux, I wanted to code, I wanted to get on the phone and save a huge company from a large DDOS attack.  Well, I never got around to the last item on that list, but I did foster a deep desire to learn and help people with real problems using technology.</p><p>I have been fortunate enough to work with some of the best business owners, designers and developers in the Dallas and Austin areas.  I know that is bold, but check them out 👇  and see for yourself.  Each of these individuals has in some way encouraged my desire to learn more.  Some have paired with me, some have designed for me, some have talked cooking and coffee with me, some have prayed for me and my family and all of them have impacted my professional career.</p><p>So here we are.  This is the year.  The year I start to formally learn coding with some structure.  The year I stop taking online tutorials in the wee hours of the night. The year I stop playing popcorn with technologies I want to "learn".  This year I FOCUS on three things. <strong>Learn. Love. Code</strong>.  I could not be more excited about it. </p><p>Some ❤ for some great folks...<br><br><a href="http://calebsylvest.dribbble.com/">Caleb Sylvest</a> - Experience Designer and <a href="https://heyspacetime.com">Spacetime</a> Co-Founder 🚀<br><a href="https://shanson.co">Steve Hanson</a> - Developer @ <a href="https://thoughtbot.com/">thoughtbot</a>, home chef, and coffee enthusiast ☕️<br><a href="https://johntornow.com">John Tornow</a> - Entrepreneur, Developer, and Technology Consultant<br>Nathaniel Watts - Developer and Ironman 🏃🏼‍♂️<br>Ronnie Johnson - Designer and <a href="https://goodfolks.com">Business Owner </a><br><a href="https://simplydg.com">David Nordyke</a> - Simply a Business Extraordinaire <br><a href="https://studiohopfitness.com">StudioHop Fitness</a> 🏋️‍♂️<br></p>]]></content:encoded></item></channel></rss>