Skip to content

Instantly share code, notes, and snippets.

View ngugijames's full-sized avatar
🇰🇪
.

James Ngugi ngugijames

🇰🇪
.
View GitHub Profile
@ngugijames
ngugijames / longPolling.js
Created October 28, 2015 07:22 — forked from jasdeepkhalsa/longPolling.js
Simple Long Polling Example with JavaScript and jQuery by Tian Davis (@tiandavis) from Techoctave.com (http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery)
// Long Polling (Recommened Technique - Creates An Open Connection To Server ∴ Fast)
(function poll(){
$.ajax({ url: "server", success: function(data){
//Update your dashboard gauge
salesGauge.setValue(data.value);
}, dataType: "json", complete: poll, timeout: 30000 });
})();
@ngugijames
ngugijames / simplepolling.js
Created October 28, 2015 07:23 — forked from handerson/simplepolling.js
Simple AJAX Polling jQuery Plugin
//Simple AJAX Polling jQuery Plugin
// example usage:
/* $.ajaxPoll({
url: "/path",
type: "GET",
interval: 250,
maxAttempts: 25,
successCondition: function(result) {
return result != "processing";
},
@ngugijames
ngugijames / scrape.php
Created December 22, 2015 20:22 — forked from ziadoz/scrape.php
Scraping Google using PHP and Goutte:
<?php
/**
* Todo: Send a random user agent string and sleep a random amount between requests.
*/
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// Extract and sanatize input:
$domain = filter_input(INPUT_POST, 'domain', FILTER_SANITIZE_URL);
$terms = filter_input(INPUT_POST, 'terms', FILTER_SANITIZE_STRING);
// Setup Goutte (which also includes Guzzle):
@ngugijames
ngugijames / officetophp.php
Created January 11, 2016 10:42
DOC, DOCX, PPT, XLSX to TXT in PHP
/*determine th file extension
$file_name = $_FILES['image']['name'];
$file_extn = end(explode(".", strtolower($_FILES['image']['name'])));
if($file_extn == "doc" || $file_extn == "docx"){
}elseif($file_extn == "rtf"){
}
*/
/**
* Special thanks to http://webcheatsheet.com/php/reading_the_clean_text_from_rtf.php
*/
<?php
// Function that checks whether the data are the on-screen text.
// It works in the following way:
// an array arrfailAt stores the control words for the current state of the stack, which show that
// input data are something else than plain text.
// For example, there may be a description of font or color palette etc.
@ngugijames
ngugijames / PHP Weighted Round Robin Scheduling
Created May 16, 2016 13:44
A simple implementation of the Weighted Round-Robin Scheduling in PHP ( PHP >= 5.3 )
<?php
/**
* @author Alexis Gruet
*
* A simple implementation of the Weighted Round-Robin Scheduling in PHP 5.3+
*
* The weighted round-robin scheduling is designed to better handle servers with different
* processing capacities. Each server can be assigned a weight, an integer value that
* indicates the processing capacity. Servers with higher weights receive new connections
@ngugijames
ngugijames / Ussd-varying-questions.php
Last active August 30, 2016 10:20
Ussd with varying questions and responses
<?php
/**
* Collaborated with http://github.com/pittgikera
*/
$text = $_GET['text'];
//$questions = "How was is it? # Was it enjoyable?# Did you have fun? # Will you come back?";
$questions = "";
@ngugijames
ngugijames / remote-git.md
Created July 11, 2017 15:58 — forked from Integralist/remote-git.md
Basic set-up of remote git repository on a standard server

Set-up remote git repository on a standard server

The first thing to do is to install Git on the remote server.

Once you do that the rest of the process is split into three sections:

  1. Server set-up
  2. Local set-up (push commits)
  3. Server (pull commits)
@ngugijames
ngugijames / validation.php
Created August 16, 2017 08:52
showing :value in laravel validation errors
//in controller
$validator = Validator::make(['one','two','three'], [
'*' => 'exists:table,name',
], [
'exists' => '`:value` does not exist.',
]);
//in service provider boot
$this->app->validator->resolver(function($translator, $data, $rules, $messages, $attributes)
@ngugijames
ngugijames / l3_log_replacer.php
Last active November 2, 2017 09:51
find L3 log usages and replace with L5 equivalents using PHPStorm
<?php
//Search For:
Log::(.*?)\((.*[\(\)]*)\);
//Replace with
Log::info("$1", $2);
// Replaces Log::api_unreachable(..) with something like Log::info("api_unreachable", ..);