<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: chillhumanoid</title>
    <description>The latest articles on DEV Community by chillhumanoid (@chillhumanoid).</description>
    <link>https://dev.to/chillhumanoid</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F210003%2F74ffb017-f879-4077-bfb4-995b8a39ffa1.png</url>
      <title>DEV Community: chillhumanoid</title>
      <link>https://dev.to/chillhumanoid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chillhumanoid"/>
    <language>en</language>
    <item>
      <title>No I Don't Want To Look At Your Calculator App (Or: The Problem With Tutorials)</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Sun, 26 Apr 2020 01:05:29 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/no-i-don-t-want-to-look-at-your-calculator-app-or-the-problem-with-tutorials-23n9</link>
      <guid>https://dev.to/chillhumanoid/no-i-don-t-want-to-look-at-your-calculator-app-or-the-problem-with-tutorials-23n9</guid>
      <description>&lt;p&gt;If you spend any time looking at one programming language, or all programming languages, as a "hobbyist" or "junior dev" ―however you see yourself or whatever your role is―you'll inevitably see the cacophony of "This is my first app" posts. They usually ask for advice, or pointers, and they're admirable. There is something really cool about seeing people learn something new. &lt;/p&gt;

&lt;p&gt;But it has almost become a right of passage to post on the subreddit dedicated to that language or technology a link to your github page, or app url, and say "this is my first app, it is a calculator. Let me know what you think". &lt;/p&gt;

&lt;p&gt;It is a calculator. &lt;/p&gt;

&lt;p&gt;It is the thing that comes with the phone and there's really no need to flood the Google Play Store or the dev.to feed with yet another calculator app. I would give you feedback, but inevitably you copied the same exact tutorial code that everyone else used, and changed up some variable names and the color of the enter button. Unless you found a way to make the calculator do something unique, the tutorial only served one purpose and that was to teach you how to make something. Don't share that, we've all done the tutorial.&lt;/p&gt;

&lt;h1&gt;
  
  
  It's Getting Worse
&lt;/h1&gt;

&lt;p&gt; &lt;br&gt;
The tutorial culture has shifted and become older. I have seen a thousand posts on various sites and subreddits that say "how i made a coronavirus tracker in….". And while these are usually done by people who have more skill, and are not following tutorials, it still stems from the same underlying problem. Lack of creativity. &lt;/p&gt;

&lt;p&gt;Some of my best learning has been done because I had a problem I needed to solve. We need to stop treating tutorials like they're solving a problem. We have coronavirus trackers, we're friends with them on Facebook. We have calculators, everywhere. There's no shortage of them. &lt;/p&gt;

&lt;p&gt;But there ARE various problems we face in our day to day lives that we often think "man, if I was a better programmer, I'm sure I could solve this". &lt;/p&gt;

&lt;p&gt;And that is how tutorials train us to think. If you only ever get so far as the calculator and think it is really cool that you are now published on the Google Play Store, you will never get to the point where you are ready to solve actual problems (unless they're math problems).&lt;/p&gt;
&lt;h1&gt;
  
  
  Do Not Limit Yourself To What A Tutorial Wants You To Make
&lt;/h1&gt;

&lt;p&gt; &lt;br&gt;
Tutorials are perfect for showing us how to implement principles. And that means that we need to know what principles we want to implement. Following a tutorial from front to back will only show you how to figure out what principles you need to know in that exact use case of not having a calculator but having a computer cable of compiling your code. &lt;/p&gt;

&lt;p&gt;What I challenge us to start doing is to stop making applications for others. Don't go with market trends, don't go against market trends, don't look at market trends. We can see that a service or software is doing really well and want to emulate that but we can't because they had a problem they solved, and by solving it, we don't have the same problem to solve. &lt;/p&gt;

&lt;p&gt;But we all know that there is no shortage of problems we face every day. And that problem can exist in something that was created to solve a different problem. If all the calculator apps did something different, than that would be amazing, and we'd be better for it. &lt;/p&gt;
&lt;h1&gt;
  
  
  You Have The Skill, You Just Need A Reason To Learn It
&lt;/h1&gt;

&lt;p&gt;Don't lament that you don't have a skill. Learn the skill. The calculator tutorials contain concepts, but implement them in a very linear way. I still need to look up tutorials for how to do simple concepts in python from time to time because I forgot what the exact syntax or keywords were. I'm thankful for the calculator app tutorial then. &lt;/p&gt;

&lt;p&gt;The world would be a much better place if we stopped trying to solve the same problem and started solving our own.&lt;/p&gt;
&lt;h1&gt;
  
  
  What Problems Have You Solved Mr. chillhumanoid?
&lt;/h1&gt;

&lt;p&gt; &lt;br&gt;
My github page is a mess of different projects, some that have good reason for, and others that I started just because I wanted to (boredom is a problem). &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I have an android app that was created because I have ADHD and many Bibles, and a plan that requires keeping track of 10 different chapters.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I have a discord bot for a server I run that has a fairly unique scenario that I decided to learn how to make a discord bot, and in 3 days made it into a really neat little bot that does some cool things that a few servers have found useful. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I have some scripts that are solely for my church and their livestream in this season, since all our services are pre-recorded and it's up to me to make sure that we go live at the right times. I knew I'd mess up, so I made a little python script that handles everything for me. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I have a Bible XML editor to make editing Bible XMLs easier. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I started editing Bible XMLs because I needed a parsable version of the NIV 2011, but all I could find was the NIV 1984 translation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I have a python app that will keep track of Teen Bible Quiz scores throughout a whole season across multiple teams. I created this because I was tired of the excel spreadsheet with macros that didn't like it when you changed who was seated where, and only kept track for the given meet. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I do not have any calculators. &lt;/p&gt;

&lt;p&gt;And I point that out calculators a lot because we need to move past the thing that everyone has already done. And if you learned it in a tutorial, it's definitely already been done by everybody.&lt;br&gt;
 &lt;br&gt;
We don't need another coronavirus tracker. &lt;/p&gt;

&lt;p&gt;You would be amazed at how many people would feel that they need an application to solve the problem you have but you haven't done anything about. &lt;/p&gt;

&lt;p&gt;So make that. &lt;/p&gt;

&lt;p&gt;For the love of all that is Holy, please stop asking for people to review your calculator app. Does 2+ 2 = 4? Then you did great. &lt;/p&gt;

&lt;p&gt;Good job.&lt;/p&gt;
&lt;h1&gt;
  
  
  Final Note
&lt;/h1&gt;

&lt;p&gt;Do not get me wrong. You should make things you want to make and give very little thought to if it has been done before. As long as you feel there is good reason to make what it is you are making. &lt;/p&gt;

&lt;p&gt;These are never things that are covered in tutorials though. Those are things that everyone has made, and there is nothing you do by making it that solves any problem that hasn't been solved already outside of you didn't know concepts and now you do. Part of my point is that you should treat tutorials only in that way, to teach you concepts you didn't know before. The other part of my point is that you can learn the concepts without the calculator tutorials. &lt;/p&gt;

&lt;p&gt;On that note.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;goodbye&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Goodbye&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;goodbye&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>tutorial</category>
      <category>beginners</category>
      <category>produ</category>
    </item>
    <item>
      <title>How I leveraged github to understand two different versions of one Bible translation</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Tue, 17 Mar 2020 01:04:15 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/how-i-leveraged-github-to-understand-two-different-versions-of-one-bible-translation-1400</link>
      <guid>https://dev.to/chillhumanoid/how-i-leveraged-github-to-understand-two-different-versions-of-one-bible-translation-1400</guid>
      <description>&lt;p&gt;We all have &lt;em&gt;those&lt;/em&gt; projects. you know, the ones that you think "okay this should take me 15 minutes tops" and sure enough its 3 days later and you have had major epiphanies, an idea for a new project that will take easily years, and does not relate much to the original project you were trying to do, and you haven't really even started on  that one yet. &lt;/p&gt;

&lt;p&gt;Yea, this post is about one of &lt;em&gt;those&lt;/em&gt; projects. &lt;/p&gt;

&lt;h1&gt;
  
  
  The initial project
&lt;/h1&gt;

&lt;p&gt;I coach a teen Bible quiz team, and a big part of our questions are based on unique words in the given book of study. &lt;/p&gt;

&lt;p&gt;This year, for the book of John, the listings of unique words was not in chronological order, but alphabetical. I took a day, months ago, and painstakingly hand typed each unique word and reference in to a spreadsheet and then sorted them by alphabetical (but on the reference, not the word) to get them in order. Then i went through and fixed any that still weren't quite right. (For instance, John 2:13 may have 3 unique words. After doing the above, they would still only be listed in alphabetical order by word, but in the right spot overall, between John 2:11 and John 2:13). &lt;/p&gt;

&lt;p&gt;A few weeks back I decided I didn't want to go through that again. Besides, it should only take me 15 minutes to create a script that goes through the next years Books and grabs all the unique words, spits them out into a spreadsheet, and even splits them by chapter on different sheets. This was after preliminary searching into python manipulation of spreadsheets. &lt;/p&gt;

&lt;h1&gt;
  
  
  the problems.
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Problem 1
&lt;/h2&gt;

&lt;p&gt;I had to face what I was ignoring, how do I search the given books. &lt;/p&gt;

&lt;p&gt;My first choice was web scraping, something im somewhat familiar with.&lt;/p&gt;

&lt;p&gt;I faced two problems. &lt;/p&gt;

&lt;p&gt;One, I wasn't just dealing with a single book this year, we are using Hebrews, 1 &amp;amp; 2 Peter and Jude. Creating a one go algorithm that goes through each page and figures out what is what &lt;strong&gt;and&lt;/strong&gt; ignores Section titles was going to be a nightmare. &lt;/p&gt;

&lt;p&gt;Two, I had to deal with text encodings. A hill I could climb, but not one I wanted to. &lt;/p&gt;

&lt;h2&gt;
  
  
  Problem 2
&lt;/h2&gt;

&lt;p&gt;It is at this point I remembered XML files exist. Sure enough, I could find an XML file for the NIV translation. &lt;/p&gt;

&lt;p&gt;But soon I realized I had a problem here as well. Naturally, the download I found was for the 1984 translation of the NIV, not the 2011 NIV translation, which TBQ uses. &lt;/p&gt;

&lt;h1&gt;
  
  
  Solution?
&lt;/h1&gt;

&lt;p&gt;I realized the xml file was still my best bet, and started going through Hebrews and comparing to the 2011 text, making any changes that needed to be made to bring this XML file up to date. &lt;/p&gt;

&lt;p&gt;But this is when I had an epiphany&lt;/p&gt;

&lt;h1&gt;
  
  
  Epiphany
&lt;/h1&gt;

&lt;p&gt;I was learning a lot about Hebrews, the NIV translation committee, and words in general. I was having fun, even by the end of Hebrews 1, making all these changes. I should find a way to track all of these, something visual. I guess i'd have to learn python tools for datascience. &lt;/p&gt;

&lt;p&gt;And then I realized, Github is perfect for this very thing. Luckily, I was only a chapter in, because I started over. I wanted github to track every single change I made and show a visual for it. &lt;/p&gt;

&lt;p&gt;I created a script that went through the entire NIV xml file (now back in it's original state of the 1984 translation) and split it by book. Then I modified the script to go in by book and split that by chapter. My file structure is like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;.&lt;/span&gt;
├── New Testament
│   ├── John
│   ├── Luke
│   ├── Mark
│   └── Matthew
│       ├── Matthew 1.xml
│       ├── Matthew 2.xml
│       ├── Matthew 3.xml
│       ├── Matthew 4.xml
│       └── Matthew.xml
├── NIV-1984.xml
├── NIV.xml
├── Old Testament
│   ├── Deuteronomy
│   ├── Exodus
│   ├── Genesis
│   │   ├── Genesis 1.xml
│   │   ├── Genesis 2.xml
│   │   ├── Genesis 3.xml
│   │   ├── Genesis 4.xml
│   │   └── Genesis.xml
│   ├── Leviticus
│   └── Numbers
└── worker.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shortening for obvious reasons, but that's the gist. The script would create the folder, and files needed. &lt;/p&gt;

&lt;p&gt;Then I went back in and went chapter by chapter through Hebrews, doing a commit for each chapter. Along the way I also made notes in a notebook as to what stood out to me, about the text, about why different changes were made, etc.&lt;/p&gt;

&lt;h1&gt;
  
  
  Okay, so what's my point
&lt;/h1&gt;

&lt;p&gt;I'm continuing to utilize github for this purpose, although for the time being i've shifted to the NASB, given that they have a new translation coming out in the next year. &lt;/p&gt;

&lt;p&gt;I'll be blogging, on my own blog, about the differences I find, and what i notice. I'll be utilizing github's ability to show graphical differences in commits to see, quickly, what has changed. I also plan on then learning Python datascience tools to produce graphs and charts and other stuff diving into the different translations of the Bible. &lt;/p&gt;

&lt;p&gt;I don't plan on stopping with the NASB and NIV, but also looking at what are the differences between full translations, not just updated ones. This one will have to utilize github less, because I'm not going through and hand typing all those changes. &lt;/p&gt;

&lt;p&gt;I also have really enjoyed the experience overall, as someone who wants to be always studying God's Word. I've noticed similarities between Hebrews and Peter's letters, I've noticed different connections in Hebrews to itself, all because I've been forced to read it and reread it at a much slower pace. &lt;/p&gt;

&lt;p&gt;I don't yet have a good spot to get updates on this project. For obvious legal reasons I can't make the github repo public. &lt;/p&gt;

&lt;h1&gt;
  
  
  About the 15 minute thing
&lt;/h1&gt;

&lt;p&gt;I was partially right, by the way. After updating Hebrews, 1 &amp;amp; 2 Peter and Jude, it did only take me 15 minutes to write the python script that found all the unique words and put them in a spreadsheet by chronological order. &lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
      <category>github</category>
    </item>
    <item>
      <title>How To Make Dev Better In 2020</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Mon, 06 Jan 2020 01:33:33 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/how-to-make-dev-better-in-2020-9oj</link>
      <guid>https://dev.to/chillhumanoid/how-to-make-dev-better-in-2020-9oj</guid>
      <description>&lt;p&gt;Today I'd like to discuss the 5 ways we can make dev a better place in 2020, and I already broke number 1. &lt;/p&gt;

&lt;h2&gt;
  
  
  1. Stop with the "...in 2020" posts (no clickbait titles).
&lt;/h2&gt;

&lt;p&gt;Seriously, they also aren't new to 2020, it seems that going back we've had a ton of posts that have to do with the year that it is. It doesn't matter. And a lot of times it's just pushing your high horse views. Which brings me to my next point&lt;/p&gt;

&lt;h2&gt;
  
  
  2. get the hell of your high horse
&lt;/h2&gt;

&lt;p&gt;Maybe you've been a developer for 40 years. Maybe it's been 5 years. Maybe you're a hobbyist. Dev.to is literred with high horse people. My post is meant to break both of the above points, to give an idea. It's like seeing that kid who took a Java class in HS giving coding tutorials on YouTube because he got an A. I'd rather here is experiences then have him think he can teach (giving experiences is still teaching, just indirectly). But this all gets into my next point. &lt;/p&gt;

&lt;h2&gt;
  
  
  3. no, we really don't need a 'python for beginners' made by every single person ever.
&lt;/h2&gt;

&lt;p&gt;Stop. It's not just python. But it's always the big languages, and it's never anything new. but it's also always different (and not in a good way). In some ways we have a reverse stack overflow here. No one's asking, everyone's offering.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. let's diversify the front page a bit, huh?
&lt;/h2&gt;

&lt;p&gt;I'm not a web developer. I think everyone and their mother is on here. My language of choice happens to be python, and IL be damned if there's a decent python post that isn't about Gatsby. &lt;/p&gt;

&lt;h2&gt;
  
  
  5. stop coming here with "how to self promote your blog" or "how to deal with writer's block" etc.
&lt;/h2&gt;

&lt;p&gt;This IS a blog (in a sense), but that doesn't mean we need to have 60000 posts about how to be a better writer. And for that matter, I don't need to hear yet again how to be a better coder either. &lt;/p&gt;

&lt;p&gt;I believe there's immense power in this platform. But there's also a severe deficit. I'm tired of seeing the same damn posts. We don't need a 101 on a given language 101 times. Especially if you bring nothing new to the table.&lt;/p&gt;

&lt;p&gt;So what do I propose we post more of instead? Experiences. What was YOUR experience in implementing a feature in your application? Even if it's something that's common, maybe it was your first time implementing it. Talk about it. Chances are there ARE people looking for it. &lt;/p&gt;

&lt;p&gt;But chances are that people on dev.to aren't looking for a python tutorial. Or how to get 60000 looking at their blog in 2020. &lt;/p&gt;

&lt;p&gt;We're developers. From all walks of life, all experiences, all ages, all types (hobbyist, careerist, etc). We don't have to stoop to such levels for clicks. Because it's kind of disheartening, and makes it so I hardly check Dev.to these days.&lt;/p&gt;

&lt;p&gt;I was going to wait before I made this post but right now the top 3 posts on dev.to are "...in 2020" and they break 1 of the other 5 points as well. &lt;/p&gt;

&lt;p&gt;Take my points or leave them. But please, for the love of all that's good...stop teaching dev.to how to get input from the user.  &lt;/p&gt;

</description>
      <category>python</category>
      <category>productivity</category>
      <category>watercooler</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Released my first app today - my experience</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Mon, 21 Oct 2019 11:58:41 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/released-my-first-app-today-my-experience-5epl</link>
      <guid>https://dev.to/chillhumanoid/released-my-first-app-today-my-experience-5epl</guid>
      <description>&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Preface&lt;/li&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Google Sheets == perfect for an app right?&lt;/li&gt;
&lt;li&gt;The progression&lt;/li&gt;
&lt;li&gt;The realization&lt;/li&gt;
&lt;li&gt;Back to Java&lt;/li&gt;
&lt;li&gt;The process&lt;/li&gt;
&lt;li&gt;I'm not saying I'm good at this&lt;/li&gt;
&lt;li&gt;Rebase? Merge? Push? Pull? Ebb? Flow?&lt;/li&gt;
&lt;li&gt;Don't accidentally the whole API key&lt;/li&gt;
&lt;li&gt;Some notes on Google Play Console and Privacy Policies&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Preface &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;Off the bat, i'll say the app is for a Bible reading system, so if you're interested, there's a &lt;a href="https://play.google.com/store/apps/details?id=com.theunquenchedservant.granthornersbiblereadingsystem" rel="noopener noreferrer"&gt;link here and at the bottom&lt;/a&gt;. If that doesn't interest you, the rest has little to do with the content of the app. &lt;/p&gt;

&lt;h1&gt;
  
  
  Introduction &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;A year ago, I started a Bible reading system where you read 10 chapters a day, one from each list. The idea is that you bookmark or put tabs on each chapter, and move it along one when you finish that chapter. Problem was, at the time, I was using a digital Bible. &lt;/p&gt;

&lt;h1&gt;
  
  
  Google Sheets == perfect for an app right? &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;So I found a google sheet that someone made with all the books and chapters of the Bible. I started to move everything by hand but asked myself "I wonder if I can script this" (the answer is always yes, but also "do you want to spend the time?"). So I spent probably more time scripting the sheet to automatically move everything into a "column" three columns wide, in their respective list, as well as add the book and name and chapter number together. &lt;/p&gt;

&lt;h1&gt;
  
  
  The progression &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;From there, it was constant "I wonder if I can.."'s. For the first few days, I was manually marking each list as done (changing the background color, each list had a different color as well). I found a way to make it so when a checkbox was checked, it marked that list as done, and then unmarked the checkbox. I have ADD, so I'd forget if I already marked a list, and then had to set it up so that it wouldn't let me mark the list again. Each day at midnight it would reset that hold so I could mark them again the next morning. After that, I made it so that I could get my list texted to me every morning. Finally, I had it so I could text back when I finished the reading, and it would take care of everything. &lt;/p&gt;

&lt;h1&gt;
  
  
  The realization &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;My sheet at this point was about 6 columns wide, 1 row. And it only held the information needed to send texts and keep track of the lists. &lt;/p&gt;

&lt;p&gt;I knew I wanted to share this with others. I was getting interest from friends and pastors I would talk to. Problem is that the full set up involved not only copying the sheet, but then telling people to go in and add three triggers, as well as add a filter on their gmail to make the script parse correctly. Not really ideal. &lt;/p&gt;

&lt;h1&gt;
  
  
  Back to Java &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;2 months ago(almost a year later), after spending a lot of time in javascript and python (other side project) I picked back up Java, and said "how hard would it be to make an app?" It's not hard. If you're thinking about it, do it. It's time consuming, not hard.&lt;/p&gt;

&lt;p&gt;I had a rough working version in about 2 days. And from start to release it took me 2 months. 2 months of neglecting responsibilities, but 2 months. &lt;/p&gt;

&lt;h1&gt;
  
  
  The process &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;There is a certain point that I got to where I knew it was best to release even if I wanted to add more. In fact, in-between 2 weeks ago when I intended to release (more on that in a second) and the version available now, I made about 10 changes. Not drastic, logic oriented changes, just switching ui stuff around, implementing better practices, etc. If I waited to release until I felt it was finished, I would never release. In fact, i'm currently waiting for information on how to access a different translation of the Bible from the publisher, and that will be most likely the first not-bug-fixing update after release. &lt;/p&gt;

&lt;p&gt;I'm also constantly learning about code practices that make things better. For instance, after having almost everything done, I switched to Kotlin. Having never learned it, I said "eh, why not" and i mean, there's a button in Android Studio to switch all the code, so that should just work. (it didn't. It took me 2 days to fix everything). Now, I feel more comfortable in Kotlin. Although it is a pain since most older SO posts are about java implementations of concepts. &lt;/p&gt;

&lt;p&gt;Another thing I implemented was livedata (to be fair, it was there right off the bat, and because I didn't want to take the time to learn about it, I deleted the viewmodels. Don't be like me, livedata is easy to learn). &lt;/p&gt;

&lt;h1&gt;
  
  
  I'm not saying I'm good at this &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;I'm sure, If I posted my code (i'd love to, more on that in a second) there'd be countless things that would horrify you (spoiler/teaser: I don't comment. Or rather, I haven't yet), and things that I should be doing but im not. And in time, i'm sure i'll get it. But it works, it's out. And dear God I hope it works. &lt;/p&gt;

&lt;h1&gt;
  
  
  Rebase? Merge? Push? Pull? Ebb? Flow? &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;The hardest part, honestly, was git/github. &lt;br&gt;
1: Remembering to commit is tough.&lt;br&gt;
2: I never understood what the difference was between rebase/merge/pull/etc. And so to me they were all the same (I still don't understand the difference, I just know there DEFINITELY is one). &lt;br&gt;
So at one point, after the switch to Kotlin, I decided to push that to github. Figuring "well whatever I push will overwrite what's on github", and I should have known i had to pull first. so I'm trying to figure this out, and it's changing almsot all of my code. This is a problem that plagued me until a week ago, when finally I got it to just accept my code as final authority.&lt;/p&gt;

&lt;h1&gt;
  
  
  Don't accidentally the whole API key (or part of it) &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;The next thing, however, that I need to learn is how to delete a commit from github. Because I accidentally put up an API key. Hence, can't share that at the moment. &lt;/p&gt;

&lt;h1&gt;
  
  
  Some notes on Google Play Console and Privacy Policies &lt;a&gt;
&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;I meant to release 2 weeks ago. I had submitted and Google approved my release APK. it said "All updates are live". Except, when I went to the play store, there wasn't an install button. Figured I had to wait or sing a song to teh magic Google fairy or something. But I was also constantly submitting updates, so I also figured it needed time without me submitting. &lt;/p&gt;

&lt;p&gt;Finally, yesterday, I took a look. I was set to distribute the release in 0 countries. Facepalmed, and set that to all of them. &lt;/p&gt;

&lt;p&gt;Also, because I have set up firebase/store, I needed a privacy policy that was legit (prior, I just said that "we don't sell your data because we don't have your data) (The app didn't connect to the internet) (this was the alpha version). So I pay $9 a month for a company to make/host my policies. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.theunquenchedservant.granthornersbiblereadingsystem" rel="noopener noreferrer"&gt;The app is out now available here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>android</category>
      <category>kotlin</category>
    </item>
    <item>
      <title>Help with notificationcompat bigtextstyle</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Thu, 12 Sep 2019 15:01:21 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/help-with-notificationcompat-bigtextstyle-5337</link>
      <guid>https://dev.to/chillhumanoid/help-with-notificationcompat-bigtextstyle-5337</guid>
      <description>&lt;p&gt;Below is the code, I have small content set to be the first sentence-ish needed with an ellipses, and content is the full notification. But when the notification is created, it's only the big content, not the small content (or rather, it gets created expanded, and doesn't auto collapse, when I collapse it, it's not the created small content, but just an automatic abbreviation)&lt;/p&gt;

&lt;p&gt;Anyone have any experience with this issue? Did I miss something? Fairly new to android dev. &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


</description>
      <category>help</category>
      <category>android</category>
    </item>
    <item>
      <title>Idea: have the dev.to platform available for use elsewhere.</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Fri, 06 Sep 2019 16:49:19 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/idea-have-the-dev-to-platform-available-for-use-elsewhere-4ij6</link>
      <guid>https://dev.to/chillhumanoid/idea-have-the-dev-to-platform-available-for-use-elsewhere-4ij6</guid>
      <description>&lt;p&gt;the dev.to platform is incredible, it creates a Twitter like atmosphere that's way more sophisticated and generally has more moderation, so there's more people who know what they're talking about, it's easier to find help, and it's more in-depth than a subreddit. Idk why I'm selling you on the platform you're currently using, but here we are.&lt;/p&gt;

&lt;p&gt;What if the platform was available for other careers/hobbies/etc. &lt;/p&gt;

&lt;p&gt;So, for instance, let's say it's writing/authors/etc. I don't know what the domain name would be, but for now, write.to (actually...). It uses the dev.to framework, but it's clearly for writers, authors, poets, novelists, etc. They can have various sections/tags to follow, and it can allow for people high up in the field to give advice to those not as high, to allow for good discussion across the board, etc. &lt;/p&gt;

&lt;p&gt;Essentially, like how stack overflow now has various branch offs because the system worked well. &lt;/p&gt;

&lt;p&gt;Kind of putting it out there for dev.to staff, I figure that the logistical hurdles are probably great, as well as the fact that it is YOURS, and thus, how would it be to have another team using it for a different purpose. But, if the code base is on a paid level, it could work. &lt;/p&gt;

&lt;p&gt;Essentially, this platform makes it so that people can have "blogs" on a given subject without having 60000 blog pages all geared to the same subject. There's something incredibly powerful about that possibility.&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>What I learned from self-hosting a Ghost site</title>
      <dc:creator>chillhumanoid</dc:creator>
      <pubDate>Sat, 31 Aug 2019 00:05:54 +0000</pubDate>
      <link>https://dev.to/chillhumanoid/what-i-learned-from-self-hosting-a-ghost-site-1cnh</link>
      <guid>https://dev.to/chillhumanoid/what-i-learned-from-self-hosting-a-ghost-site-1cnh</guid>
      <description>&lt;h1&gt;
  
  
  The initial problem
&lt;/h1&gt;

&lt;p&gt;The one problem I always had with having a website was cost. Especially since very few people care to look at it (and that's okay), spending 10 bucks a month just became a hassle and i'd ultimately just give up. &lt;/p&gt;

&lt;h1&gt;
  
  
  The start of the solution
&lt;/h1&gt;

&lt;p&gt;Recently, my job was throwing out/giving away a handful of the mini HP Elitedesks, so I took one home with the idea that i'd use it for developing Linux specific items. Then I realized I could probably self-host my site instead. &lt;/p&gt;

&lt;h1&gt;
  
  
  Lets get rid of wordpress
&lt;/h1&gt;

&lt;p&gt;I can say the hardest part was finding a wordpress alternative. Don't believe me? Google "Wordpress alternative". They are true alternatives, but they aren't great for self hosting. I know that wordpress DOES work for self hosting, but I dislike the overall limiting factor of wordpress. Granted, what I ended up using (Ghost) is probably more limited, but tomato-tomato. &lt;/p&gt;

&lt;h1&gt;
  
  
  Woe's of Self-Hosting (and bad IT management)
&lt;/h1&gt;

&lt;p&gt;Once I had ubuntu up and running, then it was time to finally learn how to set up nginx with Cloudflare (my DNS provider). I can safely say I bombed this one for a solid 3 hours. I know because my fios router login page was accessible to the public for 3 hours (my fault (on all fronts) because I have it set up to access from anywhere if i know the IP). Asked a small discord (7 people who used to play minecraft together) if they saw the login page, and the "20 failed login attempts since last successful login" message told me that yes, yes they can. &lt;/p&gt;

&lt;h1&gt;
  
  
  There's a reason i'm not in graphic design...
&lt;/h1&gt;

&lt;p&gt;Once I had that squared away, it was time to pick the theme. This is where I always hit a rut. Themeing isn't for me. I start with something good looking, change a couple colors and BAM, it looks like a 3 year old designed it, or that sweet modern theme i found now looks like it was made in the 90s. Interesting enough, this time around I nailed themeing.&lt;/p&gt;

&lt;h1&gt;
  
  
  Hardcode the simple stuff, because you can. (and you can't not)
&lt;/h1&gt;

&lt;p&gt;The thing that's interesting about themeing with Ghost, or editing existing infrastructure with Ghost, is that it's a bit tough trying to find all the source code.  A lot of times it's easier just to change the html around to break what's in the Ghost code. For instance, my friend suggested that my titles be "TITLE - BLOG TITLE", the problem is that Ghost, by default, sets the title for tags to "TAG - BLOG TITLE", so having "TITLE - BLOG TITLE" leaves you with "TAG - BLOG TITLE - BLOG TITLE". Luckily, handlebars has ifs and has statements (and I think i settled on "is" being the safest). &lt;/p&gt;

&lt;h1&gt;
  
  
  ZIP all the files!
&lt;/h1&gt;

&lt;p&gt;Then, the last handful of days has been tweaking CSS, zipping up the folder, reuploading to Ghost, refreshing, and seeing if anything broke, and if it did what I wanted. Through this, I realized that the 3000+ lines of CSS code had no real structure, and that's probably my next project, for my own sake. I would have used a lot of inspect element editing, but anytime i needed to refresh, it was gone. &lt;/p&gt;

&lt;p&gt;This is where Wordpress would have excelled, they have the ability to edit the files in the admin panel. The problem is that good themes are expensive, and every theme i've ever found didn't have exactly what I wanted, or had exactly what I didn't want. &lt;/p&gt;

&lt;p&gt;Ghost has it so you can download the theme (as is) as a zip, and then you edit, zip back up and reupload. Granted, I may be safer having a dev setup for Ghost, and that's probably next, but before today I hadn't shared the site publically. &lt;/p&gt;

&lt;h1&gt;
  
  
  Okay man, what did you learn?
&lt;/h1&gt;

&lt;p&gt;What did I learn? A lot. But mainly, learning new things isn't bad. As a developer with ADHD, whenever I look at a new language, or new structure, or new framework, I get kind of...mush. it looks impossible, I don't know where to start, etc. But I've realized lately that the more I stick with it, the more I learn what I don't understand, the more I understand (who knew). And the more I understand, the less it looks like mush. And soon, I'm able to create whole themes (not now, but soon. Right now my theme on my site is just a heavy edit of the Editorial theme by Ghost. I didn't like the SUPER bright colors). &lt;/p&gt;

&lt;h1&gt;
  
  
  Recommend?
&lt;/h1&gt;

&lt;p&gt;Would I recommend Ghost? if you don't mind hardcoding easy changes, yes. For example, changing the theme colors shouldn't require me to edit CSS. But, it does allow me more control. And it makes it easier on theme devs (they don't have to make it based on a set standard). Really, in theory, anyone could take ghost and use it for something ENTIRELY different if they wanted to spend enough time changing things around. &lt;/p&gt;

&lt;h1&gt;
  
  
  So did I save money?
&lt;/h1&gt;

&lt;p&gt;Now, instead of paying 10-12 a month, without ssl, and not including the domain name, i'm now paying $8 a year, including ssl and domain (that's it really) plus $6 a month for gsuite (for my email). &lt;/p&gt;

&lt;p&gt;If you're interested, &lt;a href="https://theunquenchedservant.com/" rel="noopener noreferrer"&gt;you can check it out here&lt;/a&gt; but keep in mind that it is a Christian site. Mainly just look for themeing purposes, unless it interests you. &lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
