<?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: Josue</title>
    <description>The latest articles on DEV Community by Josue (@manekenpix).</description>
    <link>https://dev.to/manekenpix</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%2F479670%2F91da52bb-6622-42b5-b318-3ecb18b1fce3.jpeg</url>
      <title>DEV Community: Josue</title>
      <link>https://dev.to/manekenpix</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manekenpix"/>
    <language>en</language>
    <item>
      <title>hexV</title>
      <dc:creator>Josue</dc:creator>
      <pubDate>Tue, 16 Jun 2020 02:26:00 +0000</pubDate>
      <link>https://dev.to/manekenpix/hexv-2dc3</link>
      <guid>https://dev.to/manekenpix/hexv-2dc3</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/manekenpix/hexV"&gt;hexV&lt;/a&gt; is a little tool that I've been working on for a while.&lt;br&gt;&lt;br&gt;
It's a tiny viewer that shows the content of any file in hexadecimal.&lt;br&gt;&lt;br&gt;
Something like this:  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://1.bp.blogspot.com/-Ky2VJ_KkC5U/XuR33YCithI/AAAAAAAAHm4/BhmPHmCIsJ05UzDvL68N7pcDiR-l885TQCK4BGAsYHg/s573/hexV.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wjzeNx7E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://1.bp.blogspot.com/-Ky2VJ_KkC5U/XuR33YCithI/AAAAAAAAHm4/BhmPHmCIsJ05UzDvL68N7pcDiR-l885TQCK4BGAsYHg/s320/hexV.png" alt=""&gt;&lt;br&gt;&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I first thought about making hexV while I was working on another project that involved parsing and rendering large images without using any official libraries like &lt;a href="http://www.libpng.org/pub/png/libpng.html"&gt;libpng&lt;/a&gt;. I needed something that I could use to learn and understand how images are structured and stored depending on the type (PNG, JPEG, BMP...), and also that'd help me debug the parsers I wrote for that project.&lt;/p&gt;

&lt;p&gt;hexV did the trick. Instead of having to go through endless console output to chase bugs, I could simply open the processed image with hexV and compare it to the values read by the parsers. I'm pretty sure that using hexV saved me a ton of debugging time.&lt;/p&gt;

&lt;p&gt;The first version of hexV had builds for both windows and linux, but I recently added some deep changes to the linux version so I removed the windows build until I can make some time to add those changes to it.&lt;/p&gt;

&lt;p&gt;I have some interesting features in mind, like file type detection, that I'd like to add sometime soon. &lt;/p&gt;

&lt;p&gt;Oh, and this is an open-source project, so if you find hexV interesting and feel like collaborating, &lt;a href="https://github.com/manekenpix/hexV/issues"&gt;take a look at the issues&lt;/a&gt; and hack away!&lt;/p&gt;

</description>
      <category>c</category>
      <category>gtkmm</category>
      <category>hexadecimalviewer</category>
      <category>opensource</category>
    </item>
    <item>
      <title>KDE Plasma &amp; ssh keys</title>
      <dc:creator>Josue</dc:creator>
      <pubDate>Fri, 03 Jan 2020 01:34:00 +0000</pubDate>
      <link>https://dev.to/manekenpix/kde-plasma-ssh-keys-111e</link>
      <guid>https://dev.to/manekenpix/kde-plasma-ssh-keys-111e</guid>
      <description>&lt;p&gt;If you're a Linux user, and the desktop environment of your choice is Gnome, you're probably used to letting &lt;a href="https://wiki.gnome.org/Projects/GnomeKeyring/Ssh"&gt;Gnome Keyring SSH Agent&lt;/a&gt; handle your ssh keys. You just log in, your ssh keys stored in your &lt;em&gt;~/.ssh&lt;/em&gt; folder get loaded in memory, and then you can use them not only in terminals but with any process that requires ssh authentication.  &lt;/p&gt;

&lt;p&gt;Unfortunately, &lt;a href="https://kde.org/plasma-desktop"&gt;KDE Plasma&lt;/a&gt; doesn't have that feature out of the box, so it needs a bit of tweaking to get the same behaviour.  &lt;/p&gt;

&lt;p&gt;Let's make some changes to &lt;a href="https://userbase.kde.org/KDE_Wallet_Manager"&gt;Kwallet&lt;/a&gt; and add some scripts to start our ssh-agent and load our keys:  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kwallet&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Launch KDE Wallet Configuration and make sure the KDE wallet subsystem is enabled.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://1.bp.blogspot.com/-Zo24StIt_xA/Xg6X0wi8XwI/AAAAAAAAHkg/TFw0qM6nyFMrdiNnevnXOjpp1ZKXbgZwgCLcBGAsYHQ/s1600/Screenshot_20200102_202440.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Hmg5LSLJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://1.bp.blogspot.com/-Zo24StIt_xA/Xg6X0wi8XwI/AAAAAAAAHkg/TFw0qM6nyFMrdiNnevnXOjpp1ZKXbgZwgCLcBGAsYHQ/s640/Screenshot_20200102_202440.png" alt="" width="619" height="640"&gt;&lt;/a&gt;&lt;br&gt;
Launch Kwallet Manager and create a new wallet if necessary and set a passphrase for it.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scripts&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Now we need to create some scripts to start the ssh-agent on startup and add all the keys. For this, it's necessary to have the package &lt;a href="https://github.com/KDE/ksshaskpass"&gt;ksshaskpass&lt;/a&gt; installed.  &lt;/p&gt;

&lt;p&gt;KDE has a designated folder for scripts that will be executed at login but before launching Plasma.  &lt;/p&gt;

&lt;p&gt;Folder: &lt;em&gt;~/.config/plasma-workspace/env&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;In this folder, we need to create a script to start the ssh-agent. Let's call it &lt;em&gt;ssh-agent-startup.sh&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash

[ -z "$SSH_AGENT_PID" ] || eval "$(ssh-agent -s)"

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

&lt;/div&gt;



&lt;p&gt;Also, KDE uses another folder for scripts at login.  &lt;/p&gt;

&lt;p&gt;Folder: &lt;em&gt;~/.config/autostart-scripts&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;Let's add a script to load all our ssh keys. We'll call our script &lt;em&gt;ssh-add.sh&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#!/bin/bash

export SSH_ASKPASS=/usr/bin/ksshaskpass

ssh-add $HOME/.ssh/my_ssh_key1 $HOME/.ssh/my_ssh_key2 $HOME/.ssh/my_ssh_key3...

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

&lt;/div&gt;



&lt;p&gt;Don't forget to mark the scripts as executables:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod u+x file/to/mark/as/executable

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

&lt;/div&gt;



&lt;p&gt;And that's it. After rebooting, the system will prompt you to enter your keys' passphrases, and if everything went well, you should be able to use your keys with any process that needs ssh authentication.&lt;/p&gt;

</description>
      <category>kde</category>
      <category>plasma</category>
      <category>sshagent</category>
      <category>wallet</category>
    </item>
  </channel>
</rss>
