What is Arduino?

Key Takeaways

What is Arduino? Arduino is a micro-controller that’s great for hardware prototyping. A micro-controller is kind of like your brain — it processes inputs and sends out outputs.

A micro-controller (noun) is a small computer on a single integrated circut containing a processor core, memory, and programmable input/output peripherals.

With a micro-controller like Arduino, you can control circuits, LED’s, and so much more.

Examples of What You Can Make with Arduino:

How to Get Started with Arduino and Micro-Controllers Today:

The possibilities are endless with prototyping hardware — it has a low barrier to entry and a really high ceiling. Take a look through some of these beginner projects and the online community around Arduino to start learning how to build your own projects!

  • Getting Started with Arduino: What it is, why you’d want to use it, and an overview of the community (5 minutes).
  • Foundations: Dig in a littler further and understand the elements of Arduino hardware and software, and how each of the components work (8–10 minutes).

Additional Resources

Startup NDAs: Why you shouldn’t be afraid of someone stealing your startup idea

Watch the Facebook Live Eventhttps://www.facebook.com/OneMonthEdu/videos/643075412510551

This is probably the biggest topic I run into when I talk to would be founders. They ask questions like:

  • How can I protect my startup idea so no one else steals it?
  • I want to find someone to help me work on my startup / raise investment, but I’m scared that if I talk about my idea, they’ll just take it any develop it without me
  • Will you sign an NDA?

The answer is that you shouldn’t be afraid about someone stealing your startup idea.

There’s a few reasons for this:

The idea isn’t the hard part, it’s the execution.

It’s commonly believed in the startup community that if no one else has had your idea before, it’s probably not very good.

It’s like music — every chord progression has been written before somewhere.

The key is that there are so many different ways to execute the same idea. And your job is to figure out the right way.

Think about the number of times a text or photo-sharing website or application has become successful. There was blogger, and then Twitter, and then Tumblr. Facebook, and then Instagram, and then Pinterest. Each of these is essentially the same idea, executed in very different ways.

But on top of that, the most important part of the execution is things you don’t see: the team you’re able to put together, the culture you’re able to build, the way you manage it, your marketing strategy. All of those things are equally important as the product itself that you’re building.

One of my favorite sayings about this comes from Jake Schwartz, CEO of General Assembly:

If all it takes to steal an idea is hearing about it, it’s not a good idea. Not to diminish an idea, they have power. But it’s about all the hard work. — Jake Schwartz, CEO of General Assembly

There’s a distinction between what you’re going to do and how you’re going to do it. You might want to consider talking a lot about the first and less about the second.

No one cares about your idea

Most people are too preoccupied working on their own thing to care about yours. It’s like walking outside and assuming everyone’s judging you, when in fact, everyone is worried about being judged themselves and no one cares about you.

If you don’t believe this, Dave McClure came up with an exercise for you: take your list of ideas and pick the 3rd or 4th. Not the idea you love the most, but one that you don’t care about as much.

Then try to call up a company that could be a competitor and try to convince them to steal your idea. You’ll be surprised how hard it actually is. They’re working on their own thing and they don’t have time to steal your idea. Ideas are work.

Being precious about your idea will prevent you from being able to execute it

This is probably the biggest reason why you shouldn’t worry about someone stealing your idea. If you’re worried about that, then you’re not worrying about actual important things, you’re just being paranoid.

Honestly I think the paranoia comes from how startups and startup ideas are portrayed in movies like The Social Network. Where all it takes is a flash of insight and a few hours of coding to make an idea happen. That’s not real life.

Your job as a startup founder is quite the opposite of trying to hold onto your idea, it’s to try to tell everyone about it and convince them that it’s a good idea. You have to be going around talking about your idea constantly, because you are your own best marketer.

Your pitch will suck at first, so you have to do it hundreds of times before you figure it out. How are you going to do that if you’re afraid to tell anyone in the first place?

You also have to find the right team, including investors. How will you find those if you don’t tell people what you’re actually working on.

Keeping your idea close to you is safe, but it’s also stupid. It’s a great recipe for not actually ever building it, and then being bitter years later because someone else built the idea that you “had first.”

No one will sign an NDA

Some people think, can’t I just get everyone I talk to to sign an NDA (Non-disclosure agreement) preventing them for sharing the information?

No, not really. First of all, no one in tech will sign an NDA. Especially investors. They hear thousands of startup pitches and if they had to sign NDAs for each one, they wouldn’t be able to do or say anything. They’d have to spend all their time keeping track of NDAs.

Also you have no power when you just have an idea. So why should some stranger sign your NDA? Whenever I get an email from someone saying they want to share their idea but they want me to sign an NDA first, I say “No thanks.” Why should I?

You don’t have the resources to enforce an NDA anyway

Even if you could get someone to sign an NDA, it takes lots of time and money to enforce an NDA. That’s not the kind of legal battle you can afford to get into when you’re starting a startup. It’s unlikely that you have the money.

So that’s it.

Confessions of a Growth Hacker

I want to come clean.

I don’t always practice what I preach when it comes to growth hacking. It’s easy to say test everything. In the growth hacking community, testing is dogma. At One Month, we can’t possible test everything that we’re doing. The reality of a startup hits you hard: whether you do it explicitly or not, you have to decide what you’re going to test, because you can’t do it all.

Instead of doing another post about all the things you could and should be doing to growth hack your startup, I want to talk about some of the problems you’re going to run into trying to follow the techniques that growth hackers (like myself) have talked about.

Implementing tracking systems is hard. Like, really hard. Your data is going to be off from the real numbers, no matter how hard you try. If you’re running Javascript-based tracking, it’s going to fail to load in some cases (because people are using adblockers, broken browser extensions, and some just disable Javascript). All a result, the numbers you see in various dashboards will be off from what you see internally in your own logs.

Here’s what I’ve learned so far.

Which system should you trust?

To this day, the conversion rate that we see in Mixpanel is different from the conversion rate that we see in Optimizely, by about 0.5%. That may not seem like a lot but it is when you’re talking about the difference between 2% and 2.5%.

Consistency is key here. Of course, try to get your data to match up as much as possible, but once you’ve gotten close enough, just pick one data source for your experiments and stick with it.

Building and automating a process around these systems is hard.

It turns out that the more data you’re tracking, the harder it is to keep up with each one. Eventually you reach a point where you’re spending all your time analyzing data and not actually acting on it.

Which brings me to another point:

Who’s responsible for monitoring the data?

For a long time, we were tracking a lot of stuff but never looking at most of it. Even today, there are some metrics that we only check monthly or even less frequently.

Acting on the data.

I wish I could say we’re running multiple A/B tests and have a running log of tests to run once those are done and validated. We’re not. We haven’t tested our homepage in weeks, because we’re testing paid ads, course landing pages, and our new learning library.

Tracking your validations and learning.

Your experiments take place across all these different tools from Optimizely to Customer.io. After a while, you lose track of what you’ve actually tested. And how do you make sure your learnings actually gets distributed to the rest of the team, so that they learn from your experiments? Just managing your data — the systems, process, and evaluation — becomes a whole ordeal, which is hard to justify spending time on when you’re already trying to build one company.

We try to do this with a Google document archiving all of our experiments, but it’s a pain to keep up to date and other people don’t always refer to it to see what they can learn. I know a few companies are trying to build solutions to this problem but I haven’t seen one that is very compelling.

Doing the real A/B testing that matters is extremely technical.

Sure, tools like Optimizely and Unbounce make it relatively easy to test superficial stuff on your pages by manipulating the page itself with Javascript. But what about that new feature you’re thinking of releasing? How do you make sure half the users keep seeing that new feature? How do you track the results of that over a long time? That test actually has to be written into your code, which can be quite difficult.

Prioritizing tests.

You can’t test all the things. Some people argue about whether you should even test most things. Should you only test optimizations? What about changes that are obviously going to make the product better? We regularly roll out changes that we strongly believe in without testing them in advance. There are only so many things you’ll have the time and resources to test.

Getting caught up in the stupid shit.

I know that there’s a method for identifying the problem in your bottleneck (I’ve written about it before). I also know that companies should focus on engagement and activation when building up traction, not acquisition. But I still end up getting caught up in the buzz of PR articles, social media, and driving traffic to our site. I still crave those small spikes in traffic because they feel good.

Taking big risks is hard.

We know it’s good for us, but there’s a temptation to just do the safe thing and not try the crazy stuff. It takes courage. We follow the conventional methods far more than we should, and we often assume we’re more likely to be right than we actually are (see confirmation bias).

Having one person manage the entire growth process is almost impossible.

It’s too massive. The whole thing ends up getting split and different people focus on different parts. But when you’re small you have to monitor both acquisition and retention at the same time. And then your attention is divided.

Growth hacking is like spinning plates. If you take your eye off of one for too long, it starts to wobble.

But that’s okay.

That’s the reality of growth hacking. It’s not always as clean and easy as people say it is. The truth is, you’re going to fuck up a lot.

You won’t be able to measure everything you do. Finding the right data and the right things to measure is sometimes way harder than people say it is. Organizing the systems to keep everyone looped in and to take action after you run experiments takes a significant amount of energy.

Just try to do more good than bad. As long as you do more good than bad, you’ll probably be fine. And make mistakes. That’s what it’s all about anyway, right?What have you learned about growth hacking? What’s working well — and how’s reality treating you?

Thanks to Justin Mares and Sarah Kathleen Peck for reading drafts of this

What is Content Marketing and Who Is Doing It Really Well?

What is Content Marketing and Who Is Doing It Really Well?

If you’re a business owner or someone with a product to share, you’ve probably heard of the terms lead generation, content marketing, and growth hacking a fair number of times. But what is content marketing, how does it work, and who is doing it really well?

You’re not alone if you think “content marketing” feels like just another buzzword — all jargon, no meaning. But the truth is, people have been using this form of free-to-paid marketing for a long time. Long before the invention of the Internet and digital products. Let’s look at how content marketing works. I made a quick video for you (above), and I want to dig in and break it down even further. Let’s talk about content marketing:

1: Create valuable, free content that other people want.

If you’re a content marketer, you’re going to spend your time making lots of content. This could be blogs, images, visual diagrams, e-books and emails. Things that people read, consume, and enjoy learning from. The keyword here is content and that can include a whole variety of forms, all of which you use to connect to your audience.

It’s not enough to make something and then just stop there, however. You need to know who you want to connect with, and how you’re going to share your product. This requires understanding your user, audience, or customer — also known as “marketing.”

2: Get to know your audience — marketing.

One of the things companies and teams forget to do is get outside of their bubble. We often make products, blog posts, and classes without digging in and getting to know who our desired customer is. Who do we want to reach? What are their hopes, dreams, wishes, and desires? In order to make something that’s really valuable, often you need to know who would find it valuable.

Content marketers spend a lot of time getting to know their audience, their users, and who they want to connect with. This is the essence of marketing. Figuring out who your ideal customer is, what they want, and how you can connect with them.

3: Sharing your work with the right people — promoting yourself and your business.

The purpose of creating valuable content is to ultimately share what you have to offer with the people who want what you’re selling. This isn’t a new story — chocolate shops will give out free tastes just to get people in the doors to buy more of their product. Online, it’s the same thing. We create free content of high quality and value so that people can get a feel for you and your business.

This is part of promoting your work and your business, and this is done effectively through content marketing — giving valuable (free) content to an audience that wants what you have to offer, so you can start a conversation with them, and potentially sell higher-level products, classes, or packages to them in the future.

Once people know what you stand for and what kind of work they can see from you, they’re more likely to come back and buy from you at a later date. People buy courses from One Month because they know people on our team. They trust what we’ve done or they’ve read good reviews. We write several blogs, set up email options, do free webinars, and create free presentations to share what we teach and reach more people who might find our courses valuable. Often people have visited our websites a few times or have seen our work before, and then they buy the class.

A few great examples of content marketing:

Some businesses have been making amazing free content and posting it to their Instagram channels. Yes, Instagram counts as content marketing! Simple Green Smoothies, for example, posts new recipes almost daily, and you can pop into your Instagram feed and be inspired to eat healthier with free photographs and recipes daily. You can discover them through hashtags and search terms (or friend’s recommendations), which introduces you to their business. This drives users to their website, to free content offerings (like recipe books)! and ultimately to their paid offerings.


Wistia, another example, is a website devoted to video content. Let’s say you’re browsing through a link that a friend sent your way, and it’s got an amazing tutorial on how to set up your video studio to get high-quality videos at a fraction of the cost. They make a clean guide and DIY tutorials that you love. Baked into their website is an opportunity to opt-in and put your email address in to get more useful video tips for how to become an expert video content marketer. You enter your email address and they send you weekly emails with the best video tips. Over the next few weeks, they email you with new posts once a week, and introduce you to more products they have to offer. After a few weeks, you’re hooked — and you sign up for your own Wistia hosting account.


The New York Times is another great example. They aren’t just a media and publishing house. You become a subscriber because their online content is designed to get you hooked. They give you ten free articles every month, and then, once you reach ten articles — you have to pay to read more. You sample enough of the content that they have to offer, and then you need to become a subscriber in order to read more of their daily and weekly articles.


This is all content marketing: they’re using free information (in the form of blog posts, recipe books, and then email correspondence) to attract their audience, gain signups (also known as leads), and then share with them further classes, books, and products that would be useful for the person who visits their website.

Look for it: what websites, companies, and products are offering a free version of their material to hook you?

Become a content marketing detective:

  • What free content are they offering?
  • Who is it targeted towards?
  • How are they sharing it? Through what websites or platforms?
  • Where did you first hear about it?
  • What made you sign up?
  • What are their paid offerings? Are you interested?
  • What makes it useful and valuable? Do you love it?
  • Or, what are some of the turn-offs? What made you not like the product or sales pitch?

A few reminders when you’re starting out: keep it simple!

All of the content out there can be overhwhelming, and all the ways to share your work. Start with the platform and content that makes the most sense for YOU. You might start with just images on Instagram, or short blog posts on a platform you feel comfortable with. Whatever it is, keep it simple and focus on just one area at first. Get to know people in that arena that you want to connect with. As you grow over time, you can expand to experiment in new places and with new types of content — but the most important thing is to begin.

What great examples of content marketing have you seen? What are your favorite websites with free information, blogs, and offerings that you’ve actually signed up for?

10 Reasons Beginners Should Learn Ruby on Rails

If you’re new to programming, what language should you learn first?

I often get asked the question: “What programming language should I learn?”

If you’re totally new to programming I highly recommend Ruby on Rails. In this post I’m going to give 10 reasons why I think new programmers should start with Ruby on Rails.

1. Ruby on Rails is a web application framework.

It is NOT the same thing as Ruby. Ruby on Rails is basically a collection of shortcuts written in Ruby that lets you build web applications — basically websites — really quickly. The benefit to learning a web application framework (like Ruby on Rails) before learning a programming language itself (like Ruby) is that you’ll make quicker progress in the beginning, you’ll have a real site that you can share with friends, and you’ll see how the things you’re learning actually apply to the things you want to be able to do.

2. Some of the biggest websites in the world are built with Ruby on Rails.

Basecamp, Airbnb, Bleacher Report, Fab.com, Scribd, Groupon, Gumroad, Hulu, Kickstarter, Pitchfork, Sendgrid, Soundcloud, Square, Yammer, Crunchbase, Slideshare, Funny or Die, Zendesk, Github, Shopify.

Enough said.

3. Lots of startups are hiring for Ruby on Rails.

It’s not the most in-demand thing to learn for jobs in general — there are way more job openings out there for things like Java, PHP, even Python — but in terms of working at a startup, great Ruby on Rails developers are some of hardest people to find. This is mostly because…

4. Ruby on Rails is full-stack.

Unlike most languages — like (HTML/CSS, Javascript, Python, and SQL) — Ruby on Rails covers both the front-end and the back-end. That means one Ruby on Rails developer can build an entire web application, without having to rely on someone else to build the back-end or front-end for them. A nice side-effect of this is that if you learn Ruby on Rails, you’ll end up learning a bit of HTML/CSS, Javascript, and Ruby along the way. That’s not the case at all if you just start with any of those languages.

5. Ruby on Rails has a thriving community.

The Ruby on Rails community is one of the most active out there. There are tons of conferences you could go to, meetups going on in every major city on almost every day of the week, online forums like Stack Overflow, and you’re almost guaranteed to find Ruby on Rails developers at any hackathon you go to. That means it’s easy to reach out to someone if you ever need help.

6. The Ruby on Rails community is very beginner-friendly.

On top of being a thriving community, for some reason Ruby on Rails and Ruby developers are among the friendliest out there (this is purely anecdotal, I have no evidence for this). I suspect this has to do with how new the framework is, and so almost everyone remembers what it was like to be a beginner.

7. There are a lot of great online resources for learning Ruby on Rails and Ruby.

Literally dozens. Check out: the Ruby on Rails Tutorial, Rails for Zombies, One Month Rails (that’s me!), Treehouse, Lynda.com, Codecademy, Learn Ruby the Hard Way, Why’s (Poignant) Guide to Ruby, and many, many more.

8. Ruby itself is a forgiving language for beginners.

At the end of the day Ruby on Rails applications are mostly written in Ruby, so it helps that it has a few features that make it especially good for beginners to learn. Unlike Javascript and many other languages, you don’t need to remember to end your lines with a semicolon (;). Unlike Python and some other languages, whitespaces and tabbing doesn’t matter. A lot of the times, you can leave out things like parenthesis () and curly brackets {} and it doesn’t even matter! Ruby knows what you meant. On top of that, Ruby is very readable. Check this out:

5.times { print "Odelay!" }

This little example (courtesy of Why) does exactly what it says. Try reading it out loud. Five times print “Odelay!” Compare that to the same thing in Java:

for(int a = 1; a < 6; a++){

The second is much harder to read and understand as a beginner.

9. Ruby on Rails hides a lot of the stuff you don’t need to know.

You won’t need to know any SQL to use a database in your Ruby on Rails application. That is awesome. In most cases, Ruby on Rails will just make an assumption about how you want to do something unless you tell it otherwise. That makes it particularly easy for beginners who aren’t going to know or care about customizing every little thing about their application when they start.

Another example is the beautiful way that Ruby on Rails treats pulling in third-party code and keeping it up to date for you. Also it does a bunch of security stuff for you for free, like preventing SQL-injection in most cases, cross-site scripting, session hijacking, and much more. Other languages assume you know how to do that stuff on your own. It also comes with it’s own server for running locally.

10. Ruby on Rails teaches you development best practices.

Because Ruby on Rails makes a lot of assumptions about how you should do stuff, it forces you to do stuff the commonly accepted way, at least at first. This includes RESTful resources, MVC framework, testing (it includes a testing framework by default), and much more.

These are only a few of the reasons I could think of for why a beginner should learn Ruby on Rails. Honestly, if you don’t already know about programming, most of this stuff will go over your head. But the point of this article is to convince more experienced developers to stop telling beginners to start with stupid languages like PHP, and also to show beginners that there are significant, and well though-out reasons for a beginner to start with Ruby on Rails, even if you don’t understand what they are.

If you have any concerns or questions that I haven’t covered, please post them below and I’ll try to respond as quickly as possible!

9 Great Lessons on Learning From Ancient Philosophers

Give a man a program, frustrate him for a day. Teach a man to program, frustrate him for a lifetime.” — Chris Oliver

“Son of a …!” — Alex Miles Younger

“…Welcome to programming!” — Lee Matos

Have you ever been frustrated by something beyond belief? Wanted to quit, give up, or walk away? You’re not alone. This is the plight of learners everywhere.

Programming, coding, and problem solving are all very similar in nature: get into a frustrating pickle, and figure out how to get out of it. The art of learning involves becoming very familiar with the process of figuring it out when things go wrong.

Our Python course kicked off last week, and we’ve had students in the office working night and day to solve problems and figure out technical issues for the first round of students taking the class. The first month of a course launch is always the hardest, because no matter what you do — no matter how much we prepare as teachers and as educators — there are always hundreds of student questions beyond what we expect.

Yet as teachers and learners both, we see this process happen time and time again. In fact, it’s how this company started in the first place.

Late-night jam sessions with students working on our latest Python course.

One Month Rails was born out of a deep frustration

One Month was born out of a deep frustration in learning how to code — Mattan was frustrated at what was available in coding education, and wanted to be able to build his project himself. So, he sat himself in a room for 30 days and muscled through the code, eventually teaching himself the basics of rails and figuring out how to become a developer on his own. It wasn’t easy by any stretch of the imagination, and there were days when he had no idea if what he was learning would help him actually build something that he wanted to build.

As lifelong learners, it’s our job to strike a balance between staying motivated and sticking through the frustration to solve the puzzle. Ryan Holiday, in his recent book The Obstacle is The Way, reminds us of both Buddhist and Stoic philosophers that embrace obstacles as our greatest teachers. By changing what feels difficult or arduous into a metaphor of our greatest teacher, we can become great learners.

The obstacle is the way: 9 reminders about lifelong learning

Marcus Aurelius, a Stoic Philosopher, reminds us that obstacles are beneficial to our learning and growth across all areas of our lives:

“Our actions may be impeded, but there can be no impeding our intentions or dispositions. Because we can accommodate and adapt. The mind adapts and converts to its own purposes the obstacle to our acting. The impediment to action advances action. What stands in the way becomes the way.” — Marcus Aeralius

From this, there are several key reminders on our own quests for learning — whether we’re learning how to built startups, create projects, or write our first line of code. This philosophy created the foundation for the book The Obstacle is the Way, by Ryan Holiday — a great book to read if you’re ever frustrated or stuck. Here are nine key lessons from Ryan Holiday about how obstacles can actually become instrumental in our quest for learning:

1: Failure can be a benefit.

Failing at first forces us to pursue different paths and consider different alternatives. This increases our diversity and flexibility as builders and coders, making us more resilient in the long term.

2: There is often more than one way to solve a problem.

Problems can be addressed in many different ways, it’s up to us to figure out how to approach problem-solving more broadly, not just know the answers to specific questions. The best way to get better at problem-solving is to continue to tackle problems as part of your everyday life.

“The only guarantee, ever, is that things will go wrong. The only thing we can use to mitigate this is anticipation. Because the only variable we control completely is ourselves.” — Ryan Holiday

3: Obstacles teach us as much about our inner workings as our outer world.

Sometimes the true obstacle isn’t external, but it’s what’s inside of us — our stubbornness, frustration, inflexibility, or fear… The process of embracing challenges teaches us about our own reactions and scripts as much as anything else.

4: Obstacles make you angry… which can be a great thing.

I remember the time someone said I wasn’t good enough to do a particular thing. Boy, did that piss me off … and make me want to prove them wrong. So what did I do? I went out and did it, probably ten times better than I would have done in the first place. That initial obstacle — the person who said I couldn’t do it — actually inspired me to become even greater.

5: Obstacles remind us to stay present.

“Focus on the moment, not the monsters that may or may not be up ahead,” writes Holiday. When we think too much about the problems piling up in the future, we forget to pay attention to the things immediately in front of us. Problem-solving is a zen practice.

6: We apply meaning to a puzzle, not the other way around.

“There is no good or bad without us, there is only perception. There is the event itself and the story we tell ourselves about what it means.” When you’re solving a puzzle or working through a problem set, you are not a good or bad person; you’re just a person.

7: Things are worth doing well: it’s not just about getting the right answer.

Getting the right answer is not the same as working through the process well. “Wherever we are, whatever we’re doing and wherever we are going, we owe it to ourselves, to our art, to the world to do it well.”

8: It is the obstacle that carves out our integrity, not the other way around.

“Blessings and burdens are not mutually exclusive,” writes Holiday. Building One Month was born out of problem that needed solving, not a simple dream that fell into place one day. Your work deserves your attention, and working through the process will open up more doors and opportunities than avoiding obstacles altogether.

9: Finally, on (not) quitting and frustration:

“It’s okay to be discouraged. It’s not okay to quit. To know you want to quit but to plant your feet and keep inching closer until you take the impenetrable fortress you’ve decided to lay siege to in your own life — that’s persistence.”

As teachers and educators, we don’t quit when something doesn’t go right — we keep testing, trying, and building until we find the best way to do something. Whether it’s a piece of code, a way for people to get in touch with us, or a new course launch, we’re always learning and growing. We don’t do this in the absence of obstacles; rather, we use all of the problems that come up as ways to keep learning, growing, and getting better.

As students and as teachers, understanding how to learn is about philosophy. The idea that obstacles prevent us from achieving our views fails to account for how valuable obstacles are in shaping who we are and how we approach our work. As we work through challenges, we develop strength, resilience, and even confidence and calm. Through the pursuit itself, you uncover ideas about yourself and the world that will serve you well in the future.

Perhaps, in fact, the obstacle itself is the way, and not the other way around.