Skip to content

Instantly share code, notes, and snippets.


Saeid Mohadjer smohadjer

View GitHub Profile
smohadjer /
Last active Apr 29, 2016
scroll by pixel using arrow keys

Scroll by one pixel via arrow keys up/down for finer control over scrolling. Use to debug scroll related issues.

$(window).on('keydown', function(event) {
	var sctop = $(window).scrollTop();
	if (event.keyCode === 38) { //up arrow
smohadjer / animate.js
Last active Sep 14, 2018
Scroll page via jQuery without invoking callback twice
View animate.js
//we use a promise so that callback is not invoked twice
$('html, body').animate({
scrollTop: top
}, 1000).promise().then(function() {
if (callback) {
//use setTimeout to make sure callback is invoked after all scroll event handlers in stack have executed
setTimeout(callback, 0);
smohadjer /
Last active Feb 21, 2020
Setting MariaDB time zone to UTC on macOS

Setting Time Zone of MariaDB to UTC

  1. If you are logged in then exit mariadb and stop it via: brew services stop mariadb
  2. To populate time zone tables: To load the time zone tables from the command line, pass the zoneinfo directory path name to mysql_tzinfo_to_sql and send the output into the mysql program. If your root user has no password drop -p from below command:
    mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
  3. Open my.cnf (/usr/local/etc) and add following lines to it:
smohadjer /
Last active Mar 7, 2020
PHP tips and tircks

Use foreach to loop arrays

foreach (array_expression as $value)
foreach (array_expression as $key => $value)

in_array — Checks if a value exists in an array

smohadjer /
Last active Apr 22, 2020
Tips on using MariaDB

If after a Mac OS update MariaDB or MySQL stop working and you get this error on login:\

mysql: Can't read dir of '/usr/local/etc/my.cnf.d' (Errcode: 2 "No such file or directory")
Fatal error in defaults handling. Program aborted

It's because my.conf.d folder doesn't exist. This will fix it:
mkdir /usr/local/etc/my.cnf.d

smohadjer / .htaccess
Last active May 3, 2020 — forked from man-oi/.htaccess
View .htaccess
AuthType Basic
AuthName "only for valid users"
AuthUserFile /full/path/.htpasswd
Require valid-user
// If you don't have ssh access to your site, put the following command in a php file and upload it to your server to find out the full path to .htpasswd:
<?php echo realpath('./') . PHP_EOL; ?>
// You can create a .htpasswd using terminal:
htpasswd -c .htpasswd username
smohadjer /
Last active May 15, 2020
Updating virtual host
  1. Uncomment the following line in httpd.conf:
    # Virtual hosts
    #Include /private/etc/apache2/extra/httpd-vhosts.conf (mac)
    #Include conf/extra/httpd-vhosts.conf (windows)
  2. Add below snippet to httpd-vhosts.conf (use backslash in windows):
    <VirtualHost *:80>
smohadjer /
Last active Jun 11, 2020
Saeid's Yii2 Cookbook

To display validation errors in a model:


Custom validators

Custom validators can be written either inside a model or as a class in an external file so they can be used by different models.

View Windows
Ctrl + Shift + S -> screenshot
Shift + 6 -> ^
Mac Terminal --> Windows Git Bash (MINGW64) --> Purpose
open . --> start . --> to open the current location in File Explorer
smohadjer /
Created Oct 24, 2020 — forked from nrollr/
Enable SSL in Apache for 'localhost' (OSX, El Capitan)

Enable SSL in Apache (OSX)

The following will guide you through the process of enabling SSL on a Apache webserver

  • The instructions have been verified with OSX El Capitan (10.11.2) running Apache 2.4.16
  • The instructions assume you already have a basic Apache configuration enabled on OSX, if this is not the case feel free to consult Gist: "Enable Apache HTTP server (OSX)"

Apache SSL Configuration

Create a directory within /etc/apache2/ using sudo mkdir /etc/apache2/ssl
Next, generate two host keys:

You can’t perform that action at this time.