mirror of
https://github.com/alex-s168/website.git
synced 2025-09-10 09:05:08 +02:00
111 lines
3.9 KiB
Typst
111 lines
3.9 KiB
Typst
#import "../common.typ": *
|
|
#import "../simple-page-layout.typ": *
|
|
#import "../core-page-style.typ": *
|
|
#import "../build/pages.typ": articles
|
|
|
|
#let tree-list(..elements) = {
|
|
gen-tree-from-headings(elemfn: (content, x) => [
|
|
#html-opt-elem("p", (style:"line-height:1.1"))[
|
|
#html-style("display:flex; text-indent:0pt;")[
|
|
#html-style("margin-right: 11pt;", content)
|
|
#html-style("flex:1;", x.body)
|
|
]
|
|
]
|
|
], elements.pos())
|
|
}
|
|
|
|
#simple-page(
|
|
gen-table-of-contents: false,
|
|
gen-index-ref: false,
|
|
min-pdf-link: false,
|
|
[Alexander Nutz]
|
|
)[
|
|
|
|
#br()
|
|
#title[alex_s168]
|
|
#br()
|
|
|
|
Articles (#html-href("atom.xml")[Atom feed])
|
|
#br()
|
|
#tree-list(..articles.filter(x => x.in-homepage).map(x => (
|
|
level: 1,
|
|
body: html-href(x.url, x.title)
|
|
)))
|
|
#br()
|
|
|
|
Socials
|
|
#br()
|
|
#tree-list(
|
|
(level:1, body: link("https://github.com/alex-s168")[ GitHub ]),
|
|
(level:1, body: [Discord: alex_s168]),
|
|
(level:1, body: link("mailto:alexandernutz68@gmail.com")[ E-Mail ]),
|
|
(level:1, body: link("https://njump.me/npub17semnd065ahhsajlylkyd3lahcykpuw45rhj7cge3uqdfq24y84st0g4gr")[ nostr ]),
|
|
(level:1, body: link("https://codeberg.org/alex-s168")[ Codeberg ]),
|
|
)
|
|
#br()
|
|
|
|
Noteable projects
|
|
#br()
|
|
#tree-list(
|
|
(level:1, body: [ Programming languages and compilers ]),
|
|
(level:2, body: [ #link("https://github.com/vxcc-backend/vxcc-new")[ vxcc ]: WiP multi-level compiler ]),
|
|
(level:2, body: [ #link("https://github.com/alex-s168/uiuac")[ uiuac ]: (discontinued) Optimizing compiler for the #link("https://uiua.org")[Uiua programming language] ]),
|
|
(level:2, body: [ #link("https://github.com/Lambda-Mountain-Compiler-Backend/lambda-mountain")[ LSTS's standard library ] ]),
|
|
(level:2, body: [ FP programming language compiler mostly using #link("https://en.wikipedia.org/wiki/Interaction_nets")[interaction nets] ]),
|
|
(level:2, body: [ #link("https://github.com/alex-s168/lil-rs")[ lil-rs ]: WiP implementation of #link("http://beyondloom.com/decker/lil.html")[lil] ]),
|
|
|
|
(level:1, body: [ Misc. ]),
|
|
(level:2, body: [ #link("https://github.com/alex-s168/tpre")[ tpre ]: Fast and minimal RegEx engine ]),
|
|
(level:2, body: [ nostr relay implementation ]),
|
|
|
|
(level:1, body: [ PCBs ]),
|
|
(level:2, body: [ #link("project-etc-nand.typ.desktop.html")[ etc-nand ]: #link("https://github.com/ETC-A/etca-spec/")[ ETC.A ] CPU from NAND gates ]),
|
|
|
|
(level:1, body: [ FPGA designs ]),
|
|
(level:2, body: [ RMII MAC in #link("https://www.chisel-lang.org/")[ Chisel ] ]),
|
|
(level:2, body: [ Configurable AES accelerator in #link("https://www.chisel-lang.org/")[ Chisel ] ]),
|
|
)
|
|
|
|
#br()
|
|
Skills
|
|
#br()
|
|
#tree-list(
|
|
(level:1, body: [ Programming languages ]),
|
|
(level:2, body: [ C++ and C ]),
|
|
(level:2, body: [ Rust ]),
|
|
(level:2, body: [ #link("https://uiua.org")[Uiua] ]),
|
|
(level:2, body: [ Python, Lua, ... ]),
|
|
|
|
(level:1, body: [ Writing compiler frontends but mostly backends ]),
|
|
(level:1, body: [ Hardware design with #link("https://www.chisel-lang.org/")[ Chisel ] and Verilog ]),
|
|
(level:1, body: [ Internals of MLIR ]),
|
|
)
|
|
|
|
#br()#br()
|
|
This website is written almost entirely in #link("https://typst.app/docs")[typst].
|
|
|
|
#link("https://github.com/alex-s168/website")[Website source code]
|
|
|
|
#br()#br()
|
|
The latest version of my badge will always be at:\
|
|
#raw(people.alex.badge)
|
|
|
|
#context if is-web and is-html() { // excludes min.html builds too
|
|
let scale = 1.3
|
|
for id in people.keys() {
|
|
let person = people.at(id)
|
|
html.elem("a", attrs:(href:person.url, target:"_blank"))[
|
|
#html.elem("img", attrs:(
|
|
src: res-path()+"badges/"+id,
|
|
alt: "link to " + person.nick,
|
|
attributionsrc: person.badge,
|
|
fetchpriority: "low",
|
|
style: "padding-left:10px; padding-right:14px",
|
|
width: str(88*scale),
|
|
height: str(31*scale),
|
|
))
|
|
]
|
|
}
|
|
}
|
|
]
|