Posts

The Best Text Editors for Beginners

What text editor should I use?

What is a text editor, and why does it matter which one I use?

Text editors are programs that type simple text without the sort of formatting a word processor will so rudely slip in. No comic sans, no forced margins, no line breaks (I just tested this with a line of Python, and yep, I can make a line of code that will wrap around the planet if I want). A text editor is just you and your ASCII, absent bells, whistles, or beauty.

As you start out programming, you’ll quickly find your text editor is your best friend. Or your frenemy, depending on how coding is going that day. It’s essential to start figuring out which text editor works best for you. Like most tools, the basics of every text editor are the same. They all have a place to interface text (because, of course), most feature syntax-based color coding, virtually all feature hot keys and intuitive text features to lighten the load of a long coding project.

As you start out programming, you’ll quickly find your text editor is your best friend. Or your frenemy, depending on how coding is going that day. It’s essential to start figuring out which text editor works best for you.

There are already plenty of blog posts on what kinds of text editors to use, but I happen to be retaking One Month’s Python course at the moment, and felt like this would be a good opportunity to test out a few different ones (despite the fact that Eric expressly tells us to work with Sublime Text; we students are rebels).

I’ll mostly be looking at Mac-based editors (or cross-platform editors that work on Mac), because that’s the type of machine I’m working on. When you’re starting out coding, it’s also best to give yourself a little flexibility in terms of the tools you use; you don’t want to limit yourself to working on one platform because you never know where you’ll be working.

I’m also going to try to focus on editors that will be good for beginners. This is because that’s where I am with coding (and that’s where we all need to start).

(A brief aside before we start: I am ethically obligated by the higher order or people who write about text editors to point out at this point that text editors aren’t the same as IDEs or Integrated Development Environments. IDEs are more like Swiss Army Knives, whereas text editors are like screwdrivers. Word screwdrivers. A couple of the text editors we look at will tread the boundary between these.)

Sublime Text: $70 (or unlimited free trial)

This is the first editor I wrote code in, and there’s a soft spot in my heart for it. It passes what I think is the most essential test for any text editor, which is that it’s intuitive to start using. You just open up a file as you would with any interface, and can begin coding.

The extra features with it are pretty bog standard things like code folding. What’s code folding, I wondered, can I make code origami? Imagine my disappointment when I found out it just hides lines of code when I’m not actively working on them. Useful, but no cranes for me.). I like the dive in and begin aspects of Sublime Text. If you’re used to typing in a word processor, Sublime Text is a pretty solid introductory text editor.

If you’re used to typing in a word processor, Sublime Text is a pretty solid introductory text editor.

There’s also an open secret with Sublime Text: While the program isn’t free, it comes with an unlimited trial period. You should absolutely buy a copy if you love using it, but I like that there’s no deadline bearing down on me to make that decision.

VIM: Free

I’ll be honest: Vim scares the crap out of me. If Sublime Text is the cozy programming home I feel comfortable putting my feet up in, Vim is an enormous mansion set high atop a hill with a heavy iron gate between it and me. even downloading and installing Vim is fairly difficult, which makes it a tough text editor to touch if you’re new to programming.

That’s not to say that Vim is bad — far from it. Vim is a great text editor; it’s free, heavily customizable, has a huge community of users and a long history of use. You can make Vim work the way you want it to. It is so useful, in fact, that it’s occasionally compared to an IDE, because it has tools aplenty. Vim just won’t hold your hand. In fact, it sort of slaps your hand away while shouting at you “Get up! Learn to walk on your own!”

If Sublime Text is the cozy programming home I feel comfortable putting my feet up in, Vim is an enormous mansion set high atop a hill with a heavy iron gate between it and me.

All those tools, all that customization means there’s a pretty steep learning curve, which makes it kind of a nonstarter for a beginning programmer. In fairness, Vim’s designers are up front about its difficulty; personally, I’ll save real play on this for when I’m writing more advanced code.

Coda: $99; One Week Trial

I really liked playing around with Coda. This is another tool that feels more like it’s leaning toward an IDE than a text editor; in fact, despite what they say on their website, I’d go so far as to call it an IDE. It’s heavy on features like a built in Terminal interface, SSH connectivity, controls for pushing code automatically to a hub. It’s not exactly bells and whistles-free, but a lot of the features are easy enough to figure out and are essential tools for developing a web app.

I’d go so far as to call Coda an IDE. It’s not exactly bells and whistles-free, but a lot of the features are easy enough to figure out and are essential tools for developing a web app.

My favorite aspect of Coda, which you won’t find in almost any text editor, is a preview button that lets you see what the code you’re writing will look like live. This is a major time saver compared to pushing code, running it on a server, failing, pushing again, etc.

There’s definitely a bit of a learning curve for using Coda. So, if you’re just looking for a tool that lets you dive in and start writing some code, this is probably not the way to go. But with a little experimenting, it has some pretty powerful features you’ll want anyway. Worth the investment if you’re an intermediate coder who’s going to be sticking with it for a while.

Atom: Free

Basically, it’s like getting a knife that you can later turn into a scalpel and then into a LASIK tool.

Atom is a groovy text editor to work with. Its interface has a similar feel to Sublime Text’s, but the iconography of their file structure is ever so slightly more intuitive. It also has a convenient hotkey to list all available command functions. What makes Atom so cool to use, though, is that it’s open source, completely (and easily) hackable, and entirely user friendly. There isn’t any learning curve with it. You can dive right in and start entering code — but as you become more advanced as a programmer, you can make Atom a more complex text editor for your needs. Basically, it’s like getting a knife that you can later turn into a scalpel and then into a LASIK tool.

So which of these is the best?

From my perspective, which is to say the perspective of a novice, a good text editor is one that allows me to dive in and start coding, while also giving me room to grow and get more experience as part of a broader community. It’s what I like to call the bike shop problem. When you walk into a bike shop for the first time, odds are pretty good it’ll be a bit intimidating with all the experts walking around talking the talk. Odds are good you just want to get on a bike and go. The rest of the stuff you can learn later as you become more of an expert, but if you need all that expertise just to get on the bike, you’ll never get started.

It’s what I like to call the bike shop problem. When you walk into a bike shop for the first time, it’ll be intimidating with all the experts walking around talking the talk. If you need all that expertise just to get on the bike, you’ll never get started.

With this criteria, Atom is the best program on this list for letting you get started. It also gives you room to grow. Atom has a large community of users, just like a more intimidating program like Vim, but it also gives me room to start working with it right away. It’s intuitive and easy-to-use, but also expansive and flexible to the needs of its programmer.

To me, this is a great feature of any program. Especially one that I know I need to use as a long-term tool. Part of the frustration of working with a tool is the FOMO of it all. Am I really getting the maximum functionality out of my text editor? Is this the best possible tool I could be using? Atom clears that up by letting me build from a simple text editor to a more complex one.

Takeaway recommendation: if you’re a beginner, start with Sublime as your text editor. The unlimited trial is free, it’s easy to learn, and you can use it across multiple operating systems.

What is Payment Processing?

Key Takeaways

Payment processing allows you to accept payments online. Here are three options to get you started:

  1. Easy: Services like Gumroad or Shopify are easiest. They come with basic themes and customizations.
  2. Medium: The Stripe checkout button. You’ll need basic development skills, but in exchange, you can customize the experience a lot more.
  3. Advanced: The Stripe API or Paypal API. You’ll need expert development skills however, you’ll have 100% control over customization.

Your Assignment

  • Decide which payment processing option is best for you. To get started, read about GumRoad, Shopify, and Stripe Checkout (20 minutes). If you have questions about getting started, contact us at teachers [at] onemonth.com.

Additional Resources to Keep You Learning

How Will You Make Money?


 

 

 

You should have an answer to the question “How will you make money?” early on. You may even have several answers. It needs to be plausible. People (like investors) may push back and argue with you about whether or not it’s a feasible business model. If you’re asking people for money, it’s a question you will have to deal with. So, you better be prepared for it.

That being said, you pointed out a few important things. For one, it’s okay to not be sure which will be the ideal business model or price. The process of getting to profitability is something you’ll have to face eventually if your startup continues to grow. You may be able to push it off for a while in favor of focusing on growing usage. That’s the second point, if your product is growing quickly, you’ll often find investors willing to fund your growth despite the lack of a proven business model.

There are only a few major business models though: Advertising, Subscription, E-commerce, Business Development, and Lead Gen are some of the major ones.

Let’s take Facebook as an example. In the early days, Facebook was growing so fast that they were able to get a ton of money before they had to worry about their business model. But it was pretty clear their business model was going to be advertising. It’s a fairly straightforward path to monetization for a social network. Though not all social networks monetize solely through advertising (LinkedIn charges users for premium accounts).

There are some others (like Medium) where the business model is still unclear, but I bet that the founders have a path (or several) towards monetization in their heads.

Yes, solving a problem should be the most important thing for you to focus on. But the reality is that if you’re trying build a big business, you have to have an idea how it’s going to be a lucrative problem to solve.

LLC vs. Corporation: Which is Right for Startups?

If You’re Starting A Startup:

If you’re starting a startup, and you want to deal with equity, you’ll need to start something known as a C-Corp.*

The two major ways you can create a company are as a C-Corporation (C-Corp for short) or a Limited Liability Company (LLC). If you want to have equity in your company, then you shouldn’t start an LLC. An LLC is just for multiple partners owning a business. A C-Corp will let you take investment and have equity in your company.

Another important thing about a C-Corp is that you’ll have a Board of Directors. That might start out as just you and your Co-Founder, but as you grow and get more investors, they may join as board members as well.

For now, you probably don’t need to know about A-Corps or B-Corps (but if you want to geek out, we won’t stop you from Googling). Focus on LLC vs Corporation.

*Of course, for questions specific to your particular situation, it’s best to seek the advice of an attorney or accountant.

Key Takeaways:

  • If you want to take investment (and have equity in your company), you’ll need to start a C-Corp.
  • The two main forms of company structure are C-Corp and LLC.

Why Should You Incorporate Your Startup In Delaware?

Startup Series: Why Delaware?

Why should you incorporate your startup in Delaware, even if you’ve never been there?*

A whole lot of companies in the US are incorporated in Delaware, even if the company doesn’t actually exist there. One Month, for example, is incorporated in Delaware, even though we’re headquartered in New York (and we’ve never been to Delaware)!

The reason? There’s a body of law in Delaware where many court cases have already been tried, so companies and potential investors have more certainty about how different legal disputes will turn out. It’s riskier to incorporate your startup in a state where the outcomes for legal problems don’t have any legal precedent, and it’s unclear what would happen if a case were to go to court.

For investors, it’s also more attractive for them if they know you’re incorporated in Delaware, because this gives them more certainty. If your business has a legal question and it needs to be figured out in the court system, investors prefer the certainty of knowing that previous cases have established precedent (known as case law) in this state.

*Of course, for questions specific to your particular situation, it’s best to seek the advice of an attorney or accountant.

Key Takeaways:

  • Ideally, you’ll be incorporated in Delaware (you don’t have to live there to incorporate there) because many of the laws and cases have already been figured out
  • The steps to incorporating a business are fairly simple, hence there are people who can do it for you.
  • If you try to do it the manual way, it can be more complicated, but still do-able.

More Links:

Startups + Fundraising Series:

Learn How to Launch An MVP In One Minute

Key Takeaways

A Minimum Viable Product centers upon the idea that you should release a new product ASAP. Don’t spend nine months building all the features. Instead, build the most important features — just enough to learn whether or not people even want the thing you’re making.

Repeat after me: an MVP means getting the most learning for the lowest amount of effort. Ask yourself, “How can I get this product in front of people as quickly as possible?”

Example of Minimum Viable Product in action

  • Dropbox started as an MVP
  • Here at One Month, we use Launchrock to build a landing pages, and to collect email addresses for classes that aren’t yet in development. This helps us learn which classes are most in demand.

How to Learn to Build an MVP Today

  1. Steve Blank, and Eric Reis: Read about the experts and follow them on Twitter (5 minutes).
  2. Data Drive Products Now! (slideshow): Check out this cool case study from on Etsy developer Dan McKinley (12 minutes).

Additional Resources

If You’re Not Embarrassed By Your Startup, You Launched Too Late

“If you’re not embarrassed by the first version of your product, you’ve launched too late.” — Reid Hoffman

If your startup is successful, no one will remember how ugly your product looked the day you launched. (And if it’s not successful, no one will care.)

When we think about successful companies like Google, Facebook, and Twitter, we tend to forget the modest beginnings from which they came. As Paul Graham recently wrote, “Think of some successful startups. How many of their launches do you remember?”

In celebration of modest beginnings, here’s a dose of reality: I recently came across the landing pages of some of the most successful companies we know. This is something everyone should see.

The moral of the story: don’t name your company BackRub. Also, don’t worry about making something pretty, worry about making something people love. As Reid Hoffman (the founder of LinkedIn) once said, “If you are not embarrassed by the first version of your product, you’ve launched too late.”

It’s easy to say “have a growth mindset,” and “follow lean startup principles.” It’s a lot harder in reality, when you have to launch quickly, and put out versions of your product that feel unfinished, raw, or even ugly. Take a look at the startups below, and how they launched their first product — and maybe you can launch a little earlier. Or a lot earlier.

(Credit goes to Phil Pickering for finding these.)

Twitter’s first landing page:

Early Facebook screenshot:

Early Google homepage (from 1997):

The precursor to Google, BackRub:

An even earlier Google homepage:

Yahoo!’s homepage in 1994:

Early tumblr dashboard screenshot:

Early Amazon homepage screenshot:

Apple circa 1997:

AuctionWeb before it became eBay:

Burbn (a Foursquare clone) before it pivoted to… Instagram:

The first ever prototype of Foursquare (shown at SXSW in 2009):

Reid Hoffman’s original LinkedIn:

And finally… Reddit (some things never change):

What stands out to you? How would you have designed things differently?

It’s easy to think that you need to have a great design and get everything polished before you release it to the world. In reality, you should launch things as soon as you can, as quickly as you can, to get validated learning. The Lean Startup talks about this as validated learning — getting immediate feedback from users as to what they actually want, not assuming you know all the answers.

How can you launch a beta version earlier? Why is getting feedback on a somewhat-shitty design more valuable than perfecting a design that no one wants? Post your thoughts in the comments below.

Famous First Landing Pages

“If you’re not embarrassed by the first version of your product, you’ve launched too late.” — Reid Hoffman

If your startup is successful, no one will remember how ugly your product looked the day you launched. (And if it’s not successful, no one will care.)

When we think about successful companies like Google, Facebook, and Twitter, we tend to forget the modest beginnings from which they came. As Paul Graham recently wrote, “Think of some successful startups. How many of their launches do you remember?”

In celebration of modest beginnings, here’s a dose of reality: I recently came across the landing pages of some of the most successful companies we know. This is something everyone should see.

The moral of the story: don’t name your company BackRub. Also, don’t worry about making something pretty, worry about making something people love. As Reid Hoffman (the founder of LinkedIn) once said, “If you are not embarrassed by the first version of your product, you’ve launched too late.”

It’s easy to say “have a growth mindset,” and “follow lean startup principles.” It’s a lot harder in reality, when you have to launch quickly, and put out versions of your product that feel unfinished, raw, or even ugly. Take a look at the startups below, and how they launched their first product — and maybe you can launch a little earlier. Or a lot earlier.

(Credit goes to Phil Pickering for finding these.)

Twitter’s first landing page:

First Version of Twitter Website

Early Facebook homepage:

First Version of Facebook Website

Early Google homepage (from 1997):

First Version of Google Website

The precursor to Google, BackRub:

First Version of BackRub Website

An even earlier Google homepage:

First Version of Google Website

Yahoo!’s homepage in 1994:

First Version of Yahoo Website

Early tumblr dashboard screenshot:

First Version of tumblr. Website

Early Amazon homepage screenshot:

First Version of Amazon Website

Apple circa 1997:

First Version of Apple Website

AuctionWeb before it became eBay:

First Version of eBay Website

Burbn (a Foursquare clone) before it pivoted to… Instagram:

First Version of burbn Website

The first ever prototype of Foursquare (shown at SXSW in 2009):

First Version of FourSquare Website

Reid Hoffman’s original LinkedIn:

First Version of Linkedin Website

A very sterile version of Netflix (before you could stream):

First Version of Netflix Website

Nike (circa 1998):

First Version of Nike Website

Ashley Madison (long before they were hacked):

First Version of Ashley Madison Website

Pizza Hut (circa 1997):

First Version of Pizza Hut Website

Barnes & Noble (circa 1999):

First Version of Barnes & Noble Website

Best Buy (circa 1997):

First Version of Best Buy Website

Target (keeping things incredibly simple):

First Version of Target Website

American Eagle (if the Dawson’s Creek reference doesn’t age it…):

First Version of American Eagle Website

Shopify (the early years of e-commerce):

First Version of Shopify Website

And finally… Reddit (some things never change):

What stands out to you? How would you have designed things differently?

It’s easy to think that you need to have a great design and get everything polished before you release it to the world. In reality, you should launch things as soon as you can, as quickly as you can, to get validated learning. The Lean Startup talks about this as validated learning — getting immediate feedback from users as to what they actually want, not assuming you know all the answers.

What Are Convertible Notes and Why Use Them?

Throughout our previous entries on raising funds as a startup, we’ve been talking about raising money for your company by sharing equity with venture funds.

When you’re a company in its early days, sharing equity is difficult. Moving equity from your company to another requires a lot of time to hash out an agreement everyone can live with. It requires lawyers to work out the actual contracts. The whole process can cost upwards of $50-$100K. That is a lot of money for a company still looking for its first round of seed money.

Rather than dealing with the hassle of transferring equity, a lot of venture funds find it better to offer funding to startups using convertible notes.

Convertible notes are debts that convert into equity when a startup raises an actual equity round of funding. In essence, the venture fund offers to give you a loan of whatever amount. Instead of paying them back in actual money, the startup agrees to pay them in preferred equity. The venture fund gets the same agreement as whoever has invested in the series A round, with a bit of a discount as a good faith offer for investing earlier.

Early investing venture funds often find working with convertible notes preferrable to working with equity transfer for a few reasons:

For one, issuing a convertible note is easier. It can take weeks of discussion to transfer equity, but you can really issue a convertible note in only a couple of days. They also make it easier for the venture fund to work out the valuation of the startup by putting the discussion off until the series A round, when there is actual data to base their valuation on (rather than just a hunch). That considerably lowers the risk of their investment.

For startups, the convertible note also simplifies things. Convertible note agreements are short, maybe ten pages at most. They can often be found online and modified according to the template.

Instead of the high cost of hiring a lawyer to transfer equity, the documents for a convertible note can often be found online. As a result, they can help generate quick funding in exchange for onle a few hundred to a thousand dollars. For a company that has limited time and financial resources, that is a tremendous advantage over complicated agreements.

Key Takeaways:

  • Convertible note are a form of debt taken on during seed funding that converts into equity when a startup begins an actual equity round of funding (usually in series A).
  • Convertible notes are preferrable to startups because they are quicker, easier, and cheaper to issue than equity. They are better for venture funds because they make valuation more flexible.
  • You can find a lot of online templates for convertible notes that you can use. Usually a lawyer is only needed in a limited capacity when working out a convertible note agreement.

Links