Skip to content

Instantly share code, notes, and snippets.

View samyk's full-sized avatar

samy kamkar samyk

View GitHub Profile
@kdzwinel
kdzwinel / trilateration.js
Created January 3, 2014 09:35
Simple trilateration algorithm implementation in JavaScript.
function getTrilateration(position1, position2, position3) {
var xa = position1.x;
var ya = position1.y;
var xb = position2.x;
var yb = position2.y;
var xc = position3.x;
var yc = position3.y;
var ra = position1.distance;
var rb = position2.distance;
var rc = position3.distance;
@cr3ative
cr3ative / gist:8340001
Last active January 15, 2025 06:45
Drift HD Ghost - Technical Notes and Root

## Drift HD Ghost - Technical Notes and Root

Note: Please don't attempt anything here unless you are comfortable with the possibility of permanently damaging your camera. I also do not guarantee your camera is the same as mine - this is just for information and fun! It goes without saying that I take no responsibility for what you do with this information, and it will probably invalidate your warranty too.

It is reported that the firmware re-flash does not appear to disable the debug network on a Ghost S.

  • Most of this was found by simply running strings over publically available firmware and software, then searching around for anything interesting.
  • The camera runs on the Ambarella A5S chipset, which appears to run PrKERNEL (implementing uItron): http://www.esol.com/embedded/prkernelv4.html, then boots Linux as a process inside the uItron OS.
  • There's lots of references to BOSS in the firmware, presumably a codename for this chipset from Ambarella.
  • The code on the device-side is a very close im
@cpldcpu
cpldcpu / gist:8387639
Created January 12, 2014 17:20
WS2812_SCAN - Exercise a WS2812 LED with different timing parameters. For each set of timing parameters (j,k) the following is performed: - Wait 10µs to reset the WS2812 LED - Emit 48 pulses with the given timing Compiles with AVR-GCC for ATtiny85. LED is connected on PB1.
/*
* WS2812_SCAN.c
*
* Created: 10.01.2014 20:46:20
* Author: tim
*/
#include <avr/io.h>
int main(void)
@jo
jo / js-crypto-libraries.md
Last active January 17, 2026 16:10
List of JavaScript Crypto libraries.

JavaScript Crypto Libraries

List some crypto libraries for JavaScript out there. Might be a bit out dated. Scroll to the bottom.

WebCryptoAPI

http://www.w3.org/TR/WebCryptoAPI/

This specification describes a JavaScript API for performing basic cryptographic operations in web applications, such as hashing, signature generation and verification, and encryption and decryption. Additionally, it describes an API for applications to generate and/or manage the keying material necessary to perform these operations. Uses for this API range from user or service authentication, document or code signing, and the confidentiality and integrity of communications.

@lenciel
lenciel / Useful netcat examples on Linux.md
Last active February 16, 2024 04:12
Useful netcat examples on Linux

Often referred to as the "swiss army of knife" for TCP/IP networking, [Netcat][1] is an extremely versatile Linux utility that allows you to do anything under the sun using TCP/UDP sockets. It is one of the most favorite tools for system admins when they need to do networking related troubleshooting and experimentation.

In this tutorial, I am sharing a few useful netcat examples, although the sky is the limit when it comes to possible netcat use cases. If you are using netcat regularly, feel free to share your use case.

Note that when you are binding to well-known ports (0-1023) with nc, you need root privilege. Otherwise, run nc as a normal user.

1. Test if a particular TCP port of a remote host is open.

$ nc -vn 192.168.233.208 5000
@CrowderSoup
CrowderSoup / find_replace.js
Created February 19, 2014 16:40
Replace all instances of a substring without Regex in JavaScript
var str = 'This is a test string.';
// Let's replace all spaces with ','
str = str.split(' ').join(',');
@soarez
soarez / ca.md
Last active May 11, 2026 19:21
How to setup your own CA with OpenSSL

How to setup your own CA with OpenSSL

For educational reasons I've decided to create my own CA. Here is what I learned.

First things first

Lets get some context first.

@aurman
aurman / enpointExample.groovy
Created March 27, 2014 17:33
SmartThings API Endpoint Example
/**
* App Endpoint API Access Example
*
* Author: SmartThings
*/
preferences {
section("Allow Endpoint to Control These Things...") {
input "switches", "capability.switch", title: "Which Switches?", multiple: true
input "locks", "capability.lock", title: "Which Locks?", multiple: true
@agendor
agendor / hapijs-rest-api-tutorial.md
Last active February 11, 2026 10:15
A practical introduction to building a RESTful API with the hapi.js server framework for Node.js
/** A simple kalman filter example by Adrian Boeing
www.adrianboeing.com
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double frand() {
return 2*((rand()/(double)RAND_MAX) - 0.5);