Skip to content

Instantly share code, notes, and snippets.

View zaherg's full-sized avatar
🎯
Focusing

Zaher Ghaibeh zaherg

🎯
Focusing
View GitHub Profile
@koomai
koomai / PhpStorm Keyboard Shortcuts.md
Last active September 14, 2024 00:46
Frequently Used PhpStorm Keyboard Shortcuts

Note: Some of these shortcuts have been remapped for my own convenience (Preferences->Keymap). These are Mac shortcuts, just use the Windows/Linux equivalent of the Cmd/Option/Ctrl/Del keys.

####Search, Go to, Navigation ####

Cmd + P - Search file

Cmd + Shift + O - Search everywhere

(I swapped the above two recently because I use Cmd + P to search for files most of the time).

@danharper
danharper / after.blade.php
Created March 20, 2014 13:02
Declarative Blade Extensions
@usingPerRow(4)
@foreach ($images as $image)
@incrementPerRow()
@whenStartOfRow
<tr>
@closeStartOfRow
<td><img src="{{ $image->url }}"></td>
@vladimirtsyupko
vladimirtsyupko / gist:10964772
Created April 17, 2014 08:32
Git force pull to overwrite local files
git fetch --all
git reset --hard origin/master
git pull origin master
#!/bin/bash
#
# Bash script to setup headless Selenium (uses Xvfb and Chrome)
# (Tested on Ubuntu 12.04) trying on ubuntu server 14.04
# Add Google Chrome's repo to sources.list
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee -a /etc/apt/sources.list
# Install Google's public key used for signing packages (e.g. Chrome)
# (Source: http://www.google.com/linuxrepositories/)
@msurguy
msurguy / install.sh
Last active August 30, 2021 21:18
Installing VIPS on Digital Ocean (Ubuntu 14). VIPS (http://www.vips.ecs.soton.ac.uk/) is super fast image processor that performs faster than anything else. Please read the comments for even quicker install
cat ~/.ssh/id_rsa.pub | ssh forge@yourserverIP "cat >> ~/.ssh/authorized_keys"
ssh 'forge@yourserverIP'
mkdir vips
cd vips
wget -c http://www.vips.ecs.soton.ac.uk/supported/current/vips-7.38.5.tar.gz
tar xzvf vips-7.38.5.tar.gz
cd vips-7.38.5/
@wpsmith
wpsmith / sanitize_phone.php
Created June 5, 2014 17:00
PHP: Sanitize & Format US Phone Numbers
<?php
function sanitize_phone( $phone, $international = false ) {
$format = "/(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/";
$alt_format = '/^(\+\s*)?((0{0,2}1{1,3}[^\d]+)?\(?\s*([2-9][0-9]{2})\s*[^\d]?\s*([2-9][0-9]{2})\s*[^\d]?\s*([\d]{4})){1}(\s*([[:alpha:]#][^\d]*\d.*))?$/';
// Trim & Clean extension
$phone = trim( $phone );
$phone = preg_replace( '/\s+(#|x|ext(ension)?)\.?:?\s*(\d+)/', ' ext \3', $phone );
@hettiger
hettiger / macros.php
Created August 20, 2014 12:37
Laravel: Form::selectTime()
<?php
// Path: app/macros.php (required once in app/start/global.php)
Form::macro('selectTime', function($name, $low, $high, $unit, $options = [], $selected = null, $step = 1)
{
if ( ! Lang::has('options.' . $unit) )
{
throw new InvalidArgumentException('Failed finding a translation for the provided unit.');
}

###Edit this file

/etc/nginx/nginx.conf

###Add this line anywhere inside the http { } block:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

###Go to your Forge panel and restart Nginx

@skypanther
skypanther / Gruntfile.js
Last active May 3, 2017 11:48
Grunt - build your Titanium app and upload to Installr
var _ = require('underscore')._;
module.exports = function(grunt) {
grunt.initConfig({
settings: {
appName: 'YourAppName',
ppUuid: 'uuid', /* Provisioning profile UUID */
distributionName: 'cert_name', /* Distr. certificate name */
keystoreLocation: '/Users/path/to/android.keystore', /* path to keystore */
storePassword: 'keystore_password', /* keystore password */
<?php
use Symfony\Component\Console\Output\StreamOutput;
$handle = fopen("php://output", "w");
$stream = new StreamOutput($handle);
Artisan::call("migrate", ["--path" => "Acme/Migration"], $stream);