diff --git a/src/assets/cubing/content.mdx b/src/assets/cubing/content.mdx new file mode 100644 index 0000000..f7218c0 --- /dev/null +++ b/src/assets/cubing/content.mdx @@ -0,0 +1,53 @@ +import cubingPhotography from "./cubing-photography.jpg"; +import ContentImage from "../../components/ContentImage.astro"; +import { getCollection } from "astro:content"; + +{/* cspell:ignore speedcubing CFOP sune */} + +I can't specifically remember when, but my cubing journey started in middle school when I found a Rubik's cube at a birthday party and learned to solve it myself using the [CFOP method](https://en.wikipedia.org/wiki/CFOP_method). Since then: + +- My personal best solve time is 6.48 seconds +- My average solve time is around 11 seconds +- I can solve Rubik's cubes blindfolded (it took me seven attempts for my first and only successful solve) +- I've attended {(await getCollection("cubing-competition")).length} speedcubing competitions (my [WCA profile](https://www.worldcubeassociation.org/persons/2018CHAU01)) + +For *now*, I only practice 3x3, but hopefully I'll find later motivation to learn other twisty puzzles. + +## 3x3 Main + +My 3x3 Rubik's cube main is the GAN 14 3x3 Magnetic (MagLev UV Coated) + + + +Fancy, I know right? When I got this cube in particular, I started an experiment and adjusted the tensioning towards the faster end. In the past, I always adjusted the tension towards the slower end because I would apply too much force while turning and tire me out. + +Although it was hard getting used to at first, so far I think the experiment has worked! Hopefully this isn't just a placebo, but I feel like turning has been easier than ever. + +## Personal Best Solve + +This solve is one-of-a-kind. For perspective, from around ten thousand prior career solves, my previous personal best was 8.62 seconds. It was my most dramatic personal best solve time jump, and no other solve time other than this contender has come close after more than five years. Without further ado: + + + 6.48   L U2 L' D2 R F2 L' U2 F2 R D2 L' B' R' U' L' R2 B2 L' D2 + + x2  // Inspection \ + R B U' M' U2 M  // XX Cross \ + y R U2 R' U R U' R'  // 3rd pair \ + y R U' R' U R U R'  // 4th pair \ + r U2 R' U' R U' r'  // OLL \ + U R' U L' U2 R U' R' U2 R L  // PLL \ + + // Solved on Sep 7, 2019 + + +You can visually follow this solve along if needed. + +Before picking up the cube, you can already tell that the solve presents a special opportunity. There exists not one, but two completed 2x2x1 F2L blocks. Complemented by easy edges, the solve manifests a rare XX Cross! Following that, the third and fourth pairs were easy-to-look-ahead 2-gen algorithms that each required a rotation for setup. + +I couldn't have asked for a better last layer. The fat anti-sune, already U-face oriented, is one of my fastest OLL algorithms. On the other hand, I was met with a Ja PLL, an algorithm I've historically locked up on. My execution was flawless and aided by the 25% chance of no AUF. Given that I've always struggled with solve anxiety especially towards the end of the solve, I can't help but give myself a pat on the back for how elegant the last layer was. Through the culmination of an awesome scramble and perhaps an even more awesome solution, my 6.48 second Rubik's cube solve is forever cemented as one of my proudest life accomplishments! \ No newline at end of file diff --git a/src/content/blog/Hello World.mdx b/src/content/blog/Hello World.mdx index a041a69..95fa1a3 100644 --- a/src/content/blog/Hello World.mdx +++ b/src/content/blog/Hello World.mdx @@ -13,19 +13,35 @@ When I was younger, I never had the confidence to think of myself as an interest I thought I would give a brief life update to honor my celebratory first blog post. I've just finished my first year as a Computer Science major at Purdue University! Over the past school year, I... - + I coded, a *lot*. I showed off my hobby project NAND on Hacker News, and they really seamed to like it. - + I got back into video gaming, specifically Super Smash Bros Ultimate with my friends and Brawl Stars. - + I learned to skateboard and cut my commute time by two-thirds. - + I grew out my hair, and I'm totally rocking the style! diff --git a/src/content/blog/My GitHub repository has 100,000 contributors.mdx b/src/content/blog/My GitHub repository has 100,000 contributors.mdx index a3a2e47..1c511b8 100644 --- a/src/content/blog/My GitHub repository has 100,000 contributors.mdx +++ b/src/content/blog/My GitHub repository has 100,000 contributors.mdx @@ -68,7 +68,13 @@ I decided to write the scraper in JavaScript so I could utilize [octokit.js](htt After hacking up a prototype, I tested my first commit. - + It works! @@ -132,7 +138,12 @@ I would receive this response. Have you ever seen a corrupted repository? - + Well, it ended up crashing my script half way through. Having to re-run it was more annoying than it should have been. @@ -163,7 +174,11 @@ These commands only work on Git v2.38.2 or earlier, don't ask me how I know that Sure enough, after pushing, my test repository also nuked itself in a similar fashion with the same error message. I was able to pinpoint this behavior to the invalid UTC offset on the commit date, a classic parsing oversight. I took this a step further and wanted to see what would happen if I opened a pull request referencing this commit. Feast your eyes on... - + I really wish I could say I found a denial-of-service PoC and [became $1,000 (or more) richer](https://hackerone.com/github#user-content-performing-your-research). Imagine how cool of a resolution that would sound! Like before, following triage with some of my friends, I surrendered empty-handed and filed a bug report to GitHub support. @@ -207,7 +222,11 @@ everyone % git push Thirty minutes later, nothing happens. - + Uh oh. @@ -236,7 +255,12 @@ echo "Co-authors successfully processed!" After running the script, around half an hour later: - + Booyah! \*drops mic\* diff --git a/src/content/book-review/The Elements of Computing Systems: Building a Modern Computer from First Principles.mdx b/src/content/book-review/The Elements of Computing Systems: Building a Modern Computer from First Principles.mdx index 61f4c0a..00c2082 100644 --- a/src/content/book-review/The Elements of Computing Systems: Building a Modern Computer from First Principles.mdx +++ b/src/content/book-review/The Elements of Computing Systems: Building a Modern Computer from First Principles.mdx @@ -16,4 +16,7 @@ My associated project [NAND](https://nand.arhan.sh/) was [#1 on hacker news](htt I was so passionate about this book that I shot one of the authors a thank-you email! - + diff --git a/src/content/cubing-competition/Bay Area Speedcubin' 63 - Atherton 2024.mdx b/src/content/cubing-competition/Bay Area Speedcubin' 63 - Atherton 2024.mdx index 10bcccc..1583d01 100644 --- a/src/content/cubing-competition/Bay Area Speedcubin' 63 - Atherton 2024.mdx +++ b/src/content/cubing-competition/Bay Area Speedcubin' 63 - Atherton 2024.mdx @@ -21,9 +21,19 @@ import mural from "../../assets/cubing/mural.jpg"; Once again, I went to this competition with my friend [Adrian](https://bithole.dev). We spent the morning helping build a Rubik's cube mural. - + - + Now, the competition. I was pretty satisfied with my first round and qualified for the second round, but Adrian was just two spots away from qualifying D: . diff --git a/src/content/cubing-competition/Berkeley Winter B 2023.mdx b/src/content/cubing-competition/Berkeley Winter B 2023.mdx index 4c5e02c..b3e25ce 100644 --- a/src/content/cubing-competition/Berkeley Winter B 2023.mdx +++ b/src/content/cubing-competition/Berkeley Winter B 2023.mdx @@ -9,4 +9,9 @@ This the first competition I went to after the COVID-19 pandemic. *Unfortunately That was a good move! It was so refreshing and exciting to get back into cubing and reignite this nerdy hobby of mine. Adrian and I ended up volunteering to judge for an entire hour, and then we had fun exploring the Berkeley landscape during lunch. Most importantly, Max Park was there! We got his autograph, hooray! - \ No newline at end of file + \ No newline at end of file diff --git a/src/pages/cubing.astro b/src/pages/cubing.astro index 815cbd4..3154210 100644 --- a/src/pages/cubing.astro +++ b/src/pages/cubing.astro @@ -1,9 +1,8 @@ --- import Layout from "../layouts/Layout.astro"; import CubingCompetition from "../components/CubingCompetition.astro"; -import cubingPhotography from "../assets/cubing/cubing-photography.jpg"; +import * as CubingContent from "../assets/cubing/content.mdx"; import { getCollection } from "astro:content"; -import ContentImage from "../components/ContentImage.astro"; const cubingCompetitions = await getCollection("cubing-competition"); --- @@ -12,113 +11,7 @@ const cubingCompetitions = await getCollection("cubing-competition");

My cubing page


-

- I can't specifically remember when, but my cubing journey started in - middle school when I found a Rubik's cube at a birthday party and learned - to solve it myself using the CFOP method. Since then: -

-
    -
  • My personal best solve time is 6.48 seconds
  • -
  • My average solve time is around 11 seconds
  • -
  • - I can solve Rubik's cubes blindfolded (it took me seven attempts for my - first and only successful solve) -
  • -
  • - I've attended {cubingCompetitions.length} speedcubing competitions (my WCA profile) -
  • -
-

- For now, I only practice 3x3, but hopefully I'll find later - motivation to learn other twisty puzzles. -

-

3x3 Main

-

- My 3x3 Rubik's cube main is the GAN 14 3x3 Magnetic (MagLev UV Coated) -

- -

- Fancy, I know right? When I got this cube in particular, I started an - experiment and adjusted the tensioning towards the faster end. In the - past, I always adjusted the tension towards the slower end because I would - apply too much force while turning and tire me out. -

-

- Although it was hard getting used to at first, so far I think the - experiment has worked! Hopefully this isn't just a placebo, but I feel - like turning has been easier than ever. -

-

Personal Best Solve

-

- This solve is one-of-a-kind. For perspective, from around ten thousand - prior career solves, my previous personal best was 8.62 seconds. It was my - most dramatic personal best solve time jump, and no other solve time other - than this contender has come close after more than five years. Without further ado: -

-

- - 6.48   L U2 L' D2 R F2 L' U2 F2 R D2 L' B' R' U' L' R2 B2 L' - D2
-
- x2  // Inspection
- R B U' M' U2 M  // XX Cross
- y R U2 R' U R U' R'  // 3rd pair
- y R U' R' U R U R'  // 4th pair
- r U2 R' U' R U' r'  // OLL
- U R' U L' U2 R U' R' U2 R L  // PLL
-
- // Solved on Sep 7, 2019
-
-

-

- You can visually follow this solve along if needed. -

-

- Before picking up the cube, you can already tell that the solve presents a - special opportunity. There exists not one, but two completed 2x2x1 F2L - blocks. Complemented by easy edges, the solve manifests a rare XX Cross! Following - that, the third and fourth pairs were easy-to-look-ahead 2-gen algorithms that - each required a rotation for setup. -

-

- I couldn't have asked for a better last layer. The fat anti-sune, already - U-face oriented, is one of my fastest OLL algorithms. On the other hand, I - was met with a Ja PLL, an algorithm I've historically locked up on. My - execution was flawless and aided by the 25% chance of no AUF. Given that - I've always struggled with solve anxiety especially towards the end of the - solve, I can't help but give myself a pat on the back for how elegant the - last layer was. Through the culmination of an awesome scramble and perhaps - an even more awesome solution, my 6.48 second Rubik's cube solve is - forever cemented as one of my proudest life accomplishments! -

+

My Competitions

{ cubingCompetitions @@ -128,7 +21,7 @@ const cubingCompetitions = await getCollection("cubing-competition");
-