<?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: Muhamed G</title>
    <description>The latest articles on DEV Community by Muhamed G (@mmg).</description>
    <link>https://dev.to/mmg</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%2F27092%2Fc2c7662e-11c6-42df-9c49-bbc1ba5a0a78.jpg</url>
      <title>DEV Community: Muhamed G</title>
      <link>https://dev.to/mmg</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mmg"/>
    <language>en</language>
    <item>
      <title>Would you send a plain text password from your website to the server over a secure connection?</title>
      <dc:creator>Muhamed G</dc:creator>
      <pubDate>Fri, 03 Nov 2017 00:37:01 +0000</pubDate>
      <link>https://dev.to/mmg/would-you-send-a-plain-text-password-from-your-website-to-the-server-over-a-secure-connection-81h</link>
      <guid>https://dev.to/mmg/would-you-send-a-plain-text-password-from-your-website-to-the-server-over-a-secure-connection-81h</guid>
      <description>&lt;p&gt;What's your &lt;em&gt;strategy&lt;/em&gt; when it comes to securing your web application's communications with the server? Do you just rely on &lt;strong&gt;HTTPS&lt;/strong&gt;? Or you have an extra layer &lt;em&gt;Just in case&lt;/em&gt;?&lt;/p&gt;

&lt;p&gt;Interested to see your thoughts...&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Explain containers like I'm five</title>
      <dc:creator>Muhamed G</dc:creator>
      <pubDate>Thu, 27 Jul 2017 22:03:00 +0000</pubDate>
      <link>https://dev.to/mmg/explain-containers-like-im-five</link>
      <guid>https://dev.to/mmg/explain-containers-like-im-five</guid>
      <description>&lt;p&gt;I heard a lot (read a little) about Containers, Docker, Azure Container Service.. etc, but never understood what &lt;em&gt;exactly&lt;/em&gt; is a 'container', and why w'd you use it while you can run your apps on a Virtual Machine! &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>cloud</category>
      <category>explainlikeimfive</category>
    </item>
    <item>
      <title>Introducing AI Vision Assistant, an open source project to help people with visual impairments</title>
      <dc:creator>Muhamed G</dc:creator>
      <pubDate>Sat, 12 Nov 2016 03:41:54 +0000</pubDate>
      <link>https://dev.to/mmg/introducing-ai-vision-assistant-an-open-source-project-to-help-people-with-visual-impairments</link>
      <guid>https://dev.to/mmg/introducing-ai-vision-assistant-an-open-source-project-to-help-people-with-visual-impairments</guid>
      <description>&lt;p&gt;Three weeks ago, I started to work on a side project to test and experience a new service from Azure called &lt;a href="https://azure.microsoft.com/en-us/services/functions/" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure Functions&lt;/strong&gt;&lt;/a&gt;. The idea of the project was to create a Twitter account (bot) that will randomly get an image from &lt;a href="http://500px.com" rel="noopener noreferrer"&gt;500px.com&lt;/a&gt; and describe it *caption it *using AI (&lt;strong&gt;&lt;a href="http://microsoft.com/cognitive" rel="noopener noreferrer"&gt;Microsoft Cognitive Services&lt;/a&gt;&lt;/strong&gt;) and tweet the image with the caption.&lt;/p&gt;

&lt;p&gt;Simple idea! It worked as expected, you can check the account here: &lt;strong&gt;&lt;a href="http://twitter.com/aipics" rel="noopener noreferrer"&gt;@aipics&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inspiration…
&lt;/h2&gt;

&lt;p&gt;A friend of mine saw the idea and told me that he knows a person with visual impairments in Twitter, and he’s asking people to describe tweets that contains images, he can &lt;em&gt;hear&lt;/em&gt; the tweets (using the iPhone accessibility tools) but he can’t see the image content, his name is Mohammed. Then I thought to make a twitter bot for that purpose, &lt;strong&gt;we have the technology!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I started to implement that in a new Twitter account, I tested it and I asked Mohammed to test and provide ideas that could help more, And it was so awesome to work and talk to such a person, really!&lt;/p&gt;

&lt;h2&gt;
  
  
  The result!
&lt;/h2&gt;

&lt;p&gt;I called it &lt;strong&gt;â€˜AI Vision Assistant’&lt;/strong&gt; , you can check it here: &lt;strong&gt;&lt;a href="http://twitter.com/aivisionasst" rel="noopener noreferrer"&gt;@aivisionasst&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You can tweet the hashtag ( &lt;strong&gt;#aivision&lt;/strong&gt; for English &lt;em&gt;Or&lt;/em&gt; &lt;strong&gt;#ÙˆØµÙ&lt;/strong&gt; for Arabic) with an image &lt;em&gt;OR&lt;/em&gt; reply to a tweet that contains image (Including Instagram links) and within 2 minutes, the account will reply with the caption or the description of the image, it supports 2 languages mainly, English and Arabic.&lt;/p&gt;

&lt;p&gt;But unfortunately, the Arabic version is not 100% accurate as the Arabic language is not yet supported in Microsoft Cognitive Services APIs, but I used Bing translator to translate the English caption to Arabic one and then build the tweet text.&lt;/p&gt;

&lt;p&gt;My favorite part, The account served more than 150 tweets (&lt;em&gt;tweet = caption request&lt;/em&gt;), in fact, there’s some users that relay on this account and they’re using it almost in daily basis!&lt;/p&gt;

&lt;p&gt;Maybe the numbers are low, but for me, seeing one person taking advantage of this account and get help as he needed, it’s like changing the whole world!&lt;/p&gt;

&lt;h2&gt;
  
  
  Technical details
&lt;/h2&gt;

&lt;p&gt;There are two components mainly, described below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i1.wp.com/res.cloudinary.com/mmgrt/image/upload/v1501203434/archt-d-aivision_j76tjw.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi1.wp.com%2Fres.cloudinary.com%2Fmmgrt%2Fimage%2Fupload%2Fv1501203434%2Farcht-d-aivision_j76tjw.png%3Fresize%3D840%252C473" alt="archt-d-aivision"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The architecture diagram of the complete idea.. &lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Mentions Monitor:
&lt;/h3&gt;

&lt;p&gt;A timer Function that will run every 2 minutes, to perform a search in Twitter for tweets that contains (#aivision OR #ÙˆØµÙ) with these conditions: Tweeted within the last 3 minutes &amp;amp; Not yet handled.&lt;/p&gt;

&lt;p&gt;If found any, the tweet id will be saved in a local log file (&lt;em&gt;mark it as handled&lt;/em&gt;) and then it’ll call the second Function, the &lt;strong&gt;AI Vision Core&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Vision Core:
&lt;/h3&gt;

&lt;p&gt;An Http-trigger Function, requires one parameter: tweet id.&lt;/p&gt;

&lt;p&gt;Whenever this function receives a request, it’ll call Twitter API to get the image from the tweet object OR if it’s a reply, it’ll get the image from InReplyToTweet object OR it’ll search for an Instagram link if any.&lt;/p&gt;

&lt;p&gt;Then it’ll prepare the image, call the Vision API to get the caption, translate it if the hashtag used was Arabic, build the tweet text and finally reply with the image description with any mentions!&lt;/p&gt;

&lt;h2&gt;
  
  
  Open source…
&lt;/h2&gt;

&lt;p&gt;This project is an &lt;strong&gt;open source project&lt;/strong&gt; , you can browse it on Github: &lt;strong&gt;&lt;a href="https://github.com/mmgrt/AIVision" rel="noopener noreferrer"&gt;/AIVision.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Please feel free to pivot it, provide it in your language/ culture or contribute in making it better.. or at least, I hope It’ll inspire you!&lt;/p&gt;

&lt;h2&gt;
  
  
  We have the technology
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;According to WHO, there’s more than 39 Million &lt;em&gt;blind&lt;/em&gt; people in the world… this project might help few individuals in Twitter, but still, there are millions out there.  &lt;strong&gt;Imagine&lt;/strong&gt; what help or support that could be provided by us, programmers!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Thank you&lt;/p&gt;

&lt;p&gt;Muhamed – &lt;strong&gt;&lt;a href="http://twitter.com/mmg_rt" rel="noopener noreferrer"&gt;@mmg_rt&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This post was originally published on &lt;a href="https://devread.net/2016/11/12/introducing-ai-vision/" rel="noopener noreferrer"&gt;devread.net&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>code</category>
      <category>computervision</category>
      <category>microsoftcognitive</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
