<?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: Корчеватель</title>
    <description>The latest articles on DEV Community by Корчеватель (@entropy).</description>
    <link>https://dev.to/entropy</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%2F747459%2F09605b4f-5c8b-4224-ab06-d97453bbd182.png</url>
      <title>DEV Community: Корчеватель</title>
      <link>https://dev.to/entropy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/entropy"/>
    <language>en</language>
    <item>
      <title>Windows apps directories</title>
      <dc:creator>Корчеватель</dc:creator>
      <pubDate>Thu, 13 Apr 2023 09:12:14 +0000</pubDate>
      <link>https://dev.to/entropy/windows-apps-directories-2564</link>
      <guid>https://dev.to/entropy/windows-apps-directories-2564</guid>
      <description>&lt;p&gt;Where the app should store its per use data on Windows? &lt;/p&gt;

&lt;p&gt;If you go to your &lt;code&gt;C:\Users\&amp;lt;username&amp;gt;\AppData&lt;/code&gt; you can see that there are 3 folders are there:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Local&lt;/code&gt; &lt;/li&gt;
&lt;li&gt;&lt;code&gt;LocalLow&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Roaming&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It looks like the folder &lt;code&gt;Local&lt;/code&gt; is where the apps suppose to store their data now. You can get WinAPI &lt;code&gt;SHGetKnownFolderPath()&lt;/code&gt; providing the &lt;code&gt;FOLDERID_LocalAppData&lt;/code&gt; as known path id. I have found this discussion &lt;a href="https://github.com/electron/electron/issues/1404"&gt;https://github.com/electron/electron/issues/1404&lt;/a&gt; relevant. &lt;/p&gt;

&lt;p&gt;But what are the other folders?&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;LocalLow&lt;/code&gt; is for processes that runs in a low integrity mode, this is where this "low" comes from. Processes that runs in low integrity mode are not allowed to access objects that has a higher integrity level, so they cannot write or read to &lt;code&gt;Local&lt;/code&gt; therefore there is a directory for it.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;Roaming&lt;/code&gt; directory does work when there is enterprise and Activity Directory. Data in &lt;code&gt;Roaming&lt;/code&gt; copied on computer from AD when user logs in. It sounded like a good idea that your are logging to another computer in office and still has your personal apps configuration. According to MS docs it is deprecated in Windows 11. &lt;/p&gt;

&lt;p&gt;Many dev apps on my computer do not use "AppData/Local" and save the data in %UserProfile% in a folder like "c:\Users&amp;lt;username&amp;gt;.vscode" and it seems to work fine for them. &lt;/p&gt;

</description>
      <category>winapi</category>
      <category>windows</category>
      <category>programming</category>
    </item>
    <item>
      <title>Subgrid devlog.2</title>
      <dc:creator>Корчеватель</dc:creator>
      <pubDate>Sun, 29 Jan 2023 05:42:19 +0000</pubDate>
      <link>https://dev.to/entropy/subgrid-devlog2-18la</link>
      <guid>https://dev.to/entropy/subgrid-devlog2-18la</guid>
      <description>&lt;h2&gt;
  
  
  Setting up the library
&lt;/h2&gt;

&lt;p&gt;Before I started this devlog, I have already spent few years learning Rust and writing various libraries. Usually as a learning tool I prefer to write the stuff by myself initially, this is how I have got a async executor library, the half baked win32 reactor and the the couple of logging libraries. The approach is very questionable, it always concerns me if I am wasting a ton of my time here. Besides of the learning explanation I have got for myself I also feel uncomfortable how the other libraries manage dependencies and making theirs performance choices. For example, once I though I need something in &lt;code&gt;futures&lt;/code&gt; crate so I have added this a dependency to some demo app. When I have built the project with only &lt;code&gt;futures&lt;/code&gt; dependency I have got this:&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%2F3edje1hfsbqd82o1j9g4.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%2F3edje1hfsbqd82o1j9g4.png" alt="Building the futures crate" width="800" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was not totally that I expected thinkin about &lt;code&gt;futures&lt;/code&gt; as a kind of utility code. Now for one small feature I have like 20 crates in dependencies and 45 sec of debug build.&lt;/p&gt;

&lt;p&gt;Anyway when I proceed to subgrid I have started with some well known crates as dependencies for subgrid library and its demo app:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ab_glyph&lt;/code&gt; - rendering font glyphs. making own ttf parsing and rendering is too much even for me. The author seems to care about his dependencies as well. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;winit&lt;/code&gt; implement as win32 application that opens a simple GUI window&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;softbuffer&lt;/code&gt; - helper library for winit to render a &lt;code&gt;Vec&amp;lt;u32&amp;gt;&lt;/code&gt; as RGBA bitmap&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So now I have an app that opens window and can render glyphs into the bitmap and then to a screen.&lt;/p&gt;

</description>
      <category>gratitude</category>
    </item>
    <item>
      <title>Subgrid devlog.1</title>
      <dc:creator>Корчеватель</dc:creator>
      <pubDate>Wed, 18 Jan 2023 12:47:31 +0000</pubDate>
      <link>https://dev.to/entropy/subgrid-devlog1-a99</link>
      <guid>https://dev.to/entropy/subgrid-devlog1-a99</guid>
      <description>&lt;p&gt;This is the start of devlog of an experimental UI library inspired by the text video modes of the past and their console UI. Typical terminal emulator is a regular grid where each cell contains a exactly one character drawn with a monospaced font. Some terminals are known to use two cells to draw the characters like CJK.&lt;/p&gt;

&lt;p&gt;This experiment is to verify if text mode approach with smaller cells makes sense. With smaller cells even the ASCII character can occupy several cells, for example the "i" letter takes one cell, the "A" takes two cells and the wider symbols like "W" takes three cells.&lt;/p&gt;

&lt;p&gt;Why would anyone would like to do this? Well, with smaller cells we can have high information density by using the duospaced fonts and UI decorations.&lt;/p&gt;

</description>
      <category>career</category>
      <category>productivity</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>Начинаю</title>
      <dc:creator>Корчеватель</dc:creator>
      <pubDate>Mon, 08 Nov 2021 04:55:00 +0000</pubDate>
      <link>https://dev.to/entropy/nachinaiu-4hem</link>
      <guid>https://dev.to/entropy/nachinaiu-4hem</guid>
      <description>&lt;p&gt;Завел себе dev.to аккаунт потому что иногда за закрепления хочется записать то что нарыл. &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
