Skip to content

Instantly share code, notes, and snippets.

View duanebester's full-sized avatar

Duane Bester duanebester

View GitHub Profile
@duanebester
duanebester / get-repos.clj
Created September 25, 2020 16:40
GitHub Repos Updated Get Repos
(defn get-repos [page per_page]
(let [options (merge base-options {:query-params {:per_page per_page :page page}})]
(let [{:keys [headers body error]} @(http/get repo-url options)]
(if error
(throw error)
{:body (json/read-str body :key-fn keyword) :has_next (str/includes? (get headers :link) "rel=\"next\"")}))))
@duanebester
duanebester / header-link.clj
Last active September 25, 2020 16:37
GitHub Repos Headers
@duanebester
duanebester / basic-req.clj
Created September 25, 2020 16:05
GitHub Repos Basic Request
(http/get repo-url base-options) ; => returns a promise
@(http/get repo-url base-options) ; => blocks until promise completes - returns a map
(get @(http/get repo-url base-options) :status) ; => can get the :status from the map - returns 200
@duanebester
duanebester / map-test.clj
Created September 25, 2020 15:56
GitHub Repos Map Test
(def test-map {:error nil :status 200}) ;=> #'user/test-map
(get test-map :status) ;=> 200
@duanebester
duanebester / setup-vars.clj
Created September 25, 2020 15:27
GitHub Repos Setup Vars
(def user-auth ["<username>" "<personal-access-token>"])
(def base-url "https://github.com/api/v3/")
(def org-name "orgs/<your-org-name>")
(def repo-url (str base-url org-name "/repos"))
(def base-options {:basic-auth user-auth :headers {"Accept" "application/vnd.github.v3+json"}})
@duanebester
duanebester / requires.clj
Created September 25, 2020 15:21
GitHub Repos Requires
(require '[org.httpkit.client :as http])
(require '[clojure.data.json :as json])
(require '[clojure.string :as str])
@duanebester
duanebester / deps.edn
Created September 25, 2020 15:17
GitHub Repos Deps EDN
{:deps
{http-kit {:mvn/version "2.5.0"}
org.clojure/data.json {:mvn/version "1.0.0"}
org.clojure/core.async {:mvn/version "1.3.610"}}}
@duanebester
duanebester / arduino-tracker-loop.ino
Created July 29, 2020 23:34
Arduino Tracker Loop
void loop()
{
if (millis() - lastGPSTime > 500) {
lastGPSTime = millis(); // Update the timer
latitude = myGPS.getLatitude(timeout);
longitude = myGPS.getLongitude(timeout);
speed = myGPS.getGroundSpeed(timeout);
satellites = myGPS.getSIV(timeout);
@duanebester
duanebester / arduino-tracker-setup.ino
Last active July 29, 2020 22:51
Arduino Tracker Setup
void setup()
{
// Setup User Terminal
Serial.begin(115200); // UART to PC/Mac
while(!Serial);
Serial1.begin(9600); // UART to GPS
while(!Serial1);
// Initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
@duanebester
duanebester / arduino-definitions.ino
Last active July 30, 2020 00:49
Arduino Definitions
#include <SparkFun_Ublox_Arduino_Library.h>
#include <Arduino_LSM9DS1.h>
#include <Arduino_APDS9960.h>
#include <SPI.h>
#include <SD.h>
// SD Vars
File dataFile;
int chipSelect = 4;