This commit is contained in:
parent
0be50b6c24
commit
2c37e7fa62
39 changed files with 410 additions and 397 deletions
|
|
@ -10,7 +10,7 @@ import {
|
|||
} from '../lib/site';
|
||||
import defaultOg from '../assets/og-default.jpg';
|
||||
|
||||
const STARTING_POINTS = 4;
|
||||
const STARTING_POINTS = 5;
|
||||
|
||||
const posts = await getPublishedPosts();
|
||||
const startingPoints = posts
|
||||
|
|
@ -18,13 +18,27 @@ const startingPoints = posts
|
|||
.sort((a, b) => (a.data.featuredOrder ?? 99) - (b.data.featuredOrder ?? 99))
|
||||
.slice(0, STARTING_POINTS);
|
||||
|
||||
const STARTING_POINT_NOTES: Record<string, string> = {
|
||||
'greatai-ai-deployment-api': 'Small API as policy.',
|
||||
'reconcile-text-3-way-merge':
|
||||
'Constraints (no history, three runtimes) pick the design.',
|
||||
'sdf-2d-ray-tracing': 'Mobile GPU as the architecture.',
|
||||
'life-towers-immutable-tries': 'Data structure as the protocol.',
|
||||
'nuclear-cooling-simulation': 'Two graphs are simpler than one big one.',
|
||||
};
|
||||
|
||||
const startingPointsAnnotated = startingPoints.map((post) => ({
|
||||
post,
|
||||
note: STARTING_POINT_NOTES[post.id.replace(/\.mdx?$/, '')],
|
||||
}));
|
||||
|
||||
const personImage = await optimizeOgImage(defaultOg);
|
||||
|
||||
// Canonical Person JSON-LD. Other pages reference this entity by @id.
|
||||
const personJsonLd = buildPersonJsonLd({
|
||||
jobTitle: 'Software Engineer',
|
||||
description:
|
||||
'Software engineer with an MSc in Computer Science working on AI/ML systems, web platforms, graphics, simulations, and tools.',
|
||||
'Software engineer who keeps reaching for the same two moves: let the hard constraint pick the data structure, then keep the API small enough to defend.',
|
||||
knowsAbout: [
|
||||
'Software architecture',
|
||||
'AI/ML systems',
|
||||
|
|
@ -40,24 +54,23 @@ const personJsonLd = buildPersonJsonLd({
|
|||
|
||||
<Page
|
||||
title="About"
|
||||
description="A direct summary of my background, technical interests, and best starting points."
|
||||
description="A few sentences about the two moves I keep reaching for, and the posts that show them in different shapes."
|
||||
jsonLd={personJsonLd}
|
||||
ogType="profile"
|
||||
>
|
||||
<div class="prose">
|
||||
<p>
|
||||
I am Andras Schmelczer, a software engineer with an MSc in Computer Science and more
|
||||
than six years of professional engineering experience. My work spans AI/ML systems,
|
||||
web platforms, graphics, simulations, and tools, and I like projects where
|
||||
architecture, constraints, and product usefulness all matter.
|
||||
I'm Andras. I write software for a living, and have done so for about six years. MSc
|
||||
in CS. The first non-trivial thing I finished was a Raspberry Pi music visualiser
|
||||
driving LED strips through MOSFETs in 2016, and I've been chasing that same feeling
|
||||
— pick something I can't yet do, finish it — ever since.
|
||||
</p>
|
||||
<p>
|
||||
I am especially interested in architecting and building large-scale systems,
|
||||
particularly around AI/ML. In my own time I also return to shaders, data
|
||||
visualization, simulations, and occasionally microcontrollers. The
|
||||
<a href="/articles/">articles</a> and <a href="/projects/">projects</a> indexes are the
|
||||
best way to understand that range; the CV and contact links are here when a direct summary
|
||||
is more useful.
|
||||
Two patterns show up in almost everything here. First, the hard constraint usually
|
||||
picks the data structure: an 8-bit ALU, a mobile GPU, a single static HTML file, a
|
||||
cross-language ABI, no edit history. Second, once the data structure is right, the
|
||||
API shrinks to something I can defend in one paragraph. When I get those two right I
|
||||
tend to like the result years later. When I don't, I say so in the writeup.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -65,17 +78,22 @@ const personJsonLd = buildPersonJsonLd({
|
|||
<h2 id="quick-facts">Quick Facts</h2>
|
||||
<dl>
|
||||
<div>
|
||||
<dt>Focus</dt>
|
||||
<dt>Lives in</dt>
|
||||
<dd>Code. Also Europe.</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Studied</dt>
|
||||
<dd>
|
||||
Software systems, AI deployment, architecture, graphics, data visualization
|
||||
MSc Computer Science. BSc thesis on SDF-2D, MSc thesis on GreatAI — both have
|
||||
writeups below.
|
||||
</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Education</dt>
|
||||
<dd>MSc in Computer Science</dd>
|
||||
<dt>Languages I'm fastest in</dt>
|
||||
<dd>TypeScript, Python, Rust. C or Rust when bytes matter.</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Contact</dt>
|
||||
<dt>Email</dt>
|
||||
<dd>
|
||||
<address>
|
||||
<a href={`mailto:${site.email}`}>{site.email}</a>
|
||||
|
|
@ -83,7 +101,7 @@ const personJsonLd = buildPersonJsonLd({
|
|||
</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>Links</dt>
|
||||
<dt>Elsewhere</dt>
|
||||
<dd class="about-links">
|
||||
<a href={site.cv} rel="noopener">CV</a>
|
||||
<a href={site.github} rel="noopener me">GitHub</a>
|
||||
|
|
@ -95,26 +113,54 @@ const personJsonLd = buildPersonJsonLd({
|
|||
|
||||
<section class="about-section">
|
||||
<div class="section-heading">
|
||||
<h2 id="best-starting-points">Best Starting Points</h2>
|
||||
<a href="/articles/">Browse all articles <span aria-hidden="true">→</span></a>
|
||||
<h2 id="best-starting-points">Five posts that show the two moves</h2>
|
||||
<a href="/articles/">All articles <span aria-hidden="true">→</span></a>
|
||||
</div>
|
||||
<ArticleList posts={startingPoints} />
|
||||
<div class="prose starting-point-notes">
|
||||
<p><strong>Why these five:</strong></p>
|
||||
<ul>
|
||||
{
|
||||
startingPointsAnnotated.map(({ post, note }) =>
|
||||
note ? (
|
||||
<li>
|
||||
<strong>{post.data.title}</strong> — {note}
|
||||
</li>
|
||||
) : null
|
||||
)
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="about-section facts">
|
||||
<h2 id="working-style">How I Work</h2>
|
||||
<h2 id="working-style">A few things I believe</h2>
|
||||
<div class="prose">
|
||||
<p>
|
||||
I am strongest when I can reason through a system end to end: the data model, the
|
||||
API shape, the performance constraints, the operational risks, and the human path
|
||||
through the tool. The projects on this site are older and newer examples of that
|
||||
habit.
|
||||
</p>
|
||||
<p>
|
||||
I care about simple interfaces over accidental complexity, and I prefer technical
|
||||
depth that can be explained clearly. That is why this site is structured around
|
||||
articles rather than screenshots and slogans.
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Most "interesting algorithm" problems are actually data-structure problems
|
||||
wearing a costume. Pick the structure that makes the comparison, the query, or
|
||||
the merge trivial, and the algorithm fits in a screen.
|
||||
</li>
|
||||
<li>
|
||||
A library you can explain in one paragraph beats a framework you have to teach.
|
||||
I'll take five lines of WGSL I can read over one beautiful 300-line kernel.
|
||||
</li>
|
||||
<li>
|
||||
The cost of a project is whether I'll still trust it in three years. The ones I
|
||||
trust are the ones with a tiny surface and a boring centre.
|
||||
</li>
|
||||
<li>
|
||||
I like working at the seams: firmware meeting a render loop, a Rust core
|
||||
crossing wasm-bindgen and pyo3, a client and server agreeing on what "next
|
||||
state" means. That's where the design work actually is.
|
||||
</li>
|
||||
<li>
|
||||
Caveat: the writeups here are biased toward things that worked. The dead
|
||||
prototypes don't have URLs and I should probably write up one of them honestly
|
||||
sometime.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</Page>
|
||||
|
|
|
|||
|
|
@ -24,17 +24,16 @@ const personJsonLd = buildPersonJsonLd();
|
|||
|
||||
<Base jsonLd={personJsonLd}>
|
||||
<section class="home-intro">
|
||||
<p class="eyebrow">
|
||||
Software systems, AI deployment, graphics, simulations, and tools
|
||||
</p>
|
||||
<p class="eyebrow">A notebook, written after the fact</p>
|
||||
<h1>
|
||||
Andras Schmelczer writes about building software that has to work under real
|
||||
constraints.
|
||||
Andras Schmelczer — writing up the projects, the trades I made inside them, and the
|
||||
ones I'd make differently now.
|
||||
</h1>
|
||||
<p>
|
||||
I am a software engineer with an MSc in Computer Science. This site is mostly a
|
||||
notebook of technical articles and project writeups; the hiring details live on the
|
||||
<a href="/about/">About</a> page.
|
||||
Most of these started because I couldn't yet do the thing. An 8-bit ALU, a mobile
|
||||
GPU, a single static HTML file, a cross-language ABI, three editors I didn't
|
||||
control. The <a href="/about/">About page</a> is where I describe what I keep reaching
|
||||
for; the posts below are the evidence.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue