diff --git a/assets/img/exist.jpg b/assets/img/exist.jpg new file mode 100644 index 0000000..30c3cb5 Binary files /dev/null and b/assets/img/exist.jpg differ diff --git a/assets/img/me.jpg b/assets/img/me.jpg new file mode 100644 index 0000000..940197f Binary files /dev/null and b/assets/img/me.jpg differ diff --git a/assets/img/mv-logo.png b/assets/img/mv-logo.png new file mode 100644 index 0000000..ef383d9 Binary files /dev/null and b/assets/img/mv-logo.png differ diff --git a/config/_default/config.toml b/config/_default/config.toml new file mode 100644 index 0000000..ca6bba9 --- /dev/null +++ b/config/_default/config.toml @@ -0,0 +1,14 @@ +# -- Site Configuration -- +# Refer to the theme docs for more details about each of these parameters. +# https://jpanther.github.io/congo/docs/getting-started/ + +theme = "congo" +# baseURL = "" +defaultContentLanguage = "en" + +enableRobotsTXT = true +paginate = 10 +summaryLength = 0 + +[outputs] + home = ["HTML", "RSS", "JSON"] diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml new file mode 100644 index 0000000..04841b5 --- /dev/null +++ b/config/_default/languages.en.toml @@ -0,0 +1,65 @@ +languageCode = "en" +languageName = "English" +weight = 1 + +title = "Congo" +copyright = "Attribution 4.0 International (CC BY 4.0)" + +[params] + isoCode = "en" + displayName = "EN" + rtl = false + + dateFormat = "2 January 2006" + + # mainSections = ["section1", "section2"] + # description = "My awesome website" + +[author] + name = "Marcel Ventosa" + image = "img/me.jpg" + # headline = "I'm only human" + # bio = "A little bit about you" + links = [ + { email = "mailto:marcel@vegancambodia.com" }, + { link = "https://vegancambodia.com" }, + # { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" }, + # { apple = "https://www.apple.com" }, + # { blogger = "https://username.blogspot.com/" }, + # { codepen = "https://codepen.io/username" }, + # { dev = "https://dev.to/username" }, + # { discord = "https://discord.gg/invitecode" }, + # { dribbble = "https://dribbble.com/username" }, + # { facebook = "https://facebook.com/username" }, + # { flickr = "https://www.flickr.com/photos/username/" }, + # { foursquare = "https://foursquare.com/username" }, + # { github = "https://github.com/username" }, + # { gitlab = "https://gitlab.com/username" }, + # { google = "https://www.google.com/" }, + # { hashnode = "https://username.hashnode.dev" }, + # { instagram = "https://instagram.com/username" }, + # { keybase = "https://keybase.io/username" }, + # { kickstarter = "https://www.kickstarter.com/profile/username" }, + # { lastfm = "https://lastfm.com/user/username" }, + # { linkedin = "https://linkedin.com/in/username" }, + # { mastodon = "https://mastodon.instance/@username" }, + # { medium = "https://medium.com/username" }, + # { microsoft = "https://www.microsoft.com/" }, + # { orcid = "https://orcid.org/userid" }, + # { patreon = "https://www.patreon.com/username" }, + # { pinterest = "https://pinterest.com/username" }, + # { reddit = "https://reddit.com/user/username" }, + # { researchgate = "https://www.researchgate.net/profile/username" }, + # { slack = "https://workspace.url/team/userid" }, + # { snapchat = "https://snapchat.com/add/username" }, + # { soundcloud = "https://soundcloud.com/username" }, + # { stack-overflow = "https://stackoverflow.com/users/userid/username" }, + # { steam = "https://steamcommunity.com/profiles/userid" }, + # { telegram = "https://t.me/username" }, + # { tiktok = "https://tiktok.com/@username" }, + # { tumblr = "https://username.tumblr.com" }, + # { twitch = "https://twitch.tv/username" }, + # { twitter = "https://twitter.com/username" }, + # { whatsapp = "https://wa.me/phone-number" }, + # { youtube = "https://youtube.com/username" }, + ] diff --git a/config/_default/markup.toml b/config/_default/markup.toml new file mode 100644 index 0000000..c5449fc --- /dev/null +++ b/config/_default/markup.toml @@ -0,0 +1,13 @@ +# -- Markup -- +# These settings are required for the theme to function. + +[goldmark] +[goldmark.renderer] + unsafe = true + +[highlight] + noClasses = false + +[tableOfContents] + startLevel = 2 + endLevel = 4 diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml new file mode 100644 index 0000000..5e7aa93 --- /dev/null +++ b/config/_default/menus.en.toml @@ -0,0 +1,46 @@ +# -- Main Menu -- +# The main menu is displayed in the header at the top of the page. +# Acceptable parameters are name, pageRef, page, url, title, weight. +# +# The simplest menu configuration is to provide: +# name = The name to be displayed for this menu link +# pageRef = The identifier of the page or section to link to +# +# By default the menu is ordered alphabetically. This can be +# overridden by providing a weight value. The menu will then be +# ordered by weight from lowest to highest. + +[[main]] + name = "About" + pageRef = "about" + weight = 10 + +[[main]] + name = "Archives" + pageRef = "archives" + weight = 15 + +[[main]] + name = "Categories" + pageRef = "categories" + weight = 20 + +[[main]] + name = "Tags" + pageRef = "tags" + weight = 30 + +[[main]] + identifier = "search" + weight = 99 + [main.params] + action = "search" + +# -- Footer Menu -- +# The footer menu is displayed at the bottom of the page, just before +# the copyright notice. Configure as per the main menu above. + +# [[footer]] +# name = "Tags" +# pageRef = "tags" +# weight = 10 diff --git a/config/_default/module.toml b/config/_default/module.toml new file mode 100644 index 0000000..74f7727 --- /dev/null +++ b/config/_default/module.toml @@ -0,0 +1,3 @@ +[hugoVersion] + extended = false + min = "0.87.0" diff --git a/config/_default/params.toml b/config/_default/params.toml new file mode 100644 index 0000000..43be313 --- /dev/null +++ b/config/_default/params.toml @@ -0,0 +1,77 @@ +# -- Theme Options -- +# These options control how the theme functions and allow you to +# customise the display of your website. +# +# Refer to the theme docs for more details about each of these parameters. +# https://jpanther.github.io/congo/docs/configuration/#theme-parameters + +colorScheme = "ocean" +defaultAppearance = "light" # valid options: light or dark +autoSwitchAppearance = true + +enableSearch = true +enableCodeCopy = true +enableImageLazyLoading = true + +# robots = "" +fingerprintAlgorithm = "sha256" + +[header] + layout = "basic" # valid options: basic, hamburger, hybrid, custom + logo = "img/mv-logo.png" + # logoDark = "img/dark-logo.jpg" + showTitle = false + +[footer] + showCopyright = true + showThemeAttribution = true + showAppearanceSwitcher = false + showScrollToTop = true + +[homepage] + layout = "page" # valid options: page, profile, custom + showRecent = true + recentLimit = 50 + +[article] + showDate = true + showDateUpdated = false + showAuthor = false + showBreadcrumbs = false + showDraftLabel = true + showEdit = false + # editURL = "https://github.com/username/repo/" + editAppendPath = true + showHeadingAnchors = true + showPagination = true + invertPagination = false + showReadingTime = true + showTableOfContents = false + showTaxonomies = false + showWordCount = true + showComments = false + # sharingLinks = ["facebook", "twitter", "mastodon", "pinterest", "reddit", "linkedin", "email"] + +[list] + showBreadcrumbs = false + showSummary = true + showTableOfContents = false + showTaxonomies = false + groupByYear = true + paginationWidth = 1 + +[sitemap] + excludedKinds = ["taxonomy", "term"] + +[taxonomy] + showTermCount = true + +[fathomAnalytics] + # site = "ABC12345" + # domain = "llama.yoursite.com" + +[verification] + # google = "" + # bing = "" + # pinterest = "" + # yandex = "" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..891b09c --- /dev/null +++ b/content/_index.md @@ -0,0 +1,7 @@ +--- +# title: "~mve" +description: "Marcel Ventosa's personal blog" +cascade: + showReadingTime: true +--- +# A space for thoughts. diff --git a/content/about/_index.md b/content/about/_index.md new file mode 100644 index 0000000..bf810dd --- /dev/null +++ b/content/about/_index.md @@ -0,0 +1,13 @@ +--- +# title: "About me" +description: "Marcel Ventosa's personal blog" +--- +# About me +
+ + +Hi! My name is Marcel. I’m married, have one daughter, and run a construction consultancy and stamped concrete contracting business in Phnom Penh, Cambodia. + +I like traveling and have previously lived in Mexico, the US, Argentina, and Thailand. + +I enjoy (think, read about, use or practice) in no particular order: yoga, Emacs, veganism, tinkering, geopolitics, education, and Free Software. diff --git a/content/about/marcel.jpg b/content/about/marcel.jpg new file mode 100644 index 0000000..f81bd4e Binary files /dev/null and b/content/about/marcel.jpg differ diff --git a/content/archives/2023-06-30/2023-06-30.md b/content/archives/2023-06-30/2023-06-30.md new file mode 100644 index 0000000..104149f --- /dev/null +++ b/content/archives/2023-06-30/2023-06-30.md @@ -0,0 +1,17 @@ +--- +title: "My First Blog Post" +date: 2023-06-30 +description: "" +summary: "Why I am starting this blog." +--- + +![Sign at parking lot translated from Khmer to English as Exist](../exist.jpg) + + +A couple of months ago, I stumbled on [Jack Baty](https://baty.net)'s blog, added it to [Elfeed](https://github.com/skeeto/elfeed/), and started reading his daily updates. After a few weeks, I was looking forward to reading them every morning. + +Being a digital recluse, I'm still a bit skeptical of my capacity to enjoy sharing tidbits of my life openly online, but what the heck, I'll give it a shot. + +A shout-out to Jack for unwittingly coaxing me out of the shell. + +Let the experiment begin! diff --git a/content/archives/2023-06-30/exist.jpg b/content/archives/2023-06-30/exist.jpg new file mode 100644 index 0000000..30c3cb5 Binary files /dev/null and b/content/archives/2023-06-30/exist.jpg differ diff --git a/content/archives/2023-07-01.md b/content/archives/2023-07-01.md new file mode 100644 index 0000000..a23f852 --- /dev/null +++ b/content/archives/2023-07-01.md @@ -0,0 +1,25 @@ +--- +title: "On technology" +date: 2023-07-01 +description: "On enabling useless and potentially harmful technology for the sake of looking cool." +summary: "Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool." +tags: ["technology", "dystopia"] +categories: ["Technology"] +--- +I arrived at the gym a few weeks ago to notice they were removing the key locks from the lockers and replacing them with some sort of RFID bracelet technology. I chuckled, because this is exactly what I feel is wrong with technolgoy: They replaced a low maintenance time-tested technology (lock and key), with a high-maintenance untested fad consisting of many more moving parts. For starters, each locker now requires a regular battery change. I didn’t open the battery compartment, but it looks like it takes triple A’s. + +To be fair with the management, the new technology did solve the perennial problem caused by whatever sequential (FIFO?) system they were using to distribute keys to people as they walked in, and which caused congestion at specific areas of the locker room while leaving the rest of the space completely unused. The digital bracelets can lock any locker, allowing members to choose for themselves. I can think of simpler ways of fixing that problem. + +A week or so later, I walked into the lobby and noticed they were changing the check-in system, consisting of an RFID enabled member card scanned on entry, to what appeared to be fingerprint scanners. Bad news, I thought. Sure enough, within a few days the new system was up, and I was asked to scan my finger and get a new membership card to continue using the facilities. I informed them I would not provide my biometrics to enter a gym (or any place for that matter). The only exception being entering and leaving countries and other mandatory government initiatives where I have no choice. + +Why do I have a problem with biometrics enabled doors? I makes me feel we’re ushering in a dystopian future we will regret. I see a future where, cheaply and on a massive scale, every door will open (or not) based on each individual: "Sorry citizen, this a "Class A" facility. Based on your socioeconomic profile and psychometric tests (or social credit score?) you are ranked "Class B-". Please step aside." + +I have a problem with the data collection itself. Will this database be sold to third parties? Where are the servers located? What kind of firewall is used? This gym is one of the fanciest in town. Who would like to access member data? For what purposes? + +I asked politely why they required my fingerprint in addition to the RFID enabled card (which now need not be scanned, but must be deposited at reception to receive towels and locker opening bracelet). They informed me members were sharing their cards with third parties and the owner wanted to fix the problem. + +I told them my wife and I use the gym almost every day, and had no desire to share the card with anyone else. I also reminded them of the large TV hanging over the entrance gate and displaying each member’s private information as they scan the card, including a photo (the same photo printed on the card itself), and number of times the door has been accessed since the membership became active. They said they would raise the issue with "The Big Boss." + +A few weeks of silence ensued; The Big Boss was out of the country, I was informed. Finally, last week I went to ask again and was told The Big Boss understands and respects my dilemma. There are four of us refuseniks in the entire gym. We will be allowed to finish our yearly membership, but will not be allowed to renew it. I mentioned this drama to an acquaintance who lives in a suburb recently and he laughed and told me his gym has no need for cards or fingerprints: a facial recognition system automatically opens the door. + +Meanwhile, at my gym, a security guard scans an RFID enabled card to let me in every time after I show him my old RFID membership card, which I then deposit with the reception to receive a silicon bracelet and two towels, and scans the card again after I exchange the towels and bracelet for the card. I asked them why they wouldn’t make an exception and allow me to have an RFID card that opens the gate, like the guard’s. Not possible, they said, but would I reconsider my position maybe? I told them there’s only one finger I’m going to give them, and it will not be used for biometric scanning. diff --git a/layouts/partials/extend-footer.html b/layouts/partials/extend-footer.html new file mode 100644 index 0000000..0d68fe7 --- /dev/null +++ b/layouts/partials/extend-footer.html @@ -0,0 +1,3 @@ +

+ Source code +

diff --git a/public/404.html b/public/404.html new file mode 100644 index 0000000..109be80 --- /dev/null +++ b/public/404.html @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + 404 Page not found · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ +

Page Not Found 😕

+

+ Error 404 +

+
+

It seems that the page you've requested does not exist.

+
+ + +
+ + +
+ + diff --git a/public/about/index.html b/public/about/index.html new file mode 100644 index 0000000..31015e3 --- /dev/null +++ b/public/about/index.html @@ -0,0 +1,350 @@ + + + + + + + + + + + + + + + + · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ + +
+ +

+
+
+ +
+

About me #

+
+ +

Hi! My name is Marcel. I’m married, have one daughter, and run a construction consultancy and stamped concrete contracting business in Phnom Penh, Cambodia.

+

I like traveling and have previously lived in Mexico, the US, Argentina, and Thailand.

+

I enjoy (think, read about, use or practice) in no particular order: yoga, Emacs, veganism, tinkering, geopolitics, education, and Free Software.

+ +
+
+ +
+

+ There's no articles to list here yet. +

+
+ + + +
+ + +
+ + diff --git a/public/about/index.xml b/public/about/index.xml new file mode 100644 index 0000000..cc867b1 --- /dev/null +++ b/public/about/index.xml @@ -0,0 +1,11 @@ + + + + Congo + /about/ + Recent content on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + + diff --git a/public/about/marcel.jpg b/public/about/marcel.jpg new file mode 100644 index 0000000..f81bd4e Binary files /dev/null and b/public/about/marcel.jpg differ diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000..56bd4ee Binary files /dev/null and b/public/android-chrome-192x192.png differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000..2d9dd07 Binary files /dev/null and b/public/android-chrome-512x512.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000..dc8ae42 Binary files /dev/null and b/public/apple-touch-icon.png differ diff --git a/public/archives/2023-06-30/2023-06-30/index.html b/public/archives/2023-06-30/2023-06-30/index.html new file mode 100644 index 0000000..640438b --- /dev/null +++ b/public/archives/2023-06-30/2023-06-30/index.html @@ -0,0 +1,493 @@ + + + + + + + + + + + + + + + + My First Blog Post · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ +
+
+ +

+ My First Blog Post +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·80 words·1 min + + + + +
+ + + + + +
+ +
+
+ +
+

+ + + + + + + +

+ Sign at parking lot translated from Khmer to English as Exist + +
+ + +

+

A couple of months ago, I stumbled on Jack Baty’s blog, added it to Elfeed, and started reading his daily updates. After a few weeks, I was looking forward to reading them every morning.

+

Being a digital recluse, I’m still a bit skeptical of my capacity to enjoy sharing tidbits of my life openly online, but what the heck, I’ll give it a shot.

+

A shout-out to Jack for unwittingly coaxing me out of the shell.

+

Let the experiment begin!

+ +
+
+ +
+ + +
+ + +
+ + diff --git a/public/archives/2023-06-30/exist.jpg b/public/archives/2023-06-30/exist.jpg new file mode 100644 index 0000000..30c3cb5 Binary files /dev/null and b/public/archives/2023-06-30/exist.jpg differ diff --git a/public/archives/2023-07-01/index.html b/public/archives/2023-07-01/index.html new file mode 100644 index 0000000..e00a8f0 --- /dev/null +++ b/public/archives/2023-07-01/index.html @@ -0,0 +1,479 @@ + + + + + + + + + + + + + + + + On technology · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ +
+
+ +

+ On technology +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·736 words·4 mins + + + + +
+ + + + + +
+ +
+
+ +
+

I arrived at the gym a few weeks ago to notice they were removing the key locks from the lockers and replacing them with some sort of RFID bracelet technology. I chuckled, because this is exactly what I feel is wrong with technolgoy: They replaced a low maintenance time-tested technology (lock and key), with a high-maintenance untested fad consisting of many more moving parts. For starters, each locker now requires a regular battery change. I didn’t open the battery compartment, but it looks like it takes triple A’s.

+

To be fair with the management, the new technology did solve the perennial problem caused by whatever sequential (FIFO?) system they were using to distribute keys to people as they walked in, and which caused congestion at specific areas of the locker room while leaving the rest of the space completely unused. The digital bracelets can lock any locker, allowing members to choose for themselves. I can think of simpler ways of fixing that problem.

+

A week or so later, I walked into the lobby and noticed they were changing the check-in system, consisting of an RFID enabled member card scanned on entry, to what appeared to be fingerprint scanners. Bad news, I thought. Sure enough, within a few days the new system was up, and I was asked to scan my finger and get a new membership card to continue using the facilities. I informed them I would not provide my biometrics to enter a gym (or any place for that matter). The only exception being entering and leaving countries and other mandatory government initiatives where I have no choice.

+

Why do I have a problem with biometrics enabled doors? I makes me feel we’re ushering in a dystopian future we will regret. I see a future where, cheaply and on a massive scale, every door will open (or not) based on each individual: “Sorry citizen, this a “Class A” facility. Based on your socioeconomic profile and psychometric tests (or social credit score?) you are ranked “Class B-”. Please step aside.”

+

I have a problem with the data collection itself. Will this database be sold to third parties? Where are the servers located? What kind of firewall is used? This gym is one of the fanciest in town. Who would like to access member data? For what purposes?

+

I asked politely why they required my fingerprint in addition to the RFID enabled card (which now need not be scanned, but must be deposited at reception to receive towels and locker opening bracelet). They informed me members were sharing their cards with third parties and the owner wanted to fix the problem.

+

I told them my wife and I use the gym almost every day, and had no desire to share the card with anyone else. I also reminded them of the large TV hanging over the entrance gate and displaying each member’s private information as they scan the card, including a photo (the same photo printed on the card itself), and number of times the door has been accessed since the membership became active. They said they would raise the issue with “The Big Boss.”

+

A few weeks of silence ensued; The Big Boss was out of the country, I was informed. Finally, last week I went to ask again and was told The Big Boss understands and respects my dilemma. There are four of us refuseniks in the entire gym. We will be allowed to finish our yearly membership, but will not be allowed to renew it. I mentioned this drama to an acquaintance who lives in a suburb recently and he laughed and told me his gym has no need for cards or fingerprints: a facial recognition system automatically opens the door.

+

Meanwhile, at my gym, a security guard scans an RFID enabled card to let me in every time after I show him my old RFID membership card, which I then deposit with the reception to receive a silicon bracelet and two towels, and scans the card again after I exchange the towels and bracelet for the card. I asked them why they wouldn’t make an exception and allow me to have an RFID card that opens the gate, like the guard’s. Not possible, they said, but would I reconsider my position maybe? I told them there’s only one finger I’m going to give them, and it will not be used for biometric scanning.

+ +
+
+ +
+ + + + +
+ + +
+ + diff --git a/public/archives/index.html b/public/archives/index.html new file mode 100644 index 0000000..ecab25d --- /dev/null +++ b/public/archives/index.html @@ -0,0 +1,484 @@ + + + + + + + + + + + + + + + + Archives · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ + +
+ +

Archives

+
+
+ +
+ +
+
+ +
+ + +

+ 2023 +

+
+ +
+
+

+ + On technology + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·736 words·4 mins + + + + +
+ + + + + +
+ +
+ Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. +
+ +
+
+ + +
+
+

+ + My First Blog Post + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·80 words·1 min + + + + +
+ + + + + +
+ +
+ Why I am starting this blog. +
+ +
+
+ + + + +
+ + + + + +
+ + +
+ + diff --git a/public/archives/index.xml b/public/archives/index.xml new file mode 100644 index 0000000..6210ced --- /dev/null +++ b/public/archives/index.xml @@ -0,0 +1,30 @@ + + + + Archives on Congo + /archives/ + Recent content in Archives on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + On technology + /archives/2023-07-01/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /archives/2023-07-01/ + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. + + + + My First Blog Post + /archives/2023-06-30/2023-06-30/ + Fri, 30 Jun 2023 00:00:00 +0000 + + /archives/2023-06-30/2023-06-30/ + Why I am starting this blog. + + + + diff --git a/public/archives/page/1/index.html b/public/archives/page/1/index.html new file mode 100644 index 0000000..0fea066 --- /dev/null +++ b/public/archives/page/1/index.html @@ -0,0 +1,10 @@ + + + + /archives/ + + + + + + diff --git a/public/categories/index.html b/public/categories/index.html new file mode 100644 index 0000000..09fa0ed --- /dev/null +++ b/public/categories/index.html @@ -0,0 +1,348 @@ + + + + + + + + + + + + + + + + Categories · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ +
+ +

Categories

+
+ +
+ + + +
+ + +
+ + +
+ + diff --git a/public/categories/index.xml b/public/categories/index.xml new file mode 100644 index 0000000..d278c17 --- /dev/null +++ b/public/categories/index.xml @@ -0,0 +1,21 @@ + + + + Categories on Congo + /categories/ + Recent content in Categories on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + Technology + /categories/technology/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /categories/technology/ + + + + + diff --git a/public/categories/technology/index.html b/public/categories/technology/index.html new file mode 100644 index 0000000..c904340 --- /dev/null +++ b/public/categories/technology/index.html @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + Technology · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ +
+ +

Technology

+
+ +
+ +
+ + +

+ 2023 +

+
+ +
+
+

+ + On technology + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·736 words·4 mins + + + + +
+ + + + + +
+ +
+ Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. +
+ +
+
+ + + + +
+ + + +
+ + +
+ + +
+ + diff --git a/public/categories/technology/index.xml b/public/categories/technology/index.xml new file mode 100644 index 0000000..bcb14e2 --- /dev/null +++ b/public/categories/technology/index.xml @@ -0,0 +1,21 @@ + + + + Technology on Congo + /categories/technology/ + Recent content in Technology on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + On technology + /archives/2023-07-01/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /archives/2023-07-01/ + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. + + + + diff --git a/public/categories/technology/page/1/index.html b/public/categories/technology/page/1/index.html new file mode 100644 index 0000000..c29c528 --- /dev/null +++ b/public/categories/technology/page/1/index.html @@ -0,0 +1,10 @@ + + + + /categories/technology/ + + + + + + diff --git a/public/css/custom.css b/public/css/custom.css new file mode 100644 index 0000000..d77f654 --- /dev/null +++ b/public/css/custom.css @@ -0,0 +1,15 @@ +img[src$='#floatleft'] +{ + float:left; + //etc. etc/ +} + + +} + +floatleft { + max-width: 30%; + width: auto\9*0.3; /* ie8 */ + height: auto; + float: left; +} diff --git a/public/css/main.bundle.min.17fc506b1c26b1bbc9a782ffffc510d9ecbfef39adb801fd6c673c614f713ffe.css b/public/css/main.bundle.min.17fc506b1c26b1bbc9a782ffffc510d9ecbfef39adb801fd6c673c614f713ffe.css new file mode 100644 index 0000000..ecb9a50 --- /dev/null +++ b/public/css/main.bundle.min.17fc506b1c26b1bbc9a782ffffc510d9ecbfef39adb801fd6c673c614f713ffe.css @@ -0,0 +1 @@ +:root{--color-neutral:255, 255, 255;--color-neutral-50:248, 250, 252;--color-neutral-100:241, 245, 249;--color-neutral-200:226, 232, 240;--color-neutral-300:203, 213, 225;--color-neutral-400:148, 163, 184;--color-neutral-500:100, 116, 139;--color-neutral-600:71, 85, 105;--color-neutral-700:51, 65, 85;--color-neutral-800:30, 41, 59;--color-neutral-900:15, 23, 42;--color-primary-50:239, 246, 255;--color-primary-100:219, 234, 254;--color-primary-200:191, 219, 254;--color-primary-300:147, 197, 253;--color-primary-400:96, 165, 250;--color-primary-500:59, 130, 246;--color-primary-600:37, 99, 235;--color-primary-700:29, 78, 216;--color-primary-800:30, 64, 175;--color-primary-900:30, 58, 138;--color-secondary-50:236, 254, 255;--color-secondary-100:207, 250, 254;--color-secondary-200:165, 243, 252;--color-secondary-300:103, 232, 249;--color-secondary-400:34, 211, 238;--color-secondary-500:6, 182, 212;--color-secondary-600:8, 145, 178;--color-secondary-700:14, 116, 144;--color-secondary-800:21, 94, 117;--color-secondary-900:22, 78, 99}/*!Congo v2.6.1 | MIT License | https://github.com/jpanther/congo*//*!tailwindcss v3.3.2 | MIT License | https://tailwindcss.com*/*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:initial}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500;text-decoration-color:rgba(var(--color-primary-300),1)}.prose :where(a):not(:where([class~=not-prose] *)):hover{color:rgba(var(--color-neutral),1);text-decoration:none;background-color:rgba(var(--color-primary-600),1);border-radius:.09rem}.prose :where(strong):not(:where([class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=As]):not(:where([class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=as]):not(:where([class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=Is]):not(:where([class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=is]):not(:where([class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol>li):not(:where([class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-left-width:.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:"\201C""\201D""\2018""\2019";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose] *))::before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure>*):not(:where([class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose :where(code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose] *))::before{content:"`"}.prose :where(code):not(:where([class~=not-prose] *))::after{content:"`"}.prose :where(a code):not(:where([class~=not-prose] *)){color:var(--tw-prose-code)}.prose :where(h1 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-right:1.1428571em;padding-bottom:.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose] *))::before{content:none}.prose :where(pre code):not(:where([class~=not-prose] *))::after{content:none}.prose :where(table):not(:where([class~=not-prose] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose] *)){vertical-align:top}.prose{--tw-prose-body:rgba(var(--color-neutral-700), 1);--tw-prose-headings:rgba(var(--color-neutral-800), 1);--tw-prose-lead:rgba(var(--color-neutral-500), 1);--tw-prose-links:rgba(var(--color-primary-700), 1);--tw-prose-bold:rgba(var(--color-neutral-900), 1);--tw-prose-counters:rgba(var(--color-neutral-800), 1);--tw-prose-bullets:rgba(var(--color-neutral-500), 1);--tw-prose-hr:rgba(var(--color-neutral-200), 1);--tw-prose-quotes:rgba(var(--color-neutral-700), 1);--tw-prose-quote-borders:rgba(var(--color-primary-200), 1);--tw-prose-captions:rgba(var(--color-neutral-500), 1);--tw-prose-code:rgba(var(--color-secondary-700), 1);--tw-prose-pre-code:rgba(var(--color-neutral-700), 1);--tw-prose-pre-bg:rgba(var(--color-neutral-50), 1);--tw-prose-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-td-borders:rgba(var(--color-neutral-300), 1);--tw-prose-invert-body:rgba(var(--color-neutral-300), 1);--tw-prose-invert-headings:rgba(var(--color-neutral-50), 1);--tw-prose-invert-lead:rgba(var(--color-neutral-500), 1);--tw-prose-invert-links:rgba(var(--color-primary-400), 1);--tw-prose-invert-bold:rgba(var(--color-neutral), 1);--tw-prose-invert-counters:rgba(var(--color-neutral-400), 1);--tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1);--tw-prose-invert-hr:rgba(var(--color-neutral-500), 1);--tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1);--tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1);--tw-prose-invert-captions:rgba(var(--color-neutral-400), 1);--tw-prose-invert-code:rgba(var(--color-secondary-400), 1);--tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1);--tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1);--tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1);--tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1);font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(ul>li):not(:where([class~=not-prose] *)){padding-left:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>*:first-child):not(:where([class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>*:last-child):not(:where([class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(hr+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose] *)){padding-top:.5714286em;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose] *)){padding-left:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose] *)){padding-right:0}.prose :where(.prose>:first-child):not(:where([class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose] *)){margin-bottom:0}.prose :where(kbd):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-neutral-200),1);padding:.1rem .4rem;border-radius:.25rem;font-size:.9rem;font-weight:600}.prose :where(mark):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-800),1);background-color:rgba(var(--color-secondary-200),1);padding:.1rem .2rem;border-radius:.12rem}body a,body button{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.icon svg{height:1em;width:1em}#search-query::-webkit-search-cancel-button,#search-query::-webkit-search-decoration,#search-query::-webkit-search-results-button,#search-query::-webkit-search-results-decoration{display:none}body:has(#menu-controller:checked){height:100vh;overflow:hidden}#menu-button:has(#menu-controller:checked){visibility:hidden}#menu-controller:checked~#menu-wrapper{visibility:visible;opacity:1}:is([dir=rtl] .prose blockquote){border-left-width:0;border-right-width:4px;padding-right:1rem}:is([dir=rtl] .prose ul>li),:is([dir=rtl] .prose ol>li){margin-right:1.75rem;padding-left:0;padding-right:.5rem}:is([dir=rtl] .prose ol>li):before,:is([dir=rtl] .prose ul>li):before{left:auto;right:.25rem}:is([dir=rtl] .prose thead td:first-child),:is([dir=rtl] .prose thead th:first-child){padding-right:0}:is([dir=rtl] .prose thead td:last-child),:is([dir=rtl] .prose thead th:last-child){padding-left:0}.prose div.min-w-0.max-w-prose>*:first-child{margin-top:.75rem}.toc ul,.toc li{list-style-type:none;padding-left:0;padding-right:0;line-height:1.375}.toc ul ul{-webkit-padding-start:1rem;padding-inline-start:1rem}.toc a{font-weight:400;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .toc a){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}:is([dir=rtl] .toc ul>li){margin-right:0}.highlight-wrapper{display:block}.highlight{position:relative;z-index:0}.highlight:hover>.copy-button{visibility:visible}.copy-button{visibility:hidden;position:absolute;right:0;top:0;z-index:10;width:5rem;cursor:pointer;white-space:nowrap;border-bottom-left-radius:.375rem;border-top-right-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-200),var(--tw-bg-opacity));padding-top:.25rem;padding-bottom:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.875rem;line-height:1.25rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity));opacity:.9}:is(.dark .copy-button){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.copy-button:hover,.copy-button:focus,.copy-button:active,.copy-button:active:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}:is(.dark .copy-button:hover),:is(.dark .copy-button:focus),:is(.dark .copy-button:active),:is(.dark .copy-button:active:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.copy-textarea{position:absolute;z-index:-10;opacity:.05}.chroma{border-radius:.375rem;--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-50),var(--tw-bg-opacity));padding-top:.75rem;padding-bottom:.75rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .chroma){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(var(--color-neutral-200),var(--tw-text-opacity))}.chroma pre{margin:0;padding:0}.chroma .lntable{margin:0;display:block;width:auto;overflow:auto;font-size:1rem;line-height:1.5rem}.chroma .lnt,.chroma .ln{margin-right:.5rem;padding-left:.5rem;padding-right:.5rem;--tw-text-opacity:1;color:rgba(var(--color-neutral-600),var(--tw-text-opacity))}:is(.dark .chroma .lnt),:is(.dark .chroma .ln){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}.chroma .lntd{padding:0;vertical-align:top}.chroma .lntd:last-of-type{width:100%}.chroma .hl{display:block;width:100%;--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}:is(.dark .chroma .hl){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .nc,.chroma .fm,.chroma .nn,.chroma .vc,.chroma .o{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}:is(.dark .chroma .k),:is(.dark .chroma .kd),:is(.dark .chroma .kn),:is(.dark .chroma .kp),:is(.dark .chroma .kr),:is(.dark .chroma .nc),:is(.dark .chroma .fm),:is(.dark .chroma .nn),:is(.dark .chroma .vc),:is(.dark .chroma .o){--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.chroma .kc{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .kc){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .kt,.chroma .nv,.chroma .vi,.chroma .vm,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .kt),:is(.dark .chroma .nv),:is(.dark .chroma .vi),:is(.dark .chroma .vm),:is(.dark .chroma .m),:is(.dark .chroma .mb),:is(.dark .chroma .mf),:is(.dark .chroma .mh),:is(.dark .chroma .mi),:is(.dark .chroma .il),:is(.dark .chroma .mo){--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}.chroma .n,.chroma .nd,.chroma .ni,.chroma .nl{--tw-text-opacity:1;color:rgba(var(--color-secondary-900),var(--tw-text-opacity))}:is(.dark .chroma .n),:is(.dark .chroma .nd),:is(.dark .chroma .ni),:is(.dark .chroma .nl){--tw-text-opacity:1;color:rgba(var(--color-secondary-200),var(--tw-text-opacity))}.chroma .na,.chroma .nb,.chroma .bp,.chroma .nx,.chroma .py,.chroma .nt{--tw-text-opacity:1;color:rgba(var(--color-secondary-800),var(--tw-text-opacity))}:is(.dark .chroma .na),:is(.dark .chroma .nb),:is(.dark .chroma .bp),:is(.dark .chroma .nx),:is(.dark .chroma .py),:is(.dark .chroma .nt){--tw-text-opacity:1;color:rgba(var(--color-secondary-300),var(--tw-text-opacity))}.chroma .no,.chroma .ne,.chroma .vg{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .no),:is(.dark .chroma .ne),:is(.dark .chroma .vg){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .nf{--tw-text-opacity:1;color:rgba(var(--color-secondary-600),var(--tw-text-opacity))}:is(.dark .chroma .nf){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .l,.chroma .ld,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .sh,.chroma .si,.chroma .sx,.chroma .s1,.chroma .gi,.chroma .go,.chroma .gp{--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}:is(.dark .chroma .l),:is(.dark .chroma .ld),:is(.dark .chroma .s),:is(.dark .chroma .sa),:is(.dark .chroma .sb),:is(.dark .chroma .sc),:is(.dark .chroma .dl),:is(.dark .chroma .sd),:is(.dark .chroma .s2),:is(.dark .chroma .sh),:is(.dark .chroma .si),:is(.dark .chroma .sx),:is(.dark .chroma .s1),:is(.dark .chroma .gi),:is(.dark .chroma .go),:is(.dark .chroma .gp){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .se{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-secondary-400),var(--tw-text-opacity))}:is(.dark .chroma .se){--tw-text-opacity:1;color:rgba(var(--color-secondary-500),var(--tw-text-opacity))}.chroma .sr,.chroma .ss{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-800),var(--tw-text-opacity))}:is(.dark .chroma .sr),:is(.dark .chroma .ss){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.chroma .ow{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .chroma .ow){--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.chroma .c,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .chroma .c),:is(.dark .chroma .cm),:is(.dark .chroma .c1),:is(.dark .chroma .cs),:is(.dark .chroma .cp),:is(.dark .chroma .cpf){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ch{font-weight:600;font-style:italic;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .chroma .ch){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.chroma .ge{font-style:italic}.chroma .gh{font-weight:600;--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gs{font-weight:600}.chroma .gu,.chroma .gt{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.chroma .gl{text-decoration-line:underline}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-start-6{inset-inline-start:-1.5rem}.bottom-0{bottom:0}.end-0{inset-inline-end:0}.top-0{top:0}.top-20{top:5rem}.top-\[100vh\]{top:100vh}.top-\[calc\(100vh-5\.5rem\)\]{top:calc(100vh - 5.5rem)}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-first{order:-9999}.m-1{margin:.25rem}.m-auto{margin:auto}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.\!mb-0{margin-bottom:0!important}.\!mb-9{margin-bottom:2.25rem!important}.\!mt-0{margin-top:0!important}.-mb-1{margin-bottom:-.25rem}.-ms-5{-webkit-margin-start:-1.25rem;margin-inline-start:-1.25rem}.-mt-3{margin-top:-.75rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.mb-\[2px\]{margin-bottom:2px}.me-14{-webkit-margin-end:3.5rem;margin-inline-end:3.5rem}.me-2{-webkit-margin-end:.5rem;margin-inline-end:.5rem}.me-4{-webkit-margin-end:1rem;margin-inline-end:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.ms-1{-webkit-margin-start:.25rem;margin-inline-start:.25rem}.ms-2{-webkit-margin-start:.5rem;margin-inline-start:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-\[0\.1rem\]{margin-top:.1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.h-12{height:3rem}.h-24{height:6rem}.h-36{height:9rem}.h-8{height:2rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[10rem\]{max-height:10rem}.max-h-\[4\.5rem\]{max-height:4.5rem}.min-h-0{min-height:0}.w-12{width:3rem}.w-24{width:6rem}.w-36{width:9rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\[1\.8rem\]{min-width:1.8rem}.min-w-\[2\.4rem\]{min-width:2.4rem}.max-w-3xl{max-width:48rem}.max-w-7xl{max-width:80rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[6rem\]{max-width:6rem}.max-w-full{max-width:100%}.max-w-prose{max-width:65ch}.flex-auto{flex:auto}.flex-none{flex:none}.grow{flex-grow:1}.-translate-y-8{--tw-translate-y:-2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.place-self-center{place-self:center}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.scroll-smooth{scroll-behavior:smooth}.\!rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.border{border-width:1px}.border-s{border-inline-start-width:1px}.border-t{border-top-width:1px}.border-dotted{border-style:dotted}.border-neutral-200{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-200),var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-300),var(--tw-border-opacity))}.border-neutral-400{--tw-border-opacity:1;border-color:rgba(var(--color-neutral-400),var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity:1;border-color:rgba(var(--color-primary-400),var(--tw-border-opacity))}.bg-neutral{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral),var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-100),var(--tw-bg-opacity))}.bg-neutral-100\/50{background-color:rgba(var(--color-neutral-100),.5)}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-300),var(--tw-bg-opacity))}.bg-neutral-500\/50{background-color:rgba(var(--color-neutral-500),.5)}.bg-neutral\/50{background-color:rgba(var(--color-neutral),.5)}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-200),var(--tw-bg-opacity))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.object-scale-down{-o-object-fit:scale-down;object-fit:scale-down}.object-left{-o-object-position:left;object-position:left}.p-1{padding:.25rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[1px\]{padding-top:1px;padding-bottom:1px}.pb-4{padding-bottom:1rem}.pe-2{-webkit-padding-end:.5rem;padding-inline-end:.5rem}.pe-3{-webkit-padding-end:.75rem;padding-inline-end:.75rem}.pe-4{-webkit-padding-end:1rem;padding-inline-end:1rem}.pe-5{-webkit-padding-end:1.25rem;padding-inline-end:1.25rem}.ps-2{-webkit-padding-start:.5rem;padding-inline-start:.5rem}.ps-5{-webkit-padding-start:1.25rem;padding-inline-start:1.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-text-bottom{vertical-align:text-bottom}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.6rem\]{font-size:.6rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-3{line-height:.75rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-relaxed{line-height:1.625}.\!text-neutral{--tw-text-opacity:1 !important;color:rgba(var(--color-neutral),var(--tw-text-opacity))!important}.text-neutral-400{--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgba(var(--color-neutral-900),var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.text-primary-700{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.\!no-underline{text-decoration-line:none!important}.decoration-neutral-300{text-decoration-color:rgba(var(--color-neutral-300),1)}.decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.opacity-0{opacity:0}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}:is(.dark .dark\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}:is(.dark .dark\:prose-invert) :where(a):not(:where([class~=not-prose] *)){text-decoration-color:rgba(var(--color-neutral-600),1)}:is(.dark .dark\:prose-invert) :where(kbd):not(:where([class~=not-prose] *)){color:rgba(var(--color-neutral-200),1);background-color:rgba(var(--color-neutral-700),1)}:is(.dark .dark\:prose-invert) :where(mark):not(:where([class~=not-prose] *)){background-color:rgba(var(--color-secondary-400),1)}.first\:mt-8:first-child{margin-top:2rem}.hover\:scale-125:hover{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgba(var(--color-primary-300),var(--tw-border-opacity))}.hover\:\!bg-primary-500:hover{--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))!important}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.hover\:bg-primary-500:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-500),var(--tw-bg-opacity))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-600),var(--tw-bg-opacity))}.hover\:text-neutral:hover{--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}.hover\:text-primary-500:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-500),var(--tw-text-opacity))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgba(var(--color-primary-700),var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-400:hover{text-decoration-color:rgba(var(--color-primary-400),1)}.hover\:decoration-2:hover{text-decoration-thickness:2px}.hover\:underline-offset-2:hover{text-underline-offset:2px}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.focus\:bg-primary-100:focus{--tw-bg-opacity:1;background-color:rgba(var(--color-primary-100),var(--tw-bg-opacity))}.focus\:outline-dotted:focus{outline-style:dotted}.focus\:outline-2:focus{outline-width:2px}.focus\:outline-transparent:focus{outline-color:transparent}.group:hover .group-hover\:-translate-x-\[2px\]{--tw-translate-x:-2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:text-primary-300{--tw-text-opacity:1;color:rgba(var(--color-primary-300),var(--tw-text-opacity))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgba(var(--color-primary-600),var(--tw-text-opacity))}.group:hover .group-hover\:underline{text-decoration-line:underline}.group:hover .group-hover\:decoration-primary-500{text-decoration-color:rgba(var(--color-primary-500),1)}.group:hover .group-hover\:decoration-2{text-decoration-thickness:2px}.group:hover .group-hover\:underline-offset-2{text-underline-offset:2px}.group:hover .group-hover\:opacity-100{opacity:1}:is([dir=ltr] .ltr\:block){display:block}:is([dir=ltr] .ltr\:inline){display:inline}:is([dir=ltr] .ltr\:hidden){display:none}:is([dir=ltr] .ltr\:text-right){text-align:right}:is([dir=rtl] .rtl\:block){display:block}:is([dir=rtl] .rtl\:inline){display:inline}:is([dir=rtl] .rtl\:hidden){display:none}:is([dir=rtl] .rtl\:text-left){text-align:left}:is(.dark .dark\:inline){display:inline}:is(.dark .dark\:flex){display:flex}:is(.dark .dark\:hidden){display:none}:is(.dark .dark\:border-neutral-600){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-600),var(--tw-border-opacity))}:is(.dark .dark\:border-neutral-700){--tw-border-opacity:1;border-color:rgba(var(--color-neutral-700),var(--tw-border-opacity))}:is(.dark .dark\:border-primary-600){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}:is(.dark .dark\:bg-neutral-600){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-600),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-700){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-700),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-800){--tw-bg-opacity:1;background-color:rgba(var(--color-neutral-800),var(--tw-bg-opacity))}:is(.dark .dark\:bg-neutral-800\/50){background-color:rgba(var(--color-neutral-800),.5)}:is(.dark .dark\:bg-neutral-900\/50){background-color:rgba(var(--color-neutral-900),.5)}:is(.dark .dark\:bg-primary-400){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-800){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-800),var(--tw-bg-opacity))}:is(.dark .dark\:bg-primary-900){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .dark\:text-neutral){--tw-text-opacity:1;color:rgba(var(--color-neutral),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-100){--tw-text-opacity:1;color:rgba(var(--color-neutral-100),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-300){--tw-text-opacity:1;color:rgba(var(--color-neutral-300),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-400){--tw-text-opacity:1;color:rgba(var(--color-neutral-400),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-500){--tw-text-opacity:1;color:rgba(var(--color-neutral-500),var(--tw-text-opacity))}:is(.dark .dark\:text-neutral-800){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}:is(.dark .dark\:text-primary-400){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .dark\:hover\:border-primary-600:hover){--tw-border-opacity:1;border-color:rgba(var(--color-primary-600),var(--tw-border-opacity))}:is(.dark .dark\:hover\:\!bg-primary-700:hover){--tw-bg-opacity:1 !important;background-color:rgba(var(--color-primary-700),var(--tw-bg-opacity))!important}:is(.dark .dark\:hover\:bg-primary-400:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-400),var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary-900:hover){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .dark\:hover\:text-neutral-800:hover){--tw-text-opacity:1;color:rgba(var(--color-neutral-800),var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-primary-400:hover){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}:is(.dark .dark\:focus\:bg-primary-900:focus){--tw-bg-opacity:1;background-color:rgba(var(--color-primary-900),var(--tw-bg-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-neutral-700){--tw-text-opacity:1;color:rgba(var(--color-neutral-700),var(--tw-text-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-primary-400){--tw-text-opacity:1;color:rgba(var(--color-primary-400),var(--tw-text-opacity))}@media print{.print\:hidden{display:none}}@media(min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:me-7{-webkit-margin-end:1.75rem;margin-inline-end:1.75rem}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:max-h-\[7\.5rem\]{max-height:7.5rem}.sm\:w-1\/2{width:50%}.sm\:w-40{width:10rem}.sm\:max-w-\[10rem\]{max-width:10rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-6{padding:1.5rem}.sm\:px-14{padding-left:3.5rem;padding-right:3.5rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:pe-6{-webkit-padding-end:1.5rem;padding-inline-end:1.5rem}.sm\:pt-10{padding-top:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:last\:me-0:last-child{-webkit-margin-end:0;margin-inline-end:0}.sm\:last\:me-0\.5:last-child{-webkit-margin-end:.125rem;margin-inline-end:.125rem}}@media(min-width:768px){.md\:w-1\/3{width:33.333333%}.md\:p-\[10vh\]{padding:10vh}.md\:px-24{padding-left:6rem;padding-right:6rem}}@media(min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-10{top:2.5rem}.lg\:order-last{order:9999}.lg\:hidden{display:none}.lg\:w-1\/4{width:25%}.lg\:max-w-xs{max-width:20rem}.lg\:flex-row{flex-direction:row}.lg\:p-\[12vh\]{padding:12vh}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:ps-8{-webkit-padding-start:2rem;padding-inline-start:2rem}}@media(min-width:1280px){.xl\:w-1\/5{width:20%}} \ No newline at end of file diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000..1cefd1f Binary files /dev/null and b/public/favicon-16x16.png differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000..07cf9e6 Binary files /dev/null and b/public/favicon-32x32.png differ diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..cf58c60 Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/img/mv-logo.png b/public/img/mv-logo.png new file mode 100644 index 0000000..ef383d9 Binary files /dev/null and b/public/img/mv-logo.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..e070736 --- /dev/null +++ b/public/index.html @@ -0,0 +1,490 @@ + + + + + + + + + + + + + + + + + Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Skip to main content +
+ + +
+ +
+ + +
+
+ + + +
+ +

A space for thoughts. #

+
+
+
+ +

Recent

+ +
+
+

+ + On technology + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·736 words·4 mins + + + + +
+ + + + + +
+ +
+ Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. +
+ +
+
+ + +
+
+

+ + My First Blog Post + + + +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ·80 words·1 min + + + + +
+ + + + + +
+ +
+ Why I am starting this blog. +
+ +
+
+ + + + +
+ + + + +
+ + +
+ + diff --git a/public/index.json b/public/index.json new file mode 100644 index 0000000..384ac7a --- /dev/null +++ b/public/index.json @@ -0,0 +1 @@ +[{"content":"A space for thoughts. # ","date":null,"permalink":"/","section":"","summary":"A space for thoughts.","title":""},{"content":"","date":null,"permalink":"/archives/","section":"Archives","summary":"","title":"Archives"},{"content":"","date":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories"},{"content":"","date":null,"permalink":"/tags/dystopia/","section":"Tags","summary":"","title":"dystopia"},{"content":"I arrived at the gym a few weeks ago to notice they were removing the key locks from the lockers and replacing them with some sort of RFID bracelet technology. I chuckled, because this is exactly what I feel is wrong with technolgoy: They replaced a low maintenance time-tested technology (lock and key), with a high-maintenance untested fad consisting of many more moving parts. For starters, each locker now requires a regular battery change. I didn’t open the battery compartment, but it looks like it takes triple A’s.\nTo be fair with the management, the new technology did solve the perennial problem caused by whatever sequential (FIFO?) system they were using to distribute keys to people as they walked in, and which caused congestion at specific areas of the locker room while leaving the rest of the space completely unused. The digital bracelets can lock any locker, allowing members to choose for themselves. I can think of simpler ways of fixing that problem.\nA week or so later, I walked into the lobby and noticed they were changing the check-in system, consisting of an RFID enabled member card scanned on entry, to what appeared to be fingerprint scanners. Bad news, I thought. Sure enough, within a few days the new system was up, and I was asked to scan my finger and get a new membership card to continue using the facilities. I informed them I would not provide my biometrics to enter a gym (or any place for that matter). The only exception being entering and leaving countries and other mandatory government initiatives where I have no choice.\nWhy do I have a problem with biometrics enabled doors? I makes me feel we’re ushering in a dystopian future we will regret. I see a future where, cheaply and on a massive scale, every door will open (or not) based on each individual: \u0026ldquo;Sorry citizen, this a \u0026ldquo;Class A\u0026rdquo; facility. Based on your socioeconomic profile and psychometric tests (or social credit score?) you are ranked \u0026ldquo;Class B-\u0026rdquo;. Please step aside.\u0026rdquo;\nI have a problem with the data collection itself. Will this database be sold to third parties? Where are the servers located? What kind of firewall is used? This gym is one of the fanciest in town. Who would like to access member data? For what purposes?\nI asked politely why they required my fingerprint in addition to the RFID enabled card (which now need not be scanned, but must be deposited at reception to receive towels and locker opening bracelet). They informed me members were sharing their cards with third parties and the owner wanted to fix the problem.\nI told them my wife and I use the gym almost every day, and had no desire to share the card with anyone else. I also reminded them of the large TV hanging over the entrance gate and displaying each member’s private information as they scan the card, including a photo (the same photo printed on the card itself), and number of times the door has been accessed since the membership became active. They said they would raise the issue with \u0026ldquo;The Big Boss.\u0026rdquo;\nA few weeks of silence ensued; The Big Boss was out of the country, I was informed. Finally, last week I went to ask again and was told The Big Boss understands and respects my dilemma. There are four of us refuseniks in the entire gym. We will be allowed to finish our yearly membership, but will not be allowed to renew it. I mentioned this drama to an acquaintance who lives in a suburb recently and he laughed and told me his gym has no need for cards or fingerprints: a facial recognition system automatically opens the door.\nMeanwhile, at my gym, a security guard scans an RFID enabled card to let me in every time after I show him my old RFID membership card, which I then deposit with the reception to receive a silicon bracelet and two towels, and scans the card again after I exchange the towels and bracelet for the card. I asked them why they wouldn’t make an exception and allow me to have an RFID card that opens the gate, like the guard’s. Not possible, they said, but would I reconsider my position maybe? I told them there’s only one finger I’m going to give them, and it will not be used for biometric scanning.\n","date":"1 July 2023","permalink":"/archives/2023-07-01/","section":"Archives","summary":"Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool.","title":"On technology"},{"content":"","date":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags"},{"content":"","date":null,"permalink":"/tags/technology/","section":"Tags","summary":"","title":"technology"},{"content":"","date":null,"permalink":"/categories/technology/","section":"Categories","summary":"","title":"Technology"},{"content":" A couple of months ago, I stumbled on Jack Baty\u0026rsquo;s blog, added it to Elfeed, and started reading his daily updates. After a few weeks, I was looking forward to reading them every morning.\nBeing a digital recluse, I\u0026rsquo;m still a bit skeptical of my capacity to enjoy sharing tidbits of my life openly online, but what the heck, I\u0026rsquo;ll give it a shot.\nA shout-out to Jack for unwittingly coaxing me out of the shell.\nLet the experiment begin!\n","date":"30 June 2023","permalink":"/archives/2023-06-30/2023-06-30/","section":"Archives","summary":"Why I am starting this blog.","title":"My First Blog Post"},{"content":"About me # Hi! My name is Marcel. I’m married, have one daughter, and run a construction consultancy and stamped concrete contracting business in Phnom Penh, Cambodia.\nI like traveling and have previously lived in Mexico, the US, Argentina, and Thailand.\nI enjoy (think, read about, use or practice) in no particular order: yoga, Emacs, veganism, tinkering, geopolitics, education, and Free Software.\n","date":null,"permalink":"/about/","section":"","summary":"About me # Hi!","title":""}] \ No newline at end of file diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..e486dae --- /dev/null +++ b/public/index.xml @@ -0,0 +1,30 @@ + + + + Congo + / + Recent content on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + On technology + /archives/2023-07-01/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /archives/2023-07-01/ + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. + + + + My First Blog Post + /archives/2023-06-30/2023-06-30/ + Fri, 30 Jun 2023 00:00:00 +0000 + + /archives/2023-06-30/2023-06-30/ + Why I am starting this blog. + + + + diff --git a/public/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js b/public/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js new file mode 100644 index 0000000..7a04c3f --- /dev/null +++ b/public/js/appearance.min.022d0ebc3b46a335eb1c7ef79b7f2de143d7cd5156d433638592ef1ce5f8554e.js @@ -0,0 +1 @@ +const sitePreference=document.documentElement.getAttribute("data-default-appearance"),userPreference=localStorage.getItem("appearance");function getCSSValue(e){var t=window.getComputedStyle(document.documentElement).getPropertyValue(e);return"rgb("+t.replace(/\s+/g,"")+")"}function setThemeColor(){var e=document.querySelector("meta[name=theme-color]");return document.documentElement.classList.contains("dark")?e.setAttribute("content",getCSSValue("--color-neutral-800")):e.setAttribute("content",getCSSValue("--color-neutral")),!0}(sitePreference==="dark"&&userPreference===null||userPreference==="dark")&&(document.documentElement.classList.add("dark"),setThemeColor()),document.documentElement.getAttribute("data-auto-appearance")==="true"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&userPreference!=="light"&&(document.documentElement.classList.add("dark"),setThemeColor()),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{e.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),setThemeColor()})),window.addEventListener("DOMContentLoaded",e=>{var t=document.querySelectorAll("[id^='appearance-switcher']");t.forEach(e=>{e.addEventListener("click",()=>{document.documentElement.classList.toggle("dark"),setThemeColor(),localStorage.setItem("appearance",document.documentElement.classList.contains("dark")?"dark":"light")}),e.addEventListener("contextmenu",e=>{e.preventDefault(),localStorage.removeItem("appearance")})})}) \ No newline at end of file diff --git a/public/js/main.bundle.min.75206d23ef83f4908b2bdd2317bf6ddff399e9173a16fff5451c40b8e857cfa8.js b/public/js/main.bundle.min.75206d23ef83f4908b2bdd2317bf6ddff399e9173a16fff5451c40b8e857cfa8.js new file mode 100644 index 0000000..df357fa --- /dev/null +++ b/public/js/main.bundle.min.75206d23ef83f4908b2bdd2317bf6ddff399e9173a16fff5451c40b8e857cfa8.js @@ -0,0 +1,12 @@ +e=this,t=function(){"use strict";function P(e,t){var n,s=Object.keys(e);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(e),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),s.push.apply(s,n)),s}function u(e){for(var t,n=1;ne.length)&&(t=e.length);for(var n=0,s=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:1,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,e=new Map,t=Math.pow(10,s);return{get:function(s){if(o=s.match(ge).length,e.has(o))return e.get(o);var o,a=1/Math.pow(o,.5*n),i=parseFloat(Math.round(a*t)/t);return e.set(o,i),i},clear:function(){e.clear()}}}f=function(){function a(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=n.getFn,i=void 0===s?e.getFn:s,o=n.fieldNormWeight,r=void 0===o?e.fieldNormWeight:o;t(this,a),this.norm=ue(r,3),this.getFn=i,this.isCreated=!1,this.setIndexRecords()}return n(a,[{key:"setSources",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.docs=e}},{key:"setIndexRecords",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.records=e}},{key:"setKeys",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.keys=e,this._keysMap={},e.forEach(function(e,n){t._keysMap[e.id]=n})}},{key:"create",value:function(){var e=this;!this.isCreated&&this.docs.length&&(this.isCreated=!0,o(this.docs[0])?this.docs.forEach(function(t,n){e._addString(t,n)}):this.docs.forEach(function(t,n){e._addObject(t,n)}),this.norm.clear())}},{key:"add",value:function(e){var t=this.size();o(e)?this._addString(e,t):this._addObject(e,t)}},{key:"removeAt",value:function(e){this.records.splice(e,1);for(var t=e,n=this.size();t2&&void 0!==arguments[2]?arguments[2]:{},i=o.getFn,r=void 0===i?e.getFn:i,a=o.fieldNormWeight,c=void 0===a?e.fieldNormWeight:a,s=new f({getFn:r,fieldNormWeight:c});return s.setKeys(t.map(z)),s.setSources(n),s.create(),s}function g(t){var s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=n.errors,f=void 0===d?0:d,l=n.currentLocation,u=void 0===l?0:l,a=n.expectedLocation,h=void 0===a?0:a,r=n.distance,c=void 0===r?e.distance:r,i=n.ignoreLocation,m=void 0===i?e.ignoreLocation:i,o=f/t.length;return m?o:(s=Math.abs(h-u),c?o+s/c:s?1:o)}function oe(){for(var i,s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.minMatchCharLength,o=[],t=-1,r=-1,n=0,c=s.length;n=a&&o.push([t,r]),t=-1);return s[n-1]&&n-t>=a&&o.push([t,n-1]),o}l=32;function W(e){for(var s,n={},t=0,o=e.length;t1&&void 0!==arguments[1]?arguments[1]:{},h=o.location,C=void 0===h?e.location:h,g=o.threshold,O=void 0===g?e.threshold:g,d=o.distance,A=void 0===d?e.distance:d,m=o.includeMatches,E=void 0===m?e.includeMatches:m,p=o.findAllMatches,x=void 0===p?e.findAllMatches:p,v=o.minMatchCharLength,_=void 0===v?e.minMatchCharLength:v,u=o.isCaseSensitive,j=void 0===u?e.isCaseSensitive:u,b=o.ignoreLocation,w=void 0===b?e.ignoreLocation:b;if(t(this,s),this.options={location:C,threshold:O,distance:A,includeMatches:E,findAllMatches:x,minMatchCharLength:_,isCaseSensitive:j,ignoreLocation:w},this.pattern=j?n:n.toLowerCase(),this.chunks=[],this.pattern.length)if(a=function(e,t){y.chunks.push({pattern:e,alphabet:W(e),startIndex:t})},i=this.pattern.length,i>l){for(var r=0,f=i%l,k=i-f;r3&&void 0!==arguments[3]?arguments[3]:{},B=r.location,V=void 0===B?e.location:B,R=r.distance,C=void 0===R?e.distance:R,N=r.threshold,K=void 0===N?e.threshold:N,F=r.findAllMatches,W=void 0===F?e.findAllMatches:F,D=r.minMatchCharLength,z=void 0===D?e.minMatchCharLength:D,I=r.includeMatches,H=void 0===I?e.includeMatches:I,L=r.ignoreLocation,j=void 0===L?e.ignoreLocation:L;if(n.length>l)throw new Error($(l));for(var y,d=n.length,p=t.length,i=Math.max(0,Math.min(V,p)),m=K,h=i,x=z>1||H,S=x?Array(p):[];(y=t.indexOf(n,h))>-1;)if(P=g(n,{currentLocation:y,expectedLocation:i,distance:C,ignoreLocation:j}),m=Math.min(P,m),h=y+d,x)for(b=0;b=T;o-=1)if(v=o-1,E=s[t.charAt(v)],x&&(S[v]=+!!E),u[o]=(u[o+1]<<1|1)&E,c&&(u[o]|=(w[o+1]|w[o])<<1|1|w[o+1]),u[o]&U&&(A=g(n,{errors:c,currentLocation:v,expectedLocation:i,distance:C,ignoreLocation:j}))<=m){if(m=A,(h=v)<=i)break;T=Math.max(1,2*i-h)}if(g(n,{errors:c+1,currentLocation:i,expectedLocation:i,distance:C,ignoreLocation:j})>m)break;w=u}return _={isMatch:h>=0,score:Math.max(.001,A)},x&&(M=oe(S,z),M.length?H&&(_.indices=M):_.isMatch=!1),_}(t,j,y,{location:b+_,distance:h,threshold:v,findAllMatches:p,minMatchCharLength:m,includeMatches:a,ignoreLocation:f}),r=i.isMatch,w=i.score,c=i.indices;r&&(s=!0),u+=w,r&&c&&(o=[].concat(d(o),d(c)))}),i={isMatch:s,score:s?u/this.chunks.length:1},s&&a&&(i.indices=o),i}}]),s}(),a=function(){function e(n){t(this,e),this.pattern=n}return n(e,[{key:"search",value:function(){}}],[{key:"isMultiMatch",value:function(e){return B(e,this.multiRegex)}},{key:"isSingleMatch",value:function(e){return B(e,this.singleRegex)}}]),e}();function B(e,t){var n=e.match(t);return n?n[1]:null}var a,l,h,f,O,G=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e===this.pattern;return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"exact"}},{key:"multiRegex",get:function(){return/^="(.*)"$/}},{key:"singleRegex",get:function(){return/^=(.*)$/}}]),s}(a),Y=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=-1===e.indexOf(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"$/}},{key:"singleRegex",get:function(){return/^!(.*)$/}}]),s}(a),ne=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,this.pattern.length-1]}}}],[{key:"type",get:function(){return"prefix-exact"}},{key:"multiRegex",get:function(){return/^\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^\^(.*)$/}}]),s}(a),U=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=!e.startsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-prefix-exact"}},{key:"multiRegex",get:function(){return/^!\^"(.*)"$/}},{key:"singleRegex",get:function(){return/^!\^(.*)$/}}]),s}(a),K=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[e.length-this.pattern.length,e.length-1]}}}],[{key:"type",get:function(){return"suffix-exact"}},{key:"multiRegex",get:function(){return/^"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^(.*)\$$/}}]),s}(a),q=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){var t=!e.endsWith(this.pattern);return{isMatch:t,score:t?0:1,indices:[0,e.length-1]}}}],[{key:"type",get:function(){return"inverse-suffix-exact"}},{key:"multiRegex",get:function(){return/^!"(.*)"\$$/}},{key:"singleRegex",get:function(){return/^!(.*)\$$/}}]),s}(a),S=function(s){r(o,s);var i=c(o);function o(n){var f,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=s.location,g=void 0===h?e.location:h,l=s.threshold,p=void 0===l?e.threshold:l,u=s.distance,j=void 0===u?e.distance:u,a=s.includeMatches,_=void 0===a?e.includeMatches:a,d=s.findAllMatches,v=void 0===d?e.findAllMatches:d,m=s.minMatchCharLength,b=void 0===m?e.minMatchCharLength:m,r=s.isCaseSensitive,y=void 0===r?e.isCaseSensitive:r,c=s.ignoreLocation,w=void 0===c?e.ignoreLocation:c;return t(this,o),(f=i.call(this,n))._bitapSearch=new O(n,{location:g,threshold:p,distance:j,includeMatches:_,findAllMatches:v,minMatchCharLength:b,isCaseSensitive:y,ignoreLocation:w}),f}return n(o,[{key:"search",value:function(e){return this._bitapSearch.searchIn(e)}}],[{key:"type",get:function(){return"fuzzy"}},{key:"multiRegex",get:function(){return/^"(.*)"$/}},{key:"singleRegex",get:function(){return/^(.*)$/}}]),o}(a),V=function(e){r(s,e);var o=c(s);function s(e){return t(this,s),o.call(this,e)}return n(s,[{key:"search",value:function(e){for(var t,o,n=0,s=[],i=this.pattern.length;(t=e.indexOf(this.pattern,n))>-1;)n=t+i,s.push([t,n-1]);return o=!!s.length,{isMatch:o,score:o?0:1,indices:s}}}],[{key:"type",get:function(){return"include"}},{key:"multiRegex",get:function(){return/^'"(.*)"$/}},{key:"singleRegex",get:function(){return/^'(.*)$/}}]),s}(a),_=[G,V,ne,U,q,K,Y,S],H=_.length,Z=/ +(?=(?:[^"]*"[^"]*")*[^"]*$)/;function J(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.split("|").map(function(e){for(var a,r,c,l,d=e.trim().split(Z).filter(function(e){return e&&!!e.trim()}),s=[],o=0,h=d.length;o1&&void 0!==arguments[1]?arguments[1]:{},a=o.isCaseSensitive,r=void 0===a?e.isCaseSensitive:a,c=o.includeMatches,j=void 0===c?e.includeMatches:c,d=o.minMatchCharLength,v=void 0===d?e.minMatchCharLength:d,h=o.ignoreLocation,f=void 0===h?e.ignoreLocation:h,m=o.findAllMatches,p=void 0===m?e.findAllMatches:m,i=o.location,g=void 0===i?e.location:i,u=o.threshold,b=void 0===u?e.threshold:u,l=o.distance,y=void 0===l?e.distance:l;t(this,s),this.query=null,this.options={isCaseSensitive:r,includeMatches:j,minMatchCharLength:v,findAllMatches:p,ignoreLocation:f,location:g,threshold:b,distance:y},this.pattern=r?n:n.toLowerCase(),this.query=J(this.pattern,this.options)}return n(s,[{key:"searchIn",value:function(e){if(o=this.query,!o)return{isMatch:!1,score:1};u=this.options,l=u.includeMatches,e=u.isCaseSensitive?e:e.toLowerCase();for(var s,o,i,c,l,u,f,g,n=0,t=[],a=0,r=0,j=o.length;r-1&&(n.refIndex=e.idx),t.matches.push(n)}})}function fe(e,t){t.score=e.score}function pe(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.includeMatches,r=void 0===i?e.includeMatches:i,a=o.includeScore,c=void 0===a?e.includeScore:a,s=[];return r&&s.push(me),c&&s.push(fe),t.map(function(e){var t=e.idx,o={item:n[t],refIndex:t};return s.length&&s.forEach(function(t){t(e,o)}),o})}return h=function(){function a(n){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;t(this,a),this.options=u(u({},e),s),this.options.useExtendedSearch,this._keyStore=new ae(this.options.keys),this.setCollection(n,o)}return n(a,[{key:"setCollection",value:function(e,t){if(this._docs=e,t&&!(t instanceof f))throw new Error("Incorrect 'index' type");this._myIndex=t||D(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}},{key:"add",value:function(e){s(e)&&(this._docs.push(e),this._myIndex.add(e))}},{key:"remove",value:function(){for(var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){return!1},n=[],e=0,s=this._docs.length;e1&&void 0!==arguments[1]?arguments[1]:{},i=a.limit,s=void 0===i?-1:i,t=this.options,r=t.includeMatches,c=t.includeScore,l=t.shouldSort,d=t.sortFn,u=t.ignoreFieldNorm,n=o(e)?o(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e);return he(n,{ignoreFieldNorm:u}),l&&n.sort(d),L(s)&&s>-1&&(n=n.slice(0,s)),pe(n,this._docs,{includeMatches:r,includeScore:c})}},{key:"_searchStringList",value:function(e){var n=b(e,this.options),o=this._myIndex.records,t=[];return o.forEach(function(e){var o=e.v,a=e.i,r=e.n;if(s(o)){var i=n.searchIn(o),c=i.isMatch,l=i.score,d=i.indices;c&&t.push({item:o,idx:a,matches:[{score:l,value:o,norm:r,indices:d}]})}}),t}},{key:"_searchLogical",value:function(e){var n=this,r=function(e,t){var n=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).auto,s=void 0===n||n,a=function e(n){var r,c,d,u,a=Object.keys(n),l=le(n);if(!l&&a.length>1&&!E(n))return e(T(n));if(de(n)){if(r=l?n[N]:a[0],c=l?n[re]:n[r],!o(c))throw new Error(X(r));return d={keyId:C(r),pattern:c},s&&(d.searcher=b(c,t)),d}return u={children:[],operator:a[0]},a.forEach(function(t){var s=n[t];i(s)&&s.forEach(function(t){u.children.push(e(t))})}),u};return E(e)||(e=T(e)),a(e)}(e,this.options),c=function e(t,s,o){if(!t.children){var c,l=t.keyId,u=t.searcher,i=n._findMatches({key:n._keyStore.get(l),value:n._myIndex.getValueForItemAtKeyId(s,l),searcher:u});return i&&i.length?[{idx:o,item:s,matches:i}]:[]}for(var a=[],r=0,h=t.children.length;r1&&void 0!==arguments[1]?arguments[1]:{},o=s.getFn,a=void 0===o?e.getFn:o,i=s.fieldNormWeight,r=void 0===i?e.fieldNormWeight:i,c=t.keys,l=t.records,n=new f({getFn:a,fieldNormWeight:r});return n.setKeys(c),n.setIndexRecords(l),n},h.config=e,function(){m.push.apply(m,arguments)}(te),h},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Fuse=t();var e,t,fuse,showButtons=document.querySelectorAll("[id^='search-button']"),scriptBundle,copyText,copiedText,hideButton=document.getElementById("close-search-button"),wrapper=document.getElementById("search-wrapper"),modal=document.getElementById("search-modal"),input=document.getElementById("search-query"),output=document.getElementById("search-results"),first=output.firstChild,last=output.lastChild,searchVisible=!1,indexed=!1,hasResults=!1;showButtons.forEach(e=>{e.addEventListener("click",displaySearch)}),hideButton.addEventListener("click",hideSearch),wrapper.addEventListener("click",hideSearch),modal.addEventListener("click",function(e){return e.stopPropagation(),e.stopImmediatePropagation(),!1}),document.addEventListener("keydown",function(e){e.key=="/"&&(searchVisible||(e.preventDefault(),displaySearch())),e.key=="Escape"&&hideSearch(),e.key=="ArrowDown"&&searchVisible&&hasResults&&(e.preventDefault(),document.activeElement==input?first.focus():document.activeElement==last?last.focus():document.activeElement.parentElement.nextSibling.firstElementChild.focus()),e.key=="ArrowUp"&&searchVisible&&hasResults&&(e.preventDefault(),document.activeElement==input?input.focus():document.activeElement==first?input.focus():document.activeElement.parentElement.previousSibling.firstElementChild.focus())}),input.onkeyup=function(){executeQuery(this.value)};function displaySearch(){indexed||buildIndex(),searchVisible||(document.body.style.overflow="hidden",wrapper.style.visibility="visible",input.focus(),searchVisible=!0)}function hideSearch(){searchVisible&&(document.body.style.overflow="visible",wrapper.style.visibility="hidden",input.value="",output.innerHTML="",document.activeElement.blur(),searchVisible=!1)}function fetchJSON(e,t){var n=new XMLHttpRequest;n.onreadystatechange=function(){if(n.readyState===4&&n.status===200){var e=JSON.parse(n.responseText);t&&t(e)}},n.open("GET",e),n.send()}function buildIndex(){var e=wrapper.getAttribute("data-url"),e=e.replace(/\/?$/,"/");fetchJSON(e+"index.json",function(e){var t={shouldSort:!0,ignoreLocation:!0,threshold:0,includeMatches:!0,keys:[{name:"title",weight:.8},{name:"section",weight:.2},{name:"summary",weight:.6},{name:"content",weight:.4}]};fuse=new Fuse(e,t),indexed=!0})}function executeQuery(e){let n=fuse.search(e),t="";n.length>0?(n.forEach(function(e){t=t+`
  • + +
    +
    ${e.item.title}
    +
    ${e.item.section}${e.item.date==null?"":`·${e.item.date}`}
    +
    ${e.item.summary}
    +
    +
    +
    +
    +
  • `}),hasResults=!0):(t="",hasResults=!1),output.innerHTML=t,n.length>0&&(first=output.firstChild.firstElementChild,last=output.lastChild.firstElementChild)}scriptBundle=document.getElementById("script-bundle"),copyText=scriptBundle?scriptBundle.getAttribute("data-copy"):"Copy",copiedText=scriptBundle?scriptBundle.getAttribute("data-copied"):"Copied";function createCopyButton(e){const t=document.createElement("button");t.className="copy-button",t.type="button",t.ariaLabel=copyText,t.innerText=copyText,t.addEventListener("click",()=>copyCodeToClipboard(t,e)),addCopyButtonToDom(t,e)}async function copyCodeToClipboard(e,t){const n=t.querySelector(":last-child > .chroma > code").innerText;try{result=await navigator.permissions.query({name:"clipboard-write"}),result.state=="granted"||result.state=="prompt"?await navigator.clipboard.writeText(n):copyCodeBlockExecCommand(n,t)}catch{copyCodeBlockExecCommand(n,t)}finally{codeWasCopied(e)}}function copyCodeBlockExecCommand(e,t){const n=document.createElement("textArea");n.contentEditable="true",n.readOnly="false",n.className="copy-textarea",n.value=e,t.insertBefore(n,t.firstChild);const s=document.createRange();s.selectNodeContents(n);const o=window.getSelection();o.removeAllRanges(),o.addRange(s),n.setSelectionRange(0,999999),document.execCommand("copy"),t.removeChild(n)}function codeWasCopied(e){e.blur(),e.innerText=copiedText,setTimeout(function(){e.innerText=copyText},2e3)}function addCopyButtonToDom(e,t){t.insertBefore(e,t.firstChild);const n=document.createElement("div");n.className="highlight-wrapper",t.parentNode.insertBefore(n,t),n.appendChild(t)}window.addEventListener("DOMContentLoaded",e=>{document.querySelectorAll(".highlight").forEach(e=>createCopyButton(e))}) \ No newline at end of file diff --git a/public/page/1/index.html b/public/page/1/index.html new file mode 100644 index 0000000..3f15334 --- /dev/null +++ b/public/page/1/index.html @@ -0,0 +1,10 @@ + + + + / + + + + + + diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..457a45d --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Allow: / +Sitemap: sitemap.xml diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..8f755f0 --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,49 @@ + + + + + + / + 2023-07-01T00:00:00+00:00 + + + + + + /archives/ + 2023-07-01T00:00:00+00:00 + + + + + + + + + + /archives/2023-07-01/ + 2023-07-01T00:00:00+00:00 + + + + + + + + + + + + /archives/2023-06-30/2023-06-30/ + 2023-06-30T00:00:00+00:00 + + + + + + /about/ + + + + diff --git a/public/tags/dystopia/index.html b/public/tags/dystopia/index.html new file mode 100644 index 0000000..0a09a34 --- /dev/null +++ b/public/tags/dystopia/index.html @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + dystopia · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    + +

    dystopia

    +
    + +
    + +
    + + +

    + 2023 +

    +
    + +
    +
    +

    + + On technology + + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + ·736 words·4 mins + + + + +
    + + + + + +
    + +
    + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. +
    + +
    +
    + + + + +
    + + + +
    + + +
    + + +
    +
    + + +

    + Attribution 4.0 International (CC BY 4.0) +

    + + + +

    + + + Powered by Hugo & Congo +

    + +
    + + +
    + + +

    + Source code +

    + + +
    + + +
    + + diff --git a/public/tags/dystopia/index.xml b/public/tags/dystopia/index.xml new file mode 100644 index 0000000..de9df68 --- /dev/null +++ b/public/tags/dystopia/index.xml @@ -0,0 +1,21 @@ + + + + dystopia on Congo + /tags/dystopia/ + Recent content in dystopia on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + On technology + /archives/2023-07-01/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /archives/2023-07-01/ + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. + + + + diff --git a/public/tags/dystopia/page/1/index.html b/public/tags/dystopia/page/1/index.html new file mode 100644 index 0000000..2de2aff --- /dev/null +++ b/public/tags/dystopia/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/dystopia/ + + + + + + diff --git a/public/tags/index.html b/public/tags/index.html new file mode 100644 index 0000000..ed794c4 --- /dev/null +++ b/public/tags/index.html @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + Tags · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    + +

    Tags

    +
    + +
    + + + + + +
    + + +
    + + +
    +
    + + +

    + Attribution 4.0 International (CC BY 4.0) +

    + + + +

    + + + Powered by Hugo & Congo +

    + +
    + + +
    + + +

    + Source code +

    + + +
    + + +
    + + diff --git a/public/tags/index.xml b/public/tags/index.xml new file mode 100644 index 0000000..fee351e --- /dev/null +++ b/public/tags/index.xml @@ -0,0 +1,30 @@ + + + + Tags on Congo + /tags/ + Recent content in Tags on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + dystopia + /tags/dystopia/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /tags/dystopia/ + + + + + technology + /tags/technology/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /tags/technology/ + + + + + diff --git a/public/tags/technology/index.html b/public/tags/technology/index.html new file mode 100644 index 0000000..017d72e --- /dev/null +++ b/public/tags/technology/index.html @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + technology · Congo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + +
    +
    + +
    + +

    technology

    +
    + +
    + +
    + + +

    + 2023 +

    +
    + +
    +
    +

    + + On technology + + + +

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + ·736 words·4 mins + + + + +
    + + + + + +
    + +
    + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. +
    + +
    +
    + + + + +
    + + + +
    + + +
    + + +
    +
    + + +

    + Attribution 4.0 International (CC BY 4.0) +

    + + + +

    + + + Powered by Hugo & Congo +

    + +
    + + +
    + + +

    + Source code +

    + + +
    + + +
    + + diff --git a/public/tags/technology/index.xml b/public/tags/technology/index.xml new file mode 100644 index 0000000..09c1c89 --- /dev/null +++ b/public/tags/technology/index.xml @@ -0,0 +1,21 @@ + + + + technology on Congo + /tags/technology/ + Recent content in technology on Congo + Hugo -- gohugo.io + en + Attribution 4.0 International (CC BY 4.0) + Sat, 01 Jul 2023 00:00:00 +0000 + + On technology + /archives/2023-07-01/ + Sat, 01 Jul 2023 00:00:00 +0000 + + /archives/2023-07-01/ + Fingerprinting as fashion. On enabling useless and potentially harmful technology for the sake of looking cool. + + + + diff --git a/public/tags/technology/page/1/index.html b/public/tags/technology/page/1/index.html new file mode 100644 index 0000000..2cc3c7b --- /dev/null +++ b/public/tags/technology/page/1/index.html @@ -0,0 +1,10 @@ + + + + /tags/technology/ + + + + + + diff --git a/resources/_gen/images/me_hua93c2d51b4f7aaea71358b5b39cc3f99_31052_192x192_fill_q75_box_center.jpg b/resources/_gen/images/me_hua93c2d51b4f7aaea71358b5b39cc3f99_31052_192x192_fill_q75_box_center.jpg new file mode 100644 index 0000000..30607e9 Binary files /dev/null and b/resources/_gen/images/me_hua93c2d51b4f7aaea71358b5b39cc3f99_31052_192x192_fill_q75_box_center.jpg differ diff --git a/resources/_gen/images/me_hub961454431de28627ba406342a57c9c4_2834_192x192_fill_q75_box_center.jpg b/resources/_gen/images/me_hub961454431de28627ba406342a57c9c4_2834_192x192_fill_q75_box_center.jpg new file mode 100644 index 0000000..d1f4b1b Binary files /dev/null and b/resources/_gen/images/me_hub961454431de28627ba406342a57c9c4_2834_192x192_fill_q75_box_center.jpg differ diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000..56bd4ee Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000..2d9dd07 Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000..dc8ae42 Binary files /dev/null and b/static/apple-touch-icon.png differ diff --git a/static/css/custom.css b/static/css/custom.css new file mode 100644 index 0000000..d77f654 --- /dev/null +++ b/static/css/custom.css @@ -0,0 +1,15 @@ +img[src$='#floatleft'] +{ + float:left; + //etc. etc/ +} + + +} + +floatleft { + max-width: 30%; + width: auto\9*0.3; /* ie8 */ + height: auto; + float: left; +} diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000..1cefd1f Binary files /dev/null and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 0000000..07cf9e6 Binary files /dev/null and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..cf58c60 Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..45dc8a2 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1 @@ +{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file