<?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>Forem: Eugene Ogongo</title>
    <description>The latest articles on Forem by Eugene Ogongo (@eugeneogongo).</description>
    <link>https://forem.com/eugeneogongo</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%2F115664%2F10ce59ed-ef11-4a01-ae2e-7c4000edf1f9.jpeg</url>
      <title>Forem: Eugene Ogongo</title>
      <link>https://forem.com/eugeneogongo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/eugeneogongo"/>
    <language>en</language>
    <item>
      <title>Tips to make your website accessible</title>
      <dc:creator>Eugene Ogongo</dc:creator>
      <pubDate>Mon, 22 Jun 2020 16:39:52 +0000</pubDate>
      <link>https://forem.com/eugeneogongo/tips-to-make-your-website-accessible-4i2b</link>
      <guid>https://forem.com/eugeneogongo/tips-to-make-your-website-accessible-4i2b</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wDpB6QO2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dfjej8u048imidi6lrd4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wDpB6QO2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/dfjej8u048imidi6lrd4.png" alt="About a billion people experience disability in some form."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;About a billion people experience disability in some form. Does your website offer the web accessibility needed for them to use it?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Web is essentially designed to work for all people. The web works in whatever hardware, software, language, location, or ability. The web should be useful and usable to people with diverse challenges such as hearing and sight. &lt;/p&gt;

&lt;h1&gt;
  
  
  What is Web Accessibility?
&lt;/h1&gt;

&lt;p&gt;Web accessibility is ensuring that people with disabilities can access and use the web and achieve their intended goals. Web accessibility encompasses all disabilities that include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;auditory&lt;/li&gt;
&lt;li&gt;cognitive&lt;/li&gt;
&lt;li&gt;neurological&lt;/li&gt;
&lt;li&gt;physical&lt;/li&gt;
&lt;li&gt;speech&lt;/li&gt;
&lt;li&gt;visual
Below are key areas that designers and developers can ensure that their websites meet web accessibility.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Images.
&lt;/h1&gt;

&lt;p&gt;All images should have alternative text that is meaningful. if the description is rather long, the longdesc tag should be used instead.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="c"&gt;&amp;lt;!-- The description is on the same page as the image --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"mtkenya.jpg"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"An image of Mt.Kenya"&lt;/span&gt;
 &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"100"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"132"&lt;/span&gt; &lt;span class="na"&gt;longdesc=&lt;/span&gt;&lt;span class="s"&gt;"#MtKenyaExplained"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"#MtKenyaExplained"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Image mykenya.jpg&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;At 5,199 m, Mount Kenya is the second 
highest peak in Africa. It is an ancient extinct volcano ...
&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Alt-text is used by people with sight impairment to understand what the image represents. In case of a broken image due to poor connectivity, the alt text will be used to give more details about the image.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Audio and Video
&lt;/h1&gt;

&lt;p&gt;Audio and video require subtitles and captions. The subtitle should be synchronized with the video to avoid confusion to the user.&lt;br&gt;
People with hearing impairment use subtitles and captions to understand what is being played. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't auto-play videos and audio. Audio or video play should be initiated by the user. If an audio plays for more than 3 seconds provide a play and pause functionality.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Colors
&lt;/h1&gt;

&lt;p&gt;Developers should ensure that there is a high contrast between the color of the text presented and that of the background. Text and interactive elements should have a color contrast ratio of at least 4.5:1. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Developers should ensure that color is not the only indicator of interactive elements. (eg do not say “select the blue circle to continue”).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Text
&lt;/h1&gt;

&lt;p&gt;Texts on a website should be made larger without disorienting the content, or function of a page. Image with text should be avoided at all costs since images can be unclear when resized on a page. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Your web visitors with low visibility need to increase the text size to interact with your content.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Navigation
&lt;/h1&gt;

&lt;p&gt;a user should be able to navigate a website without the user of a mouse. The navigation order should be logical and intuitive. Include a search functionality for finding information quickly.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Use an unordered list so that the screen reader can read them out so that the visually impaired user can get the most information.&lt;br&gt;
use the aria-label attribute to give more information as possible to the visually impaired user.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Accessibility is important for web developers and organizations who want to target a diverse range of customers. Lack of web accessibility excludes some people from using your products and services.&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>web</category>
      <category>inclusion</category>
      <category>webdev</category>
    </item>
    <item>
      <title> Business logic in Stored Procedures?</title>
      <dc:creator>Eugene Ogongo</dc:creator>
      <pubDate>Sun, 17 May 2020 21:41:51 +0000</pubDate>
      <link>https://forem.com/eugeneogongo/business-logic-in-stored-procedures-ceb</link>
      <guid>https://forem.com/eugeneogongo/business-logic-in-stored-procedures-ceb</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A stored procedure(SP) is a set of Structured Query Language (SQL) statements with a given name stored in RDBMS, so it can be reused and shared by multiple programs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;p&gt;First SP in some databases system are compiled once and are in always executable form making calls faster since they can be cached. Therefore, increasing performance.&lt;/p&gt;

&lt;p&gt;From my experience in using SP, I have been able to group multiple SQL commands and queries. This reduces network traffic and chaining of IFS on the code side.  SP makes use of transactions e.g. using PL and T-SQL. &lt;/p&gt;

&lt;h2&gt;
  
  
  Security
&lt;/h2&gt;

&lt;p&gt;SP enhances security since the user has to pass some values to the database without knowing the underlining tables, views, and other information. The Developer calls the methods. This makes use of abstraction. The business logic is abstracted. &lt;/p&gt;

&lt;h1&gt;
  
  
  Maintenability
&lt;/h1&gt;

&lt;p&gt;SP enhances the maintainability of the System. Some conditions can be changed without necessarily changing the frontend code. Let's say the VAT tax reduces from 16% to 12%. This change can be made in the database without recompiling a POS system developed in 20 supermarkets. Some DB ensures changes in SP are transferred to all other slave databases. &lt;/p&gt;

&lt;p&gt;SP ensures a central point for all business logic. No scattering of the business logic all over.&lt;/p&gt;

&lt;h2&gt;
  
  
  Downside
&lt;/h2&gt;

&lt;p&gt;one negative side of SP is that it leads to vendor locking eg T-SQL and PL/SQL. When migrating to a new DB you need to write some of them from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privilege Abuse
&lt;/h2&gt;

&lt;p&gt;How do we ensure security and authorization? users who have DB-admin roles may abuse their roles and execute some SP maliciously. Ensuring data ACID properties becomes a challenge to an organization.&lt;/p&gt;

&lt;p&gt;How best can we avoid database degradation?&lt;/p&gt;

&lt;h2&gt;
  
  
  Where applicable?
&lt;/h2&gt;

&lt;p&gt;I would recommend using SP when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the business logic is ever-changing&lt;/li&gt;
&lt;li&gt;doing complex data processing like in a warehouse&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>data</category>
      <category>design</category>
    </item>
  </channel>
</rss>
