Skip to content

Instantly share code, notes, and snippets.

{"weeks":["2019-12-30","2020-01-06","2020-01-13","2020-01-20","2020-01-27","2020-02-03","2020-02-10","2020-02-17","2020-02-24","2020-03-02","2020-03-09","2020-03-16","2020-03-23","2020-03-30","2020-04-06","2020-04-13","2020-04-20","2020-04-27","2020-05-04","2020-05-11","2020-05-18"],"verticals":{"Furniture, Homeware & Accessories":{"n_orders":[64979,91668,76112,67064,67207,52363,48751,49642,56365,52069,47540,57952,65012,70277,71252,75589,73058,77255,68558,66529,74876],"total_revenue":[13962452.42251625,20211601.260294616,16761606.604096178,18078759.472428378,17185504.689816497,10481717.567324378,9469151.98734846,10361985.45463262,11831676.71308583,11064672.81594934,9609797.91563024,10684875.087335382,11221720.068841953,11988840.084386786,11839543.75821414,12376852.523703327,11589587.232801259,14003874.11223122,13097660.316103984,13074107.77324399,14718540.650605971],"n_orders_broadcast":[4863,7446,5065,3112,3231,2399,1826,1883,2182,2111,1822,3217,3272,2097,2356,2689,2177,1803,2198,1824,2811],"total_revenue_br
// 1) open the shared spreadsheed, make a copy of it, open tools|script editor, update the settings below, save
// https://docs.google.com/spreadsheets/d/15bTn9_Cv9IBVkvepINPlBRcK8oty74e6FlAieNbiQMg/edit?usp=sharing
// for script updates, simply copy this script into your spreadsheet using the script editor, i.e. select all, copy, paste, save
// 2) set the script's timezone (File|Project properties)
// 3) on the menu bar click Current Project's Triggers
// click add new trigger
// for Run select the function nestDataCollection, Events: time-driven, and select the rate per your preference (I do every 5 minutes)
// click add new trigger
// for Run select the function rollUpAllSheets, Events: time-driven, and select once a month
// 4) in the spreadsheet, set the spreadsheet's timezone to your timezone (File|Spreadsheet settings...)
<?php
/**
* @author: gareth
*/
class Lock
{
/**
* @var string
*/
@garoevans
garoevans / curly_array.php
Created April 3, 2014 12:02
Curly braces for array acces?
<?php
$x = 10;
$foo = null;
$ref = &$foo;
do {
$ref = array('foo' => 'bar');
$ref = &$ref['foo'];
} while (--$x);

Keybase proof

I hereby claim:

  • I am garoevans on github.
  • I am garoevans (https://keybase.io/garoevans) on keybase.
  • I have a public key whose fingerprint is B580 43E1 B507 99B8 AD9C BD98 C7AC B821 066E ABA7

To claim this, I am signing this object:

//"file_foo.php"
<?php
include "file_bar.php";
function foo1()
{
echo 'me';
}
function foo2()
{
bar();
@garoevans
garoevans / LINUX: create large random file
Created April 12, 2012 16:33
LINUX: create large random file
1MB
dd if=/dev/zero of=g_file.dat count=1024 bs=1024
500MB
dd if=/dev/zero of=g_file.dat count=1024 bs=51200
1GB
dd if=/dev/zero of=g_file.dat count=1024 bs=1048576
5GB
dd if=/dev/zero of=g_file.dat count=1024 bs=5242880
10GB
dd if=/dev/zero of=g_file.dat count=1024 bs=10485760
@garoevans
garoevans / JavaScript: onmouseout stop child triggering
Created March 23, 2012 13:20
JavaScript: onmouseout stop child triggering
var e = event.toElement || event.relatedTarget;
if (e.parentNode == this || e == this) { return; };
@garoevans
garoevans / LINUX: automated mysql access
Created March 20, 2012 09:03
LINUX: automated mysql access
Sometimes you want automated access for root on your MySQL database. One way of accomplishing that is by doing this:
cd /root
touch .my.cnf
chmod 640 .my.cnf
And put in it:
[client]
user=root
@garoevans
garoevans / gist:2011169
Created March 10, 2012 11:10
CSS: Image Replacement
.ir {
border:0;
font: 0/0 a;
text-shadow: none;
color: transparent;
background-color: transparent;
}