ReverieI am Pleasantly losthttp://localhost:2368/http://localhost:2368/favicon.pngReveriehttp://localhost:2368/Ghost 1.19Thu, 14 Dec 2017 23:35:00 GMT60The move to Firebase<div class="kg-card-markdown"><p>For some reason, I just do not remmeber why, I decided to find out if my one off blog could find another home.</p> <p>For two years, this blog has been <s>squatting</s> living for free on github and before that blogger.</p> <p>Today, I'm proud to say, what begun as:<br> <em><a href="http://bustlive.blogspot.com">http://bustlive.</a></em></p></div>http://localhost:2368/the-move-to-firebase/5a330280a15c11625f035592firebaseghostbloghttpsJean HuitThu, 14 Dec 2017 23:30:49 GMT<div class="kg-card-markdown"><img src="http://localhost:2368/content/images/2017/12/fireghost.png" alt="The move to Firebase"><p>For some reason, I just do not remmeber why, I decided to find out if my one off blog could find another home.</p> <p>For two years, this blog has been <s>squatting</s> living for free on github and before that blogger.</p> <p>Today, I'm proud to say, what begun as:<br> <em><a href="http://bustlive.blogspot.com">http://bustlive.blogspot.com</a></em> --&gt; <em><a href="http://jeanhuit.github.io">http://jeanhuit.github.io</a></em> and then to <em><a href="http://johnawotwi.me">http://johnawotwi.me</a></em> is now <em><a href="https://johnawotwi.me">https://johnawotwi.me</a></em> .<br> New digs and all, notice the extra (s) in there..yuh, that is all for free.</p> <p>See <a href="https://johnawotwi.me/ghost-adventures-i/">Ghost Adventures</a> for the initial steps, especially the update.</p> <p>All you will need to replace is the part about github. Instead of hosting and setting up a git repo, get a free account and setup a free project 'static sites' only at <code>console.firebase.google.com</code><br> Install the firebase CLI (command line interface), login,initialize the project folder, select your static output folder and then deploy.</p> <p>Obviously, <a href="https://johnawotwi.me/know-your-node/">you should know your node</a> first.</p> <ul> <li>install the firebase tools</li> </ul> <pre><code>npm install -g firebase-tools </code></pre> <ul> <li>provide your credentials, popup opens a browser</li> </ul> <pre><code>firebase login </code></pre> <pre><code>cd &lt;project folder&gt; </code></pre> <ul> <li>initialize the project, select the kind of project, hosting</li> </ul> <pre><code>firebase init </code></pre> <ul> <li>select path to folder for static pages</li> </ul> <pre><code>firebase deploy </code></pre> <h1 id="etvoila">et voila!!!</h1> </div>After a Format<div class="kg-card-markdown"><p>Something I do regulary to any machine I work with is a regular format.</p> <p>I find, that with regular use, a MacOS | Win | Linux box gathers dust - remanants of software installed, uninstalled, used-no-more, forgotten among other things, that clutter or clog ones workflow.</p> <p>Formatting a computer to me, sort</p></div>http://localhost:2368/after-a-format/5a32b895a15c11625f035588newinstallationmacOSJean HuitSun, 10 Sep 2017 17:46:00 GMT<div class="kg-card-markdown"><p>Something I do regulary to any machine I work with is a regular format.</p> <p>I find, that with regular use, a MacOS | Win | Linux box gathers dust - remanants of software installed, uninstalled, used-no-more, forgotten among other things, that clutter or clog ones workflow.</p> <p>Formatting a computer to me, sort of gives your machine a new breath of life. This month, was no different.</p> <p>The difference this time, I decided to use a somewhat automated process to install all the software I will need on the machine. After combing the internets, I chanced upon this tutorial that I, for want of a better word unashamedly made use of. I pretty much did almost the exact thing, with very minor differences.</p> <p>The magic: &quot;Homebrew&quot;.</p> <p>In simple terms, I listed all software I wanted to install in a file - Brewfile and Homebrew did the rest.</p> <p>Feel free to follow the tutorial <a href="https://www.taniarascia.com/setting-up-a-brand-new-mac-for-development/">here</a><br> Feel free to clone, star my <a href="https://github.com/JeanHuit/macSetup">brewfile.</a></p> </div>Grepgrep is a command-line utility for searching plain-text data sets for lines that match a regular expression.http://localhost:2368/grep/59aaa7406774a07e39ab0f6enlclinuxcommandsJean HuitSat, 02 Sep 2017 13:12:43 GMT<div class="kg-card-markdown"><img src="http://localhost:2368/content/images/2017/09/grep-1.png" alt="Grep"><p>Another linux command, I find very useful, this is a command that helps you search for strings/text within documents. There are a whole lot of uses for it, but I will leave you to explore that yourself.</p> <p>Its simplest form is:</p> <pre><code>grep &lt;word&gt; &lt;in file&gt; =&gt; grep &quot;dog&quot; animals.txt </code></pre> <p>The above looks for <mark>dog</mark> in a text file called <mark>animal.txt</mark></p> <p>There are flags/options you can set with the command to make things easier.</p> <pre><code> -x = exclusive, exact match -v = everything but -i = I do not care about case </code></pre> <p>and many more.</p> <p>You can also use <mark>[]</mark> and <mark>^</mark> to help make your search more refined.</p> <pre><code>grep ^a* fruits.txt </code></pre> <p>Finds fruits that have <mark>a</mark> in them</p> <pre><code> grep ^a.p fruits.txt </code></pre> <p>Finds fruits that begin with an <mark>a</mark> and followed a random letter and then by a <mark>p</mark>.</p> <pre><code>grep ^[a-p] fruits.txt </code></pre> <p>Find all text that begin with an <mark>a</mark> through to <mark>P</mark> in fruits.txt<br> Go ahead and play with grep!</p> <p>Lastly, grep can search through huge files very quickly, and outputs can be overwhelming, eg. log files. To make it easier, and this can be used for most linux commands,you can pipe commands through each other.</p> <pre><code>ps aux | grep 'root'| less </code></pre> <p>This simply means, I am looking for <mark>root</mark> in the output of <code>ps aux</code> but due to the volume outputted, I want to see them in pages, thus the use of <code>less</code>.</p> <p>Go ahead and play with grep. Fun times ahead.</p> </div>#PhotoWalkGHPhotowalk Ghana - Telling Ghana's story, a walk at a time.http://localhost:2368/post-post/59a820ebc2665ecf084d0082ghanaphotowalkghtravelphotographyJean HuitThu, 31 Aug 2017 15:54:27 GMT<div class="kg-card-markdown"><img src="http://localhost:2368/content/images/2017/08/IMG-20170827-WA0020.jpg" alt="#PhotoWalkGH"><p>This past weekend, I ventured out with <a href="https://www.instagram.com/photowalkgh/">PhotowalkGh</a>, a group of individuals made up of Photobloggers, Photojournalists, Photographers and Travellers. Gadgets as expected are: DSLR's and Smartphones. I am to be considered under category: <strong>Traveller</strong> and Gadget: <strong>a Smarthphone</strong>.</p> <p>This is by no means my first foray with PhotowalkGh, but to all extents this is my first post on the issue.</p> <p>Destination; <strong>Akosombo &amp; Juapong</strong><br> As always, meeting point was the Accra Mall.</p> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <p>The first stop was at Juapong, where we disembarked at the Volta Star Textile Limited premise. Used to produce textiles back in the day, but currently produces material for other textile printing companies.</p> <hr> Then to the Akosombo township, which initially looked like there will be very little to capture, boy was I wrong. <hr> Photowalk starts as photographers pair up and move in different directions, in hopes of getting varied shots that tell a wonderful story of whatever town we get into. <blockquote> <p><strong>Juanpong</strong><br> was no different.<br> and<br> so was<br> <strong>Akosombo</strong></p> </blockquote> <p>Checkout my work <a href="https://www.instagram.com/huitjean/">on Instagram</a><br> You could also checkout the work of other photograhers using the following hashtag <mark>#photowalkgh</mark> .<br> Discover the beauty of Ghana, through the work of these photograhers. Find some amazing stories.!!</p> <p><em>Post image by:<a href="https://www.instagram.com/mtofstudios/">@mtofstudios</a></em></p> </div>Wordpress Theme & Plugin UploadFTP done right, simple and easy on your local /developement version of wordpress.http://localhost:2368/wordpress-theme-plugin-upload-2/59a05a59f9c5cecb993b20feftpwordpresspluginsthemesJean HuitFri, 25 Aug 2017 16:40:40 GMT<div class="kg-card-markdown"><p>Ever encountered the issue of setting up an <strong>FTP server</strong> to allow you upload, update themes and plugins on your local/development version of wordpress?</p> <p>Well, there is a simple solution to that.</p> <p>Simply edit your <code>wp-config</code> file by adding this piece of code anywhere in the above mentioned file.</p> <pre><code>define('FS_METHOD', 'direct'); </code></pre> <p>This should sort you out.</p> </div>netstat<div class="kg-card-markdown"><blockquote> <p>This post is the beginning of a series I'd tag <mark>nlc</mark> to talk about linux commands that I come across.A <strong>simpler man</strong> page for myself of my own words, minus the bells and whistles of the many options you come across in the man pages without almost ever using.</p></blockquote></div>http://localhost:2368/nifty-linux-commands/59a05a59f9c5cecb993b20fdlinuxnlcJean HuitTue, 04 Jul 2017 14:39:52 GMT<div class="kg-card-markdown"><blockquote> <p>This post is the beginning of a series I'd tag <mark>nlc</mark> to talk about linux commands that I come across.A <strong>simpler man</strong> page for myself of my own words, minus the bells and whistles of the many options you come across in the man pages without almost ever using.</p> </blockquote> <hr> <h2 id="netstat">Netstat</h2> <p>Short for network status, this command when run without options <code>netstat</code> , can get carried away. Displaying all incoming and outgoing network requests at a go. This can be daunting and one may easily get lost trying to sift through all that data.<br> Piping <code>|</code> the data through <code>less</code> will make it easier for you to peruse and understand where your data is going, from what application and from what point data is being returned.<br> eg.</p> <pre><code class="language-bash">netstat -nr | less </code></pre> <p>Using the <code>- nr</code> option, gives you access to your routing table in number format, i.e shows you the network address.</p> </div>Running Ghost on Google Compute Engine<div class="kg-card-markdown"><p>So what do you with <strong>$300</strong> you cannot spend.<br> Well except on the platform that gave you the cash, albeit virtual.</p> <p>I run a blog or as I like to say, a place where I dump my thoughts and ideas at <a href="http://johnawotwi.me">johnawotwi.me</a> and my favourite platform to run on</p></div>http://localhost:2368/running-ghost-on-google-compute-engine/59a05a59f9c5cecb993b20fcgoogleghostcloudJean HuitSat, 01 Jul 2017 20:23:03 GMT<div class="kg-card-markdown"><p>So what do you with <strong>$300</strong> you cannot spend.<br> Well except on the platform that gave you the cash, albeit virtual.</p> <p>I run a blog or as I like to say, a place where I dump my thoughts and ideas at <a href="http://johnawotwi.me">johnawotwi.me</a> and my favourite platform to run on is Ghost<br> <img src="http://localhost:2368/content/images/2017/08/Ghost_icon.png" alt="Ghost_icon"></p> <p>So my first expense was to host a ghost blog on Google Compute Engine; this is just an aspect of the whole Google Cloud Platform. Now take note however, Google Cloud Platform has inbuilt deployments of Ghost Blogging platform through the Cloud Launcher [One click solution/deployment].</p> <ul> <li>Sign in with &quot;as usual&quot; your gmail account.<br> <a href="https://console.cloud.google.com">Google Cloud Console</a></li> <li>Select Compute Engine and start a new VM instance.</li> <li>A name of your choice</li> <li>Ubuntu 16.04 (my choice)</li> <li>Setup an f1 micro compute engine VM instance <ul> <li>This is the smallest instance available. I chose to start with this.</li> </ul> </li> <li>After the instance is started up, you are presented with option to log into your instance. I choose to this this via &quot;ssh in your browser&quot;<br> <img src="http://localhost:2368/content/images/2017/08/Screen-Shot-2017-06-30-at-3.44.52-PM.png" alt="Screen-Shot-2017-06-30-at-3.44.52-PM"></li> <li>Once this is done, update and upgrade your repo and installed packages.</li> <li>Then install: <code>nginx</code> , <code>zip</code> , <code>wget</code>, <code>node v6</code> &amp; <code>nano</code></li> <li>Also grab the ghost package while doing that.</li> <li>Start up your nginx server and ensure its working.<br> <code>service start nginx</code> and check out the temp IP address provided.</li> </ul> <p>This line will update, upgrade, install and get all the necessary packages needed to continue with this step.</p> <pre><code class="language-bash">sudo apt-get update &amp;&amp; sudo apt-get upgrade -y &amp;&amp; sudo apt-get install -y zip wget nano nginx &amp;&amp; curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - &amp;&amp; sudo apt-get install -y nodejs &amp;&amp; wget https://ghost.org/zip/ghost-latest.zip &amp;&amp; unzip ghost-latest.zip -d ghost </code></pre> <ul> <li> <p>This will copy and extract your ghost directory in your working directory.</p> </li> <li> <p>Change into your Ghost directory and run<br> <code>npm install —production &amp;&amp; npm install sqlite3 —save</code></p> </li> <li> <p>Next we need to make sure <code>nginx</code> sees our ghost application and properly redirects traffic to the ghost setup.</p> </li> <li> <p><code>cd</code> into <code>/etc/nginx</code> and create your own <code>conf</code> file aptly named <code>ghost.conf</code></p> </li> <li> <p>Using nano or an editor you prefer type this in :</p> </li> </ul> <pre><code class="language-bash">server { listen 80; server_name your-domain-name.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:2368; } } </code></pre> <ul> <li> <p>Above are configuration settings that point external requests coming to your <strong>domain name</strong> through <strong>port 80</strong> to the <strong>localhost@2368</strong> which has ghost running. <strong>Note</strong> <code>your-domain-name.com</code> can be the external IP google gives you via the console at setup if you do not have a domain name yet.</p> </li> <li> <p>Next delete the default conf files in the following directories, using <code>rm</code> here.</p> </li> </ul> <pre><code class="language-bash">rm /etc/nginx/sites-available/default rm /etc/nginx/sites-enabled/default rm /etc/nginx/conf.d/default </code></pre> <ul> <li>and you are done.</li> <li>restart <code>ghost</code> | <code>nginx</code> and et voila.</li> </ul> <p><strong>Note:</strong> Anytime any of the above services stops, your ghost platform stops. Also note external IP's also change. To make them static, you can reserve an IP through the Google cloud console.</p> <ul> <li> <p>To do this, click on the options button i.e on the cloud console, click on <code>Networks &gt; External IP addresses</code>.</p> </li> <li> <p>Select your running instance and click on reserve static address. Thats it! You now have a static ip to go with your ghost instance.</p> </li> <li> <p>With a static IP you can configure your domain if you have one, to point to your static IP address. Remember to change <code>your-domain-name.com</code> in <strong>ghost.conf</strong> to reflect your new setup if you used the IP initially.</p> </li> <li> <p>Next is to get ghost running permanently.</p> </li> <li> <p>You can achieve this using <a href="http://pm2.keymetrics.io/">pm2</a>, <a href="https://github.com/foreverjs/forever">forever</a> or <a href="https://github.com/petruisfan/node-supervisor">supervisor</a></p> </li> <li> <p>I found <strong>supervisor</strong> worked for me. <strong><em>There are many tutorials out there that takes care of this</em></strong></p> </li> </ul> <p>Thats it!<br> You know have a running ghost blog.</p> <p><strong>ps</strong> I received a prompt, citing performance issues, after two days running ghost on the f1 micro. Technical tip was to go in for more ram and processor capacity, that equal $$ out of your $300.</p> </div>Depressing Opposites<div class="kg-card-markdown"><blockquote> <p>This unpublished poem I wrote a while back came ahunting.<br> I now outdoor it in this space.</p> </blockquote> <p>Quench a thirst, to feel thirsty?<br> Eat, to get hungry?<br> Sleep, to wake?<br> Breathe to exhale</p> <p>Light is, because darkness exists<br> Good is measured against evil<br> Black is what makes white stand out<br></p></div>http://localhost:2368/depressing-opposites/59a05a59f9c5cecb993b20fbJean HuitThu, 29 Jun 2017 13:08:28 GMT<div class="kg-card-markdown"><blockquote> <p>This unpublished poem I wrote a while back came ahunting.<br> I now outdoor it in this space.</p> </blockquote> <p>Quench a thirst, to feel thirsty?<br> Eat, to get hungry?<br> Sleep, to wake?<br> Breathe to exhale</p> <p>Light is, because darkness exists<br> Good is measured against evil<br> Black is what makes white stand out<br> None is, without the other</p> <p>To what end do we grind and hustle each day,<br> Only so, you live to hustle and grind another day?<br> To what end do you pick yourself up when you’ve fallen,<br> Only to fall again?</p> <p>What’s the purpose of life?<br> If the death is the only constant.<br> What’s the purpose of striving to beat time, make time, catch up? <br> If in death, even time stands still.</p> <p>Life is measured in opposites<br> Smiles are worth their weight in tears.</p> ![reverie-4](/content/images/2017/08/reverie-4.png)</div>Apps Unbecoming<div class="kg-card-markdown"><p>“There is an app for that” is a phrase that 2016 saw and heard in abundance. Almost every facet of our lives has been permeated by a plethora of apps. Most notably mobile applications, spurred on by the constant growth of the smartphone market and the need for connected devices.</p></div>http://localhost:2368/apps-unbecoming/59a05a59f9c5cecb993b20faappsbloatJean HuitFri, 30 Dec 2016 13:33:15 GMT<div class="kg-card-markdown"><p>“There is an app for that” is a phrase that 2016 saw and heard in abundance. Almost every facet of our lives has been permeated by a plethora of apps. Most notably mobile applications, spurred on by the constant growth of the smartphone market and the need for connected devices.</p> <p>This is so true, from apps that <a href="http://appcrawlr.com/ios/perfect365-makeup-photo-editor">whiten your teeth<br> </a> to apps that teach you <a href="https://play.google.com/store/apps/details?id=com.quizmine.combobotnyandzoology&amp;hl=en">botany and zoology</a>.</p> <p>However, the abundance of apps do not necessarily mean things are all rosy. Well in some cases they are. We invite these apps into our lives, on the premise that they would make our lives simpler, promising to deliver smooth performance, timely updates, improved service, breaking news, file management etc etc.</p> <p>And they do…</p> <p>Till they begin to suck the life of our data plans, our storage capacity, and most painfully start adding functionalities that we did not need in the first place.</p> <p>This week I had to do some spring cleaning, on my smartphone.</p> <p>First to go was <strong>TrueCaller</strong>.<br> Started out as a neat application , promising to let you know who is calling before you pick up a call. I dare say that was a functionality that we wish we had since antiquity, and it was brilliant, until the creators begun adding variations and options, bells and whistles that begun getting in the way, notifications you could not turn off unless you enabled them, which was the same as turning on the notification.<br> Now I am not saying these additions are not improvements; which in turn are good, but they are not always what your client wants, even if majority cry out for that particular functionality. Thus it will always be a good design principle to leave an opt-out option for your client to enable/disable a particular option.</p> <p>Next was <strong>ES Explorer</strong>.<br> This app is no doubt the best in file managers, and that was what it was before it became a media player, a notification master, a file-change-noise-making-pop-up notifier, space-clearing, phone-system-tuning-app. I was told the paid version was way better, offering you more ways to customize it.<br> Even so, the free version though free was very annoying. It had to go.</p> <p>Now I am two apps light and the world has not come to a screeching halt.<br> Tell me what apps you can and should do away with before we start the new year.!</p> <p>Cheers,<br> <img src="http://localhost:2368/content/images/2017/08/37292860-christmas-pictures-1.jpg" alt="37292860-christmas-pictures-1"></p> </div>Gapps On Chinese PhonesA simple solution to the Google Apps deficiency on Chinese phones. Play Store and all ...http://localhost:2368/gapps-on-chinese-phones/59a05a59f9c5cecb993b20f9androidgooglegappschinesephonesoppoJean HuitFri, 25 Nov 2016 23:53:16 GMT<div class="kg-card-markdown"><p><img src="http://localhost:2368/content/images/2017/08/Google-apps-ne-besplaten.jpg" alt="Google-apps-ne-besplaten"><br> For some weird reason, Some android phones do not have Gapps [Google Apps] installed on them. Yuh! I am talking about the “Chinese phones”. One can make do with these 3rd party app hosting sites to get your fill of applications [apk’s], including the ones you’ve got to pay for and yet do not want to. I am in no way by this post pointing to you the dark path, always stay in the light, stray NOT into the path of illegal downloads.</p> <p>I was recently challenged to bring Googlyness [install the google range of products] to an android phone of “Chinese” origins, and being in IT “supposed perception of being the go-to-guy for everything techy” the pressure not to disappoint was high. Eye over shoulder, breath down neck kinda pressure.</p> <p>So yeah, I weighed my options. Best would have been to format and install a new rom. Luckily this was an OPPO, which had a lot going for it- rom wise, downside this guy had a lot of pictures, numbering in the 12 of 1000’s, yes I mean 12000+ and with no google account baked in to already backup these to photo’s. I had to do this manually…which I was so not inclined to do.</p> <p>Next option was to install the Gapps packages individually, for which support has come a long way. However, all the packages I could find were just not working. Until …</p> <p>Until I stumbled on : <strong>The Google Installer</strong></p> <p>As the name suggests, this will literally install Google unto your Chinese phone!</p> <p>So, for posterity sake, and the fact that post I have written have helped me months after I wrote them, I decided to publish this post as well as host a version of this wonderful application. Find link below! Peace<br> <a href="https://github.com/JeanHuit/TheGoogleInstaller">The Google Installer</a></p> </div>Know Your Node!An article on setup , installing & using "N" - a node version manager. http://localhost:2368/know-your-node/59a05a59f9c5cecb993b20f8brewnodenvmnpmJean HuitThu, 10 Nov 2016 11:07:14 GMT<div class="kg-card-markdown"><p>Hi there,</p> <p>Yes, you. The period of silence on this blog has been loud.</p> <p>Anyways, I am back with some sort of motivation to continue to update this blog.</p> <p>This post is a quick one.</p> <p>How do you know which node you are using? To the developer, that'd be a simple question. just do <code>node -v</code> right?</p> <p>Well yes!<br> But then have you ever encountered a particular project with its own set of node version different from yours? Most especially when the difference in version raises a whole lot of issues and yet, you still want to keep your version....</p> <p>In walks the Node Version Manager or <strong>&quot;NVM&quot;</strong>.<br> With the Manager, you get to have multiple versions of node on your local development machine. Now, I'd just like to speak on the <strong>n</strong> manager. Obviously, like node it self there are many managers our there. I have no special reason for installing <strong>n</strong>, just like that its not as mouthful as <strong>NVM</strong>.</p> <p>We will be using <a href="http://brew.sh/">homebrew</a> to install &quot;n&quot;</p> <pre><code>-&gt; brew install n -&gt; n &lt;latest | stable | 6.9&gt; -&gt; n #can be used to select version you will want to use </code></pre> <p><img src="http://localhost:2368/content/images/2017/08/Screen-Shot-2016-11-10-at-11.04.50-AM.png" alt="Screen-Shot-2016-11-10-at-11.04.50-AM"></p> <p>et voila!</p> </div>HTTP(S)ecure?<div class="kg-card-markdown"><p>Are we Secure?</p> <p>Over the course of the year, I will be running a mini blog series on perceived securities and insecurities.</p> <p><strong>Happy new year</strong> by the way. Its still early days.</p> <p>First off, I will like to start off on the myth of HTTP(S) being secure.</p> <p>HTTPS (SSL/</p></div>http://localhost:2368/httpsecure/59a05a59f9c5cecb993b20f7secsslinfosectlsJean HuitMon, 25 Jan 2016 22:05:51 GMT<div class="kg-card-markdown"><p>Are we Secure?</p> <p>Over the course of the year, I will be running a mini blog series on perceived securities and insecurities.</p> <p><strong>Happy new year</strong> by the way. Its still early days.</p> <p>First off, I will like to start off on the myth of HTTP(S) being secure.</p> <p>HTTPS (SSL/TLS) or Secure HTTP is a means of sending encrypted information over a network (internet) and like anything to so with encryption, the idea is to make it more difficult to decrypt than it is worthwhile to do so, and here lies the inherent weakness. For anybody that has time and the tools to do so, it sure might be worthwhile.</p> <p>Now, sending sensitive information over a network in an encrypted format saves your information from prying eyes, that attempt to decrypt your information as it travels. Usually termed; Man-In-The-Middle attacks. Nothing is said of your information as it sits on your terminal or a it sits on the server to which you are connected to, thats beside the point.</p> <p>The issue here is that , for HTTPS to work, a Certificate Authority (CA), authenticates the server to which you are connected to, to prove that , the server is truly “who” it says it is, your browser understands this, and thus allows sensitive data to pass encrypted to and fro between you and the authenticated server. Decrypting at both ends and encrypting as it travels.</p> <p>So, if for instance, a person gains access to any of the 600+ CA’s and compromises any of the certificates they sign/authorise, all websites that use those are in turn compromised. Surprisingly this happens on a regular <a href="https://www.eff.org/deeplinks/2011/08/iranian-man-middle-attack-against-google">basis</a>. A government could also order a CA to generate a malicious certificate, especially if said government wants to spy on a particular organisation and voila.</p> <p>Furthermore, even if implemented properly, there are a lot of ways to break https (SSL/TLS) today. As currently implemented, these protocols may be good enough to withstand attacks from a person with limited time and financial motivation.</p> <p><img src="http://jeanhuit.github.io/assets/img/post-img/sec.png" alt="Are we secure"><br> I will like to leave this image here, in addition to the above information, leave your thoughts in the comments section below.</p> <blockquote> <p>Deprecation of SHA-1 Hashing Algorithm for Microsoft Root Certificate Program</p> </blockquote> <p><strong>General Information</strong><br> -Executive Summary</p> <p>Microsoft is announcing a policy change to the Microsoft Root Certificate Program. The new policy will no longer allow root certificate authorities to issue X.509 certificates using the SHA-1 hashing algorithm for the purposes of SSL and code signing after January 1, 2016. Using the SHA-1 hashing algorithm in digital certificates could allow an attacker to spoof content, perform phishing attacks, or perform man-in-the-middle attacks.<br> Recommendation:  Microsoft recommends that certificate authorities no longer sign newly generated certificates using the SHA-1 hashing algorithm and begin migrating to SHA-2. Microsoft also recommends that customers replace their SHA-1 certificates with SHA-2 certificates at the earliest opportunity. Please see the Suggested Actions section of this advisory for <a href="https://technet.microsoft.com/library/security/2880823">more information.</a></p> <p>And just for laughs, look what an organisation that speaks on app security has on their site. :</p> <p><img src="http://jeanhuit.github.io/assets/img/post-img/laugh.png" alt="Laugh"></p> </div>A page worth following<div class="kg-card-markdown"><p>So I got in late to the Humans of Ghana party. I must say that I have been an active follower of the Humans of New York page for a really long time, so my first reaction was, ebei! we have copied this too?</p> <p>But then, anything worth anything is</p></div>http://localhost:2368/to-copy-or-not-to-copy/59a05a59f9c5cecb993b20f6ghanaHumans of GhanaJean HuitTue, 15 Dec 2015 20:27:45 GMT<div class="kg-card-markdown"><p>So I got in late to the Humans of Ghana party. I must say that I have been an active follower of the Humans of New York page for a really long time, so my first reaction was, ebei! we have copied this too?</p> <p>But then, anything worth anything is worth emulating, and I applaud the <strong>vim</strong>.</p> <p>So I begun, just like I did with HoNY, from the latest post down to a post submitted on the 14th of January. I do not believe it's the maiden post of HoGH, but after 30 minutes scrolling, liking-a-many and sharing one, I think I get the picture.</p> <p>Like anywhere in this world, there are good stories, inspiring ones, bad stories, funny ones etc etc. <a href="http://jeanhuit.github.io/to-each-his-own/">The human experience is vast and unique.</a> Ghana is no exception.</p> <p>And as always there are those that just can’t refrain from posting unproductive comments, but hey, its their opinion and its amazing they’d rather say sh*t than say nothing.</p> <p>I will like to say, I am awed by the effort the creators of the page put in, the support of the amazing people of my motherland, especially those who through their contributions change/changed lives, the insightful statements from folks you least expect to hear such words.</p> <p>So awed I was, I resurrected my sleeping blog (my slice of net heaven) to express my thoughts.</p> <p>Today, HoGH has got a new fan/follower.</p> <p>Shameless Promo:<br> Find them on <a href="https://www.facebook.com/humansofghanaofficial/?fref=photo">Facebook</a> and on <a href="http://www.instagram.com/humansofgh">Instagram</a></p> <p>Keep up the good work folks; <strong>Ghana, one click, one story at a time.</strong> ampa!</p> </div>The Right to Information<div class="kg-card-markdown"><p>Recently, I had the opportunity to attend a validation meeting on the right to access information in Ghana. Organised by the Coalition On the Right To Information, Ghana. This meeting was held to present findings of a Pilot project on the Gender dimension of access to information in Ghana.<br> Some</p></div>http://localhost:2368/the-right-to-information/59a05a59f9c5cecb993b20f5ghanaRTIbillRTIInformationhuman rightJean HuitSun, 11 Oct 2015 22:28:08 GMT<div class="kg-card-markdown"><p>Recently, I had the opportunity to attend a validation meeting on the right to access information in Ghana. Organised by the Coalition On the Right To Information, Ghana. This meeting was held to present findings of a Pilot project on the Gender dimension of access to information in Ghana.<br> Some people were selected to visit certain public institutions to request for information that was bound to be in the public domain.</p> <hr> The Findings: <p>On a positive note, information refusal was not gender biased. Almost all requesters - those selected to go round, were denied the information they sort, being male or female did not make a difference, and that's the good news.<br> However, requests for information was met with suspicion, outright denial and the not so subtle back and forth tactics that is used in unwanted bureaucratic negotiation; bottlenecks at every turn.</p> <p>Individuals cannot request for information. One must belong to a recognised institution to be able/have a need so great to request for information.</p> <p>Financial records/information was a no-go area.</p> <hr> There is this bill before the parliament of Ghana, a bill that in essence states that person(s) - citizens of the land have the right to request for information from public institutions and this request must be granted, no justification needed. <p>Are we aware of said Bill ? Are we willing to push it into law? Are we as a country ready? Are we as citizens interested?</p> <p>Right to information is a HUMAN RIGHT!</p> </div>OpenSource - SSH'ing Goodness<div class="kg-card-markdown"><p>Ever heard of <strong>JuiceSSH</strong> ? The last three letters in the name is sure to give you an idea around functionality of whatever it is, know it or not. Well its an android application in the PlayStore, basically a program that allows you to <strong>ssh</strong> on the go.<br> Being a mobile</p></div>http://localhost:2368/opensource-sshing-goodness/59a05a59f9c5cecb993b20f4open sourceRaspberry pisshJean HuitWed, 16 Sep 2015 21:31:19 GMT<div class="kg-card-markdown"><p>Ever heard of <strong>JuiceSSH</strong> ? The last three letters in the name is sure to give you an idea around functionality of whatever it is, know it or not. Well its an android application in the PlayStore, basically a program that allows you to <strong>ssh</strong> on the go.<br> Being a mobile application , one will expect it to be limited in functionality. <strong>mais non!!</strong></p> <p>In my tests I did not push it to the limit of its capabilities., however others have and can attest to the fact, take a look at their reviews on the <a href="https://play.google.com/store/apps/details?id=com.sonelli.juicessh">PlayStore</a>.</p> <p>Now what I want to bring to your attention is the extensibility of this application. One can, with plugins extend the functionality of Juicessh.<br> Example is the plugin - <a href="https://play.google.com/store/apps/details?id=com.sonelli.juicessh.performancemonitor">juicessh-performancemonitor</a> . This plugin gives you the ability to monitor the performance of your server remotely via SSH! and not only monitor but do so with a beautifully designed interface.</p> <p>Best of all is that: This application is open source, in fact the whole plugin - structure is open source. What that means is that you get the opportunity to build your own plugins for JuiceSSH!</p> <p><img src="http://jeanhuit.github.io/assets/img/post-img/juicessh.png" alt="JuiceSSH-performancemonitor"></p> </div>