<?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: David Mutebi</title>
    <description>The latest articles on DEV Community by David Mutebi (@treva123mutebi).</description>
    <link>https://dev.to/treva123mutebi</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%2F555264%2F48cd9241-556d-4c44-a216-0c9133257b5c.jpeg</url>
      <title>DEV Community: David Mutebi</title>
      <link>https://dev.to/treva123mutebi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/treva123mutebi"/>
    <language>en</language>
    <item>
      <title>Getting started with Go-Lang</title>
      <dc:creator>David Mutebi</dc:creator>
      <pubDate>Fri, 24 Dec 2021 09:43:46 +0000</pubDate>
      <link>https://dev.to/treva123mutebi/getting-started-with-go-lang-1g0</link>
      <guid>https://dev.to/treva123mutebi/getting-started-with-go-lang-1g0</guid>
      <description>&lt;p&gt;Been looking into go-lang this past month and decided to give it a go.&lt;br&gt;
this is tutorial i will take you through the different steps i took to setup the go-lang development environment on my pc.&lt;/p&gt;

&lt;p&gt;the first step I recommend  is to use GVM, GVM is the Go Version Manager.&lt;br&gt;
To install GVM type in the following command in your terminal.&lt;/p&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
bash &amp;lt; &amp;lt;(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;if you are  using zsh instead of bash you can use the following command.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
zsh &amp;lt; &amp;lt;(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;once installed you can later check the available commands it comes with by entering the following command in your terminal.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ gvm&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;below are some of the few it will display on your screen.&lt;/p&gt;

&lt;p&gt;`&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ gvm
Usage: gvm [command]

Description:
  GVM is the Go Version Manager

Commands:
  version    - print the gvm version number
  get        - gets the latest code (for debugging)
  use        - select a go version to use (--default to set permanently)
  diff       - view changes to Go root
  help       - display this usage text
  implode    - completely remove gvm
  install    - install go versions
  uninstall  - uninstall go versions
  cross      - install go cross compilers
  linkthis   - link this directory into GOPATH
  list       - list installed go versions
  listall    - list available versions
  alias      - manage go version aliases
  pkgset     - manage go packages sets
  pkgenv     - edit the environment for a package set
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once gvm is installed, you can proceed to restart your terminal so it can get activated, since i was using bash i used the following command to restart my terminal.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ exec bash -l&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;on restart, you can check the gvm version using the following command.&lt;/p&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;br&gt;
$ gvm version&lt;br&gt;
&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;br&gt;
Go Version Manager v1.0.22 installed&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;you can also set the environment variables using the following commands.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ [[ -s "$HOME/.gvm/scripts/gvm" ]] &amp;amp;&amp;amp; source "$HOME/.gvm/scripts/gvm"
$ export GOPATH=$HOME/go
$ export GOBIN=$GOPATH/bin
$ export PATH=${PATH}:$GOBIN:$GOROOT/bin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;this will set set your $GOROOT and $GOPATH environment variables.&lt;/p&gt;

&lt;p&gt;you can restart your terminal again to proceed with the following steps smoothly.&lt;/p&gt;

&lt;p&gt;You can proceed to install go using the following gvm command.&lt;br&gt;
&lt;code&gt;gvm install go1.17.5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;At the time of this article was written that was the latest version go released. To check for other go version releases follow this link. &lt;a href="https://golang.org/doc/install"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once go is installed. you can use this command to check for the version installed and also verify the installation.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ go version&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Go as a programming language has a wide range of applicability, it was originally built for programs related to networking and infrastructure. It was intended to replace popular high-performance server-side languages like Java and C++. Today, Go is used for a variety of applications like cloud and server side applications, DevOps, command line tools and much more.&lt;/p&gt;

&lt;p&gt;in future articles i will demonstrate how to create applications in go.&lt;/p&gt;

&lt;p&gt;thanks for reading 😊&lt;/p&gt;

</description>
      <category>go</category>
      <category>github</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Application of data structures in Cyber security.</title>
      <dc:creator>David Mutebi</dc:creator>
      <pubDate>Wed, 30 Jun 2021 20:52:58 +0000</pubDate>
      <link>https://dev.to/treva123mutebi/application-of-data-structures-in-cyber-security-5dci</link>
      <guid>https://dev.to/treva123mutebi/application-of-data-structures-in-cyber-security-5dci</guid>
      <description>&lt;p&gt;Data structures are defined as the pragmatic way of storing data so that data can be used efficiently.&lt;/p&gt;

&lt;p&gt;So why the need for knowledge about data structures for a cybersecurity analyst or expert&lt;br&gt;
As data grows, search operations will be slower to perform. Although high processing speeds have come up, they still fall limited to this data growth.&lt;br&gt;
Data should be organised so not all items may be required to be searched but only the required data can be searched almost instantly&lt;br&gt;
Common basic types of data structures and their history&lt;br&gt;
Arrays, implementation dates back to the earliest high-level programming languages like FORTRAN(1957), COBOL(1960), ALGO60 that had support for multi-dimensional arrays.&lt;br&gt;
Stacks were first proposed in 1946 in the computer design of the famous Alan M. Turing.&lt;br&gt;
Linked lists, were developed at RAND corporation during the period of 1955 -1956 by engineers Allen Newell, Cliff Shaw, Herbert A Simon as the primary data structure for their information processing language.&lt;br&gt;
B-Tree, invented by Rudolf Buyer&lt;br&gt;
AVL, published in 1962 by two soviet inventors Georgy Adelson Velsky and E. M Landis as indicated in the paper An algorithm for organisation information.&lt;/p&gt;

&lt;p&gt;Case study:&lt;br&gt;
Use of data structures in pen testing&lt;br&gt;
Pen testing is the authorised simulated attack performed on a computer system to evaluate its security.&lt;br&gt;
During Pen testing, deep search and analysis operations are carried out in order to search for any kind of poor vulnerabilities.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>datascience</category>
      <category>algorithms</category>
      <category>pentest</category>
    </item>
    <item>
      <title>The truth about SSL certificates.</title>
      <dc:creator>David Mutebi</dc:creator>
      <pubDate>Thu, 07 Jan 2021 08:39:10 +0000</pubDate>
      <link>https://dev.to/treva123mutebi/the-truth-about-ssl-certificates-3bic</link>
      <guid>https://dev.to/treva123mutebi/the-truth-about-ssl-certificates-3bic</guid>
      <description>&lt;p&gt;What is an SSL certificate?&lt;br&gt;
SSL certificates are what enable websites to move from HTTP to HTTPS which is more secure.&lt;br&gt;
SSL — more commonly called TLS is a protocol for encrypting internet traffic and verifying server identity.&lt;/p&gt;

&lt;p&gt;Why does your website need an SSL certificate?&lt;br&gt;
During login, SSL secures the username and password.&lt;br&gt;
You also need SSL to stop your customer’s data from being appropriated by hackers if you running an e-commerce website.&lt;/p&gt;

&lt;p&gt;How to add an SSL certificate to your site through the .htaccess file&lt;br&gt;
add the following:&lt;/p&gt;

&lt;p&gt;RewriteEngine On&lt;br&gt;
RewriteCond %{SERVER_PORT} 80&lt;br&gt;
RewriteRule ^(.*)$ &lt;a href="https://www.yourdomain.com/%241"&gt;https://www.yourdomain.com/$1&lt;/a&gt; [R,L]&lt;/p&gt;

&lt;p&gt;To redirect only to a specific domain&lt;br&gt;
For redirecting a specific domain to use HTTPS, add the following:&lt;br&gt;
RewriteEngine On&lt;br&gt;
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]&lt;br&gt;
RewriteCond %{SERVER_PORT} 80&lt;br&gt;
RewriteRule ^(.*)$ &lt;a href="https://www.yourdomain.com/%241"&gt;https://www.yourdomain.com/$1&lt;/a&gt; [R,L]&lt;/p&gt;

</description>
      <category>internetsecurity</category>
      <category>website</category>
    </item>
  </channel>
</rss>
