Legal Innovation & Technology Lab
@ Suffolk Law School

How To...

Tech Support Cheat Sheet
Image and Hover Text: Tech Support Cheat Sheet by XKCD

The following documents (comic included) are used to help bring lab members up to speed on a constellation of tech tools and concepts used in our work. They're works in progress, but we hope even in their current state others might find them useful.

One could start at the beginning and work their way through all of the "lessons." However, it's more common for us to reference sections as projects call for them. That being said, the first three sections lay a foundation for much of what follows. We plan to use these resources heavily in next Fall's Coding the Law and as supplements for LIT Fellows and students in the LIT Lab.

Self-direction is the name of the game. However, students, and to a lessor extent the general public, are not playing without a net. All are welcome to join the Lab's Slack Team. There you'll find public channels associated with some of the sections below. A section will make this clear by providing a link. We hope you'll use these fora to ask and answer questions. FYI, some channles span multiple lessons (e.g., howto-datasci).

The Lab's standing rule re. asking for technical help is as follows: If you set to doing something and you are hitting your head against a wall for 30 plus minutes, ask for help in the appropriate Slack channel.

If you're not a Lab student and you are using one of the channels associated with a section below, you must abide by the following three rules:

  1. Gosh darn it, you've got to be kind;
  2. If you're asking a question, don't expect an immediate answer (pro tip: screen shots are your friends);
  3. If you're answering a question (which you're encouraged to do), don't provide an answer out of the gate. Work to point people in the right direction; and
  4. Fill out your profile so we know who you are.

First, apologies to Kurt Vonnegut. Second, Lab faculty are the ultimate arbiters of any disputes.

Secure Your Passwords
Estimated Time (Download & Install): ~10 min.

You'll find yourself creating a bunch of accounts as you work your way through these lessons. Since you'll be working with other people's data, you need to take security seriously. That means picking a good password. What's a good password? One that's hard for someone to "guess"/discover. By now we all know a long pass phrase or random collection of numbers and letters is good form, but it's all for not if you use the same password for multiple accounts and one of them gets hacked. Likewise, if there's a post-it on your laptop with your login, it doesn't really help is someone steals your laptop. If you'll be working with Lab data, you need to follow the following best practices: (1) store your Lab-associated accounts info in an encrypted password manager; (2) don't reuse passwords; (3) actually use random passwords; and (4) set up a login/lock for your computer(s) and phone(s).

Want a free and simple option? We suggest LastPass. If you like wordplay, however, there's always RememBear. In general, you may want to choose a manager that allows for local storage of passwords on a single device (like your phone). This usually means that you don't have to pay for a subscription. It also means your passwords stay on a single device, not the cloud. However, this makes phone backups even more important, and sometimes (as with RememBear) you have to sign up for a free subscription and cancel it before the trial runs out to access the free local functionality. Always read the fine print! Anywho, you should be backing up all of your devices! Ask Colarusso about his 1L laptop failure in the middle of his Contracts exam.

Not required, unless you're housing confidential client data (as a rule this shouldn't be the case for Lab students), but suggested: (1) if you can, turn on two-factor authentication; and (2) Encrypt your hard drive.

Read and Write Code
Estimated Time (Download & Install): ~10 min.

You need a tool to read and write code, and no, Microsoft Word won't do the trick. You need a text editor. Have you ever tried to cut and paste something from Word only to have the formatting all messed up? That's because there's a bunch of unseen stuff mixed in with your text. Unlike word processors, text editors don't touch anything but text and they often highlight your code, making it easier to read. Some popular (and free) text editors include Atom, Notepadd++ (Windows only), and Visual Studio Code. If you don't have a text editor, download one from the preceding list. It will come in handy soon. Also, these editors (esp. Atom) are highly customizable. See e.g., Atom Packages (you may want to disable "autocomplete-plus" and download and enable "spell-check").

Get Your Accounts in Order
Estimated Time (Setup & Install): ~30 min.

We use a number of collaborative software tools. To help hit the ground running, we ask that you sign up for the following services and download their associated apps when appropriate.

As discussed above, we have a Slack team. If you're a member of the Lab, you need to join our team. Once you have, fill out your profile, and DM @Colarusso. Ask him to add you to your class's private channel. Anyone can join public channels. Slack is the Lab's primary communication hub. Consequently, students are expected to regularly check Slack or to set up push notifications. You can download the app for your phone or desktop.

Remember the standing rule re. asking for tech help: If you set to doing something and you are hitting your head against a wall for 30 plus minutes, ask for help in the appropriate Slack channel.

In addition to Slack, students need accounts with the following services:

Keep in mind that your username(s) may be used in Lab materials available on the Web and associated with your work. Choose accordingly.

Share Your Work on Github
Estimated Time (Reading & Exercises): ~60 min.

Git is a system for managing the many versions of code one writes over the course of a coding project. At one level, it can act like track changes for computer code, allowing multiple people to collaborate on a single project. GitHub is a website on which you can host and manage projects using Git. It's also a community of users where people share their code. The following short lessons will walk you through setting up a GitHub account and how to make use of GitHub pages to publish a simple webpage.

Remember, if you're having problems getting something to work, you can always ask for help over on our Slack team under #howto-github (join our team).

Find a Needle in the Haystack
Estimated Time (Reading & Exercises): ~90 min.

Regular expressions (regex for short) won’t replace associates or paralegals, but they can take a lot off their plate. They sit somewhere between Control-F and the computer on Star Trek. To be fair, they’re a lot closer to Control-F. They’re finicky about syntax, but once you learn the "magic words," you can ask them to read a document and return lists of almost any textual pattern imaginable. In this lesson, you'll be given some reading on regular expressions followed by some puzzle-based homework.

Remember, if you're having problems getting something to work, you can always ask for help over on our Slack team under #howto-regex (join our team).

More »

Demystify Data Science
Estimated Time (Reading & Exercises): at least 3.5 hours.

In 2012, the Harvard Business Review proclaimed data scientist the sexiest job of the 21st century. An interdisciplinary field at the intersection of statistics, computer science, and the industry of your choice, its practitioners often come across as unfathomable Mathemagicians. The truth, however, is much less flashy. Data science is just applied statistics mixed with a little CS and a lot of domain expertise. The following collection of links will help demystify the practice of data science by walking you through a generic data science workflow, from the cleaning of data through the training of a predictive algorithm. You will then be asked to give it a go by putting your skills up against those of your peers in a data challenge.

Remember, if you're having problems getting something to work, you can always ask for help over on our Slack team under #howto-datasci (join our team).

Install Jupyter Notebooks
Estimated Time (Download & Install): ~15 min.

You've been introduced to the idea of notebooks in earlier sections. However, for the most part, these were run in the cloud. What do you do if you want to run a notebook locally? Download Anaconda. Why run notebooks locally? You don't have to place potentially sensitive information in the cloud, and since you're running the notebook on your computer, you can have it interact with files on your hard drive. This quick How To will walk you through the process of installing Jupyter Notebooks and python libraries on your own machine.

Remember, if you're having problems getting something to work, you can always ask for help over on our Slack team under #howto-datasci (join our team).

More »