GithubHelp home page GithubHelp logo

avdi / ppwm Goto Github PK

View Code? Open in Web Editor NEW
223.0 26.0 76.0 1.79 MB

A site to promote diverse pair-programming

Home Page: http://www.pairprogramwith.me

Ruby 33.84% JavaScript 1.08% CoffeeScript 1.42% CSS 55.64% HTML 7.78% Dockerfile 0.25%

ppwm's Introduction

PairProgramWith.me

A community-maintained resource to encourage and facilitate diverse pair-programming. Help eagerly welcomed!

Contributing

Building and running the app locally is easiest achieved by using docker.

  1. Build container using docker build -t ppwm .
  2. Run container via docker run --rm -it "$(pwd):/app" -p 3000:3000 ppwm
  3. Visit localhost:3000 to see the app running

LICENSE

Copyright (c) 2013 Avdi Grimm

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

ppwm's People

Contributors

alpha-convert avatar bf4 avatar brettshollenberger avatar cored avatar csexton avatar danielpclark avatar dependabot[bot] avatar dregules avatar geeksam avatar hanneskaeufler avatar ivanbokii avatar jdaudier avatar jkutner avatar jkyahoo avatar jmccaffrey avatar joonty avatar kugaevsky avatar laverboy avatar lazyatom avatar locks avatar martyhines avatar olleolleolle avatar pivotaljohn avatar rissem avatar rivanov2 avatar rwjblue avatar samelawrence avatar stevenhaddox avatar techieshark avatar tpitale avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ppwm's Issues

Section Dividers

I think I want to keep the site a single page for now, but I'd really like to have a nice visual break between the top-level sections.

Provide a pairing scheduler

As a user
So that I can find other users to pair with
I want to create pairing requests
And respond to the pairing requests of other users

A pairing request
Should include a time and duration
Should include a language
May reference a github project

resource: slack pair app

Hello,

ppwm is awesome! Thanks to everyone who has been involved in getting it going.

I created a slack command that teams on slack can use to see who is interested in pairing, and on what.

In case that is of interest to people here or for the list of resources, I thought I should share it.

https://github.com/techieshark/slack-pair

(And of course, feedback or pairing on that app is welcome!)

Deploy failing

I've been getting failed deploy emails from Heroku. The emails suggest re-connecting to GitHub, so I did. Keeping this open until we confirm that it worked...

An automatic deployment for ppwm failed. The build failed with the message Unauthorized.

Token from user [email protected] was used to interact with GitHub. This account was matched as the GitHub committer.

You can also check that the user who connected the app or pipeline to GitHub still has access to the app and to the Github repository.

In this case, reconnecting to GitHub will often fix the issue.

If you believe that this build failure was not due to an issue in your app, please open a support ticket.

Another maintainer (or two)

Hey, I don't want to be the bottleneck on getting stuff merged here. Does anyone (who has already had a patch merged) want to step up and become a co-maintainer?

Thanks!

New directions

Thanks @hanneskaeufler for nudging me about this project ๐Ÿ˜‰ While bringing the content up to date, I feel like it might also be time to reconsider the tech and hosting. Last I recall there isn't actually anything dynamic about this site - should it be a Jekyll/Hugo site hosted on GitHub pages?

Responsive design

I'd assume by now the share of mobile browsers has gone up significantly. Making the site a bit more responsive should be a quick but welcome win.

For now I suggest simply moving the sidebar items to the left on mobile.

Bildschirmfoto 2020-01-21 um 21 07 41

Layout broken on Mobile

The mobile layout for the site needs updating, it's pretty janky on an iPhone sized screen. It should really be falling back to a single column layout.

Roadmap

I thought I'd kick off a discussion about where this site could go from here...

In my talk at Ancient City Ruby where I launched this site, I made a point of saying that I don't believe that promoting diverse pair-programming is ultimately a technical problem. The tools are there; it's more about getting to take the first step: putting out a virtual "welcome mat", and/or having the courage to ask another programmer "hey, can I pair with you sometime?".

I also feel that even if there are technical ways to facilitate the process, I'm not smart enough to predict what will be most helpful. So between that and a lack of time, I kicked off my campaign with a badge, a hashtag, and nothing else. If we need tools, I'd like to see the community evolve them.

Of course, with that said, naturally I have some ideas. Here are some of the thoughts I've had about where to with this site:

  • Badge (DONE!)
  • Resource listing (In progresss)
  • Aggregator for #pairwithme tweets
  • Aggregator for #pairedwith tweets (barebones pairsquare)
  • Pairing contact form. The idea is that you'd sign in w/Twitter or GitHub and get a customized badge embed code. The custom code would link to a "pairing request" form that would send you an email when people submitted it.
  • Pairsquare! A proper app for "checking in" with a pair, a la Foursquare. Rack up your memetic diversity score by pairing with more people! Compete with your friends! Impress potential employers!
  • Others have suggested a place to list info about yourself and your skills, timezone, etc. in order to help people pair up. I partially like the idea, but I also want to continue to encourage people to just come out and ask other community members they are interested in pairing with.

So what do you think? Got more ideas? Jump in!

Contact Form

Here's the basic idea:

  1. I click "Get Your Badge!" or something like that
  2. I sign in with Github
  3. I fill in some bare essentials:
    • Email address
    • Time zone
    • Times of day I'm usually free
    • A free-form, markdown "notes" field. This should be pre-populated with some "golden path" defaults about how to pair with me, but it lets me customize what it says to reflect how I prefer to work. (This bit subject to change...)
  4. I click "Save" and am presented with an embed code to drop into my website and a URL to share on Twitter, etc.
  5. You click on my "Pair With Me" link on my website.
  6. You are taken to a page which shows the "notes" info from above. It also prompts you for:
    • Your name
    • Your email
    • Your time zone and available times
    • What you're interested in pairing on.
  7. I get an email summing up all of the above info, and can continue the conversation via email (or not...)

Shields.io badge

So, the badge is โ€ฆ pretty large, out-of-place, etc. It'd be ideal if these could fit-in with other README badges here on GitHub! (=

(The shields.io people are pretty open to adding new badges to their homepage.)

Remote Pairing Setups (Architectures) Complete with Diagrams, Requirements, Software, etc.

I'd like to see a section of this "ppwm" repo with layout of various Remote Pair Programming Setups...including Diagrams, Requirements, Software, etc. ...with details on what's required and "how to" install and configure everything for that particular setup. It would be simple, clean and informative.

Purpose: The purpose of this would be when you find a remote pair partner and the two of you have now decided to pair on something, you now have to decided on HOW you are going to pair. In other words WHAT is your setup for the actual pairing session. If there's a place we could go to and quickly determine from the setups demonstrated on the section of this repo which setup to use, then the two pairing partners could agree on "SETUP #3", for example. Then, each pairing partner could make sure they both are setup and configured for SETUP #3, BEFORE the pairing session starts. Or, if they agree SETUP #5 would be easier for each of them, then they would settle on SETUP #5. They could do this initial conversation via email, or even twitter, for example. That way, when the time comes to start paring, all the "setup/configuration/keys/etc" would have already been done in advance and they are ready to have an effective pairing session.

For example, I started this diagram just to roll the marble around and see what popped out. This the kind of think I'm thinking about. This first setup could be named "Westley"...just for ease of referring to this setup by name. (I like using the names of the characters from Princess Bride.)
ppwm_01

This pairing setup is the one I've been using for the last year now and it has worked out very well! I work from home and I pair everyday.

Notice from the picture I have sections on: tools, steps, pros, & cons. These were just my initial thoughts.

Thoughts? Feedback? Hate it? Love it?
I'd love to hear what you have to say.
Let's all jump in and have a discussion.
Thank you!

Log in via GitHub

As a user
So that I can participate
I want to log in using my GitHub account

Upgrade heroku stack

Depending on where we go with the site next (static app, ...), if we decide to keep the same stack for now, we have to upgrade the heroku "stack". We get

This application is still using the Cedar-14 stack for which the end-of-life window began May 1, 2019:
https://devcenter.heroku.com/changelog-items/1603
The end-of-life window ends on May 1, 2020 after which Cedar-14 will no longer
receive security updates and Cedar-14 app builds will be disabled.
Please upgrade to the latest stack by following these instructions:
https://devcenter.heroku.com/articles/upgrading-to-the-latest-stack

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.