<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.8.7">Jekyll</generator><link href="https://fcbrossard.net/feed.xml" rel="self" type="application/atom+xml" /><link href="https://fcbrossard.net/" rel="alternate" type="text/html" /><updated>2026-05-17T17:57:47+09:00</updated><id>https://fcbrossard.net/feed.xml</id><title type="html">fcbrossard.net</title><subtitle>Hi, my name is François-Clément Brossard. Welcome to my personal website around dev, tech, gaming and fun.</subtitle><author><name>François-Clément Brossard</name></author><entry xml:lang="en"><title type="html">Track the Epic Free Games with EFGTracker</title><link href="https://fcbrossard.net/blog/track-the-epic-free-games-with-efgtracker" rel="alternate" type="text/html" title="Track the Epic Free Games with EFGTracker" /><published>2026-05-16T00:00:00+09:00</published><updated>2026-05-16T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/track-the-epic-free-games-with-efgtracker</id><author><name>François-Clément Brossard</name></author><category term="Gaming" /><summary type="html"><![CDATA[With X API's free tier gone, EFGTracker is a simple way to keep track of the Epic free games from GitHub notifications.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/" /><media:content medium="image" url="https://fcbrossard.net/" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">So… I tried vibe coding (finally)</title><link href="https://fcbrossard.net/blog/so-i-tried-vibe-coding-finally" rel="alternate" type="text/html" title="So… I tried vibe coding (finally)" /><published>2025-08-31T00:00:00+09:00</published><updated>2025-08-31T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/so-i-tried-vibe-coding-finally</id><author><name>François-Clément Brossard</name></author><category term="Vibecoding" /><summary type="html"><![CDATA[Ok, I’m definitely late to the trend, but I finally dipped my toes into the whole vibe coding hype… :sweat_smile: I gave myself just a few hours (while half-distracted with other stuff) to prompt my way through building FrenchPing, a tiny game to practice French, wrapped in the Teenieping universe. I built it entirely with GPT-5 and Co-Pilot in Agent mode, without typing a single line of code myself (that was the challenge). At first, it’s honestly quite impressive. Watching it spin up a UI feels great, especially if like me UI design isn’t really your strong suit. What surprised me, though, was that instead of defaulting to the usual suspects (Next.js, React/Vite, etc.), it just went old school with plain HTML, CSS, and JavaScript. Not what I expected at all :thinking: :shrug: The real headache came with TTS. Pronunciation for single words was pretty rough without context. For instance, it kept saying “pain” the English way instead of the French pain (“bread”). I tried nudging it towards ElevenLabs with a decent French TTS model, but that only seemed to make things messier. The agent started throwing in weird fallbacks and pronunciation hacks everywhere. Long story short: the TTS is not in a great place right now. As for the code… well, let’s just say the more you prompt, the messier it gets. Even when you ask for refactors, it rarely comes out cleaner or more optimized. Plus, the agent flat-out avoided any server-side rendering, and constantly drop the API keys directly into the frontend code. Sure, they were free-tier API keys, but imagine a true non-coder vibe-coding like this with a paid API… yikes. Anyway, it was a fun little Friday experiment. See ya, in a future post 👋]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/" /><media:content medium="image" url="https://fcbrossard.net/" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Prevent Logitech GHUB to scan dirs and delete auto-detected profiles</title><link href="https://fcbrossard.net/blog/prevent-logitech-ghub-to-scan-dirs-and-delete-auto-detected-profiles" rel="alternate" type="text/html" title="Prevent Logitech GHUB to scan dirs and delete auto-detected profiles" /><published>2024-12-01T00:00:00+09:00</published><updated>2024-12-01T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/prevent-logitech-ghub-to-scan-dirs-and-delete-auto-detected-profiles</id><author><name>François-Clément Brossard</name></author><category term="Gaming" /><summary type="html"><![CDATA[Before taking any action, quit the Logitech G HUB application. Prevent GHUB to scan directories and new games on your computer Go to %ProgramFiles%/LGHUB/data Backup applications.json file (i.e. rename applications.json to applications.json.bk) Open applications.json with your favorite text editor Replace the whole file with: { "applications": [] } Save the file (applications.json) You can revert this change back at any time by replacing the applications.json by the applications.json.bk you took earlier. Remove auto-detected games from GHUB If you go in Manage profiles in GHUB and look under Games &amp; Applications, you will notice some games already automatically being added to the list. If you click on the SETTINGS tab, you won’t see any button to FORGET APP like the following (that usually appear for custom added games): To remove these apps, you can: Go to %LOCALAPPDATA%/LGHUB Take a backup of settings.db (i.e. copy settings.db to settings.db.bk) We now need to open &amp; editsettings.db (an SQLite database). There are plenty of tools that allow to open / edit SQLite databases (I personally use DB Browser for SQLite). Browse the data from the data table and delete any application object you want to remove (the list should start around L20). Here is what an application object looks like: { "applicationId": "d727d5d5-f4ec-485e-95c5-2e17e0c1e316", "applicationPath": "C:\\Path\\to\\the\\Game\\file.exe", "isCustom": false, "name": "The Game Name", "posterPath": "C:\\Users\\JohnDoe\\AppData\\Local\\LGHUB\\icon_cache\\c8e5161f02afb84582532708f0ba593440a1688cebf08c5b33a509cc3e2dda23.bmp" } You can determine quite easily the games that were added automatically as they should have an attribute "isCustom": false. Once you have deleted the applications you wanted - appy the changes Save settings.db You can now start the Logitech G HUB application and if you go to Games &amp; Applications, all the games you removed from settings.db should be gone. If you followed the “Prevent GHUB to scan directories and new games on your computer” section above, no game should be added automatically from now on. Keep in mind that updating GHUB could revert the changes from applications.json. To prevent this, you can disable Enable automatic updates from the APP SETTINGS in the GHUB app.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/" /><media:content medium="image" url="https://fcbrossard.net/" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Too big of a repo?</title><link href="https://fcbrossard.net/blog/too-big-of-a-repo" rel="alternate" type="text/html" title="Too big of a repo?" /><published>2024-02-15T00:00:00+09:00</published><updated>2024-02-15T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/too-big-of-a-repo</id><author><name>François-Clément Brossard</name></author><category term="Dev" /><summary type="html"><![CDATA[Usually git repositories start small but they grow fast and ultimately you end up with a looottt of commits after a few years… It can be challenging and time consuming to pull such big repositories so let me give you a quick tip if you don’t want to pull the full commit history and save some time. The following command will create a shallow clone of the repository and pull a single branch (master) with the latest 50 commits: git clone -b master git@github.com:bcExpt1123/Commited.git --depth 50 (you may want to add --shallow-submodules if you have submodules in the repo) Going to the directory and run git rev-list --count HEAD returns the value 50 to the prompt – which confirms that 50 commits were successfully pulled. Besides not having the full history of the git commits, it’s still possible to commit to the branch and push to it – it won’t override or delete any of the older commits, neat! Take a look to the Git documentation for more git clone options. Happy git cloning! :smile:]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/" /><media:content medium="image" url="https://fcbrossard.net/" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Elastic Agent with Synthetics tests on Kubernetes</title><link href="https://fcbrossard.net/blog/elastic-agent-with-synthetics-tests-on-kubernetes" rel="alternate" type="text/html" title="Elastic Agent with Synthetics tests on Kubernetes" /><published>2023-12-21T00:00:00+09:00</published><updated>2023-12-21T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/elastic-agent-with-synthetics-tests-on-kubernetes</id><author><name>François-Clément Brossard</name></author><category term="Elastic" /><category term="Elastic Agent" /><category term="Synthetics" /><category term="Browser" /><category term="Tests" /><category term="Kubernetes" /><summary type="html"><![CDATA[First, if you want to run Elastic Agent on Kubernetes you can refer to the Elastic documentation which provides the installation steps and manifests. On the other hand, if you are looking for Elastic Agent on ECK, this is the documentation for you. That being said, the configuration differ a bit when you want to configure Elastic Agent for Synthetics tests. As explained in the Run Elastic Agent in a container, you will need to use the Docker image elastic-agent-complete:&lt;version&gt; and run it with the elastic-agent user: If you want to run elastic-agent-complete image, replace elastic-agent to elastic-agent-complete. Use the elastic-agent user instead of root to run Synthetics Browser tests. Synthetic tests cannot run under the root user. There are some indications on how to run Elastic Agent as non-root user in the ECK documenation – let me share with you a complete manifest to deploy Elastic Agent as DaemonSet on Kubernetes with Synthetics tests capabilities: # For more information https://www.elastic.co/guide/en/fleet/current/running-on-kubernetes-managed-by-fleet.html apiVersion: apps/v1 kind: DaemonSet metadata: name: elastic-agent namespace: elastic-apps labels: app: elastic-agent spec: selector: matchLabels: app: elastic-agent template: metadata: labels: app: elastic-agent spec: # Tolerations are needed to run Elastic Agent on Kubernetes control-plane nodes. # Agents running on control-plane nodes collect metrics from the control plane components (scheduler, controller manager) of Kubernetes tolerations: - key: node-role.kubernetes.io/control-plane effect: NoSchedule - key: node-role.kubernetes.io/master effect: NoSchedule serviceAccountName: elastic-agent hostNetwork: true # 'hostPID: true' enables the Elastic Security integration to observe all process exec events on the host. # Sharing the host process ID namespace gives visibility of all processes running on the same host. hostPID: true dnsPolicy: ClusterFirstWithHostNet containers: - name: elastic-agent image: docker.elastic.co/beats/elastic-agent-complete:8.11.3 env: # Set to 1 for enrollment into Fleet server. If not set, Elastic Agent is run in standalone mode - name: FLEET_ENROLL value: "1" # Set to true to communicate with Fleet with either insecure HTTP or unverified HTTPS - name: FLEET_INSECURE value: "true" # Fleet Server URL to enroll the Elastic Agent into # FLEET_URL can be found in Kibana, go to Management &gt; Fleet &gt; Settings - name: FLEET_URL value: "" # Elasticsearch API key used to enroll Elastic Agents in Fleet (https://www.elastic.co/guide/en/fleet/current/fleet-enrollment-tokens.html#fleet-enrollment-tokens) # If FLEET_ENROLLMENT_TOKEN is empty then KIBANA_HOST, KIBANA_FLEET_USERNAME, KIBANA_FLEET_PASSWORD are needed - name: FLEET_ENROLLMENT_TOKEN value: "" - name: KIBANA_HOST value: "" # The basic authentication username used to connect to Kibana and retrieve a service_token to enable Fleet - name: KIBANA_FLEET_USERNAME value: "elastic" # The basic authentication password used to connect to Kibana and retrieve a service_token to enable Fleet - name: KIBANA_FLEET_PASSWORD value: "" - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name # The following ELASTIC_NETINFO:false variable will disable the netinfo.enabled option of add-host-metadata processor. This will remove fields host.ip and host.mac. # For more info: https://www.elastic.co/guide/en/beats/metricbeat/current/add-host-metadata.html - name: ELASTIC_NETINFO value: "false" securityContext: # fsGroup: 1000 runAsUser: 1000 runAsNonRoot: true # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) # If you are using this integration, please uncomment these lines before applying. #capabilities: # add: # - BPF # (since Linux 5.8) allows loading of BPF programs, create most map types, load BTF, iterate programs and maps. # - PERFMON # (since Linux 5.8) allows attaching of BPF programs used for performance metrics and observability operations. # - SYS_RESOURCE # Allow use of special resources or raising of resource limits. Used by 'Defend for Containers' to modify 'rlimit_memlock' ######################################################################################## # The following capabilities are needed for Universal Profiling. # More fine graded capabilities are only available for newer Linux kernels. # If you are using the Universal Profiling integration, please uncomment these lines before applying. #procMount: "Unmasked" #privileged: true #capabilities: # add: # - SYS_ADMIN resources: limits: memory: 700Mi requests: cpu: 100m memory: 400Mi volumeMounts: - name: proc mountPath: /hostfs/proc readOnly: true - name: cgroup mountPath: /hostfs/sys/fs/cgroup readOnly: true - name: varlibdockercontainers mountPath: /var/lib/docker/containers readOnly: true - name: varlog mountPath: /var/log readOnly: true - name: etc-full mountPath: /hostfs/etc readOnly: true - name: var-lib mountPath: /hostfs/var/lib readOnly: true - name: etc-mid mountPath: /etc/machine-id readOnly: true - name: sys-kernel-debug mountPath: /sys/kernel/debug - name: elastic-agent-state mountPath: /usr/share/elastic-agent/state # If you are using the Universal Profiling integration, please uncomment these lines before applying. #- name: universal-profiling-cache # mountPath: /var/cache/Elastic volumes: - name: proc hostPath: path: /proc - name: cgroup hostPath: path: /sys/fs/cgroup - name: varlibdockercontainers hostPath: path: /var/lib/docker/containers - name: varlog hostPath: path: /var/log # The following volumes are needed for Cloud Security Posture integration (cloudbeat) # If you are not using this integration, then these volumes and the corresponding # mounts can be removed. - name: etc-full hostPath: path: /etc - name: var-lib hostPath: path: /var/lib # Mount /etc/machine-id from the host to determine host ID # Needed for Elastic Security integration - name: etc-mid hostPath: path: /etc/machine-id type: File # Needed for 'Defend for containers' integration (cloud-defend) and Universal Profiling # If you are not using one of these integrations, then these volumes and the corresponding # mounts can be removed. - name: sys-kernel-debug hostPath: path: /sys/kernel/debug # Mount /var/lib/elastic-agent-managed/kube-system/state to store elastic-agent state # Update 'kube-system' with the namespace of your agent installation - name: elastic-agent-state emptyDir: {} # Mount required for Universal Profiling. # If you are using the Universal Profiling integration, please uncomment these lines before applying. #- name: universal-profiling-cache # hostPath: # path: /var/cache/Elastic # type: DirectoryOrCreate --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: elastic-agent subjects: - kind: ServiceAccount name: elastic-agent namespace: elastic-apps roleRef: kind: ClusterRole name: elastic-agent apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: namespace: elastic-apps name: elastic-agent subjects: - kind: ServiceAccount name: elastic-agent namespace: elastic-apps roleRef: kind: Role name: elastic-agent apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: elastic-agent-kubeadm-config namespace: elastic-apps subjects: - kind: ServiceAccount name: elastic-agent namespace: elastic-apps roleRef: kind: Role name: elastic-agent-kubeadm-config apiGroup: rbac.authorization.k8s.io --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: elastic-agent labels: k8s-app: elastic-agent rules: - apiGroups: [""] resources: - nodes - namespaces - events - pods - services - configmaps # Needed for cloudbeat - serviceaccounts - persistentvolumes - persistentvolumeclaims verbs: ["get", "list", "watch"] # Enable this rule only if planing to use kubernetes_secrets provider #- apiGroups: [""] # resources: # - secrets # verbs: ["get"] - apiGroups: ["extensions"] resources: - replicasets verbs: ["get", "list", "watch"] - apiGroups: ["apps"] resources: - statefulsets - deployments - replicasets - daemonsets verbs: ["get", "list", "watch"] - apiGroups: - "" resources: - nodes/stats verbs: - get - apiGroups: [ "batch" ] resources: - jobs - cronjobs verbs: [ "get", "list", "watch" ] # Needed for apiserver - nonResourceURLs: - "/metrics" verbs: - get # Needed for cloudbeat - apiGroups: ["rbac.authorization.k8s.io"] resources: - clusterrolebindings - clusterroles - rolebindings - roles verbs: ["get", "list", "watch"] # Needed for cloudbeat - apiGroups: ["policy"] resources: - podsecuritypolicies verbs: ["get", "list", "watch"] - apiGroups: [ "storage.k8s.io" ] resources: - storageclasses verbs: [ "get", "list", "watch" ] --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: elastic-agent # Should be the namespace where elastic-agent is running namespace: elastic-apps labels: k8s-app: elastic-agent rules: - apiGroups: - coordination.k8s.io resources: - leases verbs: ["get", "create", "update"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: elastic-agent-kubeadm-config namespace: elastic-apps labels: k8s-app: elastic-agent rules: - apiGroups: [""] resources: - configmaps resourceNames: - kubeadm-config verbs: ["get"] --- apiVersion: v1 kind: ServiceAccount metadata: name: elastic-agent namespace: elastic-apps labels: k8s-app: elastic-agent --- Per above manifest, the Elastic Agent will be configured in the elastic-apps namespace and you will need to configure the various env accodingly (FLEET_URL, FLEET_ENROLLMENT_TOKEN, KIBANA_HOST and KIBANA_FLEET_PASSWORD). Happy synthetics testing!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/" /><media:content medium="image" url="https://fcbrossard.net/" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Prevent OpenVPN to start automatically on Mac</title><link href="https://fcbrossard.net/blog/prevent-openvpn-client-to-start-automatically-on-macos" rel="alternate" type="text/html" title="Prevent OpenVPN to start automatically on Mac" /><published>2022-05-08T00:00:00+09:00</published><updated>2022-05-08T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/prevent-openvpn-client-to-start-automatically-on-macos</id><author><name>François-Clément Brossard</name></author><category term="Mac" /><summary type="html"><![CDATA[I had a bit of struggle to disable OpenVPN from launching automatically at boot on macOS. It doesn’t seem to have any option / checkbox in the softwareto disable launch at boot, so here what I did: 1) Unload OpenVPN daemon using launchctl: sudo launchctl unload /Library/LaunchDaemons/org.openvpn.plist 2) Remove OpenVPN from the Login Items Go to System Preferences &gt; Users &amp; Groups Select your current user and click the Login Items tab From there select OpenVPN Connect and remove it with the - button at the bottom Then OpenVPN shouldn’t launch automatically at the next startup. Hope that will be helpful.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/assets/profile_2.png" /><media:content medium="image" url="https://fcbrossard.net/assets/profile_2.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Gamify your tasks</title><link href="https://fcbrossard.net/blog/gamify-your-work" rel="alternate" type="text/html" title="Gamify your tasks" /><published>2022-04-23T00:00:00+09:00</published><updated>2022-04-23T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/gamify-your-work</id><author><name>François-Clément Brossard</name></author><category term="Production" /><summary type="html"><![CDATA[This logo is property of Habitica I’ve been using many apps for managing my todos in the past, here a few ones: jrnl Trello Google Todo List A simple txt file / Google Doc That said, todo-lists can get pretty boring over time but I found Habitica at some point. Habitica is a todo app wrappped into a RPG game where you earn XP, items, etc by achieving your daily tasks. Through the multiple updates over the years, Habitica got some new features like Guilds, Party and Group which add a lot of fun if you aim to use it with some friends. On top of that Habitica has a nice API and documentation which could be nice if you want to enhance the experience even more. For instance the APIs can help you to add or resolve some tasks dynamically by embedding calls to other programs. You can also import or export tasks from / to a different system. Possibilities are endless. I just wanted to share as I feel Habitca might not get the visilibity it deserves as a todo app. If you are bored with your basic todo list and tend to procrastinate I’m sure it could help in some ways by adding a dose of entertainment - just give it a try!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/assets/habitica.png" /><media:content medium="image" url="https://fcbrossard.net/assets/habitica.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Quarantine in Japan - Day 7</title><link href="https://fcbrossard.net/blog/quarantine-day7" rel="alternate" type="text/html" title="Quarantine in Japan - Day 7" /><published>2022-01-05T00:00:00+09:00</published><updated>2022-01-05T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/quarantine-day7</id><author><name>François-Clément Brossard</name></author><category term="Misc" /><summary type="html"><![CDATA[And here we are! Possibly the final day at the hotel. 7 o’clock sharp, I spit in the tube and hang it in a cup at the front door, as requested. Final saliva test in prep It’s time to start packing the suitcases. At the same time, I’m imagining being positive after 6 days locked up into this hotel room - no way. I know incubation period has an average of 5.6 days which freaks me out. 10 or even 14 more days at the hotel would be miserable. 4:00pm - Results came in and we are all negative (again). Hoorrayyy! A bit later, the phone ring, I pick it up and hear: “Sir, you are free to go.” (translated from Japanese 出て来い！:laughing:) WE ARE FREE! Thanks to those who have been reading through this poorly written day to day journal. At least, it will leave some traces about the quarantine process in Japan that might be useful to some people. And it also prove that you can survive a 20m2 hotel room with disgusting catering food and family members for a week without becoming insane… That’s a good lesson and an humbling experience. This is where my story of 7 boring days of Quarantine in Japan ends. If you are planning to get back to Japan (even if I suggest to wait a bit if you can) and have some questions regarding the quarantine here (or simply bored), feel free to reach out to me. See you next time (not for a quarantine).]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/assets/profile_2.png" /><media:content medium="image" url="https://fcbrossard.net/assets/profile_2.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Quarantine in Japan - Day 6</title><link href="https://fcbrossard.net/blog/quarantine-day6" rel="alternate" type="text/html" title="Quarantine in Japan - Day 6" /><published>2022-01-04T00:00:00+09:00</published><updated>2022-01-04T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/quarantine-day6</id><author><name>François-Clément Brossard</name></author><category term="Misc" /><summary type="html"><![CDATA[Hello everyone! Another great morning view Not much going on today, no tests, same kind of food. Good news is that I might be able to leave the hotel quarantine tomorrow if this last test is negative. After that a 6 days quarantine at home will pursue besides 4 negative PCR / antigenic tests over a period of 10 days. Being at home will definitely be more confortable but isn’t 14 days a bit too much?? I knew when Japan put border enforcement measures in place that I wouldn’t be able to take public transportations for the transfer from the hotel to my home. Then several options offers to you: ask for family member to pick you up rent a car or get a “covid19 quarantine friendly” ride from a taxi service. So prior my flight back to Japan, I booked a ride with a taxi service that originally asked me $150 for the ride. Few days later they messaged me back saying they would crank up the price to approximately $500 for “covid related precautions” - wtf ?!… I canceled and I will find an alternative. I guess some companies found this like a juicy opportunity to make some $$$. :nauseated_face:]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/assets/profile_2.png" /><media:content medium="image" url="https://fcbrossard.net/assets/profile_2.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Quarantine in Japan - Day 5</title><link href="https://fcbrossard.net/blog/quarantine-day5" rel="alternate" type="text/html" title="Quarantine in Japan - Day 5" /><published>2022-01-03T00:00:00+09:00</published><updated>2022-01-03T00:00:00+09:00</updated><id>https://fcbrossard.net/blog/quarantine-day5</id><author><name>François-Clément Brossard</name></author><category term="Misc" /><summary type="html"><![CDATA[Hello world! Hotel view I couldn’t sleep until 5am this morning - damn jet lag. That said, I finished to watch Money Heist - Season 5. Around lunch time, I got another video call from the MySOS app and got a screenshot of it. This is what you can expect to have to do 2 or 3 times a day (30s per call). MySOS app video call recording screenshot About the current situation, living in this tight and cramped space starts to get irritating – not mentioning baby’s toys songs playing all day long :sweat: 2 days remaining, we are almost there! The window barely opens, can’t wait to get out and breath some fresh air.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://fcbrossard.net/assets/profile_2.png" /><media:content medium="image" url="https://fcbrossard.net/assets/profile_2.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>