Roger Huang

Roger has worked in user acquisition and marketing roles at startups that have raised 200m+ in funding. He self-taught himself machine learning and data science in Python, and has an active interest in all sorts of technical fields. He's currently working on boosting personal cybersecurity (youarecybersecure.com)

Learning Lists

The best coding language for you to learn.

A few people have asked me what would be the most useful or best coding language to learn.

Skipping aside HTML/CSS—I think the answer rests on what you want to do with code.

Javascript and its frameworks are really useful for building something with just one language.

Angular.js can control the front side of the website that displays to your users, Node.js will act as a web server that can host all of your content, Express.js runs in the middle directing where information goes, and MongoDB acts as the storage center for data you accumulate from your users—the MEAN (Mongo/Express/Angular/Node) technology stack—an organizing framework that helps build everything you’d need for a web application—is the one favoured by a whole lot of startups these days. It’s a whole component of technologies that can build everything web-wise based on one language.

I’ve been using Egghead.io and Scotch.io to catch up on my Angular and MEAN stack skills.  Egghead is focused on video tutorials that are structured sequentially, Scotch has some great graphics about the whole process of building web apps, including the following explaining the MEAN stack.

MEAN Stack from scotch.io with code(love)

MEAN Stack from scotch.io with code(love)

They’ve got great tutorials on how you can go about building nifty applications such as basic search engines, and new ways to validate forms (making sure that when you create input forms, people are actually putting in valid criterion). With Angular itself, you can animate a website and make it move, with not too much in terms of setup, which is pretty nifty.

Python is very readable and legible, and has recently become the introductory language of choice for universities teaching computer science majors. It’s fantastic for playing around with data, and doing all sorts of nifty things you wouldn’t have thought possible with its various community modules, such as scraping web pages in their entirety, and doing advanced scientific data analysis. I started out with Learn Python, which suited my fashion of learning by doing.

Java and lower-level languages (languages that are closer to interacting with computer hardware) that are a bit more difficult to interpret for human eyes are wonderful for understanding more of how code actually works—and how you’re interacting with the computer. Java is also something that is used for mobile development on the Android ecosystem, which is something that will always be in demand.

If we want to switch briefly from knowledge to money, I’ve seen a lot of demand for iOS developers, and Objective-C and SWIFT aren’t that hard to pick up. Ruby, especially when used in conjunction with Rails, is also something a lot of startups are building on for which the learning curve isn’t that high (in fact, there was a children’s book for Ruby).

I myself am personally learning Python for playing with data, Javascript and the MEAN stack for building web applications, and Java for a deeper understanding of computer science, and building things for mobile, which I think is a well-balanced set of languages carrying forward. I’ve got together a bunch of learning lists, and resources to help me and you learn what we need to build great things. But none of these are the best coding language to learn.

The best coding language to learn—and how to go about doing it.

The absolute best thing to learn is to learn how to think like a programmer—learn how to solve problems mathematically, with clean and concise code. Coding languages evolve, they change, they fall in and out of favor. One community might morph into another. The great web applications of the present might be obsolete in a few decades. What won’t change is the need for people to think logically, and solve problems—and make it an automated and easier process with machines.

You can bank on the fact that going forward, if you practice your problem solving skills, you’ll be able to find your best language, and get the knowledge and money you need to build great ventures.

I’ve been opening up Project Euler, a set of programming math and logic problems, and using the Codecademy workspace in Python to try to create clean code to solve these problems. This was something a Google recruiter mentioned as being a great training step to learning code—and I don’t doubt it. I feel sharper and more confident in my ability not only to code—but to think.

The best language to learn is ultimately the language of logic, math, and problem-solving that is at the core of code. What are your thoughts?

Open Stories

How computer science made studying us so much easier.

In 1859, the German physiologist Alfred Wilhelm Volkmann described an instrument—the tachistoscope—that soon became ubiquitous in psychology laboratories for studying learning, attention, and perception.

It displayed an image for a set period of time, making it easier to capture the reactions of people, and to learn about how humans reacted to stimuli: how they learned from what was being displayed to them, and how they perceived what was happening in the world around them.

Attention with code(love)

Attention with code(love)

Fast forward. Cognitive neuroscientists have expanded the science that was pioneered with this instrument and, in the late 1970’s, they were able to replace the famed tachistoscopeby the personal computer. Today’s students of the cognitive neurosciences take Matlab programming courses rather than woodwork and metalwork courses to study human behavior.

The connection between technology and behavior made in the last decades is a natural evolution for a better understanding of the human physiological processes. Today, these two fields are intimately connected together by the emergence of exciting and promising research fields such as human-computer interaction, artificial intelligence and cognitive science.

From the Kinect to speech and face recognition systems, A/B tests to the Facebook new testing button, intelligent air transport systems to online customer services, the use of the computer as a super tachistoscope has spread to consumer research. As a natural form of presenting visual stimuli, web applications have played an immense role in opening up new possibilities for cognitive research. 

More recently, this combination of advanced cognitive neuroscience research and programming have led to the development of new digital products to increase audience engagement and monetization for either video (Neon Labs) or online digital advertising (Neurométric). They have also led to a wealth of knowledge about how exactly humans perceive visual stimuli, and how they perceive and learn from the world around them. 

This is the power of technology. This is how computer science made studying us so much easier. 

—————————————————————————————————————————————————–

This open story is from Guillaume Fortin, CEO of Neurométric. If you have a story highlighting how technology is evolving, email us at [email protected], and we’ll get it the views it deserves. 

 

Open News

Indiegogo Canada and MakeWorks are partnering to mold digital and physical together.

We previously wrote about MakeWorks and their co-working space revolving around the Internet of Things. It’s something of vast potential to see software principles embedded into physical goods—a revolution that will reshape how we view and control the objects around us.

It is the startups that will be on the frontier of hardware and startup that will direct this new revolution, and it’s good to see both funders, and spaces become part of the fun. Indiegogo Canada will actually move their offices into the space, allowing for there to be a union between creators, funders, and the spaces they need to truly change.

They’re raising money for this endeavour on Indiegogo—and so far traction has been good, with about 40% committed with plenty of days to go.

Here are some of the perks you can expect for supporting the future:

Here’s the link to the campaign.

Open Stories

My failed startup ThoughtBasin—and the lessons you can take from it.

This is an edit of my original post on Techvibes about my first failed startup. Thought it was worth reflecting on again, as we near six months after that article posting.

————————————————————————————————————————————————–

Getting involved with startups requires a healthy amount of delusion. It’s usually why you’re the last person to know that your startup is dying.

That didn’t happen for me. I knew that it was dying, and I (mostly) knew what I did wrong, so when I finally made the phone calls to thank everybody for their involvement, it was with cold sobriety, rather than emotional explosiveness.

It hurt to do it, but it was more of a chronic pain than an acute one. A lot of people will have stories about them slamming a door on an opportunity they had chased for miles and miles, but my story is more about tapping the door closed dutifully, and keeping that thin margin between the door and the wall open—if only for a tiny bit of light.

Every good story has a context to it, and this is mine. I started my first startup, ThoughtBasin, while I was still in university at McGill. I juggled economics courses, a part-time job at a pharmaceutical firm, and trying to jump-start ThoughtBasin at the same time. At the beginning, I had nothing more than a cofounder, a set of ideals, and something that vaguely resembled a good idea.

We wanted to take the work that students put into learning, and see if it had a use outside of the confined context of a class. We wanted to create an online platform where students could contribute easily to various problems, and be rewarded and recognized for doing so. The purest interpretation of our ideals would be that we thought the ideas of students could power societal innovation. In many ways, I still do, but as it turns out to be the case with every dying startup, we simply approached it the wrong way.

How do I begin to define and learn from the “wrong way” so that you can glean some insight while we move along my story? Well, as it turns out, while there were too many individual mistakes to count, let alone learn from, I have grabbed a collection of key lessons with my experience chasing dreams. Let’s begin.

make the leap with code(love)

make the leap with code(love)

WHO ARE WE SHARING OUR DREAMS WITH? BE SURE TO KNOW

At the beginning of any startup there is only you, a dream that masquerades as an idea, and if you are fortunate, one or two people with whom to share it with. I shared it with some of my closest friends, and stuck with them to develop it together.

That was my first mistake.

They always tell you to never mix business with pleasure, but it’s astoundingly easy advice to ignore once you’re involved with both business and pleasure.

Who do you choose to found with, if you choose anyone at all? I laughed at how easy it was for me: I founded with a set of close friends that I happened to share the idea with. End of story. That we were all of similar business backgrounds, had little to no technical knowledge, and sometimes had drastically different viewpoints as well as bad tempers to boot would be problems

Make sure you know who you are founding with. My cofounders were and are great people, hard workers, and talented. I like them very much. Unfortunately, that’s not a very good criteria for success.

GOOD CRITERIA FOR SUCCESS

When we went through the process of building the website, I had to start getting a sense of the code. If there’s one thing I would say, it would be that knowing code is essential. It’s why I started code(love) in the first place.

ThoughtBasin ended up with a new technical cofounder who brought us to the next level. He was the one who largely assembled the online platform with the help of two talented junior coders. We had an office at last where people dedicated days towards building ThoughtBasin. It had taken us a while, but we finally had a clear path to a product.

I started ThoughtBasin with zero technical knowledge, and now I’m not half-bad as a front-end developer, so I believe it’s very achievable to develop those skills if you don’t have them. We wasted so much time trying to start a website without knowing how to go about doing it at ThoughtBasin. It took us two years to get a proper landing page up. Now, I can build one in four hours.

I also believe that it is crucial to make sure everybody is a good fit, not only at the bar, but also in the office. Ideally, you would test a team before you even embark on a startup idea.

Like in any dedicated relationship, you don’t really know who you’re dealing with until you’ve had your first good fight.

BE A STUDENT, NOT A TEACHER

I believe my first real fight with my cofounders, and every subsequent fight after, had a common theme. I was trying to be a teacher rather than being a student each and every time.

The reality with startups is that everybody is on a learning curve. You can have all of the experience in the world, but a startup is all about examining a new path for everyone involved. I waded into every argument with a gung-ho attitude that I had nothing left to learn. That sparked some fights, and continued many. It was an incredibly bad attitude to have. When you’re a student, you can afford to make mistakes, and strive to improve on them. When you’re a teacher, it makes it that much harder to do so without looking like a fool to others. That fundamental difference made all the difference in the world at ThoughtBasin.

I remember an argument over whether or not we should incorporate, and one on whether or not to bring more people onto the team without clear pre-defined roles. In the end, we incorporated, and had a team of fifteen people. They were both bad mistakes on my part, and if I were willing to listen more, and to compromise more like a student should, perhaps we would have ended in the happy middle where we would have had a smaller, more well-defined team, and a company that had sales before we went through incorporation.

Ultimately, after a series of arguments that went nowhere, one of my original cofounders chose to leave for law school, and the other one gradually started working in banking.

ThoughtBasin was a constantly painful learning experience, and I would never consider it over. I look at this article as something I had to write to get some lessons I’ve learned on paper, and I don’t look to teach from these errors. I look to learn.

LOVE YOURSELF, BE DELUDED, AND BUILD GREAT THINGS

The reason why we broke too far was because one of our competitors in the student space was much further along than we thought they were. We had not been watching our competitors carefully, and this was another instance of working hard in our zone, while not working smart outside of it.

Their online platform was much more developed then ours, and so were their partnerships. We realized we would never be realistically able to catch up with them, and so we would be relegated as late-comers to a niche that wasn’t worth fighting over.

While this was the straw that broke the camel’s back, there were plenty of other bumps along the way. All of them struck me hard, because I had not been taking care of myself too well. Every failure of the company became a personal failure of mine. We missed tons of sales opportunities as I struggled to elaborate on why people should work with ThoughtBasin, and I learned how hard it was to maintain a thriving company while suffering personally.

If there was one note I’d strike on this: love yourself. Take a break once in a while. Playing a martyr will get you and your company nowhere.

As a corollary to this, love your community. I cannot help but think of the Montreal startup community as a godsend. The number of people willing to help you, and to take coffees with you as you navigate your path is truly staggering. The startup community, no matter where it is, is in it together to watch everybody succeed, so get help, and pay it forward. If you ever want to meet with me because you think I can help, shoot me an email at [email protected].

You do need a certain level of delusion to think that you and maybe a few other people can band together in a garage and change the world. Even now, I still have that spark, and I am constantly searching for how to exercise it. For now, I’ve settled on working on another good startup idea: Shout, a utility that takes your social media messages directed at a company, and shoots it off to every social media outlet the company owns if they don’t get back to you.

I look at ThoughtBasin as a means to an end, and though the means did not work perfectly, that did not mean it was not a worthy exercise, and that does not mean I can’t find another means to that coveted end.

So be deluded. Be silly. Think that you can build great things, because you can, even if it takes a few setbacks to get there.

Meaningful Multimedia

Entrepreneurship is a marathon, not a sprint.

IPO with code(love)

IPO with code(love)

Even with how much faster things move in the digital economy, the truth is it takes several years to see an idea through to its full potential.

Don’t lose patience. You’re nowhere close to seeing the end of the line if you’ve only been fighting for a year or two. Entrepreneurship is a marathon, not a sprint.

Open News

A curated list of great Python frameworks.

 

Coding community with code(love)

Coding community with code(love)

One of the wonderful things with modern programming languages—the sense of community associated with them.

Volunteers from around the world work without thought of reward in order to build a foundation for others to build on. The open source and open data movements allow for there to be an infusion of decentralized innovation.

Good old Python is one language that has been used for an array of different tasks, from manipulating data, to creating entire web platforms. Popular templates such as Django allow it to build household names such as Pinterest. Recently Python has become the most popular introductory language taught at American universities.

It represents a canvas which individual volunteers have painted in. You can plug and play different modules for all sets of tasks with the Python framework. For example, you can use Scrapy for web crawling, or SciPy for scientific calculations.

Each one of these modules comes with healthy communities supporting their maintenance and continued development, as well as ample documentation to allow everybody to really understand the tools they’re using.

The list is right here. 

Open News

Google will pay for you to learn code if…

…you’re an under-represented minority.

As Google puts it, “this opportunity is available to all traditionally underrepresented groups in technology (including, but not limited to, African Americans, Hispanics, Native Americans, persons with disabilities, women and veterans).”

For the longest time, the meritocracy of Silicon Valley has been an ideal, and not a matter of practice. With steps like this, some of the balance will be adjusted, but this should only be the beginning.

As we noted on our piece on gender inclusiveness in startups, one of the minorities uplifted by this program has to cross these hurdles:

“Only about 5 to 10 percent of the venture capital devoted to early-stage ventures goes to females.”

“Only one out of ten people starting technology startups are women.”

“The ratio of women studying in computer science, one of the most valuable traits to have in a technology startup, has decreased from 37% of degree holders in 1985 to 14% in 2010.”

So this program is good for a beginning, a good first step—but there is much work left to do.

Download / By Lacey Raper

Learn code with code(love)

Learning Lists

Five things you should know before you learn code.

Download / By Kamil Lehmann

1-Organization

I wish I knew that there should be an organized way to approach learning code, and that learning code wasn’t just about learning in isolation—it is about building knowledge upon knowledge.

I wouldn’t have tried to learn more complex languages like Python before learning about HTML/CSS, the foundation of the web.

You should know about sites like Codeacademy which organize code learning in a structured, and fun fashion. You should know about Bentobox, something that offers you a structured plan to approach learning code.

2-Free resources

I wish I knew just how many free resources were out there to learn code. It would have helped me get a sense of what learning could be done, and where I could go.

You should take a look at things like reSRC, an online directory of free resources to learn code, and this list of 31 free resources to learn how to code.

3-Frameworks

I wish I knew that a lot of coding was built around frameworks, coding templates which set the foundation for easier coding. I wish I knew that one of the cardinal rules of coding was “Don’t Repeat Yourself”—and that means that if someone has built a solution already, go ahead and use it.

Frameworks make coding easier. They build a foundation that you can wrap around your code and play with—invaluable if you’re just beginning to learn how to code.

You should take a look at frameworks such as JQuery, which simplifies interactive elements of a website, and Bootstrap, which simplifies how you style a website.

4-Mentors

I wish I knew just how valuable it was having somebody around who knew what they were doing. When I got stuck, I finally approached some programmers I knew, and they helped me immensely.

You should look for mentors or programs like Ladies Learning Code where you are connected with some.

5-Learning by doing

I wish I knew just how much easier learning code would be if I thought about building projects, and getting my code to fit those practical applications.

Nothing beats struggling through Q and A forums like StackOverflow, looking desperately for the right answer and finding it. The learning you’ll get will flow naturally.

You should look for a great idea, and try to build something to learn code. You’ll be adding to the foundation of the Internet, while learning at the same time.

——————————————————————————————————————————————————–

These are the things I wish I knew about learning code before I embarked on my journey. It’s far from complete, but looking back, any one of these steps would have helped me learn faster, and would’ve gotten me to be where I want to be in the future—now.

Getting the learning right allows you to build the future you envision, giving you a voice in the participatory process that is the modern digital economy. It empowers you to build what you can: getting it right can mean the difference between the ideas you see through to fruition , to those you have seen languish behind. Don’t hesitate to start now.

 

Longform Reflections

Three essential questions entrepreneurs have to ask themselves

Do you want to learn how to build great startups? Of course you do. Join our mailing list.

——————————————————————————————————————————————————–

Do you want to do good, or do well?

I went to a Startup Weekend where one of the judges asked this question point-blank to a team. They were doing what they claimed to be an e-commerce platform for social good. While that was all well and good—the problem was that it is hard to do both.

As human beings, I think we are all inclined to create as much social impact as possible, and to do as much as good as we can. To me, that’s the basis of human decency.

We shouldn’t kid ourselves though. It’s hard to do either good or well, nevermind both. So many ideas that I have seen fail seem confused on what they are there for.

That creates a host of issues. A team that is trying to get money and creates social impact will always face the conflict between how much they charge, and how much they want society to benefit. The team will split between people motivated by creating good, and those motivated by creating wealth.

A startup wins on a simple idea that it can communicate well. Complicating it by trying to do things that conflict will help nobody. The idea will die and be unable to do good or well.

If you want to do good, consider building a non-for-profit idea that supported by a foundation like Khan Academy is. Be explicit that you are not looking for wealth. If you want to do well, build the idea you want, and make it clear everybody is in it for wealth.

There are ideas that can straddle both, but it takes a skilled executioner to work on those. It’s important here to be honest with oneself before muddying the waters. There are some that can prove me wrong and build ideas that do good, and well—but those will be the exception, and not the rule.

63H

Doing good or doing well with code(love)

Is your idea a community or a commodity?

This is an important question. Is what you’re producing something that will get people coming back, and feeling at home? Or is it something people can use over and over again because they need it, with no emotions attached?

The former has loads of potential. Many of the most successful ideas of our time have come because they assemble communities of like-minded individuals to create beautiful things. Yet it is incredibly hard to make money off of a community because it takes time to build it. This is time that is not well-reflected with return on investment until your constituents fully assemble.

A commodity, meanwhile, can make money for you immediately—but it’ll never have the magic of a fully formed community.

Make sure you know what you’re building. Different paths will have different implications on your business strategy, your need for financing, and your ultimate goal. If you’re building a community, get ready for the long haul. If you’re building a commodity, make sure you sell as much as you can.

View More: http://deathtothestockphoto.pass.us/brick-and-mortar

Community or commodity with code(love)

Build or buy?

This is a decision that you will face at every turn. There are so many ready-made solutions that you can buy rather than build yourself for startups. Each one will accelerate your progress exponentially.

Google Analytics can do your data analytics for you. Zendesk can help do your customer service for you. Stripe can help you deal with payments.

Building takes time. No matter what, nothing is free. You have to determine what your startup is built to do, and what you should build and what you should buy.

A startup that buys everything is not disruptive in the slightest. A startup that builds everything will die under the weight of the time it wastes.

This will be a constant question, something that will follow you all the way to the time where you have to decide whether or not to acquire your first startup.

——————————————————————————————————————–

017

Entrepreneurship with code(love)

Entrepreneurship is a set of questions. Every minute brings new ones that you have to ask yourself. Part of the thrill of it all is not knowing where the hell you’re going at any given time: in many ways, building a startup is about answering one question at a time in an endless stream.

I’ve been through it enough times to know that these are the important questions for me. What are the important ones for you?

 

Open Stories

The story behind the world’s fastest growing car classifieds.

This is the open story of Fritz Simons, a co-founder of Carmudi, a startup that bills itself as the world’s fastest growing car classifieds. If this story inspires you to build, join our mailing list.

———————————————————————————————————————

Carmudi with code(love)

Carmudi with code(love)

1. What is the ultimate vision of Carmudi?

Carmudi will revolutionise the way vehicle are traded. We are combining technological expertise with a passion for cars in order to offer our customers the best possible experience. For us this means making buying and selling vehicles easy, safe and fast. We are only at the start of our journey but we are working extremely hard every single day to get there.

2. How did you achieve your current success?

We are simply faster than anyone else. This results from a combination of being very customer focused and extremely execution driven. We spend a lot of time understanding the market we operate in and leverage everything we learn immediately by making it influence our priorities and goals. At such an early phase of a company, one must be able to react very quickly.

3. How did you get into founding a tech enterprise? What’s your advice in regards to understanding technology and code?

The Internet changes the way people think and go about their lives. As an entrepreneur I can be part of this change and impact people’s life for the better. This is why I ended up in tech and founding Carmudi. Of course, my understanding of technology helps me every day. Get yourself excited about it and spend time to learn from everyone around you.

4. What do you find fascinating about cars personally?

For some, cars are merely a means of transportation. For others they are a hobby and status symbol. Cars fascinate me because they have their own different meanings for different people. I myself am a car enthusiast having dedicated my entire working career to the automotive industry.

5. What are your tips for building a great team and establishing an excellent company culture?

Only hire people you are fully convinced of. This is time consuming but will pay off from day one. Then get every single one in the team enthusiastic about the company vision and product. This serves as the basis for a fruitful company culture.

6. What is special about Carmudi’s company culture?

We all love cars and we all believe in our vision. Everyone wants to make the next step to making car trading better for our clients. Thus, the environment is productive and this is fun for everyone.

7. Where does your drive of being an entrepreneur come from?

It comes from the ambition to make a meaningful impact. To achieve this you have to take responsibility and ownership of what you are doing as well as be prepared to take risks. This is the true basis for entrepreneurship.