<?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: Anthony Symkowick</title>
    <description>The latest articles on DEV Community by Anthony Symkowick (@aymswick).</description>
    <link>https://dev.to/aymswick</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%2F128236%2Fd2374c95-397d-47f1-82c3-0fde69423987.jpg</url>
      <title>DEV Community: Anthony Symkowick</title>
      <link>https://dev.to/aymswick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aymswick"/>
    <language>en</language>
    <item>
      <title>Tiny Invisible Machines</title>
      <dc:creator>Anthony Symkowick</dc:creator>
      <pubDate>Mon, 27 Jul 2020 03:39:54 +0000</pubDate>
      <link>https://dev.to/aymswick/tiny-invisible-machines-2k7h</link>
      <guid>https://dev.to/aymswick/tiny-invisible-machines-2k7h</guid>
      <description>&lt;p&gt;At this exact moment on Earth, nature’s symphony is accompanied by the persistent hum of billions of tiny machines we have embedded into reality. These machines are dictated by the slightest variance in electrical impulses and power the world economy, yet only a small subset of us are privileged enough to ponder the implications of such invisible architecture. Fewer still have the magical combination of ability, power, and luck required to influence the design and implementation of these systems which will govern &lt;em&gt;all&lt;/em&gt; of our lives. That is why as software developers, we have an urgent responsibility to build &lt;em&gt;strictly and solely&lt;/em&gt; systems which respect the rights of its users, to educate our peers in other disciplines about the systems and their common pitfalls, and to demand public ownership of essential infrastructure.&lt;/p&gt;

&lt;p&gt;You are likely not aware that the software you interact with is imbued with ulterior motives. How can a bunch of words and buttons on a screen &lt;em&gt;disrespect&lt;/em&gt; you? Thanks to the cunning legal teams behind major commercial software companies, the apps you run on your phone, tablet, and computer are allowed to perform egregious violations of your privacy while you watch your friends’ social broadcasts. And in the United States, thanks to a defanged regulatory body and increasing oligarchic control of the legislature, the companies which siphon the most data about your personal habits grow the fastest - thus incentivizing &lt;em&gt;all&lt;/em&gt; companies to adopt this strategy or die. The practice of collecting, processing, and analyzing users’ behavior to create digital shadows upon which advertising campaigns can modeled gives way to the absurdly high stock valuations which currently prop up our economy. By commodifying individuality, Big Tech has laid the groundwork for a marketplace of souls. How much are you worth?&lt;/p&gt;

&lt;p&gt;Thankfully, a &lt;a href="https://www.fsf.org/about/"&gt;free software movement&lt;/a&gt; exists to provide shelter from these exploitative platforms. Free software bestows “four freedoms” onto its users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;(freedom 0) the freedom to run the program as you wish, for any purpose&lt;/li&gt;
&lt;li&gt;(freedom 1) the freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.&lt;/li&gt;
&lt;li&gt;(freedom 2) the freedom to redistribute copies so you can help your neighbor.&lt;/li&gt;
&lt;li&gt;(freedom 3) the freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When software is licensed according to these ideals, users can interrogate the electrons transporting their personal data, decide whether the functionality the software offers is worth the extraction, and sidestep the data → information → knowledge pipeline feeding into the surveillance software sludge factory.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Open Web Rant</title>
      <dc:creator>Anthony Symkowick</dc:creator>
      <pubDate>Fri, 10 Jul 2020 20:30:52 +0000</pubDate>
      <link>https://dev.to/aymswick/open-web-rant-9jj</link>
      <guid>https://dev.to/aymswick/open-web-rant-9jj</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I8feWedN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://symkowick.org/images/spiderweb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I8feWedN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://symkowick.org/images/spiderweb.jpg" alt="Spiderweb"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Web is Being Polluted by Capital
&lt;/h2&gt;

&lt;p&gt;I believe that the internet should be a freely available utility for all people. In itspurest form, the internet is the technology that enables the web - a portal through whichevery global citizen can access the totality of human knowledge &lt;em&gt;for free&lt;/em&gt;. Insantaneousfree access to knowledge is the clearest facilitator of education we have witnessed sincethe invention of the printing press, and should be embraced as a tool forcourse-correcting centuries of global inequality deliberately inflicted by therestriction of knowledge to elite groups. When corrupted by the financial allure ofcentralization, the internet becomes a platform for exploitation and manipulation of theleast privileged members of society. My personal aspiration is to act in some way toreverse the trend toward this reality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stop Helping Them
&lt;/h2&gt;

&lt;p&gt;I am greatly concerned about the consolidation of corporate control over the underlyingphysical infrastructure and technical implementation that powers the web. As a softwaredeveloper, I am deeply troubled that many of my peers are forced by financial necessityto work for organizations which are actively destroying the vision of the open web somany of us share. For this reason, I have taken an ethical stance to remove myself fromthe process of building a user-hostile web - I refuse to work for typical Silicon Valleycompanies who place shareholder value over social responsibility; I will no longer buildinfrastructure for any arm of the military industrial complex, nor will I assist in thecolonization of the web for the wealthy. I urge my peers who are in similar positions ofprivilege to join me in this pledge.&lt;/p&gt;

&lt;p&gt;We deserve to spend our engineering talent workingfor organizations that create meaningful, accessible products &amp;amp; services &lt;em&gt;without&lt;/em&gt; cannibalizing thesociety which enabled them to grow in the first place. The world will be a better placewhen engineers are poised to solve the immediate crises of our time - climateinstability, discriminatory allocation of housing &amp;amp; food, and the hijacking of computernetworks to enable state-sponsored surveillance and propaganda. You are not responsiblefor the circumstance you are born into, but you are the only one with the power to getout.&lt;/p&gt;

&lt;h2&gt;
  
  
  IEEE Computer Society Code of Ethics
&lt;/h2&gt;

&lt;p&gt;For starters, let’s take a look at the &lt;a href="https://www.computer.org/education/code-of-ethics"&gt;Code of Ethics&lt;/a&gt; from a prominent professional societywithin one of the largest (and oldest) computingorganizations in the world - The IEEE (Institute of Electrical and Electronics Engineers) ComputerSociety! The preamble begins below:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Computers have a central and growing role in commerce, industry, government, medicine, education, entertainment and society at large. Software engineers are those who contribute by direct participation or by teaching, to the analysis, specification, design, development, certification, maintenance and testing of software systems. Because of their roles in developing software systems, software engineers have significant opportunities to do good or cause harm, to enable others to do good or cause harm, or to influence others to do good or cause harm. To ensure, as much as possible, that their efforts will be used for good, software engineers must commit themselves to making software engineering a beneficial and respected profession. In accordance with that commitment, software engineers shall adhere to the following Code of Ethics and Professional Practice. &lt;a href="https://www.computer.org/education/code-of-ethics"&gt;IEEE CS&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I’d like to highlight the inclusion of the line &lt;em&gt;“To ensure…that their efforts will beused for good, software engineers must commit themselves to making software engineering abeneficial and respected profession”&lt;/em&gt; as by now it has become clear to the average citizen that weas an industry are quite far from this goal. &lt;a href="https://www.propublica.org/article/facebook-advertising-discrimination-housing-race-sex-national-origin"&gt;Facebook harvests your data to sellhypertargeted ads - discrimination laws be damned&lt;/a&gt;, &lt;a href="https://www.theverge.com/2020/5/26/21270290/youtube-deleting-comments-censorship-chinese-communist-party-ccp"&gt;Google is courting China with political censorship&lt;/a&gt;, &lt;a href="https://www.seattletimes.com/business/amazons-heavily-automated-hr-leaves-workers-in-sick-leave-limbo-amid-coronavirus-crisis/"&gt;Amazon ignores the health and safety of its warehouse workers during a global pandemic&lt;/a&gt;, and &lt;a href="https://www.propublica.org/article/how-china-built-a-twitter-propaganda-machine-then-let-it-loose-on-coronavirus"&gt;virtually every major social network is laden with state-sponsored propaganda&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Is this because software engineers lean libertarian or simply have a laissez-faire attitudetoward technology’s impact on society? No. While I believe the responsibility lies with usengineers, the Big Tech oligarchs (and their profit-driven boards) are at ultimately atfault. The leader of an organization sets the tone for every member below them, and forthe entirety of my life, massive corporate giants have pushed knowledge workers to theprecipice of treason in the name of infinite growth, feeding their egos with missionstatements to “change the world”, disguising the chance to architect platforms of oppression as those of &lt;em&gt;expression&lt;/em&gt;, and numerous other forms of tactful misdirection.&lt;/p&gt;

&lt;p&gt;What follows this paragraph is a list of 8 principles that IEEE CS suggests embody the spirit of ethical software development. Critically, the &lt;em&gt;first&lt;/em&gt; responsbility we have is to the public interest!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tRjiOYt---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://symkowick.org/images/ethics-code-iee-cs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tRjiOYt---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://symkowick.org/images/ethics-code-iee-cs.png" alt="Eight Principles - IEEE CS Code of Ethics"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;PUBLIC – Software engineers shall act consistently with the public interest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CLIENT AND EMPLOYER – Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PRODUCT – Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JUDGMENT – Software engineers shall maintain integrity and independence in their professional judgment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MANAGEMENT – Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PROFESSION – Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;COLLEAGUES – Software engineers shall be fair to and supportive of their colleagues.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;SELF – Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Public interest is priority number one, above &lt;em&gt;employers&lt;/em&gt; and &lt;em&gt;product&lt;/em&gt; and even &lt;em&gt;self&lt;/em&gt;.If you are a user of the proprietary platforms mentioned above, ask yourself whethertheir leadership (Mark Zuckerberg, Jeff Bezos, Peter Thiel, etc) has &lt;em&gt;ever&lt;/em&gt; acted in thepublic interest. If you can find an example, consider that good deed against the backdropof violations - in some cases the total subversion of democracy - and drop me a line at &lt;a href="//mailto:anthony@symkowick.org"&gt;anthony@symkowick.org&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sources:
&lt;/h3&gt;

&lt;p&gt;Code of Ethics: IEEE Computer Society. (n.d.). Retrieved from &lt;a href="https://www.computer.org/education/code-of-ethics"&gt;https://www.computer.org/education/code-of-ethics&lt;/a&gt;Copyright © 1999 by the Institute for Electrical and Electronics Engineers, Inc. and the Association for Computing Machinery, Inc.&lt;/p&gt;

&lt;p&gt;Day, M. (2020, June 5). Amazon’s heavily automated HR leaves workers in sick-leave limbo amid coronavirus crisis. Retrieved from &lt;a href="https://www.seattletimes.com/business/amazons-heavily-automated-hr-leaves-workers-in-sick-leave-limbo-amid-coronavirus-crisis/"&gt;https://www.seattletimes.com/business/amazons-heavily-automated-hr-leaves-workers-in-sick-leave-limbo-amid-coronavirus-crisis/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hern, A. (2017, June 19). Facebook and Twitter are being used to manipulate public opinion – report. Retrieved from &lt;a href="https://www.theguardian.com/technology/2017/jun/19/social-media-proganda-manipulating-public-opinion-bots-accounts-facebook-twitter"&gt;https://www.theguardian.com/technology/2017/jun/19/social-media-proganda-manipulating-public-opinion-bots-accounts-facebook-twitter&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kao, J., &amp;amp; Li, M. S. (n.d.). How China Built a Twitter Propaganda Machine Then Let It Loose on Coronavirus. Retrieved from &lt;a href="https://www.propublica.org/article/how-china-built-a-twitter-propaganda-machine-then-let-it-loose-on-coronavirus"&gt;https://www.propublica.org/article/how-china-built-a-twitter-propaganda-machine-then-let-it-loose-on-coronavirus&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vincent, J. (2020, May 26). YouTube is deleting comments with two phrases that insult China’s Communist Party. Retrieved from &lt;a href="https://www.theverge.com/2020/5/26/21270290/youtube-deleting-comments-censorship-chinese-communist-party-ccp"&gt;https://www.theverge.com/2020/5/26/21270290/youtube-deleting-comments-censorship-chinese-communist-party-ccp&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Does Your Terminal Spark Joy?</title>
      <dc:creator>Anthony Symkowick</dc:creator>
      <pubDate>Thu, 21 May 2020 04:19:27 +0000</pubDate>
      <link>https://dev.to/aymswick/does-your-terminal-spark-joy-4oj1</link>
      <guid>https://dev.to/aymswick/does-your-terminal-spark-joy-4oj1</guid>
      <description>&lt;p&gt;While the list of development tools we have to choose from grows every day, thehumble unix terminal beckons us with simplicity and the promise of adistraction-free experience. Once you’ve conquered the initial learning curveof navigating a command-line interface, you may be craving some sugary featuresyou gave up ditching IDEs (Integrated Development Environments). Surely theremust be some middle ground between a lone blinking cursor and clunky GUIs(Graphical User Interfaces)!&lt;/p&gt;

&lt;p&gt;Read ahead for some helpful &lt;em&gt;reimagininings&lt;/em&gt; of classic Unix tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. man &amp;amp; tldr
&lt;/h2&gt;

&lt;p&gt;First I’d like to share the &lt;a href="https://tldr.sh/"&gt;&lt;strong&gt;tldr&lt;/strong&gt;&lt;/a&gt; command, which provides a “just get me upand running” familiarity with many unix commands. Inspired by the &lt;strong&gt;man&lt;/strong&gt; command to read manual pages for a program, tldr is much more concise and showscommon one-line examples of how a program is used. Yes, you should still readthe man page, but this can save you some time.&lt;/p&gt;

&lt;p&gt;Compare the results below for Hugo, a static site generator:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ man hugo

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W8HdvlWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/man-hugo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W8HdvlWH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/man-hugo.gif" alt="man"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;lots of info there…could be a while!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ tldr hugo

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There we go! Immediately I know how the developer of hugo intends me to use it -just type &lt;strong&gt;hugo new site&lt;/strong&gt; in any directory I’d like to create my website.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pZ-iOSJS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/tldr-hugo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pZ-iOSJS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/tldr-hugo.gif" alt="tldr"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Cat -&amp;gt; Bat
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="http://man7.org/linux/man-pages/man1/cat.1.html"&gt;&lt;strong&gt;Cat&lt;/strong&gt;&lt;/a&gt; command is pretty muchunavoidable when working with the terminal - it allows concatenation of files(and printing them to standard output) and is the most common way to simplyspit out the contents of a file!&lt;/p&gt;

&lt;p&gt;If I wanted to see the contents of a JavaScript file, I would simply:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cat example.js

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and we would get the contents of the file, simply and without fanfare:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Vu-Y5leD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/cat.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Vu-Y5leD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/cat.gif" alt="cat"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is great, but the &lt;a href="https://github.com/sharkdp/bat"&gt;&lt;strong&gt;bat&lt;/strong&gt;&lt;/a&gt; command improvesreadability of code by adding line numbers and syntax highlighting, all withoutsacrificing POSIX compatibility for piping into other programs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ batcat example.js

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RG_Fc6nr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/bat.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RG_Fc6nr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/bat.gif" alt="bat"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Awesome! It even opens in a pager (like the &lt;em&gt;less&lt;/em&gt; command) for verticalscrolling. If you want this functionality by using the same keyword - cat - youcan set up an alias in your shell. I use &lt;a href="http://www.zsh.org/"&gt;zsh&lt;/a&gt;, and havealiased bat as follows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias cat="batcat -n --color auto --style full"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. du -&amp;gt; dust
&lt;/h2&gt;

&lt;p&gt;The &lt;em&gt;du&lt;/em&gt; command shows disk usage and can be used to determine whichdirectories are taking up the most space - useful when you’ve run out of saidspace!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ du

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qyanf1pW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/du.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qyanf1pW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/du.gif" alt="du"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;er, ok, looks like we are listing folders and files with numbers prepended totheir entries. Hmm. You can see that it’s gonna take some grokking to make sense of thisdata.&lt;/p&gt;

&lt;p&gt;Let’s try the rust replacement, &lt;a href="https://github.com/bootandy/dust"&gt;&lt;strong&gt;dust&lt;/strong&gt;&lt;/a&gt; - like du but more intuitive, (straight from thetool website)!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ dust

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--q0drdkM8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/dust.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--q0drdkM8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/dust.gif" alt="dust"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wow, right away we are given a hierarchical view of the items within theDownloads folder - accompanied by a graph of size by percentage - or how much ofthe total folder size each subfolder is responsible for. Neat! Looks like thatrecent free dump of &lt;a href="https://www.springer.com/us"&gt;Springer Textbooks&lt;/a&gt; is takingup 68%! Do I really need &lt;em&gt;all&lt;/em&gt; those books??&lt;/p&gt;

&lt;p&gt;Dust is great for finding size of files, but how about our primary interfacefor dealing with files and directories in the shell?&lt;/p&gt;

&lt;h2&gt;
  
  
  3. ls -&amp;gt; exa
&lt;/h2&gt;

&lt;p&gt;ls is the simple “show me what you got” program to list all items in adirectory. It has some helpful options to enable showing hidden/dot files, filesizes, permissions, and more. The below example will show off listing all(including hidden) files in the &lt;strong&gt;-l&lt;/strong&gt; long format to get those other items Imentioned.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ ls -la --color

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Er0wbhWV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/ls.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Er0wbhWV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/ls.gif" alt="ls"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This looks all right, and &lt;strong&gt;ls&lt;/strong&gt; is pretty configurable as far as output formats.However, with &lt;a href="https://the.exa.website/"&gt;&lt;strong&gt;exa&lt;/strong&gt;&lt;/a&gt; we get some enhanced color andsane defaults.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ exa -la

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--v2TtmndF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/exa.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--v2TtmndF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://symkowick.org/images/exa.gif" alt="exa"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See how the permissions and owners are also color-coordinated? Nice. The exawebsite also notes that exa runs in parallel, so you might see much fasterperformance working in huge directories.&lt;/p&gt;

&lt;p&gt;Those are just a few handy tools I’ve been exposed to recently that I thinkmight help you. The year is 2020, and we can live in whatever time we want -a splash of 1970 with &lt;a href="https://github.com/Swordfish90/cool-retro-term"&gt;Cool RetroTerm&lt;/a&gt; mixed with powerful 2020tools! If you enjoyed this post, please let me know, and if you have anyquestions or noticed a mistake, feel free to reach out! If you read throughthis blog post and thought, man, I’ve already known about these for years and Ibreezed through this refresher, kudos to you, friend! But I’ve got somethingfor you too - check out &lt;a href="https://www.nushell.sh/"&gt;Nushell&lt;/a&gt;, it fits the themeof this blog post but expands it to the whole shell itself. Nushell toutscomposable tables as the primary method of interaction as opposed to totallyunstructured text.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Work Is Cancelled, Thanks COVID-19</title>
      <dc:creator>Anthony Symkowick</dc:creator>
      <pubDate>Thu, 26 Mar 2020 17:56:02 +0000</pubDate>
      <link>https://dev.to/aymswick/work-is-cancelled-thanks-covid-19-15kc</link>
      <guid>https://dev.to/aymswick/work-is-cancelled-thanks-covid-19-15kc</guid>
      <description>&lt;p&gt;!function(){&amp;amp;quot;use stric t&amp;amp;quot;;window.addEventListener(&amp;amp;quot;message&amp;amp;quot;,function(a){if(void 0!==a.data[&amp;amp;quot;datawrapper-height&amp;amp;quot;])for(var e in a.data[&amp;amp;quot;datawrapper-height&amp;amp;quot;]){var t=document.getElementById(&amp;amp;quot;datawrapper-chart-&amp;amp;quot;+e)||document.querySelector(&amp;amp;quot;iframe[src*=&amp;amp;#39;&amp;amp;quot;+e+&amp;amp;quot;&amp;amp;#39;]&amp;amp;quot;);t&amp;amp;amp;&amp;amp;amp;(t.style.height=a.data[&amp;amp;quot;datawrappe r-height&amp;amp;quot;][e]+&amp;amp;quot;px&amp;amp;quot;)}})}();&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;
    24 &lt;a href="https://www.flattenthecurve.com/"&gt;https://www.flattenthecurve.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello Compassionate Coders, Free Software Enthusiasts, &amp;amp; the Greater Millenial &lt;del&gt;Workforce&lt;/del&gt; Quarantine Squad!&lt;/p&gt;

&lt;p&gt;So, I completed my search. After just over 1 month and after many punishingly difficult (failed) coding tests, I found a great job with great pay and a great work environment. I was all set to move when COVID-19 infection rates began climbing in the United States. I reached out to the company proactively, wondering if all this talk of curve-flattening and government lockdown would postpone my start date or worse. It was worse. I got a call the next day from a panicked &amp;amp; genuinely concerned “Head of Talent Acquisition” informing me with brevity and certainty that my signed employment contract, along with its generous bonus, were now being rescinded - and the Security Engineer position I was being brought on for &lt;em&gt;cancelled&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Wow. A sludge of emotion rose up inside of me as I realized the implication of what was being said to me through the phone. The time and energy spent searching, applying, test-taking, more test-taking, interviewing for behavior, for techincal prowess, for culture-fit. Buying a suit - remembering how to physically get in the suit and pass as self-respecting adult. All for nothing. I asked some clarifying questions that didn’t really need to be asked - what? it’s cancelled altogether? What about a delay? Am I still going to be hired when this virus blows over? No, the company at this point could commit to nothing more that “we’re sorry, your job is cancelled and we hope to talk with you in the future.”&lt;/p&gt;

&lt;p&gt;And who can blame them? I’d be lying if I said I had analyzed the company’s economic viability or the resiliency of their business (savings, daily operating costs, etc) - and the first people I would cut in times of financial ruin would be those I had the shortest relationships with. While I am incredibly disappointed by this success turned failure, I would like to think that because I was not hired, at least one other person already working there - someone with a family, a routine, a home - got to keep their job. I have a relatively low cost of living, without dependents and with renting my apartment my main expense. I was in the job market on purpose - not because I had been laid off and thrown into the raging depths of unemployment by some misfortune, but by my own volition had jumped ship in search of some more meaningful, ethical work. Even in setback, I have luck and privilege above many of my peers, and will continue to live in solidarity with those struggling most.&lt;/p&gt;

&lt;p&gt;And I’ll continue my own job search immediately, with fervor, because I know that’s what you all would do in my shoes.&lt;/p&gt;

&lt;p&gt;Back to the drawing board.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Development Environment #1</title>
      <dc:creator>Anthony Symkowick</dc:creator>
      <pubDate>Tue, 14 Jan 2020 04:25:19 +0000</pubDate>
      <link>https://dev.to/aymswick/development-environment-1-16mg</link>
      <guid>https://dev.to/aymswick/development-environment-1-16mg</guid>
      <description>&lt;p&gt;Hello. Lately I’ve been trying to shape myself into a craftsman who works in a few different mediums at least a few times per week. I find that writing about my desires for technical growth keeps my honest about progression. Purposeful declaration of intent is the first step to reaching beyond yourself, right? I’ll explain how I work, how I &lt;em&gt;wish&lt;/em&gt; I worked, and share the single nugget of wisdom I mined this week.&lt;/p&gt;

&lt;p&gt;Android Development:- Macbook Pro 2012 15” i7 16GB RAM + SSD- Dual monitors (1 1440p wide &amp;amp; 1 1080 vertical) on free swinging arm mounts- Android Studio (Stable Channel)- Google Pixel 3XL &amp;amp; Samsung Galaxy S8+- ikea auto-standing desk&lt;/p&gt;

&lt;p&gt;Since full-fleged application development demands frequent context-switching and multiple concurrent views for code, configuration, layout, build, debug, etc, I’m constrained to a “real computer”. I use MacOS, despite the fact that many of its features are vestiges of a dying metaphor for computational productivity - I’ve had this machine for 7 years and it is sort of like an old truck in terms of reliability and power; it’ll be there to help you move even if it lacks the torque of newer models. I try to only use this thing in “clamshell” mode, docked to my very adhoc workstation monitors. I’ve been thinking of converting to the linux-on-a-mac religion and installing debian.&lt;/p&gt;

&lt;p&gt;Systems Engineering / DevOps Exploration:- Raspberry Pi 3B+ NAS w/ old laptop HDDs &amp;amp; 3D printed rack- Raspberry Pi Zero- iPad Pro w/ smart keyboard &amp;amp; Termius&lt;/p&gt;

&lt;p&gt;Like any lazy learner, I owned a raspberry pi for far too long before I did anything even remotely productive with it. Eventually I decided that since I aspire to be a better caretaker of code, I could start by learning how to take care of the machines through which we interface. While I’ve installed PiHole on one to black-hole advertisements in my apartment, I use the other as a playground for lite web design + development, python for little API widgets (YouTube, Twitter), and a NextCloud server connected to my old laptop harddrives so I can replace cloud backup services. Overall, I’ve learned so much more than the ~$40 I spent on these things - so cool because I’m not afraid to break them.&lt;/p&gt;

&lt;p&gt;Forgive me Stallman, for I have sinned in the form of an iPad - I had been yearning for a lighter machine that could be powerful enough to do code and writing tasks but simple enough to let me lead the experience and not be drawn in by the dreaded “tweaks” syndrome which affects me on big machines. I hate windows. It is bad, it is a bad operating system by performance and ergonomics standpoints, looks like robots designed it, and now habitually pesters you about Bing in the same place where you receive critical email and chat notifications. At this point I’d expect they’re at least trying to find some way to put ads in the firmware. I couldn’t find a Linux tablet or cheap laptop that seemed both reliable and carefully thought out from a user experience perspective, and the recent spinoff of iOS into iPadOS piqued my interest.&lt;/p&gt;

&lt;p&gt;So, I bought it. I took it home, had a lot of fun with it right away as the screen is &lt;em&gt;saucy&lt;/em&gt; and GarageBand is pre-installed. Then I started to get to work, jailbreaking it and testing the viability of Cydia apps on the iPad in 2019. Spoiler: It’s not. It’s not even called Cydia anymore. I miss you, Saurik. You are the Obi Wan Kenobi to Geohot’s Anakin Skywalker. I remembered that someone on reddit touted a mere &lt;em&gt;App Store&lt;/em&gt; app as possibly the best terminal experience on iOS, and went to Google it - no, DuckDuckGo it - duck it? Well, it turns out, Termius is amazing and does exactly what I need it to do. Save SSH profiles and give me a terminal with a useful touch interface. Now I can find a song on shuffle at work, remote in to my persistent backup, and youtube-dl it into my personal library. Streaming is great for discovery, but I don’t think I should make it my primary listening experience. Anyway, yeah, it’s great. Now if only we could get Android Studio on this thing…&lt;/p&gt;

&lt;p&gt;Linux (Low Level Learning):- $5 Digital Ocean Droplet (Debian) hosting a webserver- Friend’s secondhand server equipment (Debian)- Purism Librem 5 (an upcoming mobile phone based on Debian and endorsed by the Free Software Foundation)&lt;/p&gt;

&lt;p&gt;I use the digitalocean box to host websites, mostly. Angular is cool, I built a small website and then replaced it with a Ghost blog - but will soon reattach the Angular homepage. I got the chance to poke at some retired server equipment with a friend which quickly led to us hosting a Minecraft server - it always leads to this - on which I spent too much time on and then not enough time on - this also always happens.&lt;/p&gt;

&lt;p&gt;I am a very late student of the Free Software movement - I only stumbled in because I believe in sharing. I now understand how the free software ideology was co-opted by corporations into the term “open source” and purged of all radical socialism. I find his thoughts on power (political not electrical) quite compelling. I summarize my readings of Stallman technopolitics as thus: As someone with some power, I should help others get their fair share of power, because I stand on the shoulders of giants. His views on software development are commendable. Ironically, he seems to believe in freedom in quite a strict sense and is often combative in the interview clips I could find. By tapping into the free software webiverse, I came across the social purpose company Purism which has been working to produce a pure Linux phone with hardware killswitches and voted with my dollars against the surveillance capitalism duopoly. I really hope this thing ships.&lt;/p&gt;

&lt;p&gt;That’s it. That’s what I do. I wish I was a 10x developer and was pro at every task and tool listed above - I wish I could stop having to hit the arrow keys vim - like forever.&lt;/p&gt;

&lt;p&gt;Here’s my nugget of the week:&lt;/p&gt;

&lt;p&gt;If communication structure determines system design, there is a third phase in which those systems influence the users upon whom its design is impressed. So, naturally, obviously, if we build a system by authoritatively controlling the flow of information among involved parties rather than freely allowing each member to read, understand, and extend the system as a whole, we will encourage our users to think it is okay to trust authoritarian figures.&lt;/p&gt;

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