Programming without a computer?
Tags: help, javascript, webdev, beginners
Published: 2019-12-12 00:07:12

Disclaimer: This post ended up being a bit longer than I planned. But I wanted to outline the research I've done before opening the discussion. 

My computer has been on the fritz for the last few weeks, and I've essentially been doing without one. While I am able to use the computer at work do keep learning, it has been difficult to update my repos and impossible to create any projects.

####My Concerns
1. Complete Flatiron requirements of 5 git commits per week
2. Practice coding / algorithm challenges 
3. Kickoff a long term idea for a project

While working things out with my computer, I've discovered a few options. They're broken into 3 categories- tutorials, mobile apps and web apps *(where I need help)*.

####Mobile apps:
There are a lot of programming apps, but coding on a phone is incredibly difficult! Not only do you not have access to a full keyboard, but switching screens is also a challenge. Still there are a couple of apps that I found to be helpful.

1. [APAS / Algorithm Problems and Solutions](https://download.cnet.com/APAS-Offline-Leetcode/3000-20414_4-76461661.html)
  - Reference app
  - This is more of a reference app, but it's great for reviewing solutions to common algo challenges. This isn't a JavaScript app. But I preferred the feel of APAS to  its JavaScript counterparts (like JavaScript Algorithms and Java Script Program) .
2. [Dcoder](https://dcoder.tech/)
  - Algo practice
  - Unlike APAS, DCoder has a text editor that you can use to code and test solutions to algorithm challenges. It's still a bit difficult to use the touchscreen keyboard.

####YouTube Videos:
The most frustrating thing about not having a laptop is that I can't track my progress nor challenge myself to learn new concepts. But as with every problem in life, YouTube has an answer. Fortunately, I've been able to watch/listen to YouTube videos on my phone and at work.

While I can't work on a project nor push to Github, there are two ways to get the most from YouTube even without a computer:
1. Watch talks and explanations of programming concepts. 
  - There is a great selection of talks on YouTube. For example, this video on [the disadvantages of OOP inheritance by Stefan Mischook](https://youtu.be/da_Rvn0au-g). It's fun to watch and offers great insight on practical programming.
2. Code along on paper. 
  - After my last blog post, [Core JS concept](https://dev.to/jasterix/5-javascript-core-concepts-you-should-understand-210h), I wanted to learn more about the why's behind JavaScript classes. With no laptop, I do all coding on paper. I used index cards for things I needed to review later and a sticky note to jot down sample code. After a couple of days, I moved to practicing in a notebook, which I used to test my recall. 
  - Coding on paper is something I actually enjoy a lot. I used to do it in my early days, but at some point switched to always using a code editor. So this was a great return to what worked well for me as a completely new developer.

####Web Apps:
One thing I didn't expect up to this point is how challenging it has been to do anything on Github without my laptop. For example, repl.it is great for one of things but not exactly what I'm looking for.

I've researched a couple of web apps to do this. But either I'm not searching he right terms or have not stumbled on it yet.