Skip to content

Commit dcfd5d1

Browse files
committed
Announce the high-school internship program
1 parent 6d9eb08 commit dcfd5d1

File tree

5 files changed

+169
-22
lines changed

5 files changed

+169
-22
lines changed

_includes/blog-post-card.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,19 @@ <h3><a href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a></h3>
2525
</div>
2626
</div>
2727

28-
{% if post.banner_image %}
29-
{% assign thumbnail_src = post.banner_image %}
28+
{% assign thumbnail_src = nil %}
3029

30+
{% if post.thumbnail_image %}
31+
{% assign thumbnail_src = post.thumbnail_image %}
32+
{% elsif post.banner_image %}
3133
{% if post.banner_image contains 'gsoc-banner.png' %}
3234
{% assign thumbnail_src = "/images/gsoc-logo.svg" %}
35+
{% else %}
36+
{% assign thumbnail_src = post.banner_image %}
3337
{% endif %}
38+
{% endif %}
3439

40+
{% if thumbnail_src %}
3541
<div class="thumbnail-container">
3642
<a href="{{ post.url | prepend: site.baseurl }}">
3743
<img src="{{ thumbnail_src }}" alt="Thumbnail" class="thumbnail-image" />

_includes/dual-banner.html

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
{::nomarkdown}
2+
{% comment %}
3+
Parameters:
4+
- left_logo: URL path
5+
- right_logo: URL path
6+
- separator: The character between logos (default: @)
7+
- caption: The HTML/Text below
8+
- height: Optional height override (e.g., 20vh)
9+
{% endcomment %}
10+
11+
{% assign banner_height = include.height | default: "25vh" %}
12+
13+
<div class="custom-banner-wrapper" role="img" aria-label="{{ include.caption | strip_html }}">
14+
<div class="custom-banner-flex">
15+
<div class="banner-logo">
16+
<img src="{{ include.left_logo | relative_url }}" alt="Left Logo" />
17+
</div>
18+
19+
<div class="banner-separator" aria-hidden="true">
20+
{{ include.separator | default: "@" }}
21+
</div>
22+
23+
<div class="banner-logo logo-right-bg">
24+
<img src="{{ include.right_logo | relative_url }}" alt="Right Logo" />
25+
</div>
26+
</div>
27+
28+
{% if include.caption %}
29+
<div class="banner-caption" role="heading" aria-level="2">
30+
{{ include.caption }}
31+
</div>
32+
{% endif %}
33+
</div>
34+
{:/nomarkdown}
35+
36+
<style>
37+
.custom-banner-wrapper {
38+
--b-height: {{ banner_height }};
39+
width: 100%;
40+
max-width: 95%;
41+
margin: 0 auto;
42+
padding: 1.5rem 0;
43+
}
44+
45+
.custom-banner-flex {
46+
display: flex;
47+
align-items: center;
48+
justify-content: center;
49+
gap: 3rem;
50+
}
51+
52+
.banner-logo img {
53+
height: calc(var(--b-height) * 0.85);
54+
width: auto;
55+
max-width: 30vw;
56+
min-height: 50px;
57+
object-fit: contain;
58+
}
59+
60+
/* Keep the white background for the right logo badge if needed */
61+
.logo-right-bg img {
62+
padding: 8px;
63+
background: #fff;
64+
border-radius: 4px;
65+
}
66+
67+
.banner-separator {
68+
font-size: calc(var(--b-height) * 0.5);
69+
font-weight: 700;
70+
color: #000;
71+
}
72+
73+
.banner-caption {
74+
text-align: center;
75+
margin-top: 1rem;
76+
font-family: Georgia, serif;
77+
font-size: calc(var(--b-height) * 0.25);
78+
color: #111;
79+
}
80+
81+
@media (max-width: 768px) {
82+
.custom-banner-wrapper { --b-height: 15vh; }
83+
.custom-banner-flex { gap: 1.5rem; }
84+
}
85+
86+
@media (max-width: 480px) {
87+
.custom-banner-flex { flex-direction: column; gap: 1rem; }
88+
}
89+
</style>

_layouts/post.html

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,12 @@ <h1 class="post-title" itemprop="name headline">{{ page.title }}</h1>
3333
{% if page.banner_image %}
3434
{% comment %} Special-case GSoC banner when the image path contains 'gsoc-banner.png' {% endcomment %}
3535
{% if page.banner_image contains 'gsoc-banner.png' %}
36-
<!-- Special GSoC banner composition -->
37-
<div class="gsoc-banner-wrapper" role="img" aria-label="Google Summer of Code — Compiler Research">
38-
<div class="gsoc-banner">
39-
<div class="logo logo-left">
40-
<!-- left GSoC logo: update path if needed -->
41-
<img src="/images/gsoc-logo.svg" alt="Google Summer of Code logo" />
42-
</div>
43-
44-
<div class="at-sign" aria-hidden="true">@</div>
45-
46-
<div class="logo logo-right">
47-
<!-- right Compiler Research logo: update path if needed -->
48-
<img src="/images/cr-logo_old.png" alt="Compiler Research logo" />
49-
</div>
50-
</div>
51-
52-
<div class="gsoc-caption" role="heading" aria-level="2">
53-
Google <strong>Summer of Code</strong>
54-
</div>
55-
</div>
36+
<!-- Special GSoC banner composition -->
37+
{% include dual-banner.html
38+
left_logo="/images/gsoc-logo.svg"
39+
right_logo="/images/cr-logo_old.png"
40+
caption="Google <strong>Summer of Code</strong>"
41+
height="20vh" %}
5642
{% else %}
5743
<!-- Default banner -->
5844
<div class="post-banner">
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: "High School Internship Program 2026"
3+
layout: post
4+
excerpt: |
5+
Announcing a hands-on internship with the High School of Mathematics
6+
"Akademik Kiril Popov" in Plovdiv, Bulgaria, designed to move 10th-grade students
7+
from curiosity to real upstream contributions in compiler and systems
8+
engineering through structured mentorship and open-source collaboration.
9+
sitemap: true
10+
author: Vassil Vassilev
11+
permalink: blogs/high_school_internships_2026/
12+
thumbnail_image: /images/mg-pld-logo.png
13+
date: 2026-02-27
14+
tags: [internship, high-school, mentorship, compiler-engineering,
15+
systems-programming, open-source, community]
16+
17+
---
18+
19+
{% include dual-banner.html
20+
left_logo="/images/mg-pld-logo.png"
21+
right_logo="/images/cr-logo_old.png"
22+
caption=""
23+
height="20vh" %}
24+
25+
26+
I'm excited to announce a new internship program we're running with the High
27+
School of Mathematics "Akademik Kiril Popov" in Plovdiv, Bulgaria. After the Compiler
28+
Research Group's deep technical work in 2024 — advances in Clad and CppInterOp,
29+
tighter integration with ROOT and CUDA, and the growth of a genuinely global
30+
open-source community — it felt natural to open the door wider and invite
31+
motivated high-school students to join us.
32+
33+
This program is for 10th-grade students who want an honest, hands-on
34+
introduction to low-level compiler and systems engineering. Our goal is simple
35+
and direct: move students from curiosity to contribution. We'll give them the
36+
tools, structure, and mentorship they need to make real, upstreamed changes in
37+
open-source projects.
38+
39+
What students will learn:
40+
* Practical version control and collaboration: Git, GitHub workflows, code
41+
review etiquette, and Software Carpentry best practices.
42+
* Technical communication: writing concise technical proposals and documenting
43+
work so others can build on it.
44+
* Systems and compiler work: WebAssembly and xeus-cpp tutorial development,
45+
understanding compilation pipelines, and small tooling projects.
46+
* Accelerated GPU exposure: foundations of CUDA and how to reason about
47+
performance and correctness on GPUs.
48+
* Open-source contribution: preparing patches, working with maintainers, and
49+
upstreaming changes to projects like CppInterOp.
50+
* Project work: building agent-based simulations in Python, pairing with
51+
mentors, and delivering a short public tutorial or demo.
52+
53+
Students often learn concepts in school but rarely see how those concepts
54+
translate into engineered systems or community impact. That gap is what we want
55+
to close. From my perspective, the most valuable outcomes are not just polished
56+
code or a CV line — they are the habits: clear writing, iterative design,
57+
collaboration across timezones, and the discipline to follow an idea through to
58+
a merged contribution.
59+
60+
Our group knows that small, well-mentored tasks lead to early wins: interns gain
61+
confidence, maintainers gain useful patches, and the whole project benefits.
62+
This program formalizes that pattern and creates a repeatable path for new
63+
contributors.
64+
65+
With enough motivation and perserverance they will make their first impactful
66+
open source contributions very soon!

images/mg-pld-logo.png

16.4 KB
Loading

0 commit comments

Comments
 (0)