Featured

Learn a Language at 12 cents a day

So how does one take a stroll and relax, than code. Say you are than in an elevator or lobby and can code, than they go back to a desk and keep on the same script without missing a beat they keep learning code on their scripts.

Pick any language, and if it doesn’t work than just pick the next and save all of them centrally at one nice and clean place. iPad, droid, desk, Linux computer than an interviewer or bosses desk with the next use!

What You’ll Need:

  • A desktop computer and phone with Termius, or a friendly copy-paste SSH client that can store keys for you to remote into.
  • Google Drive, your own email account, iCloud or another secured online place for 1-3 days file storage.
  • A credit card to register an Amazon Account or use your personal one.
  • $3.50 a month. You have a 1 month trial by Amazon in Lightsail and if you hate my article and pay this only on month two wiht a 30 day trial. Alternatives could be an account with DigitalOcean ($5/mo) Hetzner, Linode or Vlutr.
  • Maybe googling Linux commands when stuck

Step 1 – Register an Account on a Cloud Provider

I recommend Amazon Lightsail in my site as they’re awesome for price. Amazon wants a valid phone for you to verify with and the process is great if you already have a private account. Simply go to https://lightsail.aws.amazon.com and register an account if you want something both secure and innexpensive.

Amazon Workspaces allows Windows desktop if you want to RDP into a place. But this seems too much for a small instance to hold scripts and server work.

Amazon consumers to do this on Lightsail due to size and scope of Hardware, so iOT or other small projects are fine. You need a valid credit card and phone for verification. Nothing major or expensive, just a reliable little cloud for saving work.

Use the Linux type you wish. If reasons for learning or immersion with Linux are business related than I reccomend CentOS 7. If not, well than there’s even FreeBSD (go devils!!)

Step 2 – Generate a new SSH Key profile for the Instance.

Try never to use a cloud default ssh key. Generate a new one and save it to a secondary online site so you can get the key to each device you’re going to script on.

Step 3 – Copy the Key to your safe desktop at home, or onto your cloud for temporary storage.

So this part is important. We do not wan to keep data at risk. You use the cloud service to store the data and than login to save the keys to each system. Once saved to a long term secured storage over say 1-3 days than you need to delete the key from the cloud as it’s not at all secure.

I wouldn’t type any login account details or passwords into the source you save it in just in case a James Bond happened to break into your storage and I do not recommend Dropbox for the reason that they warn their not encrypted so employees could see your file.

Alternative – upload the key to an email in DRAFT you never email (ever ever ever) it out and than download it to each device. Doing so you still must absolutely delete it after short term storage of a day or so.

Step 4 – Setup a Virtual Interface (or static IP) and connect it to the instance.

This allows all your devices to know the password and one consistently permanent phone number but if you had to delete everything inside the instance you don’t have to completely re-setup all your devices.

Amazon Lightsail calls them Static IP addresses.
They bill if you don’t delete them but otherwise cost nothing to add to an existing service.

If you need to wipe out the instance, you will no longer need to redo step 2 or all the devices the new key needs. For that matter you won’t need to change the phone number to get to the device either. It can be swapped out if something goes wrong and if things are backed up either with FileZilla or a snapshot, that never see that work disappear.

Step 5- confirm that the key and login credential setup works.

If the key fails or you cannot work with that device 2-3 times successfully, than you may need to repeat steps 2-3.

I recommend the app Termius as they allow really easy copy paste. If you have a background in networking, please don’t use PuTTy. That would be a huge frustration for a setup as a good copy-paste at least in lines along with color tools for showing what you’re connected to and the text colors will help you in vim, nano or eMACS.

Tip: Open a second SSH to the site and use the man command in a second Termius window when you’re stuck in a Linux computer and need to run something on a command line!

Step 6 – Go to your target book, teacher or app service and download their course materials, txt notes and scripts.

Try to get as many of them as you can collected and than run FileZilla or a compatible SFTP computer and upload all of them to your /home directory. I’d keep a disaster backup of all your files at this computer with FileZilla so that if something happens and the instance dies you save all your play scripts and work.

Step 7 (optional) – Setup GIT on your computer for file versioning.

Keep the training really basic. Google a cheat sheet online, etc. if it’s your first time using git. You could go further than this later with Jenkins and have a separate site that holds the portfolio content. Really an expactation for DevOps so you might as well tinker with it so you’re confortable.

Step 8 (optional) – Run a snapshot of the instance if you don’t mind the small cost.

You want to do this before you run Linux updates or upgrades so that you have a fall back and is very much worth a few cents if you do it and than test the updated software for a few days (or hours) before confirming and deleting your work.

Step 9 (optional) – Adjust your firewalls so that only your targeted devices will only be able to SSH to the machine.

No one should have to stress about this stuff. Keep things private and delete ports 80 and 443 than have SSH on port 20 to only a select group of IP’s.

Step 10 – Setup the connection on your phone or device.

Now no matter where you travel you have no miserable mess with reading something on a book and not having a perfect and consistent place to test and run the scripts.

Step 11 – (NOW) Build your target programs after all the books, labs and experiences you have with ease!!

Desktop/Laptop Computers: type the scripts…

Droid/iPhone on a walk: debug the scripts…

iPads: Study course or book provided scripts…

You could pull them right off git hub!

Conclusion

We as Americans have incredibly stupid cell phone bills. We pay tons on entertainment and utilities, yet we can for just 12 cents a day harness some time and effort with scripts and monopolize on a silent simple technology that provides for our homes and pays our bills for years.

Just remember that the effort now is upon you to use the tool. You will really really regret deleting that instance once you get into books so enjoy a library or a cheap dollar menu hamburger and take a few quality minutes each day to code.

Helpful Tools

So the following you should make text message files of and save into the server so that at a client computer if stuck you can just copy and paste the links below into your browser:

  • Google Search needed configurations and commands you’ll use:
    • git versioning cheat sheet
      • run gittutorial
      • man git
    • vim commands cheat sheet:
      • i, escape, :w, :wq :q!
    • linux commands:
      • ls, mv and so forth for copy, paste.

I save my linux commands and details in a folder titled Linux Commands and keep them handy to get used to them for your distro if you’re new to Linux. As you’re in scripts there’s not much you directly need to do in the OS. Just perform this work on a desktop for detailed work and backup the instance before or after you do it.

Stay tuned as I will have more posts on things you can do in Linux to help things along!

Python Crash Course by Eric Matthes, 2nd Edition [Part 1]

Language Level: Intermediate, and seemingly a good bar for professional code.

Digital vs Print? On an iPad for digital, and I needed still a print copy (and it was worth it).

Provided his scripts online? Yes, and they worked well.

Consider downloading them from his site and consider my desktop and mobile cloud solution for code at only 12 cents a day while you read it!!

Reading Style ADD vs Type C? I’d say type C, but an ADD person would need to “get there” with the writer’s terms illustration and speed. It’s a fight but worth it!!

Recommended Chapters? Tough to say… First 3 chapters were OK, but at 100 pages there was pain and before 140 I was done and needed to set it down. At page 230, the writer breaks out full explanations through all these full coding projects and this was highly valuable.

Rating? 8 out of 10, but this could change after I complete projects by him (7/3/20)

Linux Friendly? Yes. Very good pieces on how to setup everything.

Amazon | Barnes & Noble

If you want to take a language seriously, Matthes’ book is an excellent selection for a primary career-entry book. It is a very thorough and an excellent quality textbook. It has recognition for being the textbook for Python by it’s endorsements and book sales and it’s depth and quality cannot be missed for it’s price.

I felt in the first few chapters, a quality ownership I was making with the writer towards the language. Previously I had “rented” the language in apps on my phone but it was clear between Java or C# that this was my choice for a language and reading Jamie’s beginning was great for me as a writer.

It is a great book for getting the picture of ownership in the language and really “bricks” out each subject deeper with introductions for things one does in code as he explains structurally how to write python scripts and gives great detail to each subject.

If one has a grasp of other programming language or understands the basics of Python than this book might for that reader seem great. It covers how to see the projects and what you’re largely attempting to accomplish and each chapter has mini pieces to code features as he writes.

Beware New Users

For the initial programming reader, the book was hard to follow. Think Python or Learn Python in a Day would be a better fit if you’re new. The chapters over and over give side lessons on other things to add to the code and in print this is OK, but in a digital format, small screen the text feels just completely overwhelming; e.g: “He want’s to teach me a shorthand? Was I reading about Dictionaries or was I in conditional statements?? Do I need to understand a shorthand to do this??”

His enthusiasm could be to blame as he clearly loves this language, students teaching and cares that one has a real par with a coding language so one could get say a job or certified and be up to snuff in writing the language.

If as a first time reader you’ve purchased this book, I recommend downloading and potentially printing chapters of Think Python for free. You’ll read it and than on it’s second reading it’ll appear almost juvenile and resuming the same subjects in Crash Course feels refreshing. Also, you could try other basic Python books instead and and than reading Matthes’ book for deeper retention because it helps you immerse yourself and see more complex examples as you go. Best review so far was Learn Python in a Day by Jamie Chan.

The problem was that these were just too many cinder blocks for bricks as you read it. I felt myself hating Crash Course when reading beyond 100 before asking myself why I wanted to learn the language and feeling burned out.

Leaving The Kitty Pool

Things change entirely with Object Oriented Language. I could not get enough of the facts he spills out and than a later whole half of the book is all of his full labs in Python and he goes into huge length in helping anyone at the language in deploying programs. I plan on covering this in part II for Matthes’ book.

The fact that Real Python endorses this book is an indicator that you and I should make sure we keep to the par of terms used here. An enthusiast project where Classes, objects and object oriented code don’t really matter we wouldn’t see users buy this book.

Say one takes seriously a programming or cloud project and money is involved, Crash Course is the book along with Python Tricks one would want to have at one’s desk.

Note – this review was not sponsored by Eric Matthes

Learn Python in one day and Learn It Well (2nd Edition) by Jamie Chan

Language Level: Beginner

Digital vs Print? Digital works and was competitive priced.

Provided his scripts online? Yes, and they worked well.

Consider downloading them from his site and consider my desktop and mobile cloud solution for code at only 12 cents a day while you read it!!

Reading Style ADD vs Type C? Both readers would liek this. ADD will like that the writer keeps to the point.

Recommend Chapters? 1-8, may need to read something from someone else on OOP before 9.

Linux Friendly? Not certain, but the crypts weren’t a hangup when I used them in CentOS.

Rating: 9.0

 Amazon | Barnes&Noble

So for the nuts and bolts of a language, Learn Python in One Day was my favorite backup book to read. It covered succinctly where so many other books just went discussing too many tools cor coding or these other items here or there in a script instead of the meat and potatoes for basic Python.

Dictionaries, Lists or Tuples? Not a question but a fact. This writer didn’t give into distractions and typed how they worked. I found re-reading the chapters an absolute necessity as I could time and time again learn deeper the same things with a different person and point of view. Illustrations, terms and facts just made more sense.

Chan’s Cliff

Chapter 9 and (esp chapter 10), there’s a cliff as he than drops a bombshell for two gigantic illustrations, and as a reader introduces you to object oriented language. I found myself immensely frustrated with the chapter too much when the best thing to do was to close the book, consult other books on the subjects given, than go back to his book.

In other books, the object oriented language introductions and illustrations could leave you frustrated as a learner. Chapter 9 just explodes in complexity for an illustration. It could have been broken up in say 3 or so pieces instead of just a huge enchilada for a section of scripts.

Secretly any time a writer does this. Take a step back and pick another book on a shelf for that subject. Fully attack that chapter as though it was the writer you liked and than if you feel motivated to than try the book chapter again but don’t feel pressured in any way you “have ” to read or complete that chapter.

With Chan, possibly to the detriment of learning a languages a reader I felt “this must just be too much stuff” with an written code for a language and it can cause a real irritation sort of like a language student caught up in verbs and articles learning “persons” or tenses over simple sentences.

Learn Python in a Day Workbook was produced by Chan where he breaks down his coding projects to help and I felt that this was not a good strategy. Why didn’t he just make an even bigger, more thorough book and explore even more code in detail or teach alternate ways of thinking about how one make variable names better like in Matthes’ Python Crash Course; or Think Python by Downey?

This aside, Chan’s quality in succinctly teaching each language was worth it’s price despite it’s shortfalls. Clearly no language can just “perfectly and succinctly” work.

I was not in any way able to complete this in a day. As a reader I just didn’t at all seem to  care. It’s because it was my first language and the writing quality was such that I didn’t feel frustrated at that. The work was so good I purchased and plan to review his books in Java, CSS, C# and SQL. Possibly they may not be as good but I have no care as from the writer’s Point of View I consider the dives helpful.

Note – this was not sponsored by Jamie Chan. He however was an available teacher in email over content in his book when I visited his site.