Skip to content

Instantly share code, notes, and snippets.

View mtvbrianking's full-sized avatar

Brian Matovu mtvbrianking

View GitHub Profile
@mtvbrianking
mtvbrianking / json-to-java.md
Last active September 16, 2018 18:09
Mapping JSON to Java Objects (Pojo)
{
   "id": 123456,
   "name": "Brian Matovu",
   "is_enabled": true
}
public class User {
@mtvbrianking
mtvbrianking / device-exception-events-i.php
Created September 19, 2018 19:02
Group exception events by device
<?php
$reports = array(
['device_id'=>'D523C45F', 'vehicle_reg_no'=>'UAB 158G', 'event_id'=>'41', 'event'=>'panic_emergency', 'reported_at'=>'2018-09-19 14:10:58', ],
['device_id'=>'D523C45F', 'vehicle_reg_no'=>'UAB 158G', 'event_id'=>'41', 'event'=>'panic_emergency', 'reported_at'=>'2018-09-19 14:10:50', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-19 13:34:58', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-19 13:24:58', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-19 13:14:57', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-14 20:19:03', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'56', 'event'=>'ext_power_disconnected', 'reported_at'=>'2018
@mtvbrianking
mtvbrianking / device-exception-events-ii.php
Last active September 20, 2018 06:53
Count and group exception events by device
<?php
$reports = array(
['device_id'=>'D523C45F', 'vehicle_reg_no'=>'UAB 158G', 'event_id'=>'41', 'event'=>'panic_emergency', 'reported_at'=>'2018-09-19 14:10:58', ],
['device_id'=>'D523C45F', 'vehicle_reg_no'=>'UAB 158G', 'event_id'=>'41', 'event'=>'panic_emergency', 'reported_at'=>'2018-09-19 14:10:50', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-19 13:34:58', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-19 13:24:58', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-19 13:14:57', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'276', 'event'=>'excessive_idle', 'reported_at'=>'2018-09-14 20:19:03', ],
['device_id'=>'2F3C4790', 'vehicle_reg_no'=>'KCG 785H', 'event_id'=>'56', 'event'=>'ext_power_disconnected', 'reported_at'=>'2018
@mtvbrianking
mtvbrianking / api-usage-doc.md
Last active September 27, 2018 10:16
Sample API usage document

# Login

Authenticate user

URL : /admin/account/user/auth

Method : POST

## Request

// Common Route Patterns http://laravel-tricks.com/tricks/routing-patterns
// Patterns
Route::pattern('id', '\d+');
Route::pattern('hash', '[a-z0-9]+');
Route::pattern('hex', '[a-f0-9]+');
Route::pattern('uuid', '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}');
Route::pattern('base', '[a-zA-Z0-9]+');
Route::pattern('slug', '[a-z0-9-]+');
Route::pattern('username', '[a-z0-9_-]{3,16}');
@mtvbrianking
mtvbrianking / api-usage-doc-ii.md
Last active October 10, 2018 08:45
Sample #2

Authenticate user

Only available for client credentials grant client apps.

Route:

POST /users/auth

Form Params:

@mtvbrianking
mtvbrianking / bubble-sort.php
Last active February 1, 2019 14:25
Bubble sort array
<?php
/**
* Bubble sort.
* Sort numbers in an array in ascending order.
*
* @param array $numbers
*
* @return array
*/
<?php
# Merge sort
function merge_sort(array $nums) : array
{
$mid_pt = (int) (sizeof($nums)/2);
if($mid_pt == 0) {
return $nums;
@mtvbrianking
mtvbrianking / duplicates-01.php
Created February 8, 2019 15:35
If max element in array is known
<?php
function duplicates($nums, $max)
{
$dups = [];
$size = sizeof($nums);
$count = array_fill(0, $max+1, 0);