A practical onboarding guide for Gramazio Kohler Research, ETH Zürich — accounts, tools, people, and the gotchas the official docs miss.
Community-maintained — please keep it current.
Before you begin, ETH should have provided:
| Item | Details |
|---|---|
| Global email | <username>@ethz.ch |
| Department email | <username>@arch.ethz.ch |
| Global password | Used for email, network drives, Google/Microsoft logins, etc. |
| Network password | Separate password used only for Wi-Fi / VPN / eduroam |
Both email addresses point to the same mailbox.
Every service signs you in as <username>@ethz.ch with your global password, except Wi-Fi (eduroam) and VPN, which use a role-dependent login and your network password (see Wi-Fi).
Your onboarding is coordinated by:
- Petrus Aejmelaeus-Lindström — welcome & organization
- Tanja Fehr — employment & administration
- Matthias Helmreich — IT & hardware
- Alessandra Gabaglio — communications & documentation
You'll also get an office tour and an introduction to the campus food options.
Hours & menus shift each semester — see the live page.
- FUSION meal & coffee — free-flow restaurant (classic/veg, pasta, buffet) + adjacent coffee shop; HCI building.
- Food Market — counter run by SV, the campus caterer (pizza/pasta, grill, veg); HPR building.
- Alumni quattro Lounge — lounge café.
- Rice UP! — Asian rice bowls.
- Mendokoro — Japanese ramen & snacks, takeaway; HXE building.
- Restaurant Bellavista — table-service restaurant, pricier option.
- Coop supermarket — on campus.
- Street food — rotating food trucks, Mon–Fri from 11:00, seasonal (Aug–Dec), at two squares:
- Stefano-Franscini-Platz — coffee & snacks
- Joseph-von-Deschwanden-Platz — hot meals
Vendors rotate each semester — check Street food.
Matthias Helmreich will prepare your workstation. Check that you receive:
- Laptop
- Screen
- Keyboard — check which layout you want (US / DE / CH)
- Mouse
Your username isn't one of your email addresses, and your password isn't your global password.
Network · eduroam
Username · your ETH username with a role-specific domain — not @ethz.ch:
| Your role | Wi-Fi username |
|---|---|
| Staff — professors, assistants, post-docs, technical staff | <username>@staff-net.ethz.ch |
| Student — incl. PhD students | <username>@student-net.ethz.ch |
| Visitor | <username>@eth-visitors.ethz.ch |
Password · your network password
Set or reset it at https://password.ethz.ch.
On Linux and Android, eduroam needs extra configuration: Wi-Fi (Linux and Android).
Outlook is the recommended email client, it keeps you aligned with the rest of the team. You can use another client if you prefer, but Outlook is the smoothest path.
- Go to https://outlook.office.com/mail/.
- Sign in with your
@ethz.chaccount. - Add the shared calendar
itaevent@ethz.chto see the events happening in the building.
The GKR Server is the group's file storage — projects, documentation, images, videos, and templates all live here. It's also the foundation of the group website, through a rigid project folder structure — see §5.
Once you're connected via eduroam, you can reach the GKR Server:
\\nas22.ethz.ch\arch_ita_gramazio_kohler
Map it as a network drive:
At This PC, click the three dots (…) and select Map network drive.
Fill in the dialog:
- In Drive, select the letter
M:(or any other available letter). - In Folder, enter
\\nas22.ethz.ch\arch_ita_gramazio_kohler. - Check Reconnect at sign-in.
- Check Connect using different credentials.
⚠️ The first connection may be slow — No feedback for ~2 minutes.
Enter your global email and password.
Needed to reach some internal services from outside the campus network.
- Setup · https://unlimited.ethz.ch/en/help/network/vpn
- Username · same as Wi-Fi (e.g.
<username>@student-net.ethz.ch) - Password · network password
Slack, GitHub and Zoom don't need a license request. Google and Microsoft licenses you have to request yourself through ETH's Unlimited self-service portal: https://unlimited.ethz.ch/en/help
The team will send an invite to your @arch.ethz.ch address. Accept it to join the group workspace.
The group's code lives on GitHub at github.com/gramaziokohler — one repository per project. The team will send an invite to your @arch.ethz.ch address; if it doesn't arrive, email the GitHub manager, Gonzalo Casas (casas@arch.ethz.ch) to request access. Accept it to join the organization, and ask to be added to the project repositories you'll work on.
Log in with your @ethz.ch email and password; you get a license automatically.
- Follow Google Workspace — Getting a License
- Wait about 10 minutes.
- Log in to Google services with your
@ethz.chemail and global password. - Ask the team to add you to the shared project drives.
- Follow Requesting an M365 License.
- Wait about 5 minutes.
- Log in to Teams with your
@ethz.chemail and global password.
Non-ETH software licenses (Rhino, Autodesk, etc.) are handled by Matthias Helmreich. Ask him or your supervisor to get you set up.
- Zotero — reference manager.
- ORCiD — persistent researcher identifier; worth registering if you'll publish.
The GKR database is the group's content system: each project's descriptions, images, publications, events, and contacts live here, and the public website (https://gramaziokohler.arch.ethz.ch/) is generated from it.
You feed it from two directions:
- Files live on the GKR Server (§3.3), where every project follows a fixed template. Specific folders are synced from there into the database — so stick to the template and naming conventions exactly; don't rename or add folders, or the sync breaks.
- Entries — the project's text, captions, and image details — you create and manage directly in the database.
The database then generates the website from the two combined.
flowchart LR
You(["You"]) -->|"save files to<br/>fixed folders"| Server["GKR Server<br/>(project folders)"]
You -->|"create and<br/>manage entries"| DB[("GKR database")]
Server -->|"feeds<br/>specific folders"| DB[("GKR database")]
DB -->|"generates"| Web(["Public website"])
To get started:
- Set up your project folder(s) on the GKR Server — following the fixed template above. Use the Google Drive shared project drive only for collaborative working documents (budgets, texts); final files stay on the server, and the sync-critical
01_Dokumentationfolder must never go on Drive. - Book a GKR database intro meeting with Alessandra Gabaglio (gabaglio@arch.ethz.ch).
The group's computational stack is Python-centric and built around COMPAS. As a new member you'll most likely collaborate on one of the group's COMPAS packages — the walkthrough below uses compas_timber as the example. It takes about 10 minutes.
-
Install git.
-
Install a code editor or IDE — VS Code is the common choice.
-
Install uv, the Python environment manager used below:
# Windows winget install astral-sh.uv
# macOS brew install uv# Linux curl -LsSf https://astral.sh/uv/install.sh | sh
(Any method from the uv install docs works.)
⚠️ Open a new terminal after installing — already-open ones won't seeuv. Windows: if typingpythonopens the Microsoft Store, ignore it — that's a placeholder, not a Python install;uvbrings its own Python.
git clone https://github.com/gramaziokohler/compas_timber.git
cd compas_timber
uv sync --extra dev
uv run pytestGreen tests = you're ready to work. What just happened:
uv synccreated a virtual environment (.venv) and installed everything from the repo's lock file: compas_timber editable — your local edits are live, play with it freely — and its dependencies, includingcompasitself, as pinned releases from PyPI (the public Python package registry). You don't need a local copy of COMPAS core to work on a package built on it.- There is no
activatestep:uv run <command>uses the project's.venvautomatically. (Activating it with.venv\Scripts\activate, as some group material does, is equivalent.)
As a group member you have write access: clone directly and work on branches, as above — the fork workflow in CONTRIBUTING.md is for external contributors. Test with uv run pytest (invoke test is equivalent in a terminal, but can hang in automated environments — a known upstream issue).
Rhino 8 ships its own CPython (3.9), separate from the environment you just created — a package "installed" in one says nothing about the other. Nothing to install: a # r: comment at the top of a script auto-installs packages into Rhino's Python.
In Rhino: ScriptEditor → File → New → Python 3 → paste and run:
# r: compas
from compas.geometry import Box
from compas.scene import Scene
scene = Scene()
scene.add(Box(1))
scene.draw()A box appears in the viewport. Details: COMPAS in Rhino 8. For Grasshopper, packages with GH components (compas_timber included) also install code-free via Rhino's PackageManager (Yak) — note the published version can lag behind GitHub.
-
Bookmark the COMPAS resources:
Heads-up: the official COMPAS docs still recommend conda and don't mention uv. Both work (
conda create -n research -c conda-forge compas≈uv venv+uv pip install compas) — don't let the difference throw you. The FAB workshop uses uv, with an activated venv (see §6.2). -
Set up a coding guidelines intro meeting with Gonzalo Casas (casas@arch.ethz.ch) or Chen Kasirer (kasirer@arch.ethz.ch).
Mailing lists:
- GKR mailing list — Tanja adds you.
Recurring meetings — ask to be added to the invites:
- Team meeting
- Weekly cross section
- COMPAS dev meeting (bi-weekly)
- HIB — For after-hours building access you need your card and a password that you set here.
- RFL (Robotic Fabrication Laboratory) — access is granted only after an in-person instruction by the RFL staff. Arrange it through the Matthias Helmreich, who is the first contact for anything RFL-related.
- Working with concrete? The RFL concrete lab has its own instruction, given by the concrete lab leader, Jonathan Leu.
- IDL (Immersive Design Lab) — request access and training to Fabio Scotto.
- Absences (holidays, sick leave, etc.) are recorded in two places: ETHIS (ETH's administration portal) and the GKR database (under ADMIN → FERIEN). Also inform the your responsible postdoc and your project team. The office manual only requires recording absences — not daily presence. Some contracts require to record presence as well, check with Tanja.
- Halbtax — SBB half-fare travelcard; request it through Tanja. Details on the ETH travel page.
- ETH Group Management (ACLs) — access to shared resources is tied to ETH group memberships; ask your supervisor to add you to the relevant groups.
- Read the office manual (maintained in Google Docs).
- New PhDs: read the PhD study guides by ETH (received per email).
Arrival & hardware
- Office tour + campus food intro
- Hardware: laptop, screen, keyboard (US/DE/CH), mouse
Getting connected
- Connect to eduroam (role login, e.g.
@student-net.ethz.ch+ network password) - Log in to Outlook (
@ethz.ch+ global password) - Access and map the GKR Server (network drive)
- Set up the VPN
Software & ecosystem
- Accept the Slack invite (
@arch.ethz.ch) - Accept the GitHub invite (
@arch.ethz.ch) and join the project repos - Log in to Zoom (
@ethz.ch+ global password) - Request Google Workspace license + get added to shared drives
- Request Microsoft 365 license
- Request the Rhino license
- Project folders on the GKR Server + Google Drive shared drive
- GKR database intro with Alessandra Gabaglio
Coding
- Dev environment: git, VS Code, uv
- Your package's tests pass locally (§6.2); COMPAS box drawn in Rhino 8 (§6.3)
- Coding guidelines intro with Gonzalo Casas / Chen Kasirer
Settling in
- GKR mailing list (Tanja)
- Recurring meeting invites (team, COMPAS dev, cross section)
- RFL access & security training; IDL access & training
- Record absences in ETHIS and the GKR database (ADMIN → FERIEN)
- Halbtax request (Tanja)
- Get added to the ETH groups (ACLs)
- Read the office manual
- (PhDs) Read the ETH PhD study guides
First contacts by topic.
| Where | Role | People |
|---|---|---|
| GKR | Admin, finance & HR | Tanja (fehr@arch.ethz.ch) |
| GKR | Postdocs | Oliver (bucklin@arch.ethz.ch), Lauren (vasey@arch.ethz.ch), Petrus (apetrus@arch.ethz.ch), Inés (ariza@arch.ethz.ch), Anja (akunic@ethz.ch) |
| GKR | IT, hardware, infrastructure & RFL | Matthias Helmreich |
| GKR | GitHub & software | Gonzalo (casas@arch.ethz.ch) |
| GKR | PR, communication, website & database | Alessandra (gabaglio@arch.ethz.ch) |
| GKR | MAS / teaching | Petrus (apetrus@arch.ethz.ch) |
| NCCR | Management | Russell (loveridge@dfab.ch), Kaitlin (mcnally@dfab.ch), Blanca (hren@dfab.ch) |
| NCCR | Budget & expenses | Tanja (fehr@arch.ethz.ch), Blanca (hren@dfab.ch) |
| NCCR | Software ecosystem | Tom (van.mele@arch.ethz.ch), Chen (kasirer@arch.ethz.ch), Gonzalo (casas@arch.ethz.ch) |
| RFL | Lab team | Michael "Mike" Lyrenmann (director), Philippe Fleischmann, Luca Petrus, Jonathan Leu (concrete lab) |
| ITA | Coordinator, RQEs | TODO |


