Skip to content

Instantly share code, notes, and snippets.

View hassansin's full-sized avatar
👋
Working from home

Hassansin hassansin

👋
Working from home
View GitHub Profile
@hassansin
hassansin / aspell-add-words.sh
Last active February 8, 2019 11:47
aspell add words to dictionary
touch ~/aspell.personal.txt
vi ~/aspell.personal.txt # add words per line
aspell --lang=en create master /tmp/en-personal.pws < ~/aspell.personal.txt
cp /tmp/en-personal.pws /usr/lib/aspell
vim /usr/lib/aspell/en_US.multi # add the line: 'add en-personal.pws'
@hassansin
hassansin / module.js
Created December 20, 2014 11:23
node.js - require module multiple times results in same object
//has to return object
module.exports = {
key: 'Hello'
}
@hassansin
hassansin / deploy.sh
Created May 18, 2015 08:41
Deploy Node app with bash
#!/bin/env sh
USER=ubuntu
SERVER=example.com
DESTINATION=/var/www/ics-feed
git archive -o latest.zip HEAD
scp latest.zip $USER@$SERVER:$DESTINATION
ssh $USER@$SERVER " \
mkdir -vp $DESTINATION && cd $DESTINATION \
@hassansin
hassansin / ab.sh
Created May 26, 2015 12:55
Apache Bench Ajax POST
ab \
-n 1000 \
-c 20 \
-s 30 \
-p post-data.txt \
-T 'application/x-www-form-urlencoded; charset=UTF-8' \
-v 3 \
-H "X-Requested-With: XMLHttpRequest" \
-H "X-Ajax-Referer: http://example.com" \
-H "Accept-Encoding: gzip, deflate" \
@hassansin
hassansin / laravel-debugging.md
Last active July 2, 2017 22:00
Laravel Debugging #laravel #debugging
Get Query Logs
DB::enableQueryLog();
dd(DB::getQueryLog()); #output last executed queries
DB::table('users')->toSql() #show the generated sql statement 
DB::table('users')->getQuery()->wheres #show wheres conditions
Debug Messages with DebugBar
@hassansin
hassansin / eloquent-cheatsheet.php
Last active May 5, 2024 05:53
Laravel 5 Eloquent CheatSheet #laravel #eloquent
Model::
/*Select*/
select('col1','col2')
->select(array('col1','col2'))
->select(DB::raw('businesses.*, COUNT(reviews.id) as no_of_ratings, IFNULL(sum(reviews.score),0) as rating'))
->addSelect('col3','col4')
->distinct() // distinct select
/*From*/
/*Use Fiddler Proxy*/
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
/*Use Proxy*/
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, "IP:PORT");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "username:password");
@hassansin
hassansin / mongoose-examples.js
Last active August 29, 2015 14:25
Mongoose by Examples
/*
Stream / QueryStreams
----------------------------
Ref: http://mongoosejs.com/docs/api.html#querystream_QueryStream
one chunk == one document
*/
readable = Model.where('created').gte(twoWeeksAgo).stream();
@hassansin
hassansin / casper-js-on-comple-error.js
Created July 31, 2015 13:51
CasperJS onComplete called infinitely when exitOnError is false.
var casper = require('casper').create({
viewportSize: {
width: 1024,
height: 768
},
pageSettings: {
webSecurityEnabled: false
},
exitOnError: false,
waitTimeout: 70000
@hassansin
hassansin / sync-readable-stream.js
Last active December 25, 2019 02:08
Node.js Synchronous Readable Stream
/*
Creating Synchronous Readable Stream in NodeJS
--------------------------------------------------
When data is pushed synchronously to internal buffer, you'll get the synchronous
behaviour of the stream. This would block the rest of the code from being executed in
the next event loop iteration.
In the example setImmediate should be called immediatley in next event loop iteration.
But since the stream is synchronously reading data, it can't execute other callbacks.