<?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: Prathyush</title>
    <description>The latest articles on DEV Community by Prathyush (@prathyvsh).</description>
    <link>https://dev.to/prathyvsh</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%2F347892%2F4b654053-5f66-4133-9f7b-df6ba3e10b14.jpg</url>
      <title>DEV Community: Prathyush</title>
      <link>https://dev.to/prathyvsh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prathyvsh"/>
    <language>en</language>
    <item>
      <title>Starting building Kolam: A Keyboard driven subjunctive history editor</title>
      <dc:creator>Prathyush</dc:creator>
      <pubDate>Sat, 14 Mar 2020 03:38:47 +0000</pubDate>
      <link>https://dev.to/prathyvsh/starting-building-kolam-a-keyboard-driven-subjunctive-history-editor-3141</link>
      <guid>https://dev.to/prathyvsh/starting-building-kolam-a-keyboard-driven-subjunctive-history-editor-3141</guid>
      <description>&lt;p&gt;My eventual goal is to come up with a typeface editor in WebGL. But initially, I want to explore some UI ideas. As a first pass, I’m thinking of building an application that makes maximal use of keyboard for drawing activities. This is because I am charmed by the quick editing capabilities and replayability of macros provided by Vim.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GfvhoTxM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9fq1gmitpcxso57431yr.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GfvhoTxM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9fq1gmitpcxso57431yr.gif" alt="Vim Macros"&gt;&lt;/a&gt;&lt;br&gt;
Source: &lt;a href="https://vimgifs.com/q/"&gt;https://vimgifs.com/q/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is a rudimentary example of this in &lt;a href="https://web.archive.org/web/20200313112427/http://constraint.systems/"&gt;constraint.systems&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BmJzKa_I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bcbn0i0bqc2qv96pjow3.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BmJzKa_I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/bcbn0i0bqc2qv96pjow3.gif" alt="Etch"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is also a cool app called &lt;a href="https://jackschaedler.github.io/goya/"&gt;Goya&lt;/a&gt; that keeps track of the history and allows one to retract the work done with a previewable event history traversal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vS2x65q_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/14dabfenmfxc3vb7pg0j.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vS2x65q_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/14dabfenmfxc3vb7pg0j.jpeg" alt="Goya Pixelart Tool"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I want to see how an app that combines both of these capabilities, that is, keyboard driven editing with try replayable version histories and subjunctive results spawned out of them, would look like. &lt;strong&gt;Keyboard driven editing&lt;/strong&gt; would enable a good amount of possibilities for quick prototyping and gradual refinement. &lt;strong&gt;Replayable version history&lt;/strong&gt; will provide leverage to draw patterns or glyphs that needs to be drawn over and over again. Think Vim macros or the repeat command. &lt;strong&gt;Subjunctive interfaces&lt;/strong&gt; will provide an opportunity to see what potentials multiple branches of histories hold. This is a good reading list by Jeffrey Guenther on &lt;a href="https://github.com/jeffreyguenther/alternatives-reading-list"&gt;subjunctive interfaces&lt;/a&gt;. He has also written a declarative dataflow language to test out his ideas called &lt;a href="https://github.com/jeffreyguenther/shiro"&gt;Shiro&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I am tentatively calling this app — Kolam. The name is derived from Kolam diagrams drawn in South India. I am creating a set of Malayalam glyphs on the side as part of &lt;a href="https://instagram.com/100malayalam"&gt;100 days of type&lt;/a&gt; and I was inspired by the Kolam artwork done by &lt;a href="https://www.instagram.com/self_composed0809/"&gt;Nilay Chourikar&lt;/a&gt; for 36DaysofType in sparking this name.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--szsPvqG5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n5e5ncczxbyk48luccns.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--szsPvqG5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/n5e5ncczxbyk48luccns.jpg" alt="Kolam"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are my inspirations and I’m having a go at this by keeping all these in mind. The work I have carved out for me next is to build a grid - both a line grid as well as a dot grid. Drawing this will be my current task. Let’s see if I’ll be able to finish this by day end. I estimate around 2 ± 1 hour for task completion. I will log the details here once I'm through.&lt;/p&gt;

&lt;p&gt;The Github repo is &lt;a href="https://github.com/prathyvsh/kolam"&gt;here&lt;/a&gt; in case you guys want to check out on my progress.&lt;/p&gt;

</description>
      <category>typography</category>
      <category>webgl</category>
      <category>webassembly</category>
      <category>interfacedesign</category>
    </item>
    <item>
      <title>Getting Mentally and Physically Ready for a Long Term Project</title>
      <dc:creator>Prathyush</dc:creator>
      <pubDate>Fri, 13 Mar 2020 11:15:44 +0000</pubDate>
      <link>https://dev.to/prathyvsh/getting-mentally-and-physically-ready-for-a-long-term-project-2c88</link>
      <guid>https://dev.to/prathyvsh/getting-mentally-and-physically-ready-for-a-long-term-project-2c88</guid>
      <description>&lt;p&gt;Before I get cranking for the day, I want to mention a few things to make myself aware of the psychological/physiological implications of this undertaking.&lt;/p&gt;

&lt;p&gt;Most of my products as &lt;a href="https://twitter.com/marcinignac/status/1238129028411858944"&gt;Marc Ignac&lt;/a&gt; showed in an illustration yesterday have ended up in the debugger's valley and rarely manage to crawl out of this pit to deliver long term value.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8wTz9DOa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cbsu7is2tl9vxonlu8h0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8wTz9DOa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cbsu7is2tl9vxonlu8h0.jpg" alt="Hype Cycle"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So I want to begin by sharing some preparatory resources that I want to mention here to keep me committed to this:&lt;/p&gt;

&lt;p&gt;1/ Help your future self by managing what’s on your plate. Each day you procrastinate is extending the load a bit more, potentially causing your future self to abandon the project seeing the mess you have made.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MLNQTlAx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/malvk1ifwayqbndwt30d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MLNQTlAx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/malvk1ifwayqbndwt30d.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2/ There’s going to be a lot of work than you have anticipated and only by working your due can you arrive at a polished product that will be valuable to the community. But you got to do the due.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_0VQRbyd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lvrjeu431t4ph5q3ihnx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_0VQRbyd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lvrjeu431t4ph5q3ihnx.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, to be sober about this, most of these things are fractal/recursive as detailed in &lt;a href="https://en.wikipedia.org/wiki/Hofstadter%27s_law"&gt;Hofstadter’s law&lt;/a&gt;. Also, there’s a good chance that the &lt;a href="https://en.wikipedia.org/wiki/Ninety-ninety_rule"&gt;99 rule applies here&lt;/a&gt;: last 10% of the work taking 90% of the time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Fe_TCmI5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qnx39q79fvm3tq6iff2o.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Fe_TCmI5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qnx39q79fvm3tq6iff2o.gif" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3/ &lt;strong&gt;Less Talk. More Rock&lt;/strong&gt;. You need to be replenished enough mentally and physically to do this long grind. This is a &lt;a href="https://boingboing.net/features/morerock.html"&gt;really good post&lt;/a&gt; by Superbrothers who made one of the most swagass game out there called Sword and Sworcery.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1oBcHkG---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3uugwzi3n62bhvh6c7tt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1oBcHkG---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3uugwzi3n62bhvh6c7tt.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The time you allot for the project shouldn't narrow enough just to finish the stuff on time, but &lt;strong&gt;wide enough&lt;/strong&gt; to accommodate time to refresh yourself physically and grant you a clear mental space. Regular exercise and a lot of sleep is highly recommended to prevent pernicious psychological crash and burnout.&lt;/p&gt;

&lt;p&gt;Devotion and commitment will be their own reward in this. Discipline and responsibility I have noticed act as a structure to direct the focus towards the goal. One should also be vigilant that the structure doesn't becoming a stricture but leaves enough room for creative exploration and rejuvenation.&lt;/p&gt;

&lt;p&gt;There would be challenges, agonies, breakthroughs, and delight along the way. But to arrive at all these, relentless commitment to the task at hand and a lot of uninterrupted free time is needed.&lt;/p&gt;

&lt;p&gt;Now that I have put out a sort of mini-guide psychological nature of all this, it is time to get into the specifics of building the project. In the next post, I will write about just that.&lt;/p&gt;

</description>
      <category>psychology</category>
      <category>productivity</category>
      <category>health</category>
      <category>burnout</category>
    </item>
    <item>
      <title>WebGL + WebAssembly + Typography</title>
      <dc:creator>Prathyush</dc:creator>
      <pubDate>Thu, 12 Mar 2020 15:02:47 +0000</pubDate>
      <link>https://dev.to/prathyvsh/webgl-webassembly-typography-1gko</link>
      <guid>https://dev.to/prathyvsh/webgl-webassembly-typography-1gko</guid>
      <description>&lt;p&gt;Hey devs!&lt;/p&gt;

&lt;p&gt;First time poster here. There is this idea described by Alan Kay about exploring three distinct subject matters simultaneously until they meet at a common point. I am adopting that approach to build a bezier editor using the new web technologies: WebAssembly and WebGL.&lt;/p&gt;

&lt;p&gt;I have an idea to build a typeface editor and try out some of the cool bezier types like &lt;a href="https://raphlinus.github.io/curves/2018/12/21/new-spline.html"&gt;Spiro&lt;/a&gt; and &lt;a href="https://twitter.com/ra/status/928271016513609728"&gt;Hobby splines&lt;/a&gt; as I think the current quad/cubic bezier splines are a bit of a local minima when it comes to typeface design.&lt;/p&gt;

&lt;p&gt;I will be sharing my journey here as I explore these technologies and approaches. Hope I will be able to share the cool things that I learn along this journey and communicate them in a way that will be helpful for someone exploring similar trails.&lt;/p&gt;

&lt;p&gt;I will be trying to do a journal log per day on this journey. Hope I can keep up the momentum and see this through. Glad to be on dev.to!&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
Prathyush&lt;/p&gt;

</description>
      <category>webgl</category>
      <category>webassembly</category>
      <category>typography</category>
    </item>
  </channel>
</rss>
