mirror of
https://github.com/NotXia/notxia.github.io.git
synced 2025-12-14 19:01:51 +01:00
Compare commits
14 Commits
34d8cf5b5c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ecfffc1fb5 | |||
|
c4e5e63ca0
|
|||
|
eea819ee9c
|
|||
| c9d19d42c7 | |||
|
47871f0a6f
|
|||
| 03a38797c6 | |||
|
8afc8b740b
|
|||
|
fa864d7a9c
|
|||
| 5bc4f16f6e | |||
|
3d92665897
|
|||
|
43bd36cad6
|
|||
|
ce1793f8ad
|
|||
|
a0cd29fc93
|
|||
| e626fef333 |
BIN
assets/images/profile/me.jpg
Normal file
BIN
assets/images/profile/me.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 222 KiB |
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<ClientOnly>
|
||||
<div v-if="show_banner" class="w-full h-full">
|
||||
<div v-if="show_banner" class="w-full h-full" data-nosnippet>
|
||||
|
||||
<div ref="container_cookie" class="absolute top-0 left-0 h-full w-full pointer-events-none z-40">
|
||||
<canvas ref="canvas_cookie" :width="canvas_width" :height="canvas_height"></canvas>
|
||||
|
||||
@ -1,29 +1,30 @@
|
||||
<template>
|
||||
|
||||
<div class="relative">
|
||||
<div class="flex items-center h-60 w-60">
|
||||
<img v-show="picture === 'dark'" src="~/assets/images/profile/picture-dark.png" alt="" class="max-h-full max-w-full">
|
||||
<div class="flex items-center h-80 w-80">
|
||||
<!-- <img v-show="picture === 'dark'" src="~/assets/images/profile/picture-dark.png" alt="" class="max-h-full max-w-full">
|
||||
<img v-show="picture === 'light'" src="~/assets/images/profile/picture-light.png" alt="" class="max-h-full max-w-full">
|
||||
<img v-show="picture === 'bright'" src="~/assets/images/profile/picture-bright.png" alt="" class="max-h-full max-w-full">
|
||||
<img v-show="picture === 'no light'" src="~/assets/images/profile/picture-nolight.png" alt="" class="max-h-full max-w-full">
|
||||
<img v-show="picture === 'no light'" src="~/assets/images/profile/picture-nolight.png" alt="" class="max-h-full max-w-full"> -->
|
||||
<img src="~/assets/images/profile/me.jpg" alt="Me with an Eevee hat holding an umbrella" class="max-h-full max-w-full rounded-md">
|
||||
</div>
|
||||
|
||||
<div v-if="message" class="absolute bottom-0 left-0 w-full">
|
||||
<!-- <div v-if="message" class="absolute bottom-0 left-0 w-full">
|
||||
<p class="w-fit mx-auto px-2 pt-1 mb-1 bg-gray-200 dark:bg-gray-700">{{ message }}</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
|
||||
<script setup lang="ts">
|
||||
<!-- <script setup lang="ts">
|
||||
const { t } = useI18n();
|
||||
|
||||
const picture = ref(getTheme());
|
||||
const message = ref("");
|
||||
|
||||
|
||||
// Finite-state automata to handle theme changes
|
||||
Finite-state automata to handle theme changes
|
||||
interface State {
|
||||
image: string; // Image to display
|
||||
message: string; // Message to display (string to parse with i18n)
|
||||
@ -72,8 +73,8 @@
|
||||
}
|
||||
});
|
||||
|
||||
// Observes for theme changes
|
||||
Observes for theme changes
|
||||
observer.observe((document.querySelector("html") as Node), { attributes: true, attributeFilter: ['class'] });
|
||||
});
|
||||
|
||||
</script>
|
||||
</script> -->
|
||||
@ -5,9 +5,9 @@
|
||||
|
||||
<div class="w-full h-full" ref="container_timeline">
|
||||
<div class="flex justify-center w-full h-full" v-if="month_offset > 0 && min_date && max_date">
|
||||
|
||||
|
||||
<!-- Left side -->
|
||||
<ol class="relative border-r text-right w-1/2 border-zinc-300 dark:border-zinc-700">
|
||||
<ol class="relative text-right w-1/2">
|
||||
<li class="mr-4 absolute right-0" v-for="event in left_events" :key="props.left[event.index].title" :style="`top: ${event.offset*month_offset}px`">
|
||||
<div class="relative">
|
||||
<!-- Start point -->
|
||||
@ -29,11 +29,13 @@
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<div class="w-4"></div>
|
||||
|
||||
<div class="w-2"></div>
|
||||
<div class="w-1 border-l border-zinc-300 dark:border-zinc-700 ml-1"></div>
|
||||
<div class="w-2"></div>
|
||||
|
||||
<!-- Right side -->
|
||||
<ol class="relative w-1/2 border-l border-zinc-300 dark:border-zinc-700">
|
||||
<ol class="relative w-1/2">
|
||||
<li class="ml-4 absolute left-0" v-for="event in right_events" :key="props.right[event.index].title" :style="`top: ${event.offset*month_offset}px`">
|
||||
<div class="relative">
|
||||
<!-- Start point -->
|
||||
@ -69,11 +71,11 @@
|
||||
|
||||
const props = defineProps({
|
||||
right: {
|
||||
type: Object as PropType<Event[]>,
|
||||
type: Array<Event>,
|
||||
default: []
|
||||
},
|
||||
left: {
|
||||
type: Object as PropType<Event[]>,
|
||||
type: Array<Event>,
|
||||
default: []
|
||||
},
|
||||
});
|
||||
|
||||
@ -43,6 +43,11 @@
|
||||
title: 'CISCO: IT Essentials', time_label: '2018',
|
||||
description: 'CISCO Networking Academy',
|
||||
start: new Date(2018, september, 1), end: new Date(2018, september, 1)
|
||||
},
|
||||
{
|
||||
title: $t('research intern'), time_label: `${$t('m_7')} 2025 - ${$t('m_1')} 2026`,
|
||||
description: `National Institute of Informatics, Tokyo, ${$t('japan')}`,
|
||||
start: new Date(2025, july, 14), end: new Date(2026, january, 9)
|
||||
}
|
||||
]" />
|
||||
</div>
|
||||
|
||||
23
components/resume/paper-reference/ConferenceReference.vue
Normal file
23
components/resume/paper-reference/ConferenceReference.vue
Normal file
@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div class="md:ml-2 mt-4">
|
||||
<span v-for="(author, i) in props.authors">
|
||||
<span :class="`${props.highlight_author == author ? 'font-bold' : ''}`">{{ author }}</span><span v-if="i < props.authors.length-1">; </span>
|
||||
</span>.
|
||||
({{ props.year }}). "{{ props.title }}".
|
||||
<span>{{ conference }}</span>.
|
||||
<ReferenceLink :doi="doi" :openreview="openreview" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script setup lang="ts">
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
authors: { type: Array<String>, default: [] },
|
||||
highlight_author: String,
|
||||
year: String,
|
||||
conference: String,
|
||||
doi: { type: String, default: '' },
|
||||
openreview: { type: String, default: '' }
|
||||
});
|
||||
</script>
|
||||
23
components/resume/paper-reference/JournalReference.vue
Normal file
23
components/resume/paper-reference/JournalReference.vue
Normal file
@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div class="md:ml-2 mt-4">
|
||||
<span v-for="(author, i) in props.authors">
|
||||
<span :class="`${props.highlight_author == author ? 'font-bold' : ''}`">{{ author }}</span><span v-if="i < props.authors.length-1">; </span>
|
||||
</span>.
|
||||
({{ props.year }}). "{{ props.title }}".
|
||||
<span class="italic">{{ journal }}</span>.
|
||||
<ReferenceLink :doi="doi" :openreview="openreview" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script setup lang="ts">
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
authors: { type: Array<String>, default: [] },
|
||||
highlight_author: String,
|
||||
year: String,
|
||||
journal: String,
|
||||
doi: { type: String, default: '' },
|
||||
openreview: { type: String, default: '' }
|
||||
});
|
||||
</script>
|
||||
13
components/resume/paper-reference/ReferenceLink.vue
Normal file
13
components/resume/paper-reference/ReferenceLink.vue
Normal file
@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<span v-if="doi === '' && openreview === ''">{{ $t("under_review") }}</span>
|
||||
<span v-if="doi !== ''"><span class="font-mono">DOI</span>: <a :href="`https://doi.org/${props.doi}`" class="font-mono hover:underline">{{ props.doi }}</a>.</span>
|
||||
<span v-if="openreview !== ''"><span class="font-mono">OpenReview</span>: <a :href="`https://openreview.net/forum?id=${props.openreview}`" class="font-mono hover:underline">{{ props.openreview }}</a>.</span>
|
||||
</template>
|
||||
|
||||
|
||||
<script setup lang="ts">
|
||||
const props = defineProps({
|
||||
doi: { type: String, default: '' },
|
||||
openreview: { type: String, default: '' }
|
||||
});
|
||||
</script>
|
||||
46
components/resume/sections/Publications.vue
Normal file
46
components/resume/sections/Publications.vue
Normal file
@ -0,0 +1,46 @@
|
||||
<template>
|
||||
<div>
|
||||
<h2 class="text-4xl font-bold tracking-wide">{{ $t("publications") }}</h2>
|
||||
|
||||
|
||||
|
||||
<ConferenceReference
|
||||
title = "UnitMath: Unit-Aware Numerical Reasoning and Dimensional Consistency for Scientific Table Claims"
|
||||
:authors = "['AI Scientist', 'Ho, Xanh', 'Xia, Tian Cheng', 'Duong, Khoa', 'Wu, Yun-Ang', 'Nguyen, Ha-Thanh', 'Aizawa, Akiko' ]"
|
||||
:highlight_author = "highlight_author"
|
||||
year = "2025"
|
||||
conference = "Open Conference of AI Agents for Science 2025"
|
||||
openreview = "cK8YYMc65B" />
|
||||
|
||||
<ConferenceReference
|
||||
title = "Decontextualization, Everywhere: A Systematic Audit on PeerQA"
|
||||
:authors = "['AI Scientist', 'Ho, Xanh', 'Xia, Tian Cheng', 'Duong, Khoa', 'Wu, Yun-Ang', 'Nguyen, Ha-Thanh', 'Aizawa, Akiko' ]"
|
||||
:highlight_author = "highlight_author"
|
||||
year = "2025"
|
||||
conference = "Open Conference of AI Agents for Science 2025"
|
||||
openreview = "OG8sFxeNHv" />
|
||||
|
||||
|
||||
<JournalReference
|
||||
title = "Large Language Models Evaluation for PubMed Extractive Summarisation"
|
||||
:authors = "['Xia, Tian Cheng', 'Bertini, Flavio', 'Montesi, Danilo']"
|
||||
:highlight_author = "highlight_author"
|
||||
year = "2025"
|
||||
journal = "ACM Transactions on Computing for Healthcare"
|
||||
doi = "10.1145/3766905" />
|
||||
|
||||
<JournalReference
|
||||
title = "The Design and Realization of a Self-Hosted and Open-Source Agile Internal Development Platform"
|
||||
:authors = "['Ciancarini, Paolo', 'Giancarlo, Raffaele', 'Grimaudo, Gennaro', 'Missiroli, Marcello', 'Xia, Tian Cheng']"
|
||||
:highlight_author = "highlight_author"
|
||||
year = "2025"
|
||||
journal = "IEEE Access"
|
||||
doi = "10.1109/ACCESS.2025.3564141" />
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const highlight_author = "Xia, Tian Cheng";
|
||||
</script>
|
||||
@ -2,8 +2,18 @@
|
||||
<div>
|
||||
<h2 class="text-4xl font-bold tracking-wide">{{ $t("working experience") }}</h2>
|
||||
|
||||
<ActivityParagraph :title="$t('pcto toyota')" subtitle="Toyota Material Handling Manufacturing Italy"
|
||||
:right_text="`${$t('december')} 2019 | ${$t('july')} 2019 | ${$t('february')} 2019`">
|
||||
<ActivityParagraph
|
||||
:title="$t('research intern')"
|
||||
:subtitle="`National Institute of Informatics, Tokyo, ${$t('japan')}`"
|
||||
:right_text="`${$t('july')} 2025 - ${$t('january')} 2026`"
|
||||
>
|
||||
</ActivityParagraph>
|
||||
|
||||
<ActivityParagraph
|
||||
:title="$t('pcto toyota')"
|
||||
:subtitle="`Toyota Material Handling Manufacturing, Bologna, ${$t('italy')}`"
|
||||
:right_text="`${$t('december')} 2019 | ${$t('july')} 2019 | ${$t('february')} 2019`"
|
||||
>
|
||||
{{ $t("pcto toyota description") }}
|
||||
<ul class="list-inside list-disc">
|
||||
<li>{{ $t("pcto toyota description list1") }}</li>
|
||||
|
||||
@ -4,8 +4,9 @@ export default {
|
||||
"certificates": "Certificates",
|
||||
"skills": "Skills",
|
||||
"other": "Other activities",
|
||||
"publications": "Publications",
|
||||
"link to certificate": "Link to certificate",
|
||||
"future": "What will happen?",
|
||||
"future": "What will happen next?",
|
||||
"like timelines": "I like timelines",
|
||||
|
||||
"cv_link": "/cv/cv_xia_en1.pdf",
|
||||
@ -18,6 +19,9 @@ export default {
|
||||
"m_7": "July", "m_8": "Aug", "m_9": "Sept", "m_10": "Oct", "m_11": "Nov", "m_12": "Dec",
|
||||
"present": "present",
|
||||
|
||||
"italy": "Italy",
|
||||
"japan": "Japan",
|
||||
|
||||
"final grade": "Final grade",
|
||||
"graduation grade": "Graduation grade",
|
||||
"with honors": "cum laude",
|
||||
@ -33,7 +37,7 @@ export default {
|
||||
|
||||
"web development": "Web development",
|
||||
"devops": "DevOps",
|
||||
"data analysis": "Data analysis",
|
||||
"data analysis": "Data analysis and machine learning",
|
||||
"other programming languages": "Other programming languages",
|
||||
|
||||
|
||||
@ -43,7 +47,7 @@ export default {
|
||||
"cs50 ai description": "Problem solving using algorithms based on graphs, statistics, optimization and machine learning.",
|
||||
|
||||
|
||||
"pcto toyota": "IT/IS Office, Internship",
|
||||
"pcto toyota": "IT/IS Office Intern",
|
||||
"pcto toyota description": "Internship organized during high school.",
|
||||
"pcto toyota description list1": "IT support.",
|
||||
"pcto toyota description list2": "Maintenance and setup of network devices.",
|
||||
@ -59,5 +63,10 @@ export default {
|
||||
"the Zerynth Studio development environment.",
|
||||
|
||||
"epfl": "EPFL, Switzerland",
|
||||
"lauzhack description": "24-hour hackathon where my team tackled and was awarded first prize for the challenge proposed by Bristol Myers Squibb on probabilistic time series forecasting."
|
||||
"lauzhack description": "24-hour hackathon where my team tackled and was awarded first prize for the challenge proposed by Bristol Myers Squibb on probabilistic time series forecasting.",
|
||||
|
||||
"under_review": "Under review",
|
||||
"research intern": "Research Intern",
|
||||
|
||||
"nii internship": "Research Intern"
|
||||
}
|
||||
@ -4,6 +4,7 @@ export default {
|
||||
"certificates": "Certificati",
|
||||
"skills": "Competenze",
|
||||
"other": "Altre attività",
|
||||
"publications": "Pubblicazioni",
|
||||
"link to certificate": "Link al certificato",
|
||||
"future": "Chissà cosa succederà",
|
||||
"like timelines": "Mi piacciono le linee del tempo",
|
||||
@ -18,6 +19,9 @@ export default {
|
||||
"m_7": "Lug", "m_8": "Ago", "m_9": "Set", "m_10": "Ott", "m_11": "Nov", "m_12": "Dic",
|
||||
"present": "in corso",
|
||||
|
||||
"italy": "Italia",
|
||||
"japan": "Giappone",
|
||||
|
||||
"final grade": "Valutazione finale",
|
||||
"graduation grade": "Valutazione finale",
|
||||
"with honors": "con lode",
|
||||
@ -33,7 +37,7 @@ export default {
|
||||
|
||||
"web development": "Sviluppo web",
|
||||
"devops": "DevOps",
|
||||
"data analysis": "Data analysis",
|
||||
"data analysis": "Data analysis e machine learning",
|
||||
"other programming languages": "Altri linguaggi di programmazione",
|
||||
|
||||
|
||||
@ -58,5 +62,9 @@ export default {
|
||||
"l'ambiente di sviluppo Zerynth Studio.",
|
||||
|
||||
"epfl": "EPFL, Svizzera",
|
||||
"lauzhack description": "Hackathon di 24 ore in cui la mia squadra ha risolto e vinto il primo posto della challenge proposta da Bristol Myers Squibb su predizioni probabilistiche di time series."
|
||||
"lauzhack description": "Hackathon di 24 ore in cui la mia squadra ha risolto e vinto il primo posto della challenge proposta da Bristol Myers Squibb su predizioni probabilistiche di time series.",
|
||||
|
||||
"under_review": "In revisione",
|
||||
|
||||
"research intern": "Ricercatore tirocinante",
|
||||
}
|
||||
@ -20,13 +20,12 @@
|
||||
<p>
|
||||
Oltre a premere tasti sulla tastiera,
|
||||
mi piace leggere,
|
||||
sperimentare in cucina <span class="text-xs">(preferibilmente con un estintore nei paraggi)</span>
|
||||
e giocare a giochi strategici.
|
||||
sperimentare in cucina <span class="text-xs">(preferibilmente con un estintore nei paraggi)</span>,
|
||||
giocare a giochi strategici
|
||||
e spendere decisamente troppo tempo sul mio home server.
|
||||
</p>
|
||||
<p>
|
||||
Secondo <a class="hover:underline italic" href="https://www.16personalities.com">16Personalities</a> sono un
|
||||
<a class="font-mono hover:underline" href="https://www.16personalities.com/profiles/6b57f54bf1242">Architetto (INTJ)</a>.
|
||||
Devo dire che la descrizione è decisamente accurata.
|
||||
Dovrei probabilmente scrivere qualcos'altro, ma sono terribile a scrivere biografie, quindi tieni una ciambella 🍩.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -42,13 +41,12 @@
|
||||
<p>
|
||||
Aside from pressing keys on a keyboard,
|
||||
I like reading,
|
||||
cooking <span class="text-xs">(preferably with a fire extinguisher nearby)</span>
|
||||
and playing strategic games.
|
||||
cooking <span class="text-xs">(preferably with a fire extinguisher nearby)</span>,
|
||||
playing strategic games
|
||||
and spending way too much time on my home server.
|
||||
</p>
|
||||
<p>
|
||||
According to <a class="hover:underline italic" href="https://www.16personalities.com">16Personalities</a>, I'm an
|
||||
<a class="font-mono hover:underline" href="https://www.16personalities.com/profiles/6b57f54bf1242">Architect (INTJ)</a>.
|
||||
I must admit that the description is quite accurate.
|
||||
I should probably write some more about me, but I'm terrible at writing biographies, so here's a donut 🍩.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
@ -21,10 +21,11 @@
|
||||
<div class="flex flex-col md:flex-row">
|
||||
<div class="w-full md:w-2/3 order-1 md:order-2 md:pl-4 [&>*]:mt-8 first:[&>*]:mt-0">
|
||||
<Education />
|
||||
<Certificates />
|
||||
<Work />
|
||||
<Certificates />
|
||||
<Skills />
|
||||
<Other />
|
||||
<Publications />
|
||||
</div>
|
||||
|
||||
<div class="w-full md:w-1/3 mt-20 md:mt-0 order-2 md:order-1">
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
const EASTER_EGGS = ["cookie", "future", "change-something", "picture-bright", "picture-nolights"];
|
||||
const EASTER_EGGS = ["cookie", "future", "change-something"];
|
||||
|
||||
export function addFoundEasterEgg(name:string):void {
|
||||
if (!EASTER_EGGS.includes(name)) { return; }
|
||||
|
||||
Reference in New Issue
Block a user