Main recommendation goes in the left sidebar. Other recommendations right.

Thursday, December 22, 2016

Writing, Translating.and Bookmarking

1. Writing

If you just want to write some text online, or even a book without a bright & glaring screen, consider this:


  • Dark background easy on eyes
  • Simple and easy to use
  • Free
  • Pro has more features and it's not too pricey
Of course, if you want a more powerful notes-taking free solution - Evernote can be your helper. But I'm not sure if Evernote has a more conducive or similar writing experience feature than above Writer though.

2. Translating

Google has done well again and again. In addition to the search and gmail, then the google map app and now google translate app. All free.  With Google translate app, you can speak into it and have the translation done, or even scan the foreign document with the app and then finger touch the unfamiliar word for the meaning, in addition to typing and write the word with the finger e.g. Chinese.

3. Bookmarking

Consider Pocket to save your bookmarks. Free, online bookmarking solution. Been around for quite sometime. It supports the popular browsers for computers and has mobile apps too.

Hope that helps :-)

Sunday, December 11, 2016

Choose and install a good Linux flavour

Which Linux to choose?

In brief, choose Ubuntu Mate

Ubuntu Mate Virtualbox screenshot

This post is meant to help you save time and effort by zooming into one or more Linux flavour that may be well worth your time installing. Some Linux derivatives may prove to be time consuming and even kind of waste of time if discarded after downloading and tested to be unsatisfactory. 

Choose Ubuntu

There are many Linux distros on the market. I suggest to save your time and consider Ubuntu-based straight off.  Reasons may include:
  • GUI may appear more professional, aesthetic or user-friendly
  • Stability and consistent
  • Core software may be easily updated
  • Perhaps the most comprehensive in terms of support both community & paid and extensive offerings - Cloud/Server/Desktop/Phone/Tablet/ioT/Core
  • Many flavours to choose from, perhaps too many for a newbie:
Welcome Screenshot

Unless you already have a very specific need or reason to install certain flavour such as MythBuntu for MythTV based PVR, Edubuntu for educational classroom purposes or ubuntu Studio for multimedia content creation, Lubuntu for low-spec hardware, etc, otherwise I recommend this in the hope of saving your time in multiple downloading and testing: Ubuntu Mate -

Ubuntu Mate's Software Boutique

Ubuntu Mate seem to look good, has Software Boutique for software installation e.g Google Chrome, software updater for updates or ease of future maintenance - This can be an important consideration because of impermanence.


Choose Ubuntu Mate, if you system is good enough to support it, and even say an old notebook with more than 1GB ram e.g. 1GB ram is not too fast but probably still acceptable. Lesser than 1 GB ram slower machine, please consider Lubuntu. Be aware that Ubuntu Mate's appearance looks better and installs Chrome with Software Boutique but Lubuntu may only install Chromium via GUI.

Also worth mentioning are Fedora and Puppy Linux and PCLinuxOS. But I'd probably advise not to dwindle in these unless hardware drivers are issues with Ubuntu-based Linux. Remember my goal is to help beginners or anyone save time and effort, thus Ubuntu. Even the Redhat-backed Fedora does not seem to measure up to Ubuntu in its offerings.

How to install by creating a Live Usb drive after downloading the torrent/iso files?

If you have a Mac, this works:  
(May erase pendrive with Disk Utility with ExFat format and GUID Partition first.)

Creating the Live Usb from a Linux, follow something like this:

Tuesday, June 28, 2016

Coding: The End?

I'm tired

It's good people work hard for the right livelihood! Having studied and trained in computer studies and programming, I know how fast and much this industry can and have changed. For a good and steady lifestyle, I hope people have a consistent, good-paying harmless work, without having to worry about making enough or when will be the next payout. Alas, this is not a work or industry that I wish anyone to take upon as a career or even hobby because of its fast-changing needs and development. While I'm glad people learn logic and systematic way of thinking, but there may be way too much change and dynamism to the point of restlessness - NOT likely something you want or can DO five, ten, twenty months/years down or in your retirement. One may not feel tired right now, but he should or will be.  Who is getting younger and should/can one compete with more and more quick-minded and talented teens? And progression of development in future may only get faster, more complex and harder. 

Another way of looking:  How many senior developers out there still have the energy, health and edge to compete with capable, young minds? Even if one still have a job despite senior discrimination at work, can one's hard work really justify both to others and in conscience the quality is at par with smart teens? And for how long? There will be a time when we will feel tired eventually. And by then, when we look back on the nature of our work, which ones are more valuable and easily replicable as a beneficial, useful skill - coding or art? Would you rather pass on beautiful art appreciation or historic javascript and html codes to your future generations?

Better out now than later

It is not about just learning anything to everything, but the question is what is worth learning. There's no lack of sites to learn from. We should be open-minded and always improve ourselves and our art. However, I don't think we should just learn anything anyone throw at us. Selection is crucial. In fact, it is so impertinent that we do so wisely. Otherwise we might be just reading useless texts, or worse picking up wrong and evil views. 

Another thing about Internet tutorials or courses I find wary and tiring is the incompleteness and readers are often left wondering what next after spending time learning or does this really lead to anywhere useful? Well, I can't say all online courses are the same, some may really deliver certain long-lasting beneficial results, but my current recommendation medium to learn from is books. Why? Briefly, possibility of gauging book quality and expectation from preview and reviews. Good books suitable for you may be classics and not be latest releases. Secondly, Use an online bookstore that fights paid, biased reviews like Amazon.

Good books of quality can be a really bargain for the  good information at an affordable price. In fact, one may be hard pressed to find a better deal for value. Use good books!

So what is the right stuffs to read? To each his own, but definitely choose wise and in good and wholesome readings and views free of contradictions, negativities or ignorance.


Therefore, I wholeheartedly recommend you or anyone for that matter to engage in a more steady and wholesome skill learning such as landscape painting or sculpturing as work or long term hobby. Of course, logic development is good, just doing it in a way that is beneficial and wholesome without being a mental baggage, tagged with a quick-expiration, high learning curve nature or work dread might be better. 
I feel coding is not what I want to pursue anymore because of the quick-changing nature of it. It is changing too fast for me, and can be too much pressure to deliver. I think it is better to spend time and effort on Art. It is more rewarding and directly beneficial to self and others. 

While my coding journey may not continue, I hope somehow my experience will help someone have a greater chance at better work, career and life :-)

The End?

So why am I pushing myself to code in the realm of uncertainties, only to enjoy it less and lesser? Perhaps my time to programming had run its course, as with everything a result of causes and conditions will come to end. Impermanence.

Take care

Note: Post contains amazon affiliate links.

Monday, June 20, 2016

Learn Javascript Free Course Online with Free Code Camp (Part 5)

Important: Follow an authentic, comprehensive course that CAN be broken down into quality bytes of minutes for practise each day!

There is not much point investing your time, effort and money in some endeavours going nowhere. Be productive and diligent. Have a worthy purpose - Be kind to others is of utmost importance.

Whether it is sketching, piano, writing, inkscape or programming, the amount of research just to get the right roadmap (book / course) is so crucial yet time-consuming. This simply cannot be compromised. As a self-learning adult, there is no other way to skip this essential process to success.

Quality is key.

“Pay as much attention to detail as possible" 

-somewhat a quote I learned from Marcello Barenghi, a photorealistic artist in his TV interview.

In the case of programming, freecodecamp roadmap is the one to follow I'd think. Yes you may follow other resources to supplement your learning but do stick to a good roadmap in the long run. Stay focused.

Please DON'T get caught up with hefty bootcamp($20k?) that may or may not serve you no more than just as a motivation crutch! Money may not come by easy, just think of how our parents, ancestors and how hard people are working for it. The luxuries we have, we owe it to the hard work of our parents and others. Be thrifty, don't waste it unnecessarily, spend wisely is all I'm saying.

I am slowing down and taking the time to go though some fundamentals again this time with You Don't Know JS series (my collection here) (was progressing in React learning, the next step after front-end and sass.) React is not so straightforward as JS i'd think, I find it a big jump in terms of syntax, design (the use of ES6 & classes) and setup (not a necessity but webpack and node.js may be used) compared to basic JS. Even the debugging or troubleshooting part when something is not working seem more challenging. However, learning React can be a significant milestone in being a full-stack JS web developer.

On Codepen:

Did you know that Codepen also support two cool features : Emmet and Multiple Cursors/Selections?? These time-saving tricks are pretty useful for heavy HTML and Sublime users. Under the html space in Codepen:

Type nav>ul>li*10 , and then TAB

Type p>lorem and TAB

Type div.showOnHover and TAB

Multiple selection for editing? Click anywhere, then click press command key (on a Mac) without release, click all the places you want to edit at the same time, then realise the command key and start typing away!

To embed a pen, click the embed button at the bottom right corner, copy the iframe/html codes and paste into html code page.

In addition to, I also found another cool youtube channel - The Net Ninja with at least 18 playlists to learn from. And basically from what I watched, it's quite good. Some better, like the Asynchronous JS playlist. Both do not waste time in story-telling and dives fast into the topic.

Summary: I'd like to complete You Don't Know JS series (my collection here) while waiting for FreeCodeCamp to release the React materials in Spring. Let's see how it goes :-)

Enjoy and take care!

References / Related

Monday, February 8, 2016

Learn Javascript Free Course Online with Free Code Camp (Part 1)

Announcement: Last update 6th March 2016

Read I spent $110,000 on grad school, only to realize that the free online resources were actually better - Robb.

Listen to Mr Quincy Larson's podcast on FreeCodeCamp.

If you just browse through the important, systematic road map guide, you will see actually see how comprehensive or intensive it is! Freecodecamp puts the course at 2080 hours to complete. Realistically, I'ld think it is likely longer. 

Learn HTML, CSS, Javascript and some of its frameworks with the free online course : Free Code Camp - Become a software engineer: Front End, Back Data Visualisation, Back End, Full Stack Web Developer. (FCC) - Javascript and MORE - is my current number one recommendation for learning to code and become a front-end web and back-end developer for relevant jobs preparation, freelancing or coding for non-profits.

In my previous post Choose and learn a new programming language: Python, I indicated a preference for knowing and mapping in advance where and how the learning path will go. Don't think I know of a resource as good as FCC for python, but if you can survive on just free and organised ebook, videos and active support group - then Web2py is my definite recommendation for learning Python and all the way to web development  - Why use Web2py?.

If you must go for RoR, for learning web development for free Using Ruby on Rails, it's The Odin Project or (free for now, Udemy course - Ruby on Rails Tutorial for Complete Beginners) Comparison between the two: FCC over TOP or here . Long story short - unfortunately, it seems the founder has focused his energy on VikingCodeSchool rather than updating TOP.

All things considered, go for FCC for the long run!

So why Javascript/Freecodecamp?

For some obvious reasons.

One, it's popularity is undeniable as shown in below graph. That means the community support too.

Two, this post is inspired by the a really excellent resource found online. Sometimes, or more often than not, our learning can depend heavily on whether good resources or courses are available to us at the right time.

Just like editor is a really good choice for code editing, or web2py web framework for learning python web frameworks, I find (FCC) to be outstanding and refreshing as a learning platform to become a developer (for non-profit / look for a developer job). Best of all, all is free. Just the time and effort to learn and code.

There are quite a number of advantages for going with FreeCodeCamp, to name some:-

  1. Work towards non-profit or practical projects
  2. Extensive and Intensive: Complete and comprehensive path from novice to Front End Development Certification, Data Visualisation Certification, Back End Development Certification, Full Stack Development Certification
  3. Can be flexible and jump around
  4. Good, visual Step-by-Step tutorial guides (at least in the beginning)
  5. Interactive Coding Tutorial (at least in the beginning)
  6. Beginner friendly and ease of site navigation
  7. Can be a fun learning experience at least in the early stage e.g. cat references and fun range of positive hoorays.
  8. Big, strong community with  >223k campers,  >10 millions completed challenges,  >39k chatroom members and multiple chatrooms! And Twitch TV broadcast
  9. Pair programming concept
  10. Free and open source
  11. Friendly to both sexes
  12. Report of success stories, people getting job while learning
  13. On-going development / addition of materials
  14. NOT just simple javascript but covers more e.g. HTML, CSS, MongoDB, NodeJS etc.
  15. Systematic path to being a developer and even covers Coding Interview Preparation!
  16. Accountability of how many tasks covered and complex subject broken down into simpler steps may help overcome procrastination and break quitter habit

For this quality of comprehensiveness to intermediate or advanced developer course, I think one will be hard pressed to find a better one, and for FREE. Sure there are other resources, in terms of learning javascript or even looking for a developer job, but this may well be the best one to stay focus on.

Remember, to study one subject or language well, we normally have to scout for good resources, may have to spend money on it, take the time and effort to go through it, and then when problems arise, we have to search and look for solutions, one may still have to market or prepare oneself for interview to look for a job.

So far, the interactive coding experience, well-planned curriculum in a step by step progressive and systematic learning approach makes it a really pleasant and yet disciplined way to reach the goal of being a developer. FCC, it seemed, has remove much of our external obstacles to learn programming. Payment? No need because it is free. Disoriented? A full curriculum map to show you where you are. Lost in between? No worries, steps are available to help guide the completion of each learning topic. Stuck even after googling? Strong and active community to help you learn.

Because of the flexible nature of working on the codes as and when it suits an individual, as opposed to the way a physical bootcamps require the candidate to be on-site which means that he/she is preferably young and able to take long physical toil and mental stress, this got my vote too. This works for a busy, working adult does not mean it won't for someone serious enough to treat it like a full-time course.

My gratitude to FCC. It is perhaps what I am looking for these many years.  Yes, one may learn from Udemy or Udacity or other learning platforms, but the advantages outlined simply outweigh the competition in my opinion. Now a free, practical, flexible, professional, certifiable and complete course is available to anyone with internet access. And it may very well better those paid or costly courses offline or online out there!

To top it off, you may like the learning experience as much as I liked it. The affirmative, constructive cheer-ons upon every correct code submission, and the use of cute, loveable  kitty cat references to make it fun in the early stage.

Really, even Udacity job guarantee in one aspect will set you back by hundreds of dollars, but four certifications you get for free, provided of course you put in the time and effort to finish the assigned projects. To be fair, no job guarantee at FCC, but think about it, if one follow and complete the many projects, it's hard to deny one's capability and development skill as a coder, right? That I value to be more than just talk without substance. And not to forget its coding interview preparation alone takes 80 hours long. Altogether, the whole FCC syllabus or complete course path can take more than 2000 hours, so you get the idea the kind of skill level.

That's something about Free Code Camp learning experience that helps to learn the concepts that others may not offer, I'd think it is  the breaking down, easy explanation and interactive coding experience to illustrate the concepts being taught.

By the way, note that FCC community is huge! more than 99 thousands chat members  and more than 500 chatrooms. And there are local Facebook FCC groups across the world. Quite a large gathering for a project that started less than 500 days ago, don't you think? For example, here are eight of the many chatrooms available and a collection of more than 530 pages of challenges or information.

Perhaps the best part of it is the accountability or display tracking of one's progress of how many accomplished tasks. It is like a game or to-do list or daily journal to remind one of what to do next. Other than self-discipline, I think this is a really good way of keeping oneself on track instead of quitting easily or quickly.

I also like and appreciate the fact that one can view a camper's public page display of his or her points or number of completed challenges  (if he/she did not choose to hide) below his profile name) + brownies thanks received from others, then one can tell how advance his skills. I guess this is a big plus for potential employers - both job or freelance. At least there is a unit of measurement to tell a first glance how proficient a person is at Javascript or Web development. To transparency, equality and accountability!

What is different and special about Free Code Camp is a combination of positive aspects. The quality of the materials (after more than 100 challenges, I'm satisfied.). The active and large community. The challenges completed counter to help motivate oneself one step at a time. Comprehensive curriculum. Initial interactive coding experience allows students to focus on learning itself. Free to learn and complete with 4 attainable certifications, more than 2000 hours of learning. Supports and encourages non-profit and ladies to code causes. Works for both busy adults and full-timers. During and after certifications resources - interview preparation, linkedin profile and ready github projects for others to view.

While I took other paid online courses before, what is impressive is that FCC does it better than them, and for free! This outstanding learning platform makes me wonder about people spending so much money on stuffs that has little or no value or return, or worse than complete waste of time and effort, or so much debt before even getting a job and earning anything! This is not about telling you to quit school out of sheer impulse because there are obviously benefits to the education system but more of taking a realistic take on your future life. Read I spent $110,000 on grad school, only to realize that the free online resources were actually better.

There is no need to hunt and figure where and what books, courses, technologies and frameworks to learn from, other than data visualisation learning modules that are not ready yet or for projects assignments. But the map is a clear layout of what is to be done and learn to complete the objective to being a developer. The Front end and back end development two certifications learning materials are complete as far as I know. Even without data visualisation and full stack developer, one is still in pretty good standing, I would think. I read of people being hired before completing the whole curriculum. (No one has completed the whole course yet to the best of my knowledge). Therefore, FCC is still my top recommendation for learning to code and be a developer, rather than confuse or distract with the many options available out there. Not many, if any, will provide a path as comprehensive and cost-effective as FCC, I believe.

Perhaps there are really good, free coding courses that may be on par with FCC, but none so far I know of yet, imho. Don't overlook or slight FCC because it's free. Go through and seriously take the time to learn, I believe you too can be a skilled and professional web developer!

*Data Visualisation Module still in progress construction as of 11 Feb 2016 but certification should be attainable upon completion of whatever is ready to work through e.g projects. According to here, React, Sass and D3 challenges will be released in Spring 2016. This is one of the good stuffs about FCC,  on-going development/ addition of materials. These two posts and Twitch FCC may give you an idea how active Freecodecamp is going - Summits Ahead and Tinkering Toward Simplicity.


It's been more than two weeks since joining with FCC, and I am pretty satisfied and appreciative of it. Even paid or professional courses may not compare to its quality and extensiveness of deliverance for web development and code learning for certification, assignments and non-profits projects experience. And for the price of: Free!

To re-iterate the point, this may or should well be the free and quality online course what some like me had been searching for all these years. To date, is there any such free online coding course that is this good that I know or came across? I do not think so. It is this good!!

Even if you are not into IT jobs or field, it can be a good playground for logic training and earning certifications or experience for increasing your market value as a developer.

Definitely recommended: (FCC)

Just head over to FreeCodeCamp, sign up and see for yourself :)

Testimonials or success stories? Go here.

This may be by far my best discovered gem of a learning platform for learning to code or become a web developer or even getting a programming job starting from scratch! Just look at the curriculum, and take some lessons to test it out free.

Have fun learning and be kind!

Thank you FCC - its founder Mr. Quincy Larson and other contributors!

Good luck!

References / resources

Sunday, January 24, 2016

Why use Web2py?


Last update: 6th March 2016

Unless you must program in Python, my latest and best recommendation go to FreeCodeCamp, read more here.

Download free Web2py ebook  and/or free Web2py Vimeo Album Videos

There is also a free Udemy course on Python and Web2py that is still under development as of this writing.

As Massimo Di Pierro (original author of Web2py) said, " the main advantage/objective of web2py framework is to be the easiest and fastest to develop web applications".

Friendly and ease of use

Web2py has a friendly, approachable outlook and feel to it e.g. GUI environment and web2py simple examples and more. There is a lesser learning curve and so much easier to deploy. So fast it took me less than two hours to run a hello world app site and deploy to python anywhere, learn and see how fast you can do it from killer web development. In fact, web2py is the only one that I got deployed after spending some tinkering with Django and Flask too. When it comes to the complexity of web frameworks, makes one wonder is it not the purpose of technological advancement to make life easier and simpler rather than not? This is straightforward, I think, there is much to learn before one can even do serious Django proper. Flask is easier than Django, but gets complex soon. Web2py is the simplest to get started quickly for me so far, but that does not mean it cannot be used for production. It is so friendly that running the server, file editing and web page views can all be done from the graphical interface, like an all in one package - that in itself, my friend, is in a league of its own, I feel.  That means you can even edit the codes from the desktop graphical interface without hunting high and low for a good and hopefully free code editor. In case you are wondering, my recommendation goes to the free code editor that comes with free manual ebook.

Of course, when it comes to coding, one is more likely to fire up their favorite editor to modify the web2py files. Your choice.

Why is web2py important?

As a learning ground to pick up web frameworks. There is perhaps a gap between finishing a python beginner course and web framework coding. Web2py can cover the basics, yet not an overly simplistic framework to the point of just being a play toy. I like the fact that it can be used for learning easily, and expanded to become more advanced, or bring the same concepts over to other more 'intimidating' full-fledged frameworks. For those who could NOT seem to grasp or find web framework too tough to learn, then you may owe it to yourself to discover the importance of learning from the ground up the easy way, and work yourself up in steps. Even if Web2py does not support Python 3, still I consider it a good framework both for learning and production.

For learning Python and all the way to coding developing framework for deploying web applications

Though Django and Flask are much more popular than Web2py and seemingly learning Web2py would be taking a longer route to web development mastery, this may not be the case. Hear me out, you see web2py really may be deployed much faster, kind of like what I'd think a seasoned web framework made easy for others should be. Some of us may want to get productive with a site to show for it quickly, novice can get to see a website built to help support their confidence and an idea what they may accomplish in a short span of time. Also, Web2py can support module packages.  Further, the concepts you learn here may help you understand other frameworks too, as a stepping stone to Flask and Django. To top it off, do you know that there are free web2py ebook documentation that covers from python to web2py and lengthy web2py 30 videos album that can be watched and downloaded free? Personally, I find the free ebook documentation, videos, active support and the productive framework, even GUI based, to be commendable, and the only one so.

Bridging the Gap from python basics and web frameworks

I'm not sure about you but I find there is a gap or difference between learning python syntax for basic programming to understanding MVC web frameworks. When looking up stack exchange, stackoverflow or the likes, those who replied in regards to the framework questions are normally intermediate to advanced in their gameplay. But how did they get there? And is everyone cut out to learn the same way as they did? Is there a good and simpler, gentler way to learn a python web framework? These are basic, important questions I think newcomers should be asking or shown first before a bunch of advanced instructions, manuals or solutions. Just like the basic of programming starts with conquering with the smallest of tasks in bits then slowly progressing to more specialised topics, I think it is the same with learning web frameworks too. And guess what, the easiest web framework I found is web2py. Not easy like small framework like Flask, but easy like graphical interface, coding in the browser and learning from the ground up and even way up to advanced integration with other python python modules. Thanks to Massimo and other developers for the open source Web2py. Though there are other web framework solutions out there, but Web2py is a free complete, documented with free resources (ebook and web videos) and support, and beginner-friendly solution - this, I think is a hard deal to beat.


Active web2py Google Group forum here. For documentation, online manual and pdf download available hereKiller Web Development has done a good job of helping to learn (though somewhat outdated). Web2py is also covered in Book 2 of Realpython / Crash course in Web2py by Michael Herman.

Learning Path Recommendation?

Oh, rather than be distracted by the many, perhaps the best way is to just stick with the path recommended by 


If you want to learn python and web development for free, this may be the one of the best option available :- Web2py ebook .  Then followed by the free Web2py Vimeo Album

Unconvinced? Why not hop over to a Step by Step Tutorial (The Basics) and glance through the images.


Be kind.

Sunday, January 17, 2016

R and Python


25 January 2016: Machine Learning with R free ebook. Get it free in less than 5 hours.

22 January 2016: R Machine Learning Essentials - Grab free in less than than 24 hours here 

18 January 2016: Building Machine Learning Systems With Python eBook- Grab it free while offer runs out in less than 21 hours! Kindle version, not free (affiliate link) is also available on Amazon, though to be honest, unfortunately the reviews are not too positive.

Read more here about Python vs R for machine learning.

For jobseekers who gravitate towards Machine learning, here's Udacity's Nanodegree Plus - Machine Learning - Get hired guaranteed, conditions apply.


In my previous post on learning a new programming language: Python,  Data analyst is mentioned or recommended.

Programming had progressed and become more complex over the years, may no longer be just about compiling a COBOL file and expects an simple output or just Msgbox(), lists and writing to database in Visual basics. It can still be but more people are looking for more than one skill set to filter out the applicants, understandably and sadly so. I may be wrong, there were challenges and hardships in the past, modern times too has its list of it - some overlapping and new I suppose. People are expected to know so much more before they will be considered for intermediate , higher position.

Nowadays, to be a decent a programmer, in my opinion, one may have to dabble in a few technologies to be proficient. For example, writing and sharing decent projects on Github, and then perhaps deploying them on another platform can be a an important and direct way to telling employers or clients what you had done. Another example is the the use code editors or IDE, in order to be a coder, one most likely has to be familiar with certain code editor of his preference, even testing and configuring for one that works and satisfy his requirements can be time-consuming before even beginning to code. Of course, some may just prefer to just code in basic notepad/Vi/Emacs. So far, my choice is Atom editor and SublimeText could be my next best choice. Online editor, I would recommend giving Cloud9 a shot.

While learning Python, R kept popping up while browsing the websites. Basically, R programming seem 'tailored and focused' on data analysis. Python is a general purpose, syntactically clean language that can also do data analysis e.g. Pandas, but looks like R is so geared towards mathematics, statistics and existing packages for this purpose. More here on Quora if you are interested.

Should you learning R, python or both?

I guess it all depends on what you want to accomplish. Say for example, if you just want to get hired to do Machine Learning, then you might as well enroll in Machine Learning Engineer Nanodegree Plus, which may not focus solely on R. If you are mathematically competent with a curious tendency to focus and explore data and graphs, then R programming can be your playground. I would think a coder who may have a general interest in programming, unsure about what his future or interest, then Python can be a good choice that can develop in different directions, ranging from web development, data analysis to database administration. Of course, those with the aptitude can do both, then again, consider if you are overloading and distracting yourself from being skilful in one, especially for a novice programmer. Or learn R after Python. To each his own.

Personally, I like to research and map out what are the possibilities and where it goes. I prefer Python official site's design, outlook and content to R-project website for one.

Above are two graphs to help understand how Python and R compare under development tools.


If you ==  mathematically or statistically inclined towards data analysis or machine learning:
    Learn R and/or Python
    Learn Python

In any case,  if you wish to learn more about R programming, below can be good courses or resources to get you started.


Free and paid: 13 R programming related courses - Datacamp

Free -  R Basics - R programming  introduction - Udemy

Free - Data Analysis with R - Udacity

Be kind and best wishes.