GitHub + Jupyter Notebooks = <3

I found new love! It’s everything in a box called; Jupyter (later version of iPython Notebook).

This is my first push a notebook to github. It automagically rendered into glory in Github. Made show-and-tell swifter with Markdown support.

Check this out!

Looking to get started? Simply commit a .ipynb file to a new or existing repository to view the rendered notebook. Alternatively if you’re looking for some inspiration then check out this incredible gallery of Jupyter notebooks.


I couldn’t afford Siraj Raval’s deep learning Udacity course. So, I curated his Youtube content instead.

It is sad. Because I can’t afford this £300 course, I could if the deadline did not fall this week. The course enrolment is ended today (20 Jan 2017), but if Udacity extends the deadline until next week, I’d certainly able to do that. Sadly, this is probably a one-time thing only at Udacity.

Who don’t know Siraj RavalHe is computer science version of Neville Medhora. He is one of the best youtuber in education — engaging, hilarious, non-BS style of teaching. Everyone loves him.

Anyway, based on the landing page — I notice most of the curriculum are resemblance with the content on YouTube. I haven’t watch everything yet, but, I know this is the closest equivalent what Udemy offers. So, I spent sometime to make this list;

It can’t be as complete as the course. This is the closest I could collect.

WEEK 1 Types of Machine Learning and when to use Machine Learning

Live Session: Linear regression from scratch

WEEK 2 Neural Network Architecture and Types

Live Session: Numerical classification from scratch
I assume this is basic classification. Siraj would probably feed data from classical csv, I don’t know.

WEEK 3 Cloud Computing and Sentiment Analysis

Live Session: Sentiment analysis from scratch and cloud computing detailed instruction

Sentiment :

Sentiment 2 :

WEEK 4 Math Notation and Recommender Systems

Live Session: Various math examples and recommender system from scratch

WEEK 5 Data preparation (cleaning, regularization, dimensionality reduction)

Live Session: Data prep from scratch

WEEK 6 Drone Image Tracking

Live Session: Image classification from scratch

WEEK 7 Prediction

Live Session: Stock Prediction from scratch

WEEK 8 Art Generation

Live Session: Artistic Style transfer from scratch

WEEK 9 Music Generation (LSTMs applied to Audio)

Live Session: Generating music from scratch

WEEK 10 Poetry Generation (LSTMs applied to NLP)

Live Session: Text generation from scratch
This is the closest with Poetry generation, using HMM.

WEEK 11 Language translation (sequence to sequence)

Live Session: Language Translation from scratch
Unfortunately, I can’t any topic on this on Sirajology. Hopefully, he will do this topic in the near future.

WEEK 12 Chatbot QA System with Voice

Live Session: Chatbot from scratch

A Tensorflow chatbot!

WEEK 13 Game Bot 2D (reinforcement learning via Monte-Carlo tree search)

Live Session: Game bot from scratch
There are many videos falls into this topic. Apparently, it is the most popular topic in Sirajology. Hence, I made a playlist.

WEEK 14 Image Compression

Live Session: Autoencoder from scratch

WEEK 15 Data Visualization

Live Session: Data visualization from scratch

WEEK 16 Image Generation

Live Session: Generative adversarial network from scratch

WEEK 17 One-shot Learning (Probabilistic Programming)

Live Session: One shot learning from scratch

All these are good supplementary prior to the course, I think. It’s still fundamental compared to a full fledge course with expert support. To Siraj Raval, I hope this post does not making you unconfortable. If it does, just let me know and I will remove it.

I would love to learn NN and GAN from Siraj (and also LSTM and Recurrent net to build translation chatbot into my native language?). However, I don’t have money because students like me are broke and don’t own much money.


Backpropagation inspired learning

If there is one thing we could learn from back propagation method in neural net is reverse engineering our daily learning process.

For example, if you are going to learn a complex topic. You could start with reading the technical (like Wikipedia) and so on. The problem is, that kind of materials are often messy and jumbled with even more technical (uh) and jargons. It will be overwhelmed before you reach an understanding of that particular topic.

Let’s take into more drilled example;

Say I would like to grasp a concept about Convolutional Neural Network; and I know the father of CNN is the Facebook AI Research director, Yann LeCun. Normally, I could go deep dive through his scholar page or his group publication site. But, that could take more time than I imagine just to understand a general concept and perhaps some comparisons. One easiest way I could do is browse to YouTube, and watch all of his interview or presentation about CNN. Usually, these presentations are present to a less technical audience (unless you watch academic one, still, it is simpler than reaching his papers from the beginning). Certainly, he will tone down the technicalities (and people friendly touch) so the audience could understand what the message tried to convey.

Usually, you will be able to learn the lower gradient of the complexity by his presentation or interview. Next, I will go to discussion site like Quora for more details before finally lead to his publications.

This way, you could learn faster and better. Remember the key here is FAST. I’m not saying that you do not need to learn the nitty-gritty or the bits and bobs of that particular topic, but these would like to push you in some way to get the better understanding and faster.

Elon Musk, also uses similar method becoming an expert-generalists in many, many fields. He starts first with the knowledge tree and gets the details later on. The structure is the most important part when you try to understand one substantial concept.

This easy hack is inspired by the same back propagation training method in the neural network. Learn the result or general picture first, and work backwards under its curtains.


Focus less

Found this powerful advice at Medium. I feel the need to re-post it here is a must. This post is credit to Dan Pedersen.

You cannot concentrate more, you can only concentrate less. You cannot try harder, you can only try less.

What does this mean?

It means that if you stop thinking about concentrating more, if you stop thinking about trying harder, you’ll do it automatically.

When we set up two targets – the thing we want to do, and the thing we are trying to do to make it happen, we lose focus and become distracted.

In other words, trying to concentrate more, or “trying harder,” actually distracts us from our natural ability to simply be in the moment and do it. In this sense, concentrating more equates to concentrating less and trying harder is equivalent to trying to try.

The Need To Win

When an archer is shooting for nothing he has all his skill. If he shoots for a brass buckle he is already nervous. If he shoots for a prize of gold he goes blind or sees two targets— he is out of his mind!

His skill has not changed. But the prize divides him. He cares. He thinks more of winning than of shooting— and the need to win drains him of power.

~Thomas Merton, The Way of Chuang Tzu


Epiphany

This piece is my commit to the practice of writing without thinking.

Since the past three or so, I’d found one small area that hasn’t been uncovered. It’s called small data or personal knowledge. I have the gut this one is imperative, and it generally appears people is joining into big data hordes. There are misconceptions of how big is big data is. The notion to grasp this is; big data is for machines, while small data is for human. One company is called Digi.me, has been a player year in this area. The company is focusing on archiving all personal user information into your own keeping. It might be similar to what I’m looking into, but the domain is relatively different.

It was an epiphany.

According to Forbes, small data is the genuine revolution. Forget about big data, because the real opportunity is the decentralised data wrangling. This area isn’t about large organisations running parallel software on thousand of thousands of servers, but about more people than ever being to ever collaborate effectively around a distributed system of information, which is a system of small beta.


Want to feel wealthy? Keep those small winnings grow!

Pat Flynn and Tim Ferriss is among of my fave productive people out there. They’re smart and productive. It made me think how high achieving individuals like them keeping everything productive and hit their goals every year.

What is actually they do differently from rest of us? What’s the most essential and practical thing they do that keeping their momentum up?

— They journal, daily.

Reflect on the wins

The first thing to keep feel fulfilled is to have a routine to record your little winnings every day. You’d finished summarising that 20 pages long research paper? Record that. You completed 5 miles jog today? Make it into an accomplished list. Small winnings psychologically keep you happy. It is also the act of gratitude. Tony Robbins call this as the magic moments. Journalling helps to capture accomplishments and magic moments.

At the end of the year, you could reflect on what you have done and accomplish from the past, that usually we might be forgotten what we have done in the past. Journal is a practical tool to reconnect to the right track if found yourself lousy and lost. Many high achievers that I knew recommends doing this. It is an efficient system to help them to track accomplishments. This small hack helps to be more appreciative of what you have done.

Keep small winnings recorded also helps you to consistently stick with big goals. Many times, I found keeping to one goal is very hard to do. I regularly change my goal frequently once my priority or schedule change. #IFailed

Why? I easily excited (distracted) whenever I saw bright objects. This bright object syndrome happens all the time because I failed to track my own goal and stick to it. I easily lost focuses on what I should do, rather than I want to do. I also found that I didn’t appreciate little things even though I knew that one way to feel wealthy is enjoy small things around you logically, emotionally and spiritually. This need has daily deposit that means, you need a ritual or time to make this happen and reflect.

The fix

Though I’ve been making my list, still failed and undoubtedly unfound. Why? Because I don’t have one particular place that collects all those. It was because the chain is broken. Usually, I excited about one thing, and it won’t last as it should be. Now, I’ve started to record what I have done into a list using an app called iDoneThis as part to help my five minutes daily ritual. It’s still not perfect, but at least this is one channel that helps me to overview by accomplishments.
High achievers keep tracks almost everything to maintain the goal accountable.

High achiever like Jeff Walker told he does this by “reviewing all the wins for the prior year. Too often we don’t recognise all the progress we have made and all the great stuff we have to accomplish”. By focusing on the wins, it puts us in a positive state of mine forward and plans next year.

Schedule the year ahead

Seeing the big picture in advance allow work with more purpose throughout the year. A year worth of plan. Last year, one important lesson that I’ve learnt was that; to counter the fear of imperfection. At this stage, we shouldn’t worry about perfection. At least, I know where I am going/need to do. The plan always changing along the progress making process. That’s normal. Planning ahead will spare me time on the things I should spending/focusing with.

Failed to plan is plan to fail.

I learnt from the past. I’d be on many, many projects before. However, the number of done are lesser than the number of completion. I couldn’t hit my bigger goals as I planned because of the bright light syndrome. I failed to meet my datelines because of endless of new things coming.

The fix

Limit only three big goals per year. Break it down into four quarter goals – which are good-sized wins on their own! And break it down into monthly goals. This enables me to focus on the long-term goals, while at the same time enjoying being in the moment of achieving my short term, monthly goals.

Translating goal in reversal is practical. Map out of the entire year and work backwards from the end goal. Let’s be backwards, asks this question: what do the most I want to be thankful for one year from now? Pen that down and it becomes a focus for at the new year.

While reverse-engineering end goals is a very practical and tactical advice; another reasonable goal has to be a specific and measurable goal. The XPrize founder, Peter Diamandis echoed, “you can’t improve anything if unmeasurable”. This will help to begin the year with purpose and clear direction by providing specific outcomes and timeline to achieve it. Outlines those what that means on a quarterly basis, monthly basis and weekly basis.

Trim that fat!

I need to refrain myself from getting into the new project. Starting new projects is fun, but could poisonous to productivity. I need to eliminate the excess, so could focus the things that give the bigger turnaround, and better in beneficial. Maybe shortly, I should start a “no-list” for 2017. I need to block out calendar time for my most important outcomes; e.g. vacations, fun and time of major business and creative projects.

So the game for this year is to record and track. I will start fresh – to journal my progress. This is the way that would help me to have the sense of fulfilling even more in the shorter term, in which, contribute to pushing to longer term goals. This journalling practice brings positivity to what I do and elevates the stamina and momentum to keep going. Journaling allows me to express gratitude and being thankful.

Let’s hope this is not the outcome


Repetition makes perfect

That’s another way to say, practice makes perfect.

According to Malcolm Gladwell, it took 10,000 hours to be great at something. To some people like me, such amount of time are a luxury and just couldn’t afford it. 10,000 hours is equivalent of 5 years of full-time job. People like you and me don’t have time that much. Perhaps often, we sometimes want to get stuff works and be, rather than being an expert.

At first, for 10,000 hours, I think I would never be good at anything. Josh Kaufman preach it took only 20 hours of deliberate practice to good at something. By the mean by good is efficient, not expert.

You just want to be good at it. You just want to be effective. Just enough to to get something going, either to kick off, or start a new hobby.

Take writing for example; writing is not the result of our clear ideas. Our clear ideas often emerge in the process of our writing. This is a case of a dialectic. Philosopher Georg Hegel described a dialectic as a three-fold process. There is a thesis that gives rise to its reaction, an antithesis, which contradicts or negates the thesis. The tension between the thesis and the antithesis is resolved in the form of a synthesis. A blog post or casual Facebook status is a combination of your thoughts and the process of putting them onto your computer screen.

This video showed examples to be good at drawing by repetition and reiteration. It’s shown precursory information you need to know before begin any 20 hours of deliberate practice.

Warning, it’s an hour long. So you might suit and make yourself comfortable.

Deliberate practice is the key is to build up your mileage. By trying the same thing and in different variables to produce a different result. Identify what you have done differently and what you’ve learned previously. Then, reiterate and learn from the past mistake to form a new analytical assumption or a stronger muscle memory. Naturally, you’ll became fluent at it.

At first, you probably not confident how to do it correctly or done it nicely. Keep repeating the same practice, and eventually, it will become a new set of knowledge to you. Later stage, it will be made more analytical and logical to you. If you had repeat enough, it would become a skill.

I always look back at myself; storytelling is not something I am good at (need to pay attention to this one more often),  To me, the ability to convey a message in the clear picture or layman idea or in the language that everybody could understand is a skill. For this year, this is one of the parts that I would like to improve and learn for my personal development.