There’s lots of software to install, but this part is more busywork than hard work.

Slack, your chat software

Slack is a messaging app that helps teams manage communications. It’s an incredibly popular tool - even The New York Times uses it for their workflow (among other cool things).

Our Slack is located at ledeprogram.slack.com. Create an account using your Columbia email address.

Even if you’re using your Columbia email, your Slack account is not the same as your Columbia account. You can use your Columbia email address, but you need to create a new Slack account.

If you have an existing Slack account with another organization, you need to create a new one for the Lede organization. New group always means new account.

We’re going to be using Slack a lot.

  • You can use it to get help from teaching assistants during class. You can get a TA’s attention by typing @theirname in a message, or you can send them a direct message.
  • It’s also useful to get help when you’re at home. Can’t find a file? Find a typo in some instructor code? Check in on Slack!
  • Be sure to download the mobile app to get immediate notifications from instructors during the summer.
  • It can also be a little fun - use Slack to share interesting links, find folks who are interested in going to events with you, and just generally hang out.

When you sign in to Slack, you’ll automatically be signed in to several channels (a.k.a. chatrooms)

  • #general is for announcements by instructors
  • #foundations, #data-and-databases, #algorithms and the #data-studio channels are all course-specific channels
  • #social and #social-2019 are for general chit-chat, the first for students from all years, the second for just this year. Want to chat about the weather? Looking to put together a potluck? Try here!
  • #events can be used to keep a list of events that Lede might be interested in - meetups and more.
  • #jobs is for job postings you notice that folks might be interested in
  • #coding is for coding questions not related to classwork/homework. A lot of previous Lede students hang out in there, too.

You might want to check out Getting started for new users to learn the ins and outs of Slack.

PostgreSQL, your database server

PostgreSQL (or Postgres) is a kind of database. You’ll like it.

Installing on OS X

There are a few ways to install PostgreSQL on OS X, but we’re going to go with Postgres.app. If you have a version of OS X older than 10.10, you’ll need to download a legacy version (probably PostgreSQL 9.3.23).

Whenever you want Postgres to be running, run the app.

To run the psql client which lets you ask the database for information, open the app and double-click the database you’re interested in.

Installing on Windows

We’re going to install the boring official Postgres install from here. You’ll be able to pick between “Windows x86-64” (aka 64-bit) and “Windows x86-32” (aka 32-bit) - try to install the 11.3 64-bit version first, if it doesn’t work you can do 10.8 32-bit version.

During installation, you will be able to choose several options:

  • If it asks you what pieces you want to install, you might as well say all of them.
  • At the end of the install it asks you if you want to install some related software. You can say no to this one.
  • Unless you have a good memory, set the password to postgres so we don’t have to reset it later!

When you want to access the database, you could just run psql from the start menu. You’re going to get a weird error, though! In order to make that error go away, you need to open the cmd from the start menu, run chcp 1252, then run psql -U postgres. We’ll talk about why at some point.

TablePlus, a database management interface

Now that you’ve installed the actual database software, this is a tool you can use to (eventually) browse the databases you install. You can download from the TablePlus website.

A plain-text editor

One of the most important tools we’ll use is a “plain-text editor,” which means you write and edit text without fancy stuff like bolding or italics. Writing in plain text is a requirement for programming, and from crunching numbers with Python to hand-crafting web pages. You sure can’t do that in Microsoft Word!

Any of the plain-text editors below will work. I used to use Sublime Text because it’s nice and fast, but I’m sticking with Visual Studio Code this year because everyone loves it and it has a very nice plugin ecosystem. If you’re already used to one, feel free to keep using it - it’s no big deal which you pick!

IDEs

There are also more complicated pieces of software that can be used for writing code called IDEs, integrated development environments. They do a ton of extra stuff, but can be a little overwhelming and are usually more useful on large software projects with dozens or hundreds of files.

We won’t ever go above a few files, so something like Atom works great for us. PyCharm is one for Python that some people like, but we won’t be using in class.