feat: show publication card on master's degree hover (ISSTA 2021)
Build & Push Portfolio Image / build-push (push) Successful in 3m46s
Build & Push Portfolio Image / build-push (push) Successful in 3m46s
This commit is contained in:
@@ -207,6 +207,26 @@ export default function Header() {
|
||||
<h3 className="font-semibold text-gray-900 dark:text-white">{t.header.educationDetails.master.school}</h3>
|
||||
<p className="text-sm text-gray-600 dark:text-gray-400 mt-1">{t.header.educationDetails.master.degree}</p>
|
||||
<p className="text-xs text-gray-500 dark:text-gray-500 mt-2">{t.header.educationDetails.master.period}</p>
|
||||
{(t.header.educationDetails.master as { publication?: { title: string; venue: string; url: string } }).publication && (
|
||||
<a
|
||||
href={(t.header.educationDetails.master as { publication: { url: string } }).publication.url}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="mt-3 block p-3 rounded-lg border border-blue-200 dark:border-blue-800 bg-blue-50 dark:bg-blue-950 hover:border-blue-400 dark:hover:border-blue-600 transition-colors"
|
||||
>
|
||||
<div className="flex items-start gap-2">
|
||||
<span className="text-blue-500 mt-0.5">📄</span>
|
||||
<div>
|
||||
<p className="text-xs font-semibold text-blue-700 dark:text-blue-300">
|
||||
{(t.header.educationDetails.master as { publication: { title: string } }).publication.title}
|
||||
</p>
|
||||
<p className="text-xs text-blue-500 dark:text-blue-400 mt-1">
|
||||
{(t.header.educationDetails.master as { publication: { venue: string } }).publication.venue} →
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
+36
-2
@@ -22,7 +22,12 @@
|
||||
"master": {
|
||||
"school": "University of Ottawa",
|
||||
"degree": "Master's degree, Computer Science",
|
||||
"period": "Sep 2019 – Nov 2021"
|
||||
"period": "Sep 2019 – Nov 2021",
|
||||
"publication": {
|
||||
"title": "Automated Repair of Layout Cross Browser Issues Using Search-Based Techniques",
|
||||
"venue": "ISSTA 2021",
|
||||
"url": "https://dl.acm.org/doi/10.1145/3460319.3464816"
|
||||
}
|
||||
}
|
||||
},
|
||||
"contact": {
|
||||
@@ -159,6 +164,18 @@
|
||||
"description": "Distributed DataLakeHouse framework written in Go.",
|
||||
"longDescription": "Fault-tolerant data pipelines with streaming semantics and efficient processing.",
|
||||
"stat": "Public repository, active"
|
||||
},
|
||||
{
|
||||
"title": "Poimen Memory System",
|
||||
"description": "Distributed Graph-RAG infrastructure with hierarchical RBAC and wiki-link indexing.",
|
||||
"longDescription": "Three-tier context retrieval pipeline with PageRank-style link scoring, hybrid search fusion (HNSW + BM25), and OIDC-based access control for multi-tenant knowledge graphs.",
|
||||
"stat": "Graph-RAG, pgvector, OpenSearch, Rust + Actix-web",
|
||||
"highlight": "Bidirectional wiki-link indexing with RRF fusion + hierarchical RBAC — 50ms signature match tier, graph-boosted hybrid search tier, Obsidian fallback.",
|
||||
"bullets": [
|
||||
"Graph-RAG with Wiki-Link Indexing (Rust, pgvector, OpenSearch): Built bidirectional link graph from [[wiki-link]] syntax during ingestion. PageRank-style score propagation boosts linked documents' relevance. RRF fusion merges HNSW cosine (pgvector) + BM25 lexical (OpenSearch). WikiScopedFilter constrains traversal to project boundaries.",
|
||||
"Three-Tier Context Retrieval (Actix-web, tokio): Async pipeline — Tier 1: MD5 signature match (<50ms), Tier 2: graph-boosted hybrid search with link-distance decay, Tier 3: Obsidian API fallback. Budget-aware assembly drops lower tiers first. Shingle-based Jaccard deduplication (>0.5) prevents redundant chunks.",
|
||||
"Hierarchical RBAC (Authentik OIDC, JWT, Kubernetes): Role → AccessRule[] → AccessScope model with project/visibility/owner/group constraints. JWT roles claim maps to YAML rules; AccessGuard.filter_resources() applies post-retrieval filtering. Dual-write indexer (eventual consistency via queue) maintains RBAC-aware views. SOPS/age encryption, ArgoCD deployment."
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -232,7 +249,12 @@
|
||||
"master": {
|
||||
"school": "渥太华大学",
|
||||
"degree": "计算机科学硕士",
|
||||
"period": "2019年9月 – 2021年11月"
|
||||
"period": "2019年9月 – 2021年11月",
|
||||
"publication": {
|
||||
"title": "Automated Repair of Layout Cross Browser Issues Using Search-Based Techniques",
|
||||
"venue": "ISSTA 2021",
|
||||
"url": "https://dl.acm.org/doi/10.1145/3460319.3464816"
|
||||
}
|
||||
}
|
||||
},
|
||||
"contact": {
|
||||
@@ -369,6 +391,18 @@
|
||||
"description": "用Go编写的分布式数据湖仓库框架。",
|
||||
"longDescription": "具有流语义和高效处理的容错数据管道。",
|
||||
"stat": "公开仓库,活跃中"
|
||||
},
|
||||
{
|
||||
"title": "Poimen记忆系统",
|
||||
"description": "具有分层RBAC的分布式图RAG基础设施和维基链接索引。",
|
||||
"longDescription": "三层上下文检索管道,支持PageRank风格的链接评分、混合搜索融合(HNSW + BM25)和基于OIDC的多租户知识图访问控制。",
|
||||
"stat": "图-RAG, pgvector, OpenSearch, Rust + Actix-web",
|
||||
"highlight": "双向维基链接索引配RRF融合 + 分层RBAC——50ms签名匹配层、图增强混合搜索层、Obsidian兜底。",
|
||||
"bullets": [
|
||||
"图-RAG维基链接索引化(Rust、pgvector、OpenSearch):从[[维基链接]]语法构建双向链接图。PageRank风格评分传播提升链接文档的相关性。RRF融合合并HNSW余弦相似度(pgvector)+ BM25词汇排名(OpenSearch)。WikiScopedFilter将遍历限制在项目边界内。",
|
||||
"三层上下文检索(Actix-web, tokio):异步管道——第1层:MD5签名匹配(<50ms),第2层:图增强混合搜索含链接距离衰减,第3层:Obsidian API兜底。预算感知的响应组装优先丢弃低优先层。基于瓦片的Jaccard去重(>0.5)防止冗余块。",
|
||||
"分层RBAC(Authentik OIDC、JWT、Kubernetes):角色→AccessRule[]→AccessScope模型,包含项目/可见性/所有者/组约束。JWT角色声明映射到YAML规则;AccessGuard.filter_resources()应用检索后过滤。双写索引器(通过队列保证最终一致性)维护RBAC感知视图。SOPS/age加密,ArgoCD部署。"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user