Skip to content

Commit

Permalink
Move cubing page to content file
Browse files Browse the repository at this point in the history
  • Loading branch information
ArhanChaudhary committed Jul 4, 2024
1 parent e12f274 commit 52ae8ff
Show file tree
Hide file tree
Showing 7 changed files with 127 additions and 123 deletions.
53 changes: 53 additions & 0 deletions src/assets/cubing/content.mdx
Original file line number Diff line number Diff line change
@@ -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)

<ContentImage
src={cubingPhotography}
alt="Cubing photograph picture"
width="500"
quality="max"
desc="This composition took two hours to get right. The colors admittedly look a bit muted; I took this picture with my phone."
/>

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 <a href="https://alg.cubing.net/?type=reconstruction&setup=B-_R_D2_L-_F2_L-_U2_F2_L-_F2_R-_F2_B-_L-_R2_D-_R-_F_L-&alg=x2_y_%2F%2F_Inspection%0AD-_R-_D2_F_B-_R_D2_%2F%2F_Cross%0AL-_U_L_y-_R-_U2_R_%2F%2F_1st_Pair%0AL_F-_L-_F_L_U_L-_%2F%2F_2nd_Pair%0Ay-_U_R-_U-_R_%2F%2F_3rd_Pair%0AU_R_U_R-_%2F%2F_4th_Pair%0Af_R_U_R-_U-_f-_U-_R_U_R-_U-_R-_F_R_F-_%2F%2F_OLL%0A%0A%2F%2F_Solved_on_Dec_5,_2022&title=Arhan%20Chaudhary,%206.82%20seconds&view=playback">this contender</a> has come close after more than five years. Without further ado:

<code>
6.48 &nbsp;&nbsp;L U2 L' D2 R F2 L' U2 F2 R D2 L' B' R' U' L' R2 B2 L' D2

x2 &nbsp;<span class="reconstruction-comment">// Inspection</span> \
R B U' M' U2 M &nbsp;<span class="reconstruction-comment">// XX Cross</span> \
y R U2 R' U R U' R' &nbsp;<span class="reconstruction-comment">// 3rd pair</span> \
y R U' R' U R U R' &nbsp;<span class="reconstruction-comment">// 4th pair</span> \
r U2 R' U' R U' r' &nbsp;<span class="reconstruction-comment">// OLL</span> \
U R' U L' U2 R U' R' U2 R L &nbsp;<span class="reconstruction-comment">// PLL</span> \

<span class="reconstruction-comment">// Solved on Sep 7, 2019</span>
</code>

You can <a href="https://alg.cubing.net/?setup=L_U2_L-_D2_R_F2_L-_U2_F2_R_D2_L-_B-_R-_U-_L-_R2_B2_L-_D2&alg=x2_%2F%2F_Inspection%0AR_B_U-_M-_U2_M_%2F%2F_XX_Cross%0Ay_R_U2_R-_U_R_U-_R-_%2F%2F_3rd_pair%0Ay_R_U-_R-_U_R_U_R-_%2F%2F_4th_pair%0Ar_U2_R-_U-_R_U-_r-_%2F%2F_OLL%0AU_R-_U_L-_U2_R_U-_R-_U2_R_L_%2F%2F_PLL%0A%0A%2F%2F_Solved_on_Sep_7,_2019&type=reconstruction&title=Arhan%20Chaudhary,%206.48%20seconds&view=playback">visually follow this solve along</a> if needed.

Before picking up the cube, you can already tell that the solve presents a special opportunity. There exists not one, but <i>two</i> 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!
24 changes: 20 additions & 4 deletions src/content/blog/Hello World.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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...

<ContentImage src={coding} alt="A picture of my coding setup" height="600" />
<ContentImage
src={coding}
alt="A picture of my coding setup"
height="600"
/>

I coded, a *lot*. I showed off my hobby project <a href="https://github.com/ArhanChaudhary/NAND">NAND</a> on Hacker News, and they <a href="https://news.ycombinator.com/item?id=40159278">really seamed to like it</a>.

<ContentImage src={videoGames} alt="A picture of me playing video games" height="600" />
<ContentImage
src={videoGames}
alt="A picture of me playing video games"
height="600"
/>

I got back into video gaming, specifically Super Smash Bros Ultimate with my friends and Brawl Stars.

<ContentImage src={skateboarding} alt="A picture of my skateboard" height="600" />
<ContentImage
src={skateboarding}
alt="A picture of my skateboard"
height="600"
/>

I learned to skateboard and cut my commute time by two-thirds.

<ContentImage src={longHair} alt="A picture of me with long hair" height="600" />
<ContentImage
src={longHair}
alt="A picture of me with long hair"
height="600"
/>

I grew out my hair, and I'm totally rocking the style!

Expand Down
34 changes: 29 additions & 5 deletions src/content/blog/My GitHub repository has 100,000 contributors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<ContentImage src={partiallyVerified} desc={`In ironic fashion, because I sign my commits, the commit was labeled "Partially verified" in green`} width="450" quality="high" alt="A commit with 2,000 contributors"></ContentImage>
<ContentImage
src={partiallyVerified}
desc={`In ironic fashion, because I sign my commits, the commit was labeled "Partially verified" in green`
width="450"
quality="high"
alt="A commit with 2,000 contributors"
/>

It works!

Expand Down Expand Up @@ -132,7 +138,12 @@ I would receive this response.

Have you ever seen a corrupted repository?

<ContentImage src={corruptedRepository} desc="I won't be revealing the author nor the link to respect their privacy" alt="A repository that is corrupted" width="700"></ContentImage>
<ContentImage
src={corruptedRepository}
desc="I won't be revealing the author nor the link to respect their privacy"
alt="A repository that is corrupted"
width="700"
/>

Well, it ended up crashing my script half way through. Having to re-run it was more annoying than it should have been.

Expand Down Expand Up @@ -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...

<ContentImage src={github500} width={null} alt="GitHub throwing an internal server error"></ContentImage>
<ContentImage
src={github500}
width={null}
alt="GitHub throwing an internal server error"
/>

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.

Expand Down Expand Up @@ -207,7 +222,11 @@ everyone % git push

Thirty minutes later, nothing happens.

<ContentImage src={commitLoading} width="600" alt="A screenshot showing GitHub commits unable to load"></ContentImage>
<ContentImage
src={commitLoading}
width="600"
alt="A screenshot showing GitHub commits unable to load"
/>

Uh oh.

Expand Down Expand Up @@ -236,7 +255,12 @@ echo "Co-authors successfully processed!"

After running the script, around half an hour later:

<ContentImage src={_100000Contributors} desc="The last 14 contributors are on the icons up top" width="500" alt="A screenshot showing 100,000 contributors"></ContentImage>
<ContentImage
src={_100000Contributors}
desc="The last 14 contributors are on the icons up top"
width="500"
alt="A screenshot showing 100,000 contributors"
/>

Booyah! \*drops mic\*

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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!

<ContentImage src={thankYou} alt="my thank-you note" />
<ContentImage
src={thankYou}
alt="my thank-you note"
/>
Original file line number Diff line number Diff line change
Expand Up @@ -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.

<ContentImage src={halfMural} desc="I had never seen a mural in person, it was seriously cool" alt="The Rubik's cube mural half-built" width="300"></ContentImage>
<ContentImage
src={halfMural}
desc="I had never seen a mural in person, it was seriously cool"
alt="The Rubik's cube mural half-built"
width="300"
/>

<ContentImage src={mural} desc="The completed mural" width="300" alt="The completed Rubik's cube mural"></ContentImage>
<ContentImage
src={mural}
desc="The completed mural"
width="300"
alt="The completed 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: .

Expand Down
7 changes: 6 additions & 1 deletion src/content/cubing-competition/Berkeley Winter B 2023.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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!

<ContentImage src={maxPark} alt="A cube with Max Park's autograph" desc="We were so nervous that it took an entire 5 minutes to walk up to him" width="250"></ContentImage>
<ContentImage
src={maxPark}
alt="A cube with Max Park's autograph"
desc="We were so nervous that it took an entire 5 minutes to walk up to him"
width="250"
/>
113 changes: 3 additions & 110 deletions src/pages/cubing.astro
Original file line number Diff line number Diff line change
@@ -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");
---
Expand All @@ -12,113 +11,7 @@ const cubingCompetitions = await getCollection("cubing-competition");
<div id="max-width-wrapper" class="system-ui offwhite">
<h1 class="input-mono">My cubing page</h1>
<hr />
<p>
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 <a
href="https://en.wikipedia.org/wiki/CFOP_method">CFOP method</a
>. Since then:
</p>
<ul>
<li>My personal best solve time is 6.48 seconds</li>
<li>My average solve time is around 11 seconds</li>
<li>
I can solve Rubik's cubes blindfolded (it took me seven attempts for my
first and only successful solve)
</li>
<li>
I've attended {cubingCompetitions.length} speedcubing competitions (my <a
href="https://www.worldcubeassociation.org/persons/2018CHAU01"
>WCA profile</a
>)
</li>
</ul>
<p>
For <i>now</i>, I only practice 3x3, but hopefully I'll find later
motivation to learn other twisty puzzles.
</p>
<h2>3x3 Main</h2>
<p>
My 3x3 Rubik's cube main is the GAN 14 3x3 Magnetic (MagLev UV Coated)
</p>
<ContentImage
src={cubingPhotography}
alt="Cubing photograph picture"
width="500"
quality="max"
desc="This composition took two hours to get right. The colors admittedly look a bit muted; I took this picture with my phone."
/>
<p>
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.
</p>
<p>
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.
</p>
<h2>Personal Best Solve</h2>
<p>
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 <a
href="https://alg.cubing.net/?type=reconstruction&setup=B-_R_D2_L-_F2_L-_U2_F2_L-_F2_R-_F2_B-_L-_R2_D-_R-_F_L-&alg=x2_y_%2F%2F_Inspection%0AD-_R-_D2_F_B-_R_D2_%2F%2F_Cross%0AL-_U_L_y-_R-_U2_R_%2F%2F_1st_Pair%0AL_F-_L-_F_L_U_L-_%2F%2F_2nd_Pair%0Ay-_U_R-_U-_R_%2F%2F_3rd_Pair%0AU_R_U_R-_%2F%2F_4th_Pair%0Af_R_U_R-_U-_f-_U-_R_U_R-_U-_R-_F_R_F-_%2F%2F_OLL%0A%0A%2F%2F_Solved_on_Dec_5,_2022&title=Arhan%20Chaudhary,%206.82%20seconds&view=playback"
>this contender</a
> has come close after more than five years. Without further ado:
</p>
<p>
<code>
6.48 &nbsp;&nbsp;L U2 L' D2 R F2 L' U2 F2 R D2 L' B' R' U' L' R2 B2 L'
D2<br />
<br />
x2 &nbsp;<span class="reconstruction-comment">// Inspection</span><br />
R B U' M' U2 M &nbsp;<span class="reconstruction-comment"
>// XX Cross</span
><br />
y R U2 R' U R U' R' &nbsp;<span class="reconstruction-comment"
>// 3rd pair</span
><br />
y R U' R' U R U R' &nbsp;<span class="reconstruction-comment"
>// 4th pair</span
><br />
r U2 R' U' R U' r' &nbsp;<span class="reconstruction-comment"
>// OLL</span
><br />
U R' U L' U2 R U' R' U2 R L &nbsp;<span class="reconstruction-comment"
>// PLL</span
><br />
<br />
<span class="reconstruction-comment">// Solved on Sep 7, 2019</span><br
/>
</code>
</p>
<p>
You can <a
href="https://alg.cubing.net/?setup=L_U2_L-_D2_R_F2_L-_U2_F2_R_D2_L-_B-_R-_U-_L-_R2_B2_L-_D2&alg=x2_%2F%2F_Inspection%0AR_B_U-_M-_U2_M_%2F%2F_XX_Cross%0Ay_R_U2_R-_U_R_U-_R-_%2F%2F_3rd_pair%0Ay_R_U-_R-_U_R_U_R-_%2F%2F_4th_pair%0Ar_U2_R-_U-_R_U-_r-_%2F%2F_OLL%0AU_R-_U_L-_U2_R_U-_R-_U2_R_L_%2F%2F_PLL%0A%0A%2F%2F_Solved_on_Sep_7,_2019&type=reconstruction&title=Arhan%20Chaudhary,%206.48%20seconds&view=playback"
>visually follow this solve along</a
> if needed.
</p>
<p>
Before picking up the cube, you can already tell that the solve presents a
special opportunity. There exists not one, but <i>two</i> 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.
</p>
<p>
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!
</p>
<CubingContent.Content />
<h2>My Competitions</h2>
{
cubingCompetitions
Expand All @@ -128,7 +21,7 @@ const cubingCompetitions = await getCollection("cubing-competition");
</div>
</Layout>

<style lang="scss">
<style lang="scss" is:global>
code {
background-color: initial;
font-size: 1em;
Expand Down

0 comments on commit 52ae8ff

Please sign in to comment.