diff --git a/posts/190k_faucet.md b/posts/190k_faucet.md
index d45aa03..7dca5ee 100644
--- a/posts/190k_faucet.md
+++ b/posts/190k_faucet.md
@@ -9,7 +9,7 @@ The original faucet... I was not very good at CSS back then:

-I launched the faucet sometime in October, and it was a great success thanks to everyone in the Banano community. Soon after, SaltyWalty opened an awesome PR that got the faucet looking a lot better. Later, Nano and xDai support was also added to the faucet.
+I launched the faucet sometime in October, and it was a great success thanks to everyone in the Banano community. Soon after, SaltyWalty made an awesome PR that got the faucet looking a lot better. Later, Nano and xDai support was also added to the faucet.
For the next 2 years or so, the faucet was sustained by the generosity of many donors, and I was able to help dozens of others to launch their own Banano faucet, or faucets for other currencies.
It's great to see the Banano faucet scene now thriving, and along the way I've also been commissioned to make faucets to help first time users with gas fees on other chains, like Polygon and Arbitrum Nova.
@@ -19,7 +19,4 @@ A couple months ago, I decided I was not satisfied with the code quality of the
HalfBakedBread and I finally finished Faucet v2, and the current version of faucet.prussia.dev is using it! I also added Vite support with the help of KaffinPX. Of course, it is open source on [Github](https://github.com/jetstream0/Faucet-v2).
-Since the faucet was having problems with Replit (specifically connecting to the mongodb database), the host was also migrated from Replit to Render, which will hopefully work better.
-
-## Future Plans
-Currently, there are plans to add Algorand support, and also change the xDai faucet to support any EVM chain.
+Since the faucet was having problems with Replit (specifically connecting to the mongodb database as well as bad uptime), the host was also migrated from Replit to Render, which will hopefully work better.
diff --git a/posts/_metadata.json b/posts/_metadata.json
index 1e56f6f..aabb828 100644
--- a/posts/_metadata.json
+++ b/posts/_metadata.json
@@ -1,19 +1,19 @@
{
"meta": {
- "title": "meta",
+ "title": "Meta",
"slug": "meta",
"filename": "meta",
"date": "01/08/2023",
"author": "jetstream0/Prussia",
- "tags": ["code", "project", "web", "markdown", "typescript/javascript", "css"]
+ "tags": ["code", "project", "web", "markdown", "typescript_javascript", "css"]
},
- "adding-commas": {
- "title": "Adding Commas to Numbers",
- "slug": "adding-commas",
- "filename": "adding_commas",
- "date": "15/11/2022",
+ "month-start-unix": {
+ "title": "Finding the Unix Timestamp of the Start of the Month with Javascript",
+ "slug": "month-start-unix",
+ "filename": "month_start_unix",
+ "date": "01/04/2023",
"author": "jetstream0/Prussia",
- "tags": ["code", "typescript/javascript"]
+ "tags": ["code", "web", "typescript_javascript"]
},
"190k-faucet": {
"title": "190000 Payouts!",
@@ -23,13 +23,37 @@
"author": "jetstream0/Prussia",
"tags": ["project", "web", "milestone", "crypto"]
},
+ "adding-commas": {
+ "title": "Adding Commas to Numbers",
+ "slug": "adding-commas",
+ "filename": "adding_commas",
+ "date": "15/11/2022",
+ "author": "jetstream0/Prussia",
+ "tags": ["code", "typescript_javascript"]
+ },
+ "solving-problems-with-a-timeout": {
+ "title": "Solving Problems With a Timeout",
+ "slug": "solving-problems-with-a-timeout",
+ "filename": "solving_problems_with_a_timeout",
+ "date": "19/08/2022",
+ "author": "jetstream0/Prussia",
+ "tags": ["bot", "typescript_javascript"]
+ },
+ "fake-typing-effect": {
+ "title": "Making a Fake Typing Effect",
+ "slug": "fake-typing-effect",
+ "filename": "fake_typing_effect",
+ "date": "27/01/2022",
+ "author": "jetstream0/Prussia",
+ "tags": ["code", "web", "typescript_javascript"]
+ },
"ryuji-docs": {
"title": "Ryuji Documentation",
"slug": "ryuji-docs",
"filename": "ryuji_docs",
"date": "02/08/2023",
"author": "jetstream0/Prussia",
- "tags": ["code", "project", "web", "docs", "typescript/javascript"]
+ "tags": ["code", "project", "web", "docs", "typescript_javascript"]
},
"saki-docs": {
"title": "Saki Documentation",
@@ -37,6 +61,14 @@
"filename": "saki_docs",
"date": "02/08/2023",
"author": "jetstream0/Prussia",
- "tags": ["code", "project", "web", "build", "docs", "typescript/javascript"]
+ "tags": ["code", "project", "web", "build", "docs", "typescript_javascript"]
+ },
+ "eve": {
+ "title": "Eve",
+ "slug": "eve",
+ "filename": "eve",
+ "date": "06/08/2023",
+ "author": "jetstream0/Prussia",
+ "tags": ["cryptography"]
}
}
\ No newline at end of file
diff --git a/posts/adding_commas.md b/posts/adding_commas.md
index 065a92a..a8d9654 100644
--- a/posts/adding_commas.md
+++ b/posts/adding_commas.md
@@ -20,13 +20,15 @@ I think the most interesting part of this code was the 5th line (`let position =

-Here is a version that can handle decimals and invalid inputs:
+Here is a version that can handle decimals (keep in mind that Javascript does cut off decimals after a certain point), negative numbers and invalid inputs:
```js
function format_commas(amount) {
if (isNaN(Number(amount))) {
return amount;
}
+ let negative = amount < 0;
+ amount = Math.abs(amount);
let before_dec = String(amount).split('.')[0];
let amount_mod = before_dec;
//iterate the amount of commas there are
@@ -37,6 +39,9 @@ function format_commas(amount) {
if (String(amount).split('.')[1]) {
amount_mod = amount_mod+"."+String(amount).split('.')[1];
}
+ if (negative) {
+ amount_mod = `-${amount_mod}`;
+ }
return amount_mod;
}
```
diff --git a/posts/eve.md b/posts/eve.md
new file mode 100644
index 0000000..1491477
--- /dev/null
+++ b/posts/eve.md
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/posts/fake_typing_effect.md b/posts/fake_typing_effect.md
new file mode 100644
index 0000000..fc1c95c
--- /dev/null
+++ b/posts/fake_typing_effect.md
@@ -0,0 +1,116 @@
+Let's make a fake typing effect. When an user types on the keyboard, instead of showing the user the real text they typed, we will instead show them some other text (something similar to [hacker typer](https://hackertyper.net/)).
+
+## HTML
+
+Normally, to get user keyboard input, an element like ``. The problem is, `` actually shows what the user types. Usually, this is good. For us, not good.
+
+So we will instead be using `