diff --git a/.vscode/settings.json b/.vscode/settings.json
index b7e532b..ea08c6d 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -6,5 +6,5 @@
"eslint.nodePath": ".yarn/sdks",
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
- "prettier.prettierPath": ".yarn/sdks/prettier/index.js"
+ "prettier.prettierPath": ".yarn/sdks/prettier/index.cjs"
}
diff --git a/.yarn/sdks/eslint/lib/unsupported-api.js b/.yarn/sdks/eslint/lib/unsupported-api.js
new file mode 100644
index 0000000..30fdf15
--- /dev/null
+++ b/.yarn/sdks/eslint/lib/unsupported-api.js
@@ -0,0 +1,20 @@
+#!/usr/bin/env node
+
+const {existsSync} = require(`fs`);
+const {createRequire} = require(`module`);
+const {resolve} = require(`path`);
+
+const relPnpApiPath = "../../../../.pnp.cjs";
+
+const absPnpApiPath = resolve(__dirname, relPnpApiPath);
+const absRequire = createRequire(absPnpApiPath);
+
+if (existsSync(absPnpApiPath)) {
+ if (!process.versions.pnp) {
+ // Setup the environment to be able to require eslint/use-at-your-own-risk
+ require(absPnpApiPath).setup();
+ }
+}
+
+// Defer to the real eslint/use-at-your-own-risk your application uses
+module.exports = absRequire(`eslint/use-at-your-own-risk`);
diff --git a/.yarn/sdks/eslint/package.json b/.yarn/sdks/eslint/package.json
index 8ffcff5..ef371cb 100644
--- a/.yarn/sdks/eslint/package.json
+++ b/.yarn/sdks/eslint/package.json
@@ -1,6 +1,14 @@
{
"name": "eslint",
- "version": "8.50.0-sdk",
+ "version": "8.52.0-sdk",
"main": "./lib/api.js",
- "type": "commonjs"
+ "type": "commonjs",
+ "bin": {
+ "eslint": "./bin/eslint.js"
+ },
+ "exports": {
+ "./package.json": "./package.json",
+ ".": "./lib/api.js",
+ "./use-at-your-own-risk": "./lib/unsupported-api.js"
+ }
}
diff --git a/.yarn/sdks/prettier/bin/prettier.cjs b/.yarn/sdks/prettier/bin/prettier.cjs
new file mode 100755
index 0000000..5efad68
--- /dev/null
+++ b/.yarn/sdks/prettier/bin/prettier.cjs
@@ -0,0 +1,20 @@
+#!/usr/bin/env node
+
+const {existsSync} = require(`fs`);
+const {createRequire} = require(`module`);
+const {resolve} = require(`path`);
+
+const relPnpApiPath = "../../../../.pnp.cjs";
+
+const absPnpApiPath = resolve(__dirname, relPnpApiPath);
+const absRequire = createRequire(absPnpApiPath);
+
+if (existsSync(absPnpApiPath)) {
+ if (!process.versions.pnp) {
+ // Setup the environment to be able to require prettier/bin/prettier.cjs
+ require(absPnpApiPath).setup();
+ }
+}
+
+// Defer to the real prettier/bin/prettier.cjs your application uses
+module.exports = absRequire(`prettier/bin/prettier.cjs`);
diff --git a/.yarn/sdks/prettier/index.js b/.yarn/sdks/prettier/index.cjs
old mode 100755
new mode 100644
similarity index 100%
rename from .yarn/sdks/prettier/index.js
rename to .yarn/sdks/prettier/index.cjs
diff --git a/.yarn/sdks/prettier/package.json b/.yarn/sdks/prettier/package.json
index c102fa2..48cd959 100644
--- a/.yarn/sdks/prettier/package.json
+++ b/.yarn/sdks/prettier/package.json
@@ -1,6 +1,7 @@
{
"name": "prettier",
"version": "3.0.3-sdk",
- "main": "./index.js",
- "type": "commonjs"
+ "main": "./index.cjs",
+ "type": "commonjs",
+ "bin": "./bin/prettier.cjs"
}
diff --git a/.yarn/sdks/typescript/lib/typescript.js b/.yarn/sdks/typescript/lib/typescript.js
index e14fa87..b5f4db2 100644
--- a/.yarn/sdks/typescript/lib/typescript.js
+++ b/.yarn/sdks/typescript/lib/typescript.js
@@ -11,10 +11,10 @@ const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
- // Setup the environment to be able to require typescript/lib/typescript.js
+ // Setup the environment to be able to require typescript
require(absPnpApiPath).setup();
}
}
-// Defer to the real typescript/lib/typescript.js your application uses
-module.exports = absRequire(`typescript/lib/typescript.js`);
+// Defer to the real typescript your application uses
+module.exports = absRequire(`typescript`);
diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json
index 0bfa4eb..d32f391 100644
--- a/.yarn/sdks/typescript/package.json
+++ b/.yarn/sdks/typescript/package.json
@@ -2,5 +2,9 @@
"name": "typescript",
"version": "5.2.2-sdk",
"main": "./lib/typescript.js",
- "type": "commonjs"
+ "type": "commonjs",
+ "bin": {
+ "tsc": "./bin/tsc",
+ "tsserver": "./bin/tsserver"
+ }
}
diff --git a/app/projects/page.tsx b/app/projects/page.tsx
index 85fc5cb..955ca02 100644
--- a/app/projects/page.tsx
+++ b/app/projects/page.tsx
@@ -32,8 +32,8 @@ const projects: Project[] = [
PTHash minimal perfect hashing
- . Used to generate static hash tables at compile time backed by perfect
- hash functions, which are smaller and faster than conventional hash
+ . Used to generate static hash tables at compile time which use perfect
+ hash functions, making them smaller and faster than conventional hash
tables. It is twice as fast at lookup, and more than 10 times as fast at
constructing a perfect hash function compared to{' '}
phf.
@@ -46,8 +46,8 @@ const projects: Project[] = [
description: (
<>
Rust crate for faster division and modulo operations by a fixed divisor,
- by replacing division operations with an equivalent, but computationally
- cheaper, sequence of multiplications and bitshifts.
+ by replacing division operations with a numerically equivalent, but
+ computationally cheaper, sequence of multiplications and bitshifts.
>
),
url: 'https://github.com/dtrifuno/quickdiv',
@@ -56,10 +56,10 @@ const projects: Project[] = [
title: 'Ipsum',
description: (
<>
- Python library for generating placeholder text that resembles modern
+ Python library for generating placeholder text based on modern
languages. It uses Markov chains trained on large corpora of texts to
create output that is meaningless, but typographically resembles
- languages that designers might be targeting today.
+ languages that designers are targeting today.
>
),
url: 'https://ipsum.trifunovski.me',
@@ -76,7 +76,7 @@ const projects: Project[] = [
individual player performance.
>
),
- url: 'trifunovski.me/pdf/gsu2022.pdf',
+ url: '/pdf/gsu2022.pdf',
},
]