<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Bri Manning&#039;s Blog</title>
	<atom:link href="http://brimanning.com/feed" rel="self" type="application/rss+xml" />
	<link>http://brimanning.com</link>
	<description>My life, as a person and as a developer.</description>
	<lastBuildDate>Wed, 01 Dec 2021 23:09:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.4</generator>
<site xmlns="com-wordpress:feed-additions:1">58051687</site>	<item>
		<title>WHOOP</title>
		<link>http://brimanning.com/whoop</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Thu, 02 Dec 2021 13:09:21 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1864</guid>

					<description><![CDATA[<p>I've hit my month anniversary as the R&#038;D Software Tech Lead at WHOOP.</p>
The post <a href="http://brimanning.com/whoop">WHOOP</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s been a month now since I started at <a href="https://whoop.com/">WHOOP</a>.</p>
<p>I loved working at <a href="https://www.rocketinsights.com/">Rocket Insights</a> and with all the people there. The full time employees were still in the single digits when I joined, even if we had a lot of regular contractors. I worked there longer than any company I had ever worked at before by more than double. During the course of my almost five years there, I worked with fourteen different clients. I also saw us grow into the hundreds of people as well as join <a href="https://deptagency.com/">DEPT</a>, a massive rocket ship (eh?) of a company.</p>
<p>But it was time for me to move on to something new and find something new to get passionate about.</p>
<p>Enter WHOOP.</p>
<p>About a year or so ago, I made a joke to my friend, a longtime Back to the Future fan. The gist of it was that I grew up thinking I wanted to be like Marty McFly. At some point, I realized that I really wanted to be Doc Brown. Sure, being cool would be great and all, but playing around with gadgets and experimental gizmos seemed way more fun.</p>
<p>I had done some brief contract work with <a href="https://humon.io/" class="broken_link">Humon</a> before joining Rocket. It was a good relationship and I liked what they were doing, but it was a small early-stage startup. It seemed like too much of a risk after I had spent the last nearly-a-year living in a van and driving around the country. WHOOP later acquired the company and one of the cofounders was now the Director of R&#038;D and called me up.</p>
<p>Fitness and athletics has always been a big part of my life, so being able to combine that with tech just clicked. In fact, I knew a little about the company already. I contributed to their Android codebase as part of Rocket a few years earlier to help them build out a new feature.</p>
<p>I&#8217;ve hit my month anniversary as the R&#038;D Software Tech Lead. In that month, I&#8217;ve gotten to write python, kotlin, JavaScript, CSS, and TypeScript. I&#8217;ve worked on the backend, frontend, and mobile using Flask, React, React Native, and Android. That&#8217;s all only in the first month. And all while learning a lot about sensors, electrical engineering, and physiology. And it didn&#8217;t hurt that I have spent that month with fitness generally hanging over my head. It might finally be time for me to hit some of those goals.</p>The post <a href="http://brimanning.com/whoop">WHOOP</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1864</post-id>	</item>
		<item>
		<title>2019 New Years Resolutions Update</title>
		<link>http://brimanning.com/2019-new-years-resolutions-update</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Thu, 02 Jan 2020 18:32:17 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1849</guid>

					<description><![CDATA[<p>I've been posting yearly resolutions for the past few years, followed by an update near the end of the year. My 2019 resolutions were no different.</p>
The post <a href="http://brimanning.com/2019-new-years-resolutions-update">2019 New Years Resolutions Update</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been posting yearly resolutions for the past few years, followed by an update near the end of the year. <a href="http://brimanning.com/2019-resolutions">My 2019 resolutions</a> were no different. Here&#8217;s what they were:</p>
<ol>
<li><strong><em>Professional Development</em></strong>
<ol>
<li><em>Publish a simple app with Flutter.</em> I did try to do some work on this, but I ran into issues with signing the app for Apple that I still need to figure out and get through.</li>
<li><em><del>Give a talk at a MeetUp.</del></em> While I was a bit sweaty during <a href="https://www.meetup.com/kotlin-office-hours/events/265582444/">my talk about Koin during Kotlin Office Hours</a>, I did it and I wasn&#8217;t a total mess.</li>
</ol>
</li>
<li><strong><em>Personal Development</em></strong>
<ol>
<li><em>Read 18 books this year.</em> I matched last year&#8217;s with 15, so there wasn&#8217;t a backslide. I should&#8217;ve been able to keep this one, but my client changed and I stopped taking the train to Boston once a week, which is where I had been doing a significant amount of my reading before.</li>
<li><em><del>Keep a bee and gardening journal.</del></em> I documented my comings-and-goings with my beehives and what we planted in the garden. Hopefully that&#8217;ll be helpful in the new year!</li>
</ol>
</li>
<li><strong><em>Fitness</em></strong>
<ol>
<li><em><del>Ride my bike to work every day it&#8217;s reasonable to do so.</del></em> I&#8217;m not sure about the total mileage here, but I did get a significant number of rides in.</li>
<li><em><del>Do 100 consecutive pushups.</del></em> I actually achieved this one using this <a href="https://hundredpushups.com/">hundred pushup system</a> back in April and while I can&#8217;t still do 100 in a row, I can do 50+ at once.</li>
<li><em>Complete every <a href="https://log.concept2.com/challenges">Concept 2 challenge</a> for the indoor rower.</em> I missed the <a href="https://log.concept2.com/challenges/mud-season-madness">Mud Season Madness</a> challenge by one day! I could blame that on going away on certain weekends, but I still could&#8217;ve made it if I planned correctly. Otherwise, I hit every challenge!</li>
<li><em>Run and ride every Greenbelt race.</em> I had a hard time finding out about these, and the ones I did find happened when we were away for weddings and the like. I still can&#8217;t give it to myself in good conscience.</li>
<li><em>Run 400 miles this year with a stretch goal of 500.</em> I only managed 286 miles in 2019, less than the 339 in 2018. I&#8217;m not sure what exactly the step back came from, but really wasn&#8217;t close to what I was hoping for.</li>
</ol>
</li>
</ol>
<p>Overall, achieved just under 50%. Bad if I was getting a letter grade, great if I was playing baseball. Guess I&#8217;ll need to consider those results when planning what I want to do in 2020.</p>The post <a href="http://brimanning.com/2019-new-years-resolutions-update">2019 New Years Resolutions Update</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1849</post-id>	</item>
		<item>
		<title>Rocket is Becoming a Part of Dept</title>
		<link>http://brimanning.com/rocket-dept</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Tue, 12 Mar 2019 20:29:02 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1845</guid>

					<description><![CDATA[<p>It's been 798 days since I first started at Rocket. Today is the day we're announcing that Rocket has been acquired by Dept.</p>
The post <a href="http://brimanning.com/rocket-dept">Rocket is Becoming a Part of Dept</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s been 798 days since I <a href="http://brimanning.com/first-day-at-rocket">first started at Rocket</a>. Today is the day we&#8217;re announcing that <a href="https://rocketinsights.com/part-of-dept">Rocket has been acquired by Dept</a>. Josh Porter, one of the founders of Rocket, wrote a <a href="https://blog.rocketinsights.com/reaching-escape-velocity-dept-buys-rocket/" class="broken_link">blog post on the transition</a> today.</p>
<p>I even got to be part of the <a href="https://vimeo.com/322744267">promotional video</a>.</p>
<div class="sixteen-by-nine"><iframe src="https://player.vimeo.com/video/322744267" width="640" height="360" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<p>When I started, there were a handful of Rocket employees and even more contractors. Overall, I think it was just around 20ish people depending on how you count which contractors. From Josh&#8217;s post: &#8220;at the end of year 2018 Rocket was made up of roughly 100 people: 94 designers and developers, 4 partners, and 2 operations people.&#8221; It&#8217;s amazing how it&#8217;s grown and seeing what it&#8217;s grown into. We&#8217;ve kept our approach of keeping designers and developers close to the client and not insulated by a project or account manager, and we&#8217;ve never had the need for a salesperson beyond partners and employees themselves. Every single client has extended their contracts or booked a second project which I think is probably the biggest testament to quality and service you could have.</p>
<p>I&#8217;m hopeful about how it all goes for myself and the future of Rocket. I&#8217;m especially interested in how <a href="https://www.deptfestival.com/" class="broken_link">Dept Fest</a> is. ;-P</p>The post <a href="http://brimanning.com/rocket-dept">Rocket is Becoming a Part of Dept</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1845</post-id>	</item>
		<item>
		<title>2019 Resolutions</title>
		<link>http://brimanning.com/2019-resolutions</link>
					<comments>http://brimanning.com/2019-resolutions#comments</comments>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Wed, 09 Jan 2019 13:03:13 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1836</guid>

					<description><![CDATA[<p>I've been doing this publish-my-resolutions thing for a few years now and I think it's been successful so far, so it's time to keep doing it going into 2019.</p>
The post <a href="http://brimanning.com/2019-resolutions">2019 Resolutions</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been doing this publish-my-resolutions thing for a few years now and I think it&#8217;s been successful so far, so it&#8217;s time to get it going for 2019. This year ended up being less about resolutions and more about specific goals, but I think that works better for me.</p>
<ol>
<li><strong><em>Professional Development</em></strong>
<ol>
<li><em>Publish a simple app with Flutter.</em> It&#8217;s time to get that simple app I built out there in the wild.</li>
<li><em>Give a talk at a MeetUp.</em> This one might be the most terrifying of goals that I&#8217;ve had yet. I&#8217;m at the point in my career where this is the right step to take, so here we are.</li>
</ol>
</li>
<li><strong><em>Personal Development</em></strong>
<ol>
<li><em>Read 18 books this year.</em> Let&#8217;s keep the upward trend going.</li>
<li><em>Keep a bee and gardening journal.</em> I tried to journal things here last year, but I ended up only posting occasional updates. If I want to have some year-over-year information, I&#8217;ll need to keep a journal.</li>
</ol>
</li>
<li><strong><em>Fitness</em></strong>
<ol>
<li><em>Ride my bike to work every day it&#8217;s reasonable to do so.</em> No reason to not keep doing this one.</li>
<li><em>Do 100 consecutive pushups.</em> In college I was able to do a little over 60 at once, so this one is going to be tough, but that&#8217;s all the more reason to do it.</li>
<li><em>Complete every <a href="https://log.concept2.com/challenges">Concept 2 challenge</a> for the indoor rower.</em> Most of these shouldn&#8217;t be too much of a problem, but others are going to be especially tough.</li>
<li><em>Run and ride every Greenbelt race.</em> Last year there was one bike race and a few running races set up and sponsored by Greenbelt. The schedule doesn&#8217;t appear to be published yet, but the goal is to do every one of these that doesn&#8217;t have some kind of scheduling conflict.</li>
<li><em>Run 400 miles this year with a stretch goal of 500.</em> I did 339 miles last year, so this will be a step up for certain. Hoping a big goal like this will get me out there even more.</li>
</ol>
</li>
</ol>
<p>I&#8217;ve got a few on here that I think are pretty out there, but I&#8217;m excited about them. Even if I don&#8217;t achieve all of the goals, at least they&#8217;re all moving me in the right direction.</p>The post <a href="http://brimanning.com/2019-resolutions">2019 Resolutions</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
					<wfw:commentRss>http://brimanning.com/2019-resolutions/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1836</post-id>	</item>
		<item>
		<title>2018 Resolution Final Update</title>
		<link>http://brimanning.com/2018-resolution-final-update</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Fri, 04 Jan 2019 12:52:31 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1834</guid>

					<description><![CDATA[<p>Overall, I'm pretty happy with how it all went. While I didn't get everything, I think that means I set some high goals and I got much of what I set out to do.</p>
The post <a href="http://brimanning.com/2018-resolution-final-update">2018 Resolution Final Update</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>2019 came up on me quickly, so I&#8217;m just getting a chance to review <a href="http://brimanning.com/2018-resolutions">my 2018 resolutions</a>.</p>
<ol>
<li><strong><em>Professional Development</em></strong>
<ol>
<li><em><del>Update Type.</del></em> I actually put out two updates. One was a simple update in the first quarter of the year and a second one went out in the fourth quarter to fix a couple bugs and remove support for Facebook. Unfortunately, they disabled the ability for most apps to publish to someone&#8217;s timeline, so I had to remove that option.</li>
<li><em>Create a simple app with Flutter.</em> I actually finished the first version of this other than finalizing a logo, figuring out signing for the Apple App Store and Google Play.</li>
<li><del><em>Write a blog post each quarter for the Rocket blog.</em></del> With publishing a blog post about <a href="https://blog.rocketinsights.com/migrating-to-androidx/" class="broken_link">migrating to AndroidX</a>, I finished this one off.</li>
</ol>
</li>
<li><strong><em>Personal Development</em></strong>
<ol>
<li><del><em>Continue reading a book a month with a stretch goal of 15 books this year.</em></del> I even almost hit 16!
<ol>
<li><em><a href="https://www.goodreads.com/book/show/21981659-the-bee">The Bee: A Natural History</a></em> by Noah Wilson-Rich</li>
<li><em><a href="https://www.goodreads.com/book/show/31387199-the-black-monday-murders-vol-1">The Black Monday Murders, Vol. 1: All Hail, God Mammon</a></em> by Jonathan Hickman</li>
<li><em><a href="https://www.goodreads.com/book/show/28186015-weapons-of-math-destruction">Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy</a></em> by Cathy O&#8217;Neil</li>
<li><em><a href="https://www.goodreads.com/book/show/76778.The_Martian_Chronicles">The Martian Chronicles</a></em> by Ray Bradbury</li>
<li><em><a href="https://www.goodreads.com/book/show/2035430.The_Weekend_Garden_Guide">The Weekend Garden Guide: Work-Saving Ways to a Beautiful Backyard</a></em> by Susan A. Roth</li>
<li><em><a href="https://www.goodreads.com/book/show/30557184-beekeeping-for-dummies">Beekeeping for Dummies</a></em> by Howland Blackiston</li>
<li><em><a href="https://www.goodreads.com/book/show/15751404-david-and-goliath">David and Goliath: Underdogs, Misfits, and the Art of Battling Giants</a></em> by Malcolm Gladwell</li>
<li><a href="https://www.goodreads.com/book/show/2697562-attracting-backyard-wildlife"><em>Attracting Backyard Wildlife: A Guide for Nature Lovers</em></a> by William J. Merilees</li>
<li><a href="https://www.goodreads.com/book/show/21413662-what-if"><em>What If?: Serious Scientific Answers to Absurd Hypothetical Questions</em></a> by Randall Munroe</li>
<li><a href="https://www.goodreads.com/book/show/8520610-quiet"><em>Quiet: The Power of Introverts in a World That Can&#8217;t Stop Talking</em></a> by Susan Cain</li>
<li><a href="https://www.goodreads.com/book/show/6657541-preludes-nocturnes"><em>Preludes &amp; Nocturnes (The Sandman #1)</em></a> by Neil Gaiman</li>
<li><a href="https://www.goodreads.com/book/show/76660.With_a_Tangled_Skein"><em>With a Tangled Skein (Incarnations of Immortality #3)</em></a> by Piers Anthony</li>
<li><em><a href="https://www.goodreads.com/book/show/76667.Wielding_a_Red_Sword">Wielding a Red Sword (Incarnations of Immortality #4)</a></em> by Piers Anthony</li>
<li><em><a href="https://www.goodreads.com/book/show/29100226-the-wars-of-the-roosevelts">The Wars of the Roosevelts: The Ruthless Rise of America&#8217;s Greatest Political Family</a></em> by Will J. Mann</li>
<li><a href="https://www.goodreads.com/book/show/76661.Being_a_Green_Mother"><em>Being a Green Month (Incarnations of Immortality #5)</em></a> by Piers Anthony</li>
</ol>
</li>
<li><em>Missy and I decided to do a monthly art club.</em> This one ended up being a failure. I guess that happens.</li>
</ol>
</li>
<li><strong><em>Fitness</em></strong>
<ol>
<li><del><em>Ride my bike to work every day it&#8217;s reasonable to do so.</em></del> Now that it&#8217;s cold and dark early, it hasn&#8217;t been too feasible to do this. For the months that it was ok, I was able to get this done, so I&#8217;m counting it as a win.</li>
<li><del><em>Do the Crossfit workout of the day.</em></del> I&#8217;ve been doing this here and there, but the biggest change is that we bought a Concept 2 erg, so I&#8217;ve been focusing on that as my form of indoor cardio. As a result, I&#8217;m going to count this one since I kept up with it in spirit.</li>
<li><del><em>Run three times a week.</em></del> For most of the non-cold season, I ran about 10 miles a week with my longest single run clocking in at 9.4 miles.</li>
</ol>
</li>
</ol>
<p>Overall, I&#8217;m pretty happy with how it all went. While I didn&#8217;t get everything, I think that means I set some high goals and I got much of what I set out to do.</p>The post <a href="http://brimanning.com/2018-resolution-final-update">2018 Resolution Final Update</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1834</post-id>	</item>
		<item>
		<title>The Bear Story</title>
		<link>http://brimanning.com/the-bear-story</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Mon, 17 Dec 2018 13:30:30 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1828</guid>

					<description><![CDATA[<p>I recently found out that I hadn't told this story to a friend of mine, so I wanted to write it down. It's a story about when we saw a bear in Canada while on our second van adventure.</p>
The post <a href="http://brimanning.com/the-bear-story">The Bear Story</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>I recently found out that I hadn&#8217;t told this story to a friend of mine, so I wanted to write it down. It&#8217;s a story about when we saw a bear in Canada while on our <a href="http://brimanning.com/vanlife-round-two">second van adventure</a>.</p>
<p>So, we were in <a href="https://www.pc.gc.ca/en/pn-np/ab/waterton/">Waterton Lakes National Park</a> (fun fact: combined with <a href="https://www.nps.gov/glac/index.htm">Glacier National Park</a>, it&#8217;s the first <a href="https://en.wikipedia.org/wiki/Waterton-Glacier_International_Peace_Park">International Peace Park</a>) at a campground and had just finished cooking dinner. We heard some commotion and people were getting in their cars and campers. That&#8217;s when we faintly overheard the word &#8220;bear.&#8221;</p>
<p>Missy thought that it was probably nothing. I said something to the effect of, &#8220;nope, doesn&#8217;t matter, we&#8217;re eating dinner in the van.&#8221; Just then we saw the bear. It was just lumbering down the path in between campsites. Seconds later, a white pickup with park warden written on the side pulled up and the warden gets out armed with ~8 bear spray cans, a paintball gun, and a real gun.</p>
<p>He yelled at the bear. It started to avoid him, but was still interested in the campsites, so he sprayed it with some of the bear spray. It ran a little bit away and climbed a tree, but was still in the campground. The warden sprayed it with some more of the bear spray. He was probably 20 feet away and the bear was probably 15 feet off the ground. The spray was a direct hit no problem. So the bear just stayed up there sneezing and wheezing and wouldn&#8217;t come down. That&#8217;s when the warden shot it with the paintball gun. It might&#8217;ve had pepper balls in it, but we couldn&#8217;t really tell.</p>
<p>Eventually the bear came down and started to run while the warden jogged after it. At one point, the bear slowed and started to turn back and the warden yelled, &#8220;BEEEAAARRRR,&#8221; like that&#8217;s the bear&#8217;s name and it&#8217;s being a difficult pet. He shot it with some more paintballs for good measure and that sent the bear running again.</p>
<p>Finally, about 10 minutes later the warden came back and said, &#8220;sorry, but has anyone seen a white pickup, I seem to have misplaced it.&#8221;</p>
<p>So that&#8217;s my bear story. I&#8217;ll never forget &#8220;BEEEAAARRRR&#8221; and it&#8217;s the only time I&#8217;ve seen bear spray used, luckily.</p>The post <a href="http://brimanning.com/the-bear-story">The Bear Story</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1828</post-id>	</item>
		<item>
		<title>Flutter</title>
		<link>http://brimanning.com/flutter</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Thu, 06 Dec 2018 19:37:58 +0000</pubDate>
				<category><![CDATA[Mobile]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1825</guid>

					<description><![CDATA[<p>On Tuesday, Flutter finally came out of beta with the announcement of Flutter 1.0. I attended a meetup where we watched the announcement party before some hands-on coding.</p>
The post <a href="http://brimanning.com/flutter">Flutter</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>On Tuesday, Flutter finally came out of beta with the announcement of Flutter 1.0. I attended a meetup where we watched the announcement party before some hands-on coding.</p>
<p>I&#8217;ve been playing around with Flutter for a few months now. I had heard of it and really got excited about it after seeing some demos at <a href="http://brimanning.com/google-agency-2017">Google&#8217;s Agency day last year</a>. I included a <a href="https://blog.rocketinsights.com/google-agency-day-2017/" class="broken_link">brief writeup of the Flutter presentation on Rocket&#8217;s blog</a>. I even included making an app in Flutter in my <a href="http://brimanning.com/2018-resolutions">2018 resolutions</a>.</p>
<p>The first thing I&#8217;ll say is that it&#8217;s easy to get pulled into the hype. Silver bullets are exciting, even if it usually ends up that they&#8217;re made from fool&#8217;s gold.</p>
<p>Playing around with Flutter, there&#8217;s the obvious need to learn a new UI framework and that inherently comes with a learning curve. It doesn&#8217;t matter the platform or technology, that will be there.</p>
<p>What&#8217;s interesting coming from Android development is that all of the layout code is in Dart in addition to any logic. There isn&#8217;t an xml view that is then populated with information. And while Dart is no Kotlin, I haven&#8217;t seen anything major to complain about yet. I&#8217;ve heard people groan when you mention Dart, but it&#8217;ll be interesting to see how it evolves.</p>
<p>My biggest question is around the best way to architect a larger application. Doing some preliminary research, it seems like BLoC is the preferred way to go. That seems like an easy enough transition coming from using Android Architecture Components. Simple apps like a to-do list is an easy way to demonstrate a new framework, but once things become more complicated with backend authentication and other functionality, the framework can sometimes seem not so promising after all. We&#8217;ll have to see what emerges with Flutter.</p>
<p>I&#8217;m excited by the prospect of Flutter and I&#8217;ve finished the first version of my a simple app. Now, I just have to try and see how easy it is to deploy to Google Play and the App Store.</p>The post <a href="http://brimanning.com/flutter">Flutter</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1825</post-id>	</item>
		<item>
		<title>Migrating to AndroidX</title>
		<link>http://brimanning.com/migrating-to-androidx</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Tue, 04 Dec 2018 18:35:34 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1823</guid>

					<description><![CDATA[<p>It's time for another blog post for the Rocket Insight's blog, this time about migrating to AndroidX.</p>
The post <a href="http://brimanning.com/migrating-to-androidx">Migrating to AndroidX</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s time for another blog post for the Rocket Insight&#8217;s blog, this time about <a href="https://blog.rocketinsights.com/migrating-to-androidx/" class="broken_link">migrating to AndroidX</a>. As tradition, I&#8217;ll recreate it here.</p>
<blockquote><p><a href="https://android-developers.googleblog.com/2018/05/hello-world-androidx.html">AndroidX was announced in May</a> of this year and has had regular releases and updates since then. We&#8217;re starting to see libraries migrate to AndroidX which means we&#8217;d also need to migrate to keep using the latest versions of those. As a result, we decided it was time to test out the waters.</p>
<p>With AndroidX&#8217;s Jetifier, we also keep compatibility with any libraries that haven&#8217;t made the switch. This writeup is a breakdown of how it worked out for one project.</p>
<p>First, using Android Studio&#8217;s &#8220;<a href="https://developer.android.com/jetpack/androidx/migrate">Refactor &gt; Migrate to AndroidX</a>&#8221; menu option was quick. It handled updating gradle support library dependencies and references to those dependencies throughout the app.</p>
<p>Then came the first hangup. There were many places where instead of just changing the import statement for a class (Fragment, for example), it changed the import and also directly referenced the class as well. Our fragments ended up looking like this:</p>
<pre><code class="language-kotlin">import androidx.fragment.app.Fragment

class MyFragment : androidx.fragment.app.Fragment() {
    // our fragment
}
</code></pre>
<p>While it was simple enough to replace this throughout the app, it wasn&#8217;t the only class that it happened to. An even easier way to clean this up would be to check out the differences in git and only include the import changes.</p>
<p>The affected classes included:</p>
<ol>
<li>Fragment</li>
<li>RecyclerView</li>
<li>ViewPager</li>
<li>Snackbar</li>
<li>CoordinatorLayout</li>
<li>DialogFragment</li>
<li>SwipeRefreshLayout</li>
</ol>
<p>Additionally, classes related to these were also directly referenced. This included classes like FragmentManager and FragmentTransaction for Fragment, Adapter and ViewHolder for RecyclerView, and OnPageChangeListener for ViewPager, etc. Not the end of the world, but something to be aware of before checking in the changes.</p>
<p>I was unable to determine why that happened, and it might&#8217;ve been corner case for us. Or someone else could run into the same issue with more or other classes. The solution took just a little bit of cleanup, and it wasn&#8217;t too troublesome.</p>
<p>We were using <a href="https://blog.rocketinsights.com/koin/" class="broken_link">Koin</a> in this app, so it needed to be updated to AndroidX-compatible versions. Again, that was a quick change. We were able to take advantage of the libraries mentioned in the first paragraph that had new AndroidX versions as well.</p>
<p>The final change to ensure our tests still worked was adding a reference to <code>androidx.test:rules:1.1.0</code>. Our ActivityTestRule using <code>android.support.test.rule.ActivityTestRule</code> worked before and was updated to <code>androidx.test.rule.ActivityTestRule</code> in the import statement. However, it wasn&#8217;t included in the migration of the libraries.</p>
<p>The final issue didn&#8217;t take long to find and fix, but someone else might run into it later.</p>
<p>Overall, the experience wasn&#8217;t as painful as someone might expect. Major overhauls like this with interdependencies can be scary, but the reality wasn&#8217;t in this case. We&#8217;re going to do a full round of testing before we decide to push it to production, but the early results have been positive with no visible changes to the user.</p></blockquote>
<p>AndroidX should simplify support library dependencies and I&#8217;m excited to see this standardization.</p>The post <a href="http://brimanning.com/migrating-to-androidx">Migrating to AndroidX</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1823</post-id>	</item>
		<item>
		<title>Unrest</title>
		<link>http://brimanning.com/unrest</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Tue, 06 Nov 2018 18:41:11 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1807</guid>

					<description><![CDATA[<p>There's a troubling article from BuzzFeed called "This Is How We Radicalized The World" that's circulated the last few days. It details the swing to the radical right we've seen in the last few years. Traveling from country to country, you see examples of this happening in a variety of places.</p>
The post <a href="http://brimanning.com/unrest">Unrest</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>A troubling article from BuzzFeed called &#8220;<a href="https://www.buzzfeednews.com/article/ryanhatesthis/brazil-jair-bolsonaro-facebook-elections">This Is How We Radicalized The World</a>&#8221; has circulated the last few days. It details the swing to the radical right we&#8217;ve seen in the last few years. Traveling from country to country, you see examples of this happening in a variety of places. There was one line that stood out among the rest:</p>
<blockquote><p>There are deserts of information where normal people are algorithmically served memes, poorly aggregated news articles, and YouTube videos without any editorial oversight or regulation.</p></blockquote>
<p>I&#8217;ve talked about <a href="http://brimanning.com/online-russian-discord">bots sowing discord online</a> before. The <a href="https://dashboard.securingdemocracy.org/">trends are well researched and tracked</a>. It even affects niche sites like Hacker News. Take the flood of one-sided comments with no real discussion on this <a href="https://news.ycombinator.com/item?id=18355366">article about Russian propaganda</a>, for example. When someone finds ways to game the algorithm and boost their signal above others, it doesn&#8217;t matter if the signal is false. It&#8217;s already out there and spread. It&#8217;s already too late.</p>
<p>Here&#8217;s a quick aside about the above article. When someone says they are “censored” by American publications, they&#8217;re saying those publications have too high standards. The publications don’t allow the publishing of outright falsehoods or unverified claims. Anyway, that’s beside this point.</p>
<p>What I’m wondering about recently is if and what kind of radicalization is happening on the left. That’s all you read about if you punish yourself into reading comments on articles like this. The complaints are about “leftists” being some vague version of socialism. A version where you need to believe some undescribed party line. The actual “leftist” beliefs aren’t actually in there. Things like healthcare for all, decreasing the gap between the rich and the poor, quality education, and humane treatment of people aren’t radical ideas. They’re things that most people would at least agree with the idea of, even if they don’t agree on the way to get there.</p>
<p>Let’s look at the first three: unaffordable healthcare, wealth inequality, and lack of education. Those are economic issues among people who will often have no where else to look. They’ll look at how things were 10, 20, 30 years ago and believe they were better off. Regardless of if they&#8217;re right, it’s easy to take advantage of that and focus on that to achieve an agenda.</p>
<p>Since conservative movements focus on keeping things as they are, it’s no surprise that those movements often want to push things back. And if you’re a person who sees that past as better than now, you’ll agree with them. In this scenario, the antagonist in this narrative is someone who has changed things.</p>
<p>If we look at left movements that spur things in the other direction, they’re usually an effort also solve those problems, but in a different way. The antagonist here is the person with power, rights, etc, who’s keeping it from others.</p>
<p>The French Revolution and the revolutions after are a decent representation of this. Times when the right has power, it tries to pull things back to the way things were. Times when the left has power, it tries to redistribute wealth and power. After the initial removal of the monarchy, this happens via conflicts over the balance of voting rights. That is certainly a great oversimplification, but it’s a general trend for those revolutions</p>
<p>What’s missed is that 10, 20, 30 years ago, power was more distributed. You cannot ignore the plenty of groups who were more downtrodden then than they are now. Yet we were, more equal in economic power. That is what has changed in that timeframe. It’s also a lot harder to deal with and legislate those issues. After all, the people who would have to do that are the ones in power and have the most to lose.</p>The post <a href="http://brimanning.com/unrest">Unrest</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1807</post-id>	</item>
		<item>
		<title>2018 Resolutions Third Quarter</title>
		<link>http://brimanning.com/2018-resolutions-q3</link>
		
		<dc:creator><![CDATA[Brian Manning]]></dc:creator>
		<pubDate>Mon, 15 Oct 2018 12:29:29 +0000</pubDate>
				<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://brimanning.com/?p=1804</guid>

					<description><![CDATA[<p>There's still some time left, but I think that I've got a good shot at polishing off these goals. What I've definitely learned is that if the goal isn't something that's a daily or near-daily thing to make progress on, then I'm far less likely to put effort into it. That'll be something to keep in mind for next year.</p>
The post <a href="http://brimanning.com/2018-resolutions-q3">2018 Resolutions Third Quarter</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></description>
										<content:encoded><![CDATA[<p>Time for the third quarterly update of <a href="http://brimanning.com/2018-resolutions">my 2018 resolutions</a>.</p>
<ol>
<li><strong><em>Professional Development</em></strong>
<ol>
<li><em><del>Update Type.</del></em> This was previously done in the first quarter.</li>
<li><em>Create a simple app with Flutter.</em> No movement on this, but I hope to get around to it soon.</li>
<li><em>Write a blog post each quarter for the Rocket blog.</em> I recently published my <a href="https://blog.rocketinsights.com/koin/" class="broken_link">third blog post about Koin, a Kotlin dependency injection</a> framework that I&#8217;ve become a big fan of.</li>
</ol>
</li>
<li><strong><em>Personal Development</em></strong>
<ol>
<li><em>Continue reading a book a month with a stretch goal of 15 books this year.</em> I&#8217;m getting close to the stretch goal at this point with plenty of time left in the year.
<ol>
<li><em><a href="https://www.goodreads.com/book/show/21981659-the-bee">The Bee: A Natural History</a></em> by Noah Wilson-Rich</li>
<li><em><a href="https://www.goodreads.com/book/show/31387199-the-black-monday-murders-vol-1">The Black Monday Murders, Vol. 1: All Hail, God Mammon</a></em> by Jonathan Hickman</li>
<li><em><a href="https://www.goodreads.com/book/show/28186015-weapons-of-math-destruction">Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy</a></em> by Cathy O&#8217;Neil</li>
<li><em><a href="https://www.goodreads.com/book/show/76778.The_Martian_Chronicles">The Martian Chronicles</a></em> by Ray Bradbury</li>
<li><em><a href="https://www.goodreads.com/book/show/2035430.The_Weekend_Garden_Guide">The Weekend Garden Guide: Work-Saving Ways to a Beautiful Backyard</a></em> by Susan A. Roth</li>
<li><em><a href="https://www.goodreads.com/book/show/30557184-beekeeping-for-dummies">Beekeeping for Dummies</a></em> by Howland Blackiston</li>
<li><em><a href="https://www.goodreads.com/book/show/15751404-david-and-goliath">David and Goliath: Underdogs, Misfits, and the Art of Battling Giants</a></em> by Malcolm Gladwell</li>
<li><a href="https://www.goodreads.com/book/show/2697562-attracting-backyard-wildlife"><em>Attracting Backyard Wildlife: A Guide for Nature Lovers</em></a> by William J. Merilees</li>
<li><a href="https://www.goodreads.com/book/show/21413662-what-if"><em>What If?: Serious Scientific Answers to Absurd Hypothetical Questions</em></a> by Randall Munroe</li>
<li><a href="https://www.goodreads.com/book/show/8520610-quiet"><em>Quiet: The Power of Introverts in a World That Can&#8217;t Stop Talking</em></a> by Susan Cain</li>
<li><a href="https://www.goodreads.com/book/show/6657541-preludes-nocturnes"><em>Preludes &amp; Nocturnes (The Sandman #1)</em></a> by Neil Gaiman</li>
<li><a href="https://www.goodreads.com/book/show/76660.With_a_Tangled_Skein"><em>With a Tangled Skein (Incarnations of Immortality #3)</em></a> by Piers Anthony</li>
<li><em><a href="https://www.goodreads.com/book/show/76667.Wielding_a_Red_Sword">Wielding a Red Sword (Incarnations of Immortality #4)</a></em> by Piers Anthony</li>
<li><em><a href="https://www.goodreads.com/book/show/29100226-the-wars-of-the-roosevelts">The Wars of the Roosevelts: The Ruthless Rise of America&#8217;s Greatest Political Family</a></em> by Will J. Mann</li>
</ol>
</li>
<li><em>Missy and I decided to do a monthly art club.</em> I&#8217;ve made some more progress on my D&amp;D maps and started using hex graph paper for this to map outdoor places with a sense of scale. I&#8217;m considering doing a daily challenge for a month sometime soon to get some solid progress there.</li>
</ol>
</li>
<li><strong><em>Fitness</em></strong>
<ol>
<li><em>Ride my bike to work every day it&#8217;s reasonable to do so.</em> I haven&#8217;t been doing this as much, mostly because there are times I would&#8217;ve left Rugby alone at home all day and <a href="https://www.linkedin.com/feed/update/urn:li:activity:6443625383186231296">he&#8217;s a big hit in the office</a>.</li>
<li><em>Do the Crossfit workout of the day.</em> Since I&#8217;ve turned the running up even more, most non-cardio has been pushups, bodyweight full squats, and pullups. Once the weather turns, this will certainly change.</li>
<li><em>Run three times a week.</em> I&#8217;ve turned this up a bit and even hit an all-time PR for a 5k, beating a record set back in 2014.</li>
</ol>
</li>
</ol>
<p>There&#8217;s still some time left, but I think that I&#8217;ve got a good shot at polishing off these goals. What I&#8217;ve definitely learned is that if the goal isn&#8217;t something that&#8217;s a daily or near-daily thing to make progress on, then I&#8217;m far less likely to put effort into it. That&#8217;ll be something to keep in mind for next year.</p>The post <a href="http://brimanning.com/2018-resolutions-q3">2018 Resolutions Third Quarter</a> first appeared on <a href="http://brimanning.com">Bri Manning's Blog</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1804</post-id>	</item>
	</channel>
</rss>
