Skip to content

Instantly share code, notes, and snippets.

View florapdx's full-sized avatar

florapdx florapdx

View GitHub Profile
## Why get involved in the community?
* Meet lots of awesome people -- it's networking without all the "work" (like playtime for big people!)
* Great way to practice and further develop your skills as a programmer
* Pairing with people you meet at user group meetings can lead to great things!
* Great way to keep up on new techniques, libraries, frameworks
* User groups can be a great place to pick up clues about the direction of development and which technologies people are currently excited about
* May help you refine your goals as a new programmer (gives you the chance to "try on" different technologies, communities, etc.)
* Adds value to your resume (open source, leadership skills, investment in the community, shows you love what you do)
* May lead to your next job
@florapdx
florapdx / react-conf-2019.md
Last active November 6, 2019 02:40
My extremely biased and non-exhaustive list of React Conf 2019 notes/takeaways :)

Thought I'd post my React Conf notes here for anyone who is interested!

  • New! Prerelease channels: In order to support other library and framework devs, and to enlist early feedback, the React team is debuting 3 new prerelease channels: Latest (stable), Next (on-deck for stable release, but doesn't adhere to semver and may intro breaking changes), and Experimental (caution! likely to contain large and breaking changes). Latest is the only channel recommended for user-facing applications.

  • New! Experimental release of Concurrent Mode: Concurrent Mode supports interruptible rendering, including suspending render in components whose data has not yet returned (Suspense API). I got a glimpse of SuspenseList in action in the context of rendering a list of photos from a remote source and it was pretty neat - I think there's a lot to be excited for here, especially for mobi

@florapdx
florapdx / flora-june-2019.md
Last active June 14, 2019 00:44
flora-june-2019

Projects

product:

  • Sprintly: JS-based view, OAuth app, and library creation for initial project management app; lead on rewrite of entire front-end app in React and Redux consuming Django-based REST API, real time data, and ElasticSearch faceted search data
  • Interchange: Front-end lead building investment management software in Apollo and React, consuming a GraphQL API

consulting:

  • Target "Made for U" app: JS social/mobile shopping application supporting Target's first back-to-school capsule collections [partnership with Deutsch Agency, LA]
  • IFL team apps: GraphQL/Relay/React web app and Phoenix (for Elixer back-end) + WebSocket mobile app (vanilla JS and WebSocket-based) supporting the first fan-run sports team with real-time fan play-calling [partnership with Crossfield Agency, NY]
  • [World Team Tennis website](ht
@florapdx
florapdx / type-ex.js
Last active January 24, 2018 21:05
how do I type the cb?
/*
In the scenario below, I have a menu that can be used to render a list
of selectable options that may be of type 'string' or of type 'number'.
It takes a 'onOptionSelect' callback whose arguments can be of either type.
However, some components that render this generic menu may only accept
string-type selections or may only accept number-type selections. How do I
type onOptionsSelect (or the actual callbacks that get passed in) to account
for this flexibility?
*/

Keybase proof

I hereby claim:

  • I am florapdx on github.
  • I am florapdx (https://keybase.io/florapdx) on keybase.
  • I have a public key ASBK7ZPwS-Wk5HrBWUE_e4y914O7hHlRgTkTHcJyEDaSOgo

To claim this, I am signing this object:

@florapdx
florapdx / meetups_indiv.js
Created February 17, 2013 10:31
This code brings in JSON data for multiple entities (in this case Pyladies groups) in a single call to a public api, and then manipulate that data after retrieval for placement in separate entity-owned divs on a web page. In this case I identified each div using an html5 data-attribute given the group_id # assigned to it by meetup.com (ie, <div …
// Make a single api call to meetup.com and grab event info for all (11) PyLadies locations. Create individual objects for each so that meetups can be added to each pyladies group's div on pyladies.com/locations page.
//helper function to discover event urls and make active links
//credit to http://www.sencha.com/forum/archive/index.php/t-12379.html for code this is based on
function create_urls(input) {
return input
.replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim, '"$&" target="_blank"')
.replace(/([^\/])(www[\S]+(\b|$))/gim, '"http://$2" target="_blank"');
} //end url parsing helper function
@florapdx
florapdx / example_gist_code
Created November 2, 2016 04:53
This is an example gist for gatsby-bloggy-starter
## Here's some code from the blog!
const Post = props => {
const { post, slug } = props;
const postMeta = postManifest[slug];
return (
<div className="post">
<PostHeader postMeta={postMeta} />
<div dangerouslySetInnerHTML={{ __html: post.body }} />
@florapdx
florapdx / gist:379000692be7b11aad1d
Created February 6, 2016 04:41
basic prompt configs
## Environment customizations
# Add Sublime Text 2 as default editor
export EDITOR="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl"
## Alias cd up-level
alias cd..="cd .."
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
/*
* Login component
*/
import SessionActions from '../actions/session'
import SessionStore from '../stores/session'
const INPUT_FIELDS = [
{fieldName: "email", placeholder: "Your email"},
{fieldName: "password", placeholder: "Your password"}
];
@florapdx
florapdx / Customize Bash Prompt
Last active December 14, 2015 01:58
How-to for customizing your bash prompt. For PyLadies tutorial on the CLI. You can also find this in a slightly more readable form on the PyLadies PDX meetup site under "Pages".
Customize Your Bash Prompt
Your bash prompt comes with a standard command prompt with a default setting something like “PS1="\u@\h \w>” in your .bash_profile or .profile (if you are using OSX) that translates to something like this:
UserName YourComputerName DirectoryName $
While useful, this is kind of boring and doesn’t give us very much information about the environment we’re working in. So let’s customize our prompts!