<?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: Walterion</title>
    <description>The latest articles on DEV Community by Walterion (@walterion1).</description>
    <link>https://dev.to/walterion1</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%2F180146%2Fd923e6b6-c25a-4462-abce-ab10a88d4137.jpg</url>
      <title>DEV Community: Walterion</title>
      <link>https://dev.to/walterion1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/walterion1"/>
    <language>en</language>
    <item>
      <title>How to Open BIG JSON files</title>
      <dc:creator>Walterion</dc:creator>
      <pubDate>Fri, 09 Aug 2019 15:00:37 +0000</pubDate>
      <link>https://dev.to/walterion1/how-open-big-json-files-3dec</link>
      <guid>https://dev.to/walterion1/how-open-big-json-files-3dec</guid>
      <description>&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;JSON is the most used format to store data, and until now, there were only text editors to handle it, and they are not the real proper solution as they will quickly lose effect and speed as the file size grows.&lt;/p&gt;

&lt;p&gt;Whenever I was working with a new JSON-Based format, a DB dump or download an export, I faced this issue again. I couldn't open them properly, or if I could, I couldn't search in it or export a sub node. So one day, I chose to make my own.&lt;/p&gt;

&lt;h2&gt;
  
  
  How
&lt;/h2&gt;

&lt;p&gt;The main trick is to build a tool that views the JSON as JSON, not a text. I mean look how object and array form the result.&lt;br&gt;
Then we need a new fast JSON parser that works in SAX. Luckily I know the &lt;a href="http://blog.synopse.info/post/2011/06/02/Fast-JSON-parsing"&gt;best one&lt;/a&gt; written in FreePascal.&lt;br&gt;
I couldn't store the tree and index much as it gets a lot of memory for a big file (eg, 1GB) so I review each node when I need it. All the same, done for export and search too, and that was another challenge to beat!&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;It beats all of the other solutions in performance, and it will give you a complete set of tools to work too. Tree highlighted view, Instant search including RegEx support, auto-refresh on file change and many export options including XML is just a part of its features.&lt;/p&gt;

&lt;p&gt;Lets compare it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10X faster than VSCode in launch&lt;/li&gt;
&lt;li&gt;9X less RAM usage than Sublime&lt;/li&gt;
&lt;li&gt;21X faster than NPP++ in search&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  More
&lt;/h2&gt;

&lt;p&gt;So this the FASTEST JSON viewer I ever saw. Do you know something faster? Let me know.&lt;br&gt;
Take a look at it and let me know if you want to know more.&lt;br&gt;
It is Free and available for download for Mac and Windows right now, and Linux version is on the way.&lt;br&gt;
&lt;a href="https://viewer.dadroit.com"&gt;https://viewer.dadroit.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>json</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to send file securely on the blockchain [The easy way]</title>
      <dc:creator>Walterion</dc:creator>
      <pubDate>Thu, 13 Jun 2019 15:15:24 +0000</pubDate>
      <link>https://dev.to/walterion1/how-to-send-file-securely-on-the-blockchain-the-easy-way-1fam</link>
      <guid>https://dev.to/walterion1/how-to-send-file-securely-on-the-blockchain-the-easy-way-1fam</guid>
      <description>&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;As we keep hearing about data breach news of big companies like Dropbox or WhatsApp, it is harder for us to keep trusting them with our file and personal data, and it made us think about finding a better way. We think the best way to keep data secure is not having them in the first place. That’s why we choose the server-less solution, in other word, blockchain.&lt;br&gt;
Anyone who has had their identity stolen or lost money because of a data breach understands that centralized applications come with personal risk. &lt;/p&gt;

&lt;h2&gt;
  
  
  How
&lt;/h2&gt;

&lt;p&gt;The most challenging part for us was designing a blockchain app that doesn't look like a blockchain app! We wanted to make the transition from centralized to decentralized solution as smoothly as possible. That is where Blockstack comes in to help us with a secure and decentralized authentication service, working on Bitcoin blockchain.&lt;/p&gt;

&lt;p&gt;Your shared file split into parts, encrypt, and then upload to a random hub of your choice. It gives you a private share link that plays the role of a key. No one can access the file without this link. Unlike traditional centralized services, BlackHole doesn't know about who, whom, what, and where the file shared! That’s the reason we name it BlackHole 🕳 &lt;/p&gt;

&lt;h2&gt;
  
  
  Technical stuff
&lt;/h2&gt;

&lt;p&gt;For a start, we need an open protocol so that anyone can review and check it. For that, we made the protocol simple but didn't let anything slow it down, as we wanted a fast experience. As I said, it will split the file into parts and but what I didn't say that it has a layer of smart compression. Why smart? Because it will look at the content and estimate how good it is for compression. After the compression, it will encrypt every part with the random 256 bits key and upload them in a multi-thread fashion (4 connection is the default).&lt;br&gt;
After Protocol was done, we made it compatible with Blockstack with adding a layer of secure authentication and a Gaia provider.&lt;/p&gt;

&lt;p&gt;Gaia’s approach to decentralization focuses on user control of data and its storage. If a user can choose which Gaia hub provider to use, then that choice is all the decentralization required to enable user-controlled applications.&lt;/p&gt;

&lt;p&gt;We made it with Lazarus and FPC compiler and it was a very fun experience. You could use industry-standard AES CBC with 256 bits key with AES-NI assembly support and compile it easily for Mac and Windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Result
&lt;/h2&gt;

&lt;p&gt;BlackHole is a fully native app; as a result, it has so much less system usage (10MB of ram) and great user experience. Being native also provides multiple layers of encryption with excellent performance. BlackHole lives in your menu bar and lets you send files with only one click.&lt;/p&gt;

&lt;h2&gt;
  
  
  More
&lt;/h2&gt;

&lt;p&gt;The project is available for Windows and Mac, and Linux version is on the way. You can take a look at the source on Github.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blackhole.run/"&gt;https://blackhole.run/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/blackholeorganization"&gt;https://github.com/blackholeorganization&lt;/a&gt;&lt;br&gt;
&lt;a href="http://blockstack.org"&gt;http://blockstack.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take a look at it and let me know if you want to know more about BlackHole, BlockStack, FPC or encryption.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>security</category>
      <category>blockchain</category>
    </item>
  </channel>
</rss>
