Skip to content

Instantly share code, notes, and snippets.

@miguelmota
miguelmota / randomDate.js
Last active October 9, 2024 22:10
Random date in JavaScript
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()))
}
console.log(randomDate(new Date(2012, 0, 1), new Date()))
@colingourlay
colingourlay / example.js
Last active October 22, 2021 15:16
Lodash / Underscore sort object keys. Like _.sortBy(), but on keys instead of values, returning an object, not an array. Defaults to alphanumeric sort.
var obj = {b: 3, c: 2, a: 1};
_.sortKeysBy(obj);
// {a: 1, b: 3, c: 2}
_.sortKeysBy(obj, function (value, key) {
return value;
});
// {a: 1, c: 2, b: 3}
@zuzuleinen
zuzuleinen / csv-symfony-action.php
Last active October 3, 2024 17:01
CSV Response in Symfony controller action
<?php
use Symfony\Component\HttpFoundation\Response;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class CsvController extends Controller
{
/**
* Get a CSV file from an array
#To install:
#
#In your git configuration (for instance, .git/config to do it at the project level), add:
#
#[merge "json_merge"]
# name = A custom merge driver for json files
# driver = coffee json_merge.coffee %O %A %B
# recursive = binary
#
#In your project's .gitattributes file, add something like:
@mrLexx
mrLexx / Vagrantfile
Last active March 8, 2017 16:03
PuPHPet Integration with hostsupdater
Vagrant.configure("2") do |config|
## Begin vagrant-hostsupdater
## https://github.com/cogitatio/vagrant-hostsupdater
## vagrant plugin install vagrant-hostsupdater
if Vagrant.has_plugin?("vagrant-hostsupdater") && configValues['apache']['install'] == '1'
config.hostsupdater.remove_on_suspend = true
config.hostsupdater.aliases = Array.new
configValues['apache']['vhosts'].each do |i, host|
@jbinto
jbinto / howto-recover-google-authenticator-keys.txt
Created February 8, 2014 04:20
Recovering Google Authenticator keys from Android device for backup
### Last tested February 7 2014 on a Galaxy S3 (d2att) running Cyanogenmod 11 nightly, with Google Authenticator 2.49.
### Device with Google Authenticator must have root.
### Computer requires Android Developer Tools and SQLite 3.
### Connect your device in USB debugging mode.
$ cd /tmp
$ adb root
$ adb pull /data/data/com.google.android.apps.authenticator2/databases/databases
@jgornick
jgornick / criteria-to-query-builder.php
Created January 28, 2014 16:57
Doctrine: Criteria Array to Doctrine QueryBuilder
<?php
/**
* Recursively takes the specified criteria and adds too the expression.
*
* The criteria is defined in an array notation where each item in the list
* represents a comparison <fieldName, operator, value>. The operator maps to
* comparison methods located in ExpressionBuilder. The key in the array can
* be used to identify grouping of comparisons.
*
@denji
denji / nginx-tuning.md
Last active April 28, 2025 20:57
NGINX tuning for best performance

NGINX Tuning For Best Performance

For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.

Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon with HyperThreading enabled, but it can work without problem on slower machines.

You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.

@opengeek
opengeek / Changeset configuration example
Last active February 8, 2023 12:19
Adding the following config_options entries to your MODX Revolution config file will allow you to track changes made to any xPDOObject class via the `xPDOObject::save()`, `xPDOObject::remove()`, `xPDO::updateCollection()`, or `xPDO::removeCollection()` methods. This example records changes into a database register called `changes` under a config…
<?php
$config_options = array (
'callback_excludes' => array(
'modSession',
'modManagerLog',
'modActiveUser',
'modDbRegisterQueue',
'modDbRegisterTopic',
'modDbRegisterMessage',
'modUser',
@primozcigler
primozcigler / themeforest-contract.md
Last active August 19, 2021 02:41
Modified version of @malarkey's Killing Contract for use for the ThemeForest cooperation (more dev to dev team than dev to client).

Contract for developing a Drupal theme for selling on the ThemeForest

Between us: [ProteusNet d.o.o., Rudarska cesta 11, 8281 Senovo, Slovenia, EU] and you: [partner]

Summary:

We’ll always do our best to fulfil the scope of this cooperation, but it’s important to have things written down so that we both know what’s what, who should do what and when, and what will happen if something goes wrong. In this contract you won’t find any complicated legal terms or long passages of unreadable text. We’ve no desire to trick you into signing something that you might later regret. What we do want is what’s best for both parties, now and in the future.

So in short;