“A programmer’s skill are determined by his initial training.
How enthusiastic are you when learning code?
How well did you comprehend a great programmer’s algorithm?
Repeat the basics until you become like a river flowing into a beautiful field; that’s the ideal application.
Then, the most important thing is to not abandon the project no matter how difficult the code is.”
– Programmer X

Art by Ascii Art

PYTHON Web Development is the main focus :

1. Areas to explore

• Test Automation ( Udemy / TDD course)
• Data Science (Dataquest)
• Scripts ( Discogs API / ATBS scripts for cvs)

2. Django Applications to build for Discogs / SenseOfGroove

• Build Store => senseofgroove.com
• Build Blog => senseofgroove.com/blog
• Build sog inventory based on Discogs API
• Build Rank / Trivia App from Discogs API
• JAVASCRIPT PRACTICE http://javascript.info/recursion
• OBTTG finish it and remix it with Udemy version.
• PORTFOLIO => albertfougy.com
• Hackerrank deliberate practice in Python. Codewars.com (IN THE MORNING, WHEN I WAKE UP)
• Check Github Repo [That I love!] for Python issues and write TESTS for them
• Fix bugs after tests and submit pull requests :=> https://github.com/pallets/werkzeug
• Read Learn Python
• Write short scripts to help with Discogs ATBS (csv, file manipulation, API)
• Write code on paper and step through it.
• Reinforced what I learned through albertfougy.com (turn on blog for feedback)


The Twelve Factors

1. Codebase

One codebase tracked in revision control, many deploys

2. Dependencies

Explicitly declare and isolate dependencies

3. Config

Store config in the environment

4. Backing services

Treat backing services as attached resources

5. Build, release, run

Strictly separate build and run stages

6. Processes

Execute the app as one or more stateless processes

7. Port binding

Export services via port binding

8. Concurrency

Scale out via the process model

9. Disposability

Maximize robustness with fast startup and graceful shutdown

10. Dev/prod parity

Keep development, staging, and production as similar as possible

11. Logs

Treat logs as event streams

12. Admin processes

Run admin/management tasks as one-off processes


courtesy of https://12factor.net/

copy and pasted from a slack chat. Special shoutout to Anthony L. for the tip!

here’s a time saver i just drummed up that’s worthy of sharing. it will be of interest to you:

in your ~/.ssh/config put:

look mom, no hands! now, any time you log into an EC2 node, there’s a convenient reverse tunnel to your dev box and all you have to do is ssh ec2-node-fqdn from your workstation,

Once on the node, you can do the following:

boom! you can edit files on your workstation and then, rather than push them to master/dev, just pull the changeset on the dev ec2 node naturally with a git pull and you’re up-to-date and ready to test on!


In Mac OS X Terminal I used  CTRL+R to enter a reverse history search.
However, if the command I want was not found (after repeated CTRL-R), then there must be a way to immediately exit back to the (empty) command prompt. Especially, with no historical command entered. Better yet, I haven’t executed anything on the command line?

The way to cancel your prompt after (reverse-i-search)`': is:
Ctrl+G this will abort the search

To make vim display line numbers, you need to set the number flag. To do so:

  1. Press the Esc key if you are currently in insert or append mode.
  2. Press : (the colon). The cursor should reappear at the lower left corner of the screen next to a : prompt.
  3. Enter the following command:
  4. A column of sequential line numbers will then appear at the left side of the screen. Each line number references the text located directly to the right.

To turn off line numbering, again follow the preceding instructions, except this time enter the following line at the: prompt:

Normally, vi will forget the setting you’ve chosen once you’ve left the editor. You can, however, make either setting take effect automatically whenever you use vi on a particular account. To do this, place the appropriate set statement as a line in a file in your home directory named .exrc .

For a list of all current settings, at the : prompt, enter:

For a list of everything that you have set, at the : prompt, enter: