Programmers Can Get Into Machine Learning

In this post I want to show you that programmers can get into machine learning.

I will show you that learning machine learning can be just like learning any other piece of high technology.

We’ll compare learning machine learning to learning to program in the first place, which may have been an even larger challenge.


Image license some rights reserved by iwannt

A Designer Wants to Code

Pretend you are a designer, say a young web designer. You make web designs in Photoshop or something and maybe snip up designs and turn them into CSS. You hang around programmers and maybe you have a little coding envy. You think you might want to learn how to code. Rightly or wrongly, you think that CSS and HTML are “practically coding”, that it’s all creative expression, that programming is just another medium or outlet for your creativity.

You jump on Quora or StackOverflow and ask a question like “I’m a designer, how can I learn how to code?

You get answers back that are all over the map. You get seemingly seasoned and expert programmers gifting you free advice like “learn ANSI C and pointers”, “learn binary”, “buy a book on ASM”, “start with LISP”. Maybe an eloquent communicator drops by and writes a long and convincing reply that you really should buy and read Knuth’s The Art of Computer Programming. You take his advice, buy the books on Amazon and get as far as the introduction before regretting the purchase, hating yourself for not being smart enough and giving up on your interest of learning to code, only to repeat the same cycle in 3 months.

What happened? The advice seems like good advice.

The problem is the advice is retrospective. The advice is from programmers thinking about their craft and how people who are already programmers can be better programmers. The advice does not consider an absolute beginner, an interested amateur looking to dip their toe in and see if they want to go for a swim.

Now I agree, the world is a little different now. This problem has been identified and there are great services out there tackling exactly this problem, i.e. teaching people how to code.

Sure, maybe we learn pointers, binary, ASM and LISP and even read sections of Knuth (no one really reads it cover to cover right?), but that comes later. But how did you start out? I started out hacking together things, trying things out, experimenting, creating and learning. I dove deep into the technical detail later because I wanted to create bigger, better and more powerful programs. I didn’t started in the technical detail. I think this experience might be similar for a lot of programmers out there, was it like this for you? Leave a comment.

A Programmer Wants to do Machine Learning

Now, if you’re reading this, you’re probably a programmer or some kind if developer. Think about your interest in machine learning. Have you had a look at some of the responses from seasoned and expert machine learners gifting you free advice on how to get started?

I’ve been searching for and reading this advice and some is good, much of it is not. I’ve collected some samples below:

What math skills are required to learn machine learning?

  • You absolutely will need to be comfortable with basic linear algebra (manipulating vectors and matrices) and working with logarithmic and exponential functions.
  • You’ll need to know Linear Algebra through Eigenvectors if you want things to be “easy”.

Is a strong background in maths a total requisite for ML?

  • You do want to have some familiarity with probability, linear algebra, linear programming, and multivariable calculus.

What skills are needed for machine learning jobs?

  • First, you need to have a decent CS/Math background. ML is an advanced topic so most textbooks assume that you have that background.
  • Statistics, Probability, distributed computing, and Statistics.

There is some really great advice in there, but is this advice appropriate for the absolute beginner? Is it appropriate for the programmer dipping their toe in the water to test the temperature?

Maybe people are asking the wrong questions. Also, I’ve cherry-picked snippets of answers that suggest one needs maths before they can get started in machine learning. The point I want to make is that a beginner is going to focus on what they don’t have and what they can’t do. They may give up before they have even tried.

I absolutely agree that having a strong grasp of linear algebra and probability will provide an excellent base for getting into machine learning. I absolutely agree that The Elements of Statistical Learning is a tremendous book on multiple levels. I just don’t think that the first step a programmer interested in machine learning should do is take a math course or read a dense theoretical treatment of the field. I actually strongly recommend against it.

Two Machine Learning Fields

There are two sides to machine learning:

  • Practical Machine Learning: This is about querying databases, cleaning data, writing scripts to transform data and gluing algorithm and libraries together and writing custom code to squeeze reliable answers from data to satisfy difficult and ill defined questions. It’s the mess of reality.
  • Theoretical Machine Learning: This is about math and abstraction and idealized scenarios and limits and beauty and informing what is possible. It is a whole lot neater and cleaner and removed from the mess of reality.

The practical side cannot have frameworks and rigour without the theoretical side. The theoretical side does not have meaning or motivation without the practical side. This dichotomy is false, it’s really a sea of tools and equations, but stay with me.

As a programmer, you may have a penchant for the practical side, but you will reach the limits as a “technician” and will require an understanding of the theoretical side to be able to effectively improvise. You must read mathematical treatments of algorithms, you must work through dense text books. That is what it takes to do well in the field. And the problem is, that is the advice freely given from practitioners to beginners, which is idealized, suited to the intermediate and is inappropriate to the beginners.

Programmers Like Power Tools

I think it’s useful for an experienced programmer to think of machine learning like an advanced programming topic, like threading (stay with me now).

If you want to get into threading you just write some multithreaded programs and get an idea of the power it can unleash. You make all kinds of blunders, but some of the things you prototype work and you get glimpses of what is possible. If you decide this is for you, you can read books and go deeper.

You can use libraries of existing multithreaded constructs, you can write your own, you can go deep and learn about some of the more mathematical subjects behind the various threading constructs. You let your interest drive you learning and eventually you can credibly build and deploy production multithreaded code. It’s a process, not a step change.

Now obviously, machine learning is a larger and more diverse area, but the general stepped strategy is the one I advocate and will elaborate in a future post.

You don’t go from a beginner to running a team and put machine learning systems into production. The danger zone is real. You can and will learn just enough to be dangerous. But your self discipline learned from wielding the power to program machines (also your process of code reviews, peers and mentors, and common sense) limit those very real dangers.

Just like learning to program, learning machine learning is a journey where the learning does not end, mastery really means continuous education. Learning to read equations, turn them into code, and write your own to frame your problems may be rest stops along the way, if you’re interested.


I’ve listed some resources if you want to keen thinking on this issue. It’s a little deep and I’m sure we can generate some good discussions.

  • Scroll up and read through some of the answers to the StackOverflow questions listed above. There are answers there that discourage programmers unless they know maths, but there are also other really encouraging answers that will really lift you up.
  • Why becoming a data scientist might be easier than you think A Gigaom post that points to case studies for the general opportunity for the analytically inclined (like programmers) to start from scratch in Data Science and quickly become internationally competitive.
  • Is mathematics necessary for programming? Interestingly, I think the arguments for and against are very relevant and a useful perspective.

This is a pretty charged post and I’m really interested in what you think. Discussing this issue with friends, I do hear a lot about the danger zone and the options for progression for “the technician” machine learning apprentice. I will follow up on these two topics in future posts.

What do you think? Is there an substance to my proposed similarity between learning to program and for a programmer to learn machine learning?

47 Responses to Programmers Can Get Into Machine Learning

  1. Avatar
    Shantnu December 1, 2013 at 10:12 am #

    Good points.

    I think the problem with most “experts” is, they hang out with their own kind all the time, they get a narrow view of reality. Pretty soon, they lose touch with the outside world, and forget how hard it is for those just starting in. Like elephants/horses with eye flaps, they can only see in one direction.

    I was reading a blog recently, where a guy was moaning how the people were sick of “all these Bootstrap websites that look the same.” What he meant of course was, that he was sick. The problem is, the average user doesn’t look at hundreds of web apps a month. They look at maybe 4-5, of which 3 are Gmail, Facebook and Yahoo/Twitter/something. So unless your website is aimed at professional designers, your target market will not be “sick of seeing 100s of similar websites”.

    I disagree with the technician danger zone you mention- to me, it sounds like the “Oh we spent five years studying this, how dare this noob try to upstart try to upstage us. Remember your place, kid.” But, I will withhold judgement till you write your blog posts.

    You make some really good points about how beginners are being pushed towards books that are completely irrelevant to them. I think there maybe 2 reasons- one is a simple lack of empathy. Most programmers are not social people, and their social skills are poor at best (though why they don’t develop them, I don’t know).

    The 2nd, more insidious reason, the one that really gets me, and the reason I stopped going to many forums, is this “macho culture”. Real Men (TM) program in C, Assembly and Lisp. They all have Phds in Maths, and spend their spare time writing beautiful code in Haskell; none of this fancy Javascript for us, thanks.

    But I will shut up, as it looks like my comment is getting as long as your blog.

    Good blog, keep the posts coming.

    • Avatar
      jasonb December 2, 2013 at 8:04 am #

      Hi Shantnu, great comment.
      I think you’re spot on when you say experts spend time with experts and forget what it’s like starting out. I think this can explain why beginners are given advice that is more appropriate for intermediates to advanced levels. You’re analogy with the guy and bootstrapped websites looking the same is apt.
      I think there is a danger zone, that it people could learn just enough to be over confident and build systems or generate results that they cannot interpret – which could do more harm than good to themselves or their organization. My point is that similar danger zones exist on other technical fields, such as programming! It’s an interesting thought and I don’t have it all straight in my head you, it might make a great future blog post.
      Thanks again for your thoughts, they’re very much appreciated.

  2. Avatar
    qnaguru February 17, 2014 at 7:33 pm #

    For a newbie I guess best place to start is with Tools – let the Tools do the Statistics for you.
    Once you get a hang of it – you an start uncovering what the Tool is actually doing underneath…

    I read something on these lines perhaps on this site or elsewhere 🙂 And i agree.

  3. Avatar
    Kartik January 8, 2015 at 4:58 pm #

    hey, jason
    I have been following your blog since a long time.
    this is how I am trying to learn machine learning.
    Tell me if I am on the right path.
    I have started with coursera ML andrew-NG course.

    what I do is after I have watched the video I try out the exercise i.e mostly implement the whole algorithm and code the equations and pass the clean data through it.
    so, that I can understand the code and equations.

    After that I implement the same exercise using sklearn library which I find pretty easy to use.

    then may be couple of small already implemented projects using the library.
    some from the book machine learning in action.

    I have not used the tools yet, I have downloaded orange .. but not used it yet.
    I am also thinking on participating in kaggle competitions or download some data and do some analysis and some web scrapping projects.

    I am not learning linear algebra, probability, statistics as I have basic knowledge of it but, not in depth. but I pretty much can understand the algorithm.

    Am I on the right track ???

    • Avatar
      Jason Brownlee January 9, 2015 at 5:17 am #

      Hi Kartik, it sounds like you’re doing very well.

      One additional thing you could do is to share the results of your small projects on a blog or github and start building up a public portfolio. This would help to show you how far you have come and demonstrate what you are capable of.

  4. Avatar
    Simon Shen January 23, 2015 at 1:06 pm #

    My name is Simon, I am a computer engineering master student in University of Florida. This semester I am focusing on machine learning and data mining by taking courses as “Pattern Recognition” and “Big data ecosystem”. I am just a beginner. Your blog is really good! I hope I can communicate with you during study!

    • Avatar
      Jason Brownlee January 23, 2015 at 1:41 pm #

      Reach out any time Simon. Good luck with your study!

  5. Avatar
    Phil Marneweck August 24, 2015 at 6:04 pm #

    If you don’t want to do the run of the mill thing like recognize faces where some one has already written the code for it with clear examples of its usage, you are dead in the water without the maths and statistics ,

    I have tried various blogs books and online courses which claim they use minimal maths … pffffffft. Linear algebra is not minimal maths, neither is the statistics.

    Using other peoples implementations of ML algorithms is not simple or clear either because if you get down to it there are a lot of ways each ML algorithm can be implemented and the choices made by the implementers has an effect on how or why an ML algorithm will work for your case or not.

    I would say start with the math and then go on to the statistics and only then look at ML or you will be very frustrated very quickly. A few months spent on the maths and statistics will stand you in good stead in the future with or without ML.

  6. Avatar
    Pravallika August 16, 2016 at 2:15 pm #

    HI Jason,
    You said that we must have a strong background in CS / Mathematics but actually I done Engineering from stream of Electrical and Electronics stream but I am having good knowledge in Mathematics. Can I get Machine Learning even I am not having any experience.

    • Avatar
      Jason Brownlee August 17, 2016 at 9:48 am #


      Focus on learning how to work through a machine learning problem end to end and delivering value. The specific tools and languages are just a means towards this end.

  7. Avatar
    Praveen January 19, 2017 at 6:59 pm #

    Hello Jason,

    I follow all your clear strategies you discuss in your site. I feel sorry for missing this blog in ur site, really useful and the analogy u have given is quite true and also happy that I’m following same path 🙂 …. Also, ur book ‘Master Machine Learning Algorithms’ is really good. Your hard work is well appreciated.

  8. Avatar
    Tom Aronson April 29, 2017 at 11:06 pm #

    One of the large problems in Machine Learning, Information Technology, or other fields is the company fascination with recruiters or “headhunters”, Typically there are job descriptions with multiple bullet points. Headhunters represent their employer clients. Many, and it has been my experience to even say most, have no idea what they are selling. So possibly a beginner, or even an experienced developer or person who may be pretty strong in math, statistics, whatever reads these points. Of course most have the requirement: “Phd in Math, Statistics, Physics, Computer Science or other technical discipline” required. So of course those without a doctorate quit there. This is a screen so the company and headhunter don’t waste their valuable time (sarcasm implied here.)

    I think the solution is to learn the material at the level you can and increase your knowledge as the post here suggests. Then try to discover where you can learn on the job and also contribute through the hidden job market – through meetup groups, researching those in the industry and other companies who work with ML and related. I have several Masters degrees in technical areas and many years of Information Technology experience and have taken many math, statisrics, and other courses. I cannot make a real dent using the advertised and headhunter route so I have to use different ways also – not easy.

    Keep up the good posts Jason.

    • Avatar
      Jason Brownlee April 30, 2017 at 5:30 am #

      Thanks for sharing, great points.

      I would also point out that there are millions of small-medium companies that need people with these skills where you can talk to the managers directly during the interview process and level with them about delivering real value on low hanging fruit.

      Let the fortune 500 have the phd-level guys and the fortune 5,000,000 can get on with getting results.

  9. Avatar
    Jason Holtkamp May 9, 2017 at 12:33 pm #

    Thanks so much for writing this. Your analogies really struck a chord with me because it reminded me of myself during the first few weeks and months of learning to code. I initially got into programming by teaching myself and eventually fell in love with it, so after a while I did a software engineering bootcamp (Hack Reactor). Now I work as a javascript engineer.

    Making the jump from JS engineer to ML engineer used to seem like an insurmountable goal because I don’t have a degree in math/stats/computer science, but the more I read, the more I’m encouraged to start working toward it. In fact, it was only about 2 years ago that I thought it was impossible to make the jump from management consultant to software developer (I was wrong).

    Definitely bookmarking this site and sending the link to friends. Thanks again Jason.

    • Avatar
      Jason Brownlee May 10, 2017 at 8:41 am #

      Thanks Jason, I’m so glad to hear that.

      Stick with it! Focus on getting results and back-fill understanding later.

  10. Avatar
    Vlad September 15, 2017 at 8:10 pm #

    amen for an article that speaks the truth. started learning python a few weeks ago (first time learning to code), motivated by all the accomplishments of machine learning. useless to say, the guys where i took the course were trying to teach python as if i was a programmer learning a second or n-th type of code. which was not the case, on the contrary, programming didn’t work for me at a fragile age, i’ve thought that was sad and insisted. So here i am, saying thank you for a great blog. You keep my motivation alive, in spite of the mistakes other teachers made.

  11. Avatar
    Jack Krick December 30, 2017 at 4:44 am #

    When you say “ASM” above, are you referring to assembly language?

  12. Avatar
    John Krick December 30, 2017 at 6:08 am #


  13. Avatar
    Vineet February 20, 2018 at 6:25 pm #

    Jason brownlee, i am an database programmer in sql server,
    I want to learn machine learning, is it possible to learn machine learning.
    If so, then kindly suggest me how to start with the materials related to it

  14. Avatar
    Rajendra March 27, 2018 at 10:28 pm #


    I have a question for you .. I am from SAP background where ABAP is the programming language(SAP ABAP). I dont have much knowledge on CSS, XML, JAVA etc..
    I learnt C programming in my college time and now I am learning Python slowly.

    If I want to be good at AI and Machine learning can I go there and is there any link with ABAP progamming with machine learning(Python), which I don’t think..

    Any helpful answer?


    • Avatar
      Jason Brownlee March 28, 2018 at 6:28 am #

      Sorry, I am not familiar with that language.

      I’m sure you can pick-up Python or R very quickly.

  15. Avatar
    zhaowei July 17, 2018 at 1:31 pm #

    Great post and cant help laughing out loud when I saw “satisfy difficult and ill defined questions”.


  16. Avatar
    Randolph July 22, 2018 at 1:20 pm #

    Jason found your site. Your approach seems very practical for beginners. I am all in.

  17. Avatar
    Hermoine July 23, 2018 at 6:38 pm #

    Hello Jason,

    Great post ! I have been working as a process manager and am really interested in Machine Learning. I am looking for a career shift. What are the kind of job roles , I should be looking at in the future to leverage my past skills as well.


  18. Avatar
    vishnu November 24, 2018 at 5:36 am #

    Thanks, Jason for your wonderful blog. I’m a developer just started learning ML and your books and blogs are helping me a lot. You are my mentor. Best Wishes !!!

    • Avatar
      Jason Brownlee November 24, 2018 at 6:37 am #

      Thanks, I’m happy to hear that the tutorials are useful!

  19. Avatar
    SAK December 19, 2018 at 12:36 am #

    Hi Jason,

    Thanks for such a nice post. I am working as a RPA developer. I very passionate in learning machine learning so that i can come up some good ML predictive service just to make my RPA bot smarter.

    But Really i am confused terminology like Machine learning, deep learning, NPL, artificial Intelligence. Just give me a very clear cut difference between these terms and also guide me how can I start with cognitive platform.

  20. Avatar
    sandipan sarkar June 27, 2019 at 7:07 pm #

    wow there is so much to learn just going through the reviews.I am an aspiring data scientist.

  21. Avatar
    Tom Franken July 16, 2019 at 2:22 am #

    Kind of like dates are critical in history. Unfortunately, we are drilled on dates before we know the STORY.

    We have enough tools to get a long way into ML before we need to understand the math behind it. That said, I’m struggling trying to understand all the parameters in XGBoost so I can make reasonable choices while tuning. Those AWS GPUs add up!

    • Avatar
      Jason Brownlee July 16, 2019 at 8:20 am #

      Great analogy!

      Perhaps you can spot check on smaller models with a subset of the data? Often (not always) good configs scale.

  22. Avatar
    jennifer williams July 16, 2019 at 6:10 am #

    I’m just getting into machine learning and yes, feel quite overwhelmed by all the recommendations about what I should learn in order to start this process. I am also someone who ( for a variety of reasons ) developed math phobia as I progressed through high school and university.

    Fast forward to today… now using as my go to web-site to brush up on my math when I need to…is a great site and is truly FUN!!!(Never,ever thought of math as fun!!) Now the principles are clear….yes it can be simplistic at times but the site is designed to bring students in HS and younger up to speed on critical concepts quickly…..and in a completely non-threatening way

    Am using Jason’s course on ML and WEKA as well as

    as my basic references for understanding ML concepts, running algorithms and understanding how to interpret results.

    • Avatar
      Jason Brownlee July 16, 2019 at 8:25 am #

      Well done Jennifer!

      It’s great to have you here as part of the ML Mastery community.

      Weka is a really good (and often overlooked) way for getting started and getting good at the process of applied machine learning!

  23. Avatar
    Jason August 3, 2019 at 2:09 pm #

    I like to consider myself a C#.NET developer. Well I have to if I want to go pro. I feel it is important to constantly believe “you are a programmer.” No matter how difficult it gets, or how many defeats you have. This assumes you have decided this is what you want to do with your life. I have made this decision. But even though I try to get at least 12 hours per day of coding practice, it is a weary road. I always feel like I am barely scratching the surface.

    Mathematics can never hurt to learn as a programmer, due to the fact it is the ultimate problem solving discipline. But there lies the problem, getting a grip on mathematics to use in code and solve problems is huge. I am just trying to master one programming language, pile math on top of it, that is daunting. But I think about that a lot, I look at computer programming problems and wonder how it could be solved mathematically. But I just wonder, I am no where near that level.

    But at least I know the truth now after years of wondering, “Do you need math to be a good programmer?” Because at my frustration of not being “gifted” at coding I always wondered if I am just wasting my time. Doubting myself, feeling stupid.

    The answer is no for the most part. For games it depends. For ML I don’t know. It seems you will have a really hard time if you don’t understand, Linear Algebra, Probability and Multi Variable Calculus. But it probably really depends on what exactly are you doing. Like game programming. You don’ need much math for C# Unity game programming. But a C++ gaming engine, absolutely you need math skills.

    In my opinion, hardcore Discipline is the real ingredient to become a programmer. I hope my theory is true, its all I got.

    The only thing that really interests me in regards to ML and AI, is military applications. Which you don’t hear anything about. But those applications are probably the most difficult and math intensive software in the world. Not many people do that kind of work.

    Like jet fighters that can be fed data to make decisions about the world around them. Fire missiles on their own with inhuman precision. Drones that can fly missions on their own. Stuff like that. But that is genius level stuff.

    But ultimately my point is, don’t let math or anything else get in the way. Just understand if you want to master a difficult subject. You need to commit to training your Discipline. Being gifted or really smart is great, but if your like me you will have to fight for it. And Discipline is your most powerful weapon above all things. That is of course my belief.

    • Avatar
      Jason Brownlee August 4, 2019 at 6:25 am #

      Thanks for sharing.

      Generally, knowing about the description of an algorithm using linear algebra or how it works using a probabilistic model is interesting and may help configure the model a little, bit it will not help you get a good model for a give dataset. There are no theories on how to map algorithms to datasets or configs to models for datasets.

      Programmers have such a huge advantage is because they can handle the empirical nature of applied machine learning so well. E.g. Run experiments interpret result, select the model with relatively better performance. It’s computational experimentation, writing and running code.

  24. Avatar
    Shaun A. June 2, 2021 at 12:32 pm #

    Not sure that you need another long commentary after the various replies above and your great blog. However, I have purchased a few of your books and like your to-the-point style, and probably buy more, eventually. This is a different view than practical vs. theoretical, however. I only see it as practical, unless you are a PhD student trying to just publish papers.

    I am an EE engineer and have been writing software (at all levels) for over 40 years. I certainly don’t consider myself an expert. So I am accustomed to breaking overwhelming problems down to simplify them. One has to know where they are [knowledge] and what their ultimate goal is. I see learning this subject like this:

    1. Beginner – exposure to new/solutions to replicate to get a the feel. Knowing a programming language is a must, as a required tool. Preferably Python here, because you will run into some obstacles with what is available for other languages later. But don’t let that stop you from exploring if your current language of choice has some ML support, for now. You will do inference on pre-trained models and maybe retrain models with the same original sample data. Realistically, no one is going to hire your with this level of knowledge, except perhaps to clean or process data, etc. But this should be a only a stepping stone. No math or statistics is required so far. There is a ton on this online and in intro books, outside of Jason’s excellent material.

    2. Intermediate – one would hone their skills at a particular sub-field of ML, by doing a lot of experiments, trying different models in that specific area to solving a problem or more, using what other people have designed. Perhaps writing an useful application using ML that can be utilized by others. Training a model with your own acquired data, adapting input/output size, adding a layer, breaking the model and fixing it. Using GPU(s), settling on a favorite framework. Reading the papers behind the model (skimming without 100% understanding.) You start to see the need for some linear algebra and statistics, but you can look things up. Download try and dissect GitHub ML projects. If you have fallen in love by now, you start learning these side subjects, as needed, because you want to get to the next level after.

    3. Advanced – ideally, this is the step where everyone would like to be! To be able to design and build your own models from scratch. To intuitively know what is happening inside the model, add custom visualization to debug, add optimization, design custom loss functions, re-implement models from papers only. Unfortunately, in my opinion, there are no classes or step-by-step books for this level of knowledge, it only comes by doing a lot (grit), struggling with experimentation, reading constantly and rebooting your knowledge along the way. But I envision it is fun, because I am not there yet!

    Not everybody has to get to level 3 to do useful work (as in product), but I think you could do professional work as an accomplished level 2, and still have useful knowledge on the subject if you stopped after level 1. I think Jason’s special topic books get you to the middle of level 2 – he is welcome to disagree, because I have not read all his books 🙂

    Best Regards

  25. Avatar
    Joseph Mussett June 21, 2023 at 11:16 pm #

    Thank you very much!!!

    Your words are really a glass of cold water in the middle of the desert when the sun is in the zenith. I am happy I found a person like you that can see with the view in multiple perspectives, from
    the side of a developer as also from the side of a mastered knowledge like your level.

    I am developer with some years of experience, and I really learned that the world of the developer or programmer is like to surf over the wave, the direction of the wind changes and also the beaches for to surf are different, anyway there are methodologies for realize the objectives. We always are in middle of the changes day by day , year to year.

    The point is where we are in this process? In the beach of the sea or on the wave or ready for to
    be on the wave. I like very much your perspective of this topic and I am very happy that I can follow you and navigate in this sea.

Leave a Reply