<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>👩🏻‍💻🚀🖖🏻 Learning to be a better front-end developer. ♥️ React, GraphQL &amp; Prisma.&#xA;&#xA;🌐 https://cyishere.dev</description><link>https://bsky.app/profile/cyishere.dev</link><title>@cyishere.dev - CY</title><item><link>https://bsky.app/profile/cyishere.dev/post/3mlz5ik5zzs2v</link><description>Testing German learning resources with Gemma, the result of Gemma 3 is better than Gemma 4. Interesting. I&#39;m not sure if it&#39;s because Gemma 4 is &#34;overthinking&#34;.</description><pubDate>17 May 2026 00:52 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mlz5ik5zzs2v</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mlxjxlnwmk2o</link><description>I’m really bad at wrapping up a blog post.🥲</description><pubDate>16 May 2026 09:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mlxjxlnwmk2o</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mlxiclmgo226</link><description>New Post: ✨ Sync Audio with Text in React&#xA;&#xA;https://www.cyishere.dev/blog/sync-audio-with-text-in-react</description><pubDate>16 May 2026 09:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mlxiclmgo226</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mlffsfxnos2e</link><description>AI is really bad at solving CSS problems.</description><pubDate>09 May 2026 04:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mlffsfxnos2e</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mkpkys6b3k2i</link><description>New post: A Practical Example of CSS :has() Selector&#xA;&#xA;https://www.cyishere.dev/blog/a-practical-example-of-the-css-has-selector</description><pubDate>30 Apr 2026 12:02 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mkpkys6b3k2i</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mjny6syl3k2e</link><description>Spend half a day setting up Sublime Text. So fast, so light, it only takes 100mb memory. Perfect!</description><pubDate>17 Apr 2026 03:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mjny6syl3k2e</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mcydqfra4s26</link><description>Why not just type a few words to commit changes to Git directly, instead of typing a few words to let an AI agent spend some tokens to commit the changes?</description><pubDate>22 Jan 2026 04:25 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mcydqfra4s26</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3mcttfxrc4k2x</link><description>Although automating Git workflow with AI is efficient and cool, I tend to avoid it; otherwise, I’d forget how to use Git altogether. 😅</description><pubDate>20 Jan 2026 09:22 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3mcttfxrc4k2x</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lpta32g54c2a</link><description>I just dedicated 2 hours to refactoring my setup to a better practice: migrating import sorting to ESLint, rather than Prettier, which I&#39;m now using exclusively for code formatting.</description><pubDate>23 May 2025 08:37 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lpta32g54c2a</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lomzryaw3k24</link><description>I feel very happy whenever I convert a static design into an interactive web page.</description><pubDate>08 May 2025 04:03 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lomzryaw3k24</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lohx2mxwqk2g</link><description>I don&#39;t have opinions on whether we should use TailwindCSS or vanilla CSS; I can work with either of them (or other styling methods) based on the team&#39;s preference. But I think knowing and being good at vanilla CSS is important because CSS is fun and powerful.</description><pubDate>06 May 2025 03:31 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lohx2mxwqk2g</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lo4iuqfdvc2p</link><description>I think I&#39;ll keep using light theme in my IDE for a while.</description><pubDate>01 May 2025 14:18 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lo4iuqfdvc2p</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lnojwavfas2c</link><description>I used to feel the &#34;syntax sugars&#34; in Vue.js was too complex for me, I preferred React.js with its verbose JavaScript/JSX way. But with some years&#39; programming experience, I&#39;m comfortable with Vue now.</description><pubDate>26 Apr 2025 01:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lnojwavfas2c</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lnn5vys6lc2x</link><description>I&#39;m Learning Vue.js and encountering something weird: with TailwindCSS, even with `onMounted`, the page always reloads.🤨</description><pubDate>25 Apr 2025 11:52 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lnn5vys6lc2x</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lnc4hxcea22u</link><description>I just watched a Vue.js tutorial. The mental model for Vue and React is so different.  Wow. 🤯</description><pubDate>21 Apr 2025 02:27 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lnc4hxcea22u</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lmtu4m7l722z</link><description>Three years ago when I started to learn programming, &#34;Eloquent JavaScript&#34; was too hard for me to understand. By then it’s not a book which can teach me the knowledge. I found other ways. Now I revisit this book, I can get it and it help me understanding JS better.</description><pubDate>15 Apr 2025 10:20 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lmtu4m7l722z</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lluyp772y22g</link><description>Can&#39;t help checking the tech stack behind every website I visit, even when I&#39;m just trying to learn a new language or stalk my favorite celebs online...</description><pubDate>03 Apr 2025 03:50 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lluyp772y22g</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3llnfh7e4rs2l</link><description>Turns out reading in an RSS reader is very helpful. I can concentrate for a longer time.</description><pubDate>31 Mar 2025 03:16 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3llnfh7e4rs2l</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3lay4z4umxk2s</link><description>I&#39;m making Button components with DaisyUI, but the buttons always appear as default. It turns out it&#39;s because of how TailwindCSS deals with dynamic class names. One solution is adding a safelist pattern for the dynamic class names. More reading below.</description><pubDate>15 Nov 2024 10:08 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3lay4z4umxk2s</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3laq6eny3us2n</link><description>Two years after building my friend&#39;s portfolio with Astro and TinaCMS, and now we can&#39;t add new content and have no error logs. (She hasn&#39;t posted for a while.) Should I rebuild using the latest versions of both? The current site is broken with no clear cause.</description><pubDate>12 Nov 2024 06:11 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3laq6eny3us2n</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3l7safefpoc2t</link><description>Can&#39;t believe that it was learning to make video games with JavaScript that finally made Object-oriented programming click for me!😅</description><pubDate>31 Oct 2024 08:27 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3l7safefpoc2t</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3krdq5g2jak2q</link><description>Wow! Bluesky can show the open graph card now. Love it.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>30 Apr 2024 10:06 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3krdq5g2jak2q</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3krdpzsffp22u</link><description>I was worried about SkyPorch&#39;s accessibility, especially how the screen reader would read that sentence of the typewriter animation. Turns out it&#39;s awful. So yesterday, I fixed the a11y issues and wrote about the process; here&#39;s the blog post:&#xA;https://www.cyishere.dev/blog/a11y-of-typewriter-animation</description><pubDate>30 Apr 2024 10:04 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3krdpzsffp22u</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3kqwekcko722p</link><description>Since April 24th is JS Naked Day, I refined our landing page to ensure it works perfectly without JavaScript.✌️&#xA;&#xA;skyporch.co</description><pubDate>25 Apr 2024 02:34 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3kqwekcko722p</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3kqusppiep42f</link><description>Trying to add some cool stuff to our landing page, I&#39;ve spent half a day creating images (failed) and half a day learning Three.js (making some progress). &#xA;&#xA;The current landing page: skyporch.co</description><pubDate>24 Apr 2024 11:42 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3kqusppiep42f</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3kq37r3wuvl2u</link><description>I&#39;ve been writing styled-components for some years. The other day, I wrote some nesting CSS like the one in the image out of habit, but I was writing CSS modules, and it still works! It turns out vanilla CSS also supports this kind of nesting. So cool.</description><pubDate>14 Apr 2024 07:26 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3kq37r3wuvl2u</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3kii3cseb5u2o</link><description>I’m so glad that I finally get a better sense of Next.js 14, the server actions, using server function, and middleware.</description><pubDate>08 Jan 2024 14:50 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3kii3cseb5u2o</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3kcpxridaoz2a</link><description>`next/image` is SO tricky…</description><pubDate>27 Oct 2023 09:37 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3kcpxridaoz2a</guid></item><item><link>https://bsky.app/profile/cyishere.dev/post/3k7xey4nuy227</link><description>It’s weird that I cannot login on the website…</description><pubDate>22 Sep 2023 04:06 +0000</pubDate><guid isPermaLink="false">at://did:plc:owkpgx5wycbre7dop44hwkht/app.bsky.feed.post/3k7xey4nuy227</guid></item></channel></rss>