Imthiaz Blog https://www.imthi.com me and stupid works....!!! Sat, 08 Dec 2018 09:04:04 +0000 en-US hourly 1 https://wordpress.org/?v=4.9.8 3311170 Yislamoo – Modern Arabic Art Gallery https://www.imthi.com/blog/dubai/yislamoo-modern-arabic-art-gallery.php https://www.imthi.com/blog/dubai/yislamoo-modern-arabic-art-gallery.php#comments_reply Mon, 01 Oct 2018 07:57:38 +0000 https://www.imthi.com/?p=3730 Yislamoo - Modern Arabic Art Gallery

Yislamoo celebrates beautiful Arabia. Yislamoo brings you Modern Art Prints Designed by Some of the Best Artists and Calligraphers. Memorable pieces you won’t find anywhere else! Yislamoo hopes to reach every home and heart in this region and beyond.

Check out their Modern Arabic Art Gallery today and order your favourite one!

]]>
https://www.imthi.com/blog/dubai/yislamoo-modern-arabic-art-gallery.php/feed 0 3730
Thanks to GDPR companies are too smart these days https://www.imthi.com/blog/dubai/thanks-to-gdpr-companies-are-too-smart-these-days.php https://www.imthi.com/blog/dubai/thanks-to-gdpr-companies-are-too-smart-these-days.php#comments_reply Sun, 15 Jul 2018 09:35:55 +0000 https://www.imthi.com/?p=3705 Today I received a newsletter from a real estate company based in Dubai. They are sending about a property in the UK for sale.

As I was not interested in the newsletter so I want to remove myself from the subscription and in the footer I read this note.

This email is intended only for international investors outside of the UK.

What does this mean? People, who are outside UK cannot get unsubscription link? People outside UK does not care about privacy?

I don’t remember visiting this company website or their office to inquire about property… So how did they get my email address? How did they add me to a newsletter subscription?

Email Campaign Online Link – https://www.selectproperty.com/emx/3rd-parties/cs2/launch/gcc/july/bayt/

In case they delete the change the contents 😉

Very rude 😡

]]>
https://www.imthi.com/blog/dubai/thanks-to-gdpr-companies-are-too-smart-these-days.php/feed 0 3705
Symfony Doctrine Many to Many Relationship (ManyToMany) https://www.imthi.com/blog/programming/symfony-doctrine-many-to-many-relationship-manytomany.php https://www.imthi.com/blog/programming/symfony-doctrine-many-to-many-relationship-manytomany.php#comments_reply Tue, 24 Apr 2018 09:33:59 +0000 https://www.imthi.com/?p=3696 Many to many relations are one of the mostly used relations in the relational database. It took a while for me to figure how to properly configure this relation in Symfony Doctrine. I am sharing this so it might be useful for someone.

Used very simple example students and course. A student can opt for multiple courses and a single course can be opted by multiple students.

And Entity class should be like this…

namespace AppBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

/**
 * Student
 *
 * @ORM\Table(name="ab_student")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\StudentRepository")
 */
class Student
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="email", type="string", length=255)
     */
    private $email;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="dob", type="datetime")
     */
    private $dob;

    /**
     * @var ArrayCollection
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Course", inversedBy="students", fetch="EAGER")
     * @ORM\JoinTable(
     *     name="ab_student_2_course",
     *     joinColumns={@ORM\JoinColumn(name="course_id", referencedColumnName="id", nullable=false, onDelete="cascade")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="student_id", referencedColumnName="id", nullable=false, onDelete="cascade")}
     * )
     */
    private $courses;

    public function __construct()
    {
        $this->courses = new ArrayCollection();
    }

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set name
     *
     * @param string $name
     *
     * @return Student
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set email
     *
     * @param string $email
     *
     * @return Student
     */
    public function setEmail($email)
    {
        $this->email = $email;

        return $this;
    }

    /**
     * Get email
     *
     * @return string
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set dob
     *
     * @param \DateTime $dob
     *
     * @return Student
     */
    public function setDob($dob)
    {
        $this->dob = $dob;

        return $this;
    }

    /**
     * Get dob
     *
     * @return \DateTime
     */
    public function getDob()
    {
        return $this->dob;
    }

    /**
     * @return ArrayCollection
     */
    public function getCourses()
    {
        return $this->courses;
    }

    /**
     * @param ArrayCollection $courses
     */
    public function setCourses($courses)
    {
        $this->courses = $courses;
    }

}

namespace AppBundle\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\ORM\Mapping as ORM;

/**
 * Course
 *
 * @ORM\Table(name="ab_course")
 * @ORM\Entity(repositoryClass="AppBundle\Repository\CourseRepository")
 */
class Course
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;


    /**
     * @var ArrayCollection
     * @ORM\ManyToMany(targetEntity="AppBundle\Entity\Student", mappedBy="courses", cascade={"all"})
     */
    private $students;

    public function __construct()
    {
        $this->students = new ArrayCollection();
    }

    /**
     * Get id
     *
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set name
     *
     * @param string $name
     *
     * @return Course
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * @return ArrayCollection
     */
    public function getStudents()
    {
        return $this->students;
    }

    /**
     * @param ArrayCollection $students
     */
    public function setStudents($students)
    {
        $this->students = $students;
    }

}

The above entities will create the following SQL and it will also create the cross-reference table.

CREATE TABLE ab_student 
  ( 
     id    INT auto_increment NOT NULL, 
     name  VARCHAR(255) NOT NULL, 
     email VARCHAR(255) NOT NULL, 
     dob   DATETIME NOT NULL, 
     PRIMARY KEY(id) 
  ) 
DEFAULT CHARACTER SET utf8 
COLLATE utf8_unicode_ci 
engine = innodb; 

CREATE TABLE ab_student_2_course 
  ( 
     course_id  INT NOT NULL, 
     student_id INT NOT NULL, 
     INDEX idx_87d76467591cc992 (course_id), 
     INDEX idx_87d76467cb944f1a (student_id), 
     PRIMARY KEY(course_id, student_id) 
  ) 
DEFAULT CHARACTER SET utf8 
COLLATE utf8_unicode_ci 
engine = innodb; 

CREATE TABLE ab_course 
  ( 
     id   INT auto_increment NOT NULL, 
     name VARCHAR(255) NOT NULL, 
     PRIMARY KEY(id) 
  ) 
DEFAULT CHARACTER SET utf8 
COLLATE utf8_unicode_ci 
engine = innodb; 

ALTER TABLE ab_student_2_course 
  ADD CONSTRAINT fk_87d76467591cc992 FOREIGN KEY (course_id) REFERENCES 
  ab_student (id) ON DELETE CASCADE; 

ALTER TABLE ab_student_2_course 
  ADD CONSTRAINT fk_87d76467cb944f1a FOREIGN KEY (student_id) REFERENCES 
  ab_course (id) ON DELETE CASCADE;

Hope this helps 😉

]]>
https://www.imthi.com/blog/programming/symfony-doctrine-many-to-many-relationship-manytomany.php/feed 0 3696
Why do we need to upgrade PHP 5.6 to PHP 7.2? https://www.imthi.com/blog/programming/why-do-we-need-to-upgrade-php-5-6-to-php-7-2.php https://www.imthi.com/blog/programming/why-do-we-need-to-upgrade-php-5-6-to-php-7-2.php#comments_reply Sun, 08 Apr 2018 09:36:21 +0000 https://www.imthi.com/?p=3683 Rest in peace PHP 5.6

  • The current version of PHP which is 5.6 has reached the end of life on 19th Jan 2017. PHP team has stopped support for 5.6, and no more new features added.
  • Security support for 5.6 is up to Jan 2019. On Jan 2019 PHP 5.6 officially dead.
  • The newer version of Linux and server software has already stopped supporting PHP 5.6 which creates a huge security risk.
  • Updating old server will be hard as it may break the PHP due to compatibility issues.
  • All major PHP libraries and frameworks will drop support for PHP 5.6
  • 7.2 end of life is in Jan 2021
  • 7.2 is so much faster than 5.6
  • 7.X has new Zend Engine
  • Reduction in the memory usage
  • Consistent 64bit support
  • Better Error handling
  • More secure & better handling with SSL and cryptography
]]>
https://www.imthi.com/blog/programming/why-do-we-need-to-upgrade-php-5-6-to-php-7-2.php/feed 0 3683
Install MySQL 5.6 and phpMyAdmin on Ubuntu 16.04 https://www.imthi.com/blog/linux/install-mysql-5-6-and-phpmyadmin-on-ubuntu-16-04.php https://www.imthi.com/blog/linux/install-mysql-5-6-and-phpmyadmin-on-ubuntu-16-04.php#comments_reply Sat, 07 Apr 2018 03:50:05 +0000 https://www.imthi.com/?p=2467 To Install MySQL 5.6 and phpMyAdmin on Ubuntu just follow the command one by one bellow.

For phpMyAdmin to work, you need PHP to be installed. To install PHP 5.6 😉

add-apt-repository -y ppa:ondrej/mysql-5.6

apt-get update

apt-get install mysql-server-5.6

mysql_secure_installation

apt-get install phpmyadmin

service apache2 restart

 

]]>
https://www.imthi.com/blog/linux/install-mysql-5-6-and-phpmyadmin-on-ubuntu-16-04.php/feed 0 2467
Install PHP 5.6 on Ubuntu 16.04 https://www.imthi.com/blog/linux/install-php-5-6-on-ubuntu-16-04.php https://www.imthi.com/blog/linux/install-php-5-6-on-ubuntu-16-04.php#view_comments Sat, 07 Apr 2018 03:40:22 +0000 https://www.imthi.com/?p=2465 To Install PHP 5.6 on Ubuntu just follow the command one by one bellow.

apt-get update

apt-get install software-properties-common

add-apt-repository ppa:ondrej/php

apt-key del 4F4EA0AAE5267A6C

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C

apt-get install apache2 php5.6 php5.6-cgi php5.6-curl php5.6-gd php5.6-intl php5.6-mysql php5.6-json php5.6-bz2 php5.6-mcrypt php5.6-xmlrpc php5.6-xsl php5.6-bcmath php5.6-mbstring php5.6-soap php5.6-xml php5.6-zip

service apache2 restart

 

]]>
https://www.imthi.com/blog/linux/install-php-5-6-on-ubuntu-16-04.php/feed 1 2465
WordPress Amazon S3 Plugin – New version 1.4 released https://www.imthi.com/blog/programming/wordpress-amazon-s3-plugin-new-version-1-4-released.php https://www.imthi.com/blog/programming/wordpress-amazon-s3-plugin-new-version-1-4-released.php#comments_reply Fri, 06 Apr 2018 18:28:00 +0000 https://www.imthi.com/?p=2463 After 4 long years finally, I released an update for WordPress Amazon S3 Plugin. Thanks to Awad Abdelgayoum for inspiring me to blog again. For nearly couple of years, I haven’t been blogging anything interesting or worth reading.

My blog was almost dying due to lack of new content. So while investigating my S3 plugin had stopped working. I searched for alternative and most of it was very complicated or too much for the blog. So I decided to update the plugin and make it work for the newly updated WordPress.

Release update version 1.4

  • Changed the S3 library to Amazon SDK
  • Major Cleanup
  • Added support for WordPress JS files
  • Added support for fonts in CSS
  • Tested and released for WordPress 4.9.5

To download the updated version please visit WordPress S3 Plugin.

]]>
https://www.imthi.com/blog/programming/wordpress-amazon-s3-plugin-new-version-1-4-released.php/feed 0 2463
Where is Google Headed ? – Advertisement hell for business owners https://www.imthi.com/blog/web/where-is-google-headed-advertisement-hell-for-business-owners.php https://www.imthi.com/blog/web/where-is-google-headed-advertisement-hell-for-business-owners.php#comments_reply Fri, 06 Apr 2018 17:40:51 +0000 https://www.imthi.com/?p=2457 Today I was searching for few keywords which were property and real estate related. Shocked to see most of the top result for the search was an advertisement from property developers.

Half of the result in the page was Adwords campaign of few top real-estate companies in Dubai. Google has made it look like a typical result with a small distinction between paid and actual search result.

As a regular user with average screen size all you will be looking at first glance is the advertisement. Most of the users will not even scroll further to see what is the actual search result.

What happens to people who focus on SEO? Are they f___ked?

Is there any scope for organic SEO? Most of the SEO experts I know already stopped doing SEO and getting certified as SEM experts.

How much money are the companies willing to pay Google? What happens to small business who cannot spend so much money for placing ads with Adwords? Are they f__ked?

Google Web Search has become Google Ad Search. Google has turned so greedy and so evil.

]]>
https://www.imthi.com/blog/web/where-is-google-headed-advertisement-hell-for-business-owners.php/feed 0 2457
New Blog in Town – ppcgraph.com by Awad Abdelgayoum https://www.imthi.com/blog/dubai/new-blog-in-town-ppcgraph-com-by-awad-abdelgayoum.php https://www.imthi.com/blog/dubai/new-blog-in-town-ppcgraph-com-by-awad-abdelgayoum.php#comments_reply Sun, 01 Apr 2018 07:25:57 +0000 https://www.imthi.com/?p=2448 A new blogger in town Awad Abdelgayoum. He is now a new inspiration for me to start my dead blog again. So let me end my lazy blog era with this fresh start.

Awad Abdelgayoum is a guru of creating and managing digital marketing campaigns to build lasting relationships with organizations and individuals with customers. Awad is certified in Google Adwords, Google Analytics, Microsoft Bing Ads and HubSpot Inbound and Content Marketing. I blog about SEO, SEM, and Marketing.

If you want to learn more about PPC, SEO, SEM, Content Marketing & Google Analytics please bookmark this blog in your browser today.

You can also follow him on

Awad Abdelgayoum On ppcgraph.com

Awad Abdelgayoum On Twitter

Awad Abdelgayoum on LinkedIn

Awad Abdelgayoum on Facebook

]]>
https://www.imthi.com/blog/dubai/new-blog-in-town-ppcgraph-com-by-awad-abdelgayoum.php/feed 0 2448
Abu Dhabi Veteran Journalist Launches First Professional Blog Dedicated To UAE History, Culture And Traditions https://www.imthi.com/blog/news/abu-dhabi-veteran-journalist-launches-first-professional-blog-dedicated-to-uae-history-culture-and-traditions.php https://www.imthi.com/blog/news/abu-dhabi-veteran-journalist-launches-first-professional-blog-dedicated-to-uae-history-culture-and-traditions.php#comments_reply Sat, 19 Aug 2017 06:00:49 +0000 https://www.imthi.com/?p=2430 ABU DHABI, UAE, 19.08.2017Traditzia (www.traditzia.com) is the first digital magazine written in blog format dedicated to the arts, culture, heritage, history and traditions of United Arab Emirates in particular and the Arab Gulf in general.

Since its launch, on June 12, 2017, Traditzia has witnessed a remarkable growth, reaching over 1,000 readers monthly and over 6,800 social media followers.

Stories such as the history of photography in Arabia, as old as the first photographic camera, myths and superstitions hidden in the patterns of Arabian jewellery, the oldest hotel in the UAE, built as a wedding venue for HH Sheikh Khalifa bin Zayed Al Nahyan, the UAE President, have attracted readers not only from the UAE, but also from USA, UK, New Zeeland, Japan, Tunisia, India and Saudi Arabia.

 

“I’ve launched Traditzia with the English language expat communities in mind. Non-Arabic speakers living in the UAE and elsewhere in the Arab Gulf countries, or those interested in this region, have limited resources to information about the history, culture and heritage of the Peninsula. As expected, a lot of material is published in Arabic language, but in English there are only a handful of books on these subjects and even those are hard to find,” said Silvia Radan, the founder and editor of Traditzia.

A veteran journalist based in Abu Dhabi, UAE, Silvia Radan has over 20 years experience in media, the last 11 years being in the UAE. She worked as a senior journalist for Khaleej Times, where she covered mainly the local arts, culture and heritage topics, as well as the hospitality industry and environment. She is also an author with essays published in two books: she wrote the UAE history chapter in Time to Shine, a coffee-table book published by the UAE Ministry of Economy; and an essay on visual communication published in 20, a Higher Colleges of Technology anthology marking its 20th anniversary, a book of essays written by various Nobel Prize laureates, world leaders and world renown environmentalists, economists, academicians and writers.

“Over the years, I’ve created an incredible amount of research and have access to plenty of sources and resources. The reason I came to Abu Dhabi all these years ago was to discover the Emirati culture, lifestyle and traditions. I’ve made many friends among them, friendships as strong as family bonds that led to expanding my horizon about their roots,” added Ms. Radan.

For now, Traditzia is a weekly blog, with new material published every Wednesday. Apart from the main blog articles there are also a section for upcoming events related to the website’s topics and a photo gallery with all images available for sale.

“I encourage all my readers to interact with Traditzia. Send in your comments, thoughts and suggestions. Do you have a specific subject you would like to know about? Send me an email suggesting a topic! You may find contact details on the website itself – www.traditzia.com – or on Traditzia’s social media channels – Facebook, Twitter and Instagram,” concluded Ms. Radan.

]]>
https://www.imthi.com/blog/news/abu-dhabi-veteran-journalist-launches-first-professional-blog-dedicated-to-uae-history-culture-and-traditions.php/feed 0 2430