<?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: Calin Baenen</title>
    <description>The latest articles on DEV Community by Calin Baenen (@calinbaenen).</description>
    <link>https://dev.to/calinbaenen</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%2F509599%2Fd051be26-5962-489b-89be-719b97d2dfc9.png</url>
      <title>DEV Community: Calin Baenen</title>
      <link>https://dev.to/calinbaenen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/calinbaenen"/>
    <language>en</language>
    <item>
      <title>I Got A Perfect (100%) Score in My College-Level Python Course!</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Mon, 23 Dec 2024 14:45:31 +0000</pubDate>
      <link>https://dev.to/calinbaenen/i-got-a-perfect-100-score-in-my-college-level-python-course-1g6f</link>
      <guid>https://dev.to/calinbaenen/i-got-a-perfect-100-score-in-my-college-level-python-course-1g6f</guid>
      <description>&lt;p&gt;Guess which furry just finished their college-level Python class with a perfect 100% score!&lt;/p&gt;

&lt;p&gt;... That's right!&lt;br&gt;
It's me!  ✌️&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fnlyvnt48m7lxifww6pxn.png" class="article-body-image-wrapper"&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%2Farticles%2Fnlyvnt48m7lxifww6pxn.png" alt="A screenshot of the grades from my college-level Python programming course, ITEC 1150-85 Introduction to Computer Programming with Python." width="800" height="1078"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>programming</category>
      <category>watercooler</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>CSS Grid-Layout Sucks, And Here's Why</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Sun, 11 Aug 2024 22:27:31 +0000</pubDate>
      <link>https://dev.to/calinbaenen/css-grid-layout-sucks-and-heres-why-4n0m</link>
      <guid>https://dev.to/calinbaenen/css-grid-layout-sucks-and-heres-why-4n0m</guid>
      <description>&lt;p&gt;So, recently, I've been playing around with CSS &lt;code&gt;grid&lt;/code&gt;-layout, just to see how it is... and it's a nightmare to work with.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is CSS &lt;code&gt;grid&lt;/code&gt;-layout?
&lt;/h2&gt;

&lt;p&gt;Before talking about why CSS &lt;code&gt;grid&lt;/code&gt;-layout sucks, I want to briefly summarize what CSS &lt;code&gt;grid&lt;/code&gt;-layout is and why it exists.&lt;/p&gt;

&lt;p&gt;CSS &lt;code&gt;grid&lt;/code&gt;-layout was originally proposed by Phil Cupp in 2011, since it can shorten code, reduce the amount of parent-child relationships, and make "more flexible" grids.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why does CSS &lt;code&gt;grid&lt;/code&gt;-layout suck?
&lt;/h2&gt;

&lt;p&gt;In CSS, grids don't work in a way that I would consider intuitive.&lt;/p&gt;

&lt;p&gt;For this section, I will use the following template when referencing a grid, where all four areas are proportionally sized:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;h h h h
s c c c
s c c c
s f f f
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This arrangement of letters represents a &lt;strong&gt;h&lt;/strong&gt;eader that runs across the top, a &lt;strong&gt;s&lt;/strong&gt;idebar, some &lt;strong&gt;c&lt;/strong&gt;ontent, and a &lt;strong&gt;f&lt;/strong&gt;ooter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Confusing Vocabulary
&lt;/h3&gt;

&lt;p&gt;In CSS, a grid has three layers, so to speak – grid items, grid-cells, and grid-areas.&lt;/p&gt;

&lt;p&gt;A "grid item" is the actual content in the grid, such as a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A "grid-cell" is the smallest unit of the grid itself – it is an area bordered by four grid-lines, two rowwise and two columnwise.&lt;/p&gt;

&lt;p&gt;A "grid-area" is a named group of one or more grid-cells.&lt;/p&gt;

&lt;p&gt;Sometimes, though, it feels like "grid-cell" and "grid-area" are used interchangeably when &lt;a href="https://developer.mozilla.org/" rel="noopener noreferrer"&gt;MDN Web Docs&lt;/a&gt; uses phrasing like the following: &lt;em&gt;“More than one item can be placed into a grid cell or area and they can partially overlap each other.”&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flow
&lt;/h3&gt;

&lt;p&gt;Grid items in a grid-cell or grid-area have no flow, which means that if you try to put two &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt;s in &lt;code&gt;c&lt;/code&gt;, they will stack on top of eachother, instead of being placed and sized appropriately.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cell/Area Sizing
&lt;/h3&gt;

&lt;p&gt;Neither grid-cells nor grid-areas collapse any unused space, nor do they provide a way to – for example, shrinking the grid-item(s) to be smaller than the area will result in some wonky margins; compare the following three figures, A, B, and C.&lt;/p&gt;

&lt;p&gt;A, the grid normally:&lt;br&gt;
&lt;a href="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%2Farticles%2Folkxi41dptqccvnpjv9a.png" class="article-body-image-wrapper"&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%2Farticles%2Folkxi41dptqccvnpjv9a.png" alt="{an image of the unmodified grid}" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;B, what the grid should look like with shrunken items:&lt;br&gt;
&lt;a href="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%2Farticles%2F5u5vihusbzuwwc7o7oig.png" class="article-body-image-wrapper"&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%2Farticles%2F5u5vihusbzuwwc7o7oig.png" alt="{image of what the grid should look like with shrunken items}" width="200" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;C, what the grid actually looks like with shrunken items:&lt;br&gt;
&lt;a href="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%2Farticles%2Fuwg0h98cmx7ohipm0d64.png" class="article-body-image-wrapper"&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%2Farticles%2Fuwg0h98cmx7ohipm0d64.png" alt="{an image of what the grid actually looks like with shrunken items}" width="200" height="200"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
This can be fixed by using &lt;code&gt;grid-template-columns&lt;/code&gt; and &lt;code&gt;grid-template-rows&lt;/code&gt; respectively. — I used &lt;code&gt;max-content&lt;/code&gt; for my code, and it seemed to work; however, I feel that isn't the correct solution.&lt;br&gt;
[Let me know if using &lt;code&gt;max-content&lt;/code&gt; for the sizing was the correct thing to do or not.]&lt;/p&gt;
&lt;h3&gt;
  
  
  Verbosity
&lt;/h3&gt;

&lt;p&gt;Using &lt;code&gt;grid&lt;/code&gt;-layout is a bit cumbersome, and somewhat obtuse.&lt;/p&gt;

&lt;p&gt;To get the most out of CSS' &lt;code&gt;grid&lt;/code&gt;-layout, you have to use &lt;code&gt;grid-template-areas&lt;/code&gt;, &lt;code&gt;grid-template-columns&lt;/code&gt;, and &lt;code&gt;grid-template-rows&lt;/code&gt; together, or use the &lt;code&gt;grid-row-*&lt;/code&gt; and &lt;code&gt;grid-column-*&lt;/code&gt; properties.&lt;/p&gt;

&lt;p&gt;For me, setting, and then maintaining, all these properties can be difficult – and it would be really nice if I could just use &lt;code&gt;grid-template-areas&lt;/code&gt; and have the grid work exactly how I expect.&lt;/p&gt;

&lt;p&gt;Not only is &lt;code&gt;flex&lt;/code&gt;-layout easier, but it also has wider support, according to &lt;a href="https://caniuse.com/" rel="noopener noreferrer"&gt;Can I Use&lt;/a&gt;.&lt;br&gt;
&lt;a href="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%2Farticles%2F2j7h7s18l6k3sjssdc1y.png" class="article-body-image-wrapper"&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%2Farticles%2F2j7h7s18l6k3sjssdc1y.png" alt="{screenshot of the support tables for flex and grid layout}" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Is &lt;code&gt;grid&lt;/code&gt;-layout useless?
&lt;/h2&gt;

&lt;p&gt;You might think that, with my critical views of CSS &lt;code&gt;grid&lt;/code&gt;, I would think it has little to no use, but that guess would be wrong.&lt;/p&gt;

&lt;p&gt;While I don't think &lt;code&gt;grid&lt;/code&gt;-layout is particularly useful, I do think it could come in handy for grids with a higher complexity that is a necessary part of the design. — For example, you may want a &lt;strong&gt;l&lt;/strong&gt;ogo in the top left, a &lt;strong&gt;h&lt;/strong&gt;eader spanning the rest of the space, a &lt;strong&gt;s&lt;/strong&gt;idebar, the main &lt;strong&gt;c&lt;/strong&gt;ontent, and then a &lt;strong&gt;f&lt;/strong&gt;ooter – essentially, a modified version of the previous grid.&lt;/p&gt;

&lt;p&gt;Here is a textual representation of the grid described above:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;l h h h h
s s c c c
s s c c c
s s f f f
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One good thing I definitely can say about &lt;code&gt;grid&lt;/code&gt;-layout is that reduces the number of parent-child relationships you have to deal with, since &lt;code&gt;flex&lt;/code&gt;-layout is one-dimensional, and thus the amount of elements you will likely need overall.&lt;/p&gt;






&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thanks for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>rant</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Microsoft Is Holding My Account HOSTAGE!</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Sat, 06 Jul 2024 01:11:33 +0000</pubDate>
      <link>https://dev.to/calinbaenen/microsoft-is-holding-my-account-hostage-47f</link>
      <guid>https://dev.to/calinbaenen/microsoft-is-holding-my-account-hostage-47f</guid>
      <description>&lt;p&gt;Hello, &lt;code&gt;dev.to&lt;/code&gt;!&lt;/p&gt;

&lt;p&gt;It is my displeasure to announce, today, that Microsoft – yes, the multibillion dollar company – is holding my Microsoft account hostage.&lt;/p&gt;




&lt;p&gt;I have two main questions for everyone:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How can I find and contact Microsoft employees?&lt;/li&gt;
&lt;li&gt;How, and where, can I make a big enough splash online to get on Microsoft's radar?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And I have four main concerns I wish to address:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How I ended up where I am now.&lt;/li&gt;
&lt;li&gt;Microsoft's lack of attention to detail when designing a log-in system.&lt;/li&gt;
&lt;li&gt;Microsoft's slipperiness and noncooperation.&lt;/li&gt;
&lt;li&gt;What I am trying to do to rectify this issue.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;What happened?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;How Microsoft Plays A Part&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Microsoft's Coldness&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What's next?&lt;/em&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  What happened?
&lt;/h2&gt;

&lt;p&gt;Recently, my Microsoft account was hijacked, which I wrote &lt;a href="https://www.deviantart.com/kattytheenby/journal/My-Microsoft-account-has-been-hijacked-1063123262" rel="noopener noreferrer"&gt;an article about&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In summary, there was a (cleverly designed) phishing scam which got a hold of my Microsoft account by tricking me into giving them a OTP – and, as I recall, it didn't even require me to give them my email address, I was brought straight to Microsoft's log-in prompt.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Microsoft Plays A Part
&lt;/h2&gt;

&lt;p&gt;While phishing is usually thought to be the equally the fault of the scammer and the victim, certain phishing scams are more advanced than others and take advantage of a system that's already in place, which is the case here.&lt;/p&gt;

&lt;p&gt;This scam took advantage of the vague wording of Microsoft's emails to convince me to give them a OTP under the pretext that it is a "verification code".&lt;/p&gt;

&lt;p&gt;So, what did Microsoft's email, containing my one-time-password, look like?&lt;br&gt;
This:&lt;br&gt;
&lt;a href="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%2Farticles%2F9quv1d6wk9qexd7vc1fn.png" class="article-body-image-wrapper"&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%2Farticles%2F9quv1d6wk9qexd7vc1fn.png" alt="{Screenshot of the email containing a one-time-password.}" width="800" height="227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How could anyone fall for this?&lt;br&gt;
Well, it's because of the vague wording – the use of "security code" instead of "one-time-password" or "account access code".&lt;/p&gt;

&lt;p&gt;What's worse is that Microsoft has different types of "security code"s, which are also six-digit numbers, much like this OTP.&lt;/p&gt;

&lt;p&gt;What else does Microsoft use these security codes for?&lt;br&gt;
Verifying your email when you first sign up for a Microsoft account, verifying your email when you are talking to one of Microsoft's virtual chat agents, when confirming signins, et cetera. — While all these things are very similar, it can become confusing what code is a OTP and isn't a OTP.&lt;/p&gt;

&lt;p&gt;While I should have maybe smelled something fishy when I got a code via email, I mistakenly thought that this code was in the vein of something like a Google Authenticator or Microsoft Authenticator code, especially due to the form and nature of the code.&lt;/p&gt;

&lt;p&gt;Also, compare that email with this one, which does clearly state the intention of the code:&lt;br&gt;
&lt;a href="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%2Farticles%2Ftaqh2gqabzhoqg1i8105.png" class="article-body-image-wrapper"&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%2Farticles%2Ftaqh2gqabzhoqg1i8105.png" alt="{Screenshot of an email telling me that it is a password-reset code.}" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Microsoft's Coldness
&lt;/h2&gt;

&lt;p&gt;Since about June fourteenth, I've been trying to get my account back; however, Microsoft has done very little to cooperate.&lt;/p&gt;

&lt;p&gt;I tried to use both &lt;a href="https://account.live.com/acsr" rel="noopener noreferrer"&gt;the ACSR (Automated Customer Support Representative) form&lt;/a&gt; and &lt;a href="https://www.microsoft.com/en-us/concern/AccountReinstatement" rel="noopener noreferrer"&gt;the Account Reinstatement form&lt;/a&gt;, but it has yielded very poor results.&lt;/p&gt;

&lt;p&gt;At first, I was able to get Microsoft to realize that there was indeed illegitimate activity on my account.&lt;br&gt;
... However, after some back-and-forth, I was emailed by a Microsoft employee, named Rhodz, that I would not get my account back due to "a severe violation of the Microsoft Service Agreement" — when I asked for elaboration, though, an employee named Luis refused to tell me what the violation was, saying &lt;em&gt;“Pursuant to our terms, we cannot reactivate your account, nor provide details as to why it was closed. ”&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;After talking with some more live support agents, I was told by one, named Angela, that "my account being hijacked can be the main reason the system disabled it".&lt;br&gt;
&lt;a href="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%2Farticles%2F7wn1pjmqg0smv68wf3zt.png" class="article-body-image-wrapper"&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%2Farticles%2F7wn1pjmqg0smv68wf3zt.png" alt="{Screenshot of Angela explaining a possible reason for my account being closed.}" width="488" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;What am I going to do now...?&lt;br&gt;
Well, I'm not quite sure.&lt;/p&gt;

&lt;p&gt;I was hoping some people – along with discussing Microsoft's behavior – would be able to give me some suggestions for what to do.&lt;/p&gt;

&lt;p&gt;Currently, the plan is just to become a hemorrhoid on Microsoft's ass, as being inert is going to lead to even poorer results.&lt;/p&gt;






&lt;p&gt;So... what do you all think of Microsoft's actions?&lt;br&gt;
Do you think they play a part in this, like I do, or no?&lt;/p&gt;




&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thanks for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>watercooler</category>
      <category>security</category>
      <category>help</category>
      <category>discuss</category>
    </item>
    <item>
      <title>This SUPERIOR way ov defining enums in JavaScript!</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Sun, 26 May 2024 04:02:24 +0000</pubDate>
      <link>https://dev.to/calinbaenen/this-superior-way-ov-defining-enums-in-javascript-4ok9</link>
      <guid>https://dev.to/calinbaenen/this-superior-way-ov-defining-enums-in-javascript-4ok9</guid>
      <description>&lt;h2&gt;
  
  
  The Standard Way ov Defining An Enum
&lt;/h2&gt;

&lt;p&gt;In JavaScript, the standard way to define an enum – according to the TypeScript compiler – is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;use strict&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BANANA&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BANANA&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ORANGE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ORANGE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;APPLE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;  &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;APPLE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;})(&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{}));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or, if we strip the (unnecessary) mapping from number to string, we can do:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;use strict&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;Fruit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BANANA&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ORANGE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;APPLE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The Better Way ov Defining An Enum
&lt;/h2&gt;

&lt;p&gt;... However, there is a better way to define an enum – and the method  will ensure:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;the enum values are unique,&lt;/li&gt;
&lt;li&gt;the values can't be overriden,&lt;/li&gt;
&lt;li&gt;the definition is hoisted.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;Fruit&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;Fruit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;defineProperties&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;Fruit&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;)),&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;BANANA&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;writable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;BANANA&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)},&lt;/span&gt;
    &lt;span class="na"&gt;ORANGE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;writable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ORANGE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)},&lt;/span&gt;
    &lt;span class="na"&gt;APPLE&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;writable&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Symbol&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;APPLE&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Demonstrating AI's Innocence Through Food</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Mon, 06 May 2024 09:47:16 +0000</pubDate>
      <link>https://dev.to/calinbaenen/why-ai-images-arent-scary-comparing-ai-generated-images-to-food-1g73</link>
      <guid>https://dev.to/calinbaenen/why-ai-images-arent-scary-comparing-ai-generated-images-to-food-1g73</guid>
      <description>&lt;p&gt;Do you think AI image-generation is scary?&lt;br&gt;
Do you believe AI image-generation is art-theft?&lt;/p&gt;

&lt;p&gt;Well, let's talk about that!&lt;/p&gt;






&lt;p&gt;I got the brilliant idea for this post when &lt;a href="https://www.deviantart.com/kat-the-hylian" rel="noopener noreferrer"&gt;Kat-the-Hylian&lt;/a&gt; on DeviantArt made &lt;a href="https://www.deviantart.com/comments/1/940883795/5133407422" rel="noopener noreferrer"&gt;this brilliant comment&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Or using a microwave dinner and calling yourself a "chef."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This inspired me to create an article that compares AI, AI-generated images, and the ethics thereov to food, in some way.&lt;/p&gt;





&lt;h2&gt;
  
  
  What is AI?
&lt;/h2&gt;

&lt;p&gt;Let's take a second to quickly recap what AI is.&lt;br&gt;&lt;br&gt;
You may be familiar with terms such as "AI images", "AI-generated", et cetera, but do you know what "AI" means?&lt;br&gt;
Well, "AI" stands for "&lt;strong&gt;a&lt;/strong&gt;rtificial &lt;strong&gt;i&lt;/strong&gt;ntelligence".&lt;/p&gt;

&lt;p&gt;What is (an) artificial intelligence?&lt;br&gt;
(A program with) Artificial intelligence is a program that is capable ov replicating some facet ov human intelligence, such as learning or providing the most acclaimed information.&lt;/p&gt;

&lt;p&gt;In the sense ov image creation, we can assume an artificial intelligence is any program which seeks to replicate the part ov the human brain which allows us to draw (well), including the motions our hands do.&lt;/p&gt;



&lt;h2&gt;
  
  
  How does an AI make new images?
&lt;/h2&gt;

&lt;p&gt;An image-generation program that uses artificial intelligence is typically trained on images that are paired with captions or visual descriptions so it can make a connection between the descriptors and the, abstract, figures in the image.&lt;/p&gt;

&lt;p&gt;These images (and their paired captions) are called "training-data".&lt;/p&gt;

&lt;p&gt;Those who maintain the AI can get training-data in a number ov ways, including making their own training-data, or purchasing training-data from others.&lt;br&gt;&lt;br&gt;
Think about it like this:  it's like someone taking store-bought food (which is already assembled/prepared) and trying to make a new [food / meal] out ov it.&lt;/p&gt;



&lt;h2&gt;
  
  
  Are AI-generated images stolen?
&lt;/h2&gt;

&lt;p&gt;&lt;u&gt;Not inherently.&lt;/u&gt;&lt;br&gt;&lt;br&gt;
Maybe you've heard a scandal about AI stealing your images and such.&lt;/p&gt;

&lt;p&gt;Is it true that some who maintain an AI can, and may, steal art?&lt;br&gt;
Yes – it is certainly a possibility.&lt;/p&gt;

&lt;p&gt;Does this mean everyone who maintains an AI will steal art?&lt;br&gt;
No – those who maintain an AI have the option not to steal.&lt;br&gt;&lt;br&gt;
Let's think about this using grocery stores.&lt;/p&gt;

&lt;p&gt;There isn't The Grocery Store™ that you go to once a week — likely, instead, you find yourself at one or more stores, such as Target, Walmart, or Cub Foods.&lt;br&gt;
In the same way, there is no one artificial intelligence — you have DALL·E 2 by Open AI, Midjourney by... Midjourney Inc, et cetera et cetera.&lt;/p&gt;

&lt;p&gt;If Walmart was found to be stealing stuff, Target wouldn't get the blame.&lt;br&gt;
We must understand AI-technology (and its branding) the same way — we should view each AI in isolation from eachother (except ones with the same maintainer(s)).&lt;/p&gt;



&lt;h2&gt;
  
  
  Are AI-generated images art?
&lt;/h2&gt;

&lt;p&gt;As Oxford English Dictionary defines "art", art is &lt;em&gt;“the expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture, producing works to be appreciated primarily for their beauty or emotional power”&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;By this definition, AI-generated images do not meet the qualifications to be "art".&lt;br&gt;
However, they can still be the basis for (new) art.&lt;br&gt;&lt;br&gt;
&lt;b&gt;[NOTE:  Just because you enter a prompt and upload the best looking result does &lt;u&gt;not&lt;/u&gt; mean you are an artist.]&lt;/b&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  Are AI-generated images original?
&lt;/h2&gt;

&lt;p&gt;In the context for this post's inspiration, &lt;a href="https://www.deviantart.com/kat-the-hylian" rel="noopener noreferrer"&gt;Kat-the-Hylian&lt;/a&gt; insinuates that taking an AI-generated image, uploading it, and calling yourself an artist is equivalent to buying a microwave dinner, heating it up, and calling yourself a chef — I believe this is an amazing comparison.  &lt;/p&gt;

&lt;p&gt;Could you modify the microwave dinner?&lt;br&gt;
Ov course, but this still does not necessarily make you a chef.&lt;/p&gt;

&lt;p&gt;Now, if you get a microwave dinner with some mashed potatoes and some steak strips and turn that into cheesy mashed potatoes with bacon and seasoned steak strips with gravy, then maybe we can start discussing your chef status.&lt;/p&gt;

&lt;p&gt;The line between not being modified enough and being modified adequately is blurry, and mileage may vary.&lt;br&gt;
(I believe this is in part because what is adequate is subjective.)&lt;/p&gt;



&lt;h2&gt;
  
  
  Who owns the copyright to AI-generated images?
&lt;/h2&gt;

&lt;p&gt;It depends – and there is currently no legal standard in place.    [24/05/06]&lt;/p&gt;

&lt;p&gt;If the AI's training-data is entirely open-source or royalty-free, then the copyright should belong to no one.&lt;br&gt;
If the AI's training-data is comprised entirely ov proprietary or licensed images, then copyright should belong to the person(s) that made the image (as appropriate).&lt;/p&gt;

&lt;p&gt;Copyright only gets more complicated as we consider the possible modifications that could be made to the generated image.&lt;/p&gt;



&lt;h2&gt;
  
  
  Will artificial intelligence take my job?
&lt;/h2&gt;

&lt;p&gt;No.&lt;br&gt;
AI will not take your job.&lt;/p&gt;

&lt;p&gt;Let's say AIs are restaurants (or microwave dinners) and artists are home-cooks who like to make homemade meals for their family.&lt;/p&gt;

&lt;p&gt;Will the family want to go out to eat every now and then at their favorite restaurant?&lt;br&gt;
Ov course, but fast-food probably won't outright replace your homecooking.&lt;/p&gt;



&lt;h2&gt;
  
  
  A Safe(r) AI
&lt;/h2&gt;

&lt;p&gt;It may not be perfect, but I think I know a decent AI.&lt;br&gt;&lt;br&gt;
If AIs were restaurants, &lt;a href="https://leonardo.ai/" rel="noopener noreferrer"&gt;Leonardo AI&lt;/a&gt; would be a buffet.&lt;/p&gt;

&lt;p&gt;Why?&lt;br&gt;
Because Leonardo lays out all the food for you, and you get to pick what you eat.&lt;/p&gt;

&lt;p&gt;Trained on LAION-5B, Leonardo allows you to compile your own training-data and generate your own images using that.&lt;/p&gt;




&lt;p&gt;Over all, I think while AIs can do harm,  and come with a lot ov confusing implications ethically and legally,  but I believe this technology is the future, and that it can be a helpful tool to aid in the creation process (when used correctly and in good faith).&lt;/p&gt;

&lt;p&gt;[Hell, even this post's cover-image is a modified AI-generated image saved as a low-quality JPEG.]&lt;/p&gt;




&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thanks for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>5 Productivity Hacks to Supercharge Your Coding Sessions</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Wed, 01 May 2024 20:20:21 +0000</pubDate>
      <link>https://dev.to/calinbaenen/5-productivity-hacks-to-supercharge-your-coding-sessions-2eah</link>
      <guid>https://dev.to/calinbaenen/5-productivity-hacks-to-supercharge-your-coding-sessions-2eah</guid>
      <description>&lt;p&gt;Are you a programmer who struggles to stay focused and productive during long coding sessions?&lt;br&gt;
Well, I'm not – so I am here to deliver you all some motivation in the form ov five 'hacks' that should boost your performance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prepare Your Mind
&lt;/h2&gt;

&lt;p&gt;  1. Prepare your mind.&lt;br&gt;&lt;br&gt;
It is always good to be prepared for what is to come, even if you know what's coming.&lt;/p&gt;

&lt;p&gt;There are many ways to prepare yourself, such as meditation or yoga.&lt;br&gt;
Are you a coffee-drinker?  Have some pre-coding coffee, then!&lt;/p&gt;

&lt;p&gt;Do something that will make you feel better.&lt;/p&gt;

&lt;h2&gt;
  
  
  Calm Yourself
&lt;/h2&gt;

&lt;p&gt;  2. Calm yourself.&lt;br&gt;&lt;br&gt;
Programming can be stressful, so don't sweat it when you find that you aren't making ample progress.&lt;/p&gt;

&lt;p&gt;If you are feeling frustrated or annoyed, put on something calming, like whitenoise, some music, or even your favorite content creator.&lt;br&gt;
If you are feeling stuck, try relieving the block by getting some inspiration from somewhere, such as your favorite content creator.&lt;/p&gt;

&lt;p&gt;Do something that will relax you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep Focused
&lt;/h2&gt;

&lt;p&gt;  3. Keep focused.&lt;br&gt;&lt;br&gt;
Being distracted is a large contributing factor to a lack ov productivity.&lt;br&gt;
(I should know — I can be a bit torn between projects.)&lt;/p&gt;

&lt;p&gt;Try to close unnecessary browser tabs, such as YouTube, Bluesky, Reddit, et cetera.&lt;/p&gt;

&lt;p&gt;Do something that will keep you on task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay in The Zone
&lt;/h2&gt;

&lt;p&gt;  4. Stay in the zone.&lt;br&gt;&lt;br&gt;
It can be hard to remain focused – and, sometimes, you may become fidgety.&lt;/p&gt;

&lt;p&gt;Sometimes, to be in your most focused state, you have to take breaks — it can be good to watch a video here and there, or (re)check your emails.&lt;/p&gt;

&lt;p&gt;Do something that will keep your mind refreshed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ask for Help
&lt;/h2&gt;

&lt;p&gt;  5. Ask for help.&lt;br&gt;&lt;br&gt;
We all run into problems we can't solve by ourselves at first – and that is perfectly fine.&lt;br&gt;
We don't have to face these challenges alone though.&lt;/p&gt;

&lt;p&gt;While you may want to be seen as the "alpha-Chad" programmer, you shouldn't pressure yourself into waiting for an answer to tumble to you... like a tumbleweed.&lt;/p&gt;

&lt;p&gt;Ask for help.&lt;br&gt;
It is much easier to find a solution to something if you at least prompt the answer to come to you.&lt;/p&gt;

&lt;p&gt;Do something that will help others help you.&lt;/p&gt;




&lt;p&gt;Implementing these five productivity hacks can have a beneficial effect on your coding sessions.&lt;/p&gt;




&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thanks for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>productivity</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Spark v2.2.0 is here!</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Mon, 08 Apr 2024 04:30:19 +0000</pubDate>
      <link>https://dev.to/calinbaenen/spark-v220-is-here-2daj</link>
      <guid>https://dev.to/calinbaenen/spark-v220-is-here-2daj</guid>
      <description>&lt;p&gt;Spark has had some tweaks made to it since its last revision.&lt;br&gt;
Now things are glowing brighter than ever!&lt;/p&gt;

&lt;p&gt;So... what's changed?&lt;br&gt;
Here's what:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(most) properties can now be cascaded via &lt;code&gt;data-cascade&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Spark now has a logo&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; no longer has a flex layout by default&lt;/li&gt;
&lt;li&gt;removed &lt;code&gt;data-sticky&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;removed &lt;code&gt;data-fullwidth&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;removed the &lt;code&gt;iblock&lt;/code&gt; and &lt;code&gt;inline&lt;/code&gt; values for &lt;code&gt;data-flow&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;removed the (re)sizing for &lt;code&gt;h1&lt;/code&gt;-&lt;code&gt;h6&lt;/code&gt; in &lt;code&gt;text/heading.css&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;added the &lt;code&gt;indented&lt;/code&gt; value for &lt;code&gt;data-textstyle&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;made &lt;code&gt;hanging&lt;/code&gt; an adjective to &lt;code&gt;indented&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;changed the default style of &lt;code&gt;&amp;lt;hr&amp;gt;&lt;/code&gt;s in &lt;code&gt;text/text.css&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;removed the &lt;code&gt;.code&lt;/code&gt; class in favor of the &lt;code&gt;code&lt;/code&gt; value for &lt;code&gt;data-textstyle&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;added &lt;code&gt;code&lt;/code&gt; value for &lt;code&gt;data-textstyle&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;removed &lt;code&gt;data-pixelated-children&lt;/code&gt; and &lt;code&gt;data-crisp-children&lt;/code&gt; in favor of the &lt;code&gt;data-cascade&lt;/code&gt; attribute&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please, check out &lt;a href="https://github.com/CalinZBaenen/Spark" rel="noopener noreferrer"&gt;Spark&lt;/a&gt; and tell me what &lt;strong&gt;you&lt;/strong&gt; think!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>css</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Announcing Spark: an easy-to-use CSS library for complex styles.</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Thu, 28 Mar 2024 14:26:02 +0000</pubDate>
      <link>https://dev.to/calinbaenen/announcing-spark-an-easy-to-use-css-library-for-complex-styles-g4</link>
      <guid>https://dev.to/calinbaenen/announcing-spark-an-easy-to-use-css-library-for-complex-styles-g4</guid>
      <description>&lt;p&gt;Today, I am unveiling a project I've had sitting in the shop for a while... Spark!&lt;br&gt;
&lt;a href="https://github.com/CalinZBaenen/Spark" rel="noopener noreferrer"&gt;https://github.com/CalinZBaenen/Spark&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What is Spark?&lt;br&gt;
Spark is an easy-to-use CSS library that takes advantage ov HTML's &lt;code&gt;data-&lt;/code&gt;-attributes, and some default attributes, to easily apply complex or boilerplate styling to an element, making it easier to focus on just the layout.&lt;/p&gt;

&lt;p&gt;Here is an example ov how I made the table shown in this post's cover-image.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;caption&amp;gt;&lt;/span&gt;Colors&lt;span class="nt"&gt;&amp;lt;/caption&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;data-cutout&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;scope=&lt;/span&gt;&lt;span class="s"&gt;"col"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Red&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;scope=&lt;/span&gt;&lt;span class="s"&gt;"col"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Green&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;scope=&lt;/span&gt;&lt;span class="s"&gt;"col"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Blue&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;scope=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Lightened&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#FF8080;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#80FF80;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#8080FF;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;scope=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Normal&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#FF0000;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#00FF00;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#0000FF;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;scope=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Darkened&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#800000;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#008000;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"background-color:#000080;"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="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%2Farticles%2Fdoz2e04xn60414egtkbb.png" class="article-body-image-wrapper"&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%2Farticles%2Fdoz2e04xn60414egtkbb.png" alt="*{An image of a table with colors in it.}*" width="600" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, the first cell is... well... cut out, and you notice that I am using &lt;code&gt;data-cutout&lt;/code&gt;.&lt;br&gt;
&lt;code&gt;data-cutout&lt;/code&gt;'s job is to make a table-cell act as if it were not present by making none ov its content display and hiding itself, which allows you to do some pretty cool things, like making pixel-art ov Mario:&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Farticles%2Fcs7cvtkvkbkw24vvsng2.png" class="article-body-image-wrapper"&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%2Farticles%2Fcs7cvtkvkbkw24vvsng2.png" alt="*{An image of an HTML table made to resemble Mario.}*" width="195" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Yes, this is actually an HTML table  -  you can see it in &lt;a href="https://github.com/CalinZBaenen/Spark/blob/main/examples/table.html" rel="noopener noreferrer"&gt;&lt;code&gt;table.html&lt;/code&gt;&lt;/a&gt; file in the &lt;code&gt;examples&lt;/code&gt; directory.)&lt;/p&gt;

&lt;p&gt;I'm hoping my library will find some merit, somewhere and will catch on...&lt;br&gt;
... or at least inspire newcomers to HTML (orwith CSS) to dive deeper.&lt;/p&gt;

&lt;p&gt;Anyways, that's all for today.&lt;/p&gt;




&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thanks for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>html</category>
    </item>
    <item>
      <title>RuntDeale DevLog : ...1?</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Thu, 15 Feb 2024 05:40:02 +0000</pubDate>
      <link>https://dev.to/calinbaenen/runtdeale-devlog-1-5003</link>
      <guid>https://dev.to/calinbaenen/runtdeale-devlog-1-5003</guid>
      <description>&lt;p&gt;While there have been previous posts pertaining to RuntDeale, I'm just going to ignore those and call this the first official RuntDeale devlog.&lt;/p&gt;

&lt;p&gt;Today, I was able to use composition to improve my &lt;code&gt;WorldQuery&lt;/code&gt;-types, changing duplicate &lt;code&gt;struct&lt;/code&gt;-definitions into beautiful multilayered component cakes.&lt;br&gt;
&lt;small&gt;&lt;code&gt;&lt;a href="https://github.com/CalinZBaenen/RuntDeale/commit/22a9ae49cc5411ab28bb41e538797b759eec5608#diff-f0c63cae3ed0328ebbe14ac22d86b43bc8a40146944b03c8326681e4f3802443L33" rel="noopener noreferrer"&gt;(See the differences on GitHub.)&lt;/a&gt;&lt;/code&gt;&lt;/small&gt;&lt;/p&gt;

&lt;p&gt;Here are some screenshots ov the game so far:&lt;br&gt;
&lt;a href="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%2Farticles%2Fcc0ozugnw0fugd6nahn2.png" class="article-body-image-wrapper"&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%2Farticles%2Fcc0ozugnw0fugd6nahn2.png" alt="A picture of the player walking away from a debug player-sprite." width="800" height="639"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="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%2Farticles%2Fiwbabdu6wx5bw5svyjxk.png" class="article-body-image-wrapper"&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%2Farticles%2Fiwbabdu6wx5bw5svyjxk.png" alt="A close-up picture of one of the WorldQuery types." width="621" height="364"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="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%2Farticles%2Ffayh8awrl2819azqcyoa.png" class="article-body-image-wrapper"&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%2Farticles%2Ffayh8awrl2819azqcyoa.png" alt="A long-distance shot of all the difference WorldQuery types." width="415" height="669"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>devlog</category>
      <category>watercooler</category>
      <category>rust</category>
    </item>
    <item>
      <title>Recruiting Rust Game-Developers</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Fri, 09 Feb 2024 07:49:49 +0000</pubDate>
      <link>https://dev.to/calinbaenen/recruiting-rust-game-developers-56jh</link>
      <guid>https://dev.to/calinbaenen/recruiting-rust-game-developers-56jh</guid>
      <description>&lt;p&gt;Is there anyone here that knows Rust and the Bevy game-engine that could help me work on RuntDeale?&lt;/p&gt;

&lt;p&gt;I would love to continue to do it alone with small tidbits ov help from the Bevy Discord server, but it's becoming very difficult with many personal factors, primarily school.&lt;br&gt;
I need someone who can help me write code for different facets ov the game and can periodically do tests, such as helping me get the UI to work properly, et cetera.&lt;/p&gt;

&lt;p&gt;Here's some info about RuntDeale: &lt;a href="https://www.deviantart.com/kattytheenby/journal/My-game-RUNTDEALE-927344461" rel="noopener noreferrer"&gt;https://www.deviantart.com/kattytheenby/journal/My-game-RUNTDEALE-927344461&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It's an UnderTale inspired fangame that will be fighting "monster"-like creatures and all that jazz, but instead you're literally fighting depression.&lt;br&gt;
This game has a story that is reflective of experiences I've had, and how getting over things can be tough but is doable.&lt;/p&gt;

&lt;p&gt;RuntDeale will be the same 2.5D bullet-hell type game we all know, love, and have come to expect from UnderTale and DeltaRune.&lt;br&gt;
However, this tries to spice things up by adding new soul types.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hit me up if you are interested.&lt;/p&gt;


&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thanks for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>rust</category>
      <category>help</category>
      <category>gamedev</category>
      <category>github</category>
    </item>
    <item>
      <title>Why couldn't the egotistical programmer get far in C?</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Fri, 26 Jan 2024 00:23:00 +0000</pubDate>
      <link>https://dev.to/calinbaenen/why-couldnt-the-egotistical-programmer-get-far-in-c-1728</link>
      <guid>https://dev.to/calinbaenen/why-couldnt-the-egotistical-programmer-get-far-in-c-1728</guid>
      <description>&lt;p&gt;Why couldn't the egotistical programmer get far in C...?&lt;/p&gt;

&lt;p&gt;Because they didn't want to get any pointers about their code.&lt;/p&gt;

</description>
      <category>c</category>
      <category>jokes</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Spark-CSS Syntax : What do you think?</title>
      <dc:creator>Calin Baenen</dc:creator>
      <pubDate>Fri, 08 Dec 2023 02:26:33 +0000</pubDate>
      <link>https://dev.to/calinbaenen/spark-css-syntax-what-do-you-think-1obh</link>
      <guid>https://dev.to/calinbaenen/spark-css-syntax-what-do-you-think-1obh</guid>
      <description>&lt;p&gt;This is the conceptualized syntax for Spark-CSS, which is already well in development:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;header&lt;/span&gt; &lt;span class="na"&gt;data-fullwidth&lt;/span&gt; &lt;span class="na"&gt;data-flow=&lt;/span&gt;&lt;span class="s"&gt;"flex row evenly-spaced-children"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/documentation/"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Documentation&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/demos/"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Demos&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- ... --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;main&lt;/span&gt; &lt;span class="na"&gt;data-flow=&lt;/span&gt;&lt;span class="s"&gt;"flex col"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;First Section&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Lorem ipsum.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This webpage is for testing purposes only!&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;

  &lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Text Styling&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;p&lt;/span&gt; &lt;span class="na"&gt;data-textstyle=&lt;/span&gt;&lt;span class="s"&gt;"justified"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      Today, I just found out that Spark has a lot of potential — thanks to all the unique 'marker attributes', adjusting the styling of an
      element has never been easier.&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
      This text &lt;span class="nt"&gt;&amp;lt;u&amp;gt;&lt;/span&gt;should&lt;span class="nt"&gt;&amp;lt;/u&amp;gt;&lt;/span&gt; be justified...
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;This text has an &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;data-textstyle=&lt;/span&gt;&lt;span class="s"&gt;"s u o"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;underline, strikethrough, and overline.&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/main&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;The library, and, by extension, its syntax, is meant to make replacing trivial, boilerplate CSS (and certain HTML styling elements) with easy to read &lt;code&gt;data-*&lt;/code&gt; attributes.&lt;br&gt;
The attributes themselves are named in a way that attempts to be intuitive and concise; the values ov the attributes are meant to provide a decent amount ov flexibility, and, in some cases, work together to create something.&lt;/p&gt;

&lt;p&gt;For example, take the &lt;code&gt;data-flow="flex row"&lt;/code&gt;, which represents a flex-container that has a &lt;code&gt;flex-direction&lt;/code&gt; ov &lt;code&gt;row&lt;/code&gt;.&lt;br&gt;
Why isn't it &lt;code&gt;flex-row&lt;/code&gt;?    /rt&lt;br&gt;
Well, &lt;code&gt;row&lt;/code&gt; (and &lt;code&gt;col&lt;/code&gt;) can both be used with a &lt;code&gt;grid&lt;/code&gt; flow instead; using a grid with &lt;code&gt;row&lt;/code&gt; or &lt;code&gt;col&lt;/code&gt; sets the &lt;code&gt;grid-auto-flow&lt;/code&gt; property to &lt;code&gt;row&lt;/code&gt; or &lt;code&gt;column&lt;/code&gt; respectively.&lt;/p&gt;



&lt;p&gt;Another thing about this library is that it aims to work on as many browsers as possible... even the outdated ones that no one uses anymore, such as Internet Explorer!&lt;br&gt;
For browsers that don't support certain things, sensible fallbacks are provided.&lt;/p&gt;

&lt;p&gt;Here's a snippet ov the CSS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="o"&gt;*[&lt;/span&gt;&lt;span class="nt"&gt;data-flow&lt;/span&gt;&lt;span class="o"&gt;~=&lt;/span&gt;&lt;span class="s1"&gt;"flex"&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;inline-block&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;-webkit-flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;-ms-flexbox&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;display&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;flex&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;With all this information, I ask this:  what do you (all) think ov my CSS library and its syntax? Does the idea seem promising?&lt;/p&gt;




&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;center&gt;&lt;b&gt;Thank you for reading!&lt;br&gt;Cheers!&lt;/b&gt;&lt;/center&gt;

</description>
      <category>watercooler</category>
      <category>css</category>
      <category>discuss</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
