Yesterday I conducted a Python hands on workshop for (mostly) students. Before I started the workshop, I asked them to introduce themselves and share why they were attending the workshop.
Here are some answers that warmed my heart.
I want to learn something that is not covered in our courses and do something that we don’t do as part of our college education.
Ever since I started programming, I got hooked on to solving problems. I am here because I want to become a full stack developer and solve problems.
I have been mostly doing embedded programming for robotic challenges. I was inspired by a couple of members in my team who were Python experts. I tried Python, and liked it.
I try to learn new things whenever I can. During holidays and breaks I keep trying out new things.
I am into competitive coding and like to participate in challenges. That is why I am here.
There were some amazing things about the participants:
- They came on a Saturday to learn and sat till about 6 pm working on problems
- Some of them built websites when they were in school and won competitions. They kept learning new things.
- Some of them were in robotics competitions and were interested in embedded programming, Arduino, Raspberry Pi. Python is the next step in their evolution.
- A faculty member came to the class (not to attend it but to encourage the students) and stayed throughout the day. He was interacting with students, instructors and even the organizers.
I taught them very little – mostly showed code snippets and made them work through problems throughout the day. We ended with a 2 hour coding challenge. We plan to offer internships to two of them (there were about 16 students).
I was conducting a Python workshop at KCG College a few years ago. I was teaching them basics – variables, strings, control statements, etc. for about half an hour. Then, I gave them a few minutes to try out some examples and started walking around to see how they were doing.
I saw Swathi (one of the students) sitting with a bored look. I walked up to her and asked, how she was doing.
“Sir, I finished all the problems you gave me. Can you give me a Bigger Problem?”.
I was pleasantly surprised. I said, “Do you know Newton-Raphson Method” for finding the square root of a number? She did not know. I explained briefly with an example, the principle of how the method worked. A few minutes later, she called me and showed me her program. I tested it a bit, and it worked great. In those few minutes, she got the formula from Wikipedia, coded in Python and tested it.
She used is one of the most powerful methods of learning – “Learning by Doing”.
Swathi was an unusual student. She is doing her masters now. I normally find one or two such students in each batch, and it is always a pleasure to discover them. I am always looking to work with such students.
In the past week, I have come across a slightly different view of programming, from two different sources.
The premise of this book, and the other books in the Think X series, is that if you know how to program, you can use that skill to learn other topics.
from “Think Bayes” by Allen B. Downey.
I see programming as a way of learning Mathematics
from Coding the Matrix: Linear Algebra through Computer Science Applications, a free Coursera course.
This is something worth thinking about. This gives programming a slightly different twist – as a tool for learning. It is also a good tool for thinking.
On Facebook, you have Likes and Shares. On Twitter, the equivalents are Favorites (Favs) and Retweets.
Likes and Favs are good. They are very simple attention indicators. They make you feel that people are paying enough attention and are kind enough to take a few seconds to “Like” what you posted or tweeted. It is some kind of validation that your content may be consumed.
Shares and Retweets are better than Likes/Favs. You get a lot less of them, though. When some on shares/retweets, they are signalling you, that “this content is good for my readers/followers”.
Shares with comments are even better. Replies or retweets with edits are great too. They all show that you are engaging your readers.
The best Tweets/Posts are the ones that generate discussions. Even if the comments are negative, you learn something new. You get to know your community better through these discussions. You come to know what they like and what they don’t. You learn different view points
I spend a couple of hours in social media and moderate 5-7 groups on Facebook. It is an investment in time in understanding your communities. I enjoy being there and the interactions.
A small group to build stuff together, learn together and learn by doing. This will replace techtalks for our weekly meets.
- A nanoapp is something we can build n a day. The core in a couple of hours. The goal is to learn by doing.
- We may find open source stuff that to build upon. It will be easy to get started. Every nanoapp we build will be open sourced with a liberal license (like BSD/MIT/Apache)
- We can start with a few programming languages – Python, Lua, Clojure. We can have others too. We need a couple of champions for each language.
- We can build web apps, mobile apps and desktop apps to start with.
- If there is enough interest and a community forms around it, we can grow them in to mini apps or even commercial products.
- We will keep the group small – 10 to 20 regulars
- We would love to have students. As long as they are willing to work and learn.
If the experiment is successful, we can create nano hackathon events in schools, colleges.
From Prolog in Python – An Introduction
“Someone once made the remark that there were only two kinds of programming languages, Lisp and all the others. At that time the primary languages like Fortran were much more machine centric than those of today. That is, the way you programmed was, although more efficient, not too different than how you would program in machine language. Lisp with dynamic data, automatic garbage collection, and the ability for a lisp program to easily create and run more lisp code was very much an exception.
However over time, modern languages, like Python, came to support the kind of features found in Lisp. Today, the above remark might be changed to “Prolog and all the others”.”
I found a link to 50 Free Python Books and started looking at some of them. One of the most interesting was Python for Fun. I was amazed at what I found. I do like the author’s idea of fun! It was not meant for beginners (as I thought) but towards intermediate programmers.
Purpose of this Collection
This collection is a presentation of several small Python programs. They are aimed at intermediate programmers; people who have studied Python and are fairly comfortable with basic recursion and object oriented techniques. Each program is very short, never more than a couple of pages and accompanied with a write-up.
Looks at these projects. I am certainly going to make some of these part of our tech talks and training programs.
We are going to discuss the book at Chennai Open Coffee Club today. So I decided to take all the fragments I marked up from the the book and share it in this post. Hopefully, we will get to most of them in our book club discussion. I apologize that these quotes do not have much of a context or selected based on some criteria. I resonate with most of them and puzzled by a few. Here it goes:
This book is about the questions you must ask and answer to succeed in the business of doing new things: what follows is not a manual or a record of knowledge but an exercise in thinking. Because that is what a startup has to do: question received ideas and rethink business from scratch.
- E VERY MOMENT IN BUSINESS happens only once. The next Bill Gates will not build an operating system. The next Larry Page or Sergey Brin won’t make a search engine. And the next Mark Zuckerberg won’t create a social network. If you are copying these guys, you aren’t learning from them.
- Unless they invest in the difficult task of creating new things, American companies will fail in the future no matter how big their profits remain today.
- The paradox of teaching entrepreneurship is that such a formula necessarily cannot exist; because every innovation is new and unique, no authority can prescribe in concrete terms how to be innovative.
- In a world of scarce resources, globalization without new technology is unsustainable.
- it’s hard to develop new things in big organizations,
- Positively defined, a startup is the largest group of people you can convince of a plan to build a different future.
- If you lose sight of competitive reality and focus on trivial differentiating factors— maybe you think your naan is superior because of your great-grandmother’s recipe—your business is unlikely to survive.
- In the real world outside economic theory, every business is successful exactly to the extent that it does something others cannot.
- a great business is defined by its ability to generate cash flows in the future.
- Simply stated, the value of a business today is the sum of all the money it will make in the future .
- Most of a tech company’s value will come at least 10 to 15 years in the future.
- As a good rule of thumb, proprietary technology must be at least 10 times better than its closest substitute in some important dimension to lead to a real monopolistic advantage.
- network effects businesses must start with especially small markets.
- successful network businesses rarely get started by MBA types: the initial markets are so small that they often don’t even appear to be business opportunities at all.
- Beginning with brand rather than substance is dangerous.
- Every startup is small at the start. Every monopoly dominates a large share of its market. Therefore, every startup should start with a very small market. Always err on the side of starting too small. The reason is simple: it’s easier to dominate a small market than a large one . If you think your initial market might be too big, it almost certainly is.
- The perfect target market for a startup is a small group of particular people concentrated together and served by few or no competitors.
- future: is it a matter of chance or design?
- Instead of pursuing many-sided mediocrity and calling it “well-roundedness,” a definite person determines the one best thing to do and then does it.
- Boom produced a generation of indefinite optimists so used to effortless progress that they feel entitled to it.
- fascination with statistical predictions – statistical predictions of what the country will be thinking in a few weeks ’ time than by visionary predictions of what the country will look like 10 or 20 years from now.
- A startup is the largest endeavor over which you can have definite mastery. You can have agency not just over your own life, but over a small and important part of the world. It begins by rejecting the unjust tyranny of Chance. You are not a lottery ticket.
- never underestimate exponential growth.
- After all, less than 1% of new businesses started each year in the U.S. receive venture funding, and total VC investment accounts for less than 0.2% of GDP. But the results of those investments disproportionately propel the entire economy. Venture-backed companies create 11% of all private sector jobs. They generate annual revenues equivalent to an astounding 21% of GDP. Indeed, the dozen largest tech companies were all venture-backed. Together those 12 companies are worth more than $ 2 trillion, more than all other tech companies combined.
- EVERY ONE OF TODAY ’S most famous and familiar ideas was once unknown and unsuspected.
- Companies are like countries in this way. Bad decisions made early on— if you choose the wrong partners or hire the wrong people , for example— are very hard to correct after they are made. It may take a crisis on the order of bankruptcy before anybody will even try to correct them.
- advertising doesn’t exist to make you buy a product right away; it exists to embed subtle impressions that will drive sales later.
- It’s better to think of distribution as something essential to the design of your product. If you’ve invented something new but you haven’t invented an effective way to sell it, you have a bad business— no matter how good the product.
- Superior sales and distribution by itself can create a monopoly, even with no product differentiation.
- The most valuable businesses of coming decades will be built by entrepreneurs who seek to empower people rather than try to make them obsolete.
- But the most valuable companies in the future won’t ask what problems can be solved with computers alone. Instead, they’ll ask: how can computers help humans solve hard problems?
- The Engineering Question Can you create breakthrough technology instead of incremental improvements? 2. The Timing Question Is now the right time to start your particular business? 3. The Monopoly Question Are you starting with a big share of a small market? 4. The People Question Do you have the right team? 5. The Distribution Question Do you have a way to not just create but deliver your product? 6. The Durability Question Will your market position be defensible 10 and 20 years into the future? 7. The Secret Question Have you identified a unique opportunity that others don’t see?
- Customers won’t care about any particular technology unless it solves a particular problem in a superior way.
- cleantech executives were running around wearing suits and ties. This was a huge red flag, because real technologists wear T-shirts and jeans.
- never invest in a tech CEO that wears a suit
- An entrepreneur can’t benefit from macro-scale insight unless his own plans begin at the micro-scale.
- No sector will ever be so important that merely participating in it will be enough to build a great company.
- But a valuable business must start by finding a niche and dominating a small market.
- O F THE SIX PEOPLE who started PayPal, four had built bombs in high school. Five were just 23 years old— or younger. Four of us had been born outside the United States.
- IF EVEN THE MOST FARSIGHTED founders cannot plan beyond the next 20 to 30 years, is there anything to say about the very distant future?
And then, as it usually happens, I discovered this one
From The New Age of Platforms is a great read. I particularly resonate with:
Today, social media is my primary news source for many areas I’m interested in. That’s not a function of the platforms themselves, but rather of who I’m connected to—experts in particular fields who have ready access to information that would be hard to find anywhere else.
Let me mention three instances on the influence of these people I follow on Twitter, Facebook, LinkedIn and other sources (blogs):
- A lot of books I bought last year, came from mentions in podcasts I like and blogs I read (Tim Ferriss and Maria Papova for instance)
- Most of the technical books I read and the webinars I attend come from some of the most influential people I follow on Twitter.
- A lot of literature I collect and research for Data Science comes from @kdnuggets and other similar sources
I do have a List called News on Twitter and follow most of the popular news sources in India and US. However, I visit it a lot less and prefer to read from my “Daily” list.
The people I choose to follow are my filters. I read their posts more than I do the “other” reading.
How Does Content Marketing Actually Get You More Sales? A good article, worth reading if you are an entrepreneur or in marketing:
There is a big misconception that content marketing doesn’t drive sales. But if it didn’t work well, none of my companies would exist.
From KISSmetrics to Crazy Egg, I’ve grown each of my businesses through content marketing.
To prove to you that content marketing drives sales, I’m going to share with you stats and data points from KISSmetrics to show just how effective content marketing is.
The Internet of Things, or IoT, may be the most important online development yet
First thing in a new technology, people do all the obvious things that look like the old market, but more efficiently. In the Internet, GNN had web ads like old newspaper ads. Later there was Google search, which was a different way of doing advertising, by focusing more on data. Now we’ve got social search, social networks. The business model moves to something that is more native to the technology.