<?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[Darren Beattie]]></title><description><![CDATA[Web Developer, Strength & Conditioning Coach, Part-Time Entrepreneur]]></description><link>https://darrenbeattie.com/</link><image><url>https://darrenbeattie.com/favicon.png</url><title>Darren Beattie</title><link>https://darrenbeattie.com/</link></image><generator>Ghost 3.11</generator><lastBuildDate>Thu, 09 Apr 2026 09:17:28 GMT</lastBuildDate><atom:link href="https://darrenbeattie.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Don't Run Multiple Ghost Instances on a Small Virtual Machine]]></title><description><![CDATA[I found out the "hard way" why most people only host one Ghost instance on a DigitalOcean droplet. This is why they are called experiments.]]></description><link>https://darrenbeattie.com/dont-run-multiple-ghost-instances-on-a-small-virtual-machine/</link><guid isPermaLink="false">5f1778eaaacbf603f8cfd90f</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[ghost]]></category><category><![CDATA[content management system]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Thu, 23 Jul 2020 15:30:00 GMT</pubDate><media:content url="https://darrenbeattie.com/content/images/2020/07/JustBecauseYouCanDoIt.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://darrenbeattie.com/content/images/2020/07/JustBecauseYouCanDoIt.jpg" alt="Don't Run Multiple Ghost Instances on a Small Virtual Machine"><p>Just Because You Can Do It. <em>Doesn't mean you should...</em></p><p>Lately I've been playing a great deal with Content Management Systems. Well one in particular: <a href="https://ghost.org">Ghost</a></p><p>I even wrote an article on <a href="https://darrenbeattie.com/how-to-host-multiple-ghost-sites-with-one-digitalocean-droplet/">how to host multiple instances of it on one DigitalOcean Droplet</a>. </p><p>And it worked fine. </p><p>You can very easily run more than one instance of Ghost from a tiny virtual machine. The sites ran fast according to Google PageInsights. Never had any issues writing, publishing or accessing Ghost. </p><p><em>Until...</em></p><p>I went to upgrade the Ghost instances on darrenbeattie.com and <a href="https://dailytrainingsession.com">dailytrainingsession.com</a> recently. </p><p>Turns out I may have missed something important from the <a href="https://ghost.org/docs/concepts/hosting/">self-hosting requirements</a>:</p><blockquote>"A server with at least 1GB memory"</blockquote><p>Now the $5 droplet on DigitalOcean has that, but I'm sure they mean per instance.</p><p>Turns out, while not a problem for running Ghost, it's a problem for updating Ghost. And trying to update using their <a href="https://ghost.org/docs/api/v3/ghost-cli/">very good CLI tool</a> to upgrade either instance tells me there isn't enough memory on that sized droplet.</p><!--kg-card-begin: html--><div class="tenor-gif-embed" data-postid="4166571" data-share-method="host" data-width="100%" data-aspect-ratio="1.22"></div><script type="text/javascript" async src="https://tenor.com/embed.js"></script>
<br><!--kg-card-end: html--><p>Good thing I hadn't gotten around to moving <a href="https://skillbasedfitness.com">Skill Based Fitness</a> to a new Ghost instance on the same server. I may have discovered the limitations of the $5 droplet running. </p><p>I had thought about it, and desperately want to move it away from Wordpress. The Google Page Insights have been absolutely terrible on that Wordpress site for years and my pre-paid hosting will be running out soon.</p><h2 id="my-bad-">My Bad.</h2><p>It's no wonder, that no one had readily written about it and I had such difficult time piecing it together. Good learning experience all the same. Especially about <a href="https://www.nginx.com/">NGINX</a> and DigitalOcean deployment.</p><p>Ghost is a slick, beautiful writing experience, that runs blazing fast but is a bit of a memory hog it turns out.</p><p>I mean, should I really complain? It's only 1GB worth of RAM. The computer I'm writing this on has 16x that.</p><p>I probably saw it, I simply chose to ignore it because spending $5 a month for three sites versus $15 seemed like a steal. A cheap way to play anyway. </p><p>As it turns out, you may want to consider some workarounds for long-term maintenance. That is, if you ever want to upgrade Ghost.</p><h2 id="workarounds">Workarounds</h2><p>There are a few things to consider...</p><h3 id="increase-the-droplet-size">Increase the Droplet Size</h3><p>The most obvious one is to stop the virtual machine, and upgrade it to the next size (2GB) droplet at $10/mo. Then upgrading Ghost should work just fine, depending on how many instances you have on your droplet. No different really from running separate $5 droplets for each site. Save a more complicated config.</p><p>You could possibly even downgrade back to the $5 droplet upon completion but this will be annoying every time you want to upgrade ghost. They push new releases monthly. And you probably <em>should</em> upgrade to stable releases at least on a semi-regular basis. You're risking data corruption to an extent by messing around with this too much.</p><p>Good quick work around, but likely not ideal for me long-term. I want to simplify my approach, not increase the complexity.</p><h3 id="embrace-the-jamstack-further">Embrace the JAMstack Further</h3><p>If/when you're using Ghost as a <a href="https://headlesscms.org/">headless CMS</a> (which DTS.com and DB.com are not currently) it basically becomes your back-end. Assuming you aren't building anything more complex than a web page/blog.</p><p>I suspect (<em>but have not confirmed</em>) I can deliver content to two different front ends via webhooks from one Ghost instance on a single droplet. You're basically just exposing the <a href="https://ghost.org/docs/api/v3/content/">Content API</a> to two different places. Use tags to split the content to its appropriate front-end location.</p><p>Then simply design two different front ends using <a href="https://www.gatsbyjs.org/">Gatsby</a> or <a href="https://nextjs.org/">Next</a> (or both?) and statically generate the front-end using service like <a href="https://www.netlify.com/">Netlify</a> (who coined the term JAMstack) or <a href="https://vercel.com/">Vercel</a> (creators of Next.js). Both of which wouldn't cost me anything, assuming the traffic doesn't get crazy. </p><p>Unlikely for DB.com, but I'm secretly hoping it might happen to DTS.com. 🤞</p><p>If I don't burn out first, writing 500-1000 word workouts every day. I may need to slow the pace to keep the time investment reasonable or build something entirely from scratch anyway. I'm not ruling that out. In theory, it should work.</p><p>Currently the problem I'd run into trying to implement this is the heavy integration with <a href="https://ghost.org/members/">Ghost's membership</a> functionality for DTS.com. </p><p>There is no way currently to implement a membership functionality that is anywhere near as slick (as they've built) into a JAMstack implementation. 😞 </p><p>Without building something from scratch anyway. It's in beta, mind you, so that functionality could disappear entirely or maybe version 4 will feature JAMstack member support.</p><p>There's no way to know.</p><p>I'd even consider Ghost.org hosting plan if I could have one well managed instance serving multiple front ends. <em>I can dream right?</em> </p><h3 id="prioritize">Prioritize</h3><p>What do I need/want the Ghost writing experience most for? </p><p>It's probably not DB.com. It's a small low-traffic website to show off my developer oriented (occasionally business-oriented?) thoughts. I occasionally publish ideas here. I write on DTS.com daily and <a href="https://skillbasedfitness.com">SBF.com</a> (Skill Based Fitness) weekly. </p><p>It doesn't make sense to have a separate Ghost instance for DB.com, when I write so infrequently here. I simply wanted to <a href="https://darrenbeattie.com/experiments-with-ghost/">retake my name domain</a> that I had let sit dormant for too long. It should be the first thing served when someone Googles my name.</p><p>I can do that with a static front end and likely something else that isn't Ghost. I can then link to Medium or something for my writing or utilize a hosted but free JAMstack CMS like <a href="https://www.contentful.com/">Contentful</a>, <a href="https://www.datocms.com/">DatoCMS</a> or <a href="https://www.netlifycms.org/">Netlify CMS</a>. </p><p>All of which I've been investigating and have a terrible writing experience compared to Ghost. Contentful and DataCMS free tiers might be enough for a tiny amount of content at least but their pricing is absolutely ludicrous for a hobbiest. </p><p>They are also overkill. More like a full back-end API on demand, which could be fun to play with on some other projects.  </p><p>Right now I'm leaning towards <a href="https://www.netlifycms.org/">Netlify CMS</a> because it appears to be free without limitation –<em> it ties directly into GitHub. </em>While not the best writing experience, nor as easy to get started with, it still is a good <em>developer</em> experience.</p><!--kg-card-begin: markdown--><p>At least it'd be a good way to add to my <s>lack of</s> commits lately.</p>
<!--kg-card-end: markdown--><p>🤷‍♂️ In any effect you'll probably see some changes to darrenbeattie.com in the coming days/weeks and eventually DTS integrated into SBF.com so it can be served on one droplet with one ghost instance. </p><p>Maybe one day I'll look into serving one ghost instance to multiple domains and as always I'll let you know how that goes.</p>]]></content:encoded></item><item><title><![CDATA[Why I'm Shuttering Fitnack]]></title><description><![CDATA[Here is the story behind why I'm closing Fitnack down, but fret not. All is not lost! I've got something new for y'all...]]></description><link>https://darrenbeattie.com/why-im-shuttering-fitnack/</link><guid isPermaLink="false">5e98ba685403840ba730b572</guid><category><![CDATA[fitnack]]></category><category><![CDATA[darren beattie]]></category><category><![CDATA[business]]></category><category><![CDATA[start-ups]]></category><category><![CDATA[self improvement]]></category><category><![CDATA[daily training session]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Mon, 27 Apr 2020 15:00:00 GMT</pubDate><media:content url="https://darrenbeattie.com/content/images/2020/04/HorizontalLogo.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://darrenbeattie.com/content/images/2020/04/HorizontalLogo.jpeg" alt="Why I'm Shuttering Fitnack"><p><em><strong>*Note: </strong>This won't affect any remaining paying clients (we've spoken), you'll simply have access to the successor side project in a different capacity from most – <a href="https://dailytrainingsession.com/signup/">Daily Training Session</a>. I'm not abandoning coaching entirely, just moving it to the sidelines for now.</em></p><hr><!--kg-card-begin: html--><html>

<div style="max-width: 740px; width: 100%; border: 3px; border-style: solid; border-color: #A7AABC; border-radius: 25px; padding: 20px; height: auto;">
<div><strong>tl;dr:</strong> My mission with Koachable had been to enable coaches to scale and impact more people's lives. Fitnack's was to be a case study for the idea of Koachable. With a twist of scaling many of my own coaching ideas. </div>
    <br>
<div>      
My real mission as a coach/person has been help as many people as possible improve their quality of life. That's why <a href="https://skillbasedfitness.com/">I started writing</a> in the first place: To scale.
</div>  
    <br>
<div>
After 4.5 years of working on Fitnack I realized it wasn't having the desired effect. I didn't have the skills to create the tech-based experience I wanted to create. After some self-reflection I realized I had veered from my mission: To help the maximum amount of people consistently exercise (especially lift).  
</div>
    <br>
<div>
It's time put most of my focus into becoming a good engineer. And to bite off a little less with a side project. One that won't require full time hours but provides a lot of value via a premium daily newsletter called <a href="https://dailytrainingsession.com/signup">Daily Training Session</a>. Smart, planned workouts, for intelligent people who don't want a shotgun based approach to their fitness.
</div>    
    
</div>

</html><!--kg-card-end: html--><hr><p>I can't begin to describe how emotional this is to anyone who has never started a business, let alone dissolved one.</p><p>For the better part of fifteen years my identity has been that of 'Coach.' Fifteen Years!</p><p>Thankfully it has nothing to do with the Coronavirus/Covid-19. I'm feeling for a lot of business owners at the moment and I'm really glad I decided to pivot more heavily into tech when I did.</p><h2 id="the-issue-of-scale">The Issue of Scale</h2><p>Flashback to 2011, I was working my dream job as the Head Strength and Conditioning Coach for a University Sports Team. Okay so maybe I was shooting for a pro team...</p><!--kg-card-begin: html--><iframe src="https://giphy.com/embed/BM10SaUSoT789SJkvf" width="480" height="369" frameborder="0" float="auto" class="giphy-embed" allowfullscreen></iframe><!--kg-card-end: html--><p>A bit later that year the University of British Columbia would significantly change their strength and conditioning department and there would no longer be individual strength and conditioning coaches for each team but one head coach to look after the 600+ athletes on every team at the <em>entire</em> school.</p><p>I was asked to put my name into the hat and probably had a legitimate shot at the position given my previous coaching performance. I loved coaching the team and I think I could have handled the responsibility but I also had imposter syndrome to the max. I was too young to deserve the position I already had, let alone this one.</p><p>I also felt like I couldn't keep up with the ~80 athletes I was managing already. I was doing the best I could with what I had, but 600 athletes? <em>That's a lot...</em></p><p>Would it be worth dealing with the slow bureaucracy of a higher education institution? </p><p>Around the same time I met some people in the tech/start-up world and started devouring books on the concept of scale.</p><blockquote>I was struggling to scale myself and these people knew how to scale.</blockquote><p>I became preoccupied with the concept of scale. I was pretty good at what I was doing, but once the scale hit 60-80 people I was working 60 hours a week or more just to keep up. It wasn't sustainable. If I wanted to help more people than that, it was next to impossible to keep doing what I was doing.</p><p><em>Where to turn</em>?</p><figure class="kg-card kg-image-card"><img src="https://darrenbeattie.com/content/images/2020/04/KoachableC70a-A02fT01a-Z.jpg" class="kg-image" alt="Why I'm Shuttering Fitnack"></figure><h2 id="koachable">Koachable</h2><p>Through blind luck or open enthusiasm (<em>I could never tell which</em>) I managed to convince an investor to give me a seed round of funding for a web developer to see what I could do about my scale issue.</p><p><strong>The concept: </strong><em>let other coaches easily create online systems that allowed them to scale and train more people at one time. </em></p><p>If you spent some time upfront to build out some systems available online from anywhere, then scaling to 100, 200, maybe even more people <em>should</em> be easy.</p><p>See most 'fitness' software then (<em>and even now</em>) is just a prettier version of Microsoft Excel. The majority of coaches still default to it for exercise programming for that reason and I'm no different. </p><!--kg-card-begin: html--><iframe src="https://giphy.com/embed/aJPmOJi5bL0ic" width="480" height="360" frameborder="0" class="giphy-embed" allowfullscreen></iframe><!--kg-card-end: html--><p>Once you've built your templates, no online app can match the speed at which I can craft a custom program in Excel. Excel isn't fast by any means, but the forms web apps use for exercise program creation are three to five times slower IME.</p><p>I actually had a broader desire for athlete/client management and more specifically things that weren't related to exercise at all, such as nutrition or sport psychology. Quick daily feedback loops were my focus.</p><p>It sounds counterintuitive to people who don't write training programs, but software for delivering exercises to athletes was (<em>is</em>) actually the least of my concern. That is the easy part of the job.</p><p>This was going to be a coaching platform for <em>any</em> kind of coach because why not? Coaches of all sorts have had such a big impact on me, shouldn't they get access? Doesn't it broaden my potential customer pool? <em>Well...</em></p><figure class="kg-card kg-gallery-card kg-width-wide kg-card-hascaption"><div class="kg-gallery-container"><div class="kg-gallery-row"><div class="kg-gallery-image"><img src="https://darrenbeattie.com/content/images/2020/04/AddNewTask-1.png" width="724" height="764" alt="Why I'm Shuttering Fitnack"></div><div class="kg-gallery-image"><img src="https://darrenbeattie.com/content/images/2020/04/ClientProgressPage.png" width="724" height="639" alt="Why I'm Shuttering Fitnack"></div><div class="kg-gallery-image"><img src="https://darrenbeattie.com/content/images/2020/04/ClientProgressPage2.png" width="739" height="638" alt="Why I'm Shuttering Fitnack"></div></div></div><figcaption>Can you spot the bugs? Very 2012. JQuery Heavy. Drag and drop interface. Not the prettiest, but it worked!</figcaption></figure><p>Truthfully, I had NO IDEA what I was doing. </p><p>I don't think any first-time startup founder really does. You don't know what you've gotten yourself into, until you're in it. By that time you don't know which way is up and which was is down. You simply have to find a way to keep moving forward. </p><p>Especially while you're still coaching 25-30 hours a week and trying to launch a start-up in what little spare time you have. Ya that was a bad idea but as a practical person I needed something to fall back on and <em>some</em> income deposited in the bank. </p><p>Big thinking, big ideas, poor execution. I did almost everything I was telling my clients at the time <em>not to do. </em>I was trying to be everything to everyone and do it all at once.</p><p><strong>It flopped. Hard.</strong> </p><p>Eventually I got that email from the investor, "<em>we need to talk...</em>" </p><p>I knew it was coming and it took the wind right out of my sail.</p><p>They were honest with me, I couldn't argue with anything being said and thankfully we remain friends. By that point I was more concerned about f🐬king those friendships up than I was about making this start-up a giant success. I hate disappointing others and my mind had shifted to loss-aversion. </p><p>If I was lucky it might appeal to tens of thousands of coaches. It was probably never going to be a billion-dollar business. I was scratching my own itch and as it turned out very few people had the same itch. Most are happy to maintain the status quo. And as I'd later figure out: <strong>most people are lazy. </strong>Sad but true.</p><blockquote>"Pay you for the privilege of building out all my own content?"</blockquote><p>No one explicitly said that to me, but I got this vibe from the majority of coaches on the platform. <em>And you know what?? I don't blame them... </em></p><p>Building a three, four, or even a six-month coaching program is a much larger arduous process than building a <em>work-at-your-own-pace</em> e-course. </p><p>My grand personal vision was several different six-month programs – <em>as a kind of choose-your-own-adventure thing.</em> Needless to say, I never got there.</p><p>I look at my current exercise library of ~650 videos, and the dozens of nutrition/psychology modules I've written since Koachable shut down in 2015 and the amount of time I've spent crafting it all. It would make a lot of people cringe.</p><p>Even I've found it incredibly difficult to keep up a regular pace of creating and modifying content. It's a lot of thankless work. Yes after 4-5 years, I accomplished quite a bit, but it still feels woefully inadequate compared to my "<em>grand vision</em>." </p><p>Was I expecting these coaches to pay me $99/mo only to spend an entire year or two creating the content on their own? Where would they find the time to actually coach?</p><p>I think at its peak we had maybe 50 coaches using the platform. None of whom ever really used the system as I intended. Fewer still who were paying to use the software. </p><p>Meanwhile, I just kept adding features. I might need it to X someday! Reminder system? Check! Messaging system? Check! Want to add audio or video to something? Check!</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://darrenbeattie.com/content/images/2020/04/MetricCreation.png" class="kg-image" alt="Why I'm Shuttering Fitnack"><figcaption>Need to track something? Anything?&nbsp;</figcaption></figure><p>If a coach in the system made a request, we built it. I had this developer on stand-by that I felt I needed to keep busy. It was a mistake.</p><p>The only QA was me. The only marketer was me. The project manager was me. Everything was me except development and the odd bit of design work we had done. I learned a lot about startups very quickly, but it was too late.</p><p><strong>I had created a monster. </strong>A reminder app on steroids to nag people you were coaching.</p><p>As I know now, "<em>wouldn't it be cool if it did...</em>" is a terrible idea and saying <em>no</em> is the key to start-up success. </p><p>In the end, it was a giant sprawl of an application with a ton of features, a lack of focus, no apparent or sustainable business model and I was the only person truly using it. </p><p>Rather than let it die completely. I did what I probably <em>should have</em> done from the beginning.</p><h2 id="fitnack-evolved-out-of-koachable">Fitnack Evolved Out of Koachable</h2><p>I'm anything but lazy. I don't always focus on the right things, or finish all the things I start and I tend to bite off more than I can chew but I'm not lazy. </p><p>My Hail Mary at this point was to use the existing Koachable software and focus my attention on the thing that I had been asking the other coaches to do: </p><p><strong>Build and sell my own vision of an online coaching program.</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://darrenbeattie.com/content/images/2020/04/FitnackNexus4Image.jpg" class="kg-image" alt="Why I'm Shuttering Fitnack"><figcaption>Fitnack using the Koachable Software on a Phone (pre-Wordpress reconfig)</figcaption></figure><p>If I could do that, it would prove the system worked. Then I could reopen Koachable to coaches with my pre-built content and eliminate or at least reduce the suspected choke point for scale.</p><p>We halted development, paused coach sign-ups and stopped supporting any coaches still using the Koachable system so I could spend a few months focusing on the <a href="https://fitnack.com">Fitnack</a> coaching program using what we had built so far.</p><!--kg-card-begin: html--><iframe src="https://giphy.com/embed/BoBOKNtlR8rTi" width="480" height="199" frameborder="0" class="giphy-embed" allowfullscreen></iframe><!--kg-card-end: html--><p><em>And...it felt like it was working...</em></p><p>But ultimately it was too late for Koachable. Web applications need maintenance and after a few months without funding or a full-stack developer that just wasn't going to happen. I didn't have the technical skills to maintain it on my own.</p><p>I didn't give up, but I needed something easier to maintain as a less technical person. I could use a little HTML and a little CSS, so I moved the content I created to a new Wordpress (WP) installation. Bought a theme that looked good and hacked together a little membership system out of various plug-ins. It was nowhere near the functionality of Koachable but it was something.</p><blockquote><strong>This is probably what I should have done from the beginning.</strong></blockquote><p>At the time my thinking was, if I could build a system that worked and was making $$ then I could take those numbers back to an investor and reignite Koachable as a project. At the very least slowly build it up back into a small tech business I could run with a few contractors.</p><p>The numbers were good enough for me to fill hours I wasn't training, but never good enough to take back to an investor or hire anyone for anything other than minor contract work. I was still working 60+ hours a week.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://darrenbeattie.com/content/images/2020/04/Coaching-Home-Page---Fitnack.jpg" class="kg-image" alt="Why I'm Shuttering Fitnack"><figcaption>I could design pages like this, but I couldn't get it to sequence the programs the way I wanted.</figcaption></figure><blockquote>Maybe this was an issue of only putting my toe into the water? Rather than jumping all the way in?</blockquote><p>I kept running into maintenance and logistic issues despite WP. Plugins, themes even Wordpress itself would be upgraded and break stuff in the app or stop being supported. Stripe API's would change and subscriptions would need to be migrated. At one point my checkout just didn't work and no one could help me figure out why. It was down for weeks before a potential client brought it to my attention! You can't run a business like that...</p><p><em>And most of all that damn issue of scale!</em></p><p>I should have been spending 50% of my time marketing the app but I spent 75% of it building, editing and creating content and the other 25% in video calls with the clients using it. Spending hours each day editing and uploading videos was/is necessary but tedious and more than a little boring. </p><p>I fell back on what I knew. Designing custom fitness programs and giving them to people online.</p><p>Even <a href="https://medium.com/a-year-abroad">after we started travelling</a> and I dropped my <a href="http://fettle.ca">in-person business</a> altogether – <em>another heartbreaking but "necessary" experience </em>– I still couldn't get the scale I desired.</p><p>That mythical triple digit client number still feels just beyond of reach.</p><h2 id="the-next-steps">The Next Steps</h2><p>You'd think I should be doubling down on Fitnack right now based on Covid-19, right? Well I didn't know we'd be dealing with this when I decided on the next chapter!</p><p>After 4 years of working on Fitnack it became clear to me that the original goal has eroded. At first it was a way to keep the Koachable legacy/dream alive. But now?</p><p>I needed to change, a new challenge and I wanted to work with a team again. </p><p>The original goal of Koachable was to help coaches scale, and even at Fitnack's peak I still wasn't helping 100 people. I wasn't having the impact I wanted to have. </p><p>I love coaching. I love helping people. I think fitness is my conduit for giving back. And I've come to love technology. Especially web technology.</p><p>After 9 years of toying with the latter, it was time to take it more seriously.</p><p>I enrolled at <a href="https://www.lighthouselabs.ca/">Lighthouse Labs</a> in their 12 week web development course in Toronto.</p><p>Upon graduation, I seriously wish I could completely redo Koachable or Fitnack in Node/ Express/ React, in a reasonable time frame but I'm not that good...yet...</p><!--kg-card-begin: html--><iframe src="https://giphy.com/embed/UFGnMzsF2ZJ2U" width="480" height="360" frameborder="0" class="giphy-embed" allowfullscreen></iframe><!--kg-card-end: html--><p>It's probably for the best. It's time for Koachable to die. The school was pretty upfront about this. They'd give me enough technical knowledge to get a job, but only about 20% of what I'd need to build a production level app on my own. </p><p>For that I'd need ~3-5 years of job experience and one month post bootcamp, I have a clear sense of why. It's a HUGE field that is constantly evolving and I'm nose down looking for the right opportunity with the right company as you read this.</p><p>At the same time, maintaining a wordpress site with these new skills seems silly. Pfft, I can tackle something far more complex than that, so I am. </p><p>I simply won't have the time to maintain Fitnack or coach as much as I have been, <em>and</em> work a full time development job. It's time to change my identity from "coach" to "web developer." </p><h2 id="the-new-digs">The New Digs </h2><p>You can take a coach out of the gym, but you can't take that desire to help others out of the coach.</p><p>For my mid-term project at LHL we built a <a href="https://doodle.com/en/">doodle</a> <a href="https://github.com/AnisaHMohamed/schoodle">clone</a>. Nothing crazy but the first step of the design process stated: <strong>everything <em>starts</em> with DATA.</strong></p><!--kg-card-begin: html--><iframe src="https://giphy.com/embed/zEU2uwmialC4U" width="480" height="357" frameborder="0" class="giphy-embed" allowfullscreen></iframe><!--kg-card-end: html--><p><em>Not that Data...</em></p><ul><li>What is the data you can access or acquire?</li><li>Can you correlate that data to something else?</li><li>How can you pivot that data to add value?</li></ul><p>Starting Fitnack meant I had accumulated this giant amount of data. I wasn't going to throw all that data away! </p><p>What could I use that data for that was more complicated than traditional Wordpress development, but less complicated than a full-stack web app with hundreds of features? </p><p>One that could be maintained on evenings and weekends, but would keep the data train slowly rolling? One that could potentially reach thousands of people and keep me a little connected to my roots in strength and conditioning? </p><p>I give you: <a href="https://dailytrainingsession.com/signup/">dailytrainingsession.com</a> </p><h2 id="the-idea">The Idea</h2><p>The premise is simple. </p><figure class="kg-card kg-image-card"><img src="https://darrenbeattie.com/content/images/2020/04/Screen-Shot-2020-04-22-at-4.44.32-PM.png" class="kg-image" alt="Why I'm Shuttering Fitnack"></figure><p>Sign up for the list. And every day at 4:30AM Eastern Time (<em>starting sometime soon, I'm shooting for May the 4th...be with you</em>) you'll get an email with a workout I designed for that day.</p><p>It's not a WOD, it's a DTS. And it's free.</p><p>Think a smarter Crossfit WOD, featuring an <em>actual</em> plan (<em>i.e. not random</em>) for each month. I've got a pretty big collection of videos I can share so you can see the technique. </p><p>And I can add some quick commentary (my goal is to keep it &lt; 1000 words, probably much less), give you equipment recommendations, and share some research/articles by other professionals I think you should read.</p><p>For the time being I'm going to keep it focused on short at-home workouts (<em>for obvious reasons</em>) with minimal equipment. In the future? I want to give you an exposure to a variety of training methods and approaches I was previously perfecting. </p><p>If you want to throw a little shade my way to help pay for the servers that's awesome! </p><p>You'll also get more input into the programs I design, and some exclusives so you can ask me questions, get modification suggestions and access the back catalog. That's going to be measly $5/mo or $50 a year.</p><p><em><strong>*Don't sign up for the paid plan yet though, just put your name on the list and wait. I'll let you know when I formally launch via email.</strong></em></p><p>I'll keep using my new dev skills to push the exclusives in a direction the community prefers on my evenings/weekends and I can hone those skills further with a day gig at an awesome tech company in Vancouver.</p><p>Deal?</p>]]></content:encoded></item><item><title><![CDATA[Questions For Coding]]></title><description><![CDATA[<p>Photo by <a href="https://unsplash.com/@timothycdykes?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Timothy Dykes</a> on <a href="https://unsplash.com/s/photos/rubber-duck?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></p><hr><p>For a <a href="https://lighthouselabs.ca">three month-long code bootcamp</a> I've had the following (<em>taken from a written lesson if I recall</em>) scribbled on the front page of my notepad.</p><p>It's a step-by-step thought process to use when you're stuck coding (<em>with some personal modifications</em>).</p><p>HAVE I???...</p><ul><li>...really</li></ul>]]></description><link>https://darrenbeattie.com/questions-for-coding/</link><guid isPermaLink="false">5ea0a6915403840ba730bbf9</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[web development]]></category><category><![CDATA[problem solving]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Thu, 23 Apr 2020 16:00:00 GMT</pubDate><media:content url="https://darrenbeattie.com/content/images/2020/04/timothy-dykes-LhqLdDPcSV8-unsplash.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://darrenbeattie.com/content/images/2020/04/timothy-dykes-LhqLdDPcSV8-unsplash.jpg" alt="Questions For Coding"><p>Photo by <a href="https://unsplash.com/@timothycdykes?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Timothy Dykes</a> on <a href="https://unsplash.com/s/photos/rubber-duck?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></p><hr><p>For a <a href="https://lighthouselabs.ca">three month-long code bootcamp</a> I've had the following (<em>taken from a written lesson if I recall</em>) scribbled on the front page of my notepad.</p><p>It's a step-by-step thought process to use when you're stuck coding (<em>with some personal modifications</em>).</p><p>HAVE I???...</p><ul><li>...really understood the problem??</li><li>...pseudo-coded a solution?</li><li>...googled the error message/ related or similar problems?</li><li>...actually READ the error message or the documentation?</li><li>...double-checked my syntax?</li><li>...linted my code? (<em>rarely in my experience so far has this been the issue...</em>)</li><li>...rubber ducked the problem?</li><li><strong>...pair-programmed or had a peer review my code?</strong></li><li>...walked away from my computer and taken a break??</li></ul><p>At any point I'd say you could walk away from the computer and take a 10-30 minute break. I've had more epiphanies away from my computer so far, than I have had trying to brute force a solution by gluing my butt to the chair. </p><p>If you don't know what rubber ducking a problem is – <em>I certainly didn't before school </em>– you basically talk through your problem with a rubber duck. It's a thing in comp sci. Basically it forces you to verbalize the issue and talk it through. Talking to an imaginary friend about the problem likely works just a well. </p><p>For the bolded pair-programming/ code-review I'd argue it's a lot like coaching and bringing in an external pair of eyes to look for things that you cannot see.</p><p>Human beings lack really effective personal awareness systems. We fail to see a lot of what we do. That external pair of eyes is paramount, so in the absence of mentors (from school) I've been using <a href="https://www.codementor.io/">CodeMentor.</a> I don't get anything to tell you that, I just think it's cool.</p><p>Sometimes (<em>often times?</em>) you just have to move on and come back to something with fresh eyes. </p><p>I used to wonder why so many tech companies had video games, ping pong or pool tables in the office. I don't wonder anymore. When you're thinking <em>that</em> intensely, staring at a screen for too long the most effective thing you can do is stimulate your brain in an entirely different way. I don't favour video games in this context myself but physical activity I completely understand.</p><p>Seriously, you don't know until you've tried it. Regular breaks are useful, despite my reluctance to take them.</p><p>Mostly I just wanted to tear this page off my notepad and put it somewhere else for reference. This seemed like a decent place. 😉</p>]]></content:encoded></item><item><title><![CDATA[How to Force https with Ghost]]></title><description><![CDATA[Here's the surprisingly quick way to make any ghost requests over https if you didn't configure it correctly the first time.]]></description><link>https://darrenbeattie.com/how-to-force-https-with-ghost/</link><guid isPermaLink="false">5e7a794dd943e603e6f5a034</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[ghost]]></category><category><![CDATA[https]]></category><category><![CDATA[ssl]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Wed, 25 Mar 2020 15:00:00 GMT</pubDate><media:content url="https://darrenbeattie.com/content/images/2020/04/meritt-thomas-0nDC2QgBojY-unsplash.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://darrenbeattie.com/content/images/2020/04/meritt-thomas-0nDC2QgBojY-unsplash.jpg" alt="How to Force https with Ghost"><p>Photo by <a href="https://unsplash.com/@merittthomas?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Meritt Thomas</a> / <a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Unsplash</a></p><hr><p>Alright so I set everything up in <a href="https://darrenbeattie.com/hosting-multiple-ghost-blogs-with-digital-ocean/">my last post</a> and everything was working just fine until I went to set up <a href="https://ghost.org/members/">ghost memberships</a> on <a href="https://dailytrainingsession.com/">dailytrainingsession.com</a> and the signup process wouldn't work.</p><p>Ghost is using a cool passwordless approach to authentication. That means <em>no</em> passwords for anyone to remember! This eliminates the potential for any password data theft and thus limits the liability of site owners.</p><p>It also means that you login with your email only, then you have ten minutes to check your email, and click that email to get the appropriate <a href="https://jwt.io/">JSON web tokens</a> (JWT) for authentication.</p><p>It's a cool work around for passwords but it turns out it relies strongly on the <a href="https://stripe.com/">Stripe</a> and <a href="https://www.mailgun.com/">Mailgun</a> integrations to effectively serve the JWT. </p><p>I clearly didn't configure my base URL properly and Stripe was refusing the request over http, so I had to find a way to force https. </p><p>I was googling and googling and going down a rabbit hole of complexity and things I didn't really want to have to do. Until I luckily stumbled across <a href="https://ghost.org/faq/change-configured-site-url/">this documentation</a> that was in front of my eyes the whole time. </p><p>It turned out to be a lot simpler than I initially thought it would be. Now I have to double check my Mailgun configuration because the email isn't getting through but that's a new post in the near future.</p><p>Here's what I did (<em>you may want to review my last post if it doesn't make sense</em>).</p><h3 id="step-1-login-to-your-droplet-server">Step 1: Login to Your Droplet/Server</h3><p>For beginners the '$' in these can be omitted, it's just a common way to write out the input of the terminal.</p><!--kg-card-begin: markdown--><pre><code>$ ssh root@your_server_ip
</code></pre>
<!--kg-card-end: markdown--><h3 id="step-2-login-to-the-appropriate-user">Step 2: Login to the Appropriate User</h3><p>In that <a href="https://darrenbeattie.com/hosting-multiple-ghost-blogs-with-digital-ocean/">last post</a> my first user was called <strong>sammy</strong>, and my second user for my second site was named<strong> janey </strong>but you should replace either with the username that you used to set up the domain you need to change. </p><p>If I wanted to change the configuration of my first site it'd look like this:</p><!--kg-card-begin: markdown--><pre><code>$ su - sammy
</code></pre>
<!--kg-card-end: markdown--><p>You should see your command line prompt change to something like:</p><!--kg-card-begin: markdown--><pre><code>sammy@ubuntu-nameofserver:~$
</code></pre>
<!--kg-card-end: markdown--><h3 id="step-3-find-the-appropriate-domain-configuration">Step 3: Find the Appropriate Domain Configuration</h3><p>If you know it (I have mine written down) you can simply navigate right into that directory:</p><!--kg-card-begin: markdown--><pre><code>$ cd /var/www/[nameofdomain]
</code></pre>
<!--kg-card-end: markdown--><p>If you forget or simply want to see what domains you have configurations for:</p><!--kg-card-begin: markdown--><pre><code>$ cd /var/www
</code></pre>
<!--kg-card-end: markdown--><p>To list the directories on your screen it's a simple command that everyone should know:</p><!--kg-card-begin: markdown--><pre><code>$ ls
</code></pre>
<!--kg-card-end: markdown--><h3 id="step-4-run-the-ghost-cli-commands">Step 4: Run the Ghost-CLI Commands</h3><p>From here on down it's basically just following that ghost documentation:</p><!--kg-card-begin: markdown--><pre><code>$ ghost config url https://[yourdomain].com
</code></pre>
<!--kg-card-end: markdown--><p>Then if you didn't set up your ssl in that last article for some reason you'd run:</p><!--kg-card-begin: markdown--><pre><code>$ ghost setup nginx ssl
</code></pre>
<!--kg-card-end: markdown--><p>This is to set up the ssl but we already did, so running that command is redundant and won't do anything else.</p><h3 id="step-5-restart-ghost">Step 5: Restart Ghost</h3><p>Simply run:</p><!--kg-card-begin: markdown--><pre><code>$ ghost restart
</code></pre>
<!--kg-card-end: markdown--><p>You'll probably have to enter your user password and you're not done yet but you're close.</p><h3 id="step-6-set-up-a-www-ssl-nginx-config">Step 6: Set Up a www. SSL Nginx Config</h3><p>This is a little buried based on our previous set up and you won't be able to just adjust your global Nginx configuration. </p><p>The way we <a href="https://darrenbeattie.com/hosting-multiple-ghost-blogs-with-digital-ocean/">configured multiple ghost domains on one digital ocean droplet</a> is that we use the ghost-CLI tool to generate a Nginx config file for each domain.</p><blockquote><strong>Note: </strong>You'll still need to be logged into the appropriate user you set up for any individual domain you want to force https to. Meaning you'll have to do this for each individual domain under each different user you've associated with that domain.</blockquote><h3 id="my-problem">My Problem</h3><p>The problem that I ran into after doing the above was that if I typed in or googled http://www.darrenbeattie.com specifically and it would give you a warning that this was insecure.</p><p>This was despite setting up my www A name properly on Digital Ocean and seems be a minor flaw in how the ghost-CLI tool sets SSL up on your behalf.</p><p>Type in www.darrenbeattie.com and it was redirecting properly to https://darrenbeattie.com. Type in http://darrenbeattie.com and it would also redirect properly, it was just that one specific path.</p><p><strong>Happy Path: </strong>How likely is it these days that a user will explicitly type in http://www.darrenbeattie.com?? </p><p><em>Probably not that likely</em>, but if it was showing up strangely on Google I still didn't want to risk it. Especially on any of my other sites where https is even more important because they are taking money via Stripe.</p><p>The next step was to follow along to <a href="https://ghost.org/docs/api/v3/ghost-cli/knowledgebase/#ssl-for-additional-domains">this section of the ghost documentation</a>. </p><blockquote>"You may wish to have multiple domains that redirect to your site, e.g. to have an extra TLD <strong><em>or to support www. domains</em></strong>. <strong>Ghost itself can only ever have one domain pointed at it.</strong> This is intentional for SEO purposes, however you can always redirect extra domains to your Ghost install using nginx. If you want to redirect an HTTPS domain, you must have a certificate for it. </blockquote><p>Basically we have to set up a <em>second</em> SSL to www.[yourdomain].com and we do that like this from your /var/www/[nameofdomain] file so that you have access to ghost commands:</p><pre><code>$ ghost config url https://www.[yourdomain].com
</code></pre><p>Don't worry, this will not restart Ghost or alter your https://[yourdomain].com configuration. You're merely switching over to a new config from within your domain file. You should see something like:</p><!--kg-card-begin: markdown--><pre><code>Successfully set 'url' to 'https://www.[yourdomain].com'
</code></pre>
<!--kg-card-end: markdown--><p>And I believe (though I'm not 100% sure) that because each user only has permissions for each domain that this is partly why the following commands will all end up where they are supposed to. 🤞</p><p>Next, get Ghost-CLI to generate another SSL setup for you:</p><pre><code>ghost setup nginx ssl
</code></pre><p>You’ve now got two domains setup with SSL. The main canonical domain, and your www. domain. </p><p><strong>Now change back to your canonical (main) Ghost config back <em>before </em>you forget.</strong></p><pre><code>ghost config url https://[yourdomain].com
</code></pre><h3 id="step-7-change-your-ghost-nginx-config-files">Step 7: Change Your Ghost Nginx Config Files</h3><p>Finally, you’ll need to edit the Nginx config files for your main canonical and your new www. domains to redirect properly.</p><p><em><strong>*Note:</strong> The first time I published this article, I had only changed the [yourdomain].com.conf, which explains why the other redirects worked as they should.</em></p><p>Edit both /system/files/www.[yourdomain].com.conf and /system/files/my-[yourdomain].conf to redirect properly:</p><!--kg-card-begin: markdown--><pre><code>$ nano /system/files/www.[yourdomain].com.conf
</code></pre>
<!--kg-card-end: markdown--><p>Right under the server_name in the server object add the following:</p><!--kg-card-begin: markdown--><pre><code>server {    
    
    return 301 https://[yourdomain].com$request_uri;
}
</code></pre>
<!--kg-card-end: markdown--><p>Repeat with the other config file:</p><!--kg-card-begin: markdown--><pre><code>$ nano /system/files/[yourdomain].com.conf
</code></pre>
<!--kg-card-end: markdown--><p>And make the same change under the server_name in the server object:</p><!--kg-card-begin: markdown--><pre><code>server {    
    
    return 301 https://[yourdomain].com$request_uri;
}
</code></pre>
<!--kg-card-end: markdown--><p>Once you have made those changes run sudo nginx -t to get nginx to verify your config, and sudo nginx -s reload to reload nginx and pick up your new configuration.</p><h3 id="step-7-finalize-all-your-changes">Step 7: Finalize All Your Changes</h3><p>Now use Nginx to verify your new configuration</p><pre><code class="language-bash">$ sudo nginx -t</code></pre><p>And reload your Nginx with the new configuration</p><pre><code class="language-bash">$ sudo nginx -s reload</code></pre><p>And you may as well restart ghost again just in case:</p><!--kg-card-begin: markdown--><pre><code>$ ghost restart
</code></pre>
<!--kg-card-end: markdown--><h2 id="wrapping-up">Wrapping Up</h2><p>Well that turned out to be a lot easier in the end than I anticipated. That's always a nice surprise. dailytrainingsession.com signup is no longer spinning and giving me an error in the developer console. And hopefully I've resolved any and all straight redirects from unsecured http.</p><p>I get the confirmation that an email was sent:</p><figure class="kg-card kg-image-card"><img src="https://darrenbeattie.com/content/images/2020/03/Screen-Shot-2020-03-25-at-1.47.33-PM.png" class="kg-image" alt="How to Force https with Ghost"></figure><p>My new problem is that the email is nowhere to be found!</p><p><em>Time to debug Mailgun...</em></p><p><strong>Update: </strong>Fixing the https and restarting everything fixed the Mailgun issue. I suspect serving it over http initially meant Stripe wouldn't authenticate which meant it was never getting to Mailgun.</p>]]></content:encoded></item><item><title><![CDATA[How to Host Multiple Ghost Sites with One DigitalOcean Droplet]]></title><description><![CDATA[This is the easiest way I've found to set up multiple ghost installs on a single DigitalOcean droplet. So far so good. 🤙]]></description><link>https://darrenbeattie.com/how-to-host-multiple-ghost-sites-with-one-digitalocean-droplet/</link><guid isPermaLink="false">5e73e146aa3ff048d47513b3</guid><category><![CDATA[ghost]]></category><category><![CDATA[web development]]></category><category><![CDATA[server setup]]></category><category><![CDATA[darren beattie]]></category><category><![CDATA[digitalocean]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Tue, 24 Mar 2020 15:00:00 GMT</pubDate><media:content url="https://darrenbeattie.com/content/images/2020/04/chuttersnap-Odc4dcsjUBw-unsplash.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://darrenbeattie.com/content/images/2020/04/chuttersnap-Odc4dcsjUBw-unsplash.jpg" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"><p>Photo by <a href="https://unsplash.com/@chuttersnap?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">chuttersnap</a> on <a href="https://unsplash.com/s/photos/broken-plate?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></p><hr><p>You can absolutely do this tutorial still but you might want to choose a bigger Droplet than the $5 one listed below. I ran into the issue when attempting to upgrade Ghost. I just thought you should know before you get too deep into this tutorial.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://darrenbeattie.com/dont-run-multiple-ghost-instances-on-a-small-virtual-machine/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Don’t Run Multiple Ghost Instances on a Small Virtual Machine</div><div class="kg-bookmark-description">I found out the “hard way” why most people only host one Ghost instance on a DigitalOcean droplet. This is why they are called experiments.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://darrenbeattie.com/assets/img/favicons/android-chrome-192x192.png?v=3eda5a3a9d" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"><span class="kg-bookmark-author">Darren Beattie</span><span class="kg-bookmark-publisher">Darren Beattie</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://darrenbeattie.com/content/images/2020/07/JustBecauseYouCanDoIt.jpg" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"></div></a></figure><hr><p>So the <a href="https://darrenbeattie.com/experiments-with-ghost/">first time I set up darrenbeattie.com on DigitalOcean</a> I made some mistakes. It worked but using the DigitalOcean one-click set up for the initial blog made it difficult to add additional domains. </p><p>I spent several days trying to make it work and I finally <a href="https://medium.com/@vijaypushkin/hosting-two-or-more-ghost-blog-from-a-single-server-2019-a9eee2e575bf">found an article that sort of detailed what I wanted to do</a>. Sadly, the easiest solution was to blow up an existing droplet and create a new one.</p><p>The nice thing about $5 droplets is that they give you an inexpensive way to play. Sadly during my web development bootcamp I did not learn a ton about servers and deployment. I can code, but getting it up on a Ubuntu/Nginx server all by myself? </p><p><em>That's new...</em></p><p>I'm going to condense and update that article for you in my own words to give you a little more detail/specifics.</p><h1 id="what-to-do">What To Do</h1><p>I'm going to assume you have purchased your domain(s). </p><p>The majority of registrars only have good rates for a year, then the fees climb a ton. I had one domain climb to $50+ a year to keep. Others nickel and dime you until you end up paying triple or quadruple their initial offer. </p><p>I recently moved all of my domain names over to <a href="https://domains.google/">Google Domains</a> (GD) for this reason.</p><p>As a Canadian it's a $17 CAD flat rate with private registration and it's very easy to use without all the annoying upsells of nearly every other provider (GoDaddy, HostGator, BlueHost, etc...) I've used in the past. </p><p>It's a good sign if I'm telling you that and I don't get any referral $$ for sharing that info with you. That's how annoying I've found nearly every other registrar prior to GD.</p><h3 id="step-1-sign-up-for-digitalocean">Step #1 - Sign Up For DigitalOcean</h3><p>You should have some basic understanding as to how the terminal works on either a mac, linux or a windows machine. </p><p><a href="https://m.do.co/c/6ee0cdf6ae7f">You can sign up here</a>. And if you do, this time I will get a referral bonus of $25 but you'll also get $100 worth of credit for 60 days or two free months if you choose the $5 droplet and I don't see why you wouldn't.</p><p>Unless you already have a gigantic audience the $5 droplet will easily handle most of the traffic of a small blog. I spent the extra $1 a month for weekly backups but you don't have to if you don't want to.</p><p>At the time of writing the process looked like this:</p><ol><li>Pick the Ubuntu 18.04 option for your distribution</li><li>Pick 'standard'</li><li>Scroll left for the $5 droplet.</li><li>Choose your location (I chose Toronto because as I said, I'm Canadian)</li><li>I didn't choose any additional options but that's up to you</li><li>I set up SSH authentication (mentioned below, DO will walk you through it)</li><li>You probably only need the 1 droplet</li><li>Choose a hostname</li><li>Add any tags you think are relevant</li><li>Select the project (you'll need to create one if you haven't already)</li><li>I added backups, you don't have to, but it's $1 a month on a $5 droplet</li><li>Double check your selections and click create droplet</li></ol><p>Yes, I get a kick-back this time, but similar to GD, DigitalOcean (DO) has an upfront no-BS approach to business. It's a simple service without the incessant upsells. We used them when we were running <a href="https://web.archive.org/web/20130611011948/http://koachable.com/">Koachable</a> years ago and they helped us easily scale when we needed to.</p><p>You can use AWS or Google Cloud or Azure if you want, they are often free for the first year but then they can get expensive quickly past that. Those services tend to serve medium to larger sized businesses well but not tiny startups. We actually switched from AWS in 2014 to DO for this reason. I'm sure DO is more expensive when your traffic is huge but for now mine isn't.</p><p>I think it's wise to set up SSH for your droplet, but that's just me. It's more secure and it's annoying to type in your password every time you want to access your droplet (AKA virtual private server). For more on that...</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-1804"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to Set Up SSH Keys on Ubuntu 18.04 | DigitalOcean</div><div class="kg-bookmark-description">SSH-key-based authentication provides a more secure alternative to password-based authentication. In this tutorial we’ll learn how to set up SSH key-based authentication on an Ubuntu 18.04 installation.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.digitalocean.com/assets/community/android-icon-192x192-4d13e6664f412f6904a78be76d626004bcbbd59671f6c755919628134003c2a8.png" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"><span class="kg-bookmark-author">Hanif Jetha</span><span class="kg-bookmark-publisher">DigitalOcean</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://community-cdn-digitalocean-com.global.ssl.fastly.net/assets/tutorials/images/large/ssh_keys_social.png?1531338845" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"></div></a></figure><p>Although you may still want to use a passphrase from your favourite password manager, so you'll still be entering a password when you first login to your server each time.</p><h3 id="step-2-point-your-digitalocean-nameservers-to-your-registrar">Step #2 - Point Your DigitalOcean Nameservers To your Registrar</h3><p>You'll have to point your DigitalOcean Nameservers to whatever provider you choose and you can read the following for more on that:</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.digitalocean.com/community/tutorials/how-to-point-to-digitalocean-nameservers-from-common-domain-registrars"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How To Point to DigitalOcean Nameservers From Common Domain Registrars | DigitalOcean</div><div class="kg-bookmark-description">DNS is the naming system that is used to bind a domain name to a web server. In this guide, we will change the nameservers for a domain that we have registered and point it to a DigitalOcean Droplet.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.digitalocean.com/assets/community/android-icon-192x192-4d13e6664f412f6904a78be76d626004bcbbd59671f6c755919628134003c2a8.png" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"><span class="kg-bookmark-author">Josh Barnett</span><span class="kg-bookmark-publisher">DigitalOcean</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://www.digitalocean.com/assets/community/illustrations/DigitalOcean_Community-e00e73a18df20667c3117725e727f3ade330204dff619ad8153050ded7341627.jpg" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"></div></a></figure><p>Basically you need to add these custom NS's under the DNS settings of the domain you want to use on your registrar's site:</p><!--kg-card-begin: markdown--><pre><code class="language-terminal">ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com
</code></pre>
<!--kg-card-end: markdown--><p>Once you've done that, from within your project/droplet on DO you'll need to add the domain to DO and set up at least two A records within DO. </p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.digitalocean.com/docs/networking/dns/how-to/add-domains/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">How to Add Domains | DigitalOcean Product Documentation</div><div class="kg-bookmark-description">Add a domain to your DigitalOcean account to manage its DNS records from the control panel and API.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.digitalocean.com/apple-touch-icon.png" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"></div></div><div class="kg-bookmark-thumbnail"><img src="https://assets.digitalocean.com/articles/pdocs/docs-banner.png" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"></div></a></figure><ol><li>thenameofyourwebsite.com</li><li>www.thenameofyourwebsite.com</li></ol><p>This ensures you'll be redirected appropriately no matter what people put into their web browser.</p><h3 id="step-3-initialize-your-server">Step #3 - Initialize Your Server</h3><p>Here is where I went wrong in my first attempt, at least for creating multiple blogs/sites on a single droplet. DigitalOcean has a 1-Click Ghost App Deploy set up in the marketplace and I just used that.</p><p>It works if you only want to create one site on your droplet. I wanted at least two, possibly more as I move some old wordpress sites over to ghost.</p><p>My mistake was not doing this myself and setting up users for each site. I used the root user instead, don't do that if you want multiple sites. </p><p>In fact, you shouldn't really do that even if you don't want multiple sites on one droplet. You should still set up a user with superuser permissions and use that instead.</p><p>The following is only partially correct in what we want but you should still read it. I didn't on my first attempt and regretted it.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-18-04"><div class="kg-bookmark-content"><div class="kg-bookmark-title">Initial Server Setup with Ubuntu 18.04 | DigitalOcean</div><div class="kg-bookmark-description">When you first create a new Ubuntu 18.04 server, there are a few configuration steps that you should take early on as part of the basic setup. This will increase the security and usability of your server and will give you a solid foundation for subsequent...</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://www.digitalocean.com/assets/community/android-icon-192x192-4d13e6664f412f6904a78be76d626004bcbbd59671f6c755919628134003c2a8.png" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"><span class="kg-bookmark-author">Justin Ellingwood</span><span class="kg-bookmark-publisher">DigitalOcean</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://www.digitalocean.com/assets/community/illustrations/DigitalOcean_Community-e00e73a18df20667c3117725e727f3ade330204dff619ad8153050ded7341627.jpg" alt="How to Host Multiple Ghost Sites with One DigitalOcean Droplet"></div></a></figure><p>Don't code along with that guide, I recommend coding along with me below. There are some differences.</p><p><strong>Step A: Login to Your Droplet/Server</strong></p><p>The '$' in these can be omitted it's just a common way to write out the input of the terminal. Experienced developers will know this, beginners might be confused.</p><!--kg-card-begin: markdown--><pre><code>$ ssh root@your_server_ip
</code></pre>
<!--kg-card-end: markdown--><p>Then you're going to get a couple of questions:</p><!--kg-card-begin: markdown--><pre><code>Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '&lt;ip_address&gt;' (ECDSA) to the list of known hosts.
</code></pre>
<!--kg-card-end: markdown--><p>You can just type 'y' rather than 'yes' if you want. If you are using SSH with a passphrase you'll be asked for it so make sure you have it handy. </p><!--kg-card-begin: markdown--><pre><code>Enter passphrase for key 'C:\Users\&lt;you&gt;/.ssh/id_rsa': &lt;passphrase&gt;
</code></pre>
<!--kg-card-end: markdown--><p>It's probably a best practice for security but it's up to you to implement it or not.</p><p>Once complete you'll be logged in to your droplet as what's called '<strong>the</strong> <strong>root</strong>' and ready to get it set up. A mildly entertaining explanation:</p><figure class="kg-card kg-embed-card"><iframe width="480" height="270" src="https://www.youtube.com/embed/72snZctFFtA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></figure><p><strong>Step B: Update The Server</strong></p><!--kg-card-begin: markdown--><pre><code>$ apt-get update &amp;&amp; apt-get upgrade
</code></pre>
<!--kg-card-end: markdown--><p>This may take a while and you'll get a ton of lines printing off.</p><p><strong>Step C: Add a User</strong></p><p>This example creates a new user called <strong>sammy</strong>, but you should replace it with a username that you want to use:</p><!--kg-card-begin: markdown--><pre><code>$ adduser sammy
</code></pre>
<!--kg-card-end: markdown--><p>I like to use acronyms for the domains I'm installing and I write the details down in my password manager.</p><p>You will be asked a few questions.</p><p>Enter a strong password and, optionally, fill in any of the additional information if you would like. This is not required and you can just hit <code>ENTER</code> in any field you wish to skip.</p><p><strong>Step D: Make that User a Superuser </strong></p><p>To unlock admin privileges for your new user we'll you'll need to do the following:</p><!--kg-card-begin: markdown--><pre><code>$ usermod -aG sudo sammy
</code></pre>
<!--kg-card-end: markdown--><p>Now, when logged in as your regular user, you can type <code>sudo</code> before commands to perform actions with superuser privileges. We'll need this, and we'll need to set up new users for additional sites per droplet in the same fashion.</p><p><strong>Step E: Login as that User </strong></p><!--kg-card-begin: markdown--><pre><code>$ su - sammy
</code></pre>
<!--kg-card-end: markdown--><p><strong>Step F: Install Nginx</strong></p><p><a href="https://www.nginx.com/">Nginx</a> ('engine-X') is a reverse proxy. It's like the middleman between your Ubuntu (Linux) server and the rest of the internet. What makes the server do it's thing based on the requests really. A better back end engineer can probably correct me on that.</p><!--kg-card-begin: markdown--><pre><code>$ sudo apt-get install nginx 
[sudo] password for sammy: 
</code></pre>
<!--kg-card-end: markdown--><p>Enter your password and let it run. Then:</p><!--kg-card-begin: markdown--><pre><code>$ sudo ufw allow 'Nginx Full'
</code></pre>
<!--kg-card-end: markdown--><p>The second command allows HTTP and HTTPS connections. You should see a much faster confirmation on this command than the previous one. I don't know if that has relevance to any firewall but I've seen it mentioned a few times. In any case, this is what I did and it appears to have worked correctly.</p><p><strong>Step G: Install MySQL</strong></p><p>Ghost databases use MySQL so this is what we'll need. I'm far more used to postgreSQL and SQLite but they are all more similar than dissimilar so no big deal.</p><!--kg-card-begin: markdown--><pre><code>$ sudo apt-get install mysql-server
</code></pre>
<!--kg-card-end: markdown--><p>Once installed if you want to set a password you'll need to log into the MySQL shell which will look a little different in the terminal and we're switching to a structured query language (SQL) now:</p><pre><code class="language-terminal">mysql&gt; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';</code></pre><p>Replace 'password' with your stronger (stored-in-a-password-manager) password, but keep the quotations around your password or it won't work.</p><p>You should see the following after you change your password successfully:</p><pre><code class="language-terminal">Query OK, 0 rows affected (0.00 sec)</code></pre><p>Then exit MySQL:</p><pre><code class="language-terminal">mysql&gt; quit</code></pre><p><strong>Step F: Install Node.js</strong></p><p><strong>And npm...</strong></p><p>Node.js is the server side JavaScript engine that will run your ghost site. As I said in my <a href="https://darrenbeattie.com/experiments-with-ghost/">last post</a> I really like node. </p><p>Anyhoo, we're installing the latest stable 10.x version using a curl command.</p><!--kg-card-begin: markdown--><pre><code>$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
</code></pre>
<!--kg-card-end: markdown--><p>Once that's done it will tell you something along the lines of:</p><!--kg-card-begin: markdown--><pre><code>## Run `sudo apt-get install -y nodejs` to install Node.js 10.x and npm
## You may also need development tools to build native addons:
     sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
     echo &quot;deb https://dl.yarnpkg.com/debian/ stable main&quot; | sudo tee /etc/apt/sources.list.d/yarn.list
     sudo apt-get update &amp;&amp; sudo apt-get install yarn
</code></pre>
<!--kg-card-end: markdown--><p>You'll want to run the first command at a bare minimum:</p><!--kg-card-begin: markdown--><pre><code>$ sudo apt-get install -y nodejs
</code></pre>
<!--kg-card-end: markdown--><p>If you want to use the increasingly popular yarn package manager you'll also need to run the yarn related code too. But I'm happy with npm in this context and the rest of my instructions will use npm too.</p><p>Anecdotally yarn feels a bit faster, but I don't know how much npm or yarn I'll ever be using on this server so flip a coin ¯\_(ツ)_/¯</p><h3 id="step-4-set-up-ghost">Step #4 - Set Up Ghost</h3><p>The server is good to go, but you're not done yet if you want a ghost blog for your site.</p><p>We're going to use the <a href="https://docs.ghost.org/api/ghost-cli/" rel="noopener nofollow">Ghost-CLI</a> command line tool to get Ghost installed and configured with the following npm package:</p><!--kg-card-begin: markdown--><pre><code>$ sudo npm install ghost-cli@latest -g
</code></pre>
<!--kg-card-end: markdown--><p>It's pretty quick. Next you'll want to make a directory (mkdir) for your site:</p><!--kg-card-begin: markdown--><pre><code>$ sudo mkdir -p /var/www/&lt;yourblognamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>Replace &lt;yourblognamehere&gt; with whatever you want to call this file to keep track of your new ghost blog or website.</p><p>Then you want change the owner of this new directory to the user you created earlier:</p><!--kg-card-begin: markdown--><pre><code>$ sudo chown sammy:sammy /var/www/&lt;yourblognamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>Again, replace sammy with whatever your username is and &lt;yourblognamehere&gt; with the name of your actual directory.</p><p>Set the correct permissions:</p><!--kg-card-begin: markdown--><pre><code>$ sudo chmod 775 /var/www/&lt;yourblognamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>Then you need to navigate into that directory:</p><!--kg-card-begin: markdown--><pre><code>$ cd /var/www/&lt;yourblognamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>This will change your prompt in the terminal to something like:</p><!--kg-card-begin: markdown--><pre><code>sammy@ubuntu-nameofserver:/var/www/&lt;yourblognamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>That last bit helps you know that you're in the right directory and it's important that you're in the right directory. I always double check where I am before I run commands. It will save you time later.</p><p>From the directory (triple check it even):</p><!--kg-card-begin: markdown--><pre><code>$ ghost install
</code></pre>
<!--kg-card-end: markdown--><p>Now you'll get a bunch of command line prompts:</p><!--kg-card-begin: markdown--><pre><code class="language-+">✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v3.11.0
✔ Finishing install process
</code></pre>
<!--kg-card-end: markdown--><p>Followed by a bunch of questions:</p><ul><li>Blog URL → http://&lt;your_domain_address&gt;.com</li><li>MySQL hostname → &lt;default&gt; <em>hit enter</em></li><li>MySQL username → root</li><li>MySQL password → &lt;your MySQL password&gt;</li><li>Ghost database name → &lt;default&gt; <em>hit enter</em></li><li>Do you wish to set up “ghost” mysql user? → yes</li><li>Do you wish to set up Nginx? → yes</li><li>Do you wish to set up SSL? → yes</li><li>Enter your email (For SSL Certificate) → &lt;email_address_you_want_to_use&gt;</li><li>Do you wish to set up Systemd? → yes</li><li>Do you want to start Ghost? → yes</li></ul><p>You'll get some check marks, with some other stuff along the way and hopefully everything goes smoothly for you.</p><p>I forgot to change my A server name stuff because I was moving an existing domain from one droplet to a new one. This led to an error on the SSL certificate portion, and it took me too long to figure out where I screwed up. Basically <a href="https://letsencrypt.org/">Lets Encrypt</a> timed me out for too many requests and I had to wait an hour to fix that part before my site was live.</p><p>Lets Encrypt is a free SSL service that lets you run secure https:// connections. You'll need it if you want to use <a href="https://stripe.com/">Stripe</a> via <a href="https://ghost.org/members/">Ghost memberships</a> or any payment processor for that matter. But it's also just a generally good practice these days.</p><p>The <a href="https://ghost.org/docs/api/v3/ghost-cli/">Ghost-CLI documentation</a> is your friend if you get stuck or have to troubleshoot any errors.</p><p>Now apparently if it goes smoothly it will prompt you to visit yourblognamehere.com/ghost but mine didn't. I previously knew I had to do this, so you simply navigate there in your web browser to get the ghost admin set up so you can start writing and playing with your site live.</p><p>Choose your theme make your changes and Bob's your uncle. If you only wanted one blog, adios amigo! </p><p><em>If not, keep reading...</em></p><h3 id="step-5-adding-additional-ghost-websites">Step #5 - Adding Additional Ghost Websites</h3><p>Here is where things get a little trickier...</p><p>You'll need to logout from your current user situation (sammy in the example above) which is ctrl-d or you can simple type:</p><!--kg-card-begin: markdown--><pre><code>$ logout
</code></pre>
<!--kg-card-end: markdown--><p>Make sure you're using root so you should see something like:</p><!--kg-card-begin: markdown--><pre><code>root@ubuntu-nameofserver:~#
</code></pre>
<!--kg-card-end: markdown--><p>As your command line prompt. Or if you created a site and are just logging back into your server it should also take your right to root.</p><p><strong>Step A - Create <em>Another</em> New User</strong></p><p>To quickly reiterate:</p><!--kg-card-begin: markdown--><pre><code>$ adduser janey
</code></pre>
<!--kg-card-end: markdown--><p>Make that user a super user so that they have admin privileges:</p><!--kg-card-begin: markdown--><pre><code>$ usermod -aG sudo janey
</code></pre>
<!--kg-card-end: markdown--><p>Login as that new user:</p><!--kg-card-begin: markdown--><pre><code>$ su - janey
</code></pre>
<!--kg-card-end: markdown--><p><strong>Step B - Set Up MySQL for New User</strong></p><p>Open mysql this time with a slightly different command:</p><!--kg-card-begin: markdown--><pre><code>$ mysql -u root -p
</code></pre>
<!--kg-card-end: markdown--><p>When prompted submit your MySQL password from before (this is why you put these things in a safe place). We're going to use the same MySQL database here essentially but you need a separate user to keep your ghost websites separated. </p><p>Now that you're in the MySQL shell we need to create a new user. Again, replace janey with whatever you want to use* as your username and the password with whatever you want to use to secure it:</p><!--kg-card-begin: markdown--><pre><code>mysql&gt; CREATE USER 'janey'@'localhost' IDENTIFIED BY 'password';
</code></pre>
<!--kg-card-end: markdown--><p>Remember don't remove the quotes, they are needed in SQL queries and you should get a 'Query OK' response.</p><p><em>*I simply used the same username for MySQL that I did for for my server user to keep things organized but I have a feeling this is not a best practice.</em></p><p>Next make sure you grant this new user the appropriate privileges and assuming you get a good response, you can exit MySQL with ctrl-d or type 'exit':</p><!--kg-card-begin: markdown--><pre><code>mysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'user2'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql&gt; exit
</code></pre>
<!--kg-card-end: markdown--><p><strong>Step C - Set Up Another New Directory</strong></p><p>Similar to before you'll need a new folder for your new ghost install.</p><!--kg-card-begin: markdown--><pre><code>$ sudo mkdir -p /var/www/&lt;yoursecondwebsitenamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>Make sure change the owner of this new folder to your current user (second one):</p><!--kg-card-begin: markdown--><pre><code>$ sudo chown janey:janey /var/www/&lt;yoursecondwebsitenamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>And grant yourself the right permissions:</p><!--kg-card-begin: markdown--><pre><code>$ sudo chmod 775 /var/www/&lt;yoursecondwebsitenamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>Then navigate into that directory:</p><!--kg-card-begin: markdown--><pre><code>$ cd /var/www/&lt;yoursecondwebsitenamehere&gt;
</code></pre>
<!--kg-card-end: markdown--><p>Make sure you use your usernames and your site names rather than the ones supplied here. </p><p><strong>Step D - Install a New Instance of Ghost</strong></p><p>Once here you'll run the same command as before to install ghost but there will be several changes from the first time you did it because you're putting it on the same droplet as the previous one:</p><!--kg-card-begin: markdown--><pre><code>janey@ubuntu-nameofserver:/var/www/&lt;secondblogname&gt;$ ghost install
</code></pre>
<!--kg-card-end: markdown--><p>I'm just showing you how the command line should look in that example. The command is simply ghost install because we already npm installed it on the root.</p><p>This time after you get all your prompts answer the following questions like so:</p><ul><li>Blog URL → http://&lt;your_second_domain_address&gt;.com</li><li>MySQL hostname → &lt;default&gt; <em>hit enter</em></li><li>MySQL username → &lt;janey&gt;<em> (*or whatever your second username was)</em></li><li>MySQL password → &lt;janey's MySQL password&gt;</li><li>Ghost database name → &lt;default&gt; <em>hit enter (*it creates a new db name for you)</em></li><li>Do you wish to set up “ghost” mysql user? → <strong>No</strong> (<em>*It should skip this...</em>)</li><li>Do you wish to set up Nginx? → yes</li><li>Do you wish to set up SSL? → <strong><strong>No</strong></strong></li><li>Enter your email (For SSL Certificate) → &lt;email_address_you_want_to_use&gt;</li><li>Do you wish to set up Systemd? → yes</li><li>Do you want to start Ghost? → <strong><strong>No</strong></strong></li></ul><p>Notice the three <strong>No's</strong> this time? That's really important and you'll see why in a minute. We need to make some changes to this Nginx configuration file before we set up the ssl certificate and start ghost on this site.</p><p><strong>Step E - Change Second Site's Nginx Configuration</strong></p><p>Navigate into your Nginx configuration (config or conf) directory:</p><!--kg-card-begin: markdown--><pre><code>$ cd /etc/nginx/sites-enabled/
</code></pre>
<!--kg-card-end: markdown--><p>Then make sure you stop your Nginx server:</p><!--kg-card-begin: markdown--><pre><code>$ sudo service nginx stop
</code></pre>
<!--kg-card-end: markdown--><p><strong>*Note:</strong> <em>This command will make the server of your first site unavailable until your restart it again.</em></p><p>Open the <a href="https://help.ubuntu.com/community/Nano">Ubuntu nano terminal editor</a> and modify your secondblog file:</p><!--kg-card-begin: markdown--><pre><code>$ nano &lt;secondblogname&gt;.com.conf
</code></pre>
<!--kg-card-end: markdown--><p>You can use the 'ls' command to list the conf files in this folder if you forget what you named the file exactly.</p><p>Change the &lt;port&gt; number (probably a 4 digit number currently) of the proxy_pass to an unoccupied but valid port number.  </p><p>You may have to troubleshoot this if you guess wrong, certain ports will be occupied but pretty much any 4 digit combo should in theory work as long as it wasn't the existing one.</p><!--kg-card-begin: markdown--><pre><code>...
location / {
        ...
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:&lt;port&gt;;
}
...
</code></pre>
<!--kg-card-end: markdown--><p><strong>*Remember the port number you choose you'll need it again in a minute.</strong></p><p>You don't want two sites going to the same place if they are different sites, so you can't skip this step. If you configure this wrong, you'll likely be directed to site number one. Keep that in mind if you have to troubleshoot it after the fact. I'd start here with the port number.</p><p><strong>When you hit ctrl-x to exit it will ask if you want to save. Make sure you say 'yes' and then hit enter to confirm the save before you exit.</strong></p><p><strong>Step E - Restart your Nginx Server and Set Up the SSL</strong></p><p>Start your server again:</p><!--kg-card-begin: markdown--><pre><code>$ sudo service nginx start
</code></pre>
<!--kg-card-end: markdown--><p>Then navigate back to the second site directory:</p><!--kg-card-begin: markdown--><pre><code>$ cd /var/www/&lt;secondblogname&gt;
</code></pre>
<!--kg-card-end: markdown--><p>From here you'll have to open nano again on the config.production.json:</p><!--kg-card-begin: markdown--><pre><code>$ nano config.production.json
</code></pre>
<!--kg-card-end: markdown--><p>And make sure you change your config on the port to match whatever port you created on the second sites port:</p><!--kg-card-begin: markdown--><pre><code>...
{
  &quot;url&quot;: &quot;http://&lt;secondblogname&gt;.com&quot;,
  &quot;server&quot;: {
    &quot;port&quot;: &lt;newportnumber&gt;,
    &quot;host&quot;: &quot;127.0.0.1&quot;
  },
...
</code></pre>
<!--kg-card-end: markdown--><p>Obviously put the port number you chose from before for this new set-up. </p><p>Now you can set the ssl with a special command from ghost-cli:</p><!--kg-card-begin: markdown--><pre><code>$ ghost setup ssl
</code></pre>
<!--kg-card-end: markdown--><p>Assuming everything goes smoothly you can now start ghost for your second site:</p><!--kg-card-begin: markdown--><pre><code>$ ghost start
</code></pre>
<!--kg-card-end: markdown--><p>Now everything should be good to go on yoursecondsitenamehere.com/ghost for you to walk through your admin set up and get that site up and running in a similar manner to the first. It's pretty self-explanatory.</p><p>If for some reason you run into a roadblock I encourage you to checkout <a href="https://ghost.org/docs/">the incredible ghost documentation</a>.</p><h2 id="finishing-up">Finishing Up</h2><p><em>Phew...long article...</em></p><p>Alright that's it, I now have two ghost sites (<em>working towards at least one more</em>) up and running on one DigitalOcean droplet. Google analytics confirms that people can google them and other visitors have been this week.</p><p>Now I have to figure out how to force https:// without any errors...</p><p>Any suggestions?</p>]]></content:encoded></item><item><title><![CDATA[Experiments With Ghost]]></title><description><![CDATA[After a many year hiatus darrenbeattie.com is back and it's built with ghost!]]></description><link>https://darrenbeattie.com/experiments-with-ghost/</link><guid isPermaLink="false">5e73dfb7aa3ff048d475138f</guid><category><![CDATA[ghost]]></category><category><![CDATA[web development]]></category><category><![CDATA[darren beattie]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Wed, 11 Mar 2020 15:00:00 GMT</pubDate><media:content url="https://darrenbeattie.com/content/images/2020/03/ghost-image.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://darrenbeattie.com/content/images/2020/03/ghost-image.jpeg" alt="Experiments With Ghost"><p>Photo by <a href="https://unsplash.com/@grimmwwald?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Syarafina Yusof</a> / <a href="https://unsplash.com/?utm_source=ghost&amp;utm_medium=referral&amp;utm_campaign=api-credit">Unsplash</a></p><p>I'm lucky enough to have owned my full name .com for more than 10 years now.</p><p>Many aren't so lucky, especially those with more commonly found names.</p><p>Not owning such a domain makes setting up a personal site when you're out looking for a new gig a bit more challenging. You're not quite as easy to look into and I'll come back to this in a moment.</p><p>At that time I set up a Wordpress Blog and I used it as a place to write about anything not related to fitness.</p><blockquote><em>For those that care, I've been writing about fitness at </em><a href="https://skillbasedfitness.com/"><em>skillbasedfitness.com</em></a><em> since 2009. About 250+ articles now, many of them detailed enough I should turn them into mini-novellas and sell them on Amazon. I've also written more than 2500 answers/articles on </em><a href="https://www.quora.com/profile/Darren-Beattie"><em>Quora.com</em></a><em> since 2012. Although I can't quite seem to crack 10k followers on that platform. My fitness-related work has been featured in Forbes, Thought Catalog, Medical Daily and Lifehacker.</em></blockquote><p>A mistake switching hosting providers led to all of my content on the old darrenbeattie.com being lost. It wasn't much and a little thing called <a href="https://medium.com/@darren_beattie">Medium</a> had just come out (circa 2012).</p><p>Luckily, I had migrated some posts over to Medium. Rather than try to recover anything I lost on the migration I just redirected darrenbeattie.com to my medium site for years.</p><p>After all, I was a strength and conditioning coach, so having my biggest presence online be Skill Based Fitness made sense.</p><p>And in that time, some guy also named Darren Beattie became a speechwriter for Donald Trump and has been pushing his new book on Trumpist Nationalism under my very name!</p><p>Well, it's time to get this domain rolling again and push that *stuff back down the google search result page.</p><p><em>*There is now a 17-year-old hockey player in Canada with my name who thankfully helping me with this.</em></p><h2 id="now"><strong>Now</strong></h2><p>I've spent the better part of 15 years as a strength and conditioning coach/personal trainer, and aspiring web entrepreneur.</p><p>I love it. And while most people switch careers because they hate what they're doing or there isn't enough money in it. Thankfully that wasn't me.</p><p>I've been a solo entrepreneur now for the better part of 9 years and things were getting a bit lonely. What was me was the need for a new challenge. I needed a way to liven things up again, to start working with a team again.</p><p>There was always one thing missing after I started Koachable and later <a href="https://fitnack.com/">Fitnack</a>: <strong>Technical Skills.</strong></p><p>What did I decide to do about it?</p><p>Well, I went to the <a href="https://www.lighthouselabs.ca/">Lighthouse Labs</a> (LHL) and did their <a href="https://www.lighthouselabs.ca/en/web-bootcamp">12 Week Web Development Bootcamp</a>. That's what.</p><p>Why did I do this?</p><p>Well to make myself immediately employable first and foremost. Without spending another 4 years in school working on a computer science degree. Impractical at this stage in my life.</p><p>Yes, I'm going to be winding down my fitness career, but hopefully, I'll have a little spare time to keep some of my existing online clients and maybe 5 hours a week, maybe on the weekends I'll do in-person coaching. You know, to keep that coaching muscle fresh.</p><p>It will become the equivalent of a side project (<em>thankfully encouraged in the Web Development community</em>) that I hope to tie many of my new found development skills into.</p><p>Think about it, this is not something strength and conditioning coaches do. Especially relatively successful ones. And that's what I like so much about doing it! It's so crazy it just might work.</p><p>It makes me fairly unique in both fields and development is something I've already been playing with for years on the side anyway. I hope that it helps me develop a very unique skill set in the long-term.</p><p>If you haven't read <a href="https://amzn.to/2xw3AMQ">Range by David Epstein</a>, read it and you'll understand my position better.</p><p>However, after 9 years of working for myself, my new challenge will be finding the right web development opportunity to take my skills to the next level.</p><p>LHL is pretty upfront about this. They give you enough skills to get a job, but not enough skills for you to come out of their program as a lead developer ready to build production-ready web applications.</p><p>That's another 5 years of learning on the job and thankfully I'm up to that task. Ideally a job with lots of growth opportunities and mentorship. An apprenticeship of sorts. I like building cool stuff that helps other people enhance their quality of life.</p><p><strong>Which Brings Me to Ghost...</strong></p><p>Here I was forwarding this darrenbeattie.com to medium willy nilly. Not getting any top-level traffic for my own name and it was time to bring it back.</p><p>Yet, I didn't want to bring it back to Wordpress (WP), which has gotten more and more cumbersome over the years. I have 3 other websites running WP currently and can confirm that the new Gutenberg editor on Wordpress is slow as molasses.</p><p>Honestly, it is a painful writing experience. It was designed to compete with Medium and you guessed it, Ghost!</p><p>I love the writing experience on Medium but they've long since decided to take their company in a different direction towards subscriptions and away from small bloggers like me.</p><p>Ghost's writing experience is similar but even better. And it's blazing fast!</p><p><a href="https://ghost.org/">Ghost</a> is a headless CMS built on node.js. I just spent 12 hours a day, 6 days a week for 12 weeks in school learning what? Predominantly Javascript and you guessed it NODE.JS! <em>In case it wasn't clear, I like node...</em></p><p>It occurred to me: What developer can't code their own blog? And at the same time, as I was repeatedly told in school, why reinvent the wheel?</p><p>Setting up a new ghost blog would permit me to test out some new skills on the back-end and the front-end. I'd have the freedom to code my blog in a manner I'm already a little familiar with, and at the same time, I can get a great writing experience without building one from scratch.</p><h2 id="what-d-i-do"><strong>What'd I Do?</strong></h2><p>Ghost only charges you to use Ghost if you use their managed servers. At $29 a month, its not completely unreasonable but it's also not going to help me groove any back end skills either. It's also open-source and well documented.</p><p>Instead, I spun up a droplet on <a href="https://m.do.co/c/6ee0cdf6ae7f">Digital Ocean for $5</a> as my back-end. If you click that link and sign up for Digital Ocean yourself, I get 5 months of hosting and you get 20 months if you also choose the $5 option. Good deal.</p><p>I configured my server, even managed to troubleshoot <a href="https://marketplace.digitalocean.com/apps/ghost">Digital Ocean's "1-Click" Ghost App creation</a> (<em>it's not exactly 1-click – i.e. I'm glad I learned some debugging skills in school</em>) to get what you're reading right now. Version 0.9 if you will.</p><p>Ghost also lets me challenge my frontend code skills with <a href="https://handlebarsjs.com/">handlebars.js templating</a> if I want. Granted I haven't gotten there just yet (this is my first post) but I probably will. It looks interesting, but let's face it, not as interesting to me as <a href="https://reactjs.org/">React</a> (my preferred front-end option currently).</p><p>More importantly, <a href="https://ghost.org/changelog/3-0/#ghost-in-the-jamstack">Ghost 3.0 brings a ton of support</a> for the <a href="https://jamstack.org/">JAMstack</a>. That means I can tightly integrate Ghost into a React app via <a href="https://www.gatsbyjs.org/">Gatsby</a> and/or <a href="https://nextjs.org/">Next.js</a>. Two React platforms that I've been dying to play with.</p><p>It's all win-win. Over the next few weeks, I'm considering migrating my entire online eco-system to Ghost from Wordpress. And in the process, I'm taking control of all my website development in a way I never have before.</p><p>So far so good.</p>]]></content:encoded></item><item><title><![CDATA[Confirmation Bias]]></title><description><![CDATA[Anyone who tells you they aren't biased is full of you know what. We're all prone to confirmation bias and admitting we are is the first step towards growth.]]></description><link>https://darrenbeattie.com/confirmation-bias/</link><guid isPermaLink="false">5e7b8814d943e603e6f5a359</guid><category><![CDATA[darren beattie]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Thu, 09 Apr 2015 15:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://images.unsplash.com/photo-1533471457427-524b9e64fe56?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" class="kg-image" alt="Turkis Stars at BIAS 2018 in Romania"><figcaption>Photo by <a href="https://unsplash.com/@pandatudii?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Tudose Alexandru</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></figcaption></figure><p>I’m not immune to confirmation bias. And if someone suspects that I’m perpetuating an opinion that might not be the whole story, I’d like for them to stop me and remind me of that as a starting point for debate.</p><p>Present me some conflicting data.</p><p>I’ve spent a great deal of time lately looking at fitness, nutrition and psychological research. I try to read with an open mind, but alas, I often stumble across information that confirms my beliefs rather than opposes my beliefs.</p><p>When I do stumble across information that opposes me beliefs, I am probably far more likely to be critical of it as well.</p><p>It’s important to be skeptical, even of information that supports your beliefs.</p><p>Were there potential research flaws? Is there something from your previous experience that might rule out the applicability of certain pieces of research.</p><p>For instance, I’m big on dynamic warm-ups and not static stretching before training. Static stretching has been shown to decrease power output for about 20 minutes post-stretch, leading to decreases in performance.</p><p>HOWEVER… if you have time to stretch more than 20 minutes before performance and a person needs improved flexibility, it’s still useful. If I have someone who benefits from it, and I have more than 20 minutes to game time, why not use it still?</p><h3 id="context-matters-">Context Matters!</h3><p>The internet ties information together that it thinks will be of similar interest to you. Deep learning networks are tying context together for you in the background all the time.</p><p>Google and Facebook recommend similar links based on the things you’ve clicked on. Even PubMed has a section on their website called, “Related Citations” to encourage you to read other abstracts or papers that are similar to what you’re currently reading based on their algorithms.</p><p>I often click through in the hopes of finding something similar but different. I want the whole story and not just a potentially random piece of research that seemingly provides a black and white answer. Most answers to questions are grey.</p><p>The two thing that keeps me going in respect to this are:</p><ol><li><strong>Crafting opinions publicly, ala blogging, encourages debate, so I often have people willing to debate and show me a little of the other side of the coin.</strong></li><li><strong>I<strong>nformation </strong>truly <strong>exists on a spectrum.</strong></strong></li></ol><p>1 is fairly obvious, I’m here blogging about my experiences and the comments are open if you want to present something conflicting or supportive.</p><p>I think the smartest people around change their minds when necessary. I’d like to think that if presented with a convincing enough argument you could probably change my mind on at least one small thing within the debate.</p><p>This has given rise to me changing the wording on many of my posts over the years as my views change ever so slightly. This is even more pressingly true on Quora where I have some 700 answers to questions now and almost one million views.</p><p><em><em>B is a more interesting self-discovery…</em></em></p><p>Thinking of information on a spectrum has dramatically changed my outlook on research and practicing my craft.</p><p>I very rarely view anything any more as either good or bad, but rather, my choice of usage is influenced by where it falls on a spectrum of choice, based on context.</p><h2 id="-worse-better-">&lt;-Worse———————Better-&gt;</h2><p>I’m using a spectrum of choice to make decisions about where to go in coaching, based on perceived need.</p><p>For instance I know that exercising 6 days a week is better than 2, I know that, you know that. But if a person is exercising zero days, then one day a week is a noticeable improvement.</p><p>I don’t start with the ‘best strategy’ if it doesn’t apply to the situation contextually, and am trying to remain contextually applicable, rather than biased to right and wrong.</p><p>I know that squatting is a great exercise for most, but every now and then I still come across someone where it might not be a good idea.</p><p>You can’t fit a square peg in a round hole.</p><p>No matter how smart or intelligent you might think you are, you’re not immune to confirmation bias. I’m not a genius but even if I was, I wouldn’t be immune to confirmation bias any more than the next person.</p><p>And it’s seriously rampant in the world, even among researchers. Just because you have experience with research, also doesn’t mean you don’t suffer from unconscious bias. It’s a large reasons why the double blind study has become the gold standard in research, because in theory you can remove the research bias.</p><p>Though the researcher can still publish conclusions based a double blind study, and thus adjust stats quite easily or make outlandish claims by manipulating data.</p><p><a href="http://web.archive.org/web/20160324072952/http://www.theatlantic.com/magazine/archive/2010/11/lies-damned-lies-and-medical-science/308269/?single_page=true">And this still happens, but it’s a completely separate issue.</a></p><p>I think it’s important to stop and check yourself regularly, before you wreck yourself:</p><ul><li>Are your views on this subject too absolute (black and white) to be useful? <em><em>And most likely incorrect…</em></em></li><li>Have you read research from both sides of the argument? Or at least tried?</li><li>Does the conflicting research present interesting data on both sides of the equation that leads the the likely conclusion that the answer lies somewhere in the middle?</li><li>Does your information come from more than one source? Ideally more than 3 different people at a minimum, but 10 or more would be better if it exists…</li><li>When you present your information, do you do so with accounting for conflicting information?</li><li>Can you rationally explain why conflicting data exists and if it’s true, would it change your mind?</li></ul><p>It’s easy to spot a guru, or bullshit, if you stop for a moment and ask yourself a few of these questions. If a person conveniently ignores any conflicting data, they are likely deeply entrenched in confirmation bias.</p><p>A person who openly presents the conflicting views and draws a conclusion somewhere in the middle based on their best judgement through data they’ve seen. Is, in my mind, probably worth listening to. </p><p>If they can budge on their argument, when new data is presented that offer a slightly different point of view, that person is probably more trustworthy too. A person who is willing to change their method, based on the situation, is confirming the method with a result. At least that’s something…</p><p>One of my favourite strength coaches (<a href="https://twitter.com/mboyle1959">Mike Boyle</a>) once said, “don’t believe everything you read and <em><em>don’t read everything you believe.</em></em>“</p><p><em><em>That last bit is important…</em></em></p>]]></content:encoded></item><item><title><![CDATA[Traffic ≠ Sales or Sustainability]]></title><description><![CDATA[A lot of the internet is looking at their quantity. Followers. # of Hits or Impressions. Do you ever stop to consider the quality of those leads though? ]]></description><link>https://darrenbeattie.com/traffic-sales-or-sustainability/</link><guid isPermaLink="false">5e7a7b66d943e603e6f5a038</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[start-ups]]></category><category><![CDATA[business development]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Tue, 22 May 2012 15:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://web.archive.org/web/20150325001320im_/http://farm3.staticflickr.com/2783/4500783172_99dd9f8a2d.jpg" class="kg-image" alt="Where's my mail?" title="Where's my mail?"><figcaption>CC Éole Wind</figcaption></figure><p>Here are your two choices:</p><p>You could change everything at once, and completely overhaul your life, business, relationship, financial situation, etc…</p><p>OR</p><p>You could make small, continuous, incremental changes to slowly get the outcomes you want from your life, business, relationship, financial situation, etc…</p><p>Which would you choose?</p><p><em>What about this scenario…</em></p><p>You receive 10,000 leads from a company that pulled all the names of the people that live within an 8 block radius of your local business, that fall within the age group you specify.</p><p>OR</p><p>You receive 10 walk-in leads from people who are already genuinely interested in your product and services and are almost already sold on making a purchase.</p><p>Of course the former in each of these cases would reveal a measurably large quantity of positive change or new business, right now.</p><p>The questions remains, will it stand the test of time?</p><p>Will customers you cold-call, or blast post-cards to, respond the same way as someone who comes in after discovering that they believe what you believe?</p><p>In coaching we refer to this as talking ‘AT’ someone, versus working ‘WITH’ someone.</p><p>In 2006, Seth Godin (<em><a href="https://seths.blog/2006/05/different_kinds/">from way back in 2006!</a></em>) revealed an interesting perspective about traffic.</p><p>The question he posed, was should Amazon.com worry that MySpace.com gets more traffic than Amazon did (<em>remember this is way back in 2006!</em>), or was revenue more important.</p><p>We all know now how MySpace has turned out…</p><p>As of this week we also know how Facebook has turned out (<em>it shouldn’t be a surprise that they too were flirting, rather than committing</em>)…</p><p>As of this week we have a lot of people signed up for the first alpha launch of Koachable, but I remain skeptical, until I discover how many of them are quality leads, use the system, interact with the system, give feedback, share the idea, and other more important ‘<em>things to track</em>.’</p><p>Of course, people love to measure traffic (myself included) but we should specifically look for engagement and its relativity to what we do.</p><p>Changing anything all at once, or reaching 10,000 people all at once, may sound like a magic formula for success.</p><p>People often play a numbers game, I used to work for someone who would unequivocally say that leads means sales, whereas I say quality leads mean sales.</p><p>Relationships mean sales.</p><p><a href="https://www.skillbasedfitness.com/measuring-whats-important/">Tracking What’s Important</a> should be kept close to the chest, and volume isn’t what’s important.</p><p>Making small incremental steps towards getting to where you want to be, and never losing sight of what is important to measure, is more important than volume.</p><p>I'm currently shooting for <a href="https://kk.org/thetechnium/1000-true-fans/">Kevin Kelly's 1000 True Fans</a>.</p>]]></content:encoded></item><item><title><![CDATA[Dear Publishing Industry…]]></title><description><![CDATA[A quick rant to the publishing industry about the cost of digital books. It might be hurting you more than you know in the long-term.]]></description><link>https://darrenbeattie.com/dear-publishing-industry/</link><guid isPermaLink="false">5e7a7d7ed943e603e6f5a053</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[publishing]]></category><category><![CDATA[amazon]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Fri, 27 Apr 2012 15:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://web.archive.org/web/20150325001613im_/http://farm6.staticflickr.com/5176/5387775213_ce91e75836.jpg" class="kg-image" alt="A Book Apart" title="A Book Apart"><figcaption>CC Photo Credit: Jeffrey Zeldman</figcaption></figure><p>You’re losing revenue.</p><p>I can understand the reluctance of adopting new behaviors, as someone quite schooled in the science of change, there is always fear associated with moving away from the status quo.</p><p>I know many people (<em>myself sometimes included</em>) that love the feel of a physical book, the smell of the freshly pressed pages, often brings back fond memories for many.</p><p>I urge you to get over your fears of change.</p><p>Let me explain…</p><p>As <a href="https://seths.blog/2015/03/of-course-its-difficult/">Seth Godin continually points out</a> through his blog, through Project Domino (<em>you should be worried about Amazon, because they get it…</em>) and through his many free publications like ‘<a href="https://seths.blog/wp-content/uploads/2019/05/stop-stealing-dreams6print.pdf">Stop Stealing Dreams</a>,’ and ‘<a href="https://seths.blog/2009/12/what-matters-now-get-the-free-ebook/">What Matters Now</a>,’ traditional publishing, like the traditional music industry, is dead.</p><p><strong>What Digital Does:</strong></p><ol><li>I have purchased 50-100 digital books in the last year alone. Another 30 or so audiobooks, and a few physical books as well. But have read only about half of them. <em>Most people will only read 100 books in their lifetime!</em></li><li>The cost of digital permits me to buy considerably more volume of good books. Even if I can’t or won’t manage to read them in the immediate future. I am purchasing the intent to read, something I would never do with physical books because they occupy too much space on my shelves.</li><li>Lowers the cost of production considerably. If I had to guesstimate, I would say that it costs roughly a few extra dollars to print a physical book depending on the size, type and thickness. A savings that at least in part should be passed on to the consumer, especially if volume increases.</li></ol><p>The purpose of writing this post is this. When I go to purchase a book from Amazon, I am more than likely to purchase the kindle version. When I see that the cost is higher than that of the hardcover or paperback I am more inclined to:</p><ol><li>Not buy the book out of principle.<em> i.e. Wait…</em></li><li>Buy the cheaper paperback, or even hardcover, which I know has less margin for you <em>(if I buy the book at all…)</em></li></ol><p>Now you may be trying to prevent the flux of digital reading that is going to happen in the next 5 to 10 years, but aren’t you really just shooting yourself in the foot?</p><p>If a mere 10,000 people, do what I’m doing, you’re losing out on, in some cases, 30k in extra revenue or more on each book?</p><p>Multiply that by 10 books you recently published and you’re dropping 300k! Not including the savings you incur through digital distribution. If it’s a couple of bucks to produce a physical copy of a book, you’re dropping closer to 500-600k in revenue?</p><p>Sure these are off the cuff math principles, but you clearly choose to ignore consumer buying behaviors, and hurt your business in the process.</p><p>Furthermore, if I buy the book on kindle and it’s so good that I want to put it on display in my home (<em>a modest 650 square foot apartment in a downtown core</em>). I am willing to pay a premium for a nice collectors edition or hard-cover copy that I can share with friends or colleagues and reference easily in my work.</p><p>Good books make me double dip.</p><p>Something I did most recently with all of <a href="https://amzn.to/2wBaa4n">Jim Collin’s books</a>. All of <em>which are so good in my opinion, it was a no brainer to buy the $35 hardcovers for reference material.</em></p><p>Instead of finding ways to discourage people from reading, you should be focusing on promoting reading. Capitalize on the books that turn out to be ‘<em>that good.'</em> The same way that the music industry has learned to capitalize on live shows, special editions and merchandise.</p><p>Or you can leave it to Amazon to disrupt the industry and make a few billion…</p>]]></content:encoded></item><item><title><![CDATA[The 13 Virtues of Benjamin Franklin]]></title><description><![CDATA[A pattern with successful individuals. They all wrote down their guiding principles and then tried to live them. Doesn't matter what they are, it matters that they were written.]]></description><link>https://darrenbeattie.com/the-13-virtues-of-benjamin-franklin/</link><guid isPermaLink="false">5e7a803bd943e603e6f5a09b</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[benjamin franklin]]></category><category><![CDATA[business development]]></category><category><![CDATA[start-ups]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Wed, 25 Apr 2012 15:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="http://web.archive.org/web/20150325001310im_/http://farm4.staticflickr.com/3141/2554301131_9538332400.jpg" class="kg-image" alt="Philadelphia - Old City: Second Bank Portrait Gallery - Benjamin Franklin" title="Philadelphia - Old City: Second Bank Portrait Gallery - Benjamin Franklin"><figcaption>Studious BF was...&nbsp;</figcaption></figure><p>In the last two or three years, I’ve done a lot of research into long-lasting companies, long-lasting fitness and long-lasting ‘<em>change</em>‘ in general.</p><p>There are some books that come highly recommended in terms of finding long-term success, that far outweigh (in terms of practicality) what you're bound to find in most ‘self-help’ books. These are books that feature some long-term studies and mostly pattern observations, within long-term successes.</p><p>I view my approach as science but I also see tremendous benefit in qualitative observation – <em>though many analysts and statisticians would probably disagree with me. </em></p><p>Yes, they are subjective but there is too much in this world to make sense of that can't be tied to numbers. Despite my science leaning I still value personal experience and the personal experiences of others as being at least as important as the more commonly used quantitative observations — <em>things like stats, graphs, figures, etc…</em></p><p>We are after all emotional individuals, and nearly half of our sensory input is actually visual. <em>Not linguistic or numeric, which make up only a small portion of our sensory capacity.</em></p><p>Jim Collins, in the book, <a href="https://amzn.to/3bpWxnC">Built to Last</a> refers to what I’m talking about as <strong>BHAG</strong> or <strong>Big Hairy Audacious Goal</strong>.</p><p>Daniel Pink, in the book, <a href="https://amzn.to/2woB0gh">Drive – The Surprising Truth About What Motivates Us</a>, refers to what I’m referring to as a <strong>Purpose Statement.</strong></p><p>Simon Sinek, in the book, <a href="https://amzn.to/3adaODQ">Start With Why</a>, discusses more or less a <strong>Why Statement</strong> and it’s radiance outward in driving long-term successful companies and objectives.</p><p>Alan Deutschman, in the book, <a href="https://amzn.to/2JeHFfO">Walk the Walk</a>, enlightens us about the <strong>Rule of One or Two.</strong> That is, the one or two principles that are the driving force behind long-term successful individuals and companies. Essentially having to walk the walk and live up to this philosophy indefinitely.</p><p>I could probably go on and on with example of books and studies, I’ve stumbled across over the years.</p><p>Some people find religion I suppose, but I’ve found it more practical to create a personal philosophy.</p><p>I think everyone should have one and it’s a constantly evolving position.</p><p>In essence what all the authors above <em>(and many more too…) </em>are referring to, is developing what Peter Gollwitzer<em> — the world’s foremost researcher on Goal Setting — </em>calls,<em> ‘<strong>The Self-Defining Goal</strong>.’</em></p><p>Basically a goal that you try to live up to indefinitely but has no real end-time. This is contrary to what you might find in conventional goal setting. This is a goal you will probably never realize but should strive for all the same.</p><p>A vision, if you will.</p><p>To take it one step further than that. I think it’s valuable to have such a statement that you refer to regularly. Whether you are in business — <em>a meaningful creed or Vision Statement</em> — or an individual, you should do as Benjamin Franklin did, and create a set of values or principles by which you also try to live up to.</p><p>A compass of guidance.</p><p>That such a noteworthy contributor to the history of the United States, would go to the trouble of listing this and aiming to live his life into it, speaks volumes.</p><p>I think you generally find very successful individuals living into something similar — <em>the famous basketball coach John Wooden has his <a href="http://www.coachwooden.com/pyramid-of-success">Pyramid of Success</a> too, with 13 guiding principles, coincidence?</em> — and this includes many prominent figures in history that extoll virtues. Even religion goes so far as to offer up the seven deadly sins and the seven virtues or the Ten Commandments, etc…etc…</p><p><strong>Anyways, here are Ben’s 13 Virtues:</strong></p><ol><li><strong>Temperance</strong> – Eat not to dullness; drink not to elevation</li><li><strong>Silence</strong> – Speak not but what may benefit others or yourself; avoid trifling conversation</li><li><strong>Order</strong> – Let your things have their places; let each part of your business have it’s time</li><li><strong>Resolution</strong> – Resolve to perform what you ought; perform without fail what you resolve</li><li><strong>Frugality</strong> – Make no expense but to do good to others or yourself; i.e. waste nothing</li><li><strong>Industry</strong> – Lose no time; be always employ’d in something useful; cut off all unnecessary actions</li><li><strong>Sincerity</strong> – Use no hurtful deceit, think innocently and justly, and, if you speak, speak accordingly</li><li><strong>Justice</strong> – Wrong none by doing injuries, or omitting the benefits that are your duty</li><li><strong>Moderation</strong> – Avoid extremes; forbear resenting injuries so much as you think they deserve</li><li><strong>Cleanliness</strong> – Tolerate no uncleanliness in body, cloths, or habituation</li><li><strong>Tranquility</strong> – Be not disturbed at trifles, or at accidents common or unavoidable</li><li><strong>Chastity</strong> – Rarely use venery but for health or offspring, never to dullness, weakness, or the injury of your own or another’s peace or reputation</li><li><strong>Humility</strong> – Imitate Jesus and Socrates</li></ol><p>Do you have set of principles, values or virtues you try to live by?</p>]]></content:encoded></item><item><title><![CDATA[The Five or Six-Step Process]]></title><description><![CDATA[How to make step-by-step processes work better for you. Hint: Don't be afraid to go off-script.]]></description><link>https://darrenbeattie.com/the-five-or-six-step-process/</link><guid isPermaLink="false">5e7a83ffd943e603e6f5a0f4</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[coaching]]></category><category><![CDATA[self improvement]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Tue, 17 Apr 2012 15:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://web.archive.org/web/20150325001315im_/http://farm3.staticflickr.com/2488/3896169792_2c1c4c698a_b.jpg" class="kg-image" alt="Hill" title="Hill"><figcaption>CC Photo Credit: <a href="http://web.archive.org/web/20150325001315/http://www.flickr.com/photos/67499195@N00/3896169792/">Andreas Levers</a></figcaption></figure><p>I’ve been giving this some thought.</p><p>People love, I mean ‘LOVE’ a good blog post that gives you 6 steps to this or 7 ways to do that.</p><p>I’ve written several myself.</p><p>Articles like:</p><ul><li><a href="https://www.skillbasedfitness.com/3-little-secrets-of-fitness-motivation/">The Three Little Secrets of Motivation</a></li><li><a href="http://web.archive.org/web/20150325001315/http://artofweightlossblog.com/?p=479">Five Steps to Health and Fitness Mastery</a></li><li><a href="https://www.skillbasedfitness.com/11-eating-behaviors-you-should-know-part-1/">Eleven Eating Behaviors You Should Know</a></li><li><a href="https://www.skillbasedfitness.com/6-ways-to-make-crossfit-better/">Five Ways to Make Crossfit Better</a></li><li><a href="https://www.skillbasedfitness.com/six-things-holding-you-back-at-the-gym/">Six Things Holding You Back</a></li><li><a href="https://www.skillbasedfitness.com/the-three-secrets-to-weight-loss/">The Three Secrets of Weight Loss</a></li></ul><p>Turns out there is a solid foundational element of human psychology that leads us to want a step-by-step process by which to achieve anything.</p><p>As human beings we attempt to ‘rationalize’ anything, through a step-by-step process.</p><p>We literally perceive everything we do to turn out in a linear fashion of improvement. Sadly nature disagrees with our natural line of thinking.</p><p>This is something important to remember when reading a blog post, or racing through that non-fiction or self-help book:</p><p><strong>You should go through a process in a step-by-step manner, aware that during the process you may need to<em> improvise </em>or<em> adapt </em>each step<em>.</em></strong></p><p>Obviously as a coach and having worked with quite a few coaches myself, this is the real benefit of another set of eyes.</p><p>Although we can identify patterns and perhaps even step-by- step processes by which most people go through something, this is not a surefire way to find success.</p><p>Sometimes we actually have to rework a step in the process, tweak it, modify it, change it, rearrange the order, or come at it from a different angle.</p><p>Sometimes only trial and error works and it's the ultimate step-by-step process.</p>]]></content:encoded></item><item><title><![CDATA[On The Defensive]]></title><description><![CDATA[Every once and a while you have to play offence. Don't settle. Get comfortable with discomfort. Grow.]]></description><link>https://darrenbeattie.com/on-the-defensive/</link><guid isPermaLink="false">5e7a8600d943e603e6f5a12f</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[discomfort]]></category><category><![CDATA[risk]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Fri, 24 Feb 2012 16:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="http://web.archive.org/web/20150325001305im_/http://darrenbeattie.com/wp-content/uploads/2011/12/1stAlameinBritDefense-300x297.jpg" class="kg-image" title="In the Trenches"><figcaption>What are we waiting for?</figcaption></figure><p>I’ve always prided myself in athletics on my defensive positioning. I spent a lot of time acquiring a skill in knowing where and when certain things were likely to occur. </p><p>This enabled me to anticipate a steal, a turn-over, a loose-ball, and allowed me to capitalize on mistakes.</p><p>I played centre defence in soccer for the better part of 15 years, because I would rather take the ball away from someone trying to score than be the person to score.</p><p>Playing defence is about timing.</p><p>In fact, my offensive skills in all the sports I played were secondary to my defence as far as I was concerned.</p><p>I firmly believed the affirmation that ‘defence wins games.’</p><p>And to that point, ‘<em>offence gets the girls</em>,’ but that’s another story altogether.</p><p>I’m re-evaluating my first affirmation. As you will sometimes hear people say that the ‘best defence is a good offence.’</p><p>Now I think there is truth to both, but a recent observation is that most people in life are on the defensive.</p><p>We appear to live a life where we get what we can, then defend it as valiantly as we can to keep it, no matter what.</p><p>By that, I mean we spend a large majority of our lives defending our values, our points of view, the people we love, and what we think is rightfully ours, even if it isn’t.</p><p>Most wars seem to be started on the premise that both sides strongly believe something is theirs and they wish to defend it.</p><p>In doing so, we forget about the middle ground and others points of view, though.</p><p>We also forget to go out and do stuff, project our ideas onto others, try new things, step out of our comfort zone, push the limits a little bit.</p><p>Instead, we get and stay comfortable.</p><h2 id="comfort-is-the-enemy-of-success">Comfort is the Enemy of Success</h2><p>In the book, ‘<a href="https://amzn.to/2WIyGLI">Good to Great</a>,’ Jim Collins' states that, “good is the enemy of great.” The statement above is pretty similar right?</p><p>The best things to come out of my life thus far, have been the direct result of taking calculated risks and getting outside of my comfort zone.</p><p><strong>2003</strong> – Dropped out of an engineering program, stumbled into business and kinesiology (<em>been doing it ever since…</em>)</p><p><strong>2007</strong> – Quit a good job, dropped everything I knew, and moved 3000 miles across the country to a place where I basically knew only one person (<em>still there and loving every minute</em>)</p><p><strong>2009</strong> – Started my first company, had no revenue for first 2 years, just an idea (<em>business has evolved into a completely different identity</em>)</p><p><strong>2010</strong> – Started blogging (<em>despite the nagging suspicion my employer at the time would not approve</em>). My writing has improved dramatically, as has my ability to find topics of interest, find a niche and give practical advice (<em>up to 1000 uniques a month now</em>).</p><p><strong>2011</strong> – Quit my stable job to go out on my own. Have learned more about business, accounting, web design, web programming, tech-start-ups and more, than I did in the previous 28 years.</p><p><strong>2012? </strong>- We’ll see…</p><p>When I left my last job, two sentences were uttered by two very influential individuals on me, and they have both really stuck since.</p><p>One client asked upon my departure, “I was wondering how long you were going to coast for.”</p><p>The second said, “I always thought you were too smart to be just a personal trainer for the rest of your life.”</p><p>Two very intrinsically motivating sentences to hear. They reinforced the notion that I was at that point in my life, ‘settled and comfortable.’</p><p>In essence not really reaching for my potential, and more or less coasting through life. It was obvious to others, but not me at the time.</p><p>If you look back on your life, I’m sure you can find a similar trend of powerful, or impactful moments that were all the result of you stepping into an uncomfortable situation and learning to adapt to it.</p><p>So what is making you uncomfortable now, and how can you leverage that feeling towards growth?</p><p>How can you play more offence?</p>]]></content:encoded></item><item><title><![CDATA[Is Critical Thinking a Lost Art?]]></title><description><![CDATA[It's not enough to read and absorb. You must be skeptical, analyze, critique and alter the information you absorb for it to become useful to you.]]></description><link>https://darrenbeattie.com/is-critical-thinking-a-lost-art/</link><guid isPermaLink="false">5e7a87eed943e603e6f5a16d</guid><category><![CDATA[critical thinking]]></category><category><![CDATA[darren beattie]]></category><category><![CDATA[learning]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Mon, 06 Feb 2012 16:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://images.unsplash.com/photo-1516739178846-cbcff5b01f90?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" class="kg-image" alt="The Thinker"><figcaption>Photo by <a href="https://unsplash.com/@joshrocklage?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Josh Rocklage</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></figcaption></figure><p>I had a conversation with a very successful person last year that still resonates with me.</p><p>A retired successful business person, now college professor, they expressed to me just how much they believe critical thinking is lost on their post-secondary students.</p><p>After teaching for the last 15 years, this individual noticed a trend among young people in their ability to apply critical thinking skills to testing and comprehension. In other words it was easy for students to regurgitate information but difficult to act on it.</p><p>Most of the reports and tests this individual was marking, are almost word for word interpretations of the textbook or what they believe the they, the professor, wants to hear.</p><p>The conclusion this professor came to, through observation, was that we — <em>or at least these students</em> — are getting worse at applying critical and creative thinking processes to real world applications.</p><p>After some pondering for myself, I couldn’t help but wonder if, <em>‘that’s what was missing from my education!</em>’</p><p>You see, a college or university education used to be about developing critical thinking skills, but more to the point these days — <em>and as Seth Godin <a href="http://web.archive.org/web/20150325054557/http://sethgodin.typepad.com/seths_blog/2005/03/the_everworseni.html">pointed out</a> years ago</em> —  the post-secondary education of today may in fact be encouraging memorization and regurgitation above and beyond creative and critical thinking skills.</p><p>Is 1984 happening right under our noses?</p><p>Critical thinking could be defined as ‘<em>the art of reflecting and evaluating our conscious understanding and ways of thinking with the hope of improving them.’</em></p><p>Another definition:</p><p><em>‘The intellectually disciplined process of actively and skillfully conceptualizing, applying, analyzing, synthesizing, and/or evaluating information, gathered or generated by observation, experience, reflection, reasoning and/or communication as a guide to belief or action.’</em></p><p>Or as the picture at the beginning pointed out, maybe it’s just reasoning, problem solving, decision making, analyzing and evaluating.</p><p>Whatever your definition though, are we getting worse at this kind of thing?</p><p><a href="https://www.ted.com/talks/sir_ken_robinson_do_schools_kill_creativity">Are we killing creativity</a>?</p><p>The moral that I took from that conversation, is that we need to encourage people to apply this type of thinking to everything they read — yes even <a href="https://skillbasedfitness.com">my blogs</a> — hear or see.</p><p>It is not enough to give people information or more tools for reaching their education, or work-related goals, we all need to experience the process.</p><p>As a coach, I need to help others think critically of what I’m writing, saying or speaking.</p><p>I hope they are analyzing, finding the rationale of what I write evaluating it’s merit, then making a decision based on the information they have.</p><p>Everything we strive to achieve or get better at, is an experience of education. You can’t skip ahead to year four and get your degree, you have to learn systemically, immerse yourself in the experience.</p>]]></content:encoded></item><item><title><![CDATA[Linear Expectations]]></title><description><![CDATA[Despite your preconceived human notion there is one concept to get comfortable with in life. Non-linear reality. Very little happens in a linear fashion.]]></description><link>https://darrenbeattie.com/linear-expectations/</link><guid isPermaLink="false">5e7a89d8d943e603e6f5a19a</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[black swan]]></category><category><![CDATA[linear thinking]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Wed, 01 Feb 2012 16:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://images.unsplash.com/photo-1574085443051-93779428e02f?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" class="kg-image" alt="Jolly Swim..... #Black Swan
Photography By Yuvraj Yadav"><figcaption>Photo by <a href="https://unsplash.com/@captured_by_lens?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Yuvraj Yadav</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></figcaption></figure><p>I read somewhere recently that the average person only reads 100 books in their lifetime. I can't imagine only reading 100 books ever. I probably read more than 100 books in the last 2 years. I read a lot. </p><p>I recently read <a href="https://amzn.to/2WGXJyA">The Black Swan</a> by Nassim Nicholas Taleb.</p><p>As a young man I used to think philosophy was this silly kind of abstract way of thinking that had no bearing on real life. I consequently avoided it as a subject in school almost entirely — <em><em>save for one elective here or there.</em></em></p><p>I’ve since matured a little bit. I now view philosophy as directly relating to my sense of spiritual well-being. I’m not religious, I’m fairly agonistic actually but I believe in human spirituality and I think philosophy now might be the best way to embrace your own sense of spirituality.</p><p>Generally speaking every single time I read a book, I try as hard as I can to take away one positive concept or a key life lesson. Any one thing that I feel I can apply almost instantaneously to my life.</p><p>If I can’t, you’ll never see me recommend or bother to rate that book.</p><p>This book is a 7 out of 10, mostly because he’s overly abstract and incredibly verbose (we probably have that in common). But most of all because he never really talks about the impact of the highly improbable or gives you anything truly actionable with respect to his concept of Black Swans, other than they exist — <em><em>duh…</em></em></p><p>It’s a high reading level. In fact anyone I talked to who had read it found it incredibly difficult to get through because of the language — <em><em>that of a university professor, not the way people actually talk</em></em> — so if you have difficulty already getting through non-fiction books, especially technical ones, you might want to avoid this book altogether.</p><p>I’ll sum up the one concept in this book — <em><em>which is really a philosophy book, don’t let the title fool you like it did me</em></em> — that it was successful in instilling upon me, and probably the biggest reason I didn’t give it a lower rating.</p><h2 id="linear-expectations">Linear Expectations</h2><p>In research, human beings have this innate natural belief that things happen in a linear fashion. Maybe it’s our math education, but this belief that can blind us to the reality and randomness of most situations or experiences.</p><p>In reality things NEVER happen in a linear fashion.</p><p>Nobody becomes successful in a linear fashion.</p><p><a href="https://www.skillbasedfitness.com/the-true-path-of-weight-loss/">You won’t lose weight in a linear fashion</a>.</p><p>Nobody builds a successful business in a linear fashion.</p><p>Nobody’s career advances in a linear fashion.</p><p>Nobody’s relationship with their spouse gets better and better over time.</p><p>Life actually happens in relatively random cycles, peaks and valleys. Most situations evolve in this manner, which is why predictions are often just that: <em><em>predictions.</em></em></p><p>The moment you learn to accept the fact that nothing, and I mean nothing (except certain types of math) in your life will occur linearly, you can embrace the randomness.</p><p>If you’re trying to build a business, don’t fret if you don’t build sales in a linear curve.</p><p>If you’re losing weight, don’t fret when your weight jumps back up a week here or there.</p><p>Don’t panic, if life doesn’t pan out on your linear expectations of education –&gt; job –&gt; career –&gt; relationship –&gt; marriage –&gt; kids –&gt; house –&gt; career advancement –&gt; retirement.</p><p>Life happens.</p><p>All you can try to do is observe the overall trends of the situation. In most cases, finding success with anything looks more like an exponential long-term curve. Lots of hard work with negative and positive inexplicable or random spikes.</p><p>Look for overall trends over the long-term to govern your path. Overall trends going in the direction you want is a good thing, you may need a little bit of data for this, but don’t panic over short-term cycles or changes.</p><p>Course correct.</p>]]></content:encoded></item><item><title><![CDATA[Tracking vs Doing]]></title><description><![CDATA[Businesses track things more now than ever. Leaving little time for what is more important. Interpreting the data they have.]]></description><link>https://darrenbeattie.com/tracking-vs-doing/</link><guid isPermaLink="false">5e7a8d2fd943e603e6f5a1de</guid><category><![CDATA[darren beattie]]></category><category><![CDATA[tracking]]></category><category><![CDATA[business development]]></category><dc:creator><![CDATA[Darren Beattie]]></dc:creator><pubDate>Mon, 30 Jan 2012 16:00:00 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://images.unsplash.com/photo-1523264165578-20bfb5da52b5?ixlib=rb-1.2.1&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=2000&amp;fit=max&amp;ixid=eyJhcHBfaWQiOjExNzczfQ" class="kg-image" alt="el gallo"><figcaption>Photo by <a href="https://unsplash.com/@yl_photography?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Yannic Läderach</a> / <a href="https://unsplash.com/?utm_source=ghost&utm_medium=referral&utm_campaign=api-credit">Unsplash</a></figcaption></figure><p>As I’m building a <a href="https://koachable.com/">web app</a> myself and hopefully several more to follow that hopefully end up on iPhone, iPad, and probably Android. I can’t help but notice the competition in the field of tracking applications.</p><p>There are hundreds of them.</p><p>There are apps for tracking everything. Calorie counters. Energy expenditure counters. There are even apps now that claim you can track anything, or everything. The latest pitch I got was literally, “<em>our software will track anything for yo</em>u.”</p><p>This would be fine I suppose for the data centric entrepreneur or individual, but what they almost always fail to address is the need for qualitative data.</p><p>Now there are some companies out there that are really qualitative trackers like blogger, tumblr, other blogging platforms, idonethis and even Evernote.</p><p>Evernote — <em><em>a company I kind of admire and respect, I use their product daily</em></em> — recently launched an ‘ambassador series,’ in which they are trying to make more of the uses of Evernote apparent to more users.</p><p>In other words, trying to tell us to <strong><strong>track more stuff!</strong></strong></p><p>Based on all that, the other observation I have is that there is an opportunity cost to tracking.</p><p>If you’re too focused on tracking everything, when do you find the time to get things done? Or take action on the data you have?</p><p>If you are a data centric entrepreneur or person I have 3 questions for you:</p><ol><li><em><em>Is what you’re measuring directly related to your desired outcome?</em></em></li><li><em><em>Does what your tracking translate into action or actually making changes based upon the evidence on a regular basis? (essentially re-iterating often)</em></em></li><li><em><em>How much time do you spend tracking stuff you probably don’t need to?</em></em></li></ol><p>Data is useless without interpretation, so you can add that to your list of to-do’s this afternoon. I would go further to say that tracking any more than 3 key things on a regular basis is a futile endeavor unless those numbers require tracking other things as part of an equation.</p><p><a href="https://www.skillbasedfitness.com/measuring-whats-important/">Identify what is most important</a>, track it, then interpret and make appropriate changes.</p><p>If you’re a blogger and you sell information products through your website, what would be more important, gaining subscribers to your RSS or email list, or your actual sales numbers?</p><p>Does a bigger email list translate into more sales (if you talk to any internet entrepreneur, they are likely to tell you yes, and I’m inclined to agree with that train of thought) vs your RSS?</p><p>Great, you just identified the 2 things that are important for you to track and aim to increase on a regular basis.</p><p>Entrepreneurship in any field at its core to me is essentially determining why the company exists and aligning values as a continuity factor that brings a team of people together in a quest to achieve a never ending goal.</p><p>Once you move beyond that, it’s a constant state of learning and iterating.</p><p>Ask the question: <strong><strong>How can we get better?</strong></strong></p><p>Data alone won’t solve this, but combine it with interpretation and focused action, and you just might have a winning formula.</p><p>However, taking action should be the most intensive part of any business.</p><p>Tracking should never get in the way of taking action.</p>]]></content:encoded></item></channel></rss>