<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ben Gdovicak</title>
        <description>Thoughts and Projects of a Cleveland Software Developer</description>      
        <link>http://www.gdovicak.com</link>
        <atom:link href="http://www.gdovicak.com/feed.xml" rel="self" type="application/rss+xml" />
        
            <item>
                <title>Common Git Commands</title>
                <description>&lt;p&gt;This is a list of Git commands I commonly use. Mostly for my own refernce:&lt;/p&gt;

&lt;h2 id=&quot;tag-a-specific-hash&quot;&gt;Tag a specific hash&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;git tag release-0.0.0 &amp;lt;&lt;span class=&quot;nb&quot;&gt;hash&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;message&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

</description>
                <pubDate>Tue, 21 Mar 2017 12:00:40 +0000</pubDate>
                <link>http://www.gdovicak.com/notes/git/2017/03/21/Common-Git-Commands.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/notes/git/2017/03/21/Common-Git-Commands.html</guid>
            </item>
        
            <item>
                <title>Thoughts On the Post &quot;Outcome Oriented&quot;</title>
                <description>&lt;p&gt;&lt;a href=&quot;http://martinfowler.com/bliki/OutcomeOriented.html&quot;&gt;Outcome Oriented&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reading this post reminded me of a team I worked with in the past. This was the approach we took and tried to describe to the rest of the company. We weren’t able to get our message out as nice as &lt;a href=&quot;http://martinfowler.com/bliki/OutcomeOriented.html&quot;&gt;Outcome Oriented&lt;/a&gt; does, but we tried because we believed in it. I enjoyed working with that team. We produced a lot of nice software and did so at a fast pace. I believe it was because we took an outcome oriented approach. As the post describes it takes a certain set of people to work in this manner, but it can be a great way to deliver software.&lt;/p&gt;

</description>
                <pubDate>Wed, 01 Jun 2016 08:00:00 +0000</pubDate>
                <link>http://www.gdovicak.com/post-thoughts/2016/06/01/Outcome-Oriented-Fowler-Post-Thoughts.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/post-thoughts/2016/06/01/Outcome-Oriented-Fowler-Post-Thoughts.html</guid>
            </item>
        
            <item>
                <title>Accessing Sql Server From a Mac</title>
                <description>&lt;p&gt;I was a Windows user and .Net developer for seven years before I ever touched a mac. It was two more years before I was able to make the jump to Mac at work. I loved it and between Linux Mint and Mac OSX I will never use Windows day to day again if I have my choice.&lt;/p&gt;

&lt;p&gt;Visual Studio and Sql Server Management Studio have been difficult to replace though. With Microsoft’s recent open source push these two apps aren’t far from working everywhere, but today they don’t. Below is my setup for replacing Sql Server Management Studio on the mac (and in theory, Linux).&lt;/p&gt;

&lt;p&gt;In my previous job I was working with Oracle. When getting into that world everyone around me was on Windows and using Toad. Toad did not work well for me on a Mac. I needed and alternative and was pointed in the direction of Oracle’s SQL Developer. I downloaded it, added my oracle connection stings, and I was off. It worked pretty well.&lt;/p&gt;

&lt;p&gt;When I started a new job I had some work to do in Sql Server. I thought I would have to install a Windows VM and Sql Server Management Studio. After some research I learned that with a little configuration Sql Server is accessible from SQL Developer. This was great for me because I was already familiar with the hot keys. If the correct driver is downloaded and SQL Developer is pointed to use that driver, it works pretty well.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index-097090.html&quot;&gt;SQL Developer&lt;/a&gt; setup can be seen in &lt;a href=&quot;http://www.oracle.com/technetwork/developer-tools/sql-developer/sql-server-connection-viewlet-swf-089886.html&quot;&gt;this video&lt;/a&gt;.  The video was great for showing how to add a new driver, but the video didn’t help me find the driver that I needed. I stumbled onto &lt;a href=&quot;http://jtds.sourceforge.net/&quot;&gt;jTDS&lt;/a&gt; drivers. They can be downloaded from &lt;a href=&quot;https://sourceforge.net/projects/jtds/files/jtds/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I downloaded the drivers, unzipped them, and put them in a place where I wouldn’t delete them. If I came across them six months later and didn’t remember what they were for I would delete them if I didn’t name folders properly. I added the new driver as the video showed. At that point I was able to connect to sql server instances.&lt;/p&gt;

&lt;p&gt;One big piece that is missing from this is the ability to access Sql Server Jobs. For now, I will need to keep around Management Studio if I need to do any work with Jobs. Most day to day data exploration and t-sql can be done within Oracle SQL Developer.&lt;/p&gt;
</description>
                <pubDate>Tue, 05 Apr 2016 08:00:00 +0000</pubDate>
                <link>http://www.gdovicak.com/sqlserver/mac/2016/04/05/Accessing-Sql-Server-From-a-mac.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/sqlserver/mac/2016/04/05/Accessing-Sql-Server-From-a-mac.html</guid>
            </item>
        
            <item>
                <title>RVM, Unicorn, and Nginx on Startup in Ubuntu</title>
                <description>&lt;p&gt;I run a “webserver” in my house on an old netbook for reasons I’ll get into
in another blog post. I am only serving a single static html file which can be
done much easier than Nginx and Unicorn, but that is no fun! This gave me an
opportunity to learn a little more about both.&lt;/p&gt;

&lt;p&gt;The scenario I am working with is unicorn installed in RVM with Nginx sitting
in front of it. This all lives on Ubuntu 15.04. On a reboot, Nginx fires up
fine but unicorn does not. There was a little hassle with doing this because I
installed Unicorn in RVM and not globally. I had to start the process from
“within” RVM, or rather start unicorn from within a specific gemset.&lt;/p&gt;

&lt;p&gt;Looking on the &lt;a href=&quot;https://rvm.io/deployment/init-d&quot;&gt;RVM site&lt;/a&gt; there is a way to
alias a gemset. This is not necessary but it gives two advantages. One, it can
make for less typing and easier remembering and. Two, a ruby version can get
updated on an gemset and the alias just needs to be re-pointed to the new
version. The init scripts can remain unchanged. Again, This is not necessary to
get this to work. It is just a cool feature I didn’t know about it before
researching this topic, but it is user friendly.&lt;/p&gt;

&lt;p&gt;From there it was using a
&lt;a href=&quot;https://raw.githubusercontent.com/rvm/rvm/master/contrib/unicorn_init.sh&quot;&gt;Unicorn init script&lt;/a&gt;
that I came across. As the script states I had to add a unicorn.conf file to
/etc/unicorn and the init script would take care of the rest. At this point
I was able to “sudo /etc/init.d/unicorn start|stop” to control the service.&lt;/p&gt;

&lt;p&gt;The last thing that I needed to do was start the unicorn service on boot. To do
this you can execute “.udo update-rc.d defaults” where, in my case, was “unicorn”.
This will attempt to start the service on boot. To get a more in-depth look at
what exactly update-rc.d does, take a look
&lt;a href=&quot;http://manpages.ubuntu.com/manpages/jaunty/man8/update-rc.d.8.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
                <pubDate>Wed, 20 Jan 2016 21:00:00 +0000</pubDate>
                <link>http://www.gdovicak.com/rvm/unicorn/ubuntu/2016/01/20/RVM-Unicorn-nginx-on-boot-in-ubuntu.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/rvm/unicorn/ubuntu/2016/01/20/RVM-Unicorn-nginx-on-boot-in-ubuntu.html</guid>
            </item>
        
            <item>
                <title>RVM Error Installing ruby-2.2.0</title>
                <description>&lt;p&gt;On my mac running OS X 10.9, I was trying to install ruby-2.2.0 using rvm and I
repeatedly received an error when it was trying to install with the commands rvm
install ruby-2.2.0 and rvm reinstall ruby-2.2.0 after it errored out initially.&lt;/p&gt;

&lt;p&gt;The error was:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ruby-2.2.0 - &lt;span class=&quot;c&quot;&gt;#installing.............&lt;/span&gt;
Error running &lt;span class=&quot;s1&quot;&gt;'__rvm_make install'&lt;/span&gt;,
showing last 15 lines of /Users/bengdovicak/.rvm/log/1421199912_ruby-2.2.0/install.log
        from /Users/bengdovicak/.rvm/src/ruby-2.2.0/lib/rubygems/spec_fetcher.rb:42:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;fetcher&lt;span class=&quot;s1&quot;&gt;'
        from /Users/bengdovicak/.rvm/src/ruby-2.2.0/lib/rubygems/resolver/installer_set.rb:37:in `initialize'&lt;/span&gt;
        from /Users/bengdovicak/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:430:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;new&lt;span class=&quot;s1&quot;&gt;'
        from /Users/bengdovicak/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:430:in `resolve_dependencies'&lt;/span&gt;
        from /Users/bengdovicak/.rvm/src/ruby-2.2.0/lib/rubygems/dependency_installer.rb:373:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;install&lt;span class=&quot;s1&quot;&gt;'
        from /Users/bengdovicak/.rvm/src/ruby-2.2.0/lib/rubygems.rb:558:in `install'&lt;/span&gt;
        from ./tool/rbinstall.rb:717:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;block &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;2 levels&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &amp;lt;main&amp;gt;&lt;span class=&quot;s1&quot;&gt;'
        from ./tool/rbinstall.rb:716:in `each'&lt;/span&gt;
        from ./tool/rbinstall.rb:716:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;block &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &amp;lt;main&amp;gt;&lt;span class=&quot;s1&quot;&gt;'
        from ./tool/rbinstall.rb:749:in `call'&lt;/span&gt;
        from ./tool/rbinstall.rb:749:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;block &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &amp;lt;main&amp;gt;&lt;span class=&quot;s1&quot;&gt;'
        from ./tool/rbinstall.rb:746:in `each'&lt;/span&gt;
        from ./tool/rbinstall.rb:746:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&amp;lt;main&amp;gt;&lt;span class=&quot;s1&quot;&gt;'
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To try to figure out my issue I issued the above commands with –debug and I
didn’t receive any valuable feedback from that.&lt;/p&gt;

&lt;p&gt;Trying to find information searching for the error I came across the rvm gem
list command and when I ran that I received a different error which I wasn’t
expecting at all.&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;rvm gem list error:
    dev-mac:projects bengdovicak&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;gem list
    /Users/bengdovicak/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/yaml.rb:4:in &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&amp;lt;top &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;required&lt;span class=&quot;o&quot;&gt;)&amp;gt;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;':
    It seems your ruby installation is missing psych (for YAML output).
    To eliminate this warning, please install libyaml and reinstall your ruby.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That gave me helpful feedback on how to fix that error at least that I needed to
get libyaml functioning correctly. I am not sure what happened to it.&lt;/p&gt;

&lt;p&gt;I then ran:&lt;/p&gt;

&lt;div class=&quot;language-shell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;dev-mac:projects bengdovicak&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;brew install libyaml
Warning: libyaml-0.1.6 already installed
dev-mac:projects bengdovicak&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;brew reinstall libyaml
&lt;span class=&quot;o&quot;&gt;==&amp;gt;&lt;/span&gt; Reinstalling libyaml
Error: libyaml-0.1.6 already installed
To install this version, first &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;brew unlink libyaml&lt;span class=&quot;s1&quot;&gt;'
dev-mac:projects bengdovicak$ brew unlink libyaml
Unlinking /usr/local/Cellar/libyaml/0.1.6... 1 symlinks removed
dev-mac:projects bengdovicak$ brew reinstall libyaml
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;rvm gem list then worked fine and listed my gems. I decided to try installing
ruby-2.2.0 again and it installed just fine. Reinstalling libyaml fixed my problems.&lt;/p&gt;
</description>
                <pubDate>Tue, 13 Jan 2015 12:15:00 +0000</pubDate>
                <link>http://www.gdovicak.com/rvm/2015/01/13/RVM-Error-Installing-ruby-2_2_0.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/rvm/2015/01/13/RVM-Error-Installing-ruby-2_2_0.html</guid>
            </item>
        
            <item>
                <title>Working Remote... Sometimes</title>
                <description>&lt;p&gt;I have the freedom to work remote, sometimes, and I really appreciate it. Over the past several years there has been a lot of discussion about the pros and cons of working remotely. There have been &lt;a href=&quot;http://www.goodreads.com/book/show/17316682-remote?from_search=true&quot;&gt;books&lt;/a&gt; written about it. There have been many discussions amongst managers and other higher ups about whether it will help or hurt productivity. I am going to just give my thoughts about working remote and why I appreciate being able to do it when needed.&lt;/p&gt;

&lt;p&gt;I love to work. I love programming, interacting with my team, and delivering great software. Even though I love all these things, at the end of the day the reason I work is to make sure my home/personal life is as enjoyable as possible using the benefits from my job. That is the primary reason that I work. I understand this isn’t everyone’s motive for working, but it is mine.&lt;/p&gt;

&lt;p&gt;Because of this reason anything that can help tip the scales towards the “life” side of work/life balance is greatly appreciated. Being able to work from home when needed has allowed me to be there for my wife and family at no cost to my employers. I more than fulfill my duties when I work from home, possibly because I feel like I have something to prove when working remotely.&lt;/p&gt;

&lt;p&gt;When I work remote I feel like more of a “family man” and I enjoy that. I am available to change a diaper, burp a baby, or help pack the car for a trip for my wife and kids. Doing these sorts of things may sound like things that you shouldn’t do while you are “working”, but what I am not not doing is walking to Starbucks to get a coffee and playing video games with my co-workers like I do when I am in the office. I am not spending less time working, but I am spending time that I normally use to “blow off steam” at the office, with my family instead. This is valuable to me. Many times when working remote I actually spend more time working because the time I normally dedicate to a commute I now spend hacking away at some code.&lt;/p&gt;

&lt;p&gt;There are downsides to working remote. I miss the time that I get with my co-workers and I think that having in person time with people is very valuable. It is difficult to get that time remotely, but it is not impossible. Having the strong relationships with others, which is easier to build in person, allows for better overall work performance. I also think that being able to overhear conversations that one would not hear remotely is valuable. I have witnessed many problems being solved by people who were not originally in a conversation overhearing something and adding value towards solving the problem.&lt;/p&gt;

&lt;p&gt;I love being able to be at home for lunch with my family, being able to be at the house for the 8 hour window the cable company gives me, and getting interrupted less to get more focus work done when I am remote. I also value being in an office. I feel that a hybrid in office/remote scenario is a great option. 100% in either direction can work for sure but for me, being able to work from any location, including in office, is invaluable.&lt;/p&gt;
</description>
                <pubDate>Sat, 10 Jan 2015 12:15:00 +0000</pubDate>
                <link>http://www.gdovicak.com/remote/2015/01/10/Working-Remote-Sometimes.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/remote/2015/01/10/Working-Remote-Sometimes.html</guid>
            </item>
        
            <item>
                <title>Review of &quot;Things A Little Bird Told Me&quot;</title>
                <description>&lt;p&gt;I find it interesting that many of the books I read about entrepreneurs and successful people have exhibited interesting, take charge habits from early in life. The author, Biz Stone, exhibits this behavior throughout the book, but there is a specific &lt;a href=&quot;http://books.google.com/books?id=laykAQAAQBAJ&amp;amp;lpg=PP1&amp;amp;pg=PT14#v=onepage&amp;amp;q=lacrosse&amp;amp;f=false&quot;&gt;example&lt;/a&gt; that stood out to me. Biz writes about forming his own lacrosse team at his high school, and in my opinion, that would take some serious courage and work to get a sports team off of the ground from nowhere. This leads me to believe that in many instances people are born with the abilities and drive to create and do great things. I believe it is possible to learn the skills necessary but it is very difficult to do. Even when someone learns how to lead and build a business my guess is that it takes an even more unique person who was born with the ability to change themselves into something else that they want to be. Most successful people have some unique attributes that allow them to succeed that others who don’t run their own businesses do not possess.&lt;/p&gt;

&lt;p&gt;One of my favorite parts of “Things a Little Bird Told Me” was the guerilla marketing strategy Biz executed at the SXSW conference in 2007. By putting up monitors in all the hallways and letting people see their tweets come up on the monitors in real time Biz was able to see the “flocking” effect that twitter was capable of. This is when he knew he had a hit product on his hands. I can relate to how much usage Twitter receives at conferences and its effect on the attending crowd. When I have attended &lt;a href=&quot;http://codemash.org&quot;&gt;Codemash&lt;/a&gt; in the past I have witnessed the “flocking” effects that can happen from a popular attendee tweeting what he is going to be doing and seeing the number of people who follow that person. I have even found my way to a social gathering or two by way of a tweet.&lt;/p&gt;

&lt;p&gt;Overall the book was a quick read that kept me interested through the first 80% of it. The end of the book seemed to run quickly through an important series of events and it was not engaging. I would guess Biz got busy on another venture and didn’t put forth the time and effort to finish the book properly. I would recommend this book to anybody interested in one of the founders perspective’s of how Twitter got started. There are other books out there that describe the same events but Biz was the only one who remained friendly and neutral with all other parties that were a part of launching Twitter.&lt;/p&gt;
</description>
                <pubDate>Thu, 04 Sep 2014 07:15:00 +0000</pubDate>
                <link>http://www.gdovicak.com/book-reviews/laykaqaaqbaj/2014/09/04/Things-A-Little-Bird-Told-Me.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/book-reviews/laykaqaaqbaj/2014/09/04/Things-A-Little-Bird-Told-Me.html</guid>
            </item>
        
            <item>
                <title>Do This First When Unit Testing in Laravel</title>
                <description>&lt;p&gt;If you are writing phpunit and the Laravel PHP framework, (I know, who writes unit tests in PHP), and extending Laravel’s “TestCase” I recommend the first thing that you do when writing a new test class is write the following setUp and tearDown methods.&lt;/p&gt;

&lt;div class=&quot;language-ruby highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;FakeTest&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;TestCase&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kp&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;setUp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;setUp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;kp&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tearDown&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;parent&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tearDown&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;no&quot;&gt;Mockery&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I haven’t looked deeply into the source of what is happening in the parent setUp and tearDown methods but in tests that I am not doing this I have noticed very flaky behavior.&lt;/p&gt;

&lt;p&gt;The other line not mentioned yet is the “Mockery::close()”. This is another very important call to make if you are using Mockery. I believe this also was the cause of weird behavior that has made my tests fail in other parts of the code that I wasn’t even working on. I believe what is happening here is the same type is being mocked across two different test cases and the property values are invalidating expecations. Even though I am not sure what is happening under the hood yet, I know adding the example code would have saved me some headaches.&lt;/p&gt;

&lt;p&gt;I hope this can save someone a little time.&lt;/p&gt;
</description>
                <pubDate>Mon, 04 Aug 2014 22:00:00 +0000</pubDate>
                <link>http://www.gdovicak.com/journal/laravel/testing/2014/08/04/Do-This-First-When-Unit-Testing-In-Laravel.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/journal/laravel/testing/2014/08/04/Do-This-First-When-Unit-Testing-In-Laravel.html</guid>
            </item>
        
            <item>
                <title>My First Smoke - Ribs, Eggs, and Burgers</title>
                <description>&lt;h3 id=&quot;wood-chips&quot;&gt;Wood Chips&lt;/h3&gt;

&lt;p&gt;I used dry applewood chips. To burn in the smoker I used wet applewood chips but
I thought I would give the dry ones a try and see how that went.&lt;/p&gt;

&lt;h3 id=&quot;dry-rub&quot;&gt;Dry Rub&lt;/h3&gt;

&lt;p&gt;I found a dry rub recipe on &lt;a href=&quot;http://www.instructables.com/id/Smoked-BBQ-Spare-Ribs-Low-and-Slow/step7/Make-your-rub/&quot;&gt;this site&lt;/a&gt;
and for the single rack of ribs I was going to I halved the recipe.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;1/8 cup kosher salt&lt;/li&gt;
  &lt;li&gt;1/8 cup sugar&lt;/li&gt;
  &lt;li&gt;1/8 cup paprika (calls for smoked paprika, but I didnt have that)&lt;/li&gt;
  &lt;li&gt;1 tablespoon black pepper&lt;/li&gt;
  &lt;li&gt;1/2 tablespoon garlic powder&lt;/li&gt;
  &lt;li&gt;1/2 tablespoon onion powder&lt;/li&gt;
  &lt;li&gt;1/4 teaspoon cayenne pepper&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I actually ran out of salt when making the rub so I added seasoned salt as a replacement.
I don’t know if that was a good idea or not as you’ll read below.&lt;/p&gt;

&lt;h3 id=&quot;ribs&quot;&gt;Ribs&lt;/h3&gt;

&lt;p&gt;I started smoking at 10:30 am with just the St. Louis stye ribs. I let the ribs
come up to room temperature, removed the membrane from the back of them, and
covered themin the dry rub above. While I was doing this I was letting the
smoker come up to temperature. Once I was done with applying the rub I went
ahead and placed the ribs into the smoker. Every 45 minutes to an hour I would
apply apple cider vinegar to the meat side of the ribs to keep the moisture. I
pulled the ribts out of the smoker for the last 20 minutes at 2:10, wrapped them
in foil, and put them back in for 20 minutes. I finally pulled the ribs out and
let sit at 2:30. They looked awesome.&lt;/p&gt;

&lt;h3 id=&quot;eggs&quot;&gt;Eggs&lt;/h3&gt;

&lt;p&gt;I put the eggs in at 11:30 for 2 1/2 hours. I just took raw eggs and put them
right into the smo,er. I saw a lot of recipies that called for hard boiling them,
cracking them, and then putting them in the smoker but I put the eggs in raw.
They seemed to cook fine and had decent smoke flavor.&lt;/p&gt;

&lt;h3 id=&quot;hamburgers&quot;&gt;Hamburgers&lt;/h3&gt;

&lt;p&gt;I was leary of doing hamburgers because after researching I thought there may be
some danger with cooking raw hamburger slowly. I decided to try it and if they
took over 2 hours to come up to temperature I would throw themout. I made thin
patties so they would cook through quicker. The burgers were done in 1 1/4
hours.&lt;/p&gt;

&lt;h3 id=&quot;cooking-temperature&quot;&gt;Cooking Temperature&lt;/h3&gt;

&lt;p&gt;I had the smoker at Medium-High and using an oven thermometer I was able to see that the temperature was at a consistent 225 F. I opened the smoker probably more often than I should have and that dropped the temperature quite a bit I’m sure.&lt;/p&gt;

&lt;h3 id=&quot;final-product&quot;&gt;Final Product&lt;/h3&gt;

&lt;p&gt;The eggs turned out OK. They had a little smoke flavor and mostly tasted just like they were hard boiled. I would do them again as a filler if I have extra room on the grates in the smoker&lt;/p&gt;

&lt;p&gt;The Hamburgers were awesome. After being afraid of them not cooking fast enough and worrying about doing them at all, having them in there for a little over an hour was actually too long. They came out medium-well and I prefer a medium-rare, but cooking them too long in a smokder probably isn’t a bad thing. They had AWESOME smoke flavor. I am looking forward to doing burgers like this again.&lt;/p&gt;

&lt;p&gt;The Ribs turned out good too. It is hard to get true feedback from others when cooking for them because nobody wants to tell you that your food was no good, but people did seem to enjoy them. I believe the rub was a little too salty and that was probably because I to make up for running out of salt with Seasoned salt. That wasn’t the best idea but I needed to get the ribs onto the smoker. I will definately do ribs again probably with a little different dry rub, maybe a little lower temperature, and a few more hours of smoke time.&lt;/p&gt;
</description>
                <pubDate>Sun, 20 Jul 2014 22:00:00 +0000</pubDate>
                <link>http://www.gdovicak.com/smoker/2014/07/20/Ribs-Eggs-and-Burgers.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/smoker/2014/07/20/Ribs-Eggs-and-Burgers.html</guid>
            </item>
        
            <item>
                <title>Google Analytics API - The Measurement Protocol</title>
                <description>&lt;p&gt;For a long time I have had several different needs to do data collection from the server to Google Analytics. There has always been ways to log to GA by sending a GET request that was modeled after the requests generated via the GA javascript. There have also been libraries that would help model requests properly for programmers. I believe this may have been a violation of the GA terms of service, but I cannot find a copy of the TOS that was prior to Universal Analytics so I don’t know for sure. As there have always been workarounds it has never been as easy as it should have been and it was not a complete API. There is finally a Google Analytics Collection API in the &lt;a href=&quot;https://developers.google.com/analytics/devguides/collection/protocol/v1/&quot;&gt;The Measurement Protocol&lt;/a&gt; and it is awesome!&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
###Measuremnt Protocol Advantages
Even though I could log data to GA from the server using the old unsupported methods, there are some definitie advantages of using the Measurement Prototcol. I was never able to log referrer or IP addresses for doing geo-location lookups. There were also issues with maintaining users and sessions with the old methods. With the new Measurement Protocol this is no longer an issue as Google exposes all fields that are available in the javascript in the API and all reports populate as one would expect them to when logging data.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
###Personal Use Case
The biggest use I have had for a GA API is for logging data as a 3rd party service provider. As a 3rd party I try to put the least amount of strain onto the host site as possible and loading in another javascript in the Google Analytics script and making more calls from the host site to log information to GA is not an ideal thing to do. It is also possible to overwrite or mess up the host sites tracking if they use Google Analytics already and it is implemented incorrectly as a 3rd party.&lt;/p&gt;

&lt;p&gt;An example of this is when I was working on &lt;a href=&quot;http://www.wodboxapp.com&quot;&gt;WODBOX&lt;/a&gt; we allowed gym owners to use our platform to enter and manage their workout schedules. The gym would then put our javascript onto their site and we would publish and format their workouts at the appropriate times and place the workouts onto their site. As I stated previously, I do not want to add any more overhead than I need to for workouts to show up so the ability for me to log data sever side allows me to keep the number of requests to a minimum. Previously we accomplished this by logging data to our own databases which is not an ideal situation because we lose all the valuable information and canned reports that GA gives us and it can also lead to a lot of data to handle.&lt;/p&gt;

&lt;p&gt;Overall I am very happy so far with the Measurement Protocol and look forward to finding more uses for it.&lt;/p&gt;
</description>
                <pubDate>Wed, 16 Jul 2014 22:00:00 +0000</pubDate>
                <link>http://www.gdovicak.com/journal/google-analytics/api/2014/07/16/Google-Analytics-Api.html</link>
                <guid isPermaLink="true">http://www.gdovicak.com/journal/google-analytics/api/2014/07/16/Google-Analytics-Api.html</guid>
            </item>
        
    </channel>
</rss>
