Frequently Asked Questions

General

HCS is a student organization at Harvard University devoted to promoting CS knowledge, fostering the CS community, and offering free services to Harvard affiliates.

The history of HCS dated back to 1983, making it older than most of our current members. HCS was founded to publish the Harvard Computer Review and Computing@Harvard. Fun fact: 2020 is the 20th anniversary of our mailing list service.
HCS is an incredibly tight-knit community that bonds throughout various community events. This semester, we ordered lots of delicious foods, including ramdon (Parasite), Shake Shack, Otto’s pizza, etc. Stay updated about our upcoming events where you can enjoy good foods and good company.
HCS reserves the right to terminate usage to any of its services at any time for any reason.
Everybody! You don't have to be a CS concentrator to join HCS. You can be a senior concentrating in History or a first-year student interested in Physics or Government. You can also join if you are in the School of Engineering and Applied Sciences or any other Harvard graduate school.
Absolutely! Most of us didn't know very much when we joined either. In fact, some of our most successful members had never programmed before joining HCS. We're happy to teach you, so don't be afraid to join without experience or to ask questions.
HCS runs an educational bootcamp series offered in both the fall and the spring. The bootcamps cover various topics including data mining, APIs, web scraping, and web development. It is a great way to hone your skills, make new friends, and connect with our industry sponsors! Due to the current Covid-19 crisis, only 2 bootcamps are needed to become a member of HCS. Join HCS Slack to get updated information about the comp.
Join HCS Slack to get updated information about announcements, community events, internships, and job opportunities. Additionally, you can click on the link below to subscribe to HCS’ own mailing lists. HCS-Announce: For general announcements about member events, bootcamps, tech talks, etc. HCS-Discuss: For general CS information at Harvard, ranging from CS concentration requirements to questions about the evolving field of CS HCS-Jobs: For information and application for CS internships and job opportunities.
You can email HCS board! We appreciate your donation to support our various projects and our core mission. We can arrange for the donation to be tax-deductible, but please let us know in advance so we can channel it through the University.
Builders Innovation Program is a brand new initiative launched by HCS this year. If you have an idea (doesn’t need to be a full-fledged idea) and need some funding to grow it, HCS got you covered. Apply by 5/15 to get equity-free grants ranging from $100 to $5000.

Beyond events, HCS is involved in advocating for right technology policy and collaborating with CS 50 and CS 51 to help them expand their technical capabilities. HCS also hosts Datamatch annually, which uses an advanced computer algorithm to pair Harvard students for Valentine's Day.

Mailing List

If you would like to prevent your mailing list from being publicly listed, you can go to
Privacy options > Subscription rules > Advertise this list when people ask what lists are on this machine?
and set it to "No".

If you would like to control who can subscribe to the mailing list, you can go to
Privacy options > Subscription rules > What steps are required for subscription?
and set it to "Require approval" or "Confirm and approve".

If you would like to make your mailing list archives private, you can go to
Archiving Options > Is archive file source for public or private archival?
and set it to "private".

Account Services

Anyone in the Harvard community can apply for any of the services offered by HCS. In order to get a mailing list, you only need a valid harvard.edu (or hbs.edu) e-mail address. You can make a list instantly at our list page. If you would like a full account with web a website and a real e-mail address, you should fill out the form here. Again, anyone in the Harvard community can apply for an account as long as it has a specific purpose and benefits a group of people.

If you would like a personal account for any reason, you can get one by joining HCS as a prospective member. We give accounts to prospective members after they've attended and participated in two regularly scheduled HCS meetings.

Yes. Rails is a bit complex, but we're working on making it easy. In general, you should ask us if you need something - we're very friendly. And if you're really interested in using Rails or another application server, you might be interested in helping us figure out the best way to support them.

Yes! If you don't have an account, you can request one now at http://www.hcs.harvard.edu/account-request. Then see http://www.hcs.harvard.edu/tutorials/vhosts for information on setting this up. Once everything is configured, your site will magically appear at your domain name. Amazing!

Log in to your group account, and type access. You'll want to use option B for people with fas accounts and option E for everyone else.

You probably don't have one! Passwords set with sftppasswd are reset each morning at 4am. We regulate access to our accounts with access lists instead. To get into your account you need to be on this access list, in which case you won't be asked for a password. Other people on the access list can add you-- see "How do I add/remove somebody from the group's access list?" below.

First, HCS runs a useful tool called phpMyAdmin at https://www.hcs.harvard.edu/phpmyadmin/. You can view and modify many of your database settings here. You can also access your MySQL database from the command line by typing

mysql -h mysql.hcs.harvard.edu -u group-name_here -p

at the command prompt. Enter your MySQL password when prompted.

Some settings you would use in connecting to the database in a php script:

DB = group_name
DBUSER = group_name (same)
DBPASS = your_mysql_password
DBSERVER = mysql.hcs.harvard.edu

A complete tutorial is available on how to get into your HCS account for the first time.

Unix (including Macs): type
ssh Your-FAS-Username@fas.harvard.edu
into a terminal prompt ("Terminal" on Macs) and enter your FAS password.
Say yes to any questions about authentication.

Windows: download SecureCRT from here and connect to fas.harvard.edu with your FAS username and password.

Then: From the fas% prompt, type
ssh your-group-name@hcs.harvard.edu
(note the hcs (that's us!) in place of the fas above)
If you are on the access list for the group, you should get a prompt at your group account (something like hera:~>), and if you aren't you will be asked for a password, which you won't know (we only provide access through FAS or with SSH keys).

We authenticate non-fas users via RSA/DSA keys. You can generate a public/private key pair as follows:

Unix (including Macs): type
ssh-keygen -t dsa
into a terminal prompt ("Terminal" on Macs), and it will run you through the process (selecting the default settings/values is fine). The OpenSSH keyfile, also known as the public key, is the long string of random characters that gets printed to the screen at the end (also found by default at ~/.ssh/id_dsa.pub)

Windows: SecureCRT can do it, under Tools>Create Public Key...

Not sure how to make this work? We now have an in-depth tutorial on setting up OpenSSH keys with your HCS account.

Sure.

1. First set an sftp password with the command "sftppasswd" from the command line.

2. Then open Dreamweaver, click manage sites, select your site and hit edit, and go the the advanced tab.

3. On the side menu there, click "Remote info", then choose an access of "FTP" and then fill out FTP host is "hcs.harvard.edu", host directory is "~group_name_here/web/folder_name" and login and password are "group_name" and the sftppassword that you set earlier. Check the "use secure ftp" box.

4. Then, you can sync your website.

Since the spring of 2005, HCS home directory data has been stored on a network appliance filer, courtesy of a very generous alum. A network appliance filer, for those of you who don't keep track of such things, is a fancy computer with some really big hard disks and a bunch of nify features, designed to make things like storing home directories safer and more convenient. Among the great bells and whistles include snapshot directories: every hour, every night, and every week, the filer takes a "picture" of your home directory and stores it somewhere for you to get at in the case of an emergency. To get at your snapshots, type:

ls .zfs/snapshot

from your home directory. You'll see something like this:

jharvard-hcs@hera:~$ ls .zfs/snapshot
hourly.0 nightly.0 weekly.0 weekly.2
hourly.1 nightly.1 weekly.1

The numbers start at 0 for most recent and count up as the snapshots get older. To get the most recent copy of a file called "foo.txt," sit in your home directory and type:

cp .zfs/snapshot/hourly.0/foo.txt

If you need help with this or with anything else, feel free to contact with the details of what you're trying to do.

Faulty permissions can cause lots of trouble!

If permissions are set too low, you will get 403 Forbidden errors when loading pages; if they're set too high, an attacker may be able to rewrite anything on your site at will. To fix permissions on your account, SSH into HCS and enter these commands

find ~/web/ -type d -exec chmod 755 {} \; - Fixes permissions for directories
find ~/web/ -type f -exec chmod 644 {} \; - Fixes permissions for files

This should prevent others from writing to your files, although insecure PHP code can still be used to hose your website with spam. But for now, if you're new to PHP and Ruby on Rails, try to only use well-maintained and well-known packages like Wordpress or Drupal, follow their instructions carefully, and keep your code up-to-date.

We are currently working on what hours work best for our members to provide personal support. We are working as quickly as possible to make this support available!

In the meantime, if you're doing something really complicated and high-impact and you don't know where to start, you might consider pitching it to the HCS board as a potential HCS project. If that's the case, you should contact us.