Hellllooo!
I hope y’all are doing well! You might have gotten two emails from me last week, sorry about that. I was out of the country, and my timezone confusion made me send it twice! Anyway, let’s boogie.
Was this forwarded to you? You can subscribe here!
unjs: Unified JavaScript Tools
Optimizing A Vue App
Tree views in CSS
How we lost our slick new npm package name (and then got it back)
I was in South Korea this past week visiting family! It was a very busy trip full of eating and walking and eating and talking and eating. Though the jet lag is definitely hitting me now, it was really nice to be able to completely step away from my laptop for a bit and enjoy the country.
I admit, one of my favorite things that I got to check out was Baduk TV! Some of you may know that I looove playing the game go (called baduk in Korea), they have an entire TV channel there dedicated to it there. I was able to catch a game each evening before sleeping, and watch how the pros play. If you play the game, this one and this one were my favorite games I watched while there! You don’t need to understand Korean to see how they unfold, and I was totally on the edge of my seat towards the end of each game.
Also, if you ever want to try out playing go, online-go.com is where I play regularly, and it has some good how-to-play guides and puzzles to get you started!
This week’s sponsor is Xata!
🦋 Xata is the serverless data platform for modern web applications. Our mission is to radically simplify the way developers work with data. We are taking hard data problems, solving them using the industry’s best practices, and then offering them to you in the most easy-to-use way possible.
Xata provides all of your data needs behind a single API 💥
Our platform is the data counterpart you’ve been waiting for that completes your Vercel and Netlify deploy preview workflows. We offer a premium developer experience with our TypeScript SDK and a CLI your design team would be proud of.
Getting hands on is the quickest way to learn. Sign up, try us out and let us know what you think on Twitter and Discord. If you’re looking for a new challenge, check out our open positions – we’re hiring 🦋**
Last week, I had you make a connected line of slashes. There were some really creative answers!! Great job Will, Gabor, Allen, Saad, Matt, Miguel, Leyan, Binh, Fraol, Krem, Robin, Andy, Daniel, Ten, Abdelrahmen, Muhammad, Raymond, Thomas, Max, Amine, and Zoé!
This week’s question:
Given an 8x8 chess board, a piece, and a move coordinate, determine if the given move is a valid chess move. Capital letters represent white pieces, lowercase letters represent black pieces, where P
is a white pawn, n
is a black knight, K
is a white king, and so on. A ~
represents a blank square, and you can use this tool if you need a helpful visual! You can choose to do absolute coordinates or relative ones, and decide how you want to differentiate between duplicate pieces.
Example:
let board =
[`~~~~~~~~
~~kb~~~~
~~K~~~~~
~~~~~~~~
~~~~~~~~
~~~~~~~~
~~~~~~~~
~~~R~~~~`]
> isValidMove(board, 'R', [0,0])
> false // A rook can only move horizontally and vertically
> isValidMove(board, 'k', [0,1])
> true // A king can move one square at a time in any direction
> isValidMove(board, 'Q', [5,7])
> false // The queen is not on the board
SA Espresso on Keychron K12
Why you procrastinate even when it feels bad
Why writing by hand is still the best way to retain information
Ancient Japanese lumber production method without cutting down trees called “Daisugi”
I love the way the earth rotates. It really makes my day!
That’s all for now, folks! Have a great week. Be safe, make good choices, and be grateful!
Special thanks to Gabor, Stephen, IceSloth, Alaska, Josh, Conor, Ezell, Karthic, Ximena, Paige, Zev, Sebastián, Ben, Sema, Kinetic Labs, Vadim, Bailey, and Carmina for supporting my Patreon and this newsletter!
cassidoo
website | twitter | patreon | github | twitch | codepen | polywork