Skip to content

Instantly share code, notes, and snippets.


Josh Buchea joshbuchea

View GitHub Profile
seunggabi /
Last active February 28, 2023 11:34
Semantic Branch Names

Semantic Branch Names

See how a minor change to your branch name style can make you a better programmer.

Format: <type>/#<issueNumber>-<alias>


jeanlucaslima /
Last active April 18, 2021 19:19
Remote Work Resources

Remote Jobs general guideline

This is something I compiled during the last weeks while job hunting. If you miss something in this list, please fork or tell me on twitter and I'll add what's missing.

  1. Be careful with jobs that are not clear they hire outside US
  2. Look for job in niches (like SaaS job boards, language-specific communities, country-focused, and so on)
  3. Avoid Upwork (pay to work, no guaranteed results, often bad contracts) and
  4. is not, is ok.
  5. There are companies that hire and act as a guild, but only pay as freelancer (X-team,, and so on)
  6. Not really focused on freelancing, as it is to me more like a one-person business
mikaello /
Last active November 29, 2022 14:20 — forked from JamieMason/
Group Array of JavaScript Objects by Key or Property Value

Group array of JavaScript objects by keys

This fork of JamieMason's implementation changes the key parameter to be an array of keys instead of just a single key. This makes it possible to group by multiple properties instead of just one.


const groupBy = keys => array =>
  array.reduce((objectsByKeyValue, obj) => {
    const value = => obj[key]).join('-');
matthargett /
Created November 19, 2018 21:00
TypeScript versus flowtype

First, let's note the difference in philosophy: TypeScript aims for fast analysis because you can to compile it down to JS before you can run/test it. flowtype is meant to be an async analysis that can run continuously with changes since the last analysis, or in parallel with your eslint and bundler rules. As such, flowtype's type system and analysis is not quite as concerned with speed or memory usage in service of potentially finding more bugs.

On two occasions I have tried to roll out flow in React Native applications, and on those two occasions we ended up backing out after a few weeks. Some detail: flow doesn't have a public roadmap, and what version you use is dictated by the react/react-native dependency and the annotations in react-native itself. flowtype also has some hard-coded aspects to help the analysis for React, so major updates to React itself sometimes also require updating flowtype to match. React Native upgrades then get gated based on your dependent libraries (or flow-typed) being updated

scmx /
Last active March 16, 2023 13:05
Using <details> <summary> expandable content on GitHub with Markdown #details #summary #markdown #gfm #html

How to use <details> <summary> expandable content on GitHub with Markdown

Firstly, what is <details> <summary>?

The HTML Details Element (<details>) creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label can be provided using the <summary> element.


JamieMason /
Created September 14, 2018 07:38
Group Array of JavaScript Objects by Key or Property Value

Group Array of JavaScript Objects by Key or Property Value


const groupBy = key => array =>
  array.reduce((objectsByKeyValue, obj) => {
    const value = obj[key];
    objectsByKeyValue[value] = (objectsByKeyValue[value] || []).concat(obj);
    return objectsByKeyValue;
hagemann / slugify.js
Last active March 15, 2023 17:30
Slugify makes a string URI-friendly
View slugify.js
function slugify(string) {
const a = 'àáâäæãåāăąçćčđďèéêëēėęěğǵḧîïíīįìıİłḿñńǹňôöòóœøōõőṕŕřßśšşșťțûüùúūǘůűųẃẍÿýžźż·/_,:;'
const b = 'aaaaaaaaaacccddeeeeeeeegghiiiiiiiilmnnnnoooooooooprrsssssttuuuuuuuuuwxyyzzz------'
const p = new RegExp(a.split('').join('|'), 'g')
return string.toString().toLowerCase()
.replace(/\s+/g, '-') // Replace spaces with -
.replace(p, c => b.charAt(a.indexOf(c))) // Replace special characters
.replace(/&/g, '-and-') // Replace & with 'and'
.replace(/[^\w\-]+/g, '') // Remove all non-word characters
joshdholtz / .env
Last active February 22, 2023 09:51
Using Dotenv and environment variables with fastlane
View .env
STUFF = this is some stuff
matteocrippa /
Last active March 17, 2023 10:41
A script to automate the setup of a development oriented Macbook machine
#!/usr/bin/env bash
# Brew
/bin/bash -c "$(curl -fsSL"
echo "eval $(/opt/homebrew/bin/brew shellenv)" >> .zshrc
# Tap
brew tap homebrew/bundle
brew tap homebrew/core
brew tap homebrew/cask-fonts
pierrejoubert73 /
Last active March 20, 2023 01:57
How to add a collapsible section in markdown.

How to

  <summary>Click me</summary>
  ### Heading
  1. Foo
  2. Bar
     * Baz
 * Qux