Skip to content

Instantly share code, notes, and snippets.

View dstroot's full-sized avatar
:octocat:
Slingin' Code

Dan Stroot dstroot

:octocat:
Slingin' Code
View GitHub Profile

Using an Access Token for the first time

Follow the instructions on Github to Create an Access Token in Github

Configure Git to use the osxkeychain

By default, git credentials are not cached so you need to tell Git if you want to avoid having to provide them each time Github requires you to authenticate. On Mac, Git comes with an “osxkeychain” mode, which caches credentials in the secure keychain that’s attached to your system account.

You can tell Git you want to store credentials in the osxkeychain by running the following:-

@dstroot
dstroot / useIntersectionObserver.js
Created November 6, 2021 00:51
The Intersection Observer API allows you to configure a callback that is called whenever an element intersects either the device viewport.
import { useEffect } from 'react';
const useIntersectionObserver = ({
target,
onIntersect, // callback
threshold = 0.2, // when 20% visible
rootMargin = "0px", // don't adjust viewport margin
}) => {
useEffect(() => {
@dstroot
dstroot / BLOG.md
Created November 1, 2019 03:34 — forked from elierotenberg/BLOG.md
Idiomatic Data Fetching using React Hooks

Idiomatic Data Fetching using React Hooks

This post has been written in collaboration with @klervicn

Virtually all web apps and websites need to pull data from a server, usually through a JSON-returning API. When it comes to integrating data fetching in React component, the "impedence mismatch" between the React components, which are declarative and synchronous, and the HTTP requests, which are imperative and asynchronous, is often problematic.

Many apps use third-party libraries such as Redux or Apollo Client to abstract it away. This requires extra dependencies, and couple your app with a specific library to perform data fetching. In most cases, what we want is a direct way to integrate plain HTTP requests (e.g. using native fetch) for usage in React components.

Here we will discuss how we can use React Hooks to do this in an elegant, scalable manner.

@dstroot
dstroot / resume.json
Last active July 5, 2019 19:22 — forked from thomasdavis/resume.json
{ "theme": "elegant"}
{
"basics": {
"name": "Daniel J. Stroot",
"label": "Technology Leader",
"summary": "I’m an experienced technology leader who drives IT transformation. I have a strong enterprise architecture, cloud architecture and open source technology skills. I also love building high-performing agile teams. Specialties: React, Redux, Javascript - still a \"full stack developer\" in my spare time.",
"website": "https://danstroot.com",
"email": "dan.stroot@gmail.com",
"location": {
"city": "Los Angeles",
"state": "california",
@dstroot
dstroot / lfu.go
Created March 8, 2019 16:20 — forked from fteem/lfu.go
Code example for the article "When to use Least Frequenty Used cache and how to implement it in Golang" https://ieftimov.com/golang-least-frequently-used-cache
package main
import (
"container/list"
"fmt"
)
type CacheItem struct {
key string // Key of item
value interface{} // Value of item
@dstroot
dstroot / handlers.go
Last active April 10, 2023 13:22 — forked from enricofoltran/main.go
A simple golang web server with basic logging, tracing, health check, graceful shutdown and zero dependencies
package main
import (
"io"
"net/http"
"sync/atomic"
)
func index() http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {

Keybase proof

I hereby claim:

  * I am dstroot on github.   * I am dstroot (https://keybase.io/dstroot) on keybase.   * I have a public key ASCCKrF70wPevMuYx-3aMbQ4Wv9Ruajf1Rsch62byYChVwo

To claim this, I am signing this object:

FROM golang:1.7-alpine
RUN apk add --no-cache \
git
ENV GOPATH $HOME/gocode
ENV PATH $GOPATH/bin:$PATH
COPY docker/entry.sh /docker-entrypoint
RUN chmod u+x /docker-entrypoint
@dstroot
dstroot / numverify.go
Created January 20, 2017 00:36 — forked from IndianGuru/numverify.go
numverify.go
package main
import (
"encoding/json"
"fmt"
"log"
"net/http"
"net/url"
)
// Includes functions for exporting active sheet or all sheets as JSON object (also Python object syntax compatible).
// Tweak the makePrettyJSON_ function to customize what kind of JSON to export.
var FORMAT_ONELINE = 'One-line';
var FORMAT_MULTILINE = 'Multi-line';
var FORMAT_PRETTY = 'Pretty';
var LANGUAGE_JS = 'JavaScript';
var LANGUAGE_PYTHON = 'Python';