Compare commits

..

6 Commits

Author SHA1 Message Date
ba9327b424 Add animation 2026-04-14 23:43:49 +02:00
fb0c65fba7 Update cv 2026-04-14 23:30:12 +02:00
d78e00287f Add dedicated publications section 2026-04-14 23:25:20 +02:00
1e78782e7e Update timeline 2026-04-14 23:25:07 +02:00
1070e23aa9 Update home 2026-04-14 23:10:29 +02:00
241c04f4fd Update projects 2026-04-14 23:10:24 +02:00
41 changed files with 253 additions and 51 deletions

View File

@@ -0,0 +1,4 @@
<svg width="32" height="32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M32 16c0 8.837-7.163 16-16 16-8.838 0-16-7.163-16-16C0 7.162 7.162 0 16 0c8.837 0 16 7.162 16 16Z" fill="#A6CE39"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M18.813 9.637h-5.45v13.9h5.474c4.555 0 7.35-3.378 7.35-6.95 0-1.635-.562-3.372-1.77-4.704-1.215-1.336-3.065-2.246-5.605-2.246ZM18.6 21.3h-2.813v-9.425H18.5c1.823 0 3.12.552 3.96 1.4.842.849 1.252 2.021 1.252 3.312 0 .784-.239 1.967-.993 2.948-.745.969-2.01 1.765-4.119 1.765Zm5.311-4.026c-.251 1.74-1.494 4.276-5.311 4.276h-3.063H18.6c3.817 0 5.06-2.536 5.311-4.276Zm1.812-2.405c-.657-2.601-2.85-4.982-6.91-4.982h-5.2 5.2c4.06 0 6.253 2.38 6.91 4.982Zm.215 1.718ZM8.363 9.675v13.887h2.425V9.675H8.363Zm2.175 13.637H8.612h1.925ZM9.575 8.65c.84 0 1.513-.689 1.513-1.513 0-.823-.673-1.512-1.513-1.512-.838 0-1.512.674-1.512 1.513 0 .823.672 1.512 1.512 1.512Z" fill="#fff"/>
</svg>

After

Width:  |  Height:  |  Size: 973 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#4285f4" d="M256 411.12L0 202.667 256 0z"/><path fill="#356ac3" d="M256 411.12l256-208.453L256 0z"/><circle fill="#a0c3ff" cx="256" cy="362.667" r="149.333"/><path fill="#76a7fa" d="M121.037 298.667c23.968-50.453 75.392-85.334 134.963-85.334s110.995 34.881 134.963 85.334H121.037z"/></svg>

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

View File

@@ -1,6 +1,24 @@
<style>
@keyframes float {
0% {
transform: translate(0px, 0px);
}
50% {
transform: translate(-3px, -8px);
}
100% {
transform: translate(0px, 0px);
}
}
.animate-float {
animation: float 5s ease-in-out infinite;
}
</style>
<template> <template>
<div v-if="current_name !== ''" class="w-52"> <div v-if="current_name !== ''" class="w-52">
<img :src="current_image" alt="" class="h-40 max-w-xs max-w- mx-auto" @click="userChangeThing"> <img :src="current_image" alt="" class="h-40 max-w-xs max-w- mx-auto animate-float" @click="userChangeThing">
<p class="text-center text-sm mt-2 select-none">{{ $t(current_name) }}</p> <p class="text-center text-sm mt-2 select-none">{{ $t(current_name) }}</p>
</div> </div>
</template> </template>

View File

@@ -25,6 +25,7 @@
<NavLink to="/about" :label="$t('about')"/> <NavLink to="/about" :label="$t('about')"/>
<NavLink to="/projects" :label="$t('projects')"/> <NavLink to="/projects" :label="$t('projects')"/>
<NavLink to="/resume" :label="$t('resume')"/> <NavLink to="/resume" :label="$t('resume')"/>
<NavLink to="/publications" :label="$t('publications')"/>
<NavLink to="/contacts" :label="$t('contacts')"/> <NavLink to="/contacts" :label="$t('contacts')"/>
</ul> </ul>
</div> </div>

View File

@@ -6,7 +6,7 @@
<img src="~/assets/images/icons/wip.svg" class="h-6 sm:h-8 dark:invert"/> <img src="~/assets/images/icons/wip.svg" class="h-6 sm:h-8 dark:invert"/>
<span class="sm:text-lg font-bold ml-2">WIP</span> <span class="sm:text-lg font-bold ml-2">WIP</span>
</div> </div>
<h3 class="text-2xl font-semibold text-center text-gray-900 dark:text-white">{{ props.title }}</h3> <h3 class="text-2xl font-semibold text-center text-gray-900 dark:text-white md:mx-10">{{ props.title }}</h3>
<h4 v-if="props.subtitle" class="text font-semibold text-center text-gray-700 dark:text-gray-300">{{ props.subtitle }}</h4> <h4 v-if="props.subtitle" class="text font-semibold text-center text-gray-700 dark:text-gray-300">{{ props.subtitle }}</h4>
<div class="text-center mb-2"> <div class="text-center mb-2">
<a v-for="link in props.links" :href="link.url" class="font-mono inline-block hover:underline mx-2">{{ link.label }}</a> <a v-for="link in props.links" :href="link.url" class="font-mono inline-block hover:underline mx-2">{{ link.label }}</a>

View File

@@ -5,7 +5,7 @@
{ label: 'Repository', url: 'https://github.com/NotXia/animal-house' } { label: 'Repository', url: 'https://github.com/NotXia/animal-house' }
]"> ]">
<p class="text-center">{{ $t("unibo_21-22") }}</p> <!-- <p class="text-center">{{ $t("unibo_21-22") }}</p> -->
<p>{{ $t('animalhouse.description') }}</p> <p>{{ $t('animalhouse.description') }}</p>
<ul class="list-inside list-['-_']"> <ul class="list-inside list-['-_']">
<li>{{ $t('animalhouse.description.game') }}</li> <li>{{ $t('animalhouse.description.game') }}</li>

View File

@@ -1,15 +1,16 @@
<template> <template>
<ProjectCard <ProjectCard
:title="$t('bsc_thesis.title')" :title="$t('bsc_thesis.thesis_title')"
:subtitle="$t('bsc_thesis.thesis_title')" :subtitle="$t('bsc_thesis.title')"
:image="image" :image="image"
:links="[ :links="[
{ label: 'Repository1', url: 'https://github.com/NotXia/biomed-ext-summ' }, { label: 'Repository1', url: 'https://github.com/NotXia/biomed-ext-summ' },
{ label: 'Repository2', url: 'https://github.com/NotXia/pubmed-summ' }, { label: 'Repository2', url: 'https://github.com/NotXia/pubmed-summ' },
{ label: $t('thesis'), url: 'https://amslaurea.unibo.it/id/eprint/29686' } { label: $t('thesis'), url: 'https://amslaurea.unibo.it/id/eprint/29686' },
{ label: $t('paper'), url: 'https://doi.org/10.1145/3766905' }
]"> ]">
<p class="text-center">{{ $t("unibo_22-23") }}</p> <!-- <p class="text-center">{{ $t("unibo_22-23") }}</p> -->
<p>{{ $t("bsc_thesis.description") }}</p> <p>{{ $t("bsc_thesis.description") }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -0,0 +1,10 @@
<template>
<ProjectCard
title="Multiple Couriers Optimization"
:links="[
{ label: 'Repository', url: 'https://github.com/NotXia/couriers-optimization' }
]">
<p>{{ $t('couriers_optimization.description') }}</p>
</ProjectCard>
</template>

View File

@@ -0,0 +1,15 @@
<template>
<ProjectCard
title="Distributed Optimization" :image="image" image_classes="w-1/2"
:links="[
{ label: 'Repository', url: 'https://github.com/NotXia/distributed-optimization' }
]">
<p>{{ $t('distributed_optimization.description') }}</p>
</ProjectCard>
</template>
<script setup lang="ts">
import image from "@/assets/images/projects/distributed_optmization.png";
</script>

View File

@@ -1,11 +1,11 @@
<template> <template>
<ProjectCard <ProjectCard
title="Image deblur" :image="image" title="Image Deblur" :image="image"
:links="[ :links="[
{ label: 'Repository', url: 'https://github.com/NotXia/imaging' } { label: 'Repository', url: 'https://github.com/NotXia/imaging' }
]"> ]">
<p class="text-center">{{ $t("unibo_21-22") }}</p> <!-- <p class="text-center">{{ $t("unibo_21-22") }}</p> -->
<p>{{ $t('imaging.description') }}</p> <p>{{ $t('imaging.description') }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -0,0 +1,15 @@
<template>
<ProjectCard
:title="$t('instance_detection.title')" :image="image" image_classes=""
:links="[
{ label: 'Repository', url: 'https://github.com/NotXia/opencv-instance-detection' }
]">
<p>{{ $t('instance_detection.description') }}</p>
</ProjectCard>
</template>
<script setup lang="ts">
import image from "@/assets/images/projects/instance_detection.png";
</script>

View File

@@ -5,7 +5,7 @@
{ label: 'Repository', url: 'https://github.com/NotXia/MNKGame' } { label: 'Repository', url: 'https://github.com/NotXia/MNKGame' }
]"> ]">
<p class="text-center">{{ $t("unibo_20-21") }}</p> <!-- <p class="text-center">{{ $t("unibo_20-21") }}</p> -->
<p>{{ $t('mnk.description') }}</p> <p>{{ $t('mnk.description') }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -0,0 +1,14 @@
<template>
<ProjectCard
title="Natural example-based XAI" :image="image"
:links="[
{ label: 'Repository', url: 'https://github.com/NotXia/natural-examples-xai' }
]">
<p>{{ $t('natural_examples.description') }}</p>
</ProjectCard>
</template>
<script setup lang="ts">
import image from "@/assets/images/projects/natural_example.png";
</script>

View File

@@ -5,7 +5,7 @@
{ label: 'Repository', url: 'https://github.com/NotXia/pandos-plus' } { label: 'Repository', url: 'https://github.com/NotXia/pandos-plus' }
]"> ]">
<p class="text-center">{{ $t("unibo_21-22") }}</p> <!-- <p class="text-center">{{ $t("unibo_21-22") }}</p> -->
<p>{{ $t('pandos+.description') }}</p> <p>{{ $t('pandos+.description') }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -1,6 +1,6 @@
<template> <template>
<ProjectCard <ProjectCard
title="Pathfinding visualizer" :image="image" title="Pathfinding Visualizer" :image="image"
:links="[ :links="[
{ label: 'Repository', url: 'https://github.com/NotXia/pathfinding-visualizer' }, { label: 'Repository', url: 'https://github.com/NotXia/pathfinding-visualizer' },
{ label: 'Demo', url: 'https://notxia.github.io/pathfinding-visualizer/' } { label: 'Demo', url: 'https://notxia.github.io/pathfinding-visualizer/' }

View File

@@ -1,11 +1,11 @@
<template> <template>
<ProjectCard <ProjectCard
title="Platform game" :image="image" title="Platform Game" :image="image"
:links="[ :links="[
{ label: 'Repository', url: 'https://github.com/NotXia/platform-game' } { label: 'Repository', url: 'https://github.com/NotXia/platform-game' }
]"> ]">
<p class="text-center">{{ $t("unibo_20-21") }}</p> <!-- <p class="text-center">{{ $t("unibo_20-21") }}</p> -->
<p>{{ $t('platform.description') }}</p> <p>{{ $t('platform.description') }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -1,6 +1,6 @@
<template> <template>
<ProjectCard <ProjectCard
title="Sorting visualizer" :image="image" title="Sorting Visualizer" :image="image"
:links="[ :links="[
{ label: 'Repository', url: 'https://github.com/NotXia/sorting-visualizer' }, { label: 'Repository', url: 'https://github.com/NotXia/sorting-visualizer' },
{ label: 'Demo', url: 'https://notxia.github.io/sorting-visualizer/' } { label: 'Demo', url: 'https://notxia.github.io/sorting-visualizer/' }

View File

@@ -0,0 +1,15 @@
<template>
<ProjectCard
title="Street Anomaly Segmentation" :image="image" image_classes=""
:links="[
{ label: 'Repository', url: 'https://github.com/NotXia/street-anomaly-segmentation' }
]">
<p>{{ $t('street_anomaly.description') }}</p>
</ProjectCard>
</template>
<script setup lang="ts">
import image from "@/assets/images/projects/street_anomaly.png";
</script>

View File

@@ -5,7 +5,7 @@
{ label: 'Repository', url: 'https://github.com/NotXia/tablut-player' } { label: 'Repository', url: 'https://github.com/NotXia/tablut-player' }
]"> ]">
<p class="text-center">{{ $t("unibo_23-24") }}</p> <!-- <p class="text-center">{{ $t("unibo_23-24") }}</p> -->
<p>{{ $t('tablut.description') }}</p> <p>{{ $t('tablut.description') }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -5,7 +5,7 @@
{ label: 'Repository', url: 'https://github.com/NotXia/tweet-analysis' } { label: 'Repository', url: 'https://github.com/NotXia/tweet-analysis' }
]"> ]">
<p class="text-center">{{ $t("unibo_22-23") }}</p> <!-- <p class="text-center">{{ $t("unibo_22-23") }}</p> -->
<p>{{ $t('tweet_analysis.description') }}</p> <p>{{ $t('tweet_analysis.description') }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -5,7 +5,7 @@
{ label: 'Repository', url: 'https://github.com/NotXia/wave-map' }, { label: 'Repository', url: 'https://github.com/NotXia/wave-map' },
]"> ]">
<p class="text-center">{{ $t("unibo_22-23") }}</p> <!-- <p class="text-center">{{ $t("unibo_22-23") }}</p> -->
<p>{{ $t("wavemap.description") }}</p> <p>{{ $t("wavemap.description") }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -6,7 +6,7 @@
{ label: 'VirtualSquare', url: 'http://wiki.virtualsquare.org/#!index.md' } { label: 'VirtualSquare', url: 'http://wiki.virtualsquare.org/#!index.md' }
]"> ]">
<p class="text-center">{{ $t("unibo_22-23") }}</p> <!-- <p class="text-center">{{ $t("unibo_22-23") }}</p> -->
<p>{{ $t("wirefilter.description") }}</p> <p>{{ $t("wirefilter.description") }}</p>
</ProjectCard> </ProjectCard>
</template> </template>

View File

@@ -23,9 +23,9 @@
start: new Date(2020, september, 21), end: new Date(2023, october, 11) start: new Date(2020, september, 21), end: new Date(2023, october, 11)
}, },
{ {
title: $t('ms in ai'), time_label: '2023 - 2025', title: $t('ms in ai'), time_label: '2023 - 2026',
description: $t('unibo'), description: $t('unibo'),
start: new Date(2023, september, 18), end: current start: new Date(2023, september, 18), end: new Date(2026, march, 26)
} }
]" ]"
:left="[ :left="[
@@ -44,6 +44,11 @@
description: 'CISCO Networking Academy', description: 'CISCO Networking Academy',
start: new Date(2018, september, 1), end: new Date(2018, september, 1) start: new Date(2018, september, 1), end: new Date(2018, september, 1)
}, },
{
title: $t('research intern'), time_label: `${$t('m_4')} 2023 - ${$t('m_9')} 2023`,
description: `SmartData Research Group, Bologna, ${$t('italy')}`,
start: new Date(2023, april, 1), end: new Date(2023, september, 1)
},
{ {
title: $t('research intern'), time_label: `${$t('m_7')} 2025 - ${$t('m_1')} 2026`, title: $t('research intern'), time_label: `${$t('m_7')} 2025 - ${$t('m_1')} 2026`,
description: `National Institute of Informatics, Tokyo, ${$t('japan')}`, description: `National Institute of Informatics, Tokyo, ${$t('japan')}`,

View File

@@ -1,10 +1,9 @@
<template> <template>
<div class="md:ml-2 mt-4"> <div class="md:ml-2 mt-4">
({{ props.year }}). {{ props.title }}.<br/>
<span v-for="(author, i) in props.authors"> <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 :class="`${props.highlight_author == author ? 'font-bold' : ''}`">{{ author }}</span><span v-if="i < props.authors.length-1">; </span>
</span>. </span>. <br/>
({{ props.year }}).<br/>
"{{ props.title }}".<br/>
<span>{{ conference }}</span>.<br/> <span>{{ conference }}</span>.<br/>
<ReferenceLink :doi="doi" :openreview="openreview" :arxiv="arxiv" /> <ReferenceLink :doi="doi" :openreview="openreview" :arxiv="arxiv" />
</div> </div>

View File

@@ -1,10 +1,9 @@
<template> <template>
<div class="md:ml-2 mt-4"> <div class="md:ml-2 mt-4">
({{ props.year }}). {{ props.title }}.<br/>
<span v-for="(author, i) in props.authors"> <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 :class="`${props.highlight_author == author ? 'font-bold' : ''}`">{{ author }}</span><span v-if="i < props.authors.length-1">; </span>
</span>. </span>. <br/>
({{ props.year }}).<br/>
"{{ props.title }}".<br/>
<span class="italic">{{ journal }}</span>.<br/> <span class="italic">{{ journal }}</span>.<br/>
<ReferenceLink :doi="doi" :openreview="openreview" :arxiv="arxiv" /> <ReferenceLink :doi="doi" :openreview="openreview" :arxiv="arxiv" />
</div> </div>

View File

@@ -2,7 +2,12 @@
<div> <div>
<h2 class="text-4xl font-bold tracking-wide">{{ $t("education") }}</h2> <h2 class="text-4xl font-bold tracking-wide">{{ $t("education") }}</h2>
<ActivityParagraph :title="$t('ms in ai')" :subtitle="$t('unibo')" :right_text="`2023 - ${$t('present')}`"> <ActivityParagraph :title="$t('ms in ai')" :subtitle="$t('unibo')" :right_text="`2023 - 2026`">
<div>
{{ $t("thesis title") }}:&nbsp;
<a class="font-mono hover:underline" href="https://raw.githubusercontent.com/NotXia/self-supervised-xai-thesis/main/thesis/thesis.pdf">A Self-Supervised Attribution Method for Explaining Neural Networks</a>
</div>
<div>{{ $t("graduation grade") }}: 110/110 {{ $t("with honors") }}</div>
</ActivityParagraph> </ActivityParagraph>
<ActivityParagraph :title="$t('bs in cs')" :subtitle="$t('unibo')" :right_text="`2020 - 2023`"> <ActivityParagraph :title="$t('bs in cs')" :subtitle="$t('unibo')" :right_text="`2020 - 2023`">

View File

@@ -9,6 +9,13 @@
> >
</ActivityParagraph> </ActivityParagraph>
<ActivityParagraph
:title="$t('research intern')"
:subtitle="`SmartData Research Group, Bologna, ${$t('italy')}`"
:right_text="`${$t('april')} 2023 - ${$t('september')} 2023`"
>
</ActivityParagraph>
<ActivityParagraph <ActivityParagraph
:title="$t('pcto toyota')" :title="$t('pcto toyota')"
:subtitle="`Toyota Material Handling Manufacturing, Bologna, ${$t('italy')}`" :subtitle="`Toyota Material Handling Manufacturing, Bologna, ${$t('italy')}`"

View File

@@ -15,6 +15,9 @@ export default {
"i am a": "I'm an", "i am a": "I'm an",
"cs student": "A.I. Student", "cs student": "A.I. Student",
"a very accurate description of me": "Sometimes a bit distracted", "a very accurate description of me": "Sometimes a bit distracted",
"i do things": "I do things",
"with backpropagation": "with backpropagation",
"that work most of the times": "that work most of the times",
// About // About
@@ -40,6 +43,7 @@ export default {
"title_about": "About", "title_about": "About",
"title_projects": "Projects", "title_projects": "Projects",
"title_resume": "Résumé", "title_resume": "Résumé",
"title_publications": "Publications",
"title_contacts": "Say hi", "title_contacts": "Say hi",
"log_hello": "Hello 🐡", "log_hello": "Hello 🐡",

View File

@@ -13,16 +13,14 @@ export default {
"no recursion": "Recursion out of service, sorry for the inconvenience.", "no recursion": "Recursion out of service, sorry for the inconvenience.",
"tablut.description": "tablut.description":
"Project for the Fundamentals of Artificial Intelligence and Knowledge Representation (module 1) course.\n" +
"Minimax-based agent for the Tablut board game, tuned using a genetic algorithm.", "Minimax-based agent for the Tablut board game, tuned using a genetic algorithm.",
"thesis": "Thesis", "thesis": "Thesis",
"bsc_thesis.title": "Bachelor's thesis", "bsc_thesis.title": "Bachelor's Thesis",
"bsc_thesis.thesis_title": "Subtopic-oriented biomedical summarization using pretrained language models", "bsc_thesis.thesis_title": "Subtopic-oriented Biomedical Summarization Using Pretrained Language Models",
"bsc_thesis.description": "Biomedical extractive summarization using pretrained encoders and clustering.", "bsc_thesis.description": "Biomedical extractive summarization using pretrained encoders and clustering.",
"wavemap.description": "wavemap.description":
"Project for the Mobile Applications Laboratory course.\n" +
"Android application displaying, using a heat-map, the strength of signals (Wi-Fi, Bluetooth, LTE) and noise level.", "Android application displaying, using a heat-map, the strength of signals (Wi-Fi, Bluetooth, LTE) and noise level.",
"wirefilter.description": "wirefilter.description":
@@ -30,36 +28,41 @@ export default {
"Wirefilter is a plugin that allows to manipulate packet flow by changing the parameters of the virtual cable.", "Wirefilter is a plugin that allows to manipulate packet flow by changing the parameters of the virtual cable.",
"tweet_analysis.description": "tweet_analysis.description":
"Project for the Software Engineering course.\n" +
"Twitter client with analytics features developed using the Scrum methodology.", "Twitter client with analytics features developed using the Scrum methodology.",
"animalhouse.description": "animalhouse.description":
"Project for the Web Technology course.\n" +
"Web app with three sections:", "Web app with three sections:",
"animalhouse.description.game": "Game: area with games and facts about animals", "animalhouse.description.game": "Game: area with games and facts about animals",
"animalhouse.description.frontoffice": "Frontoffice: area to access services as a logged user", "animalhouse.description.frontoffice": "Frontoffice: area to access services as a logged user",
"animalhouse.description.backoffice": "Backoffice: administration panel", "animalhouse.description.backoffice": "Backoffice: administration panel",
"pandos+.description": "pandos+.description":
"Project for the Operating Systems course.\n" +
"Minimal operating system for the MIPS architecture.", "Minimal operating system for the MIPS architecture.",
"imaging.description": "imaging.description":
"Project for the Numerical Computing course.\n" +
"Image deblurring solved as a minimization problem.", "Image deblurring solved as a minimization problem.",
"mnk.description": "mnk.description":
"Project for the Algorithms and Data Structures course.\n" +
"Algorithm able to efficiently play a generalized version of tic-tac-toe.", "Algorithm able to efficiently play a generalized version of tic-tac-toe.",
"platform.description": "platform.description":
"Project for the Programming course.\n" +
"Text-based platform game with randomly generated levels.", "Text-based platform game with randomly generated levels.",
"pathfinding_visualizer.description": "Visualizer of some graph search algorithms.", "pathfinding_visualizer.description": "Visualizer of some graph search algorithms.",
"sort_visualizer.description": "Visualizer of some sorting algorithms.", "sort_visualizer.description": "Visualizer of some sorting algorithms.",
"nn_scratch.title": "Neural networks from scratch", "nn_scratch.title": "Neural Networks from Scratch",
"nn_scratch.description": "Automatic differentiation and basic neural network layers implemented from scratch using Numpy.", "nn_scratch.description": "Automatic differentiation and basic neural network layers implemented from scratch using Numpy.",
"instance_detection.title": "OpenCV Instance Detection",
"instance_detection.description": "Instance detection on noisy images of products on shelves using traditional image processing techniques.",
"natural_examples.description": "Comparison and evaluation of different natural example-based explainability techniques.",
"couriers_optimization.description": "Capacitated vehicle routing problem solved using constraint programming, propositional satisfiability, satisfiability modulo theories, and mixed-integer linear programming.",
"distributed_optimization.description": "Implementation of distributed multi-robot target localization and positioning algorithms.",
"street_anomaly.description": "Open-world semantic segmantation for anomaly detection.",
} }

View File

@@ -8,6 +8,7 @@ export default {
"link to certificate": "Link to certificate", "link to certificate": "Link to certificate",
"future": "What will happen next?", "future": "What will happen next?",
"like timelines": "I like timelines", "like timelines": "I like timelines",
"paper": "Paper",
"cv_link": "/cv/cv_xia_en1.pdf", "cv_link": "/cv/cv_xia_en1.pdf",
"cv_link_color": "/cv/cv_xia_en2.pdf", "cv_link_color": "/cv/cv_xia_en2.pdf",

View File

@@ -15,6 +15,9 @@ export default {
"i am a": "Sono uno", "i am a": "Sono uno",
"cs student": "Studente di I.A.", "cs student": "Studente di I.A.",
"a very accurate description of me": "A volte un po' distratto", "a very accurate description of me": "A volte un po' distratto",
"i do things": "Faccio cose",
"with backpropagation": "con la backpropagation",
"that work most of the times": "che di solito funzionano",
// About // About
@@ -41,6 +44,7 @@ export default {
"title_about": "Chi sono", "title_about": "Chi sono",
"title_projects": "Progetti", "title_projects": "Progetti",
"title_resume": "CV", "title_resume": "CV",
"title_publications": "Pubblicazioni",
"title_contacts": "Salutami", "title_contacts": "Salutami",
"log_hello": "Ciao 🐡", "log_hello": "Ciao 🐡",

View File

@@ -13,7 +13,6 @@ export default {
"no recursion": "Ricorsione fuori servizio, mi scuso per il disagio.", "no recursion": "Ricorsione fuori servizio, mi scuso per il disagio.",
"tablut.description": "tablut.description":
"Progetto per il corso di Fundamentals of Artificial Intelligence and Knowledge Representation (modulo 1).\n" +
"Agente implementato con minimax e addestrato con un algoritmo genetico per il gioco da tavolo Tablut.", "Agente implementato con minimax e addestrato con un algoritmo genetico per il gioco da tavolo Tablut.",
"thesis": "Tesi", "thesis": "Tesi",
@@ -22,7 +21,6 @@ export default {
"bsc_thesis.description": "Generazione di riassunti estrattivi in ambito biomedico con modelli di linguaggio preaddestrati e algoritmi di clustering.", "bsc_thesis.description": "Generazione di riassunti estrattivi in ambito biomedico con modelli di linguaggio preaddestrati e algoritmi di clustering.",
"wavemap.description": "wavemap.description":
"Progetto per il corso di Laboratorio di Applicazioni Mobili.\n" +
"Applicazione Android per visualizzare, in una heat-map, la potenza di segnali (Wi-Fi, Bluetooth, LTE) e il livello acustico.", "Applicazione Android per visualizzare, in una heat-map, la potenza di segnali (Wi-Fi, Bluetooth, LTE) e il livello acustico.",
"wirefilter.description": "wirefilter.description":
@@ -30,30 +28,24 @@ export default {
"Wirefilter è un plugin che consente di manipolare il flusso dei pacchetti in transito impostando parametri per il cavo virtuale.", "Wirefilter è un plugin che consente di manipolare il flusso dei pacchetti in transito impostando parametri per il cavo virtuale.",
"tweet_analysis.description": "tweet_analysis.description":
"Progetto per il corso di Ingegneria del Software.\n" +
"Webapp per l'analisi di tweet sviluppata con metodologia Scrum.", "Webapp per l'analisi di tweet sviluppata con metodologia Scrum.",
"animalhouse.description": "animalhouse.description":
"Progetto per il corso di Tecnologie Web.\n" +
"Web app suddivisa in tre sezioni:", "Web app suddivisa in tre sezioni:",
"animalhouse.description.game": "Game: area con giochi e curiosità sugli animali", "animalhouse.description.game": "Game: area con giochi e curiosità sugli animali",
"animalhouse.description.frontoffice": "Frontoffice: area con servizi per gli utenti autenticati", "animalhouse.description.frontoffice": "Frontoffice: area con servizi per gli utenti autenticati",
"animalhouse.description.backoffice": "Backoffice: pannello di amministrazione", "animalhouse.description.backoffice": "Backoffice: pannello di amministrazione",
"pandos+.description": "pandos+.description":
"Progetto per il corso di Sistemi Operativi.\n" +
"Sistema operativo minimale per architettura MIPS.", "Sistema operativo minimale per architettura MIPS.",
"imaging.description": "imaging.description":
"Progetto per il corso di Calcolo Numerico.\n" +
"Deblurring di immagini risolto come problema di minimizzazione.", "Deblurring di immagini risolto come problema di minimizzazione.",
"mnk.description": "mnk.description":
"Progetto per il corso di Algoritmi e Strutture Dati.\n" +
"Algoritmo in grado di giocare in modo efficiente ad una versione generalizzata del tris.", "Algoritmo in grado di giocare in modo efficiente ad una versione generalizzata del tris.",
"platform.description": "platform.description":
"Progetto per il corso di Programmazione.\n" +
"Gioco platform su terminale con livelli generati casualmente.", "Gioco platform su terminale con livelli generati casualmente.",
"pathfinding_visualizer.description": "Visualizzazione di alcuni algoritmi di ricerca su grafi.", "pathfinding_visualizer.description": "Visualizzazione di alcuni algoritmi di ricerca su grafi.",
@@ -62,4 +54,15 @@ export default {
"nn_scratch.title": "Reti neurali da zero", "nn_scratch.title": "Reti neurali da zero",
"nn_scratch.description": "Differenziazione automatica e componenti base di una rete neurale implementati in Numpy.", "nn_scratch.description": "Differenziazione automatica e componenti base di una rete neurale implementati in Numpy.",
"instance_detection.title": "OpenCV Instance Detection",
"instance_detection.description": "Instance detection su immagini corrotte di prodotti su scaffali usando tecniche tradizionali di image processing.",
"natural_examples.description": "Confronto e valutazione di diverse tecniche di natural example-based explainability.",
"couriers_optimization.description": "Capacitated vehicle routing problem risolto usando constraint programming, propositional satisfiability, satisfiability modulo theories e mixed-integer linear programming.",
"distributed_optimization.description": "Implementazione di algoritmi distribuiti per i problemi di multi-robot target localization e positioning.",
"street_anomaly.description": "Segmentazione semantica per anomaly detection.",
} }

View File

@@ -8,6 +8,7 @@ export default {
"link to certificate": "Link al certificato", "link to certificate": "Link al certificato",
"future": "Chissà cosa succederà", "future": "Chissà cosa succederà",
"like timelines": "Mi piacciono le linee del tempo", "like timelines": "Mi piacciono le linee del tempo",
"paper": "Paper",
"cv_link": "/cv/cv_xia_it1.pdf", "cv_link": "/cv/cv_xia_it1.pdf",
"cv_link_color": "/cv/cv_xia_it2.pdf", "cv_link_color": "/cv/cv_xia_it2.pdf",

View File

@@ -7,9 +7,12 @@
<main> <main>
<div class="block md:flex justify-center items-center"> <div class="block md:flex justify-center items-center">
<div class="text-center md:text-left"> <div class="text-center md:text-left">
<p class="text-2xl md:text-3xl font-semibold uppercase">{{ $t("i am a") }}</p> <!-- <p class="text-2xl md:text-3xl font-semibold uppercase">{{ $t("i am a") }}</p>
<p class="text-4xl md:text-5xl font-semibold uppercase">{{ $t("cs student") }}</p> <p class="text-4xl md:text-5xl font-semibold uppercase">{{ $t("cs student") }}</p>
<p class="text-xl lowercase">{{ $t("a very accurate description of me") }}</p> <p class="text-xl lowercase">{{ $t("a very accurate description of me") }}</p> -->
<p class="text-2xl md:text-3xl font-semibold uppercase">{{ $t("i do things") }}</p>
<p class="text-2xl md:text-3xl font-semibold uppercase">{{ $t("with backpropagation") }}</p>
<p class="text-xl lowercase">{{ $t("that work most of the times") }}</p>
</div> </div>
<div class="w-fit mx-auto mt-5 md:m-0 md:ml-10"> <div class="w-fit mx-auto mt-5 md:m-0 md:ml-10">

View File

@@ -18,7 +18,12 @@
<div class="grid grid-flow-row-dense grid-cols-12 m-auto justify-center [&>*]:px-5 [&>*]:py-5"> <div class="grid grid-flow-row-dense grid-cols-12 m-auto justify-center [&>*]:px-5 [&>*]:py-5">
<NotXiaGithubio class="lg:col-span-8 row-span-1 col-span-12" /> <NotXiaGithubio class="lg:col-span-4 row-span-1 col-span-12" />
<StreetAnomaly class="lg:col-span-8 row-span-1 col-span-12" />
<DistributedOptimization class="lg:col-span-4 row-span-1 col-span-12" />
<CouriersOptimization class="lg:col-span-4 row-span-1 col-span-12" />
<NaturalExamples class="lg:col-span-4 row-span-1 col-span-12" />
<InstanceDetection class="lg:col-span-8 row-span-1 col-span-12" />
<NNFromScratch class="lg:col-span-4 row-span-1 col-span-12" /> <NNFromScratch class="lg:col-span-4 row-span-1 col-span-12" />
<TablutPlayer class="lg:col-span-4 row-span-1 col-span-12" /> <TablutPlayer class="lg:col-span-4 row-span-1 col-span-12" />
<BScThesis class="lg:col-span-8 row-span-1 col-span-12" /> <BScThesis class="lg:col-span-8 row-span-1 col-span-12" />

69
pages/publications.vue Normal file
View File

@@ -0,0 +1,69 @@
<template>
<Navbar />
<main>
<h1 class="text-5xl font-bold text-center mb-5">{{ $t("publications") }}</h1>
<div class="flex justify-center items-start">
<div>
<a href="https://orcid.org/0009-0005-5274-7469" class="rounded-full p-1 mx-1 md:inline block text-center">
<img src="~/assets/images/icons/orcid.svg" alt="ORCID" class="h-5 inline mb-1" /> 0009-0005-5274-7469
</a>
<a href="https://scholar.google.com/citations?user=R6SM0nMAAAAJ" class="rounded-full p-1 mx-1 md:inline block text-center">
<img src="~/assets/images/icons/scholar.svg" alt="Github" class="h-5 mb-1 inline" /> Google Scholar
</a>
</div>
</div>
<div class="mx-20">
<ConferenceReference
title = "SciClaimEval: Cross-modal Claim Verification in Scientific Papers"
:authors = "['Xanh Ho', 'Yun-Ang Wu', 'Sunisth Kumar', 'Tian Cheng Xia', 'Florian Boudin', 'Andre Greiner-Petter', 'Akiko Aizawa']"
:highlight_author = "highlight_author"
year = "2026"
conference = "Language Resources and Evaluation Conference (LREC)"
arxiv = "2602.07621" />
<ConferenceReference
title = "UnitMath: Unit-Aware Numerical Reasoning and Dimensional Consistency for Scientific Table Claims"
:authors = "['AI Scientist', 'Xanh Ho', 'Tian Cheng Xia', 'Khoa Duong', 'Yun-Ang Wu', 'Ha-Thanh Nguyen', 'Akiko Aizawa']"
: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', 'Xanh Ho', 'Tian Cheng Xia', 'Khoa Duong', 'Yun-Ang Wu', 'Ha-Thanh Nguyen', 'Akiko Aizawa']"
: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 = "['Tian Cheng Xia', 'Flavio Bertini', 'Danilo Montesi']"
: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 = "['Paolo Ciancarini', 'Raffaele Giancarlo', 'Gennaro Grimaudo', 'Marcello Missiroli', 'Tian Cheng Xia']"
:highlight_author = "highlight_author"
year = "2025"
journal = "IEEE Access"
doi = "10.1109/ACCESS.2025.3564141" />
</div>
</main>
</template>
<script setup lang="ts">
const { t } = useI18n();
useHead({ title: t("title_publications") });
const highlight_author = "Tian Cheng Xia";
</script>

View File

@@ -26,7 +26,7 @@
<Certificates /> <Certificates />
<Skills /> <Skills />
<Other /> <Other />
<Publications /> <!-- <Publications /> -->
</div> </div>
<div class="w-full md:w-1/3 mt-20 md:mt-0 order-2 md:order-1"> <div class="w-full md:w-1/3 mt-20 md:mt-0 order-2 md:order-1">