diff --git a/.env.example b/.env.example deleted file mode 100644 index b0fd366..0000000 --- a/.env.example +++ /dev/null @@ -1,16 +0,0 @@ -# Local values only. Do not commit real secrets. - -# Required by the Netlify deploy workflow. Store the real value as a GitHub -# repository secret named NETLIFY_AUTH_TOKEN. -NETLIFY_AUTH_TOKEN= - -# Needed by the future email request agent. Store these outside Git. -AGENTMAIL_API_KEY= -AGENTMAIL_INBOX= - -# Comma-separated allowlist for merge/deploy approvals received over email. -WEB_REQUEST_APPROVER_EMAILS=manu@iitgn.ac.in,anup@iitgn.ac.in,neeldhara@iitgn.ac.in - -# Comma-separated web team CC list for request acknowledgements and reviews. -WEB_TEAM_CC= - diff --git a/.github/workflows/netlify-deploy.yml b/.github/workflows/netlify-deploy.yml deleted file mode 100644 index 0fc79fe..0000000 --- a/.github/workflows/netlify-deploy.yml +++ /dev/null @@ -1,92 +0,0 @@ -name: Netlify deploy - -on: - push: - branches: - - main - - staging - - "staging/**" - - "web-requests/**" - pull_request: - branches: - - main - - staging - workflow_dispatch: - -permissions: - contents: read - pull-requests: write - -env: - NETLIFY_SITE_ID: e20cb60a-0bfa-48dc-9e8e-5925b0c86ccd - -jobs: - deploy: - runs-on: ubuntu-latest - - steps: - - name: Check out repository - uses: actions/checkout@v4 - - - name: Set up Node - uses: actions/setup-node@v4 - with: - node-version: 22 - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Build site - run: npm run build - - - name: Deploy to Netlify - id: deploy - env: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - run: | - set -euo pipefail - - if [ -z "${NETLIFY_AUTH_TOKEN:-}" ]; then - echo "NETLIFY_AUTH_TOKEN is not configured as a repository secret." >&2 - exit 1 - fi - - branch="${GITHUB_HEAD_REF:-${GITHUB_REF_NAME}}" - alias="$(printf '%s' "$branch" \ - | tr '[:upper:]' '[:lower:]' \ - | sed -E 's/[^a-z0-9-]+/-/g; s/^-+//; s/-+$//' \ - | cut -c 1-37)" - - if [ -z "$alias" ]; then - alias="preview" - fi - - if [ "${GITHUB_EVENT_NAME}" = "push" ] && [ "${GITHUB_REF_NAME}" = "main" ]; then - deploy_json="$(npx netlify-cli@latest deploy --site "$NETLIFY_SITE_ID" --prod --dir=dist --json --message "Production deploy from ${GITHUB_SHA}")" - else - deploy_json="$(npx netlify-cli@latest deploy --site "$NETLIFY_SITE_ID" --dir=dist --alias "$alias" --json --message "Preview deploy for ${branch} at ${GITHUB_SHA}")" - fi - - printf '%s\n' "$deploy_json" - deploy_url="$(node -e 'const data = JSON.parse(process.argv[1]); console.log(data.deploy_url || data.deployUrl || data.deploy_ssl_url || data.ssl_url || data.url || "")' "$deploy_json")" - - if [ -n "$deploy_url" ]; then - echo "deploy_url=$deploy_url" >> "$GITHUB_OUTPUT" - echo "### Netlify deploy" >> "$GITHUB_STEP_SUMMARY" - echo "" >> "$GITHUB_STEP_SUMMARY" - echo "$deploy_url" >> "$GITHUB_STEP_SUMMARY" - fi - - - name: Comment preview URL on pull request - if: github.event_name == 'pull_request' && steps.deploy.outputs.deploy_url != '' - uses: actions/github-script@v7 - with: - script: | - const body = `Netlify preview deploy is ready:\n\n${{ steps.deploy.outputs.deploy_url }}`; - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.issue.number, - body, - }); diff --git a/blog-title-avatar-check.png b/blog-title-avatar-check.png deleted file mode 100644 index 76e988c..0000000 Binary files a/blog-title-avatar-check.png and /dev/null differ diff --git a/docs/web-request-agent-workflow.md b/docs/web-request-agent-workflow.md deleted file mode 100644 index ae0f10d..0000000 --- a/docs/web-request-agent-workflow.md +++ /dev/null @@ -1,78 +0,0 @@ -# Website Request Agent Workflow - -This repository is prepared for a staging-first website request workflow. - -## Current Repository Setup - -- Build command: `npm run build` -- Publish directory: `dist` -- Netlify site id: `e20cb60a-0bfa-48dc-9e8e-5925b0c86ccd` -- Production branch: `main` -- Staging/request branches: `staging`, `staging/**`, and `web-requests/**` - -The GitHub Actions workflow in `.github/workflows/netlify-deploy.yml` deploys: - -- `main` pushes to Netlify production. -- `staging`, `staging/**`, `web-requests/**`, and pull requests to Netlify preview/alias deploys. - -## Required Secrets - -Store these outside Git: - -- `NETLIFY_AUTH_TOKEN`: Netlify personal access token with deploy access to the site. -- `AGENTMAIL_API_KEY`: AgentMail API key for the intake/reply worker. -- `AGENTMAIL_INBOX`: the request inbox address, for example `cse-web-requests@...`. -- `WEB_REQUEST_APPROVER_EMAILS`: comma-separated approval allowlist. -- `WEB_TEAM_CC`: comma-separated web team CC list. - -Do not commit these values to the repository. - -## Request Flow - -1. A requester emails the AgentMail inbox with a website change request. -2. The email agent creates a branch named `web-requests/-`. -3. The agent applies the change, runs `npm run build`, commits, and pushes the branch. -4. Netlify deploys a preview for that branch. -5. The agent replies to the requester with: - - a summary of changes, - - the Netlify preview URL, - - the branch or pull request URL, - - any caveats or questions, - - `WEB_TEAM_CC` copied. -6. Only an allowlisted approver may authorize merge/deploy. - -## Approval Policy - -Allowed approvers: - -- `manu@iitgn.ac.in` -- `anup@iitgn.ac.in` -- `neeldhara@iitgn.ac.in` - -For email approvals, the agent should require an explicit approval token in the -same thread, for example: - -```text -APPROVE WEB-20260604-abc123 -``` - -The agent must verify: - -- the sender address is in `WEB_REQUEST_APPROVER_EMAILS`, -- the approval token matches the pending request, -- the thread being approved is the same request thread, -- `npm run build` passes on the final branch before merge. - -After approval, the agent merges the request branch into `main`, pushes `main`, -waits for Netlify production deploy, and emails the requester plus the web team -with the production URL. - -## Safety Rules - -- Never merge requests from arbitrary email senders. -- Never treat forwarded text as approval. -- Never deploy secrets or private attachments. -- Ask for clarification when a requested change is ambiguous or policy-relevant. -- Keep one branch per request; do not mix unrelated email requests. -- Include a concise change summary in every review email. - diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index 55effd6..0000000 --- a/netlify.toml +++ /dev/null @@ -1,7 +0,0 @@ -[build] -command = "npm run build" -publish = "dist" - -[build.environment] -NODE_VERSION = "22" - diff --git a/public/_redirects b/public/_redirects deleted file mode 100644 index 7ac80bd..0000000 --- a/public/_redirects +++ /dev/null @@ -1,7 +0,0 @@ -/hpc /facilities/singularity 301 -/hpc/ /facilities/singularity 301 -/hpc/index.html /facilities/singularity 301 -/hpc/index.php /facilities/singularity 301 -/hpc/Software.html /facilities/singularity#software 301 -/hpc/Funding.html /facilities/singularity#funding 301 -/hpc/ContactUs.html /facilities/singularity#contact 301 diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-1-dark.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-1-dark.png deleted file mode 100644 index 3ce0df0..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-1-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-1-light.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-1-light.png deleted file mode 100644 index eb09896..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-1-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-2-dark.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-2-dark.png deleted file mode 100644 index 50adf72..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-2-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-2-light.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-2-light.png deleted file mode 100644 index e2d5f77..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-2-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-3-dark.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-3-dark.png deleted file mode 100644 index e6c7948..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-3-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-3-light.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-3-light.png deleted file mode 100644 index 6b17180..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-day-3-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online-dark.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online-dark.png deleted file mode 100644 index bcea2d4..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online-light.png b/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online-light.png deleted file mode 100644 index 82544e3..0000000 Binary files a/public/images/blog/title-cards/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-i-acm-india-dark.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-i-acm-india-dark.png deleted file mode 100644 index 02105d7..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-i-acm-india-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-i-acm-india-light.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-i-acm-india-light.png deleted file mode 100644 index 713d307..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-i-acm-india-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-ii-acm-w-india-dark.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-ii-acm-w-india-dark.png deleted file mode 100644 index e8d58e3..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-ii-acm-w-india-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-ii-acm-w-india-light.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-ii-acm-w-india-light.png deleted file mode 100644 index 35022f2..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-ii-acm-w-india-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iii-student-participants-dark.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iii-student-participants-dark.png deleted file mode 100644 index 61ea49d..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iii-student-participants-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iii-student-participants-light.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iii-student-participants-light.png deleted file mode 100644 index a5c5c10..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iii-student-participants-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iv-industry-experts-dark.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iv-industry-experts-dark.png deleted file mode 100644 index b773e2d..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iv-industry-experts-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iv-industry-experts-light.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iv-industry-experts-light.png deleted file mode 100644 index 69b4302..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-iv-industry-experts-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-v-researchers-dark.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-v-researchers-dark.png deleted file mode 100644 index ee7a768..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-v-researchers-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-v-researchers-light.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-v-researchers-light.png deleted file mode 100644 index e15f7e8..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-v-researchers-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-vi-perspectives-dark.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-vi-perspectives-dark.png deleted file mode 100644 index bd93a9d..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-vi-perspectives-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-vi-perspectives-light.png b/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-vi-perspectives-light.png deleted file mode 100644 index a7e65cc..0000000 Binary files a/public/images/blog/title-cards/apeksha-my-podcasting-experience-part-vi-perspectives-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-promoting-women-in-computer-science-research-dark.png b/public/images/blog/title-cards/apeksha-promoting-women-in-computer-science-research-dark.png deleted file mode 100644 index 2d79db1..0000000 Binary files a/public/images/blog/title-cards/apeksha-promoting-women-in-computer-science-research-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/apeksha-promoting-women-in-computer-science-research-light.png b/public/images/blog/title-cards/apeksha-promoting-women-in-computer-science-research-light.png deleted file mode 100644 index e3ea214..0000000 Binary files a/public/images/blog/title-cards/apeksha-promoting-women-in-computer-science-research-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-aditya-snake-bot-dark.png b/public/images/blog/title-cards/hackrush-2026-aditya-snake-bot-dark.png deleted file mode 100644 index 18caddb..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-aditya-snake-bot-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-aditya-snake-bot-light.png b/public/images/blog/title-cards/hackrush-2026-aditya-snake-bot-light.png deleted file mode 100644 index 6d29d95..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-aditya-snake-bot-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-dark.png b/public/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-dark.png deleted file mode 100644 index 29bedca..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-light.png b/public/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-light.png deleted file mode 100644 index c2ab9c4..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-dark.png b/public/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-dark.png deleted file mode 100644 index 3623309..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-light.png b/public/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-light.png deleted file mode 100644 index 9f66cf3..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-srihith-activation-functions-dark.png b/public/images/blog/title-cards/hackrush-2026-srihith-activation-functions-dark.png deleted file mode 100644 index 693ad3c..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-srihith-activation-functions-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-srihith-activation-functions-light.png b/public/images/blog/title-cards/hackrush-2026-srihith-activation-functions-light.png deleted file mode 100644 index 5ab778c..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-srihith-activation-functions-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-dark.png b/public/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-dark.png deleted file mode 100644 index 9953a86..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-light.png b/public/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-light.png deleted file mode 100644 index 0e6bc95..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-dark.png b/public/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-dark.png deleted file mode 100644 index 3f060bc..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-light.png b/public/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-light.png deleted file mode 100644 index 606efb3..0000000 Binary files a/public/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-final-report-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-final-report-dark.png deleted file mode 100644 index b38788f..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-final-report-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-final-report-light.png b/public/images/blog/title-cards/kishan-gsoc-24-final-report-light.png deleted file mode 100644 index fb0672f..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-final-report-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-1-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-1-dark.png deleted file mode 100644 index 036a427..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-1-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-1-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-1-light.png deleted file mode 100644 index ba68b11..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-1-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-10-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-10-dark.png deleted file mode 100644 index 2817f5d..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-10-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-10-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-10-light.png deleted file mode 100644 index a624b5a..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-10-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-11-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-11-dark.png deleted file mode 100644 index 1b90719..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-11-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-11-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-11-light.png deleted file mode 100644 index 4d8c7eb..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-11-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-12-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-12-dark.png deleted file mode 100644 index dfd7181..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-12-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-12-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-12-light.png deleted file mode 100644 index a8a8650..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-12-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-2-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-2-dark.png deleted file mode 100644 index b0337d8..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-2-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-2-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-2-light.png deleted file mode 100644 index bcdc20d..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-2-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-3-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-3-dark.png deleted file mode 100644 index ab2421c..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-3-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-3-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-3-light.png deleted file mode 100644 index 9fc73ed..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-3-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-4-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-4-dark.png deleted file mode 100644 index 05936af..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-4-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-4-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-4-light.png deleted file mode 100644 index e56e34e..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-4-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-5-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-5-dark.png deleted file mode 100644 index 0db0f8e..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-5-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-5-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-5-light.png deleted file mode 100644 index c9620a6..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-5-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-6-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-6-dark.png deleted file mode 100644 index a2ec209..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-6-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-6-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-6-light.png deleted file mode 100644 index 35d8e21..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-6-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-7-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-7-dark.png deleted file mode 100644 index 5981dfc..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-7-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-7-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-7-light.png deleted file mode 100644 index 372b175..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-7-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-8-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-8-dark.png deleted file mode 100644 index fd3b186..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-8-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-8-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-8-light.png deleted file mode 100644 index ff4ea14..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-8-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-9-dark.png b/public/images/blog/title-cards/kishan-gsoc-24-week-9-dark.png deleted file mode 100644 index 6ef5854..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-9-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-gsoc-24-week-9-light.png b/public/images/blog/title-cards/kishan-gsoc-24-week-9-light.png deleted file mode 100644 index 035e214..0000000 Binary files a/public/images/blog/title-cards/kishan-gsoc-24-week-9-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-my-google-summer-of-code-journey-dark.png b/public/images/blog/title-cards/kishan-my-google-summer-of-code-journey-dark.png deleted file mode 100644 index d12f2b2..0000000 Binary files a/public/images/blog/title-cards/kishan-my-google-summer-of-code-journey-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-my-google-summer-of-code-journey-light.png b/public/images/blog/title-cards/kishan-my-google-summer-of-code-journey-light.png deleted file mode 100644 index cd0d652..0000000 Binary files a/public/images/blog/title-cards/kishan-my-google-summer-of-code-journey-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-my-gsoc-2024-project-dark.png b/public/images/blog/title-cards/kishan-my-gsoc-2024-project-dark.png deleted file mode 100644 index 5325998..0000000 Binary files a/public/images/blog/title-cards/kishan-my-gsoc-2024-project-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-my-gsoc-2024-project-light.png b/public/images/blog/title-cards/kishan-my-gsoc-2024-project-light.png deleted file mode 100644 index 0ba3a40..0000000 Binary files a/public/images/blog/title-cards/kishan-my-gsoc-2024-project-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-my-gsoc-progress-dark.png b/public/images/blog/title-cards/kishan-my-gsoc-progress-dark.png deleted file mode 100644 index c893a50..0000000 Binary files a/public/images/blog/title-cards/kishan-my-gsoc-progress-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-my-gsoc-progress-light.png b/public/images/blog/title-cards/kishan-my-gsoc-progress-light.png deleted file mode 100644 index 1b706e5..0000000 Binary files a/public/images/blog/title-cards/kishan-my-gsoc-progress-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-pycon-2024-proposal-dark.png b/public/images/blog/title-cards/kishan-pycon-2024-proposal-dark.png deleted file mode 100644 index 04ed3f5..0000000 Binary files a/public/images/blog/title-cards/kishan-pycon-2024-proposal-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kishan-pycon-2024-proposal-light.png b/public/images/blog/title-cards/kishan-pycon-2024-proposal-light.png deleted file mode 100644 index 76c0198..0000000 Binary files a/public/images/blog/title-cards/kishan-pycon-2024-proposal-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/kvs-computer-science-teacher-training-2018-dark.png b/public/images/blog/title-cards/kvs-computer-science-teacher-training-2018-dark.png deleted file mode 100644 index 92edffc..0000000 Binary files a/public/images/blog/title-cards/kvs-computer-science-teacher-training-2018-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/kvs-computer-science-teacher-training-2018-light.png b/public/images/blog/title-cards/kvs-computer-science-teacher-training-2018-light.png deleted file mode 100644 index a340aa1..0000000 Binary files a/public/images/blog/title-cards/kvs-computer-science-teacher-training-2018-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-1-community-bonding-begins-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-1-community-bonding-begins-dark.png deleted file mode 100644 index 60e5f79..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-1-community-bonding-begins-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-1-community-bonding-begins-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-1-community-bonding-begins-light.png deleted file mode 100644 index da1cc88..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-1-community-bonding-begins-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-2-community-connections-pr-complete-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-2-community-connections-pr-complete-dark.png deleted file mode 100644 index 2ec9339..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-2-community-connections-pr-complete-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-2-community-connections-pr-complete-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-2-community-connections-pr-complete-light.png deleted file mode 100644 index 1e72c51..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-2-community-connections-pr-complete-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-3-quiet-momentum-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-3-quiet-momentum-dark.png deleted file mode 100644 index 7b5269c..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-3-quiet-momentum-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-3-quiet-momentum-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-3-quiet-momentum-light.png deleted file mode 100644 index 8b3379a..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-3-quiet-momentum-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-4-smarter-coordinates-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-4-smarter-coordinates-dark.png deleted file mode 100644 index 65b3513..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-4-smarter-coordinates-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-4-smarter-coordinates-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-4-smarter-coordinates-light.png deleted file mode 100644 index aa5bc6f..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-4-smarter-coordinates-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx-dark.png deleted file mode 100644 index 7da7f50..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx-light.png deleted file mode 100644 index 7bb22ab..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates-dark.png deleted file mode 100644 index fa9809a..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates-light.png deleted file mode 100644 index ac664bb..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-7-testing-residue-coordinates-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-7-testing-residue-coordinates-dark.png deleted file mode 100644 index 6d07c2d..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-7-testing-residue-coordinates-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-7-testing-residue-coordinates-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-7-testing-residue-coordinates-light.png deleted file mode 100644 index 01d21f8..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-7-testing-residue-coordinates-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements-dark.png deleted file mode 100644 index 58d49af..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements-light.png deleted file mode 100644 index 2919236..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm-dark.png deleted file mode 100644 index 3b9cca9..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm-light.png deleted file mode 100644 index 90c8b55..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-welcome-drawing-bonds-that-matter-dark.png b/public/images/blog/title-cards/nilay-gsoc-2025-welcome-drawing-bonds-that-matter-dark.png deleted file mode 100644 index 373e498..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-welcome-drawing-bonds-that-matter-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/nilay-gsoc-2025-welcome-drawing-bonds-that-matter-light.png b/public/images/blog/title-cards/nilay-gsoc-2025-welcome-drawing-bonds-that-matter-light.png deleted file mode 100644 index d7badc3..0000000 Binary files a/public/images/blog/title-cards/nilay-gsoc-2025-welcome-drawing-bonds-that-matter-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-notes-on-distributed-training-dark.png b/public/images/blog/title-cards/progyan-notes-on-distributed-training-dark.png deleted file mode 100644 index 68d478d..0000000 Binary files a/public/images/blog/title-cards/progyan-notes-on-distributed-training-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-notes-on-distributed-training-light.png b/public/images/blog/title-cards/progyan-notes-on-distributed-training-light.png deleted file mode 100644 index fae1b17..0000000 Binary files a/public/images/blog/title-cards/progyan-notes-on-distributed-training-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-notes-on-language-models-dark.png b/public/images/blog/title-cards/progyan-notes-on-language-models-dark.png deleted file mode 100644 index eee17c4..0000000 Binary files a/public/images/blog/title-cards/progyan-notes-on-language-models-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-notes-on-language-models-light.png b/public/images/blog/title-cards/progyan-notes-on-language-models-light.png deleted file mode 100644 index 96a8ab8..0000000 Binary files a/public/images/blog/title-cards/progyan-notes-on-language-models-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-softer-software-dark.png b/public/images/blog/title-cards/progyan-softer-software-dark.png deleted file mode 100644 index 6e0ea5f..0000000 Binary files a/public/images/blog/title-cards/progyan-softer-software-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-softer-software-light.png b/public/images/blog/title-cards/progyan-softer-software-light.png deleted file mode 100644 index 9f5f419..0000000 Binary files a/public/images/blog/title-cards/progyan-softer-software-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-we-can-be-more-than-wizards-dark.png b/public/images/blog/title-cards/progyan-we-can-be-more-than-wizards-dark.png deleted file mode 100644 index aeeaefa..0000000 Binary files a/public/images/blog/title-cards/progyan-we-can-be-more-than-wizards-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-we-can-be-more-than-wizards-light.png b/public/images/blog/title-cards/progyan-we-can-be-more-than-wizards-light.png deleted file mode 100644 index 9cdd60e..0000000 Binary files a/public/images/blog/title-cards/progyan-we-can-be-more-than-wizards-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-why-i-like-really-big-models-dark.png b/public/images/blog/title-cards/progyan-why-i-like-really-big-models-dark.png deleted file mode 100644 index 5d86e72..0000000 Binary files a/public/images/blog/title-cards/progyan-why-i-like-really-big-models-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/progyan-why-i-like-really-big-models-light.png b/public/images/blog/title-cards/progyan-why-i-like-really-big-models-light.png deleted file mode 100644 index 73315d7..0000000 Binary files a/public/images/blog/title-cards/progyan-why-i-like-really-big-models-light.png and /dev/null differ diff --git a/public/images/blog/title-cards/python-is-not-an-acceptable-ml-dark.png b/public/images/blog/title-cards/python-is-not-an-acceptable-ml-dark.png deleted file mode 100644 index e565b62..0000000 Binary files a/public/images/blog/title-cards/python-is-not-an-acceptable-ml-dark.png and /dev/null differ diff --git a/public/images/blog/title-cards/python-is-not-an-acceptable-ml-light.png b/public/images/blog/title-cards/python-is-not-an-acceptable-ml-light.png deleted file mode 100644 index 2848a33..0000000 Binary files a/public/images/blog/title-cards/python-is-not-an-acceptable-ml-light.png and /dev/null differ diff --git a/public/images/facilities/singularity/funding.jpg b/public/images/facilities/singularity/funding.jpg deleted file mode 100644 index cd7de36..0000000 Binary files a/public/images/facilities/singularity/funding.jpg and /dev/null differ diff --git a/public/images/facilities/singularity/layout.jpg b/public/images/facilities/singularity/layout.jpg deleted file mode 100644 index 27c8170..0000000 Binary files a/public/images/facilities/singularity/layout.jpg and /dev/null differ diff --git a/public/images/facilities/singularity/queue.jpg b/public/images/facilities/singularity/queue.jpg deleted file mode 100644 index 38dbb9e..0000000 Binary files a/public/images/facilities/singularity/queue.jpg and /dev/null differ diff --git a/public/images/facilities/singularity/server1.jpg b/public/images/facilities/singularity/server1.jpg deleted file mode 100644 index 507f91c..0000000 Binary files a/public/images/facilities/singularity/server1.jpg and /dev/null differ diff --git a/public/images/facilities/singularity/server2.jpg b/public/images/facilities/singularity/server2.jpg deleted file mode 100644 index 6c2827c..0000000 Binary files a/public/images/facilities/singularity/server2.jpg and /dev/null differ diff --git a/public/images/facilities/singularity/spec.jpg b/public/images/facilities/singularity/spec.jpg deleted file mode 100644 index 133705f..0000000 Binary files a/public/images/facilities/singularity/spec.jpg and /dev/null differ diff --git a/public/images/jee-open-house-2026-landscape.jpg b/public/images/jee-open-house-2026-landscape.jpg deleted file mode 100644 index f7950f6..0000000 Binary files a/public/images/jee-open-house-2026-landscape.jpg and /dev/null differ diff --git a/public/images/jee-open-house-2026.jpg b/public/images/jee-open-house-2026.jpg deleted file mode 100644 index 0f8881f..0000000 Binary files a/public/images/jee-open-house-2026.jpg and /dev/null differ diff --git a/public/images/people/mega-menu-group.jpeg b/public/images/people/mega-menu-group.jpeg deleted file mode 100644 index 40471bd..0000000 Binary files a/public/images/people/mega-menu-group.jpeg and /dev/null differ diff --git a/public/images/people/zeel-phd-jrfs-mtech.jpeg b/public/images/people/zeel-phd-jrfs-mtech.jpeg deleted file mode 100644 index 4bbcd7e..0000000 Binary files a/public/images/people/zeel-phd-jrfs-mtech.jpeg and /dev/null differ diff --git a/public/images/project-madhava-india-today.jpg b/public/images/project-madhava-india-today.jpg deleted file mode 100644 index d8ca85d..0000000 Binary files a/public/images/project-madhava-india-today.jpg and /dev/null differ diff --git a/scripts/generate-blog-title-images.py b/scripts/generate-blog-title-images.py deleted file mode 100644 index fad8657..0000000 --- a/scripts/generate-blog-title-images.py +++ /dev/null @@ -1,199 +0,0 @@ -#!/usr/bin/env python3 - -from __future__ import annotations - -import re -import textwrap -from pathlib import Path - -from PIL import Image, ImageDraw, ImageFont - - -ROOT = Path(__file__).resolve().parents[1] -BLOG_DIR = ROOT / "src" / "content" / "blog" -OUTPUT_DIR = ROOT / "public" / "images" / "blog" / "title-cards" -WIDTH = 1200 -HEIGHT = 630 -FONT_BOLD = Path("/System/Library/Fonts/Supplemental/Arial Bold.ttf") - -PALETTES = { - "light": { - "start": (248, 252, 255), - "mid": (255, 247, 243), - "end": (243, 252, 248), - "text": (19, 32, 51), - "icon_bg": (255, 255, 255), - "icon_stroke": (71, 99, 135), - "icon_border": (215, 226, 238), - }, - "dark": { - "start": (225, 233, 245), - "mid": (237, 228, 246), - "end": (221, 239, 241), - "text": (17, 24, 39), - "icon_bg": (246, 249, 253), - "icon_stroke": (54, 76, 112), - "icon_border": (198, 210, 226), - }, -} - - -def extract_title(path: Path) -> str: - text = path.read_text(encoding="utf-8") - match = re.search(r"^title:\s*['\"](.+?)['\"]\s*$", text, flags=re.MULTILINE) - if not match: - raise ValueError(f"Could not find title in {path}") - return match.group(1) - - -def interpolate(a: int, b: int, t: float) -> int: - return round(a + (b - a) * t) - - -def gradient(palette: dict[str, tuple[int, int, int]]) -> Image.Image: - image = Image.new("RGB", (WIDTH, HEIGHT)) - pixels = image.load() - for y in range(HEIGHT): - vertical = y / (HEIGHT - 1) - for x in range(WIDTH): - horizontal = x / (WIDTH - 1) - t = (horizontal * 0.72) + (vertical * 0.28) - if t < 0.5: - local = t / 0.5 - a = palette["start"] - b = palette["mid"] - else: - local = (t - 0.5) / 0.5 - a = palette["mid"] - b = palette["end"] - pixels[x, y] = tuple(interpolate(a[i], b[i], local) for i in range(3)) - return image - - -def wrap_title( - draw: ImageDraw.ImageDraw, - title: str, - font: ImageFont.FreeTypeFont, - max_width: int, -) -> list[str]: - words = title.split() - lines: list[str] = [] - current: list[str] = [] - - for word in words: - candidate = " ".join([*current, word]) - bbox = draw.textbbox((0, 0), candidate, font=font) - if bbox[2] - bbox[0] <= max_width: - current.append(word) - else: - if current: - lines.append(" ".join(current)) - current = [word] - - if current: - lines.append(" ".join(current)) - - return lines - - -def fit_title( - draw: ImageDraw.ImageDraw, - title: str, -) -> tuple[ImageFont.FreeTypeFont, list[str], int]: - max_width = 820 - max_height = 330 - - for size in range(68, 37, -2): - font = ImageFont.truetype(str(FONT_BOLD), size=size) - lines = wrap_title(draw, title, font, max_width) - line_height = round(size * 1.16) - total_height = line_height * len(lines) - widest = max( - (draw.textbbox((0, 0), line, font=font)[2] for line in lines), - default=0, - ) - if total_height <= max_height and widest <= max_width and len(lines) <= 4: - return font, lines, line_height - - font = ImageFont.truetype(str(FONT_BOLD), size=40) - lines = textwrap.wrap(title, width=28) - return font, lines, 48 - - -def draw_article_icon( - draw: ImageDraw.ImageDraw, - palette: dict[str, tuple[int, int, int]], -) -> None: - x = 86 - y = 76 - size = 92 - radius = 24 - stroke = palette["icon_stroke"] - - draw.rounded_rectangle( - (x, y, x + size, y + size), - radius=radius, - fill=palette["icon_bg"], - outline=palette["icon_border"], - width=2, - ) - - page_left = x + 30 - page_top = y + 23 - page_right = x + 62 - page_bottom = y + 69 - fold = 10 - - draw.line((page_left, page_top, page_right - fold, page_top), fill=stroke, width=3) - draw.line((page_right, page_top + fold, page_right, page_bottom), fill=stroke, width=3) - draw.line((page_left, page_top, page_left, page_bottom), fill=stroke, width=3) - draw.line((page_left, page_bottom, page_right, page_bottom), fill=stroke, width=3) - draw.line((page_right - fold, page_top, page_right, page_top + fold), fill=stroke, width=3) - draw.line((page_right - fold, page_top, page_right - fold, page_top + fold), fill=stroke, width=2) - draw.line((page_right - fold, page_top + fold, page_right, page_top + fold), fill=stroke, width=2) - - for offset in (24, 34, 44): - draw.line( - (page_left + 7, page_top + offset, page_right - 7, page_top + offset), - fill=stroke, - width=3, - ) - - -def render_card(title: str, palette_name: str, output_path: Path) -> None: - palette = PALETTES[palette_name] - image = gradient(palette) - draw = ImageDraw.Draw(image) - draw_article_icon(draw, palette) - font, lines, line_height = fit_title(draw, title) - - total_height = line_height * len(lines) - right_margin = 88 - bottom_margin = 86 - y = HEIGHT - bottom_margin - total_height - - for line in lines: - bbox = draw.textbbox((0, 0), line, font=font) - line_width = bbox[2] - bbox[0] - x = WIDTH - right_margin - line_width - draw.text((x, y), line, fill=palette["text"], font=font) - y += line_height - - output_path.parent.mkdir(parents=True, exist_ok=True) - image.save(output_path, "PNG", optimize=True) - - -def main() -> None: - for path in sorted(BLOG_DIR.glob("*.mdx")): - title = extract_title(path) - slug = path.stem - for palette_name in PALETTES: - render_card( - title, - palette_name, - OUTPUT_DIR / f"{slug}-{palette_name}.png", - ) - - -if __name__ == "__main__": - main() diff --git a/src/components/BaseHead.astro b/src/components/BaseHead.astro index 0534c31..0382501 100644 --- a/src/components/BaseHead.astro +++ b/src/components/BaseHead.astro @@ -6,11 +6,10 @@ import { SITE_TITLE, SITE_METADATA } from '../consts'; const canonicalURL = new URL(Astro.url.pathname, Astro.site); -const { title, description, image, imageAlt } = Astro.props; +const { title, description, image } = Astro.props; const finalTitle = title || SITE_METADATA.title.default; const finalDescription = description || SITE_METADATA.description; const finalImage = image || SITE_METADATA.openGraph.images[0].url; -const finalImageAlt = imageAlt || finalTitle; const imageURL = new URL(finalImage, Astro.url); --- @@ -84,7 +83,7 @@ const imageURL = new URL(finalImage, Astro.url); property="og:image:height" content={SITE_METADATA.openGraph.images[0].height.toString()} /> - + @@ -92,5 +91,4 @@ const imageURL = new URL(finalImage, Astro.url); - diff --git a/src/components/layout/footer.tsx b/src/components/layout/footer.tsx index beb227d..491e006 100644 --- a/src/components/layout/footer.tsx +++ b/src/components/layout/footer.tsx @@ -23,7 +23,7 @@ footerLinks.push({ id: 'updates', items: [ { text: 'News', link: '/updates/news' }, - { text: 'Blog', link: '/blog' }, + { text: 'Blog', link: '/updates/blog' }, { text: 'Seminars', link: '/updates/seminars' }, { text: 'Deadlines', link: '/updates/deadlines' }, { text: 'Outreach', link: '/updates/outreach' }, @@ -65,16 +65,10 @@ const RSS_ICON = { }; const socialLinks = [ - { icon: SOCIAL_ICONS.x, link: 'https://twitter.com/cse_iitgn' }, - { - icon: SOCIAL_ICONS.linkedin, - link: 'https://www.linkedin.com/company/cse-iitgn', - }, - { - icon: SOCIAL_ICONS.youtube, - link: 'https://www.youtube.com/channel/UCPYUnvUV3CiMmkhfYME48QQ', - }, - { icon: SOCIAL_ICONS.instagram, link: 'https://instagram.com/iit_gandhinagar' }, + { icon: SOCIAL_ICONS.x, link: 'https://x.com/iaboratories' }, + { icon: SOCIAL_ICONS.linkedin, link: 'https://linkedin.com' }, + { icon: SOCIAL_ICONS.youtube, link: 'https://youtube.com' }, + { icon: SOCIAL_ICONS.instagram, link: 'https://instagram.com' }, { icon: RSS_ICON, link: '/rss.xml' }, ]; diff --git a/src/components/layout/navbar.tsx b/src/components/layout/navbar.tsx index 06c7e67..8a4e63d 100644 --- a/src/components/layout/navbar.tsx +++ b/src/components/layout/navbar.tsx @@ -5,7 +5,6 @@ import { Fragment, useEffect, useState } from 'react'; import type { LucideIcon } from 'lucide-react'; import { ArrowRight, - Award, BookOpen, Brain, Briefcase, @@ -52,20 +51,16 @@ import { } from '@/components/ui/navigation-menu'; import { Separator } from '@/components/ui/separator'; import { Sheet, SheetContent, SheetTitle } from '@/components/ui/sheet'; -import { - RESEARCH_AREAS, - type ResearchAreaSlug, -} from '@/data/research-area-pages'; import { seminarNavHighlights } from '@/data/seminars'; import { cn } from '@/lib/utils'; const RESEARCH_THEMES = [ - { slug: 'ai', icon: Brain, label: 'AI & Machine Learning', href: '/research/ai', description: 'Deep learning, NLP, computer vision, and AI for social good.' }, - { slug: 'theory', icon: Code2, label: 'Theoretical CS', href: '/research/theory', description: 'Algorithms, complexity, graph theory, and combinatorial optimization.' }, - { slug: 'security', icon: Lock, label: 'Security & Privacy', href: '/research/security', description: 'Program analysis, web security, and privacy-preserving computation.' }, - { slug: 'data-science', icon: Database, label: 'Data Science', href: '/research/data-science', description: 'Large-scale analytics, streaming algorithms, and knowledge discovery.' }, - { slug: 'systems', icon: Monitor, label: 'Systems & Architecture', href: '/research/systems', description: 'Computer architecture, embedded systems, and hardware-software co-design.' }, - { slug: 'hci', icon: Network, label: 'HCI & Cognitive Science', href: '/research/hci', description: 'Brain-computer interfaces, accessibility, and cognitive modeling.' }, + { icon: Brain, label: 'AI & Machine Learning', href: '/research/ai', description: 'Deep learning, NLP, computer vision, and AI for social good.' }, + { icon: Code2, label: 'Theoretical CS', href: '/research/theory', description: 'Algorithms, complexity, graph theory, and combinatorial optimization.' }, + { icon: Lock, label: 'Security & Privacy', href: '/research/security', description: 'Program analysis, web security, and privacy-preserving computation.' }, + { icon: Database, label: 'Data Science', href: '/research/data-science', description: 'Large-scale analytics, streaming algorithms, and knowledge discovery.' }, + { icon: Monitor, label: 'Systems & Architecture', href: '/research/systems', description: 'Computer architecture, embedded systems, and hardware-software co-design.' }, + { icon: Network, label: 'HCI & Cognitive Science', href: '/research/hci', description: 'Brain-computer interfaces, accessibility, and cognitive modeling.' }, ]; const RESEARCH_FEATURED = [ @@ -107,7 +102,7 @@ const ACADEMICS_PROGRAMS: AcademicsLink[] = [ { label: 'MTech', href: '/academics/mtech', - description: 'Explore masters and dual-degree programs in CSE, AI, and ICDT', + description: 'Explore masters and dual-degree programs in CSE and AI', icon: GraduationCap, }, { @@ -165,7 +160,7 @@ const ACADEMICS_FEATURED = [ ]; const UPDATES_LINKS = [ - { icon: FileText, label: 'Blog', description: 'Articles and perspectives', href: '/blog' }, + { icon: FileText, label: 'Blog', description: 'Articles and perspectives', href: '/updates/blog' }, { icon: Newspaper, label: 'News', description: 'Announcements and highlights', href: '/updates/news' }, { icon: Calendar, label: 'Seminars', description: 'Talks and lecture series', href: '/updates/seminars' }, { icon: BookOpen, label: 'Deadlines', description: 'Upcoming important dates', href: '/updates/deadlines' }, @@ -174,10 +169,10 @@ const UPDATES_LINKS = [ ]; const SOCIAL_LINKS_NAV = [ - { title: 'X', href: 'https://twitter.com/cse_iitgn', icon: 'https://deifkwefumgah.cloudfront.net/shadcnblocks/block/logos/x.svg' }, - { title: 'LinkedIn', href: 'https://www.linkedin.com/company/cse-iitgn', icon: 'https://deifkwefumgah.cloudfront.net/shadcnblocks/block/logos/linkedin-icon.svg' }, - { title: 'YouTube', href: 'https://www.youtube.com/channel/UCPYUnvUV3CiMmkhfYME48QQ', icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E" }, - { title: 'Instagram', href: 'https://instagram.com/iit_gandhinagar', icon: 'https://deifkwefumgah.cloudfront.net/shadcnblocks/block/logos/instagram-icon.svg' }, + { title: 'X', href: 'https://x.com/iaboratories', icon: 'https://deifkwefumgah.cloudfront.net/shadcnblocks/block/logos/x.svg' }, + { title: 'LinkedIn', href: 'https://linkedin.com', icon: 'https://deifkwefumgah.cloudfront.net/shadcnblocks/block/logos/linkedin-icon.svg' }, + { title: 'YouTube', href: 'https://youtube.com', icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 17a24.12 24.12 0 0 1 0-10 2 2 0 0 1 1.4-1.4 49.56 49.56 0 0 1 16.2 0A2 2 0 0 1 21.5 7a24.12 24.12 0 0 1 0 10 2 2 0 0 1-1.4 1.4 49.55 49.55 0 0 1-16.2 0A2 2 0 0 1 2.5 17'/%3E%3Cpath d='m10 15 5-3-5-3z'/%3E%3C/svg%3E" }, + { title: 'Instagram', href: 'https://instagram.com', icon: 'https://deifkwefumgah.cloudfront.net/shadcnblocks/block/logos/instagram-icon.svg' }, { title: 'RSS', href: '/rss.xml', icon: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9'/%3E%3Cpath d='M4 4a16 16 0 0 1 16 16'/%3E%3Ccircle cx='5' cy='19' r='1'/%3E%3C/svg%3E" }, ]; @@ -185,9 +180,10 @@ const LATEST_SEMINARS = seminarNavHighlights.latest; const THEORY_SEMINARS = seminarNavHighlights.theory; const FEATURED_ARTICLE = { - title: 'Building an AI Image Editor at Hackrush 2026', - description: 'A student account of building a modular AI image editor during Hackrush 2026.', - href: '/blog/hackrush-2026-yuvraj-ai-image-editor', + title: 'How AI is Transforming Climate Research at IITGN', + description: 'A look at how CSE faculty are using machine learning to model climate patterns.', + image: 'https://images.unsplash.com/photo-1504639725590-34d0984388bd?w=400&h=200&fit=crop', + href: '/blog', }; interface NavSubitem { @@ -257,8 +253,6 @@ export const NAV_LINKS: NavItem[] = [ { label: 'Post-Docs', href: '/people/postdocs', description: 'Postdoctoral researchers and fellows' }, { label: 'Faculty', href: '/people/faculty', description: 'Core, affiliated, visiting, and guest faculty' }, { label: 'Staff', href: '/people/staff', description: 'Administrative and technical staff' }, - { label: 'Alumni', href: '/people/alumni', description: 'Public alumni trajectories and achievements' }, - { label: 'Visitors', href: '/people/visitors', description: 'Seminar visitors and invited speakers' }, ], }, { @@ -266,7 +260,7 @@ export const NAV_LINKS: NavItem[] = [ href: '/academics', subitems: [ { label: 'BTech', href: '/academics/btech', description: 'Undergraduate programs in CSE, AI, and ICDT' }, - { label: 'MTech', href: '/academics/mtech', description: 'Masters and dual-degree programs in CSE, AI, and ICDT' }, + { label: 'MTech', href: '/academics/mtech', description: 'Masters and dual-degree programs in CSE and AI' }, { label: 'EMasters', href: '/academics/emasters', description: 'Executive masters programs in data analytics' }, { label: 'PhD', href: '/academics/phd', description: 'Graduate programs in CSE and AI' }, { label: 'SRIP', href: '/academics/srip', description: 'Flagship summer internship program' }, @@ -294,7 +288,7 @@ export const NAV_LINKS: NavItem[] = [ label: 'Updates', href: '/news', subitems: [ - { label: 'Blog', href: '/blog', description: 'Articles and perspectives' }, + { label: 'Blog', href: '/updates/blog', description: 'Articles and perspectives' }, { label: 'News', href: '/updates/news', description: 'Announcements and highlights' }, { label: 'Seminars', href: '/updates/seminars', description: 'Talks and lecture series' }, { label: 'Deadlines', href: '/updates/deadlines', description: 'Upcoming important dates' }, @@ -625,20 +619,7 @@ function DesktopMenuItem({ href={theme.href} className="group flex gap-3 transition-opacity duration-200" > -
+
@@ -764,6 +745,13 @@ function DesktopMenuItem({ Featured Article

+
+ {FEATURED_ARTICLE.title} +

{FEATURED_ARTICLE.title}

@@ -1010,18 +998,6 @@ const PEOPLE_LINKS = [ description: 'Core, affiliated, visiting, and guest faculty', icon: BookOpen, }, - { - label: 'Alumni', - href: '/people/alumni', - description: 'Public alumni trajectories and achievements', - icon: Award, - }, - { - label: 'Visitors', - href: '/people/visitors', - description: 'Seminar visitors and invited speakers', - icon: Calendar, - }, { label: 'Staff', href: '/people/staff', @@ -1030,17 +1006,10 @@ const PEOPLE_LINKS = [ }, ]; -const PEOPLE_MENU_IMAGES = [ - { - src: '/images/people/mega-menu-group.jpeg', - alt: 'CSE students and faculty at IIT Gandhinagar', - objectPosition: 'center', - }, - { - src: '/images/people/zeel-phd-jrfs-mtech.jpeg', - alt: 'Sustainability Lab group with students and researchers at IIT Gandhinagar', - objectPosition: 'center 55%', - }, +const PEOPLE_IMAGES = [ + 'https://images.unsplash.com/photo-1523580494863-6f3031224c94?w=600&h=340&fit=crop', + 'https://images.unsplash.com/photo-1522202176988-66273c2fd55f?w=600&h=340&fit=crop', + 'https://images.unsplash.com/photo-1517486808906-6ca8b3f04846?w=600&h=340&fit=crop', ]; function PeopleMegaMenu() { @@ -1048,7 +1017,7 @@ function PeopleMegaMenu() { useEffect(() => { const interval = setInterval(() => { - setCurrentImage((i) => (i + 1) % PEOPLE_MENU_IMAGES.length); + setCurrentImage((i) => (i + 1) % PEOPLE_IMAGES.length); }, 3500); return () => clearInterval(interval); }, []); @@ -1078,35 +1047,34 @@ function PeopleMegaMenu() { ))}
- {/* Right: featured image slider */} + {/* Right: image carousel */}
- {PEOPLE_MENU_IMAGES.map((image, i) => ( + {PEOPLE_IMAGES.map((src, i) => ( {image.alt} ))} + {/* First image static for sizing */} CSE students and faculty at IIT Gandhinagar + {/* Dots */}
- {PEOPLE_MENU_IMAGES.map((image, i) => ( + {PEOPLE_IMAGES.map((_, i) => (
+
-
@@ -151,6 +125,10 @@ const departmentHead = {

Roles and coordinators

+

+ Faculty members in these committees may co-opt other department faculty + members as required for carrying out specific tasks. +

@@ -159,6 +137,9 @@ const departmentHead = {

{group.title}

+

+ {group.description} +

{group.committees.map((committee) => ( diff --git a/src/components/sections/announcements.tsx b/src/components/sections/announcements.tsx index 3b39323..6f67317 100644 --- a/src/components/sections/announcements.tsx +++ b/src/components/sections/announcements.tsx @@ -14,19 +14,6 @@ const parseSeminarDate = (date: string) => new Date(`${date}T00:00:00`); const formatSeminarMeta = (displayDate: string, time?: string) => time ? `${displayDate} · ${time}` : displayDate; -const homepageEventAnnouncements = [ - { - id: "theory-day-2026", - categoryLabel: "Event", - displayDate: "17 Jun 2026", - title: "Theory Day: Foundations of Computer Science", - href: "/events/theory-day-2026", - summary: - "Registration is open for Theory Day on 17 June 2026. Schedule, talk titles, and abstracts will be announced soon.", - isExternal: false, - }, -]; - export default function Announcements() { const [seminarView, setSeminarView] = useState<"upcoming" | "recent">( "upcoming", @@ -65,18 +52,6 @@ export default function Announcements() { ); const activeSeminars = seminarView === "upcoming" ? upcomingSeminars : recentSeminars; - const homepageAnnouncements = [ - ...homepageEventAnnouncements, - ...homepageNewsItems.slice(0, 2).map((item) => ({ - id: item.id, - categoryLabel: CATEGORY_LABELS[item.category], - displayDate: item.displayDate, - title: item.title, - href: item.sourceUrl, - summary: item.summary, - isExternal: true, - })), - ]; return (
@@ -96,11 +71,11 @@ export default function Announcements() {
- {homepageAnnouncements.map((item) => ( + {homepageNewsItems.slice(0, 3).map((item) => (
- {item.categoryLabel} + {CATEGORY_LABELS[item.category]} @@ -108,9 +83,9 @@ export default function Announcements() {
{item.title} diff --git a/src/components/sections/blog-post.tsx b/src/components/sections/blog-post.tsx index 80a6577..517c564 100644 --- a/src/components/sections/blog-post.tsx +++ b/src/components/sections/blog-post.tsx @@ -1,5 +1,8 @@ import type { CollectionEntry } from 'astro:content'; import { ChevronLeft, Facebook, Twitter, MessageCircle } from 'lucide-react'; +import { motion } from 'motion/react'; + +import { BlogCard } from './blog-posts'; /** * Calculate read time based on word count @@ -30,50 +33,6 @@ export function calculateReadTime(content: string): string { return `${Math.max(1, minutes)} min read`; } -const TAG_LABELS: Record = { - 'hackrush 2026': '#hackrush2026', - hackrush2026: '#hackrush2026', -}; - -function tagKey(tag: string) { - return tag.toLowerCase().replace(/[#\s-]/g, ''); -} - -function displayTag(tag: string) { - return TAG_LABELS[tag.trim().toLowerCase()] ?? tag; -} - -function getDisplayTags(tags: string[] = []) { - const seen = new Set(); - return tags - .map(displayTag) - .filter((tag) => { - const key = tagKey(tag); - if (seen.has(key)) return false; - seen.add(key); - return true; - }); -} - -function relatedDate(date: Date | string) { - return new Date(date).toLocaleDateString('en-GB', { - month: 'short', - day: '2-digit', - }); -} - -function tagFilterHref(tag: string) { - return `/blog?tag=${encodeURIComponent(tag)}`; -} - -function authorInitials(name: string) { - const parts = name.trim().split(/\s+/).filter(Boolean); - if (parts.length === 0) return 'CSE'; - if (parts.length === 1) return parts[0].slice(0, 2).toUpperCase(); - - return `${parts[0][0]}${parts[parts.length - 1][0]}`.toUpperCase(); -} - const BlogPost = ({ post, relatedPosts, @@ -83,10 +42,9 @@ const BlogPost = ({ relatedPosts: CollectionEntry<'blog'>[]; children: React.ReactNode; }) => { - const { title, description, date, author } = post[0].data; - const { body } = post[0]; + const { title, description, date, coverImage, author } = post[0].data; + const { id, body } = post[0]; const readTime = calculateReadTime(body || ''); - const initials = authorInitials(author.name); return (
@@ -102,28 +60,37 @@ const BlogPost = ({ {/* Title and Description */} -

+

{title}

-

+

{description}

+ + {title} + + {/* Author Information */} -
+
-
); diff --git a/src/components/sections/research-area-profile.astro b/src/components/sections/research-area-profile.astro deleted file mode 100644 index 3a6cf4c..0000000 --- a/src/components/sections/research-area-profile.astro +++ /dev/null @@ -1,197 +0,0 @@ ---- -import { ArrowUpRight, Globe } from 'lucide-react'; - -import type { ResearchAreaPage } from '@/data/research-area-pages'; - -type Props = { - area: ResearchAreaPage; -}; - -const { area } = Astro.props; - -const accentStyle = `--area-accent: ${area.accent.foreground}; --area-accent-soft: ${area.accent.soft}; --area-accent-bg: ${area.accent.background}; --area-accent-header: ${area.accent.header}; --area-accent-border: ${area.accent.border};`; ---- - -
-
-
-
-

- Research Area -

-

- {area.title} -

-

- {area.description} -

-
-
-
- -{ - area.featuredVideo && ( -
-
-
-
-
-

- Featured Video -

-

- {area.featuredVideo.title} -

-
- - Watch on YouTube - -
-
-
- -
-
-
-
-
- ) -} - -
-
-
-
-

Research Themes

-

- What the group works on -

-
- { - area.themes.map((theme) => ( - - {theme} - - )) - } -
-
- -
-

Faculty

-

- People shaping this area -

-
- { - area.faculty.map((faculty) => ( -
-
-
-

{faculty.name}

-

- {faculty.title} -

-
- {faculty.profile && ( - - - - )} -
-

- {faculty.focus} -

-
- )) - } -
-
-
-
-
- -
-
-
-
-

Selected Publications

-

- Recent Publications -

-
- { - area.publications.map((publication) => ( -
-

{publication.title}

-

- {publication.detail} -

- {publication.href && ( - - Read more - - )} -
- )) - } -
-
- -
-

Projects & Outputs

-

- Representative Projects -

-
- { - area.projects.map((project) => ( -
-

{project.title}

-

- {project.detail} -

- {project.href && ( - - Read more - - )} -
- )) - } -
-
-
-
-
-
diff --git a/src/components/sections/research-areas.tsx b/src/components/sections/research-areas.tsx index 46f020d..0be9089 100644 --- a/src/components/sections/research-areas.tsx +++ b/src/components/sections/research-areas.tsx @@ -9,57 +9,42 @@ import { Network, } from 'lucide-react'; -import { - RESEARCH_AREAS, - type ResearchAreaSlug, -} from '@/data/research-area-pages'; +import { Card } from '@/components/ui/card'; const AREAS = [ { - slug: 'ai', icon: Brain, title: 'Artificial Intelligence & ML', - href: '/research/ai', description: 'Deep learning, NLP, computer vision, reinforcement learning, and AI for social good.', }, { - slug: 'theory', icon: Code2, title: 'Theoretical Computer Science', - href: '/research/theory', description: 'Algorithms, computational complexity, graph theory, and combinatorial optimization.', }, { - slug: 'security', icon: Lock, title: 'Security & Privacy', - href: '/research/security', description: 'Program analysis, web security, information flow, and privacy-preserving computation.', }, { - slug: 'data-science', icon: Database, title: 'Data Science & Mining', - href: '/research/data-science', description: 'Large-scale data analytics, streaming algorithms, and knowledge discovery.', }, { - slug: 'systems', icon: Monitor, title: 'Systems & Architecture', - href: '/research/systems', description: 'Computer architecture, embedded systems, VLSI design, and hardware-software co-design.', }, { - slug: 'hci', icon: Network, title: 'HCI & Cognitive Science', - href: '/research/hci', description: 'Brain-computer interfaces, accessibility, human-AI interaction, and cognitive modeling.', }, @@ -77,32 +62,20 @@ export default function ResearchAreas() {
{AREAS.map((area, i) => ( -

{area.title}

-
+

{area.description}

-
+ ))}
diff --git a/src/content.config.ts b/src/content.config.ts index 4df5cf0..797cba4 100644 --- a/src/content.config.ts +++ b/src/content.config.ts @@ -23,7 +23,6 @@ const blog = defineCollection({ }), tags: z.array(z.string()).optional(), coverImage: z.string().optional(), - draft: z.boolean().optional().default(false), }), }); diff --git a/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-1.mdx b/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-1.mdx deleted file mode 100644 index 4d0d96a..0000000 --- a/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-1.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "ACM-W India Grad Cohort 2020: Day 1 Of The Women Virtual Workshop In Computing Opens With A Bang!" -description: "Apeksha Srivastava's Day 1 report from ACM India Grad Cohort 2020, hosted online by ACM-W India and CSE at IIT Gandhinagar." -date: "2020-07-24" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Grad Cohort", "ACM-W", "Women in Computing", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's Day 1 report from ACM India Grad Cohort 2020. The article covers the opening of the online workshop and its early sessions for women graduate students in computing. - -**Original source:** [ACM-W India Grad Cohort 2020: Day 1 Of The Women Virtual Workshop In Computing Opens With A Bang!](https://medium.com/@apeksha.0503/grad-cohort-2020-day-1-of-the-women-virtual-workshop-in-computing-opens-with-a-bang-56407c113ad) - diff --git a/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-2.mdx b/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-2.mdx deleted file mode 100644 index 2ad14b9..0000000 --- a/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-2.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "ACM-W Grad Cohort 2020 Day 2: A Perfect Combo Of Motivation And Quality Advice From Women Leaders In Computing" -description: "Apeksha Srivastava's Day 2 report from ACM India Grad Cohort 2020, covering research talks, career guidance, and mentoring for women in computing." -date: "2020-07-26" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Grad Cohort", "ACM-W", "Women in Computing", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's Day 2 report from ACM India Grad Cohort 2020. The article covers research talks, professional advice, and mentoring sessions for women leaders and graduate students in computing. - -**Original source:** [ACM-W Grad Cohort 2020 Day 2: A Perfect Combo Of Motivation And Quality Advice From Women Leaders In Computing](https://medium.com/@apeksha.0503/acm-w-grad-cohort-2020-day-2-a-perfect-combo-of-motivation-and-quality-advice-from-women-leaders-3f2c629e05e5) - diff --git a/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-3.mdx b/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-3.mdx deleted file mode 100644 index 1dd378f..0000000 --- a/src/content/blog/apeksha-acm-w-grad-cohort-2020-day-3.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Day 3: ACM-W Grad Cohort 2020 Concludes With Strong Networking Opportunities And Professional Guidance For Women In Computer Science" -description: "Apeksha Srivastava's final-day report from ACM India Grad Cohort 2020, focused on post-PhD careers, networking, and professional guidance." -date: "2020-07-27" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Grad Cohort", "ACM-W", "Women in Computing", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's final-day report from ACM India Grad Cohort 2020. The article focuses on post-PhD career paths, networking, job-hunt preparation, and professional guidance for women in computing. - -**Original source:** [Day 3: ACM-W Grad Cohort 2020 Concludes With Strong Networking Opportunities And Professional Guidance For Women In Computer Science](https://medium.com/@apeksha.0503/day-3-acm-w-grad-cohort-2020-concludes-with-strong-networking-opportunities-and-professional-bc8c78efbc33) - diff --git a/src/content/blog/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online.mdx b/src/content/blog/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online.mdx deleted file mode 100644 index 26a5908..0000000 --- a/src/content/blog/apeksha-acm-w-grad-cohort-2020-women-conquering-computing-online.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "ACM-W Grad Cohort 2020: Women Conquering Computing Online" -description: "Apeksha Srivastava's IITGN News preview of the ACM India Grad Cohort 2020, co-organized by ACM-W India and CSE at IIT Gandhinagar." -date: "2020-07-19" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Grad Cohort", "ACM-W", "Women in Computing", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's IITGN News preview of ACM India Grad Cohort 2020. The event was co-organized by ACM-W India and the Computer Science and Engineering discipline at IIT Gandhinagar as an online workshop for women in computing. - -**Original source:** [ACM-W Grad Cohort 2020: Women Conquering Computing Online](https://news.iitgn.ac.in/the-acm-w-grad-cohort-2020-women-conquering-computing-online/) - diff --git a/src/content/blog/apeksha-my-podcasting-experience-part-i-acm-india.mdx b/src/content/blog/apeksha-my-podcasting-experience-part-i-acm-india.mdx deleted file mode 100644 index 250fd69..0000000 --- a/src/content/blog/apeksha-my-podcasting-experience-part-i-acm-india.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "My Podcasting Experience (Part I): Association for Computing Machinery (ACM) - India" -description: "Apeksha Srivastava's first ACM/IRISS podcasting note, introducing conversations around IRISS, the ACM-W workshop, and the ACM India Annual Event hosted at IITGN." -date: "2020-03-03" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["ACM India", "Podcasting", "IRISS", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's first note in her ACM/IRISS podcasting series. The piece introduces her podcasting conversations with people connected to IRISS, the ACM-W workshop, and the ACM India Annual Event hosted at IIT Gandhinagar in February 2020. - -**Original source:** [My Podcasting Experience (Part I): Association for Computing Machinery (ACM) - India](https://medium.com/@apeksha.0503/my-podcasting-experience-association-for-computing-machinery-acm-india-part-i-887109803735) - diff --git a/src/content/blog/apeksha-my-podcasting-experience-part-ii-acm-w-india.mdx b/src/content/blog/apeksha-my-podcasting-experience-part-ii-acm-w-india.mdx deleted file mode 100644 index c95b3e9..0000000 --- a/src/content/blog/apeksha-my-podcasting-experience-part-ii-acm-w-india.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "My Podcasting Experience (Part II): ACM-W India" -description: "Apeksha Srivastava's second ACM/IRISS podcasting note, focused on ACM-W India and conversations around women in computing." -date: "2020-03-03" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["ACM-W", "Podcasting", "Women in Computing", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's second ACM/IRISS podcasting note. The article gathers perspectives from ACM-W India sessions and conversations with women leaders in computer science education and research. - -**Original source:** [My Podcasting Experience (Part II): ACM-W India](https://medium.com/@apeksha.0503/my-podcasting-experience-part-ii-acm-w-india-4e3dcb0fb0e8) - diff --git a/src/content/blog/apeksha-my-podcasting-experience-part-iii-student-participants.mdx b/src/content/blog/apeksha-my-podcasting-experience-part-iii-student-participants.mdx deleted file mode 100644 index eb027d4..0000000 --- a/src/content/blog/apeksha-my-podcasting-experience-part-iii-student-participants.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "My Podcasting Experience (Part III): Student Participants" -description: "Apeksha Srivastava's third ACM/IRISS podcasting note, featuring student perspectives from IRISS, the ACM-W workshop, and the ACM India Annual Event." -date: "2020-03-04" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["IRISS", "Podcasting", "ACM India", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's third ACM/IRISS podcasting note. The article focuses on student participants from IRISS, the ACM-W workshop, and the ACM India Annual Event, with accessible explanations of computing research and student reflections. - -**Original source:** [My Podcasting Experience (Part III): Student Participants](https://medium.com/@apeksha.0503/my-podcasting-experience-part-iii-student-participants-35973c42b02a) - diff --git a/src/content/blog/apeksha-my-podcasting-experience-part-iv-industry-experts.mdx b/src/content/blog/apeksha-my-podcasting-experience-part-iv-industry-experts.mdx deleted file mode 100644 index 2e67efa..0000000 --- a/src/content/blog/apeksha-my-podcasting-experience-part-iv-industry-experts.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "My Podcasting Experience (Part IV): Industry Experts" -description: "Apeksha Srivastava's fourth ACM/IRISS podcasting note, collecting industry perspectives from the computing events hosted at IITGN." -date: "2020-03-06" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["ACM India", "Industry", "Podcasting", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's fourth ACM/IRISS podcasting note. The article brings together industry-facing conversations from the computing events hosted at IITGN, including reflections on computer science education, AI, machine learning, and industry-academia connections. - -**Original source:** [My Podcasting Experience (Part IV): Industry Experts](https://medium.com/@apeksha.0503/my-podcasting-experience-part-iv-industry-experts-cebfcc63ab26) - diff --git a/src/content/blog/apeksha-my-podcasting-experience-part-v-researchers.mdx b/src/content/blog/apeksha-my-podcasting-experience-part-v-researchers.mdx deleted file mode 100644 index 3ef4724..0000000 --- a/src/content/blog/apeksha-my-podcasting-experience-part-v-researchers.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "My Podcasting Experience (Part V): Researchers" -description: "Apeksha Srivastava's fifth ACM/IRISS podcasting note, highlighting researchers' perspectives on computing, AI, cryptography, and IRISS 2020." -date: "2020-03-09" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["IRISS", "Research", "Podcasting", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's fifth ACM/IRISS podcasting note. The article gathers researchers' perspectives from the event series, including discussions on healthcare computing, cryptography, interdisciplinary research, and IRISS 2020. - -**Original source:** [My Podcasting Experience (Part V): Researchers](https://medium.com/@apeksha.0503/my-podcasting-experience-part-v-researchers-37a2b3daf324) - diff --git a/src/content/blog/apeksha-my-podcasting-experience-part-vi-perspectives.mdx b/src/content/blog/apeksha-my-podcasting-experience-part-vi-perspectives.mdx deleted file mode 100644 index a519d2d..0000000 --- a/src/content/blog/apeksha-my-podcasting-experience-part-vi-perspectives.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "My Podcasting Experience (Part VI): Perspectives" -description: "Apeksha Srivastava's concluding ACM/IRISS podcasting note, including reflections on ACM-W, IRISS, and organizing large computing events at IITGN." -date: "2020-03-12" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["IRISS", "ACM-W", "Podcasting", "CSE Events"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's concluding ACM/IRISS podcasting note. The article includes reflections on the ACM-W workshop, IRISS, and the experience of organizing large-scale computing events at IIT Gandhinagar. - -**Original source:** [My Podcasting Experience (Part VI): Perspectives](https://medium.com/@apeksha.0503/my-podcasting-experience-part-vi-perspectives-876a2c870daa) - diff --git a/src/content/blog/apeksha-promoting-women-in-computer-science-research.mdx b/src/content/blog/apeksha-promoting-women-in-computer-science-research.mdx deleted file mode 100644 index 87e95c4..0000000 --- a/src/content/blog/apeksha-promoting-women-in-computer-science-research.mdx +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Promoting Women in Computer Science Research" -description: "Apeksha Srivastava's preview of the ACM-W India event on Women in Computer Science and Research, co-located with IRISS and the ACM India Annual Event at IIT Gandhinagar." -date: "2020-01-23" -author: - name: "Apeksha Srivastava" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["ACM-W", "CSE Events", "IRISS", "Apeksha Srivastava"] -draft: true ---- - -This archive entry points to Apeksha Srivastava's original article previewing the ACM-W India event on Women in Computer Science and Research at IIT Gandhinagar. The event was co-located with IRISS and the ACM India Annual Event, and focused on research opportunities, mentoring, and participation of women in computing. - -**Original source:** [Promoting Women in Computer Science Research](https://medium.com/@apeksha.0503/promoting-women-in-computer-science-research-ae64544cb5d5) - diff --git a/src/content/blog/hackrush-2026-aditya-snake-bot.mdx b/src/content/blog/hackrush-2026-aditya-snake-bot.mdx index 51f5cd8..09fe43a 100644 --- a/src/content/blog/hackrush-2026-aditya-snake-bot.mdx +++ b/src/content/blog/hackrush-2026-aditya-snake-bot.mdx @@ -5,8 +5,8 @@ date: '2026-05-01' author: name: 'Aditya' image: '/favicon/web-app-manifest-192x192.png' -tags: ['hackrush2026', 'Game AI'] -coverImage: '/images/blog/title-cards/hackrush-2026-aditya-snake-bot-light.png' +tags: ['Hackrush 2026', 'hackrush2026', 'Game AI'] +coverImage: '/images/blog/hackrush-2026/hackrush-2026-cover.webp' --- Hackrush 2026 gave us a compact but demanding Game AI challenge: build a bot that could play Beat My Bot v2, read the game state from JSON, choose a move within a 500 ms turn limit, and survive longer than the opponent while maximizing length and score. diff --git a/src/content/blog/hackrush-2026-arpan-bazaar-iitgn.mdx b/src/content/blog/hackrush-2026-arpan-bazaar-iitgn.mdx index 4fa043c..6d25f16 100644 --- a/src/content/blog/hackrush-2026-arpan-bazaar-iitgn.mdx +++ b/src/content/blog/hackrush-2026-arpan-bazaar-iitgn.mdx @@ -5,8 +5,8 @@ date: '2026-05-02' author: name: 'Arpan' image: '/favicon/web-app-manifest-192x192.png' -tags: ['hackrush2026', 'Web Development'] -coverImage: '/images/blog/title-cards/hackrush-2026-arpan-bazaar-iitgn-light.png' +tags: ['Hackrush 2026', 'hackrush2026', 'Web Development'] +coverImage: '/images/blog/hackrush-2026/hackrush-2026-cover.webp' --- Bazaar@IITGN is a peer-to-peer campus marketplace built exclusively for the IIT Gandhinagar community. The motivation came from a familiar student problem: someone wants to sell an old cycle before the semester ends, or find an affordable textbook before exams, but there is no reliable, trusted platform designed for the campus. diff --git a/src/content/blog/hackrush-2026-nihar-bone-marrow-classification.mdx b/src/content/blog/hackrush-2026-nihar-bone-marrow-classification.mdx index aa22c02..bc576b1 100644 --- a/src/content/blog/hackrush-2026-nihar-bone-marrow-classification.mdx +++ b/src/content/blog/hackrush-2026-nihar-bone-marrow-classification.mdx @@ -5,8 +5,8 @@ date: '2026-05-03' author: name: 'Nihar' image: '/favicon/web-app-manifest-192x192.png' -tags: ['hackrush2026', 'Machine Learning'] -coverImage: '/images/blog/title-cards/hackrush-2026-nihar-bone-marrow-classification-light.png' +tags: ['Hackrush 2026', 'hackrush2026', 'Machine Learning'] +coverImage: '/images/blog/hackrush-2026/hackrush-2026-cover.webp' --- For Hackrush 2026, I worked on few-shot bone marrow cell classification. The task was to classify bone marrow microscopy images under severely limited labeled data conditions. diff --git a/src/content/blog/hackrush-2026-srihith-activation-functions.mdx b/src/content/blog/hackrush-2026-srihith-activation-functions.mdx index 482d8fe..2f2cc68 100644 --- a/src/content/blog/hackrush-2026-srihith-activation-functions.mdx +++ b/src/content/blog/hackrush-2026-srihith-activation-functions.mdx @@ -5,8 +5,8 @@ date: '2026-05-04' author: name: 'Srihith' image: '/favicon/web-app-manifest-192x192.png' -tags: ['hackrush2026', 'Computer Architecture'] -coverImage: '/images/blog/title-cards/hackrush-2026-srihith-activation-functions-light.png' +tags: ['Hackrush 2026', 'hackrush2026', 'Computer Architecture'] +coverImage: '/images/blog/hackrush-2026/hackrush-2026-cover.webp' --- For Hackrush 2026, I worked on a computer architecture problem that required implementing four machine-learning activation functions in hardware: ReLU, Leaky ReLU, sigmoid approximation, and tanh approximation. diff --git a/src/content/blog/hackrush-2026-surriya-archivist-puzzle.mdx b/src/content/blog/hackrush-2026-surriya-archivist-puzzle.mdx index b2d0b60..806717c 100644 --- a/src/content/blog/hackrush-2026-surriya-archivist-puzzle.mdx +++ b/src/content/blog/hackrush-2026-surriya-archivist-puzzle.mdx @@ -5,8 +5,8 @@ date: '2026-05-05' author: name: 'Surriya' image: '/favicon/web-app-manifest-192x192.png' -tags: ['hackrush2026', 'Machine Learning'] -coverImage: '/images/blog/title-cards/hackrush-2026-surriya-archivist-puzzle-light.png' +tags: ['Hackrush 2026', 'hackrush2026', 'Machine Learning'] +coverImage: '/images/blog/hackrush-2026/hackrush-2026-cover.webp' --- One of the Hackrush 2026 problems was a narrative reconstruction challenge inspired by *Cain's Jawbone*. We were given two mystery books as CSV files of shuffled text fragments. The goal was to reconstruct the original page order for each book. diff --git a/src/content/blog/hackrush-2026-yuvraj-ai-image-editor.mdx b/src/content/blog/hackrush-2026-yuvraj-ai-image-editor.mdx index c158466..3eae106 100644 --- a/src/content/blog/hackrush-2026-yuvraj-ai-image-editor.mdx +++ b/src/content/blog/hackrush-2026-yuvraj-ai-image-editor.mdx @@ -5,8 +5,8 @@ date: '2026-05-06' author: name: 'Yuvraj' image: '/favicon/web-app-manifest-192x192.png' -tags: ['hackrush2026', 'Deep Learning'] -coverImage: '/images/blog/title-cards/hackrush-2026-yuvraj-ai-image-editor-light.png' +tags: ['Hackrush 2026', 'hackrush2026', 'Deep Learning'] +coverImage: '/images/blog/hackrush-2026/hackrush-2026-cover.webp' --- For Hackrush 2026, I built an AI Image Editor: a web application that lets users edit images using natural-language instructions, masks, sketches, and voice input. diff --git a/src/content/blog/kishan-gsoc-24-final-report.mdx b/src/content/blog/kishan-gsoc-24-final-report.mdx deleted file mode 100644 index 2090bb7..0000000 --- a/src/content/blog/kishan-gsoc-24-final-report.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Final Report" -description: "Kishan Ved summarizes his Google Summer of Code 2024 work with PyDataStructs." -date: "2024-08-26" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Final Report". It is included here as a source-linked entry with credit to the author. - -The report summarizes Kishan's Google Summer of Code 2024 project, including the scope of his PyDataStructs work and the outcomes from the coding period. - -**Original source:** [GSoC '24 Final Report](https://kishan-ved.github.io/portfolio/blog/gsoc_report) - diff --git a/src/content/blog/kishan-gsoc-24-week-1.mdx b/src/content/blog/kishan-gsoc-24-week-1.mdx deleted file mode 100644 index f021463..0000000 --- a/src/content/blog/kishan-gsoc-24-week-1.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 1" -description: "Kishan Ved reports on C++ backend setup and Binary Tree work for PyDataStructs." -date: "2024-05-27" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 1". It is included here as a source-linked entry with credit to the author. - -The update covers C++ backend setup, Binary Tree work, and repository build setup for the GSoC project. - -**Original source:** [GSoC '24 Week 1](https://kishan-ved.github.io/portfolio/blog/week1) - diff --git a/src/content/blog/kishan-gsoc-24-week-10.mdx b/src/content/blog/kishan-gsoc-24-week-10.mdx deleted file mode 100644 index d382b0b..0000000 --- a/src/content/blog/kishan-gsoc-24-week-10.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 10" -description: "Kishan Ved reports on the C++ backend for Cartesian Trees during GSoC 2024." -date: "2024-07-29" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 10". It is included here as a source-linked entry with credit to the author. - -The update focuses on completing the C++ backend for Cartesian Trees as part of the PyDataStructs project. - -**Original source:** [GSoC '24 Week 10](https://kishan-ved.github.io/portfolio/blog/week10) - diff --git a/src/content/blog/kishan-gsoc-24-week-11.mdx b/src/content/blog/kishan-gsoc-24-week-11.mdx deleted file mode 100644 index ba2ad87..0000000 --- a/src/content/blog/kishan-gsoc-24-week-11.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 11" -description: "Kishan Ved reports on the C++ backend for Treap support in PyDataStructs." -date: "2024-08-05" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 11". It is included here as a source-linked entry with credit to the author. - -The update covers progress on the C++ backend for Treap support and the merge work around that implementation. - -**Original source:** [GSoC '24 Week 11](https://kishan-ved.github.io/portfolio/blog/week11) - diff --git a/src/content/blog/kishan-gsoc-24-week-12.mdx b/src/content/blog/kishan-gsoc-24-week-12.mdx deleted file mode 100644 index 344e75f..0000000 --- a/src/content/blog/kishan-gsoc-24-week-12.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 12" -description: "Kishan Ved closes out his Google Summer of Code 2024 weekly updates." -date: "2024-08-12" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 12". It is included here as a source-linked entry with credit to the author. - -The update marks the completion of Kishan's Google Summer of Code 2024 work and records the closing stage of the project. - -**Original source:** [GSoC '24 Week 12](https://kishan-ved.github.io/portfolio/blog/week12) - diff --git a/src/content/blog/kishan-gsoc-24-week-2.mdx b/src/content/blog/kishan-gsoc-24-week-2.mdx deleted file mode 100644 index 6c0b29b..0000000 --- a/src/content/blog/kishan-gsoc-24-week-2.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 2" -description: "Kishan Ved reports on C++ backend work for Node, TreeNode, and ArrayForTrees." -date: "2024-06-03" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 2". It is included here as a source-linked entry with credit to the author. - -The update covers C++ backend work for Node, TreeNode, and ArrayForTrees during the second week of the project. - -**Original source:** [GSoC '24 Week 2](https://kishan-ved.github.io/portfolio/blog/week2) - diff --git a/src/content/blog/kishan-gsoc-24-week-3.mdx b/src/content/blog/kishan-gsoc-24-week-3.mdx deleted file mode 100644 index 550dc11..0000000 --- a/src/content/blog/kishan-gsoc-24-week-3.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 3" -description: "Kishan Ved reports on testing, debugging, and Binary Search Tree methods." -date: "2024-06-10" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 3". It is included here as a source-linked entry with credit to the author. - -The update covers testing, debugging, and progress on Binary Search Tree `insert()` and `search()` support. - -**Original source:** [GSoC '24 Week 3](https://kishan-ved.github.io/portfolio/blog/week3) - diff --git a/src/content/blog/kishan-gsoc-24-week-4.mdx b/src/content/blog/kishan-gsoc-24-week-4.mdx deleted file mode 100644 index 86a5a7b..0000000 --- a/src/content/blog/kishan-gsoc-24-week-4.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 4" -description: "Kishan Ved reports on BinarySearchTree methods, tree traversals, and performance results." -date: "2024-06-17" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 4". It is included here as a source-linked entry with credit to the author. - -The update covers BinarySearchTree methods, tree traversals, and performance results from the implementation work. - -**Original source:** [GSoC '24 Week 4](https://kishan-ved.github.io/portfolio/blog/week4) - diff --git a/src/content/blog/kishan-gsoc-24-week-5.mdx b/src/content/blog/kishan-gsoc-24-week-5.mdx deleted file mode 100644 index 5747262..0000000 --- a/src/content/blog/kishan-gsoc-24-week-5.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 5" -description: "Kishan Ved reports on self-balancing binary trees and a PyCon 2024 proposal." -date: "2024-06-24" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 5". It is included here as a source-linked entry with credit to the author. - -The update covers self-balancing binary tree work and notes the submission of a PyCon 2024 proposal related to the project. - -**Original source:** [GSoC '24 Week 5](https://kishan-ved.github.io/portfolio/blog/week5) - diff --git a/src/content/blog/kishan-gsoc-24-week-6.mdx b/src/content/blog/kishan-gsoc-24-week-6.mdx deleted file mode 100644 index 8ae97bf..0000000 --- a/src/content/blog/kishan-gsoc-24-week-6.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 6" -description: "Kishan Ved reports on Red Black Trees and Binary Indexed Trees for PyDataStructs." -date: "2024-07-01" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 6". It is included here as a source-linked entry with credit to the author. - -The update covers progress on Red Black Trees and Binary Indexed Trees in the PyDataStructs codebase. - -**Original source:** [GSoC '24 Week 6](https://kishan-ved.github.io/portfolio/blog/week6) - diff --git a/src/content/blog/kishan-gsoc-24-week-7.mdx b/src/content/blog/kishan-gsoc-24-week-7.mdx deleted file mode 100644 index 4b674d9..0000000 --- a/src/content/blog/kishan-gsoc-24-week-7.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 7" -description: "Kishan Ved reports on Splay Tree backend progress for PyDataStructs." -date: "2024-07-08" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 7". It is included here as a source-linked entry with credit to the author. - -The update focuses on C++ backend progress for Splay Trees during the seventh week of Kishan's Google Summer of Code project. - -**Original source:** [GSoC '24 Week 7](https://kishan-ved.github.io/portfolio/blog/week7) - diff --git a/src/content/blog/kishan-gsoc-24-week-8.mdx b/src/content/blog/kishan-gsoc-24-week-8.mdx deleted file mode 100644 index c541752..0000000 --- a/src/content/blog/kishan-gsoc-24-week-8.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 8" -description: "Kishan Ved reports on Splay Tree backend work and the start of AVL Tree implementation." -date: "2024-07-15" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 8". It is included here as a source-linked entry with credit to the author. - -The update records completion of C++ backend work for Splay Trees and the start of AVL Tree implementation. - -**Original source:** [GSoC '24 Week 8](https://kishan-ved.github.io/portfolio/blog/week8) - diff --git a/src/content/blog/kishan-gsoc-24-week-9.mdx b/src/content/blog/kishan-gsoc-24-week-9.mdx deleted file mode 100644 index 64d31cf..0000000 --- a/src/content/blog/kishan-gsoc-24-week-9.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "GSoC '24 Week 9" -description: "Kishan Ved reports on AVL Tree backend work and lightweight testing features." -date: "2024-07-22" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "PyDataStructs", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "GSoC '24 Week 9". It is included here as a source-linked entry with credit to the author. - -The update covers C++ backend work for AVL Trees and a lightweight testing feature developed during the GSoC period. - -**Original source:** [GSoC '24 Week 9](https://kishan-ved.github.io/portfolio/blog/week9) - diff --git a/src/content/blog/kishan-my-google-summer-of-code-journey.mdx b/src/content/blog/kishan-my-google-summer-of-code-journey.mdx deleted file mode 100644 index 1e63a68..0000000 --- a/src/content/blog/kishan-my-google-summer-of-code-journey.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "My Google Summer of Code Journey" -description: "Kishan Ved recounts his open-source path from first contribution to Google Summer of Code." -date: "2024-09-02" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "Open Source", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "My Google Summer of Code Journey". It is included here as a source-linked entry with credit to the author. - -The post looks back at Kishan's open-source journey, tracing the path from early contributions to his Google Summer of Code work. - -**Original source:** [My Google Summer of Code Journey](https://kishan-ved.github.io/portfolio/blog/my_gsoc_journey) - diff --git a/src/content/blog/kishan-my-gsoc-2024-project.mdx b/src/content/blog/kishan-my-gsoc-2024-project.mdx deleted file mode 100644 index 04b249e..0000000 --- a/src/content/blog/kishan-my-gsoc-2024-project.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "My GSoC 2024 Project" -description: "Kishan Ved introduces his Google Summer of Code 2024 project, organization, and proposal." -date: "2024-05-01" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "Open Source", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "My GSoC 2024 Project". It is included here as a source-linked entry with credit to the author. - -The post introduces Kishan's Google Summer of Code 2024 project, the participating organization, and the proposal context. - -**Original source:** [My GSoC 2024 Project](https://kishan-ved.github.io/portfolio/blog/my_gsoc) - diff --git a/src/content/blog/kishan-my-gsoc-progress.mdx b/src/content/blog/kishan-my-gsoc-progress.mdx deleted file mode 100644 index 0207c1e..0000000 --- a/src/content/blog/kishan-my-gsoc-progress.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "My GSoC Progress" -description: "Kishan Ved collects progress notes from his Google Summer of Code 2024 work." -date: "2024-06-14" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "Open Source", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "My GSoC Progress". It is included here as a source-linked entry with credit to the author. - -The post collects progress notes from Kishan's Google Summer of Code 2024 project and gives a broader view of the implementation timeline. - -**Original source:** [My GSoC Progress](https://kishan-ved.github.io/portfolio/blog/gsoc-progress) - diff --git a/src/content/blog/kishan-pycon-2024-proposal.mdx b/src/content/blog/kishan-pycon-2024-proposal.mdx deleted file mode 100644 index cc9d9bc..0000000 --- a/src/content/blog/kishan-pycon-2024-proposal.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "PyCon 2024 Proposal" -description: "Kishan Ved shares his PyCon 2024 proposal connected to GSoC work on PyDataStructs." -date: "2024-06-20" -author: - name: "Kishan Ved" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["PyCon", "GSoC", "Kishan Ved"] -draft: true ---- - -This archive entry points to Kishan Ved's original post, "PyCon 2024 Proposal". It is included here as a source-linked entry with credit to the author. - -The post shares Kishan's proposal for PyCon 2024 in Bengaluru, connected to his PyDataStructs work during Google Summer of Code 2024. - -**Original source:** [PyCon 2024 Proposal](https://kishan-ved.github.io/portfolio/blog/PyCon_proposal) - diff --git a/src/content/blog/kvs-computer-science-teacher-training-2018.mdx b/src/content/blog/kvs-computer-science-teacher-training-2018.mdx index 4c3f824..58ee394 100644 --- a/src/content/blog/kvs-computer-science-teacher-training-2018.mdx +++ b/src/content/blog/kvs-computer-science-teacher-training-2018.mdx @@ -6,7 +6,7 @@ author: name: 'Center for Creative Learning, IIT Gandhinagar' image: '/favicon/web-app-manifest-192x192.png' tags: ['Outreach', 'Teacher Training', 'School Education', 'Python', 'CCL'] -coverImage: '/images/blog/title-cards/kvs-computer-science-teacher-training-2018-light.png' +coverImage: '/images/blog/kvs-cs-pgt-2018/kvs-cs-pgt-2018-01.png' --- ![KVS Computer Science PGT teachers and facilitators at IIT Gandhinagar](/images/blog/kvs-cs-pgt-2018/kvs-cs-pgt-2018-01.png) diff --git a/src/content/blog/nilay-gsoc-2025-week-1-community-bonding-begins.mdx b/src/content/blog/nilay-gsoc-2025-week-1-community-bonding-begins.mdx deleted file mode 100644 index 12970ae..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-1-community-bonding-begins.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 1 - Community Bonding Begins" -description: "Nilay Verma opens the community bonding phase of his MDAnalysis ProLIF GSoC project." -date: "2025-05-19" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 1 - Community Bonding Begins". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on the start of the community bonding phase. - -**Original source:** [Week 1 - Community Bonding Begins](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%201/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-2-community-connections-pr-complete.mdx b/src/content/blog/nilay-gsoc-2025-week-2-community-connections-pr-complete.mdx deleted file mode 100644 index cbdfeda..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-2-community-connections-pr-complete.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 2 - Community Connections and PR Complete" -description: "Nilay Verma reports on community connections and a completed pull request during the GSoC bonding phase." -date: "2025-05-26" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 2 - Community Connections and PR Complete". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on community bonding and a completed pull request. - -**Original source:** [Week 2 - Community Connections and PR Complete](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%202/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-3-quiet-momentum.mdx b/src/content/blog/nilay-gsoc-2025-week-3-quiet-momentum.mdx deleted file mode 100644 index 86fb2e7..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-3-quiet-momentum.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 3 - Quiet Momentum" -description: "Nilay Verma reports on exploring the codebase during the community bonding phase of his GSoC project." -date: "2025-06-02" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 3 - Quiet Momentum: Exploring the Codebase". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on exploring the project codebase. - -**Original source:** [Week 3 - Quiet Momentum: Exploring the Codebase](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%203/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-4-smarter-coordinates.mdx b/src/content/blog/nilay-gsoc-2025-week-4-smarter-coordinates.mdx deleted file mode 100644 index 9e58820..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-4-smarter-coordinates.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 4 - Smarter Coordinates" -description: "Nilay Verma reports on using interaction context to guide residue placement in his MDAnalysis ProLIF GSoC project." -date: "2025-06-09" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 4 - Smarter Coordinates: Guiding Residue Placement with Interaction Context". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on using interaction context to guide residue placement. - -**Original source:** [Week 4 - Smarter Coordinates: Guiding Residue Placement with Interaction Context](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%204/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx.mdx b/src/content/blog/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx.mdx deleted file mode 100644 index c057631..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-5-hybrid-layout-custom-anchors-networkx.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 5 - Hybrid Layout with Custom Anchors and NetworkX" -description: "Nilay Verma reports on hybrid layout work, custom anchors, and NetworkX in his MDAnalysis ProLIF GSoC project." -date: "2025-06-16" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 5 - Hybrid Layout with Custom Anchors and NetworkX". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on hybrid layout work with custom anchors and NetworkX. - -**Original source:** [Week 5 - Hybrid Layout with Custom Anchors and NetworkX](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%205/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates.mdx b/src/content/blog/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates.mdx deleted file mode 100644 index 68a96fe..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-6-export-tests-and-residue-coordinates.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 6 - Export Tests and Residue Coordinates" -description: "Nilay Verma reports on export tests and residue coordinate work in his MDAnalysis ProLIF GSoC project." -date: "2025-06-23" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 6 - Export Tests and Residue Coordinates". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on export tests and residue coordinate handling. - -**Original source:** [Week 6 - Export Tests and Residue Coordinates](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%206/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-7-testing-residue-coordinates.mdx b/src/content/blog/nilay-gsoc-2025-week-7-testing-residue-coordinates.mdx deleted file mode 100644 index fb74c8b..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-7-testing-residue-coordinates.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 7 - Testing Residue Coordinates" -description: "Nilay Verma reports on testing residue coordinate handling in his MDAnalysis ProLIF GSoC project." -date: "2025-06-30" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 7 - Testing Residue Coordinates". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on residue coordinate testing. - -**Original source:** [Week 7 - Testing Residue Coordinates](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%207/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements.mdx b/src/content/blog/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements.mdx deleted file mode 100644 index 480642c..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-8-modularizing-and-algorithm-improvements.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 8 - Modularizing and Algorithm Improvements" -description: "Nilay Verma reports on modularization and algorithm improvements in his MDAnalysis ProLIF GSoC project." -date: "2025-07-07" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 8 - Modularizing and Algorithm Improvements". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on code modularization and algorithm improvements. - -**Original source:** [Week 8 - Modularizing and Algorithm Improvements](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%208/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm.mdx b/src/content/blog/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm.mdx deleted file mode 100644 index 518a919..0000000 --- a/src/content/blog/nilay-gsoc-2025-week-9-testing-and-refining-placement-algorithm.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Week 9 - Testing and Refining the Placement Algorithm" -description: "Nilay Verma reports on testing and refining a placement algorithm for the MDAnalysis ProLIF GSoC project." -date: "2025-07-14" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Week 9 - Testing and Refining the Placement Algorithm". It is included here as a source-linked entry with credit to the author. - -The post is part of Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF, focusing here on testing and refining the placement algorithm. - -**Original source:** [Week 9 - Testing and Refining the Placement Algorithm](https://nilay-v3rma.github.io/gsoc-blog/posts/Week%209/index.html) - diff --git a/src/content/blog/nilay-gsoc-2025-welcome-drawing-bonds-that-matter.mdx b/src/content/blog/nilay-gsoc-2025-welcome-drawing-bonds-that-matter.mdx deleted file mode 100644 index c495151..0000000 --- a/src/content/blog/nilay-gsoc-2025-welcome-drawing-bonds-that-matter.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Drawing Bonds That Matter - Welcome" -description: "Nilay Verma introduces his GSoC 2025 project with MDAnalysis and ProLIF." -date: "2025-05-10" -author: - name: "Nilay Verma" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["GSoC", "MDAnalysis", "Nilay Verma"] -draft: true ---- - -This archive entry points to Nilay Verma's original post, "Drawing Bonds That Matter - Welcome". It is included here as a source-linked entry with credit to the author. - -The post introduces Nilay's GSoC 2025 blog on drawing molecular interaction bonds with MDAnalysis and ProLIF. - -**Original source:** [Drawing Bonds That Matter - Welcome](https://nilay-v3rma.github.io/gsoc-blog/posts/welcome/index.html) - diff --git a/src/content/blog/progyan-notes-on-distributed-training.mdx b/src/content/blog/progyan-notes-on-distributed-training.mdx deleted file mode 100644 index 47f5d39..0000000 --- a/src/content/blog/progyan-notes-on-distributed-training.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Notes on Distributed Training" -description: "Progyan Das collects notes on the practical and conceptual structure of distributed model training." -date: "2026-01-27" -author: - name: "Progyan Das" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Machine Learning Systems", "Language Models", "Progyan Das"] -draft: true ---- - -This archive entry points to Progyan Das's original post, "Notes on Distributed Training". It is included here as a source-linked entry with credit to the author. - -The post gathers notes around distributed training, with attention to the systems ideas and implementation tradeoffs that shape large-scale machine learning workloads. - -**Original source:** [Notes on Distributed Training](https://plugyawn.com/distributed-training/) - diff --git a/src/content/blog/progyan-notes-on-language-models.mdx b/src/content/blog/progyan-notes-on-language-models.mdx deleted file mode 100644 index 01772b9..0000000 --- a/src/content/blog/progyan-notes-on-language-models.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Notes on Language Models" -description: "Progyan Das collects notes on language models, their behavior, and how to think about them." -date: "2025-12-20" -author: - name: "Progyan Das" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Language Models", "AI", "Progyan Das"] -draft: true ---- - -This archive entry points to Progyan Das's original post, "Notes on Language Models". It is included here as a source-linked entry with credit to the author. - -The post gathers observations on language models and the questions that come up when studying their capabilities, limits, and internal behavior. - -**Original source:** [Notes on Language Models](https://plugyawn.com/language-models-contd/) - diff --git a/src/content/blog/progyan-softer-software.mdx b/src/content/blog/progyan-softer-software.mdx deleted file mode 100644 index 190c72b..0000000 --- a/src/content/blog/progyan-softer-software.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Softer Software" -description: "Progyan Das reflects on language, software, and gentler ways of shaping computational systems." -date: "2026-03-27" -author: - name: "Progyan Das" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Essays", "Software", "Progyan Das"] -draft: true ---- - -This archive entry points to Progyan Das's original post, "Softer Software". It is included here as a source-linked entry with credit to the author. - -The post reflects on language as a medium for writing, shaping, and maintaining software systems, and on how gentler interfaces can change the way programmers work with code. - -**Original source:** [Softer Software](https://plugyawn.com/language-as-software/) - diff --git a/src/content/blog/progyan-we-can-be-more-than-wizards.mdx b/src/content/blog/progyan-we-can-be-more-than-wizards.mdx deleted file mode 100644 index d0c509d..0000000 --- a/src/content/blog/progyan-we-can-be-more-than-wizards.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "We can be more than Wizards" -description: "Progyan Das writes about craft, agency, and building technology beyond mystique." -date: "2026-03-27" -author: - name: "Progyan Das" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Essays", "Software", "Progyan Das"] -draft: true ---- - -This archive entry points to Progyan Das's original post, "We can be more than Wizards". It is included here as a source-linked entry with credit to the author. - -The essay frames computing as a practice that can be clearer and more grounded than technical mystique, while still preserving a sense of ambition and imagination. - -**Original source:** [We can be more than Wizards](https://plugyawn.com/we-can-be-more-than-wizards/) - diff --git a/src/content/blog/progyan-why-i-like-really-big-models.mdx b/src/content/blog/progyan-why-i-like-really-big-models.mdx deleted file mode 100644 index d7091b7..0000000 --- a/src/content/blog/progyan-why-i-like-really-big-models.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "Why I like Really Big Models" -description: "Progyan Das discusses why very large language models can be interesting from an evaluation and training perspective." -date: "2026-03-27" -author: - name: "Progyan Das" - image: "/favicon/web-app-manifest-192x192.png" -tags: ["Language Models", "AI", "Progyan Das"] -draft: true ---- - -This archive entry points to Progyan Das's original post, "Why I like Really Big Models". It is included here as a source-linked entry with credit to the author. - -The post explores why scaling can matter for language models, connecting evaluation, stochastic behavior, reinforcement learning, and the possibility of richer model behavior at larger scales. - -**Original source:** [Why I like Really Big Models](https://plugyawn.com/really-big-models/) - diff --git a/src/content/blog/python-is-not-an-acceptable-ml.mdx b/src/content/blog/python-is-not-an-acceptable-ml.mdx index bad90fb..8e81e5d 100644 --- a/src/content/blog/python-is-not-an-acceptable-ml.mdx +++ b/src/content/blog/python-is-not-an-acceptable-ml.mdx @@ -6,7 +6,7 @@ author: name: 'Balagopal Komarath' image: '/favicon/web-app-manifest-192x192.png' tags: ['Programming Languages', 'Teaching', 'OCaml', 'Python'] -coverImage: '/images/blog/title-cards/python-is-not-an-acceptable-ml-light.png' +coverImage: '/images/course-resources/theory-of-computing.png' --- Python is a popular fixture in introductory programming courses. Its adoption is mainly driven by two reasons: its popularity in scientific computing and industry, and its perceived readability. diff --git a/src/data/events.ts b/src/data/events.ts index 303c686..c99cb04 100644 --- a/src/data/events.ts +++ b/src/data/events.ts @@ -39,21 +39,6 @@ export const EVENT_CATEGORY_STYLES: Record = { }; export const departmentEvents: DepartmentEvent[] = [ - { - id: "theory-day-foundations-cs-2026", - title: "Theory Day: Foundations of Computer Science", - category: "symposium", - year: 2026, - displayDate: "17 Jun 2026", - startDate: "2026-06-17", - organizer: "Department of Computer Science & Engineering, IIT Gandhinagar", - description: - "A one-day Theory Day focused on foundations of computer science. The schedule, talk titles, and abstracts will be announced soon.", - source: "CSE archive", - sourceLabel: "Event page", - sourceUrl: "/events/theory-day-2026", - featured: true, - }, { id: "ai-day-2026", title: "AI Day", diff --git a/src/data/faculty.ts b/src/data/faculty.ts index 3e10499..3867068 100644 --- a/src/data/faculty.ts +++ b/src/data/faculty.ts @@ -6,23 +6,6 @@ export type FacultyCategory = | 'teaching' | 'guest'; -export type FacultyProfileLinkType = - | 'website' - | 'scholar' - | 'dblp' - | 'github' - | 'youtube' - | 'linkedin' - | 'x' - | 'mastodon' - | 'profile'; - -export interface FacultyProfileLink { - type: FacultyProfileLinkType; - label: string; - url: string; -} - export interface FacultyMember { name: string; designation: string; @@ -33,7 +16,6 @@ export interface FacultyMember { researchAreas: string[]; dateOfJoining: string; homepage?: string; - links?: FacultyProfileLink[]; } export const FACULTY: FacultyMember[] = [ @@ -46,18 +28,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: [], dateOfJoining: '2022-10-03', homepage: 'https://iitgn.ac.in/faculty/cse/fac-rajat-moona', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://www.cse.iitk.ac.in/users/moona/', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/16/2265', - }, - ], }, { name: 'Anirban Dasgupta', @@ -67,23 +37,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering', 'Artificial Intelligence'], dateOfJoining: '2013-12-30', homepage: 'https://iitgn.ac.in/faculty/cse/fac-anirban', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://sites.google.com/site/anirbandasgupta', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=plJC8R0AAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/54/385-1', - }, - ], }, { name: 'Bireswar Das', @@ -93,23 +46,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering'], dateOfJoining: '2010-06-28', homepage: 'https://iitgn.ac.in/faculty/cse/fac-bireswar', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://sites.google.com/site/bireswar/home', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=RcBEsucAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/93/3858', - }, - ], }, { name: 'Neeldhara Misra', @@ -119,43 +55,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering', 'Artificial Intelligence'], dateOfJoining: '2015-09-23', homepage: 'https://iitgn.ac.in/faculty/cse/fac-neeldhara', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://www.neeldhara.com/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=XFgieDYAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/85/6789', - }, - { - type: 'github', - label: 'GitHub', - url: 'https://github.com/neeldhara', - }, - { - type: 'youtube', - label: 'YouTube', - url: 'https://www.youtube.com/c/NeeldharaMisra42', - }, - { - type: 'linkedin', - label: 'LinkedIn', - url: 'https://www.linkedin.com/in/neeldhara-misra-a54b6920/', - }, - { - type: 'mastodon', - label: 'Mastodon', - url: 'https://mathstodon.xyz/@neeldhara', - }, - ], }, { name: 'Nipun Batra', @@ -166,43 +65,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering', 'Artificial Intelligence'], dateOfJoining: '2018-07-09', homepage: 'https://iitgn.ac.in/faculty/cse/fac-nipun', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://nipunbatra.github.io/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.co.in/citations?hl=en&oi=ao&user=rFGzHlIAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/19/2128', - }, - { - type: 'github', - label: 'GitHub', - url: 'https://github.com/nipunbatra', - }, - { - type: 'youtube', - label: 'YouTube', - url: 'https://www.youtube.com/@NipunBatra0', - }, - { - type: 'linkedin', - label: 'LinkedIn', - url: 'https://www.linkedin.com/in/nipunbatra0/', - }, - { - type: 'x', - label: 'X', - url: 'https://twitter.com/nipun_batra', - }, - ], }, { name: 'Manoj D Gupta', @@ -212,23 +74,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering'], dateOfJoining: '2016-01-18', homepage: 'https://iitgn.ac.in/faculty/cse/fac-manoj', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://gmanoj.people.iitgn.ac.in/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=jt38uQ8AAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/05/5157', - }, - ], }, { name: 'Mayank Singh', @@ -238,28 +83,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering', 'Artificial Intelligence'], dateOfJoining: '2019-02-06', homepage: 'https://iitgn.ac.in/faculty/cse/fac-mayank', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://mayank4490.github.io/', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/96/4770', - }, - { - type: 'x', - label: 'Lingo Labs on X', - url: 'https://twitter.com/lingoiitgn', - }, - { - type: 'linkedin', - label: 'Lingo Labs on LinkedIn', - url: 'https://in.linkedin.com/company/lingo-labs-iitgn', - }, - ], }, { name: 'Sameer G Kulkarni', @@ -270,23 +93,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering', 'Electrical Engineering'], dateOfJoining: '2020-04-03', homepage: 'https://iitgn.ac.in/faculty/cse/fac-sameer', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://sameergk.github.io/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=CnPfKYUAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/185/5705', - }, - ], }, { name: 'Balagopal Komarath', @@ -296,23 +102,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering'], dateOfJoining: '2020-12-21', homepage: 'https://iitgn.ac.in/faculty/cse/fac-balagopal', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://bkomarath.rbgo.in/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=uTv7Dl4AAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/124/2629', - }, - ], }, { name: 'Abhishek Bichhawat', @@ -322,23 +111,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering'], dateOfJoining: '2021-03-30', homepage: 'https://iitgn.ac.in/faculty/cse/fac-abhishek', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://people.iitgn.ac.in/~abhishek/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=qJavKW4AAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/61/10308', - }, - ], }, { name: 'Yogesh Kumar Meena', @@ -352,23 +124,6 @@ export const FACULTY: FacultyMember[] = [ ], dateOfJoining: '2023-02-14', homepage: 'https://iitgn.ac.in/faculty/cse/fac-yogesh', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://yogeshmeena.com/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.it/citations?hl=en&user=5xxepFkAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/66/10604', - }, - ], }, { name: 'Shouvick Mondal', @@ -378,23 +133,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering'], dateOfJoining: '2023-02-01', homepage: 'https://iitgn.ac.in/faculty/cse/fac-shouvick', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://sites.google.com/view/shouvick', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=QtsJ2pUAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/167/4011', - }, - ], }, { name: 'Manisha Padala', @@ -404,23 +142,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: [], dateOfJoining: '2024-03-26', homepage: 'https://iitgn.ac.in/faculty/cse/fac-manisha', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://sites.google.com/view/manishapadala/home', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=xV1WKDkAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/213/8101', - }, - ], }, // --- Affiliated Faculty --- @@ -437,23 +158,6 @@ export const FACULTY: FacultyMember[] = [ ], dateOfJoining: '2013-05-20', homepage: 'https://iitgn.ac.in/faculty/ee/fac-shanmuganathan', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://people.iitgn.ac.in/~shanmuga/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=3YWptB8AAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/70/4688', - }, - ], }, { name: 'Udit Bhatia', @@ -464,18 +168,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Civil Engineering', 'Artificial Intelligence', 'Earth Sciences'], dateOfJoining: '2019-01-17', homepage: 'https://iitgn.ac.in/faculty/civil/fac-udit', - links: [ - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=tYqY-VoAAAAJ', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/199/7860', - }, - ], }, // --- Teaching Faculty --- { @@ -487,13 +179,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: ['Computer Science and Engineering'], dateOfJoining: '2024-03-11', homepage: 'https://iitgn.ac.in/faculty/cse/fac-jyothi', - links: [ - { - type: 'profile', - label: 'CCL profile', - url: 'https://ccl.iitgn.ac.in/ccl-team/jyothi-krishnan', - }, - ], }, // --- Practice Faculty --- @@ -506,28 +191,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: [], dateOfJoining: '2025-12-12', homepage: 'https://iitgn.ac.in/faculty/cse/fac-manu', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://manuawasthi.in/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=AaMBbMMAAAAJ', - }, - { - type: 'x', - label: 'X', - url: 'https://twitter.com/mnwsth', - }, - { - type: 'linkedin', - label: 'LinkedIn', - url: 'https://linkedin.com/in/manuawasthi', - }, - ], }, { name: 'Anup Kalbalia', @@ -537,13 +200,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: [], dateOfJoining: '2026-02-02', homepage: 'https://iitgn.ac.in/faculty/cse/fac-anup', - links: [ - { - type: 'linkedin', - label: 'LinkedIn', - url: 'https://www.linkedin.com/in/anup-kalbalia-66387b22/', - }, - ], }, // --- Visiting / Guest Faculty --- @@ -563,18 +219,6 @@ export const FACULTY: FacultyMember[] = [ primaryDepartment: 'Computer Science and Engineering', researchAreas: [], dateOfJoining: '2025-03-01', - links: [ - { - type: 'profile', - label: 'IIT Guwahati profile', - url: 'https://www.iitg.ac.in/iitg_faculty_details?fac=bUJwSThqUnkyTE5MdXBJY0I3d0liQT09', - }, - { - type: 'website', - label: 'Personal website', - url: 'https://www.iitg.ernet.in/samit/', - }, - ], }, { name: 'Venkatesh Raman', @@ -584,18 +228,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: [], dateOfJoining: '2025-10-17', homepage: 'https://iitgn.ac.in/faculty/guestprof/fac-venkatesh_raman', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://www.imsc.res.in/~vraman/', - }, - { - type: 'dblp', - label: 'DBLP', - url: 'https://dblp.org/pid/25/2134', - }, - ], }, { name: 'Viraj Shah', @@ -604,23 +236,6 @@ export const FACULTY: FacultyMember[] = [ primaryDepartment: 'Computer Science and Engineering', researchAreas: [], dateOfJoining: '2026-01-05', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://virajshah.com/', - }, - { - type: 'scholar', - label: 'Google Scholar', - url: 'https://scholar.google.com/citations?hl=en&user=am47A6YAAAAJ', - }, - { - type: 'linkedin', - label: 'LinkedIn', - url: 'https://linkedin.com/in/virajshah018', - }, - ], }, { name: 'Madhavan Unnikrishnan Nair', @@ -638,13 +253,6 @@ export const FACULTY: FacultyMember[] = [ researchAreas: [], dateOfJoining: '2025-01-01', homepage: 'https://iitgn.ac.in/faculty/guestprof/yuvraj_patel', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://homepages.inf.ed.ac.uk/ypatel/', - }, - ], }, { name: 'Subir Verma', @@ -670,13 +278,6 @@ export const FACULTY: FacultyMember[] = [ primaryDepartment: 'Computer Science and Engineering', researchAreas: [], dateOfJoining: '2025-12-17', - links: [ - { - type: 'website', - label: 'Personal website', - url: 'https://www.csa.iisc.ac.in/~gopi/', - }, - ], }, ]; diff --git a/src/data/news.ts b/src/data/news.ts index 0d83d88..dd9bda8 100644 --- a/src/data/news.ts +++ b/src/data/news.ts @@ -3,8 +3,7 @@ export type NewsCategory = | "research" | "award" | "event" - | "infrastructure" - | "service"; + | "infrastructure"; export type NewsStatus = "confirmed" | "achievement"; @@ -20,7 +19,6 @@ export interface DepartmentNewsItem { sourceLabel: string; sourceUrl: string; homepage?: boolean; - featured?: boolean; } export const CATEGORY_LABELS: Record = { @@ -29,7 +27,6 @@ export const CATEGORY_LABELS: Record = { award: "Award", event: "Event", infrastructure: "Infrastructure", - service: "Service", }; export const STATUS_LABELS: Record = { @@ -38,208 +35,6 @@ export const STATUS_LABELS: Record = { }; export const departmentNews: DepartmentNewsItem[] = [ - { - id: "abhishek-asiaccs-2026-track-chair", - title: "Prof. Abhishek Bichhawat named AsiaCCS 2026 track co-chair", - summary: - "Prof. Bichhawat is track co-chair for Software Security, Formal Methods, and Programming Languages at ACM AsiaCCS 2026 in Bengaluru.", - people: "Prof. Abhishek Bichhawat", - displayDate: "June 2026", - date: "2026-06-01", - category: "service", - status: "confirmed", - sourceLabel: "ACM AsiaCCS 2026 Program Committee", - sourceUrl: "https://asiaccs2026.cse.iitkgp.ac.in/program-committee/", - }, - { - id: "abhishek-acm-summer-school-systems-ml-2026", - title: - "Prof. Abhishek Bichhawat serves as academic coordinator for ACM India Summer School on Systems for ML", - summary: - "The VIT-hosted ACM India summer school runs from 1-12 June 2026 and covers scalable ML systems, deep learning infrastructure, hardware accelerators, distributed ML, Edge AI, ML compilers, and explainable AI.", - people: "Prof. Abhishek Bichhawat", - displayDate: "June 2026", - date: "2026-06-01", - category: "service", - status: "confirmed", - sourceLabel: "VIT brochure", - sourceUrl: "https://vit.ac.in/wp-content/uploads/2026/05/ACM_VIT-brochure-U3.pdf", - }, - { - id: "abhishek-acm-indics-secure-usable-systems-2026", - title: - "Prof. Abhishek Bichhawat organizes ACM IndiCS workshop on secure and usable systems", - summary: - "The 2026 ACM IndiCS workshop focuses on designing secure and usable systems for humans, connecting security, privacy, HCI, and systems perspectives.", - people: "Prof. Abhishek Bichhawat", - displayDate: "2026", - date: "2026-06-01", - category: "service", - status: "confirmed", - sourceLabel: "ACM IndiCS", - sourceUrl: "https://india.acm.org/research/indics", - }, - { - id: "shanmuga-neurips-2026-area-chair", - title: "Prof. Shanmuganathan Raman serves as NeurIPS 2026 Area Chair", - summary: - "Prof. Raman is contributing to the NeurIPS 2026 main-track review process as an Area Chair.", - people: "Prof. Shanmuganathan Raman", - displayDate: "2026", - date: "2026-05-06", - category: "service", - status: "confirmed", - sourceLabel: "NeurIPS 2026 Main Track Handbook", - sourceUrl: "https://neurips.cc/Conferences/2026/MainTrackHandbook", - }, - { - id: "neeldhara-aamas-2026-area-chair", - title: "Prof. Neeldhara Misra serves as AAMAS 2026 Area Chair", - summary: - "Prof. Misra is listed as an Area Chair for the Game Theory and Economic Paradigms area at AAMAS 2026.", - people: "Prof. Neeldhara Misra", - displayDate: "2026", - date: "2026-05-25", - category: "service", - status: "confirmed", - sourceLabel: "AAMAS 2026 Area Chairs", - sourceUrl: "https://cyprusconferences.org/aamas2026/area-chairs/", - }, - { - id: "neeldhara-caldam-2026-pc-cochair", - title: "Prof. Neeldhara Misra serves as CALDAM 2026 PC co-chair", - summary: - "Prof. Misra and Prof. Arti Pandey are program committee co-chairs for the 12th International Conference on Algorithms and Discrete Applied Mathematics.", - people: "Prof. Neeldhara Misra and Prof. Arti Pandey", - displayDate: "Feb 2026", - date: "2026-02-12", - category: "service", - status: "confirmed", - sourceLabel: "CALDAM 2026 Committees", - sourceUrl: "https://caldam2026.iitdh.ac.in/committees", - }, - { - id: "abhishek-jcs-associate-editor-2026", - title: - "Prof. Abhishek Bichhawat joins Journal of Computer Security editorial board", - summary: - "The Journal of Computer Security editorial board lists Prof. Bichhawat among its Associate Editors.", - people: "Prof. Abhishek Bichhawat", - displayDate: "2026", - date: "2026-01-01", - category: "service", - status: "confirmed", - sourceLabel: "Journal of Computer Security editorial board", - sourceUrl: "https://journals.sagepub.com/editorial-board/JCU", - }, - { - id: "abhishek-plas-2025-pc-cochair", - title: "Prof. Abhishek Bichhawat serves as PLAS 2025 PC co-chair", - summary: - "PLAS 2025, the 20th Workshop on Programming Languages and Analysis for Security, was co-located with ACM CCS 2025 in Taipei.", - people: "Prof. Abhishek Bichhawat", - displayDate: "Oct 2025", - date: "2025-10-13", - category: "service", - status: "confirmed", - sourceLabel: "PLAS 2025", - sourceUrl: "https://plas25.github.io/", - }, - { - id: "neeldhara-ctis-2024-pc-cochair", - title: "Prof. Neeldhara Misra serves as CTiS 2024 PC co-chair", - summary: - "Prof. Misra was program committee co-chair for ACM India's Computational Thinking in Schools 2024 conference with Geeta Ghormade.", - people: "Prof. Neeldhara Misra and Geeta Ghormade", - displayDate: "Jul 2024", - date: "2024-07-05", - category: "service", - status: "confirmed", - sourceLabel: "CTiS 2024", - sourceUrl: "https://event.india.acm.org/ctis/ctis-2024/", - }, - { - id: "neeldhara-ipec-2023-pc-cochair", - title: "Prof. Neeldhara Misra serves as IPEC 2023 PC co-chair", - summary: - "Prof. Misra and Magnus Wahlström were program committee co-chairs for the 18th International Symposium on Parameterized and Exact Computation.", - people: "Prof. Neeldhara Misra and Magnus Wahlström", - displayDate: "Sep 2023", - date: "2023-09-06", - category: "service", - status: "confirmed", - sourceLabel: "IPEC 2023", - sourceUrl: "https://algo-conference.org/2023/ipec", - }, - { - id: "neeldhara-acmw-india-council", - title: "Prof. Neeldhara Misra serves on the ACM-W India Council", - summary: - "Prof. Misra has served as a member of the ACM-India ACM-W Council since 2019.", - people: "Prof. Neeldhara Misra", - displayDate: "2019-present", - date: "2026-01-01", - category: "service", - status: "confirmed", - sourceLabel: "IITGN faculty chair profile", - sourceUrl: "https://iitgn.ac.in/faculty/chairs/avss", - }, - { - id: "neeldhara-iarcs-council-2020-2023", - title: "Prof. Neeldhara Misra served on the IARCS Council", - summary: - "Prof. Misra served as a council member of the Indian Association for Research in Computing Science from 2020 to 2023.", - people: "Prof. Neeldhara Misra", - displayDate: "2020-23", - date: "2023-12-01", - category: "service", - status: "confirmed", - sourceLabel: "IARCS Council", - sourceUrl: "https://www.iarcs.org.in/about/council.php", - }, - { - id: "neeldhara-acm-internal-affairs-2020-2022", - title: "Prof. Neeldhara Misra served on the ACM Internal Affairs Committee", - summary: - "Prof. Misra served as a member of the ACM Internal Affairs Committee from 2020 to 2022.", - people: "Prof. Neeldhara Misra", - displayDate: "2020-22", - date: "2022-12-01", - category: "service", - status: "confirmed", - sourceLabel: "Neeldhara Misra CV", - sourceUrl: "https://www.neeldhara.com/CV.pdf", - }, - { - id: "neeldhara-acm-summer-winter-schools-steering", - title: - "Prof. Neeldhara Misra served on the ACM-India Summer and Winter Schools steering committee", - summary: - "Prof. Misra was a steering committee member for ACM-India Summer and Winter Schools from 2019 to 2022.", - people: "Prof. Neeldhara Misra", - displayDate: "2019-22", - date: "2022-12-01", - category: "service", - status: "confirmed", - sourceLabel: "ACM India Annual Report", - sourceUrl: - "https://www.acm.org/binaries/content/assets/about/annual-reports/india_council_fy-22.pdf", - }, - { - id: "neeldhara-algorithms-special-issue-2019", - title: - "Prof. Neeldhara Misra co-guest edited Algorithms special issue", - summary: - "Prof. Misra co-guest edited the Algorithms open-access special issue New Frontiers in Parameterized Complexity and Algorithms.", - people: "Prof. Neeldhara Misra, Frances Rosamond, and Meirav Zehavi", - displayDate: "2019", - date: "2019-09-30", - category: "service", - status: "confirmed", - sourceLabel: "Algorithms special issue", - sourceUrl: - "https://www.mdpi.com/journal/algorithms/special_issues/Parameterized_Complexity", - }, { id: "thermeval-kdd-2026", title: "ThermEval accepted at KDD 2026", @@ -282,6 +77,7 @@ export const departmentNews: DepartmentNewsItem[] = [ sourceLabel: "India Today", sourceUrl: "https://www.indiatoday.in/education-today/featurephilia/story/iit-gandhinagars-self-reliant-india-story-begins-in-classrooms-2869886-2026-02-18", + homepage: true, }, { id: "cvig-pollen-ai-2026", @@ -410,22 +206,6 @@ export const departmentNews: DepartmentNewsItem[] = [ sourceLabel: "IITGN Technical Council", sourceUrl: "https://technical-council.iitgn.tech/achievements", }, - { - id: "anirban-stoc-test-of-time-2024", - title: "Anirban Dasgupta receives ACM STOC 10-year Test of Time Award", - summary: - "The STOC 2024 award recognizes the lasting impact of the paper “A Sparse Johnson-Lindenstrauss Transform,” co-authored with Ravi Kumar and Tamás Sarlós.", - people: "Anirban Dasgupta, Ravi Kumar, and Tamás Sarlós", - displayDate: "2024", - date: "2024-06-21", - category: "award", - status: "confirmed", - sourceLabel: "Cornell Bowers CIS", - sourceUrl: - "https://bowers.cornell.edu/news-stories/faculty-and-alumni-receive-test-time-awards-stoc-2024", - homepage: true, - featured: true, - }, { id: "chitrabhasha-anrf", title: "Chitrabhasha receives ANRF Advanced Research Grant support", @@ -486,7 +266,7 @@ export const departmentNews: DepartmentNewsItem[] = [ id: "dharaben-acm-india-dda", title: "Dharaben R. Thakkar receives ACM India Doctoral Dissertation Award", summary: - "The ACM India dissertation award recognizes work advised by Prof. Bireswar Das.", + "The theoretical CSE dissertation award recognizes work advised by Prof. Bireswar Das.", people: "Dr. Dharaben R. Thakkar and Prof. Bireswar Das", displayDate: "2025", date: "2025-09-01", @@ -621,6 +401,4 @@ export const homepageNewsItems = sortByDateDesc( export const homepageAwardItems = sortByDateDesc( departmentNews.filter((item) => item.homepage && item.category === "award"), -) - .sort((a, b) => Number(Boolean(b.featured)) - Number(Boolean(a.featured))) - .slice(0, 5); +).slice(0, 4); diff --git a/src/data/phd-recent-graduates.ts b/src/data/phd-recent-graduates.ts deleted file mode 100644 index b8b8fa6..0000000 --- a/src/data/phd-recent-graduates.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { RESEARCH_SCHOLARS, RESEARCH_SCHOLAR_SOURCE } from './research-scholars'; - -export interface RecentPhDGraduate { - name: string; - directoryName: string; - program: 'Computer Science and Engineering' | 'Artificial Intelligence'; - joined: string; - email: string; - image: string; - thesisTitle: string; - defenseDate: string; - defenseDateTime: string; - supervisor: string; - summary: string; - source: string; -} - -type GraduateInput = Omit< - RecentPhDGraduate, - 'program' | 'joined' | 'email' | 'image' | 'source' ->; - -const getScholar = (directoryName: string) => { - const scholar = RESEARCH_SCHOLARS.find((item) => item.name === directoryName); - - if (!scholar) { - throw new Error(`Missing research scholar data for ${directoryName}`); - } - - return scholar; -}; - -const graduates: GraduateInput[] = [ - { - name: 'Jayesh Malaviya', - directoryName: 'Malaviya Jayesh Vallabhbhai', - thesisTitle: - 'Subset Selection for Scalable Machine Learning: Coresets, Sketching, and Statistical Guarantees', - defenseDate: '3 Jun 2026', - defenseDateTime: '2026-06-03T18:00:00+05:30', - supervisor: 'Anirban Dasgupta', - summary: - 'Scalable machine learning through coresets, sketching, and randomized numerical linear algebra.', - }, - { - name: 'Pritam Kadasi', - directoryName: 'Kadasi Pritam Shankaraiah', - thesisTitle: - 'Budget-Aware Decision Making for NLP: Annotation, Training and Data', - defenseDate: '3 Jun 2026', - defenseDateTime: '2026-06-03T17:30:00+05:30', - supervisor: 'Mayank Singh', - summary: - 'Natural language processing and large language models, with an emphasis on instruction tuning, multilingual AI, and resource-efficient model training.', - }, - { - name: 'Himanshu Beniwal', - directoryName: 'Himanshu Beniwal', - thesisTitle: 'Assessing Factuality and Toxicity in Large Language Models', - defenseDate: '18 May 2026', - defenseDateTime: '2026-05-18T09:00:00+05:30', - supervisor: 'Mayank Singh', - summary: - 'Factuality, toxicity, and safety assessment in multilingual large language models.', - }, - { - name: 'Prajwal Kumar Singh', - directoryName: 'Prajwal Kumar Singh', - thesisTitle: - 'Scalable Generative Vision and Neural Decoding: Connecting Machine and Human Perception', - defenseDate: '6 May 2026', - defenseDateTime: '2026-05-06T16:30:00+05:30', - supervisor: 'Shanmuganathan Raman', - summary: - 'Generative vision and neural decoding methods that connect machine and human perception.', - }, - { - name: 'Jinia Ghosh', - directoryName: 'Jinia Ghosh', - thesisTitle: - 'Graphs Defined on Groups: Complexity Theoretic and Algorithmic Aspects', - defenseDate: '29 Apr 2026', - defenseDateTime: '2026-04-29T10:00:00+05:30', - supervisor: 'Bireswar Das', - summary: - 'Complexity-theoretic and algorithmic aspects of graphs defined in terms of groups.', - }, - { - name: 'Anant Kumar', - directoryName: 'Anant Kumar', - thesisTitle: - 'On Graph Isomorphism for Power Graphs and Subgraph Counting in Sparse Graphs', - defenseDate: '24 Mar 2026', - defenseDateTime: '2026-03-24T21:30:00+05:30', - supervisor: 'Bireswar Das', - summary: - 'Graph isomorphism for power graphs and subgraph counting in sparse graphs.', - }, - { - name: 'Zeel B Patel', - directoryName: 'Patel Zeel Bharatkumar', - thesisTitle: 'AI for Air Quality: Modeling, Sensor Placement and Source Detection', - defenseDate: '4 Feb 2026', - defenseDateTime: '2026-02-04T17:00:00+05:30', - supervisor: 'Nipun Batra', - summary: - 'AI for social good and air-quality systems, including modeling, sensor placement, and source detection.', - }, -]; - -export const RECENT_PHD_GRADUATES: RecentPhDGraduate[] = graduates - .map((graduate) => { - const scholar = getScholar(graduate.directoryName); - - return { - ...graduate, - program: scholar.program, - joined: scholar.joined, - email: scholar.email, - image: scholar.image, - source: RESEARCH_SCHOLAR_SOURCE, - }; - }) - .sort( - (a, b) => - new Date(b.defenseDateTime).getTime() - - new Date(a.defenseDateTime).getTime(), - ); diff --git a/src/data/research-area-pages.ts b/src/data/research-area-pages.ts deleted file mode 100644 index d4299fb..0000000 --- a/src/data/research-area-pages.ts +++ /dev/null @@ -1,819 +0,0 @@ -export type ResearchAreaSlug = - | 'ai' - | 'theory' - | 'security' - | 'data-science' - | 'systems' - | 'hci'; - -export type ResearchAreaFaculty = { - name: string; - title: string; - focus: string; - profile?: string; -}; - -export type ResearchAreaWork = { - title: string; - detail: string; - href?: string; -}; - -export type ResearchAreaVideo = { - title: string; - href: string; - embedUrl: string; -}; - -export type ResearchAreaPage = { - slug: ResearchAreaSlug; - title: string; - shortTitle: string; - description: string; - accent: { - foreground: string; - soft: string; - background: string; - header: string; - border: string; - }; - heroImage: { - src: string; - alt: string; - caption: string; - }; - themes: string[]; - faculty: ResearchAreaFaculty[]; - publications: ResearchAreaWork[]; - projects: ResearchAreaWork[]; - sources: ResearchAreaWork[]; - featuredVideo?: ResearchAreaVideo; -}; - -export const RESEARCH_AREAS: Record = { - ai: { - slug: 'ai', - title: 'AI & Machine Learning', - shortTitle: 'AI & ML', - description: - 'Research in AI and machine learning spans multilingual NLP, computer vision, trustworthy and fair learning, AI for sustainability, and human-centred intelligent systems.', - accent: { - foreground: '#5572a3', - soft: '#e8eef7', - background: '#f5f8fc', - header: '#fbfcfe', - border: '#d8e2f0', - }, - heroImage: { - src: '/images/course-resources/machine-learning.png', - alt: 'Machine learning course visual', - caption: 'Models, data, language, vision, and deployment-minded AI.', - }, - featuredVideo: { - title: 'AI and machine learning at IIT Gandhinagar', - href: 'https://www.youtube.com/watch?v=sx1QhfZ4yMA', - embedUrl: 'https://www.youtube.com/embed/sx1QhfZ4yMA', - }, - themes: [ - 'Multilingual NLP and Indian-language AI', - 'Computer vision, graphics, and computational photography', - 'Efficient learning algorithms and graph ML', - 'Fair, federated, and trustworthy learning', - 'AI for sustainability, health, and assistive systems', - ], - faculty: [ - { - name: 'Mayank Singh', - title: 'Associate Professor', - focus: - 'Multilingual NLP, large language models, scientific text mining, and AI tools for research and education.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-mayank', - }, - { - name: 'Nipun Batra', - title: 'Associate Professor', - focus: - 'Machine learning for scalable sensing, smart buildings, air quality, health sensing, and computational sustainability.', - profile: 'https://nipunbatra.github.io/', - }, - { - name: 'Anirban Dasgupta', - title: 'Professor', - focus: - 'Algorithms and machine learning at scale, sketching, sampling, graph learning, and efficient ML pipelines.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-anirban', - }, - { - name: 'Yogesh Kumar Meena', - title: 'Assistant Professor', - focus: - 'Human-AI interaction, brain-computer interfaces, eye tracking, multimodal interaction, and assistive AI.', - profile: 'https://yogeshmeena.com/', - }, - { - name: 'Manisha Padala', - title: 'Assistant Professor', - focus: - 'Fairness, federated learning, differential privacy, strategic clients, and trustworthy distributed ML.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-manisha', - }, - { - name: 'Shanmuganathan Raman', - title: 'Professor', - focus: - 'Computer vision, deep learning, computational photography, image/video processing, and graphics.', - profile: 'https://shanmuga.people.iitgn.ac.in/', - }, - ], - publications: [ - { - title: - 'FIT-GNN: Faster Inference Time for GNNs that FIT in Memory Using Coarsening', - detail: 'TMLR 2026 - efficient graph neural-network inference.', - }, - { - title: - 'Gaslight, Gatekeep, V1-V3: Early Visual Cortex Alignment Shields Vision-Language Models from Sycophantic Manipulation', - detail: '2026 preprint - robustness and alignment for vision-language models.', - }, - { - title: - 'GF-Score: Certified Class-Conditional Robustness Evaluation with Fairness Guarantees', - detail: '2026 preprint - fairness-aware robustness assessment.', - }, - { - title: - 'MERLiN: Single-Shot Material Estimation and ReLighting for Photometric Stereo', - detail: 'ECCV 2024 - computer vision and inverse rendering.', - }, - ], - projects: [ - { - title: - "Chitrabhasha: Developing India's Largest Dataset and Foundation Models for Multimodal AI", - detail: 'ANRF Advanced Research Grant led by Mayank Singh.', - }, - { - title: - 'Scalable Detection of Brick Kilns from Low-Resolution Satellite Imagery for Environmental Compliance', - detail: 'ANRF project led by Nipun Batra.', - }, - { - title: - 'iGazeBuddy: Multimodal gaze-controlled learning system for dyslexia support', - detail: 'ANRF PMECRG project led by Yogesh Kumar Meena.', - }, - { - title: - 'Fair Federated Learning Framework in the Presence of Heterogeneous, Strategic, and Malicious Clients', - detail: 'ANRF early-career grant led by Manisha Padala.', - }, - ], - sources: [ - { - title: 'Lingo Labs research facilities entry', - detail: 'Public lab description for Mayank Singh and Lingo Labs.', - href: 'https://iitgn.ac.in/research/facilities', - }, - { - title: 'Nipun Batra homepage and Sustainability Lab', - detail: 'AI-powered sustainability and sensing research overview.', - href: 'https://nipunbatra.github.io/', - }, - { - title: 'Data Science Lab', - detail: 'Algorithms and machine learning for efficient ML pipelines.', - href: 'https://labs.iitgn.ac.in/datascience/', - }, - { - title: 'Shanmuganathan Raman homepage', - detail: 'Computer vision, graphics, and deep learning interests.', - href: 'https://shanmuga.people.iitgn.ac.in/', - }, - ], - }, - theory: { - slug: 'theory', - title: 'Theoretical Computer Science', - shortTitle: 'Theory', - description: - 'The theory group studies algorithms, complexity, graph problems, algebraic computation, quantum algorithms, computational social choice, and the foundations of efficient computation.', - accent: { - foreground: '#746099', - soft: '#eeeaf5', - background: '#f8f6fb', - header: '#fcfbfd', - border: '#ddd6e9', - }, - heroImage: { - src: '/images/course-resources/parameterized-algorithms.png', - alt: 'Parameterized algorithms course visual', - caption: 'Algorithms, lower bounds, graph structure, and computation.', - }, - featuredVideo: { - title: 'Theoretical computer science at IIT Gandhinagar', - href: 'https://www.youtube.com/watch?v=JqvVE67LiX8', - embedUrl: 'https://www.youtube.com/embed/JqvVE67LiX8', - }, - themes: [ - 'Parameterized and exact algorithms', - 'Graph algorithms and dynamic graph problems', - 'Computational complexity and algebraic computation', - 'Quantum algorithms and algebraic/combinatorial problems', - 'Computational social choice and games', - ], - faculty: [ - { - name: 'Neeldhara Misra', - title: 'Associate Professor', - focus: - 'Parameterized algorithms, computational social choice, combinatorial games, satisfiability, and graph problems.', - profile: 'https://www.neeldhara.com/', - }, - { - name: 'Manoj D Gupta', - title: 'Associate Professor', - focus: - 'Graph algorithms, dynamic graphs, shortest paths, and algorithmic graph theory.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-manoj', - }, - { - name: 'Bireswar Das', - title: 'Associate Professor', - focus: - 'Algorithms for algebraic and combinatorial problems, quantum algorithms, and complexity theory.', - profile: 'https://sites.google.com/site/bireswar/home', - }, - { - name: 'Balagopal Komarath', - title: 'Assistant Professor', - focus: - 'Computational complexity, algebraic complexity, circuit complexity, and low-level computational models.', - profile: 'https://bkomarath.rbgo.in/', - }, - { - name: 'Anirban Dasgupta', - title: 'Professor', - focus: - 'Randomized algorithms, sketching, large-scale data algorithms, and algorithmic foundations of machine learning.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-anirban', - }, - ], - publications: [ - { - title: 'Finding and counting patterns in sparse graphs', - detail: 'JCSS 2026 - graph algorithms and sparse graph structure.', - }, - { - title: 'On the Parameterized Complexity of Diverse SAT', - detail: 'Theoretical Computer Science 2026 - parameterized complexity.', - }, - { - title: - 'VP, VNP and Algebraic Branching Programs over Min-Plus Semirings', - detail: '2026 preprint - algebraic complexity over semirings.', - }, - { - title: 'Ferry Cover with Connectivity Constraints', - detail: 'FUN 2026 - algorithmic graph covering constraints.', - }, - ], - projects: [ - { - title: 'Approximate Shortest Paths in Graphs', - detail: 'ANRF ARG MATRICS project led by Manoj D Gupta.', - }, - { - title: 'Quantum Algorithms for Group Theoretic Problems', - detail: 'ANRF ARG MATRICS project led by Bireswar Das.', - }, - { - title: - 'On the Role of Multilinearity and Monotonicity in Algebraic Computation', - detail: 'ANRF ARG MATRICS project led by Balagopal Komarath.', - }, - ], - sources: [ - { - title: 'CSE research archive', - detail: 'Historical department research descriptions and faculty summaries.', - href: 'https://cs.iitgn.ac.in/research', - }, - { - title: 'Neeldhara Misra homepage', - detail: 'Algorithms, computational social choice, and games.', - href: 'https://www.neeldhara.com/', - }, - { - title: 'Balagopal Komarath homepage', - detail: 'Complexity theory and algorithms.', - href: 'https://bkomarath.rbgo.in/', - }, - { - title: 'Parameterized Algorithms NPTEL course', - detail: 'Public teaching material reflecting theory strengths.', - href: 'https://onlinecourses.nptel.ac.in/noc23_cs102/preview', - }, - ], - }, - security: { - slug: 'security', - title: 'Security & Privacy', - shortTitle: 'Security', - description: - 'Security and privacy research connects formal verification, language-based security, web privacy, usable consent systems, privacy-preserving machine learning, and trustworthy public-interest systems.', - accent: { - foreground: '#9b5a69', - soft: '#f5e8eb', - background: '#fbf6f7', - header: '#fdfbfb', - border: '#ead4da', - }, - heroImage: { - src: '/images/course-resources/operating-systems.png', - alt: 'Systems course visual used as a security and software foundation image', - caption: 'Secure systems, privacy guarantees, and trustworthy software.', - }, - themes: [ - 'Formal methods and protocol verification', - 'Language-based security and information flow', - 'Web privacy and browser consent management', - 'Privacy-preserving and fair machine learning', - 'Secure embedded and public-interest computing systems', - ], - faculty: [ - { - name: 'Abhishek Bichhawat', - title: 'Assistant Professor', - focus: - 'Language-based security, formal verification, web security, usable privacy, and policy enforcement.', - profile: 'https://abhishek.people.iitgn.ac.in/', - }, - { - name: 'Manisha Padala', - title: 'Assistant Professor', - focus: - 'Fair and federated learning, differential privacy, strategic clients, and secure distributed ML systems.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-manisha', - }, - { - name: 'Rajat Moona', - title: 'Professor and Director', - focus: - 'Embedded systems, smart cards, RFID, secure access systems, VLSI, and public-scale trusted computing.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-rajat-moona', - }, - ], - publications: [ - { - title: - "Johnny Can't Revoke Consent Either: Measuring Compliance of Consent Revocation on the Web", - detail: 'PETS 2025 - web privacy and consent revocation compliance.', - }, - { - title: - 'Least Privilege Access for Persistent Storage Mechanisms in Web Browsers', - detail: 'WWW 2025 - browser storage and least-privilege web security.', - }, - { - title: - 'Fall-Through Semantics for Mitigating Timing-Based Side Channel Leaks', - detail: 'FSTTCS 2025 - semantics and side-channel mitigation.', - }, - { - title: - 'DY*: A Modular Symbolic Verification Framework for Executable Cryptographic Protocol Code', - detail: 'IEEE EuroS&P 2021 - verified cryptographic protocol code.', - }, - ], - projects: [ - { - title: 'Understanding and Ensuring the Privacy of User Data', - detail: 'SERB project led by Abhishek Bichhawat.', - }, - { - title: 'Verifying Security Properties of Group Messaging Protocols', - detail: 'CEFIPRA international project led by Abhishek Bichhawat.', - }, - { - title: - 'Towards a Private yet Functional Web: Designing a Usable and Privacy-compliant Consent Management Framework for Online Browsing', - detail: 'ANRF Advanced Research Grant led by Abhishek Bichhawat.', - }, - { - title: - 'Fair Federated Learning Framework in the Presence of Heterogeneous, Strategic, and Malicious Clients', - detail: 'ANRF early-career project led by Manisha Padala.', - }, - ], - sources: [ - { - title: 'Abhishek Bichhawat homepage', - detail: 'Secure systems by design and formal security guarantees.', - href: 'https://abhishek.people.iitgn.ac.in/', - }, - { - title: 'Abhishek Bichhawat IITGN profile', - detail: 'Language-based security, verification, and IoT security interests.', - href: 'https://iitgn.ac.in/faculty/cse/fac-abhishek', - }, - { - title: 'Rajat Moona IITGN profile', - detail: 'Security, smart cards, RFID, embedded systems, and patents.', - href: 'https://iitgn.ac.in/faculty/cse/fac-rajat-moona', - }, - { - title: 'Privacy and web consent publications', - detail: 'Recent web privacy work involving IITGN security researchers.', - href: 'https://arxiv.org/abs/2411.15414', - }, - ], - }, - 'data-science': { - slug: 'data-science', - title: 'Data Science', - shortTitle: 'Data Science', - description: - 'Data science research at CSE links scalable algorithms, sensing, climate and urban resilience, social-network analysis, scientific text, and reproducible data-driven systems.', - accent: { - foreground: '#527d68', - soft: '#e5f1ea', - background: '#f5faf7', - header: '#fbfdfc', - border: '#cfe2d7', - }, - heroImage: { - src: '/images/course-resources/scalable-data-science.png', - alt: 'Scalable data science course visual', - caption: 'Scalable data, infrastructure intelligence, and real-world analytics.', - }, - featuredVideo: { - title: 'The AI Resilience and Command Centre at the Research Park', - href: 'https://www.youtube.com/watch?v=mNJJXm3xtA8', - embedUrl: 'https://www.youtube.com/embed/mNJJXm3xtA8', - }, - themes: [ - 'Sketching, sampling, and coresets for large data', - 'AI for sustainability, energy, air quality, and health', - 'Physics-guided models for climate and urban resilience', - 'Scientific text mining and social-network analytics', - 'Open benchmarks, reproducibility, and deployment-oriented data systems', - ], - faculty: [ - { - name: 'Anirban Dasgupta', - title: 'Professor', - focus: - 'Data science algorithms, randomized numerical linear algebra, sketching, sampling, and information dynamics.', - profile: 'https://labs.iitgn.ac.in/datascience/', - }, - { - name: 'Nipun Batra', - title: 'Associate Professor', - focus: - 'Scalable sensing, energy analytics, air quality, health sensing, and AI for sustainability.', - profile: 'https://sustainability-lab.github.io/', - }, - { - name: 'Udit Bhatia', - title: 'Associate Professor', - focus: - 'Physics-guided data science for urban flooding, climate extremes, resilient infrastructure, and networks.', - profile: 'https://iitgn.ac.in/faculty/earths/fac-udit', - }, - { - name: 'Mayank Singh', - title: 'Associate Professor', - focus: - 'Scientific text mining, scholarly knowledge discovery, social networks, and AI-enabled research tools.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-mayank', - }, - ], - publications: [ - { - title: 'Streaming Coresets for Symmetric Tensor Factorization', - detail: 'ICML 2020 - scalable coresets and tensor factorization.', - }, - { - title: - 'Spatially Regularized Graph Attention Autoencoder Framework for Detecting Rainfall Extremes', - detail: '2024 preprint - graph learning for climate extremes.', - }, - { - title: - 'Vartalaap: What Drives #AirQuality Discussions: Politics, Pollution or Pseudo-science?', - detail: 'PACM HCI 2021 - public discourse and air-quality analytics.', - }, - { - title: - 'Physics-guided Emulators Reveal Resilience and Fragility under Operational Latencies and Outages', - detail: '2025 preprint - physics-guided models for resilience.', - }, - ], - projects: [ - { - title: - 'AI Resilience and Command Centre for data-driven climate-risk management', - detail: 'IITGN centre focused on anticipatory urban flood and climate-risk management.', - }, - { - title: 'Automated Crop Mapping using time-series satellite and ancillary data', - detail: 'ISRO-sponsored project led by Nipun Batra.', - }, - { - title: - 'Network-of-Network Lens to quantify resilience of coupled infrastructure systems', - detail: 'ANRF/SERB-supported project led by Udit Bhatia.', - }, - { - title: - 'Development of Large Language Models based chat plugin for website-specific queries', - detail: 'Consultancy project led by Mayank Singh.', - }, - ], - sources: [ - { - title: 'Data Science Lab', - detail: 'Algorithms, ML pipelines, sketching, and social-network dynamics.', - href: 'https://labs.iitgn.ac.in/datascience/', - }, - { - title: 'Sustainability Lab', - detail: 'AI, sensing, sustainability, energy, health, and air quality.', - href: 'https://sustainability-lab.github.io/members.html', - }, - { - title: 'Udit Bhatia IITGN profile', - detail: 'Physics-guided ML, urban flooding, and climate resilience.', - href: 'https://iitgn.ac.in/faculty/earths/fac-udit', - }, - { - title: 'ARC Centre news', - detail: 'Data-driven climate-risk management and resilient cities.', - href: 'https://news.iitgn.ac.in/iit-gandhinagar-launches-ai-resilience-and-command-centre-for-data-driven-climate-risk-management/', - }, - ], - }, - systems: { - slug: 'systems', - title: 'Systems & Architecture', - shortTitle: 'Systems', - description: - 'Systems research covers computer architecture, memory and storage systems, cloud and edge platforms, networked systems, software engineering, embedded systems, and deployment-oriented computing.', - accent: { - foreground: '#987247', - soft: '#f3eadc', - background: '#fbf8f2', - header: '#fdfcf9', - border: '#e6d8c4', - }, - heroImage: { - src: '/images/facilities/singularity/server2.jpg', - alt: 'Department GPU server rack', - caption: 'Systems, architecture, infrastructure, and performance at scale.', - }, - featuredVideo: { - title: 'Systems and architecture at IIT Gandhinagar', - href: 'https://www.youtube.com/watch?v=JHoRJQz2N5o', - embedUrl: 'https://www.youtube.com/embed/JHoRJQz2N5o', - }, - themes: [ - 'Computer architecture, memory, storage, and accelerators', - 'Network function virtualization, SDN, edge, and cloud systems', - 'Software testing, evolution, maintenance, and repositories', - 'Sensing systems and deployed computing for sustainability', - 'Embedded systems, VLSI, operating systems, and public-scale infrastructure', - ], - faculty: [ - { - name: 'Manu Awasthi', - title: 'Associate Professor of Practice', - focus: - 'Computer architecture, memory and storage, cloud systems, performance optimization, and RISC-V pedagogy.', - profile: 'https://manuawasthi.in/', - }, - { - name: 'Sameer G Kulkarni', - title: 'Assistant Professor', - focus: - 'NFV, SDN, edge/cloud platforms, distributed systems, network security, and resource management.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-sameer', - }, - { - name: 'Shouvick Mondal', - title: 'Assistant Professor', - focus: - 'Software testing, evolution, maintenance, mining repositories, logging, and empirical software engineering.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-shouvick', - }, - { - name: 'Rajat Moona', - title: 'Professor and Director', - focus: - 'Computer architecture, VLSI, operating systems, embedded systems, smart cards, and RFID.', - profile: 'https://iitgn.ac.in/faculty/cse/fac-rajat-moona', - }, - { - name: 'Nipun Batra', - title: 'Associate Professor', - focus: - 'Scalable sensing systems, sustainable computing, health sensing, and deployed AI systems.', - profile: 'https://nipunbatra.github.io/', - }, - ], - publications: [ - { - title: 'MCP-Diag: A Deterministic, Protocol-Driven Architecture for AI-Native Network Diagnostics', - detail: 'COMSNETS 2026 - AI-native network diagnostics.', - }, - { - title: - 'Memory Bottlenecks in Quantum Simulation: Cache Contention and Adaptive Allocation Policy', - detail: 'COMSNETS 2026 - memory and cache behavior in simulation.', - }, - { - title: - 'Hardware-Software Co-Design of a Collaborative DNN Accelerator for 3D Stacked Memories with Multi-Channel Data', - detail: 'ASP-DAC 2024 - accelerator architecture and memory systems.', - }, - { - title: 'VulNet: Towards Improving Vulnerability Management in the Maven Ecosystem', - detail: 'EMSE 2024 - software engineering and vulnerability management.', - }, - ], - projects: [ - { - title: 'Development of Quantum Machine Learning Use Cases and Applications', - detail: 'MeitY-sponsored project led by Sameer G Kulkarni.', - }, - { - title: - 'Specialized language models deployable on endpoints with low compute resources', - detail: 'ISRO-sponsored project led by Anirban Dasgupta with systems relevance.', - }, - { - title: 'Project Madhava', - detail: - 'Hands-on computer systems pedagogy and RISC-V based microcontroller development led by Manu Awasthi.', - }, - { - title: 'Department compute infrastructure', - detail: - 'GPU-based department servers and HPC resources supporting systems and AI experiments.', - }, - ], - sources: [ - { - title: 'Manu Awasthi homepage', - detail: 'Computer architecture, cloud systems, and Project Madhava.', - href: 'https://manuawasthi.in/', - }, - { - title: 'Sameer Kulkarni CSE research summary', - detail: 'NFV, SDN, distributed systems, and data reliability.', - href: 'https://cs.iitgn.ac.in/research', - }, - { - title: 'Shouvick Mondal IITGN profile', - detail: 'Software testing, evolution, and maintenance.', - href: 'https://beta.iitgn.ac.in/faculty/cse/shouvick', - }, - { - title: 'Rajat Moona IITGN profile', - detail: 'Computer architecture, VLSI, operating systems, embedded systems.', - href: 'https://iitgn.ac.in/faculty/cse/fac-rajat-moona', - }, - ], - }, - hci: { - slug: 'hci', - title: 'HCI & Cognitive Science', - shortTitle: 'HCI', - description: - 'HCI and cognitive-science work brings together human-AI interaction, brain-computer interfaces, eye tracking, accessibility, multimodal systems, neuroscience, and community health.', - accent: { - foreground: '#4e7b78', - soft: '#e4f1f0', - background: '#f5faf9', - header: '#fbfdfd', - border: '#cde3e1', - }, - heroImage: { - src: '/images/course-resources/probabilistic-machine-learning.png', - alt: 'Probabilistic machine learning visual used for HCI and cognitive systems', - caption: 'Human-centred intelligent systems for interaction, health, and access.', - }, - themes: [ - 'Human-AI interaction and explainable interfaces', - 'Brain-computer interfaces, EEG, EMG, and eye tracking', - 'Assistive technologies for disability, aging, and dyslexia', - 'Cognitive modelling and neural decoding', - 'Multimodal, multilingual, and accessible interaction design', - ], - faculty: [ - { - name: 'Yogesh Kumar Meena', - title: 'Assistant Professor', - focus: - 'HCI, BCI, eye tracking, motor rehabilitation, assistive systems, user experience, and community health.', - profile: 'https://yogeshmeena.com/', - }, - { - name: 'Krishna Prasad Miyapuram', - title: 'Affiliated Faculty', - focus: - 'Cognitive science, computational neuroscience, EEG, brain decoding, and cognition-aware AI.', - profile: 'https://cogs.iitgn.ac.in/faculty/', - }, - { - name: 'Shanmuganathan Raman', - title: 'Professor', - focus: - 'Vision, EEG-to-text collaborations, deep learning, image understanding, and multimodal perception.', - profile: 'https://shanmuga.people.iitgn.ac.in/', - }, - { - name: 'Samit Bhattacharya', - title: 'Visiting Associate Professor', - focus: - 'Human-computer interaction and user-centred computing.', - }, - ], - publications: [ - { - title: - 'Operationalizing Self-Perceptions of Aging Using Reflection Probe and SPA Design Cards with HCI Practitioners', - detail: 'CHI Extended Abstracts 2026 - HCI methods for aging and design.', - }, - { - title: - 'Design and Evaluation of a Multimodal Elevator System with Gaze and Multilingual Voice Controls', - detail: 'IndiaHCI 2025 - accessible multimodal interaction.', - }, - { - title: - 'Explainable artificial intelligence approaches for brain-computer interfaces: a review and design space', - detail: 'Journal of Neural Engineering 2024 - XAI for BCI.', - }, - { - title: - 'Hierarchic-EEG2Text: Assessing EEG-To-Text Decoding across Hierarchical Abstraction Levels', - detail: '2026 preprint - neural decoding and language abstraction.', - }, - ], - projects: [ - { - title: - 'A Brain-Computer Interface Driven Mental Fatigue Monitoring System to Improve Stroke Rehabilitation Therapy', - detail: - 'International project with Department for the Economy, Northern Ireland.', - }, - { - title: - 'iGazeBuddy: Multimodal Gaze-Controlled On-Screen Assisted Learning System for Dyslexia Detection and Intervention in Regional Indian Languages', - detail: 'ANRF PMECRG project led by Yogesh Kumar Meena.', - }, - { - title: - 'System for augmentative and alternative communication for people with severe speech and motor disabilities', - detail: 'Indian patent involving Yogesh Kumar Meena.', - }, - { - title: 'HAIx Lab', - detail: - 'Lab focused on intelligent technologies and transforming community health and care.', - }, - ], - sources: [ - { - title: 'Yogesh Kumar Meena homepage', - detail: 'HAIx Lab, HCI, BCI, eye tracking, and assistive technology.', - href: 'https://yogeshmeena.com/', - }, - { - title: 'HAIx Lab team page', - detail: 'Human-AI Interaction Lab people and directions.', - href: 'https://labs.iitgn.ac.in/haix/team/', - }, - { - title: 'Cognitive Science research facilities', - detail: 'HAIx Lab and Brain Lab context at IIT Gandhinagar.', - href: 'https://cogs.iitgn.ac.in/research-2/research-facilities/', - }, - { - title: 'Postdoctoral position description', - detail: 'Hybrid BCI and HAIx Lab project description.', - href: 'https://cse.noticebard.com/wp-content/uploads/sites/23/2025/01/Post-Doctoral-Fellow-at-Computer-Science-Dept.-IIT-Gandhinagar.pdf', - }, - ], - }, -}; - -export const RESEARCH_AREA_ORDER: ResearchAreaSlug[] = [ - 'ai', - 'theory', - 'security', - 'data-science', - 'systems', - 'hci', -]; diff --git a/src/data/seminars.ts b/src/data/seminars.ts index aacbac0..a5fd6a5 100644 --- a/src/data/seminars.ts +++ b/src/data/seminars.ts @@ -34,23 +34,6 @@ const aninditaMaitiBio = 'Dr. Anindita Maiti is a Postdoctoral Fellow at the Perimeter Institute for Theoretical Physics, cross-affiliated with Prof. Roger Melko’s group Perimeter Institute Quantum Intelligence Lab (PIQuIL) since September 2023. Previously, Anindita held a short postdoctoral appointment in physics for ML foundations, supervised by Prof. Cengiz Pehlevan, at Harvard Applied Math (May-August 2023). She earned her PhD in theoretical high-energy physics (string theory and particle theory division) at Northeastern University and the NSF AI Institute for Artificial Intelligence and Fundamental Interactions (IAIFI) in May 2023, under the supervision of Prof. James Halverson. Anindita received her Integrated Bachelors and Masters in Engineering Physics at IIT Bombay in Aug 2017, supervised by Prof. Urjit Yajnik. Anindita’s research lies at the intersection of AI/ML, quantum, and statistical physics. In short, she works on Physics of Learning and ML for Quantum. Broadly, Anindita uses theoretical physics concepts: such as Feynman path integrals, renormalization group flow, computational statistics, and random matrix theory, to develop a physics-informed theoretical foundation for ML and to guide the principled design of AI systems. Anindita applies this framework to construct interpretable and trustworthy AI- and ML-based simulation strategies for quantum field theory and quantum many-body physics.'; const rawSeminarEntries = [ - { - id: 'sunil-chandran-graph-theory-quantum-physics-2026', - type: 'CS theory seminar', - title: 'Graph Theory in Quantum Physics!', - speaker: 'Prof. L. Sunil Chandran', - affiliation: 'Indian Institute of Science, Bangalore', - date: '2026-06-10', - displayDate: '10 Jun 2026', - time: '11:00 am IST', - venue: 'AB 7/208', - summary: - 'This CS theory seminar connects graph perfect matchings and colourings with constructability questions in photonic quantum technologies. Refreshments will be served before the talk.', - abstract: - "In 2018, Krenn reported that certain problems related to the perfect matchings and colourings of graphs emerge out of studying constructability of general quantum states using modern photonic technologies.\n\nHe realized that if we can prove that the weighted matching index of a graph, a parameter defined in terms of perfect matchings and colourings of the graph is at most 2, that could lead to exciting insights on the potential of resources of quantum inference. Motivated by this, he conjectured that the weighted matching index of any graph is at most 2. The first result on this conjecture was by Bogdanov, who proved that the unweighted matching index is at most 2, thus classifying graphs non-isomorphic to K_4 into Type 0, Type 1 and Type 2. By definition, the weighted matching index of Type 0 graphs is 0. We give a structural characterization for Type 2 graphs, using which we settle Krenn's conjecture for Type 2 graphs.\n\nWe also present several other results regarding Krenn's conjecture: (1) Krenn's conjecture is true for multi-graphs whose underlying simple graph is of maximum degree at most 3. Also we show that Krenn's conjecture is true when the underlying simple graph has vertex connectivity at most 2. We also show some non-constructability results when the experiment graph is assumed to be simple.\n\nRefreshments will be served before the talk.", - bio: - 'Prof. L. Sunil Chandran is a Professor in the Department of Computer Science and Automation at the Indian Institute of Science, Bangalore. He received his PhD from the Indian Institute of Science, Bangalore, and was a postdoctoral fellow at the Max Planck Institute for Informatics, Saarbruecken, Germany. His research areas are graph theory, combinatorics, and graph algorithms. He is a fellow of the Indian National Science Academy and the Indian National Academy of Engineering.', - }, { id: 'anindita-maiti-research-proposal-session-2026', type: 'Research proposal session', diff --git a/src/data/visitors.ts b/src/data/visitors.ts deleted file mode 100644 index 71ac3ef..0000000 --- a/src/data/visitors.ts +++ /dev/null @@ -1,198 +0,0 @@ -export interface VisitorEntry { - date: string; - speaker: string; - affiliation: string; - title: string; -} - -export const VISITORS: VisitorEntry[] = [ - { - date: '2026-03-27', - speaker: 'Dr. VenkataKeerthy', - affiliation: 'Microsoft Research', - title: 'ML4Code: Learning to Represent, Optimize, and Understand Programs', - }, - { - date: '2026-03-25', - speaker: 'Dr. Anik Paul', - affiliation: 'IISc', - title: - 'Almost Sure Convergence Analysis of Stochastic First and Zeroth-Order Mirror Descent Algorithm: A Projected Dynamical Systems Viewpoint', - }, - { - date: '2026-03-24', - speaker: 'Mr. Aditya Anand', - affiliation: 'IIT Bombay', - title: - 'Precision without Regret: Sound and Efficient Memory Optimization in Managed Runtimes', - }, - { - date: '2026-03-23', - speaker: 'Dr. Utsav Singh', - affiliation: 'IIT Kanpur', - title: 'Learning Hierarchical Control via Feasible Subgoal Prediction', - }, - { - date: '2026-03-13', - speaker: 'Dr. Janki Bhimani', - affiliation: 'Florida International University', - title: 'Advancing System Design: Classical and Quantum', - }, - { - date: '2026-03-12', - speaker: 'Prof. Rajeev Shorey', - affiliation: 'IIIT Surat', - title: - 'Recent Investigations in the Intersection of ML and Edge Computing', - }, - { - date: '2026-02-20', - speaker: 'Dr. Tameesh Suri', - affiliation: 'Nvidia', - title: - 'Enabling the Next 1000× in AI: Co-Design from Materials to Systems', - }, - { - date: '2026-02-19', - speaker: 'Dr. Biswabandan Panda', - affiliation: 'IIT Bombay', - title: 'Architecture Security: The Good, the Bad, and the Ugly', - }, - { - date: '2026-02-18', - speaker: 'Dr. Biswabandan Panda', - affiliation: 'IIT Bombay', - title: 'Microarchitecture Mysteries in Datacenter Processors', - }, - { - date: '2026-02-18', - speaker: 'Dr. Niket Tandon', - affiliation: 'Microsoft Research', - title: 'Building language models that learn, remember and reason', - }, - { - date: '2026-02-06', - speaker: 'Dr. Utkarsh Mall', - affiliation: 'MBZUAI', - title: 'Visual Discovery for Science', - }, - { - date: '2026-01-29', - speaker: 'Dr. Nisarg Shah', - affiliation: 'University of Toronto', - title: 'Democratic Foundations of Fair AI via Social Choice', - }, - { - date: '2026-01-09', - speaker: 'Mr. Ambarish Ojha', - affiliation: 'Actyv.ai', - title: - 'AI in Regulated Worlds: How to Build Systems That Banks and Boards Can Trust', - }, - { - date: '2025-12-01', - speaker: 'Dr. Naresh Manwani', - affiliation: 'IIIT Hyderabad', - title: - 'Trustworthy Graph Learning: Integrating Abstention in Static and Dynamic GNNs', - }, - { - date: '2025-12-01', - speaker: 'Dr. Sujit Gujar', - affiliation: 'IIIT Hyderabad', - title: - 'Fair distribution of MEV in blockchains through Shapley Value', - }, - { - date: '2025-11-27', - speaker: 'Dr. Arkaprava Basu', - affiliation: 'IISc', - title: 'Improving the Quality of GPU-accelerated Software', - }, - { - date: '2025-11-25', - speaker: 'Dr. Dagash Mehta', - affiliation: 'Blackrock Inc.', - title: 'Similarity Learning in Finance', - }, - { - date: '2025-08-21', - speaker: 'Mr. Anup Kalbalia', - affiliation: 'Justuju', - title: 'Rethinking CS101 with Flowcharts in the age of AI', - }, - { - date: '2025-08-13', - speaker: 'Mr. Sushim Shrivastava', - affiliation: 'Qualcomm', - title: 'Challenges of Deploying AI at the Edge', - }, - { - date: '2025-08-12', - speaker: 'Mr. Shreyas Gupta', - affiliation: 'IISc', - title: 'Secure Vickrey Auctions with Rational Parties', - }, - { - date: '2025-07-04', - speaker: 'Mr. Aditya Subramaniam', - affiliation: 'IISc', - title: 'Online and Dynamic Geometric Set Cover', - }, - { - date: '2025-04-21', - speaker: 'Prof. John Augustine', - affiliation: 'IIT Madras', - title: 'Foundations of Distributed Trust and Blockchain Oracle Networks', - }, - { - date: '2025-04-11', - speaker: 'Dr. Indrajit Bhattacharya', - affiliation: 'KnowDis.AI', - title: 'Knowledge Base Question Answering in the Age of LLMs', - }, - { - date: '2025-04-02', - speaker: 'Dr. Mythili Vutukuru', - affiliation: 'IIT Bombay', - title: 'Understanding the internals of the Linux network stack', - }, - { - date: '2025-03-21', - speaker: 'Dr. Pankaj Thorat', - affiliation: 'IBM Research', - title: - 'Code Data Profiler - A Customizable Concept-Driven Data Analysis Tool For Multi-Lingual Code Data Sets', - }, - { - date: '2025-03-21', - speaker: 'Prof. Arpita Patra', - affiliation: 'IISc', - title: 'Secure Multi-party Computation: The holy grail of Cryptography', - }, - { - date: '2025-03-04', - speaker: 'Dr. K. C. Sivaramakrishnan', - affiliation: 'IIT Madras', - title: 'Concurrent and Parallel Programming with OCaml 5', - }, - { - date: '2025-02-13', - speaker: 'Mr. Pratheek B', - affiliation: 'IISc', - title: 'Improving Memory Management in GPGPUs', - }, - { - date: '2025-02-05', - speaker: 'Dr. Sri AravindaKrishnan Thyagarajan', - affiliation: 'University of Sydney', - title: 'Cryptography Meets Game Theory: A Match For Fair Exchange', - }, - { - date: '2025-01-21', - speaker: 'Dr. Biswabandan Panda', - affiliation: 'IIT Bombay', - title: - 'Pushing the Limits of Hardware Prefetchers for Performance, Energy, Scalability, and Security; One Step at a Time', - }, -]; diff --git a/src/layouts/DefaultLayout.astro b/src/layouts/DefaultLayout.astro index 9f81c35..af394a8 100644 --- a/src/layouts/DefaultLayout.astro +++ b/src/layouts/DefaultLayout.astro @@ -7,19 +7,14 @@ import Banner from '@/components/layout/banner'; import Footer from '@/components/layout/footer'; import Navbar from '@/components/layout/navbar'; -const { title, description, image, imageAlt } = Astro.props; +const { title, description } = Astro.props; const currentPath = Astro.url.pathname; --- - + diff --git a/src/pages/about/contact.astro b/src/pages/about/contact.astro index 2547e1d..5e93d21 100644 --- a/src/pages/about/contact.astro +++ b/src/pages/about/contact.astro @@ -21,10 +21,10 @@ import DefaultLayout from '@/layouts/DefaultLayout.astro';