<?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: István Lantos</title>
    <description>The latest articles on DEV Community by István Lantos (@djviolin).</description>
    <link>https://dev.to/djviolin</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%2F17465%2Fc5890008-7ffe-452c-ad86-1a1fe12b77f6.jpeg</url>
      <title>DEV Community: István Lantos</title>
      <link>https://dev.to/djviolin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/djviolin"/>
    <language>en</language>
    <item>
      <title>Super simple and fast delimited CSV data normalization with AWK</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Wed, 25 Jul 2018 20:01:06 +0000</pubDate>
      <link>https://dev.to/djviolin/super-simple-and-fast-delimited-csv-data-normalization-with-awk-1ej6</link>
      <guid>https://dev.to/djviolin/super-simple-and-fast-delimited-csv-data-normalization-with-awk-1ej6</guid>
      <description>&lt;p&gt;There was a discussion &lt;a href="https://dev.to/ben/which-programming-languageenvironment-is-more-powerful-than-people-realize-3cle"&gt;here&lt;/a&gt; on dev.to which programming language or tool more powerful than people realize?&lt;/p&gt;

&lt;p&gt;I shared my AWK snippet, where I normalize a 8GB sized delimited CSV data source for database import, only with AWK, as fast as a Go counterpart program. This task completes in 7 minutes on my home machine, same as my Go code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight awk"&gt;&lt;code&gt;&lt;span class="c1"&gt;#!/usr/bin/awk -f&lt;/span&gt;

&lt;span class="c1"&gt;# This block only runs once at the start, before the first line&lt;/span&gt;
&lt;span class="c1"&gt;# Use this to print CSV header on the top&lt;/span&gt;
&lt;span class="kr"&gt;BEGIN&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kc"&gt;FS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"|"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# input field separator&lt;/span&gt;
    &lt;span class="kc"&gt;OFS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"|"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# output field separator&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# This block runs at every line&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;# We will order a new named variable to every column&lt;/span&gt;
    &lt;span class="nx"&gt;line&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# variable `$0` stores the entire line&lt;/span&gt;
    &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="nx"&gt;body&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$3&lt;/span&gt;
    &lt;span class="nx"&gt;tags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;$4&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;line&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="sr"&gt;/^$/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# if line is blank, then skip it&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;NF&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;# if column count is not equal to 4, then skip the line&lt;/span&gt;

    &lt;span class="c1"&gt;# Skip any line where tags column contains the word "cars"&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"cars"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="k"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;# Normalize the url column with regex by only keeping the article id&lt;/span&gt;
    &lt;span class="c1"&gt;# Example input: &amp;lt;a href="https://example.com/article/foo123456"&amp;gt;Hello&amp;lt;/a&amp;gt;&lt;/span&gt;
    &lt;span class="nb"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/.*example&lt;/span&gt;&lt;span class="se"&gt;\.&lt;/span&gt;&lt;span class="sr"&gt;com&lt;/span&gt;&lt;span class="se"&gt;\/&lt;/span&gt;&lt;span class="sr"&gt;article&lt;/span&gt;&lt;span class="se"&gt;\/&lt;/span&gt;&lt;span class="sr"&gt;|&lt;/span&gt;&lt;span class="se"&gt;[\0&lt;/span&gt;&lt;span class="sr"&gt;42&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&gt;.*/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;# outputs: foo123456&lt;/span&gt;

    &lt;span class="c1"&gt;# Skip lines that has non-alphanumeric characters in url column (like &amp;lt;&amp;gt;#&amp;amp;@)&lt;/span&gt;
    &lt;span class="c1"&gt;# Skip lines that has empty url column (after gsub normalization)&lt;/span&gt;
    &lt;span class="c1"&gt;# Skip lines where url starts with foo or bar&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;!~&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[&lt;/span&gt;&lt;span class="sr"&gt;[:alnum:&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&gt;]/&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
        &lt;span class="nb"&gt;length&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt;
        &lt;span class="nx"&gt;url&lt;/span&gt; &lt;span class="o"&gt;~&lt;/span&gt; &lt;span class="sr"&gt;/^foo|^bar/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;next&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;# Replace multiple ; with one (needed for errorless CSV import in Postgres)&lt;/span&gt;
    &lt;span class="nb"&gt;gsub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;[\0&lt;/span&gt;&lt;span class="sr"&gt;73&lt;/span&gt;&lt;span class="se"&gt;]&lt;/span&gt;&lt;span class="sr"&gt;+/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;";"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;# Print the line with OFS, aka: profit! :)&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt; &lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;tags&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;Then you should run this with:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ zcat my-csv-file.zip | ./normalize.awk | sort --field-separator="|" --key=1,1 &amp;gt; normalized-sorted.csv&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Pro tip: combine this with &lt;code&gt;tail&lt;/code&gt; command when updating DB later on. ;)&lt;/p&gt;

&lt;p&gt;Maybe you find this snippet useful and saves you countless time to develop similar solution in Python or Go. You're welcome!&lt;/p&gt;

&lt;p&gt;If you have anything to add or modify, then shoot me!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>tutorial</category>
      <category>productivity</category>
      <category>bigdata</category>
    </item>
    <item>
      <title>How to import a big delimited datatable into AWS DynamoDB without opening your piggy bank?</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Tue, 24 Apr 2018 14:35:50 +0000</pubDate>
      <link>https://dev.to/djviolin/how-to-import-a-big-delimited-datatable-into-aws-dynamodb-without-opening-your-piggy-bank-ncb</link>
      <guid>https://dev.to/djviolin/how-to-import-a-big-delimited-datatable-into-aws-dynamodb-without-opening-your-piggy-bank-ncb</guid>
      <description>&lt;p&gt;I'm working on a serverless stack.&lt;/p&gt;

&lt;p&gt;I have a delimited CSV file with 5-6 million lines. I want to import this into AWS DynamoDB.&lt;/p&gt;

&lt;p&gt;Is it possible somehow to import this into AWS DynamoDB, without burning my monthly salary down the toilet? How to solve this on the cheap?&lt;/p&gt;

&lt;p&gt;This data dump will be constantly updated and I want to import the new lines into DB. I think the most efficient way would be to make a data dump from my DynamoDB, find a key, compare it with the new third-party data dump's key (this key needs to be extracted from a column by regex), and only import the new lines into my DB. Do you have some recommendation (big data framework or some AWS service) which can help me with this? Or I'm open if there's a shell or a Go script to do the same thing.&lt;/p&gt;

&lt;p&gt;Thank You!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>dynamodb</category>
      <category>serverless</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Give me a quick 101 in the Graphcool ecosystem (like Prisma)</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Sun, 01 Apr 2018 14:46:11 +0000</pubDate>
      <link>https://dev.to/djviolin/give-me-a-quick-101-in-the-graphcool-ecosystem-like-prisma-gli</link>
      <guid>https://dev.to/djviolin/give-me-a-quick-101-in-the-graphcool-ecosystem-like-prisma-gli</guid>
      <description>&lt;p&gt;I found &lt;a href="https://www.graph.cool/forum/t/graphcool-framework-and-prisma/2237"&gt;this&lt;/a&gt; forum post which explaining the differences between &lt;strong&gt;Prisma&lt;/strong&gt; and &lt;strong&gt;Graphcool framework&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;But I still don't know which is the more feature packed from these and which has the most love in active development?&lt;/p&gt;

&lt;p&gt;I want to self-hosting everything, including the GraphQL BAAS server which connecting to my self hosted database (Dockerised approach) and I want to query the data in a &lt;strong&gt;React&lt;/strong&gt; based single page application. Authentication is also important (with given user roles) and I don't want any third-party auth provider.&lt;/p&gt;

&lt;p&gt;If I want to use GraphQL based BAAS, looks like I don't have any other alternative to choose right now, only Graphcool (which is not a problem at all, I just can't figure out which is the ultimate environment from these).&lt;/p&gt;

&lt;p&gt;Or self-hosted authentication is not possible, the only alternative is &lt;strong&gt;Apache Usergrid&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;If I want a hosted BAAS, I would go with &lt;strong&gt;Firebase&lt;/strong&gt;, because of the simple setup with &lt;strong&gt;React&lt;/strong&gt; and also handling auth.&lt;/p&gt;

</description>
      <category>baas</category>
      <category>graphql</category>
      <category>prisma</category>
      <category>discuss</category>
    </item>
    <item>
      <title>How do you protect your backend API in your microservice if you use a Single Page Application on the frontend?</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Mon, 19 Mar 2018 18:19:59 +0000</pubDate>
      <link>https://dev.to/djviolin/how-do-you-protecting-your-backend-api-in-your-microservice-if-you-use-a-single-page-application-on-the-frontend-2ie1</link>
      <guid>https://dev.to/djviolin/how-do-you-protecting-your-backend-api-in-your-microservice-if-you-use-a-single-page-application-on-the-frontend-2ie1</guid>
      <description>&lt;p&gt;I currently working on a pet project where I intend to learn a "simple" microservice architecture, meaning no universal rendering (or I thought it would be simple).&lt;/p&gt;

&lt;p&gt;I have a backend REST API written in Go, which is proxying a third-party API. Later on it will be replaced with a Postgres database. Right now serving content under &lt;code&gt;127.0.0.1:8080/api/v1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I have a static fileserver written in Go for SPA, which is serving a Single Page Application written in Vue.js, generated by &lt;code&gt;vue-cli&lt;/code&gt;. This fileserver serving content under &lt;code&gt;127.0.0.1:8081&lt;/code&gt;. This vue app querying data from the API server with &lt;code&gt;axios&lt;/code&gt;, fecthing AJAX requests.&lt;/p&gt;

&lt;p&gt;This is where I hit the first problem: if I not whitelisting the address of the static fileserver on the API server, so the server doesn't have any CORS header presented, like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Access-Control-Allow-Origin: http://127.0.0.1:8081
# or
Access-Control-Allow-Origin: *
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The request got ignored by the browser.&lt;/p&gt;




&lt;p&gt;Another problem (well, not really a problem) that I had to drop the relative urls in &lt;code&gt;axios&lt;/code&gt; (because they are not on the same server anymore), meaning replacing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;$http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`/api/v1/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&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;p&gt;with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;$http&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`//127.0.0.1:8080/api/v1/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&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;p&gt;in the vue app.&lt;/p&gt;

&lt;p&gt;Am I doing something wrong here? How should I make request to the API server from the SPA from another server?&lt;/p&gt;




&lt;p&gt;How can I protect my backend API from people to using it without restrictions?&lt;/p&gt;

&lt;p&gt;I guess I have to implement a rate limiter for sure. I plan to use HAProxy for load balancing and probably this is the point where it should limit the requests from users who wants to execute DDOS attacks or use the database as a free fountain for their sites.&lt;/p&gt;

&lt;p&gt;But there are no other way of limiting the API accessing it from the browser bar, if they type in the address of the API server? What about GraphQL? Same situation?&lt;/p&gt;




&lt;p&gt;This site will not feature any authentication, user management, or restricted access at the start. But if I try to implement such feature in the future, how can I implement user authentication safely, not shooting myself in the leg? What are the best practices to do this, if I completely want to ditch server-side or universal rendering?&lt;/p&gt;

&lt;p&gt;I want to have an SPA and an API server which will be a good start for web and mobile apps, too.&lt;/p&gt;

</description>
      <category>question</category>
      <category>discuss</category>
      <category>microservices</category>
      <category>security</category>
    </item>
    <item>
      <title>Your unfinished pet projects are letdown or a gain?</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Wed, 21 Feb 2018 19:12:16 +0000</pubDate>
      <link>https://dev.to/djviolin/your-unfinished-pet-projects-are-letdown-or-a-gain--3e4k</link>
      <guid>https://dev.to/djviolin/your-unfinished-pet-projects-are-letdown-or-a-gain--3e4k</guid>
      <description>&lt;p&gt;How do you consider them? Did they give you anything or it's just was a waste of time?&lt;/p&gt;

&lt;p&gt;Whenever I looking my repo, I see unfinished projects:&lt;/p&gt;

&lt;p&gt;I wanted to build my next photographer portfolio in Node.js + Express, instead I went with Wordpress again. But in return, I learnt Node.js.&lt;/p&gt;

&lt;p&gt;I wanted to create a website, which listing companies of my country with public data. This stage, I'm an unverified identity to get access for this official database from the government, so I built a web scraper in Go able to start the development and actually come up with a product. The project still hangs in this state. I never finished it, but now I know how to implement this in Go, how to work with files on the disk and use the standard library.&lt;/p&gt;

&lt;p&gt;What are your letdowns, that hadn't payed you anything, but you learnt something new?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>What are your UNIX pipeline commands that saved you from lot of coding/time?</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Fri, 27 Oct 2017 20:07:46 +0000</pubDate>
      <link>https://dev.to/djviolin/what-are-your-unix-pipeline-commands-that-saved-you-from-lot-of-codingtime-7ok</link>
      <guid>https://dev.to/djviolin/what-are-your-unix-pipeline-commands-that-saved-you-from-lot-of-codingtime-7ok</guid>
      <description>&lt;p&gt;This question came to my mind last day when I wanted to free up some space on my HDDs and when it comes to what to delete (feel the pain), I wanted to know without lot of right-clicks which folders are the fattiest. As a good Windows user, I installed Total Commander, because some random Google result told me to do so.&lt;/p&gt;

&lt;p&gt;Then I realised, heck, I have an entire UNIX environment on my PC (MSYS2), so maybe there is an utterly simple one liner command for achieve this. And guess what, it has: :)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;du&lt;/span&gt; &lt;span class="nt"&gt;-sh&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; | &lt;span class="nb"&gt;sort&lt;/span&gt; &lt;span class="nt"&gt;-h&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Life hack, place this in your &lt;code&gt;.bashrc&lt;/code&gt; file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Within the current directory, list all folders and files&lt;/span&gt;
&lt;span class="c"&gt;# and print their size, then sort it from smallest to largest:&lt;/span&gt;
&lt;span class="nb"&gt;alias du&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'du -sh * | sort -h'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What are your UNIX pipeline commands, where you can combine some program's standard output and creating something wicked simple time saver?&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
      <category>discuss</category>
      <category>tips</category>
    </item>
    <item>
      <title>Hi, I'm IstvÃ¡n Lantos</title>
      <dc:creator>István Lantos</dc:creator>
      <pubDate>Tue, 25 Apr 2017 20:27:30 +0000</pubDate>
      <link>https://dev.to/djviolin/hi-im-istvn-lantos</link>
      <guid>https://dev.to/djviolin/hi-im-istvn-lantos</guid>
      <description>&lt;p&gt;I have been coding for [number] years.&lt;/p&gt;

&lt;p&gt;You can find me on GitHub as &lt;a href="https://github.com/DJviolin" rel="noopener noreferrer"&gt;DJviolin&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I live in [city].&lt;/p&gt;

&lt;p&gt;I work for [company]&lt;/p&gt;

&lt;p&gt;I mostly program in these languages: [languages].&lt;/p&gt;

&lt;p&gt;I am currently learning more about [topic].&lt;/p&gt;

&lt;p&gt;Nice to meet you.&lt;/p&gt;

&lt;p&gt;PS.: Is it okay to leave everything at default state for you? :)&lt;/p&gt;

</description>
      <category>introduction</category>
    </item>
  </channel>
</rss>
