Skip to content

Commit 587896a

Browse files
committed
write a 2024 blog
1 parent 2e4536f commit 587896a

13 files changed

+217
-74
lines changed

src/assets/contributions.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/assets/data.json

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
{
2+
"contributions": [
3+
{
4+
"title": "Discord Developer Documentation",
5+
"description": "The Discord developer platform lets you develop apps to customize and extend Discord for millions of users.",
6+
"url": "https://discord.com/developers/docs/intro",
7+
"date": "2020-2022"
8+
},
9+
{
10+
"title": "eris",
11+
"description": "A NodeJS Discord library. Eris has over 1.5k stars on GitHub!",
12+
"url": "https://github.com/abalabahaha/eris",
13+
"date": "2019-2021"
14+
},
15+
{
16+
"title": "wave",
17+
"description": "A Rainmeter-like widget platform powered by Electron!",
18+
"url": "https://github.com/thewaveorg/wave",
19+
"date": "2021"
20+
}
21+
],
22+
"projects": [
23+
{
24+
"title": "robintune",
25+
"description": "A tool for calculating and standardizing battle mechanics in video games.",
26+
"url": "https://github.com/apacheli/robintune",
27+
"date": "2025-present"
28+
},
29+
{
30+
"title": "bluejay",
31+
"description": "Create a book with MDX, JSX components, and Bun. Fun fact: My personal website was built using bluejay.",
32+
"url": "https://github.com/apacheli/bluejay",
33+
"date": "2024-present"
34+
},
35+
{
36+
"title": "discord-api-libs",
37+
"description": "A curated list of open-source libraries for interacting with Discord's API.",
38+
"url": "https://github.com/apacheli/discord-api-libs",
39+
"date": "2020-present"
40+
},
41+
{
42+
"title": "whirlybird",
43+
"description": "A JavaScript library for making Discord bots.",
44+
"url": "https://github.com/apacheli/whirlybird",
45+
"date": "2020-present"
46+
},
47+
{
48+
"title": "yttv",
49+
"description": "Makes YouTube TV work in your web browser. It's the same interface when using YouTube on a gaming console.",
50+
"url": "https://github.com/apacheli/yttv",
51+
"date": "2022"
52+
},
53+
{
54+
"title": "watch_only",
55+
"description": "A Firefox add-on that redirects you from YouTube Shorts to the original YouTube video player.",
56+
"url": "https://github.com/apacheli/watch_only",
57+
"date": "2022"
58+
}
59+
]
60+
}

src/assets/projects.json

Lines changed: 0 additions & 32 deletions
This file was deleted.

src/components/Comments.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
export default () => (
22
<>
3-
<h2>Comments</h2>
3+
<h2>
4+
<a href="#comments" id="comments">
5+
Comments
6+
</a>
7+
</h2>
48
<script
59
src="https://giscus.app/client.js"
610
data-repo="apacheli/apacheli.github.io"

src/components/Footer.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import Discord from "@icons/Discord.svg";
22
import GitHub from "@icons/GitHub.svg";
3-
import LinkedIn from "@icons/LinkedIn.svg";
43
import Steam from "@icons/Steam.svg";
54
import Twitch from "@icons/Twitch.svg";
65
import Twitter from "@icons/Twitter.svg";
@@ -9,7 +8,6 @@ import YouTube from "@icons/YouTube.svg";
98
const nav = [
109
{ href: "/discord", icon: Discord, h: "#5865F2" },
1110
{ href: "/github", icon: GitHub, h: "#808080" },
12-
{ href: "/linkedin", icon: LinkedIn, h: "#0266c3" },
1311
{ href: "/steam", icon: Steam, h: "#00adef" },
1412
{ href: "/twitch", icon: Twitch, h: "#8d44f7" },
1513
{ href: "/twitter", icon: Twitter, h: "#24a3f1" },
@@ -27,6 +25,11 @@ export default () => (
2725
))}
2826
</ul>
2927
</nav>
30-
<span>&copy; 2024-present apacheli</span>
28+
<span>
29+
&copy; 2024-present apacheli <a href="https://github.com/apacheli/apacheli.github.io">(source)</a>
30+
</span>
31+
<span>
32+
Designed with &#10084;&#65039; and <a href="https://apache.li/bluejay">Bluejay</a>
33+
</span>
3134
</div>
3235
);

src/components/Header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const nav = [
1111
export default () => (
1212
<div class="main-header">
1313
<a href="/" class="main-header-title">
14-
<img src="/icon.png" alt="bluejay icon" height="48" width="48" />
14+
<img src="/icon.png" alt="apache.li icon" height="48" width="48" />
1515
<span>Apacheli</span>
1616
</a>
1717
<nav>

src/components/Page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export interface PageProps {
1919
export default ({ title, description, children }: PageProps) => (
2020
<html lang="en">
2121
<head>
22-
<title>{`Bluejay - ${title}`}</title>
22+
<title>{`apache.li - ${title}`}</title>
2323
<link rel="icon" href={`${Bun.env.BLUEJAY_PATH}/icon.png`} />
2424
<link rel="stylesheet" href={`${Bun.env.BLUEJAY_PATH}/index.css`} />
2525
<meta charset="utf8" />

src/icons/LinkedIn.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/pages/about.mdx

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ export const description = "Web and Software Developer"
33

44
# About Me
55

6-
Hello, I'm Jimmy Vang, a web and software developer. JavaScript and TypeScript
7-
are my flavor of programming languages, but I've also dabbled with Python, Java,
8-
and Lua. My goals are to build fully custom applications with performance and
9-
efficiency in mind. I also like to contribute to open-source projects.
6+
Hello, I'm **Jimmy Vang**, a web and software developer. JavaScript and
7+
TypeScript are my flavor of programming languages, but I've also dabbled with
8+
Python, Java, and Lua. My goals are to build fully custom applications with
9+
performance and efficiency in mind. I also like to contribute to open-source
10+
projects.
1011

1112
I'm also a hobbyist graphic designer and artist. I've use Figma and Paint.NET to
12-
make some cool stuff.
13+
design some pretty things such as custom SVG icons for websites and thumbnails
14+
for video platforms such as YouTube.
1315

1416
Check out [my blog](/blog) to see what I've been working on, or
1517
[contact me](/contact) if you're interested in working with me.
@@ -19,22 +21,36 @@ Check out [my blog](/blog) to see what I've been working on, or
1921
I study computer science, but the majority of my knowledge and experience stems
2022
from reading documentations and trial and error.
2123

24+
As a software engineer and freelancer, working with clients who want custom
25+
applications for their specific use cases has taught me a lot about the business
26+
and professional side of things for my career path. I've worked with other
27+
brilliant minds to come up with the best solutions possible for any given problem.
28+
2229
## Gaming
2330

2431
Open-world, sandbox, and tower defense are my favorite genres of video games.
2532

2633
My friend codes:
2734

28-
- Nintendo Switch: `SW-5259-5725-2888`
29-
- Steam: `876434768`
35+
- **Nintendo Switch**: `SW-5259-5725-2888`
36+
- **Steam**: [`876434768`](https://apache.li/steam)
37+
38+
Other games:
39+
40+
- **Genshin Impact**: `658940494`
41+
- **Honkai: Star Rail**: `603925780`
42+
- **Minecraft**: `apacheopteryx`
3043

3144
## My PC Build
3245

3346
https://pcpartpicker.com/list/RzYQbL
3447

35-
- CPU: AMD Ryzen&#8482; 5 7600
36-
- GPU: AMD Radeon&#8482; RX 6650 XT
48+
- **CPU**: AMD Ryzen&#8482; 5 7600
49+
- **GPU**: AMD Radeon&#8482; RX 6650 XT
3750

3851
## Other Stuff
3952

4053
I'm from the United States. My time zone is `GMT-5`.
54+
55+
> [!NOTE]
56+
> Responses may be not available during the downtime of this timezone.

src/pages/blog.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export default ({ pages }) => {
77
return (
88
<>
99
<h1>Blog</h1>
10-
<p>I write about stuff.</p>
10+
<p>I yap about stuff that may or may not interest you.</p>
1111
<div>
1212
{pages
1313
.filter((page) => page.mod.type === "blog")

src/pages/blog/learned-2024.mdx

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
import Comments from "@components/Comments"
2+
3+
export const title = "What Have I learned in 2024?"
4+
export const description = "A somewhat interesting insight into what I've learned in 2024. Will this new profound knowledge carry with me into 2025? We'll have to just wait and see."
5+
export const date = "2025-01-08"
6+
export const type = "blog"
7+
8+
# Things I've Learned in 2024
9+
10+
2024 was a pretty lackluster year for me all things considered. However, it may
11+
have also been the year where I was the most excited to try and experiment with
12+
new things. Ranting aside, let's dive into all the cool new gadgets I've played
13+
with in 2024.
14+
15+
> This is about a 5 minute read.
16+
17+
## Databases and Caching
18+
19+
Working with and managing databases was a new experience for me in 2024. When I
20+
was writing a custom application for a client, we needed to reliably manage data
21+
without the risk of data corruption. Normally, JSON was my go-to choice because
22+
it was familiar to me, but it was far, far too unreliable for the situation at
23+
hand.
24+
25+
I've settled with [PostgreSQL](https://www.postgresql.org/) as my go-to choice
26+
when working with databases. It's probably overkill for small applications, but
27+
it definitely gets the job done. It even comes with a cool dashboard called
28+
_pgAdmin_ to help visualize your data.
29+
30+
However, making requests to your database can be computationally expensive.
31+
That's where caching comes in. If data is frequently requested, it may be worth
32+
looking into caching solutions. I use [Redis](https://redis.io/) for this.
33+
Unlike a traditional database, Redis stores your data in-memory which makes it
34+
much faster and less expensive on your hardware.
35+
36+
My biggest complaint about SQL is _it's just not fun to write_. Please use an
37+
[ORM](https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping). It'll
38+
make you and your colleagues' lives so much easier. However, it's still
39+
important to be weary of what SQL is capable of, so don't drop it off your mind
40+
entirely.
41+
42+
## Managing Websites with Cloudflare
43+
44+
I purchased _this domain_ about a year ago and linked it to my GitHub account.
45+
Managing a website has showed me both the beauty and ugly of this world, but it
46+
was all worth it just to get these cool letters to appear in your searchbar. I
47+
personally recommend you get a grasp of HTML and CSS instead of using an
48+
off-the-shelf website builder like Wix and Wordpress. It'll take time, but
49+
having full creative control over your website is worth the hardship.
50+
51+
[Cloudflare](https://www.cloudflare.com/) is probably the safest and most secure
52+
way to manage your website. It's especially vital if you host your website on
53+
your own hardware. It also provides a bunch of useful tools such as analytics,
54+
storage, and workers. If you want a fancy business email, they'll handle that
55+
for you too.
56+
57+
## Building My First PC
58+
59+
Learning how to build your first PC is certainly an experience to have. You
60+
start off clueless, and then you know everything. It involves so much research
61+
even before you start assembling anything. For example, what are you looking for
62+
in a computer? Video editing? Music production? Gaming? Programming? Digital
63+
art? All of these should be considered when looking for PC components. You can
64+
also just order a prebuilt one, but that's no fun.
65+
66+
For me, I wanted something for programming, and of course, _gaming_. A lot of my
67+
work involves performance testing, so I needed a CPU that could handle millions
68+
of operations per second without stuttering. I don't play very graphically
69+
demanding games, so I just went with a solid midrange GPU. However, some games
70+
are memory hogs like modded Minecraft, so I got ahold of some fat 32 GB RAM
71+
sticks, but most people could settle with 16 GB. If you have several downloaded
72+
games or video recordings, you might also want to peek at big storage options.
73+
74+
I've also made a few mistakes too. I ordered _a TN monitor_ instead of an OLED
75+
monitor. Honestly, it's not worth getting anything TN or LCD these days. Color
76+
accuracy simply outweighs anything they could ever offer. My current build also
77+
doesn't support Bluetooth. Like I said earlier, _please_ do the research. These
78+
mistakes could've been avoided if I just read the fine print. Use something like
79+
[PCPartPicker](https://pcpartpicker.com/) to compile your parts.
80+
81+
## Computer Servers
82+
83+
When I upgraded my PC, it left me with some cold metal, i.e., my old computer.
84+
Not sure what to do with it, it just sat in a corner for a few months collecting
85+
dust overtime. Then all of sudden, _eureka_! Its new purpose was to now host a
86+
Minecraft server. I wiped out everything and installed a fresh copy of Ubuntu
87+
(I'm a normie, I know) onto it. Normally, the spare HDMI cable lying around was
88+
used for accessing it, but then I discovered how much more convenient SSH was.
89+
90+
Today, it's still being used for a Minecraft server, but I also run other things
91+
on it such as a Jellyfin, a media server for watching your _totally legally
92+
obtained media_ on it. My Discord bots are also running on it which alleviates
93+
some of the stress from my main computer. I also run a Nextcloud server for
94+
better privacy when managing sensitive files.
95+
[Check out the
96+
Awesome-Selfhosted repository](https://github.com/awesome-selfhosted/awesome-selfhosted).
97+
It might be fun setting up a homelab of your own.
98+
99+
## Conducting My Own Business
100+
101+
The knowledge I have for managing my own "brand" is quite bleak and the learning
102+
experience will have to carry into 2025. Working with _actual_ clients by
103+
yourself is fun, exciting, depressing, and stressful all at the same time. Just
104+
pace yourself in a way that doesn't burn you out. Anyway, whatever I write here
105+
next year will probably be more interesting.
106+
107+
## Conclusion
108+
109+
Overall, it was certainly a year. Anyway, that's enough yapping.
110+
111+
<Comments />

src/pages/contact.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ export const description = "Web and Software Developer"
33

44
# Contact
55

6-
For business inquiries such as commissions, you can contact me at [email protected].
6+
For business inquiries, you can contact me at [email protected].
77

88
For everything else, you can message me on Discord. I don't respond on other
99
platforms.

src/pages/index.mdx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import Article from "@components/Article"
2-
import contributions from "../assets/contributions.json"
3-
import projects from "../assets/projects.json"
2+
import { contributions, projects } from "../assets/data.json"
43

54
export const title = "home"
65
export const description = "Web and Software Developer"
@@ -9,8 +8,11 @@ export const description = "Web and Software Developer"
98

109
# Hello, I'm apacheli.
1110

12-
Hello, I'm apacheli, a web and software developer. I primarily work with backend
13-
software such as [Node.js](https://nodejs.org/en) and [Bun](https://bun.sh/).
11+
Hello, I'm **apacheli**, a web and software developer. I primarily work with
12+
backend software such as [Node.js](https://nodejs.org/en) and
13+
[Bun](https://bun.sh/).
14+
15+
See anything interesting? [Get in touch with me.](/contact)
1416

1517
## Projects
1618

0 commit comments

Comments
 (0)