bookmark_borderCool Profile Pic Doc

CoolProfilePic app helps users to change their social media profile pictures automatically based on settings that they will choose such as new photo category and the changing frequency!

Using:

Docker(-compose), DigitalOcean, AWS, Jinja, Linux, Crons, Flask, RabbitMQ, PHP, Python, Node, MySQL, Express, MongoDB, SQL, Social media APIs, Flask_Dance, PDO, TwitterAPI, GitHubAPI, NPM, PhpMyAdmin, Composer, Guzzle, Sockets, PIL

Demo (the queuing cycle)

Watch Demo (the whole app) => youtube video

Architecture


Email me for the source code: khaledalam.net@gmail.com

Reflection

The idea of automate changing facebook, twitter github, etc.. profile picture came to my mind few days ago, I decided to build this self project from A to Z using some new strategy and stack as a proof of concept of some things that I want to proof personally by myself.

Solved Challenges

  • Connections between containers issues
  • Deadlock issues
  • Sockets issues
  • Caching common dependencies

Current demo is version 1 of the app

Version 2 Tweeks:

  • use multi workers, publisher, queues, taskers
  • mapping DB queries by its types and priority
  • improve containerization performance
  • design IP blocker microservice
  • design mailer microservice
  • handle higher traffic and load
  • automate the deployment process and increase its speed
  • advertise (image processing -> add watermark @CoolProfilePic text on new images)

Random sketches

bookmark_borderIdeal City

Cloud system micro-serviced using Docker, Python, Golang, Node, Flask, Gin, Express.js, MongoDB

Reflection

Show cheaper products of a target city comparing to your city!

=> City Searcher API Microservice Repo

Run
sh run.sh

output

live demo: http://khaledalam.net:8001


Architecture

GitHub: https://github.com/khaledalam/ideal-city

bookmark_borderAliases Manager

Hi everyone!
I just released the first version of my new tool
(Aliases Manager a GUI app using #Python and #Tkinter)

project on #GitHub : https://lnkd.in/dynSGDm

feel free to give the tool a try and a star if you liked it.

#gui#python3#pip#docker#git#files#string#manipulation#linux#unix#mac#windows#bash#treeview#tk#tcl#geometry#terminal#terminals#kernal#cmd#sh#scripting

bookmark_borderAllocate memory to work as swap space on VMs

When physical RAM is already in use, VM instances use swap space as a short-term replacement for physical RAM.

Contents of RAM that aren’t in active use or that aren’t needed as urgently as other data or instructions can be temporarily paged to a swap file. This frees up RAM for more immediate use.

Resolution

Calculate the swap space size

As a general rule, calculate swap space according to the following:

Amount of physical RAMRecommended swap space
2 GB of RAM or less2x the amount of RAM but never less than 32 MB
More than 2 GB of RAM but less than 32 GB4 GB + (RAM – 2 GB)
32 GB of RAM or more1x the amount of RAM
Note: Swap space should never be less than 32 MB.

In this example dd command, the swap file is 4 GB (128 MB x 32):  

$ sudo dd if=/dev/zero of=/swapfile bs=128M count=32

2.    Update the read and write permissions for the swap file:

$ sudo chmod 600 /swapfile

3.    Set up a Linux swap area:

$ sudo mkswap /swapfile

4.    Make the swap file available for immediate use by adding the swap file to swap space:  

$ sudo swapon /swapfile

5.    Verify that the procedure was successful:

$ sudo swapon -s

6.    Enable the swap file at boot time by editing the /etc/fstab file.

Open the file in the editor:

$ sudo nano /etc/fstab

Add the following new line at the end of the file, save the file, and then exit:

/swapfile swap swap defaults 0 0

Done )

run $ htop and check swp [ ] section.

bookmark_borderAwesome Docker WordPress

Simple and easy containerized WordPress website with docker-compose.

Components used:

  • [image] wordpress:latest
  • [image] mysql:5.7
  • [image] phpmyadmin/phpmyadmin
  • docker
  • docker-compose
  • wget, curl, tar, mysqladmin

Usage

  • $ git clone
  • $ cd awecome-docker-wordpress
  • make sure ports in docker-compose file are opened and not in used
  • make sure no running containers using same ports. delete all containers: $ docker rm $(docker -aq) -f
  • $ sudo ./build.sh
  • Naviagate to:
    website: localhost or 127.0.0.1
    PMA: localhost:5000 or 127.0.0.1:5000

Notes: if you want to use your existing WordPress files remove or comment <<< Download latest wordpress section in build.sh file and put your files in app folder!


GitHub: https://github.com/khaledalam/awesome-docker-wordpress

bookmark_borderTweet Products

Auto tweet about your e-commerce products with content, hashtags and links using python and docker.

(c) ManyDatasets.com

code on github => https://lnkd.in/e4FFUus

Usage

  • create twitter app and change api keys
auth = tweepy.OAuthHandler("CONSUMER_KEY", "CONSUMER_SECRET")
auth.set_access_token("ACCESS_TOKEN", "ACCESS_TOKEN_SECRET")
  • install docker or docker.io
  • create docker image docker build -t manydatasets_twitter .
  • run docker conatiner: docker run -d --name manydatasets_twitter manydatasets_twitter

#marketing #twitter #tweet #ecommerce #products #product #docker #python #bs4 #pandas #wp #wordpress #shopify #magento #manydatasets

bookmark_borderIntro – Asdam Podcast | مقدمه أسدام بودكاست

Performer & Mix & Master: Khaled Alam

Listen on:
=> YouTube: https://youtu.be/0cRxIJ78YjY
=> Soundcloud: https://soundcloud.com/asdampodcast/intro-asdam-podcast

https://khaledalam.net/asdam-podcast
Main Asdam Podcast Website

bookmark_borderReset Root Password in MySQL ^8.*

  1. Add below code to the end of /etc/mysql/my.cnf file.
    [mysqld]
    skip-grant-tables
  2. Restart service:
    sudo systemctl restart mysql
  3. Login into mysql:
    sudo mysql -uroot
  4. Remove root password:
    UPDATE mysql.user SET authentication_string=null WHERE User='root'; FLUSH PRIVILEGES; exit;
  5. Comment below code at the end of /etc/mysql/my.cnf file by add # in front of each line.
    # [mysqld]
    # skip-grant-tables
  6. Restart service:
    sudo systemctl restart mysql
  7. Login into mysql:
    sudo mysql -uroot

Done! 🙂