Skip to content

Instantly share code, notes, and snippets.

@KWMalik
KWMalik / gist:3881669
Created October 12, 2012 21:38 — forked from mhawksey/gist:3833072
Bulk collect social share counts from Facebook, Twitter, Delicious, Pinterest and Google +1s and return json
<?php
$url = $_GET['url'];
$finfo = json_decode(file_get_contents('http://api.ak.facebook.com/restserver.php?v=1.0&method=links.getStats&urls='.$url.'&format=json'));
$tinfo = json_decode(file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.$url));
$dinfo = json_decode(file_get_contents('http://feeds.delicious.com/v2/json/urlinfo/data?url='.$url));
$pinfo = json_decode(preg_replace('/^receiveCount\((.*)\)$/', "\\1",file_get_contents('http://api.pinterest.com/v1/urls/count.json?callback=receiveCount&url='.$url)));
$gplus = gplus_shares($url);
//http://papermashup.com/google-plus-php-function/
@KWMalik
KWMalik / gist:3881665
Created October 12, 2012 21:37 — forked from mhawksey/gist:3799483
Practising some data shaping in R for #compdata week 1
# compdata week 1 pracitce
# Script reads a NodeXL twitter search for #compdata hashtag that's been uploaded to Google Spreadsheet
# Data is reshaped using subsetting to get a slice of rows columns fitting a certiain condition
# read csv from Google Spreadsheet, headers in row 2 in this case an vertices list
vertices <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AqGkLMU9sHmLdHJ1Y0Jsb0R4MjdXM2M1WExXU21FVWc&single=true&gid=1&output=csv",header=TRUE,skip=1,)
# see number of rows
nrow(vertices)
@KWMalik
KWMalik / computing_data_analysis_notes.md
Created October 11, 2012 21:19 — forked from sandys/computing_data_analysis_notes.md
notes for Computing for Data Analysis coursera course

using logical indexes

in1 <- c(TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, FALSE)
x[in1]```

* single [] operator returns the same class - except in matrix. To get the same behavior in matrix, set ``` drop=FALSE``` attribute
    * ```x[1,,drop=FALSE] ``` 
* ```attributes(y) ``` to list all attributes of a data strucuture
    * ``` attr(y, "class")``` to print out one particular attribute
* lists also work as hashes ```x &lt;- list(foo = 1:4, bar=0.6) x$foo ```
@KWMalik
KWMalik / interviewitems.MD
Created September 16, 2012 22:04 — forked from amaxwell01/interviewitems.MD
My answers to over 100 Google interview questions

##Google Interview Questions: Product Marketing Manager

  • Why do you want to join Google? -- Because I want to create tools for others to learn, for free. I didn't have a lot of money when growing up so I didn't get access to the same books, computers and resources that others had which caused money, I want to help ensure that others can learn on the same playing field regardless of their families wealth status or location.
  • What do you know about Google’s product and technology? -- A lot actually, I am a beta tester for numerous products, I use most of the Google tools such as: Search, Gmaill, Drive, Reader, Calendar, G+, YouTube, Web Master Tools, Keyword tools, Analytics etc.
  • If you are Product Manager for Google’s Adwords, how do you plan to market this?
  • What would you say during an AdWords or AdSense product seminar?
  • Who are Google’s competitors, and how does Google compete with them? -- Google competes on numerous fields: --- Search: Baidu, Bing, Duck Duck Go
@KWMalik
KWMalik / compgeo.md
Created September 16, 2012 22:04 — forked from dideler/compgeo.md
Computation Geometry

Computational Geometry

(Abridged notes from Introduction to Algorithms)

Branch of CS that studies algorithms for solving geometric problems. Input is typically a set of points, a set of line segments, or the vertices of a polygon in counterclockwise order. Output is often a response to a query about the objects, such as whether any lines intersect, or finding a new geometric object (e.g. convex hull) of the set of points.

We look at computational-geometry algorithms in two dimensions (2D), i.e. in the plane. Each object is represented by a set of points {P1, P2, P3, ...}, where each Pi = (Xi, Yi). For example, an n-vertex polygon _P = _.

@KWMalik
KWMalik / task_1_1.ml
Created August 29, 2012 18:13 — forked from tilarids/task_1_1.ml
Solution for coursera's Cryptography programming task 1.1
open Batteries_uni
let regroup e n =
let next () =
if Enum.is_empty e then
raise Enum.No_more_elements
else
Enum.take n e in Enum.from next;;
let load_ciphers fname =
@KWMalik
KWMalik / w1q2.py
Created July 31, 2012 07:05 — forked from raullenchai/w1q2.py
Solve Week 1 Question 2 in Stanford Crypto Course
CT = (210205973, 22795300, 58776750, 121262470, 264731963, 140842553, 242590528, 195244728, 86752752)
P = 295075153L # about 2^28
class WeakPrng(object):
def __init__(self, p, x, y): # generate seed with 56 bits of entropy
self.p = p
self.x = x
self.y = y
def next(self):
@KWMalik
KWMalik / gist:3214387
Created July 31, 2012 06:56 — forked from yesez/gist:3214190
Singleton
Public NotInheritable Class Singleton
Private Shared _Instance As Singleton = Nothing
Private Shared ReadOnly _Sync As New Object
Private Sub New()
End Sub
Public Shared ReadOnly Property Instance() As Singleton
Get
@KWMalik
KWMalik / w1q1.py
Created July 30, 2012 21:14 — forked from raullenchai/w1q1.py
Solve Week 1 Question 1 in Stanford Crypto Course
CT = ( '315c4eeaa8b5f8aaf9174145bf43e1784b8fa00dc71d885a804e5ee9fa40b16349c146fb778cdf2d3aff021dfff5b403b510d0d0455468aeb98622b137dae857553ccd8883a7bc37520e06e515d22c954eba5025b8cc57ee59418ce7dc6bc41556bdb36bbca3e8774301fbcaa3b83b220809560987815f65286764703de0f3d524400a19b159610b11ef3e','234c02ecbbfbafa3ed18510abd11fa724fcda2018a1a8342cf064bbde548b12b07df44ba7191d9606ef4081ffde5ad46a5069d9f7f543bedb9c861bf29c7e205132eda9382b0bc2c5c4b45f919cf3a9f1cb74151f6d551f4480c82b2cb24cc5b028aa76eb7b4ab24171ab3cdadb8356f', '32510ba9a7b2bba9b8005d43a304b5714cc0bb0c8a34884dd91304b8ad40b62b07df44ba6e9d8a2368e51d04e0e7b207b70b9b8261112bacb6c866a232dfe257527dc29398f5f3251a0d47e503c66e935de81230b59b7afb5f41afa8d661cb', '32510ba9aab2a8a4fd06414fb517b5605cc0aa0dc91a8908c2064ba8ad5ea06a029056f47a8ad3306ef5021eafe1ac01a81197847a5c68a1b78769a37bc8f4575432c198ccb4ef63590256e305cd3a9544ee4160ead45aef520489e7da7d835402bca670bda8eb775200b8dabbba246b130f040d8ec6447e2c767f3d30ed81ea2e4c1404e1315a1010e7229be6636aaa', '3f561ba9adb4b6ebec544
@KWMalik
KWMalik / algorithms.hs
Created July 30, 2012 20:08 — forked from supki/algorithms.hs
Strings distance count algorithms from Stanford NLP course.
import Control.Arrow ((***), second)
import Data.Array
import Data.Function (on)
import Data.List (minimumBy)
data Action = Ins
| Del
| Sub
| Id
deriving Show