<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: eastermukora</title>
    <description>The latest articles on Forem by eastermukora (@eastermukora).</description>
    <link>https://forem.com/eastermukora</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F246024%2F45d310d8-4413-42a7-a5f6-6d8bbae2d5d0.jpeg</url>
      <title>Forem: eastermukora</title>
      <link>https://forem.com/eastermukora</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/eastermukora"/>
    <language>en</language>
    <item>
      <title>These are really cool!</title>
      <dc:creator>eastermukora</dc:creator>
      <pubDate>Thu, 04 Sep 2025 18:06:11 +0000</pubDate>
      <link>https://forem.com/eastermukora/these-are-really-cool-kjc</link>
      <guid>https://forem.com/eastermukora/these-are-really-cool-kjc</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/alvaromontoro/10-cool-codepen-demos-july-2025-2265" class="crayons-story__hidden-navigation-link"&gt;10 Cool CodePen Demos (July 2025)&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/alvaromontoro" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F161327%2F2ff05281-db58-4dcb-946a-4b679e4a266b.jpeg" alt="alvaromontoro profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/alvaromontoro" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Alvaro Montoro
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Alvaro Montoro
                &lt;a href="/++"&gt;&lt;img alt="Subscriber" class="subscription-icon" src="https://assets.dev.to/assets/subscription-icon-805dfa7ac7dd660f07ed8d654877270825b07a92a03841aa99a1093bd00431b2.png"&gt;&lt;/a&gt;
              
              &lt;div id="story-author-preview-content-2818315" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/alvaromontoro" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F161327%2F2ff05281-db58-4dcb-946a-4b679e4a266b.jpeg" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Alvaro Montoro&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/alvaromontoro/10-cool-codepen-demos-july-2025-2265" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Sep 4 '25&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/alvaromontoro/10-cool-codepen-demos-july-2025-2265" id="article-link-2818315"&gt;
          10 Cool CodePen Demos (July 2025)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag crayons-tag--filled  " href="/t/showdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;showdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/html"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;html&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/css"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;css&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/javascript"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;javascript&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/alvaromontoro/10-cool-codepen-demos-july-2025-2265" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;13&lt;span class="hidden s:inline"&gt; reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/alvaromontoro/10-cool-codepen-demos-july-2025-2265#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              Comments


              1&lt;span class="hidden s:inline"&gt; comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>html</category>
      <category>css</category>
      <category>showdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>hearing Michael Scott.</title>
      <dc:creator>eastermukora</dc:creator>
      <pubDate>Wed, 23 Jul 2025 14:55:39 +0000</pubDate>
      <link>https://forem.com/eastermukora/hearing-michael-scott-10l3</link>
      <guid>https://forem.com/eastermukora/hearing-michael-scott-10l3</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend/axero"&gt;Frontend Challenge: Office Edition sponsored by Axero, CSS Art: Office Culture&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration
&lt;/h2&gt;

&lt;p&gt;Here's a CSS art project inspired by The Office, an American series about a the office life at a paper company in Scranton, Pennsylvania.&lt;/p&gt;

&lt;p&gt;The project uses pure HTML, CSS, and JavaScript to render an animated pixel-art office scene with music playback.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;You can see the full working demo here:&lt;br&gt;
&lt;iframe height="600" src="https://codepen.io/kindlanski/embed/QwjjVpL?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://github.com/eastermukora/office-layout/tree/main" rel="noopener noreferrer"&gt;source code&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;This project started as a challenge to render CSS-based art of a meme scene involving office culture. Over the course of development, I explored and corrected multiple errors, particularly involving audio playback integration. To start with, I explored different memes of The Office and initially wanted to work on the preview below: &lt;iframe height="600" src="https://codepen.io/kindlanski/embed/zxvvJME?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;However, rendering fine details using CSS proved really difficult for a beginner. Therefore, I looked at  doing a simple office layout and adding the Office show's opening soundtrack- a most defining part of the show.&lt;/p&gt;

&lt;p&gt;The biggest errors encountered were related to JS.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Removed MIDI.js buffering: Initially tried to use MIDI.js to play background music, but encountered issues with buffering and autoplay restrictions. MIDI was replaced with native  for simpler, reliable playback.&lt;/li&gt;
&lt;li&gt;Replaced AudioContext + Buffering: Switched from using AudioContext and decodeAudioData() to  streaming to avoid unnecessary complexity and delays in playback.&lt;/li&gt;
&lt;li&gt;Corrected GitHub-hosted file issue: Realized that GitHub raw links don't provide correct Content-Type headers for audio streaming. Switched to Dropbox.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'm proud of the results I made despite my short timeline. In retrospect, using grids the way &lt;a class="mentioned-user" href="https://dev.to/alvaromontoro"&gt;@alvaromontoro&lt;/a&gt; does would have greatly improved my workflow. They have the best tutorials so far, check them out. I'm also excited to make my second challenge-related post this year!&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's a couple of things I learned
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CSS art is difficult. It was an assumption before but doing put into perspective the nitty-gritties that I had ignored. I as a 'conventional' artist, I am curious about how and why different artists choose their specific media and the experience here enriched my perspective on how to approach art-making. Despite its difficulties, I got great output and intend to continue.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;GitHub is not a reliable CDN for direct media streaming. Which is probably a good idea on Github's side.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Using &lt;code&gt;display: grid&lt;/code&gt; and pixel blocks would greatly have improved my output. After checking out some of the entires in the CSS Art section on codepen, I quickly realized some technical choices offer great advantage than others. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Going forth, I'm going to implement them instead of stacking divs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Choosing a color palette early helps. Similar to traditional art, having a set of colors to work with makes decision making easier. However, unlike traditional art, colors work differently on screen and this changes how colors need to be approached.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SCSS makes it easier to use mixing and variables. I'm exploring it's applications for Codepen as well as the use of &lt;a href="https://getbem.com" rel="noopener noreferrer"&gt;BEM&lt;/a&gt; to modularize reusable CSS components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I've seen a couple of posts showing that react works well when doing CSS art with JS. I might check them out.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What Next?
&lt;/h3&gt;

&lt;p&gt;Here is a thread of art I have made this year that I am thinking of converting into CSS art: &lt;a href="https://x.com/kindlanski/status/1922022390290133317" rel="noopener noreferrer"&gt;https://x.com/kindlanski/status/1922022390290133317&lt;/a&gt;. What do you think I should do as CSS art next? I'm thinking of Mickey, the turtle, or the Nairobi skyline. Here is Mikey: &lt;iframe class="tweet-embed" id="tweet-1946275733183074517-432" src="https://platform.twitter.com/embed/Tweet.html?id=1946275733183074517"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1946275733183074517-432');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1946275733183074517&amp;amp;theme=dark"
  }



&lt;/p&gt;




&lt;p&gt;as a sidenote, my page refreshed before I saved a draft so I restarted the post. such a roller-coaster&lt;/p&gt;

&lt;p&gt;Cheers!&lt;/p&gt;

</description>
      <category>frontendchallenge</category>
      <category>devchallenge</category>
      <category>css</category>
    </item>
    <item>
      <title>reflections and compilations</title>
      <dc:creator>eastermukora</dc:creator>
      <pubDate>Wed, 29 Jan 2025 20:50:17 +0000</pubDate>
      <link>https://forem.com/eastermukora/reflections-and-compilations-5a0</link>
      <guid>https://forem.com/eastermukora/reflections-and-compilations-5a0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Compiling 2025.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;2025 should be the year of trying new things right? After a few years of being told that some things can't be done. AI can't be done more cheaply. You need an NVIDIA chip. You have to be in Silicon Valley. Here comes DeepSeek which reminds us that with a unity of purpose and grit, we can achieve what is required. This is my mantra for 2025. Someone can do it despite the circumstances, and that someone can be me.&lt;/p&gt;

&lt;p&gt;My aspiration for the new year is to revisit &lt;em&gt;past projects&lt;/em&gt; and improve them to refine my technical skills. A year ago, I built a few projects as I began on React Native and want to revisit them and improve with the skills I now have. I also want to apply new skills to the existing projects as a way of breaking new technical ground. My initial goal for learning React Native was to build a language app for native languages in East Africa. This has not changed. Instead of overwhelming myself with an ambitious timeline, I intend to start small and approach my goal incrementally. Building a small feature into my app and gradually improving it by adding other features throughout the year. &lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1778157935442702346-554" src="https://platform.twitter.com/embed/Tweet.html?id=1778157935442702346"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1778157935442702346-554');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1778157935442702346&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;Additionally, I shy away from the backend a lot. To tackle this, the plan is to improve a link-sharing app created last year in the design format of bento to explore authentication and API development. &lt;/p&gt;

&lt;p&gt;Beyond coding, my engagement with the tech community has mostly been from the shadows. For example, despite being part of the &lt;a href="https://dev.to"&gt;dev.to&lt;/a&gt; community since 2020, I have rarely shared nuggets on how to approach problems and offered personal perspectives on various tech subjects I am passionate about. This is the year that changes. Moreover, I aim to give &lt;strong&gt;at least one talk&lt;/strong&gt; at a conference this year. Sharing knowledge and engaging in discussions should help me solidify my expertise and connect with other passionate developers. Aside from tech, I intend to use the tools other developers have crafted to commit to my art pursuits. For example, as I publish this, I have done 24 consecutive days of &lt;strong&gt;#dailyartsketches&lt;/strong&gt;. You can just do things!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Point me towards any tools you're using to ensure consistency!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At the end of 2025, I hope to look back at a year of steady progress, with improved past projects, collaboration and supporting other engineers and creators. Consistent sharing, learning, collaboration and public engagement will help me prepare for bigger projects and opportunities in future. In the spirit of just doing things, I also intend to just not do things and commit to what I feel most passionate about.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are some great conferences that are welcoming for beginners and newbies to give talks in?&lt;/strong&gt; I am interested in open-source, and digital health.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
      <category>compiling2025</category>
    </item>
  </channel>
</rss>
