Learning Guides

# Python List Comprehension: An Intro and 5 Learning Tips

### Python list comprehension: an introduction and 5 great tips to learn

Python list comprehension empowers you to do something productive with code. This applies even if you’re a total code newbie. At code(love), we’re all about teaching you how to code and embrace the future, but you should never use technology just for its own sake.

Python list comprehension allows you to do something useful with code by filtering out certain values you don’t need in your data and changing lists of data to other lists that fit specifications you design. Python list comprehension can be very useful and it has many real-world applications: it is technology that can add value to your work and your day-to-day.

To start off, let’s talk a bit more about Python lists. A Python list is an organized collection of data. It’s perhaps easiest to think of programming as, among other things, the manipulation of data with certain rules. Lists simply arrange your data so that you can access them in an ordered fashion.

Let’s create a simple list of numbers in Python.

```numbers = [5,34,324,123,54,5,3,12,123,657,43,23]
print (numbers)```
`[5, 34, 324, 123, 54, 5, 3, 12, 123, 657, 43, 23]`

You can see that we have all of the values we put into the variable numbers neatly arranged and accessible at any time. In fact, we can access say, the fifth variable in this list (54) at any time with Python list notation, or we can access the first 5 and last 5 values in the list.

`print(numbers[:5]); print(numbers[-5:]); print(numbers[4])`
```[5, 34, 324, 123, 54]
[12, 123, 657, 43, 23]
54
```

If you want to learn more about how to work with Python lists, here is the official Python documentation and an interactive tutorial from Learn Python to help you play with Python lists.

Python list comprehensions are a way to condense Python for loops into lists so that you apply a formula to each value in the old list to create a new one. In other words, you loop a formula or a set of formulae to create a new list from an old one.

What can Python list comprehensions do for you?

Here’s a simple example where we filter out exactly which values in our numbers list are below 100. We start by applying the [ bracket, then add the formula we want to apply (x < 100) and the values we want to apply it to for (x in numbers -> numbers being the list we just defined). Then we close with a final ] bracket.

```lessthan100 = [x < 100 for x in numbers]
print (lessthan100)```
```[True, True, False, False, True, True, True, True, False, False, True, True]
```
```#added for comparision purposes
[5, 34, 324, 123, 54, 5, 3, 12, 123, 657, 43, 23]```

See how everything above 100 now gives you the value FALSE?

Now we can only display which values are below 100 in our list and filter out the rest with an if filter implemented in the next, which is followed by the if trigger.

```lessthan100values = [x for x in numbers if x < 100]
print(lessthan100values)```
```[5, 34, 54, 5, 3, 12, 43, 23]
```

We can do all sorts of things with a list of numbers with Python list comprehension.

We can add 2 to every value in the numbers list with Python list comprehension.

```plus2 = [x + 2 for x in numbers]
print (plus2)```
```[7, 36, 326, 125, 56, 7, 5, 14, 125, 659, 45, 25]
```

We can multiply every value by 2 in the numbers list with Python list comprehension.

```multiply2 = [x * 2 for x in numbers]
print(multiply2)```
```[10, 68, 648, 246, 108, 10, 6, 24, 246, 1314, 86, 46]
```

And this isn’t just restricted to numbers: we can play with all kinds of data types such as strings of words as well. Let’s say we wanted to create a list of capitalized words in a string for the sentence “I love programming.”

```codelove = "i love programming".split()
codelovecaps = [x.upper() for x in codelove]
print(codelove); print(codelovecaps)```
```['i', 'love', 'programming']
['I', 'LOVE', 'PROGRAMMING']
```

Hopefully by now, you can grasp the power of Python list comprehension and how useful it can be. Here are 5 tips to get you started on learning and playing with data with Python list comprehensions.

### 1) Have the right Python environment set up for quick iteration

When you’re playing with Python data and building a Python list comprehension, it can be hard to see what’s going on with the standard Python interpreter. I recommend checking out iPython Notebook: all of the examples in this post are written in it. This allows you to quickly print out and change list comprehensions on the fly. You can check out more tips on how to get the right Python setup with my list of 11 great resources to learn and work in Python.

### 2) Understand how Python data structures work

In order for you to really work with Python list comprehensions, you should understand how data structures work in Python. In other words, you should know how to play with your data before you do anything with it. The official documentation on the Python website for how you can work with data in Python is here. You can also refer again to our resources on Python.

### 3) Have real-world data to play with

I cannot stress enough that while a Python list comprehension is useful even with pretend examples, you’ll never really understand how to work with them and get things done until you have a real-world problem that requires list comprehensions to solve.

Many of you came to this post with something you thought list comprehensions could solve: that doesn’t apply to you. If you’re one of those people who are looking to get ahead and learn without a pressing problem, do look at public datasets filled with interesting data. There’s even a subreddit filled with them!

Real-world data with code(love)

### 4) Understand how to use conditionals in list comprehensions

One of the most powerful applications of Python list comprehensions is the ability to be able to selectively apply different treatments to different values in a list of values. We saw some of that power in some of our first examples.

If you can use conditionals properly, you can filter out values from a list of data and selectively apply formulas of any kind to different values.

The logic for this real-life example comes to us from this blog post and Springboard’s Data Science Career Track.

Imagine you wanted to find every even power of 2 from 1 to 20.

In mathematical notation, this would look like the following:

A = {x² : x in {0 … 20}}

B = {x | x in A and x even}

```square20 = [x ** 2 for x in range(21)]
print(square20)```
`[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400]`
```evensquare20 = [x for x in square20 if x % 2 == 0]
print (evensquare20)```
```[0, 4, 16, 36, 64, 100, 144, 196, 256, 324, 400]
```

In this example, we first find every square power of the range of numbers from 1 to 20 with a list comprehension.

Then we can filter which ones are even by adding in a conditional that only returns TRUE for values that when divided by 2 return a remainder of 0 (even numbers, in other words).

We can then combine the two into one list comprehension.

```square20combined = [x ** 2 for x in range(21) if x % 2 == 0]
print(square20combined)```
`[0, 4, 16, 36, 64, 100, 144, 196, 256, 324, 400]`

Sometimes, it’s better not to do this if you want things to be more readable for your future self and any audience you’d like to share your code with, but it can be more efficient.

### 5) Understand how to nest list comprehensions in list comprehensions and manipulate lists with different chained expressions

The power of list comprehensions doesn’t stop at one level. You can nest list comprehensions within list comprehensions to make sure you chain multiple treatments and formulae to data easily.

At this point, it’s important to understand just what list comprehensions do again. Because they’re condensed for loops for lists, you can think about how combining outer and inner for loops together. If you’re not familiar with Python for loops, please read the following tutorial.

This real-life example is inspired from the following Python blog.

```list = [(x,y) for x in range(1,10) for y in range(0,x)]
print(list)```
```[(1, 0), (2, 0), (2, 1), (3, 0), (3, 1), (3, 2), (4, 0), (4, 1), (4, 2), (4, 3), (5, 0), (5, 1), (5, 2), (5, 3), (5, 4), (6, 0), (6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (7, 0), (7, 1), (7, 2), (7, 3), (7, 4), (7, 5), (7, 6), (8, 0), (8, 1), (8, 2), (8, 3), (8, 4), (8, 5), (8, 6), (8, 7), (9, 0), (9, 1), (9, 2), (9, 3), (9, 4), (9, 5), (9, 6), (9, 7), (9, 8)]
```

If we were to represent this as a series of Python for loops instead, it might be easier to grasp the logic of a Python list comprehension. As we move from the outer loop to the inner loop, what happens is that for each x value from 1 to 9 (for x in range(1,10)), we print out a range of values from 0 to x.

```for x in range(1,10):
for y in range(0,x):
print(x,y)```
```1 0
2 0
2 1
3 0
3 1
3 2
4 0
4 1
4 2
4 3
5 0
5 1
5 2
5 3
5 4
6 0
6 1
6 2
6 3
6 4
6 5
7 0
7 1
7 2
7 3
7 4
7 5
7 6
8 0
8 1
8 2
8 3
8 4
8 5
8 6
8 7
9 0
9 1
9 2
9 3
9 4
9 5
9 6
9 7
9 8```

The chain of for loops we just went over has the exact same logic as our initial list comprehension. You’ll notice though that in a for loop, you will print seperate values while in a list comprehension it will produce a new list, which allows us to use Python list notation to play with the data.

With this in mind, you can make your code more efficient and easily manipulable with a Python list comprehension.

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)

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 roger.huang@thoughtbasin.com.

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)

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.

Learning Lists

# Five things you should know before you learn code.

#### 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.

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.

Community or commodity with code(love)

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.

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.

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

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)

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.

Technology and Society

# Creating a Startup – The Importance of Now!

Mark Zuckerberg almost instantly started working on his idea for ‘TheFacebook’. The road to building a startup is paved with constant learning. This is true even for Mark.The important thing was that he started on it right away without waiting to acquire all the ‘necessary’ skills before someone else would have stolen his thunder.

Anyone familiar with Economics has heard of economies of scale and how they experience increasing returns to scale – here in the field of technology we are experiencing something similar but turbocharged.

Ray Kurzweil predicts that the dominance of this trend is so overarching that we are fast approaching what he calls the ‘Singularity’ when artificial intelligence transcends organic intelligence. Looking that far, his guess may be as good as anybody’s, but he does make a compelling argument about the importance of the pace of technological change and its extension to all walks of life. From physicists jumping into doing social media analytics (ex: Nexalogy) to people out in developing nations pumping out solutions to meaningful problems (ex: Keepod competing with One Laptop Per Child), anyone with an idea now has the resources at his disposal to give birth to the idea.

What is more interesting though is what is called ‘time to market’ – which is dramatically going down as things become easier from using APIs to send texts to hardware powered by your Raspberry Pi to setting up the process of accepting credit cards online using Stripe in a few minutes. All of these things took weeks and weeks of planning and consideration before. If you are taking too long to get your startup off the ground, the market may just have changed enough so that your idea isn’t relevant anymore.

What does that mean for that billion dollar idea that you wrote down on a restaurant napkin that you’ve tucked away? Well it is time to bring it out and start building it out. Why? Because if you don’t, then someone else will most likely come up with a similar idea, put together a few engineers and have a prototype that beats you to the market.

When they give away t-shirts at hackathons (24 hour coding and prototyping marathons) saying “Fuck it, ship it” they don’t do that just to help you absorb the spirit. They also do it to emphasize the fact that if you don’t follow up on that great idea, someone else will.

The whole entrepreneurial atmosphere is lit up with bright ideas – each with as much potential as the next – the only difference between the ones that succeed and the ones that don’t is the conviction of the entrepreneur to start building not today – but NOW! Given the plethora of online tutorials to create your own websites, apps – there is very little reason to embark on a journey to first acquire the skills and then start building – these processes have now condensed into a single stream that flows together.

Thought getting marketing materials and a social presence up and running is hard ? Even that is now at your fingertips – hire one of the many teams that strive to provide you with an entire package consisting of services that can help you publish blog posts, setup your social media presence, create logos, choose color schemes and all the other 100 things that come with creating a new startup.

With Indiegogo and KickStarter being extremely popular, you can start raising capital today if that is something you feel stopping you from taking the plunge. Haven’t we then covered almost all elements that you could think of in getting at least a basic version of your idea up and running ? Almost ! We are just missing one crucial element – your entrepreneurial drive ! The inner desire to keep pushing, to stay committed when everyone says no, to work that one more hour, to make that one more sales call, to do one more rehash of the design board – all of that makes for the right ingredients to a successful startup. So go out there and get started – Carpe diem!

Open Stories

# MakeWorks: A Co-Working Space that Mixes Physical and Digital

We live in an exciting time where the Internet of Things and connected devices are rapidly breaking down barriers between the physical and digital world. MakeWorks is at the frontier of what is happening, as a co-working space designed for connected devices.

Here is an interview with the founder, Mike.

1) Describe what Makeworks is.

MakeWorks is Toronto’s first coworking studio of its kind, catering to both digital and physical focused startups. The 10,000 sq ft facility is located in a restored shoe factory, and broken up into four parts: a coworking space seating 120 people; a prototyping and electronics lab; a makerspace, and a large event space for meetups, prototyping and pop-up concepts.

2) What is the ultimate vision behind Makeworks?

​To be Canada’s leading coworking studio and community platform for entrepreneurs all along the digital-physical spectrum.

3) What are some examples of cool projects being built in Makeworks?

Sprout Guerilla (moss grafitti wall art), Pawly ​(robotic dog companion), Orchard (used smartphone buying platform), Makelab (creative technology experiential agency), Sensimat (smart wheelchair technology), and many more applying every day!

4) How does one become a part of the Makeworks community?

​Simply apply at makeworks.com and schedule a tour with Steph, our GM!​
Defining the Future

# The No-Bullshit Startup Dictionary: A

Seriously addicted. Somebody once told me that I sounded like a corporate lorem ipsum generator. I wasn’t even surprised.

I don’t mean to do it—it’s just that startup buzzwords are so comfortable. Their familiar confines help mark me as being part of a very exclusive set of knowledge holders. They elevate me and put others down. They include those I want to talk with, and exclude those I don’t. A small part of me hates what I just said. A large part of me does it anyways.

To atone for my sins, I’ve decided to create a startup dictionary. No bullshit: a simple definition of the term, and an example. Next time you have to listen to me or anybody else who talks in buzzwords, you’ll at least be able to understand what we are talking about: and you should be part of the conversation.

If there’s anything I’m missing, please comment below.

Startup Dictionary with code(love)

Let’s start from the beginning:

#### The No-Bullshit Startup Dictionary: A

A/B Split Test: A random experiment where you test two variants of something against each other and see the results. Most often used to test variant A of a webpage and variant B to see which performs best, and gets more views and clicks. Example: See this case study by Optimizely.

Acquihire: When a larger company buys a smaller company just to acquire the people behind the smaller company. Example: Facebook’s acquisition of essentially failed New York startups, Hot Potato and Drop.io for their employees.

Agile: Agile refers to agile software development. This means that instead of spending many years developing a web platform, many startups now release web platforms in a short time, then use live customer feedback to develop successive improvements on the first version.  Example: See this test first, develop later mentality in action.

AirBnB: A web platform that allows you to rent out somebody’s guest room for a night or two, and to loan out your spare space as well. Typically seen in explanations like “My company is the AirBnB for 3D Printing”. Example: Check out their website.

Alibaba: A web platform that is used as a trading platform for wholesalers around the world. Most often brought up because they are about to go public and raise lots of money. Example: Check out their website.

Ajax: Ajax is a set of techniques that allow a webpage to reload data from the server without you having to reload the page itself. Example: Gmail was one of the pioneers of this.

Angel: An angel investor is often one of the very first people to provide funding for a startup in return for shares in your startup. Example: Paul Buchheit is the creator of Gmail, and has active angel investments in about 40 startups.

AngelList: A web platform where angel investors connect with startup founders. Example: Check it out here.

Annual Recurring Revenue: Typically applied because a lot of startups work on a monthly subscription basis, annual recurring revenue is a prediction of how much revenue is locked in with subscribers that will pay every year. Example: How Aaron Levie, CEO of Box, views Annual Recurring Revenue for his subscription based business.

API: An application programming interface is a set of standards for how software should communicate with one another. Web APIs allow for the easy transfer of data from one platform to another. Example: Twitter’s API allows you to search through tweets.

Asynchronous I/O: A form of input/output in technology that allows for many processes to happen at the same time, rather than going through one process at a time. Can often allow webpages to load faster. Example: The modern web software platform Node.JS built on Javascript is based on this technology and concept, allowing for real-time applications to get new data without reloading.

AWS: Amazon Web Services is a popular hosting solution for many startups. They host their websites on servers owned by AWS, which charges a fee for the service. Example: Check out their website.

Open News

# CodeHS Teaches Code in Schools

CodeHS recently caught my eye. The site offers a curriculum and trained tutors that can help students learn code rapidly, adapting a program for teachers in schools across North America so that it’s easy for them to teach code to their students.

It’s a concept that introduces code to a whole lot more people, something that’s really cool to see in action.

As they put it, “the goal of CodeHS is to spread the knowledge of computer science by offering well-crafted instructional materials supported continuously by the quality, personal attention of our enthusiastic tutors. We believe that everyone has the ability to learn computer science, and we want to help them do so.”

They have a free interactive code lesson users can access at  http://codehs.com/signup_start once they’ve signed up for a free account.

As they describe it,”[CodeHS and our] free module teach Programming with Karel. Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. We use Karel to show you what it means to program, and allow you to focus on problem solving without getting bogged down with syntax. By the end of the first module, students will have a good foundation on the fundamentals of programming and concepts such as loops, conditionals, and comments.”

Class in a box with CodeHS and code(love)

It looks nifty, and it’s something that lives up to the promise of a “class in a box”, making it easy for even struggling schools to get more code in front of their students. Here’s to hoping for more initiatives like this!