diff --git a/posts/backnotwhy.md b/posts/backnotwhy.md index b8521a2..d717225 100644 --- a/posts/backnotwhy.md +++ b/posts/backnotwhy.md @@ -1,7 +1,7 @@ --- title: "I'm back but not the same." desc: This back to normal but not the same! -date: "28/01/2025" +date: "28-01-2025" tags: - website - domain diff --git a/posts/mccooked-th.md b/posts/mccooked-th.md index b43b794..72131c5 100644 --- a/posts/mccooked-th.md +++ b/posts/mccooked-th.md @@ -1,7 +1,7 @@ --- title: "MCTham อาจจะเน่ากว่าที่คิด...ให้หนูพูดเถอะ" desc: MCTham with endless drama.... -date: "8/12/2024" +date: "8-12-2024" tags: - drama - minecraft server diff --git a/posts/mccooked.md b/posts/mccooked.md index eba4e59..2305b9d 100644 --- a/posts/mccooked.md +++ b/posts/mccooked.md @@ -1,7 +1,7 @@ --- title: "MCTham more like MCCooked, let me explain" desc: MCTham with endless drama.... -date: "8/12/2024" +date: "8-12-2024" tags: - drama - minecraft server diff --git a/posts/moveon.md b/posts/moveon.md index 6add060..84528f0 100644 --- a/posts/moveon.md +++ b/posts/moveon.md @@ -1,7 +1,7 @@ --- title: "Goodbye fusemeow.me, Hello blueskychan.dev" desc: Hello world! -date: "28/12/2023" +date: "28-12-2023" tags: - new home - new stuff diff --git a/posts/timetomoveon.md b/posts/timetomoveon.md new file mode 100644 index 0000000..44a12f5 --- /dev/null +++ b/posts/timetomoveon.md @@ -0,0 +1,73 @@ +--- +title: "Moving On from the Past" +desc: "Archiving my old 'educational' tools on GitHub — a personal reflection on growth, learning, and letting go." +date: "10-05-2025" +tags: + - GitHub + - Reflection + - Programming Journey + - Personal Life + - Growth +--- + +# Archiving My Old Projects: A Chapter Ends + +> 📌 tl;dr: I'm officially archiving all my "for educational purpose" DDoS/DoS tools on GitHub. These projects helped me learn programming, but I’ve outgrown them and no longer want them associated with my identity. Time to move on. + +--- + +Well, it's finally time to talk about something that's been on my mind for a while: +I'm going to archive my old projects—especially the ones related to DDoS/DoS tools created for so-called "educational purposes." + +## 🧠 Why This Matters + +You might wonder: Why archive these now? + +Let me explain the journey that brought me here, and why I think it’s time to move forward. + +--- + +## 📖 The Beginning + +Back in the days of "fusenice" (~2020), I didn’t even own a computer. I used my phone and connected to remote desktops from Thai cloud providers like Xver and DriteStudio to experience Windows and explore programming. + +That’s when I discovered Python—it looked fun! I started learning but quickly lost interest. I wasn’t serious about it back then. + +Fast-forward to 2021: I became curious about DDoS attacks after seeing services like MCStresser. I had no clue what I was doing—my first "tool" was literally a batch file running ping in a loop. Around this time, I also moved to Vultr and Azure. + +Later in 2021, I got my first laptop (Core i3-330M, 4GB DDR3, 250GB HDD) for online classes. That’s when I seriously started learning to code again. I discovered C#—and for some reason, it just clicked. I also dabbled in C++ and Linux while trying to make better (but still pretty bad) attack tools. + +Ironically, building those tools pushed me to learn how to code. I was constantly Googling, experimenting, and debugging. + +--- + +## 💬 About Those Tools + +Yes, you’ve probably seen the many DDoS/DoS tools on my GitHub. Some of you even followed me because of them. + +One tool that got attention was DDoSPacket, which I made before I even started middle school. Looking back—it was terrible, I agree. I could write a much better version today, but... + +--- + +## 🧹 Time to Move On + +I’ve considered rewriting DDoSPacket and similar tools for years—but now, I’ve decided to archive them entirely. Here's why: + +- 🧨 My identity has been unfairly tied to these tools. People call me an "attacker" without any proof—even when I’ve done nothing wrong. +- ❌ The "educational purpose" label doesn’t help. Many people still misuse these tools—I've even received Telegram DMs from people using them to attack PUBG servers. +- 🚫 I don’t want legal or personal risks. It’s 2025, I’m in high school now, and I’ve got responsibilities, schoolwork, and teachers to deal with. I don’t want to be dragged down by an old repo. +- ❤️ I’ve outgrown that phase. These days, I find real joy in learning Linux, C, and Rust. + +--- + +## 🫂 Final Words + +Writing those tools taught me a lot. They helped me grow and become who I am today—a true computer enjoyer. + +But everything has its time—and that time is over. + +If you still want to mess around, you can probably find Termux scripts online. But I won’t support or help with anything related to DDoS anymore. + +If you have questions or just want to chat, reach out: hello@mindhas403.dev + +Thanks for reading. Take care, and see you around. <3 diff --git a/public/random.js b/public/random.js index a91a4b5..87ab901 100644 --- a/public/random.js +++ b/public/random.js @@ -6,7 +6,7 @@ console.log("Sometimes this world is great, but sometimes it sucks.... :c") const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)) sleep(2500).then(() => { console.log( - "%cI 🫶 @ahenyao! (so much) <3", + "%c Something went wrong... :c", "color: #FF69B4; font-size: 20px; font-weight: bold;", ) console.log( diff --git a/src/pages/blog.jsx b/src/pages/blog.jsx index f08f83b..5ba4f8c 100644 --- a/src/pages/blog.jsx +++ b/src/pages/blog.jsx @@ -2,6 +2,7 @@ import fs from "fs" import matter from "gray-matter" import Link from "next/link" import Head from "next/head" +import { useState } from "react" export async function getStaticProps() { const files = fs.readdirSync("posts") @@ -12,11 +13,29 @@ export async function getStaticProps() { const slug = fileName.replace(".md", "") const readFile = fs.readFileSync(`posts/${fileName}`, "utf-8") const { data: frontmatter } = matter(readFile) + + // Fix date formatting - handle both DD-MM-YYYY and other formats + let formattedDate = frontmatter.date; + if (frontmatter.date && frontmatter.date.includes('-')) { + const [day, month, year] = frontmatter.date.split('-'); + if (day && month && year) { + formattedDate = new Date(`${month}/${day}/${year}`).toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric' + }); + } + } + return { slug, - frontmatter, + frontmatter: { + ...frontmatter, + formattedDate: formattedDate || frontmatter.date + }, } }) + .sort((a, b) => new Date(b.frontmatter.date) - new Date(a.frontmatter.date)) return { props: { @@ -26,29 +45,85 @@ export async function getStaticProps() { } export default function Blog({ posts }) { + const [search, setSearch] = useState("") + const [sortBy, setSortBy] = useState("date") + + const filteredPosts = posts + .filter(({ frontmatter }) => + frontmatter.title.toLowerCase().includes(search.toLowerCase()) + ) + .sort((a, b) => { + if (sortBy === "letter") { + return a.frontmatter.title.localeCompare(b.frontmatter.title) + } else { + return new Date(b.frontmatter.date) - new Date(a.frontmatter.date) + } + }) + return ( <> - - My Blog :3 - - - - -
- {posts.map(({ slug, frontmatter }) => ( -
- -

{frontmatter.title}

- + + My Blog :3 + + + + + + +
+

Blog

+

All of my thoughts and writings :3

+ + {/* Search & Sort */} +
+ setSearch(e.target.value)} + className="px-3 py-2 md:px-4 md:py-2 rounded-xl border border-gray-300 bg-white/80 text-black shadow-md focus:outline-none focus:ring-2 focus:ring-pink-300 flex-grow text-sm md:text-base" + /> +
- ))} -
+ + {/* Posts */} + {filteredPosts.length > 0 ? ( +
+ {filteredPosts.map(({ slug, frontmatter }) => ( + +
+

+ {frontmatter.title} +

+

+ {frontmatter.formattedDate} +

+ {frontmatter.description && ( +

+ {frontmatter.description} +

+ )} +
+ + ))} +
+ ) : ( +
+

No posts found matching your search.

+
+ )} +
) -} +} \ No newline at end of file