<![CDATA[ldavid]]>https://ldavid-f1d645.gitlab.io/https://ldavid-f1d645.gitlab.io/favicon.pngldavidhttps://ldavid-f1d645.gitlab.io/Ghost 6.10Fri, 13 Feb 2026 12:29:43 GMT60<![CDATA[Ghost as CMS]]>For all of my tiny life, I was always doing my website by hand, writing directly into my code editor. It was great, simple and easy to deploy - but something was never feeling quite right...

For example, each time I needed to add a media file, I had to

]]>
https://ldavid-f1d645.gitlab.io/ghost-as-cms/69433d9d4dad59e2586676a3Wed, 07 Jan 2026 14:39:47 GMT

For all of my tiny life, I was always doing my website by hand, writing directly into my code editor. It was great, simple and easy to deploy - but something was never feeling quite right...

For example, each time I needed to add a media file, I had to put it in the right folder, then write back the correct link (which is now much easier with good autocompletion in great IDEs). Then, I would check that everything displayed correctly before pushing new modifications. It wasn't a lot, but even this tiny bit of friction was too much to make me add content more regularly to my website.

Since WordPress, I had been biased towards thinking that CMS (Content Management System) software was bad. Not enough customization options and too much complexity for a simple personal website. I had heard about Ghost a long time ago, but I always thought it was only suited for hosting multiple people's Medium-style websites, so it seemed far too complicated for a personal website.

Lately, however, I've discovered that Ghost can be used as an easy CMS directly on my local machine - without having to host it somewhere! You just export your website as static and serve it easily from your favorite platform, such as GitLab Pages, for me.

Freezing the Ghost site to serve it statically
We will see how to use Ghost Static Site Generator to make a static version of a Ghost site ready for publishing
Ghost as CMS

Now some tiny details about the config...

I use Git LFS for large files like videos, so everything can still be hosted by Gitlab.

git lfs install
git lfs track "*.mp4"

And after installing wget and gssg, I can simply generate this site handled by a local ghost install using the next command.

gssg --productionDomain http://www.ldavid.fr --dest ldavid/dist

I've needed also a way to replace all occurences of localhost everywhere by the right production domain, not well handled by gssg.

For now I use commands in the .gitlab-ci.yml like:

find . -type f \( -name "*.html" -o -name "*.json" -o -name "*.xml" -o -name "*.xsl" \) -exec sed -i '' 's|https://ldavid-f1d645.gitlab.io|https://www.ldavid.fr|g' {} +

find . -type f \( -name "*.html" -o -name "*.json" -o -name "*.xml" -o -name "*.xsl" \) -exec sed -i '' 's|//ldavid-f1d645.gitlab.io|//www.ldavid.fr|g' {} +

Then, I can just commit and push into a Gitlab repository that deploy by default everything with the following .gitlab-ci.yml

# tiny image for fast deployment
image: alpine:latest
create-pages:
  script:
    - mv dist public
    - find . -type f \( -name "*.html" -o -name "*.json" -o -name "*.xml" -o -name "*.xsl" \) -exec sed -i -e 's|https://ldavid-f1d645.gitlab.io|https://ldavid-f1d645.gitlab.io|g' {} +
    - find . -type f \( -name "*.html" -o -name "*.json" -o -name "*.xml" -o -name "*.xsl" \) -exec sed -i -e 's|//ldavid-f1d645.gitlab.io|//ldavid-f1d645.gitlab.io|g' {} +
  pages:
    publish: public
  rules:
    # publish only for commit on main
    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH

And tada 🎉

I've also configured Ghost to remove all the membership, newsletters and analytics, as it is not useful for a personal website. If someone wants to follow my activity, it can directly follow the RSS feed.

]]>
<![CDATA[Hackathon Snap Paris - Pic Seeker 🥉]]>"Specs in the City: Paris Hackathon" was a groundbreaking two-day event dedicated to pushing the boundaries of augmented reality with Snap's Spectacles!

With Quang Viet Nguyen and Calvin Dong, we won the third place with our project

Pic Seeker

The lens was a really simple game:

]]>
https://ldavid-f1d645.gitlab.io/hackathon-snap-paris/69432dbb4dad59e258667662Wed, 17 Dec 2025 22:35:41 GMT

"Specs in the City: Paris Hackathon" was a groundbreaking two-day event dedicated to pushing the boundaries of augmented reality with Snap's Spectacles!

With Quang Viet Nguyen and Calvin Dong, we won the third place with our project

Pic Seeker

Hackathon Snap Paris - Pic Seeker 🥉

The lens was a really simple game:

  • snap some pictures of interesting things around you
  • pass your snap spectacles to a friend
  • they will try to discover where you've been taking the pictures

The hidden goal was to rediscover details in the world around us because we don't take enough attention to the beauty of reality.

Specs in the City: Paris Hackathon | Join Us
In-person Event - ALL APPLICATIONS ARE GOING TO AN INITIAL WAITLIST AND WILL BE ACCEPTED ON A ROLLING BASISJoin us for the “Specs in the C…
Hackathon Snap Paris - Pic Seeker 🥉
Pic Seeker
Create your own collaborative puzzles by “taking out” real-world details.
Hackathon Snap Paris - Pic Seeker 🥉
]]>
<![CDATA[First test of Airweb with Snap Spectacles]]>Here is how I'd start building AirWeb, an augmented reality extension to your phone browser.

0:00
/0:30
]]>
https://ldavid-f1d645.gitlab.io/first-test-of-airweb-with-snap-spectacles/6942dc474dad59e2586675b1Wed, 17 Dec 2025 16:39:14 GMT

Here is how I'd start building AirWeb, an augmented reality extension to your phone browser.

0:00
/0:30
]]>
<![CDATA[HackAtech Inria Bordeaux]]>15-17 novembre 2023

Le projet consistait à une rééducation de l'attention, notamment pour les TDAH, par l'affichage d'image et l'analyse de l'activité cérébrale via un électroencéphalogramme (EEG).

Retour sur
]]>
https://ldavid-f1d645.gitlab.io/hackatech-inria-bordeaux/695f84404dad59e2586678dcThu, 16 Nov 2023 23:00:00 GMT

15-17 novembre 2023

Le projet consistait à une rééducation de l'attention, notamment pour les TDAH, par l'affichage d'image et l'analyse de l'activité cérébrale via un électroencéphalogramme (EEG).

Retour sur le hackAtech 2023 coorganisé par Inria et l’université de Bordeaux
Le Centre Inria de l’université de Bordeaux organisait, avec l’université de Bordeaux, son premier hackAtech, du 15 au 17 novembre à la Faïencerie ! Marathon d’innovation en sciences du numérique, cet événement a permis d’impulser de nouveaux projets innovants autour des technologies et expertises d’Inria, de l’université de Bordeaux et de leurs partenaires. Un mois après l’évènement, l’heure est au bilan et à la découverte des trois projets lauréats de cette édition 2023 !
HackAtech Inria Bordeaux
]]>
<![CDATA[HackAtech Inria Grenoble - NeuroHands 🥇]]>Le projet Neurohands a pour but d’interpréter à l’aide d’apprentissage machine les signaux neuromusculaires (EMG) de l’avant-bras afin de reconstituer numériquement les mouvements de la main. Cette méthode d’interaction peut alors être utilis&

]]>
https://ldavid-f1d645.gitlab.io/hackatech-inria-grenoble-neurohands-grand-prix-du-jury/6942de034dad59e2586675c4Fri, 20 Jan 2023 23:00:00 GMT

Le projet Neurohands a pour but d’interpréter à l’aide d’apprentissage machine les signaux neuromusculaires (EMG) de l’avant-bras afin de reconstituer numériquement les mouvements de la main. Cette méthode d’interaction peut alors être utilisée dans de nombreux domaines comme la santé, à travers le pilotage de prothèse robotisée ou de fauteuil roulant, ou de faciliter et rendre plus naturelles les interactions avec le numérique au quotidien.

#emg #ia #python #leap-motion

Découvrez le bilan et les lauréats du hackAtech Inria de l’Université Grenoble Alpes 2023 !
Le Centre Inria de l’Université Grenoble Alpes organisait au Stade des Alpes de Grenoble son premier hackAtech, du 19 au 21 janvier ! Destiné à impulser de nouveaux projets autour des technologies et expertises Inria, cet évènement a permis de voir émerger des projets tous aussi innovants les uns que les autres. Deux mois après l’évènement, dressons le bilan et découvrons les trois projets lauréats qui se sont démarqués !
HackAtech Inria Grenoble - NeuroHands 🥇
]]>
<![CDATA[MIT Reality Hack 2022 - Metahack]]>#webrtc #unity #web #webxr

MetaHack - a library based on WebRTC to communicate between Unity and WebXR.

Developed as part of Hacking the Hack (HTH) and the remote MIT Reality Hack (MRH) session, this project aimed to enhance the interoperability of XR experiences as the foundation for the metaverse. Unlike

]]>
https://ldavid-f1d645.gitlab.io/mit-reality-hack-metahack/695f95e24dad59e258667948Tue, 31 May 2022 22:00:00 GMT

#webrtc #unity #web #webxr

MetaHack - a library based on WebRTC to communicate between Unity and WebXR.

Developed as part of Hacking the Hack (HTH) and the remote MIT Reality Hack (MRH) session, this project aimed to enhance the interoperability of XR experiences as the foundation for the metaverse. Unlike the MRH, which was competitive in nature, HTH focused on the future of hackathons. The first theme, Hybrid Hacks, aimed to find ideas for improving the hybrid aspect of upcoming hackathons. The second theme, A Collaborative Metaverse of Hacks, sought to enable different projects to interact with each other. My idea was to provide a common library that would facilitate communication between projects.

Unfortunately, I spent an extra day fixing bugs on the Unity side and the library didn't have time to be integrated into the projects. However, considering its potential, I plan to continue developing it so that it can be used in future hackathons and XR projects (including even just Unity/Web).

MetaHack
A way to connect Unity and Web apps through WebRTC
MIT Reality Hack 2022 - Metahack
]]>
<![CDATA[👋]]>Ludovic David

Research Engineer HCI / XR @ INRIA

work with the ILDA and AVIZ of the LISN

]]>
https://ldavid-f1d645.gitlab.io/hi/694319404dad59e2586675faFri, 31 Dec 1999 23:00:00 GMTLudovic David

Research Engineer HCI / XR @ INRIA

work with the ILDA and AVIZ of the LISN

]]>