Skip to content

Commit cd6c022

Browse files
committed
Update open-source sections
1 parent a092900 commit cd6c022

File tree

14 files changed

+141
-39
lines changed

14 files changed

+141
-39
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ Thumbs.db
3333

3434
# Temporary files
3535
*.tmp
36-
*.temp
36+
*.temp CLAUDE.md

assets/js/github-stats.js

Lines changed: 59 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@ document.addEventListener('DOMContentLoaded', function() {
2424
console.log('Loading GitHub stats...');
2525
statsLoaded = true;
2626

27+
// Add loading indicators
28+
repos.forEach(repo => {
29+
const element = document.getElementById(repo.elementId);
30+
if (element) {
31+
element.style.opacity = '0.6';
32+
}
33+
});
34+
2735
// Fetch stats for each repository
2836
repos.forEach(repo => {
2937
fetchRepoStats(repo.name, repo.elementId);
@@ -44,12 +52,27 @@ document.addEventListener('DOMContentLoaded', function() {
4452
}
4553
});
4654

47-
// Also listen for navigation to the open-source page
48-
if (window.location.pathname.includes('opensource') ||
49-
window.location.pathname.includes('open-source')) {
50-
// If we're already on the open-source page, load stats after a short delay
51-
setTimeout(loadGitHubStats, 500);
55+
// Auto-load stats if we're on the opensource page
56+
function checkAndLoadStats() {
57+
if (window.location.pathname.includes('opensource') ||
58+
window.location.pathname.includes('open-source') ||
59+
document.querySelector('.github-repos')) {
60+
console.log('📦 Open source page detected, loading GitHub stats...');
61+
setTimeout(loadGitHubStats, 50);
62+
}
5263
}
64+
65+
// Check immediately
66+
checkAndLoadStats();
67+
68+
// Also check after a short delay in case DOM isn't fully loaded
69+
setTimeout(checkAndLoadStats, 500);
70+
71+
// Force refresh stats button (optional - can be called manually)
72+
window.refreshGitHubStats = function() {
73+
statsLoaded = false;
74+
loadGitHubStats();
75+
};
5376

5477
async function fetchRepoStats(repoName, elementId) {
5578
try {
@@ -76,30 +99,43 @@ document.addEventListener('DOMContentLoaded', function() {
7699
const forkSpan = element.querySelector('.repo-forks');
77100

78101
if (starSpan) {
79-
// Get all child nodes
80-
const childNodes = Array.from(starSpan.childNodes);
81-
82-
// Find the text node (should be the last one)
83-
const textNode = childNodes.find(node => node.nodeType === Node.TEXT_NODE);
84-
85-
if (textNode) {
86-
// Update only the text content
87-
textNode.textContent = ` ${stars}`;
102+
// Simple approach: find the SVG, then replace everything after it
103+
const svg = starSpan.querySelector('svg');
104+
if (svg) {
105+
// Remove all text nodes after SVG
106+
const children = Array.from(starSpan.childNodes);
107+
children.forEach(child => {
108+
if (child.nodeType === Node.TEXT_NODE) {
109+
child.remove();
110+
}
111+
});
112+
// Add new text with star count
113+
starSpan.appendChild(document.createTextNode(` ${stars}`));
88114
}
89115
}
90116

91117
if (forkSpan) {
92-
// Get all child nodes
93-
const childNodes = Array.from(forkSpan.childNodes);
94-
95-
// Find the text node (should be the last one)
96-
const textNode = childNodes.find(node => node.nodeType === Node.TEXT_NODE);
97-
98-
if (textNode) {
99-
// Update only the text content
100-
textNode.textContent = ` ${forks}`;
118+
// Simple approach: find the SVG, then replace everything after it
119+
const svg = forkSpan.querySelector('svg');
120+
if (svg) {
121+
// Remove all text nodes after SVG
122+
const children = Array.from(forkSpan.childNodes);
123+
children.forEach(child => {
124+
if (child.nodeType === Node.TEXT_NODE) {
125+
child.remove();
126+
}
127+
});
128+
// Add new text with fork count
129+
forkSpan.appendChild(document.createTextNode(` ${forks}`));
101130
}
102131
}
132+
133+
// Add loading indicator removal and success styling
134+
element.style.opacity = '1';
135+
element.style.transition = 'opacity 0.3s ease';
136+
console.log(`✅ Updated ${elementId}: ${stars} stars, ${forks} forks`);
137+
} else {
138+
console.error(`❌ Element with ID ${elementId} not found`);
103139
}
104140
}
105141
});

config/_default/params.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ appearance:
2020
# SEO
2121
marketing:
2222
seo:
23-
site_type: Person
23+
site_type: Organization
2424
local_business_type: ''
25-
org_name: ''
26-
description: 'The highly-customizable Hugo Academic theme powered by Hugo Blox Builder. Easily create your personal academic website.'
27-
twitter: 'GetResearchDev'
25+
org_name: 'MoatLab - Virginia Tech'
26+
description: 'MoatLab research group at Virginia Tech conducts cutting-edge research in Memory Systems, Operating Systems, System Architecture, and Storage Systems for modern datacenters and cloud platforms.'
27+
twitter: ''
2828
analytics:
2929
google_analytics: ''
3030
baidu_tongji: ''

content/_index.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,17 @@ The <span style="color: #e5751f; font-weight: bold;">M</span><span style="color:
3131
## Graduate Students
3232

3333
<div class="people-grid vertical">
34+
<div class="person-card student vertical">
35+
<div class="person-image">
36+
<img src="/students/berkay-inceisci.jpg" alt="Berkay Inceisci" style="object-fit: cover;">
37+
</div>
38+
<div class="person-info">
39+
<h4 class="person-name"><a href="https://www.linkedin.com/in/berkayinceisci" target="_blank">Berkay Inceisci</a></h4>
40+
<p class="person-title">PhD Student</p>
41+
<p class="person-period">08/2025 - Present</p>
42+
</div>
43+
</div>
44+
3445
<div class="person-card student vertical">
3546
<div class="person-image">
3647
<img src="/students/hansen-idden.jpg" alt="Hansen Idden">

content/authors/admin/_index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ organizations:
2727
- name: Virginia Tech
2828
url: https://cs.vt.edu/
2929

30+
# Email for contact
31+
32+
3033
# Social network links
3134
profiles:
3235
- icon: at-symbol

content/authors/admin/avatar.jpg

-1.24 MB
Loading
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
# Display name
3+
title: Berkay Inceisci
4+
5+
# Publication date
6+
date: "2025-01-01T00:00:00Z"
7+
8+
# Is this the primary user of the site?
9+
superuser: false
10+
11+
# Role/position/tagline
12+
role: PhD Student
13+
14+
# Organizations/Affiliations to show in About widget
15+
organizations:
16+
- name: Virginia Tech
17+
url: https://vt.edu
18+
19+
# Short bio (displayed in user profile at end of posts)
20+
bio: PhD student in Computer Science at Virginia Tech, working on computer systems research.
21+
22+
# Interests to show in About widget
23+
interests:
24+
- Computer Systems
25+
- Memory Systems
26+
- Operating Systems
27+
28+
# Education to show in About widget
29+
education:
30+
courses:
31+
- course: PhD in Computer Science
32+
institution: Virginia Tech
33+
year: 2025-present
34+
35+
# Social/Academic Networking
36+
social:
37+
- icon: linkedin
38+
icon_pack: fab
39+
link: https://www.linkedin.com/in/berkayinceisci
40+
41+
# Enter email to display Gravatar (if Gravatar enabled in Config)
42+
email: ""
43+
44+
# Highlight the author in author lists? (true/false)
45+
highlight_name: true
46+
47+
# Organizational groups that you belong to (for People widget)
48+
user_groups:
49+
- MoatLab Students
50+
---
51+
52+
Berkay Inceisci is a PhD student in Computer Science at Virginia Tech, working on computer systems research. He is advised by Prof. Huaicheng Li.

content/event/example/featured.jpg

-426 KB
Loading

content/opensource/_index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: ""
3-
description: ""
2+
title: "Open Source"
3+
description: "Open source software projects developed by the MoatLab research group"
44
---
55

66
Our research group develops and maintains several open-source software projects. All projects are hosted on our [GitHub organization](https://github.com/moatlab).
@@ -27,7 +27,7 @@ Our research group develops and maintains several open-source software projects.
2727
<svg width="16" height="16" viewBox="0 0 24 24" fill="#fbbf24">
2828
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>
2929
</svg>
30-
18
30+
19
3131
</span>
3232
<span class="repo-forks">
3333
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
@@ -60,13 +60,13 @@ Our research group develops and maintains several open-source software projects.
6060
<svg width="16" height="16" viewBox="0 0 24 24" fill="#fbbf24">
6161
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/>
6262
</svg>
63-
10
63+
13
6464
</span>
6565
<span class="repo-forks">
6666
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
6767
<path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"/>
6868
</svg>
69-
0
69+
3
7070
</span>
7171
</span>
7272
</div>
@@ -99,7 +99,7 @@ Our research group develops and maintains several open-source software projects.
9999
<svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor">
100100
<path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"/>
101101
</svg>
102-
218
102+
219
103103
</span>
104104
</span>
105105
</div>

content/publication/conference-paper/asplos20-leapio/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2020-03-01
66
publication_types: ["1"]
77
publication: "In 25th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS)"
88
publication_short: "ASPLOS '20"
9-
abstract: ""
9+
abstract: "ARM-based SmartNICs and SmartSSDs are increasingly popular in datacenters for their power efficiency and programmability. However, efficiently virtualizing NVMe storage on these ARM SoCs remains challenging. We present LeapIO, a system that provides efficient and portable virtual NVMe storage on ARM SoCs. LeapIO achieves near-native performance through novel techniques including bypass-based I/O virtualization, adaptive polling, and hardware-aware optimizations. Our evaluation shows that LeapIO achieves up to 95% of native storage performance while providing full virtualization capabilities."
1010
featured: false
1111
image:
1212
caption: ""

0 commit comments

Comments
 (0)