<?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: David Kistauri</title>
    <description>The latest articles on Forem by David Kistauri (@dtroode).</description>
    <link>https://forem.com/dtroode</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%2F183090%2F12be645f-59d7-45fe-93e8-6997778ff1af.jpg</url>
      <title>Forem: David Kistauri</title>
      <link>https://forem.com/dtroode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dtroode"/>
    <language>en</language>
    <item>
      <title>Auto dark theme for the website</title>
      <dc:creator>David Kistauri</dc:creator>
      <pubDate>Fri, 04 Oct 2019 19:22:06 +0000</pubDate>
      <link>https://forem.com/dtroode/auto-dark-theme-for-the-website-116</link>
      <guid>https://forem.com/dtroode/auto-dark-theme-for-the-website-116</guid>
      <description>&lt;p&gt;I don’t want to prove, that you need a dark theme, just look:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/dark-mode/" rel="noopener noreferrer"&gt;Apple: dark theme in iOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/design/human-interface-guidelines/macos/visual-design/dark-mode/" rel="noopener noreferrer"&gt;Apple: dark theme in macOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://material.io/design/color/dark-theme.html" rel="noopener noreferrer"&gt;Google: dark theme in Material Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/windows/uwp/design/style/color#dark-t0eme" rel="noopener noreferrer"&gt;Microsoft: dark theme in Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now we have a dark theme on the web. Safari, Chrome, Firefox and other browsers are support dark theme for websites.&lt;/p&gt;

&lt;p&gt;Use it. Now I’ll explain how to make a good dark theme.&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%2F2o7kt2og7j1p6d036744.jpg" 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%2F2o7kt2og7j1p6d036744.jpg" alt="Dark and light screens. Try to open this picture in darknesses — the second variant will look better"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Start point — this website. Look and scroll. If you see it in light mode, try to switch themes in your settings. There’s dark mode support, but I’ll go back to the development process.&lt;/p&gt;

&lt;p&gt;The blog was in light colors with contrast blocks — links on articles. It’s easy to start because I am using not a colored background. Let’s define the logic, to understand, how we’ll build the dark mode.&lt;/p&gt;

&lt;h2&gt;
  
  
  Logic
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Have:&lt;/strong&gt; a light theme\&lt;br&gt;
&lt;strong&gt;Will have:&lt;/strong&gt; fundament for the dark mode&lt;/p&gt;

&lt;p&gt;The visitor doesn’t expect theme toggle, he wants to set mode once in system settings and forget about it. If the user left the light mode, he doesn’t want to see our blog in dark mode. If the user sets the dark mode — light blog especially not that he needs. So we need to give a task to the website to define the user’s color theme and set the same on the website.&lt;/p&gt;
&lt;h2&gt;
  
  
  CSS
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Have:&lt;/strong&gt; a common CSS code\&lt;br&gt;
&lt;strong&gt;Will have:&lt;/strong&gt; CSS variables to define all in one place&lt;/p&gt;

&lt;p&gt;Going to CSS and understand, that we need to use variables. Write rules with variables and next use it:&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="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c"&gt;/* Defining variables */&lt;/span&gt;
  &lt;span class="py"&gt;--background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fafafa&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--foreground-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#121212&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--accent-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ff5252&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--foreground-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--background-color&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;a&lt;/span&gt;&lt;span class="nd"&gt;:hover&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;--accent-color&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;Google:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;«Use dark grey — rather than black — to express elevation and space in an environment with a wider range of depth. Apply limited color…»&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;— told, that using black (#000000) for a dark theme is bad — using dark grey is better. Setting color for a dark theme. If there are more than three colors: background, text and accent color — inverting colors are bad, you need to analyze colors and how they work.&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="k"&gt;@media&lt;/span&gt; &lt;span class="n"&gt;screen&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prefers-color-scheme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;dark&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c"&gt;/* Redefining color variables for dark theme */&lt;/span&gt;
    &lt;span class="py"&gt;--background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#121212&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="py"&gt;--foreground-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#fafafa&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;



&lt;h2&gt;
  
  
  Work with colors
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Have:&lt;/strong&gt; common colors invert\&lt;br&gt;
&lt;strong&gt;Will have:&lt;/strong&gt; replacing one color with others&lt;/p&gt;

&lt;p&gt;Accent colors should be lighter, to save contrast. But the dark theme isn’t just about replacing colors. Google is giving advice, that blocks, that on the top, more near to the user, should be lighter. To place a block with the same color as a background, you should add a border.&lt;/p&gt;

&lt;p&gt;Don’t make large areas to bright and contrast. Change design that way, so there will be more dark colors. In my blog, I am using one scheme: light theme — bright colored blocks (links to article), dark theme — dark blocks with colored text. Colors replaced with lighter variants.&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%2Fld0dz1vqadtvj0fv2qif.jpg" 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%2Fld0dz1vqadtvj0fv2qif.jpg" alt="Dark and light themes in blog"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To check colors contrast, Chrome has a cool tool in dev tools: open dev tools (Ctrl|Cmd + Shift + I) and enable cursor (Ctrl|Cmd + Shift + C), hover text and see little window with contrast number and checkmarks. If you click on the color in styles, you’ll see contrast ration and lines, which help you to choose proper colors. &lt;/p&gt;

&lt;p&gt;Use this &lt;a href="https://material.io/resources/color/" rel="noopener noreferrer"&gt;tool&lt;/a&gt;, here you can find cool colors and define yours to get additional colors for different themes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Summing up:&lt;/strong&gt; variables, proper colors, media-styles for the dark theme.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My blog, where you can see this dark theme: &lt;a href="https://davidkistauri.ru/blog" rel="noopener noreferrer"&gt;davidkistauri.ru/blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>dark</category>
      <category>css</category>
      <category>design</category>
      <category>blog</category>
    </item>
    <item>
      <title>Design things and logic on my website</title>
      <dc:creator>David Kistauri</dc:creator>
      <pubDate>Sun, 22 Sep 2019 09:39:52 +0000</pubDate>
      <link>https://forem.com/dtroode/design-things-and-logic-on-my-website-2o6p</link>
      <guid>https://forem.com/dtroode/design-things-and-logic-on-my-website-2o6p</guid>
      <description>&lt;p&gt;I recently &lt;a href="https://twitter.com/dtroode/status/1173643274256572416?s=20" rel="noopener noreferrer"&gt;launched&lt;/a&gt; my portfolio blog site and decided to tell about the little things in the design of &lt;a href="https://davidkistauri.ru" rel="noopener noreferrer"&gt;website&lt;/a&gt;. Some things I peeked on other blogs, like Ilya Birman's &lt;a href="https://blogengine.me" rel="noopener noreferrer"&gt;Aegea&lt;/a&gt;, and adopted to my website.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every example in this articles is translated to English because my website is in Russian&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Thing with headers
&lt;/h2&gt;

&lt;p&gt;The header is showing the hierarchy. If I am on the main page, the header is my name "David Kistauri", if I am on the blog page, it's main header + "Blog": "David Kistauri. Blog", if I am on the tags page, it's main header + "Blog" + "Tags": "David Kistauri. Blog. Tags".&lt;/p&gt;

&lt;p&gt;This rule isn't for template pages like articles, product pages or pages for each tag, because of "David Kistauri. Blog. How to use VS Code if you are writing" is a mockery of the reader, especially those who come in from the phone — header is too long.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thing with links
&lt;/h2&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%2Fe6wu3od0p1nztioa5d81.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%2Fe6wu3od0p1nztioa5d81.png" alt="Links in the blog — the first two can be clicked, the third — no, because we are already in the blog, and two more — additional: the blog has tags and you can subscribe to it"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Links in the blog — the first two can be clicked, the third — no, because we are already in the blog, and two more — additional: the blog has tags and you can subscribe to it&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There are links above the header on every page. They are divided into two types: primary and secondary. There are three primary links: the main page, projects page and blog page — these are sections of the site.&lt;/p&gt;

&lt;h3&gt;
  
  
  Primary links
&lt;/h3&gt;

&lt;p&gt;If I am not on the page — link is blue if I am on the page — link isn't clickable and has a black (white in dark mode) background if I am on the page section — ex. &lt;code&gt;/blog/all/&lt;/code&gt;, the link is clickable with black (white in dark mode) background and blue text. This complaint setting is for understanding hierarchy by looking at links.&lt;/p&gt;

&lt;h3&gt;
  
  
  Secondary links
&lt;/h3&gt;

&lt;p&gt;There are no constant secondary links. Sometimes there are no secondary links. It depends on the page. These links are &lt;em&gt;additional&lt;/em&gt;. The blog has two secondary links: to list of tags and to RSS. These links have a blue text.&lt;/p&gt;

&lt;p&gt;If you'll hover a primary link — this link change a &lt;em&gt;background&lt;/em&gt; color, if you'll hover a secondary link — this link change a &lt;em&gt;text&lt;/em&gt; color.&lt;/p&gt;

&lt;h2&gt;
  
  
  Place of secondary links
&lt;/h2&gt;

&lt;p&gt;Besides the header, there are secondary links in the list of &lt;a href="https://davidkistauri.ru/blog/tags" rel="noopener noreferrer"&gt;tags&lt;/a&gt; and &lt;a href="https://davidkistauri.ru/blog/all" rel="noopener noreferrer"&gt;notes&lt;/a&gt;. These links are located differently — in tags list, they inlined, like bricks, in notes list each link starts with a new line.&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%2Ft25lnuavi6yf290c0qa9.jpg" 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%2Ft25lnuavi6yf290c0qa9.jpg" alt="Tags with a "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I have a &lt;a href="https://t.me/dtroode_channel/419" rel="noopener noreferrer"&gt;note&lt;/a&gt; about "brick-link" design in my Telegram channel. Tags are located this way because there is a connection between them — one note may have a lot of tags; people often visit tags list to see a list of themes, not for find one tag.&lt;/p&gt;

&lt;p&gt;Links to notes are located separately because every note is a separate content unit and "brick-link" design makes search harder. Also, notes names are long, so long bricks isn't cool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thing with dividers
&lt;/h2&gt;

&lt;p&gt;All sections are connected (or divided) with divider. There is a big margin above the divider and a small margin under the divider. I've read about this reception in Igor Shtang's &lt;a href="https://nobelfaik.livejournal.com/175918.html" rel="noopener noreferrer"&gt;note&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thing with a dark mode
&lt;/h2&gt;

&lt;p&gt;You need a dark mode. Especially if you are building the blog — a product with long articles. Stop to torment &lt;em&gt;owl-readers&lt;/em&gt; with bright colors. The task isn't just to change white background to black background. You need to pick up good colors so that in the dark version all the elements can be seen and shadows worked.&lt;/p&gt;

&lt;p&gt;Bright colors should not occupy a large area and should be properly substituted for the elements, background and text color. In the &lt;a href="https://davidkistauri.ru/blog" rel="noopener noreferrer"&gt;list of posts&lt;/a&gt;, I removed the colored background from the blocks and set its title - not much bright, darker. I will tell you more about the dark theme in the next note.&lt;/p&gt;

&lt;p&gt;Visit my website — &lt;a href="https://davidkistauri.ru" rel="noopener noreferrer"&gt;https://davidkistauri.ru&lt;/a&gt;&lt;br&gt;
This article in Russian — &lt;a href="https://davidkistauri.ru/blog/all/ya-u-mamy-designer/" rel="noopener noreferrer"&gt;https://davidkistauri.ru/blog/all/ya-u-mamy-designer/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gatsby</category>
      <category>design</category>
      <category>dark</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Twitter and his search</title>
      <dc:creator>David Kistauri</dc:creator>
      <pubDate>Thu, 22 Aug 2019 13:30:48 +0000</pubDate>
      <link>https://forem.com/dtroode/twitter-and-his-search-55go</link>
      <guid>https://forem.com/dtroode/twitter-and-his-search-55go</guid>
      <description>&lt;p&gt;Recently, Twitter has changed its search icon to hashtag in the web version. This was not the best solution.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Changing the icon to another one is always difficult — you have to get used to it, especially if the changes take place in a social network with a billion users.&lt;/li&gt;
&lt;li&gt;Search in all interfaces has long time been associated with a magnifying glass icon, so changing the icon to something else for the sake of individualism is not cool.&lt;/li&gt;
&lt;/ul&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%2Fv6btiqo179w2hk5fepwu.jpg" 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%2Fv6btiqo179w2hk5fepwu.jpg" alt="Twitter on mobile"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But Twitter had another reason. Initially, the homepage was always arranged in chronological order and showed tweets only from those to whom the user is subscribed. Then Twitter decided to use the algorithms, but users didn't like it and they started to switch the feed back to the chronological order.&lt;/p&gt;

&lt;p&gt;Twitter decided to create a second feed and put it on the search menu, as it's now in Instagram. So there is no longer a search menu, and the search string became part of the new feed, that' s why Twitter decided to change the icon. But users still associate this menu not with hashtags or the second tape, and with the search, so the experiment failed.&lt;/p&gt;

&lt;p&gt;But at the same time, Twitter still has a separate search menu on each page, so it looks logical only to choose: the tape of interest or the menu with the search — do not interfere.&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%2Fp86bfo9j78wusw07zfcq.jpg" 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%2Fp86bfo9j78wusw07zfcq.jpg" alt="Twitter now"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now they have done the following: on the wide screens, where there are icons with signatures, the search is signed by the word and marked with a hashtag icon, and on narrow screens, where there are no signatures, the icon changes to a magnifying glass. But between these two states there is an intermediate one, where there are no signatures, but the icon is marked with a hashtag — it is confusing.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ux</category>
      <category>twitter</category>
    </item>
    <item>
      <title>Want to Learn a New Framework? Start with this</title>
      <dc:creator>David Kistauri</dc:creator>
      <pubDate>Sun, 07 Jul 2019 15:03:09 +0000</pubDate>
      <link>https://forem.com/dtroode/want-to-learn-a-new-framework-start-with-this-j63</link>
      <guid>https://forem.com/dtroode/want-to-learn-a-new-framework-start-with-this-j63</guid>
      <description>&lt;p&gt;&lt;em&gt;Save it, learn it, write it&lt;/em&gt; — only in this order. Today I want to tell you about my work-learn process. Work and learn are coupled because in programming world to work good we need to learn good and learn a lot.&lt;/p&gt;

&lt;p&gt;I can divide an article into the parts. &lt;em&gt;How I store:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bookmarks&lt;/li&gt;
&lt;li&gt;Links&lt;/li&gt;
&lt;li&gt;Knowledges&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="bookmarks"&gt;Bookmarks&lt;/h2&gt;

&lt;p&gt;I am using Chrome and Firefox and in both of them, I have constantly opened bookmarks bar. On it I have only websites that I use now, that's because the bar is dynamic and updates frequently.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZLu2wfYX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dw853ktwanzz1jkno90w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZLu2wfYX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/dw853ktwanzz1jkno90w.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Besides, I don't love overfill bar and I've to save bookmarks without names, only with icons. Another proof of icons importance.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;General principles of bookmarks location:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Social media and news websites&lt;/li&gt;
&lt;li&gt;Tools&lt;/li&gt;
&lt;li&gt;Materials for learning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Social media and news websites.&lt;/strong&gt; My main social media is Twitter. Also, I use local popular VK, but not so often. Twitter I open 10+ times per day every day, that's because Twitter is on the bar, VK isn't.&lt;/p&gt;

&lt;p&gt;News I getting from &lt;em&gt;Dev.to&lt;/em&gt;, &lt;em&gt;Hackernews&lt;/em&gt; and &lt;em&gt;Reddit&lt;/em&gt;. But I use them not so frequently, because of all useful content duplicates in Twitter by official accounts or by some users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools.&lt;/strong&gt; In front end dev world we need a lot of tools like color palette, online code formatters, admin panels, and documentation. But most of these instruments using only when starting a new project or when supporting it. I don't have these tools on the bookmarks bar.&lt;/p&gt;

&lt;p&gt;I only have something like cloud storage, task and source manager.&lt;/p&gt;

&lt;p&gt;As my task manager, I use &lt;em&gt;Google Keep&lt;/em&gt;. It helps me and I used to manage all of my projects in it. I create a new board for every new project, add tasks and subtasks and sort them by emojis.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Material for learning.&lt;/strong&gt; This is the most inconstant part of the bookmarks bar, because I add new material, that I learning now and remove old. More often it's courses, articles and — most important — documentation. It's important because it was written by authors of learning object and updates often.&lt;/p&gt;

&lt;p&gt;For example: recently I've learned React and have official docs in my bookmarks bar and some additional links. After this, I decided to repeat OOP in JS and added one course and one article about OOP in ES6.&lt;/p&gt;

&lt;h2 id="links"&gt;Links storages&lt;/h2&gt;

&lt;p&gt;Despite the fact that my links in bookmarks are very shorted, I love minimalism and short their quantity.&lt;/p&gt;

&lt;p&gt;So I need to store useful links and links, that I want to read later somewhere. For those purposes I use Telegram. Telegram as good in storing links as a messenger.&lt;/p&gt;

&lt;p&gt;In Telegram, I have two private channels: Inbox and Links.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Inbox.&lt;/strong&gt; In this channel, I store different materials that I want to read/learn soon. That list I update often and not so often check.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0_SspmPV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kwegji5lksxy7rj9cmmp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0_SspmPV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/kwegji5lksxy7rj9cmmp.jpg" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What about caching? Most of the websites now support Instant View — a Telegram technology, that allows to open articles from websites fast and change reading mode. This feature automatically caches all links even if I shared a link from the notebook and didn't open it on mobile.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links.&lt;/strong&gt; This channel updates rare and only by articles and videos, that I don't need soon. I can store here an article about something, that I want to learn in the future or link for use as an argument in the dispute.&lt;/p&gt;

&lt;h2 id="knowledges"&gt;How I learn&lt;/h2&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y9QpWMD3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/D8x6vxNXUAEPKwS.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--kWS51bNo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/1132562479324848129/97jmtGX2_normal.jpg" alt="David Kistauri profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        David Kistauri
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        &lt;a class="comment-mentioned-user" href="https://dev.to/dtroode"&gt;@dtroode&lt;/a&gt;

      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P4t6ys1m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-f95605061196010f91e64806688390eb1a4dbc9e913682e043eb8b1e06ca484f.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Yesterday started learning &lt;a href="https://twitter.com/sveltejs"&gt;@sveltejs&lt;/a&gt;. Writing all to markdown file. All text is written by me, code from examples. You can see the bold and italic text (red on the left): this is my own thoughts for better memorization 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      12:16 PM - 11 Jun 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1138419790631055360" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1138419790631055360" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      0
      &lt;a href="https://twitter.com/intent/like?tweet_id=1138419790631055360" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      0
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;In the modern world of front end and programming, devs need to learn something every time and renew base of knowledge, that's because I learn something new and repeat something old.&lt;/p&gt;

&lt;p&gt;In the last time, I have opened the new, although primitive way for remembering — write. I write documentation and parallelly in neighbor window writing it. Important! &lt;em&gt;Writing by my own words&lt;/em&gt;, not copy, otherwise, it's just another documentation. Because I am not a native English speaker, learning docs in English and especially writing helps for improving English skills.&lt;/p&gt;

&lt;p&gt;For every new material, I create a new folder for code examples with file &lt;code&gt;learn.md&lt;/code&gt; for writing. All files I contain in Markdown and regularly backup.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;My collection needs new links, send me to &lt;a href="https://twitter.com/dtroode"&gt;Twitter&lt;/a&gt; or to &lt;a href="https://t.me/dtroode"&gt;Telegram&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>learn</category>
      <category>react</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>What I learned after a year and half of developing</title>
      <dc:creator>David Kistauri</dc:creator>
      <pubDate>Sat, 22 Jun 2019 12:21:20 +0000</pubDate>
      <link>https://forem.com/dtroode/what-i-learned-after-a-year-and-half-of-developing-1362</link>
      <guid>https://forem.com/dtroode/what-i-learned-after-a-year-and-half-of-developing-1362</guid>
      <description>&lt;p&gt;I started to code in January 2018. After more than a year I changed a lot of things in my development process.&lt;/p&gt;

&lt;p&gt;First of all, I am a frontend developer. This means that I use HTML, CSS, JS.&lt;/p&gt;

&lt;p&gt;Let's start with a list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atom → Sublime Text → VS Code.
I started to code on codecademy (it's first in &lt;a href="https://www.google.com/search?client=firefox-b-d&amp;amp;q=learn+to+code"&gt;Google&lt;/a&gt;). My first HTML code I copied to Atom and saved on a computer. I have chosen Atom because a long time ago I've searched for a good text editor and see a lot of recommendations. Next, I switched to Sublime Text and loved it. I write a lot of non-realise websites and some realized. Next, I heard about the VS Code. It's been very complicated for me but after a few weeks, I completely switched.&lt;/li&gt;
&lt;li&gt;Beautify → Prettier. It's very hard to format code by hands, so I need to automize this process. I have used Beautify but recently switched to Prettier with config files.&lt;/li&gt;
&lt;li&gt;Default monospace font → Fira Code. The font is a very important thing in the development process. I didn't think much of it before. And once I saw in Twitter some interesting font with a new thing for me — ligatures support. It was Fira Code. Now it's a very popular font.&lt;/li&gt;
&lt;li&gt;jQuery → clean JS. I started to code in JS from jQuery tutorial on YouTube. The tutorial said that jQuery is cleaner, smaller, easier and with jQuery you can write a solution for the task in a few strings that take in JS 200 strings. But after some time I've understand that clean JS has more support, cleaner, easier and takes a minimum of space with default support in browsers.&lt;/li&gt;
&lt;li&gt;CSS → SASS. Just love this

&lt;code&gt;parent { child }&lt;/code&gt;

syntax.&lt;/li&gt;
&lt;li&gt;Jekyll → Gatsby. Gatsby is a more progressive static site generator with a lot of default optimizations.&lt;/li&gt;
&lt;li&gt;Lighthouse → PageSpeed Insights. So I love green scores in Lighthouse and love it. Recently Google moved Lighthouse to the web with more stability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If I remember more, I'll extend an article.&lt;/p&gt;

&lt;p&gt;Write in comments your openings.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Why you need to give Firefox a chance</title>
      <dc:creator>David Kistauri</dc:creator>
      <pubDate>Sat, 22 Jun 2019 08:44:27 +0000</pubDate>
      <link>https://forem.com/dtroode/why-you-need-to-give-firefox-a-chance-5g5a</link>
      <guid>https://forem.com/dtroode/why-you-need-to-give-firefox-a-chance-5g5a</guid>
      <description>&lt;p&gt;We live in the era of browser monopoly. Google occupied the whole web by its Chrome. Chrome has more than 50% of users:&lt;br&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%2Ffz6tvstqupgup3ijw9t5.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%2Ffz6tvstqupgup3ijw9t5.png" alt="Browsers top"&gt;&lt;/a&gt;&lt;br&gt;
Safari is on the second place just because of macOS popularity.&lt;/p&gt;

&lt;p&gt;Now, most of the developers choose between Chrome and Firefox. And in 2017 Mozilla released their updated version of Firefox — Firefox Quantum with new customization settings, better extensions support, privacy and what's more important — speed. 2x faster than old Firefox and faster than Chrome.&lt;br&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%2Foj5ozdji2frqxjg7oebs.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%2Foj5ozdji2frqxjg7oebs.png" alt="Firefox Quantum vs Chrome"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Firefox using their own new engine with new Quantum CSS and Quantum DOM rendering. A lot of explanations &lt;a href="https://hacks.mozilla.org/2017/11/entering-the-quantum-era-how-firefox-got-fast-again-and-where-its-going-to-get-faster/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. And Chrome uses a lot of memory, Firefox — less.&lt;/p&gt;

&lt;p&gt;Also, Firefox has a lot of useful features like &lt;a href="https://twitter.com/nicolaschevobbe/status/1135798960361263104" rel="noopener noreferrer"&gt;showing useless CSS rules&lt;/a&gt; and supports &lt;a href="https://hacks.mozilla.org/2019/05/firefox-67-dark-mode-css-webrender/" rel="noopener noreferrer"&gt;prefers-color-scheme: dark&lt;/a&gt; media rules, that Chrome supports only in beta now.&lt;br&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%2Fmpf3dc4ndob5kiwfc4yo.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%2Fmpf3dc4ndob5kiwfc4yo.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Do you scare about extensions? Now, most developers write their extensions for both Chrome and Firefox.&lt;/p&gt;

&lt;p&gt;And the final reason — stop the monopoly. Give a chance to other companies that smaller and you can see how frontend develops.&lt;/p&gt;

&lt;p&gt;Move all your bookmarks in Firefox for one week and try.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
      <category>chrome</category>
    </item>
  </channel>
</rss>
