<?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>DEV Community: Brian Dys Sahagun</title>
    <description>The latest articles on DEV Community by Brian Dys Sahagun (@dys).</description>
    <link>https://dev.to/dys</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%2F170296%2Fc007e746-d3ad-4b13-9773-1fa5851212b6.jpg</url>
      <title>DEV Community: Brian Dys Sahagun</title>
      <link>https://dev.to/dys</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dys"/>
    <language>en</language>
    <item>
      <title>Automating file organization via PowerShell</title>
      <dc:creator>Brian Dys Sahagun</dc:creator>
      <pubDate>Thu, 26 Oct 2023 03:24:16 +0000</pubDate>
      <link>https://dev.to/dys/automating-file-organization-via-powershell-3amd</link>
      <guid>https://dev.to/dys/automating-file-organization-via-powershell-3amd</guid>
      <description>&lt;p&gt;My process in sharing and archiving event media (aka the numerous pictures and videos that I take in various formal and informal events) is to, first, download the file from the memory card and sort them out according to the date and type of event. This is a tedious task especially if a batch consists of several days of events, or worse, several weeks. You can imagine that I would copy the folder from the memory card to my personal computer and that folder would contain all the raw files of the pictures that I took — they are not organized in folders initially.&lt;/p&gt;

&lt;p&gt;The next step would be to categorize them in folders according to the date of the event they were taken. For the folder names, I’m using the ISO representation of date format, for example the date 2 October 2023 would be 2023-10-02. In this way, it’s easy to sort the folders chronologically; and even without the day or month, sorting still makes sense. Of course, I have done this manually for a very long time, until I’ve thought of using a &lt;a href="https://www.briandys.com/create-windows-documentation-folders/?ref=devto"&gt;batch file in creating all the dates of the year&lt;/a&gt;. The batch file approach helped a lot because it setup the folders with dates for all of 2023. With this approach, I simply check the files’ dates and drag them to their respective folders that were created by the batch file.&lt;/p&gt;

&lt;p&gt;I still felt that it could be better — my current process was tedious than it’s supposed to be. So I searched for a batch file program that will automatically distribute the files into folders that have their respective dates. Where I arrived in my shallow search is at &lt;a href="https://en.wikipedia.org/wiki/PowerShell"&gt;PowerShell&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.briandys.com/automating-file-organization-via-powershell/?ref=devto"&gt;Check out the script and complete steps in my blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>fileorganization</category>
      <category>powershell</category>
    </item>
    <item>
      <title>Form Actions - In-Content or Sticky?</title>
      <dc:creator>Brian Dys Sahagun</dc:creator>
      <pubDate>Thu, 13 Jun 2019 03:31:11 +0000</pubDate>
      <link>https://dev.to/dys/form-actions-in-content-or-sticky-12ml</link>
      <guid>https://dev.to/dys/form-actions-in-content-or-sticky-12ml</guid>
      <description>&lt;p&gt;In mobile apps, which implementation of the form action do you prefer: in-content (form 1) or sticky (form 2)?&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/RzPLME?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>frontend</category>
    </item>
    <item>
      <title>RE:Creation - Intermediate - Google.com</title>
      <dc:creator>Brian Dys Sahagun</dc:creator>
      <pubDate>Sat, 08 Jun 2019 09:00:39 +0000</pubDate>
      <link>https://dev.to/dys/re-creation-intermediate-google-com-349n</link>
      <guid>https://dev.to/dys/re-creation-intermediate-google-com-349n</guid>
      <description>&lt;h2&gt;
  
  
  Recap from Basic
&lt;/h2&gt;

&lt;p&gt;In the Basic level of recreating Google.com, we have approached it in a 3-step manner:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convert content into Plain Text

&lt;ul&gt;
&lt;li&gt;We limited the content inventory to its 1st level grouping only—not digging deeper for subgroups&lt;/li&gt;
&lt;li&gt;We did not bother with interaction to reveal other content and UIs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Markup the Plain Text in HTML

&lt;ul&gt;
&lt;li&gt;We used simple HTML elements like &amp;lt;a&amp;gt;, &amp;lt;img&amp;gt;, &amp;lt;button&amp;gt;, &amp;lt;input&amp;gt;&lt;/li&gt;
&lt;li&gt;We used SVG via data URI (instead of an absolute URL)—we can actually use any image type like PNG or JPG—we just have to encode it&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Style the HTML elements in CSS

&lt;ul&gt;
&lt;li&gt;We limited the use of CSS properties within the following: padding, margin, width, height, background-color, color&lt;/li&gt;
&lt;li&gt;Font properties were left to the default browser styles&lt;/li&gt;
&lt;li&gt;Styling which involves interaction such as hover were not yet tackled&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The result is a rather "unfinished-looking" web page. &lt;a href="https://codepen.io/briandys/pen/eaaKyq"&gt;See for yourself&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2gywhTs0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/w5y6uurobkf35v22pwoo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2gywhTs0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/w5y6uurobkf35v22pwoo.png" alt="" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Still, not bad for someone who is just beginning to gain knowledge in HTML and CSS—that's why we're pushing this to Intermediate level!&lt;/p&gt;




&lt;h2&gt;
  
  
  Ready? Let's Begin!
&lt;/h2&gt;

&lt;p&gt;Recreating Google.com basically has 3 steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convert content into Plain Text&lt;/li&gt;
&lt;li&gt;Markup the Plain Text in HTML&lt;/li&gt;
&lt;li&gt;Style the HTML elements in CSS&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the mockup that we are recreating:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--77Ki72kr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/yfn1orsd33xw3yppxhnf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--77Ki72kr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/yfn1orsd33xw3yppxhnf.png" alt="" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each step has 3 rounds, so there's a total of 9 examples I made in CodePen:&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Plain Text
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1, Round 1: Content Inventory
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/JqQpMo?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1, Round 2: Grouping and Labelling
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/jojxyM?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1, Round 3: Structure
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/rgEKgB?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: HTML
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 2, Round 1: Structure Markup
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/vwqzro?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2, Round 2: Group Markup
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/ZNdqER?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2, Round 3: Individual Markup
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/XwLxOr?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: CSS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 3, Round 1: Individual Style
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/ZNdddp?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3, Round 2: Group Style
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/ZNgBYo?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3, Round 3: Structure Style
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/VOopWV?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;Here's the screenshot of the final state of our activity:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NDWcp6hY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/vgmwy0qaaycv0z0cjn6u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NDWcp6hY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://thepracticaldev.s3.amazonaws.com/i/vgmwy0qaaycv0z0cjn6u.png" alt="" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Again, there are still lots of room for improvement and we will tackle those in Advanced level.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;We'd probably go straight to Advanced level in the next post.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;~ &lt;a href="http://briandys.com"&gt;Brian Dys&lt;/a&gt;&lt;/p&gt;

</description>
      <category>html</category>
      <category>css</category>
      <category>recreation</category>
      <category>frontend</category>
    </item>
    <item>
      <title>RE:Creation - Basic - Google.com</title>
      <dc:creator>Brian Dys Sahagun</dc:creator>
      <pubDate>Thu, 06 Jun 2019 09:53:54 +0000</pubDate>
      <link>https://dev.to/dys/re-creation-basic-google-com-53en</link>
      <guid>https://dev.to/dys/re-creation-basic-google-com-53en</guid>
      <description>&lt;h2&gt;
  
  
  Update: 8 June 2019
&lt;/h2&gt;

&lt;p&gt;I made some updates on Step 3 - CSS namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limited the CSS properties to padding, margin, width, height, background-color, color, display: block, inline-block, inline; text-align, and vertical-align.&lt;/li&gt;
&lt;li&gt;I realized that we are in Basic level—so to keep things simple, I removed the presence of subcontainers in HTML and "next-level" CSS properties in CSS such as display: grid, flex, etc. We'll tackle them in the next level.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What is RE:Creation?
&lt;/h2&gt;

&lt;p&gt;RE:Creation is a design activity in which we reverse engineer and recreate the HTML &amp;amp; CSS components of a chosen web page.&lt;/p&gt;

&lt;p&gt;RE:Creation is short for Reverse Engineering Creation. It involves both discovery (theoretical) and delivery (technical) processes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Objective
&lt;/h2&gt;

&lt;p&gt;RE:Creation’s objective is to promote the fundamentals in designing digital products such as websites and web apps.&lt;/p&gt;

&lt;p&gt;These fundamentals revolve around design disciplines such as Information Architecture, Interaction Design, User Interface Design, Visual Design &amp;amp; Accessibility, and Frontend Design.&lt;/p&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;The requirements to participate in a RE:Creation are simple: first, basic knowledge of HTML &amp;amp; CSS and second, a computer with these software:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text Editor (TextEdit, Notepad)&lt;/li&gt;
&lt;li&gt;Web Browser (Chrome, Firefox)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using these software for RE:Creation does not require internet connection.&lt;/p&gt;

&lt;p&gt;Alternatively, a web app called &lt;a href="https://codepen.io/" rel="noopener noreferrer"&gt;CodePen&lt;/a&gt; could be used online. It functions both as Text Editor and Web Browser for editing and displaying web documents, respectively.&lt;/p&gt;




&lt;h2&gt;
  
  
  Ready? Let's begin!
&lt;/h2&gt;

&lt;p&gt;Recreating Google.com basically has 3 steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Convert content into Plain Text&lt;/li&gt;
&lt;li&gt;Markup the Plain Text in HTML&lt;/li&gt;
&lt;li&gt;Style the HTML elements in CSS&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is the mockup that we are recreating:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fyfn1orsd33xw3yppxhnf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fyfn1orsd33xw3yppxhnf.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each step has 3 rounds, so there's a total of 9 examples I made in CodePen:&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Plain Text
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1, Round 1: Content Inventory
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/wbbqaM?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1, Round 2: Grouping and Labelling
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/qGGXbQ?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1, Round 3: Structure
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/dEEVXX?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: HTML
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 2, Round 1: Structure Markup
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/gJJGmG?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2, Round 2: Group Markup
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/WBBMwJ?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2, Round 3: Individual Markup
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/byyLmm?height=600&amp;amp;default-tab=html,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: CSS
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 3, Round 1: Individual Style
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/QRRrMv?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3, Round 2: Group Style
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/ZNNREm?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3, Round 3: Structure Style
&lt;/h3&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/briandys/embed/eaaKyq?height=600&amp;amp;default-tab=css,result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;Here's the screenshot of the final state of our activity:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fw5y6uurobkf35v22pwoo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fw5y6uurobkf35v22pwoo.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sure, there are lots of improvement to be done, especially if we do things right—which we will tackle on the deep dive activities.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Update: 8 June 2019&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I recently posted &lt;a href="https://dev.to/dys/re-creation-intermediate-google-com-349n"&gt;Intermediate Level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Regarding the deep dives, I'll be writing a separate post for those after the Advanced Level&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We'll be deep diving with the same example (Google.com), again, going through all 3 steps with 3 rounds each—this time, tackling concepts such as Information Architecture, Semantics, Accessibility, Progressive Enhancement, Responsive Web Design, and other topics related to building the frontend of a website.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;~ &lt;a href="http://briandys.com" rel="noopener noreferrer"&gt;Brian Dys&lt;/a&gt;&lt;/p&gt;

</description>
      <category>recreation</category>
      <category>frontend</category>
      <category>html</category>
      <category>css</category>
    </item>
  </channel>
</rss>
