Giter Site home page Giter Site logo

hackercouch / hackercouch Goto Github PK

View Code? Open in Web Editor NEW
197.0 13.0 92.0 2.25 MB

Hospitality for Hackers

Home Page: https://hackercouch.com

HTML 28.21% Ruby 8.93% Shell 2.86% SCSS 59.99%
hospex hackers hacking community couchsurfing jekyll hospitality nick

hackercouch's Introduction

hackercouch GitHub Workflow Status (branch) Website GitHub pull requests

HackerCouch is "Hospitality for Hackers". Here's how it goes:

  • Fork this repo
  • Add your own markdown file with your nick (perhaps twitter/github handle?) in the _couches directory
  • You file a Pull Request on github
  • Make sure the build passes
  • Go check hackercouch.com the next time you are travelling.

See add.md for more detailed instructions.

The idea isn't new, it has been tried before as well. The reason we are trying this again is:

  • The idea of a Fork->PR->Merge->Publish flow with almost zero effort
  • Filing a pull request is a great filter for hackers
  • hackercouch.com was available
  • This comment by @sirupsen on HN

Development

See [HACKING.md]

Quickstart

You'll need to have Ruby and Bundler setup.

bundle install
bundle exec jekyll serve --watch

And open http://localhost:4000 in your browser.

Troubleshooting

  • If your bundle fails due Nokogiri and you're on OSX, try running this first: xcode-select --install

Credits

Disclaimer

Our disclaimer policy is here.

LICENSE

This uses Jekyll collections and the base Jekyll theme. The very little code here is licensed under the MIT License. However, everything under the _couches directory is licensed under the CC0 license. If you file a PR to this repo, you agree to having your "couch information" available under this license.

The minimum required information is your nick, city and country code.

hackercouch's People

Contributors

0xmaki avatar abhshkdz avatar ac2zoom avatar agatatalita avatar akronix avatar aninjamonk avatar bullox avatar captn3m0 avatar chreekat avatar daiyi avatar dependabot-preview[bot] avatar dependabot[bot] avatar dhilipsiva avatar dimipiraat avatar dobredodo avatar ginoacalabbo avatar harman28 avatar kprovost avatar krsoninikhil avatar ppaeps avatar rakesh-verma-16 avatar reggi avatar sebdeckers avatar simison avatar thelastinuit avatar tiltec avatar usmanovbf avatar vallettea avatar worldadventurer avatar zah 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

hackercouch's Issues

Profile images

Now I know that we shouldn’t reduce people to their looks, but profile pictures just help to quickly relate to people and also remember them.

We could simply get that info from the person’s Github profile (just like we can get the location btw).

Frameworks

Some points:

  • I want to keep things super simple
  • but at the same time damn good looking.
  • It's also fun to learn new stuff and this sort of projects are excellent excuses.

Any preference framework to use for the new design (#7)?

Since the layout gives and sentiment to use Material Design and there are two major frameworks to do just that:

Personally I'm very experienced with Angular, although I would love to learn more about React.

Any takers to work on new html/css/js? (I can definitely assist, maybe even do the job). I'd say let the most active person working on this to decide on framework, as long as it's something big enough and not some tiny experimental thing. ;-) Another priority would be that if way more people are familiar with framework X than Y, use the X.

Marking unavailability?

I actually got a request through Hackercouch! Unfortunately I am 10 time zones away from the location listed in my profile. Oops.

I propose we agree on a standard for marking a profile unavailable. Create a subdirectory? Symlinks like Apache? Or append ".unavailable" to the profile markdown file?

Add Request Management

It might be required to add some kind of layer between hosts and potential guests regarding communications. For a start maybe add a preferred contact method. On the long term, integrate with some messaging api ?

Implement couch surfing profile reference field

So... we are all developers... but... some of us might want to know what were the experiences previously staying with that person, or perhaps even write the review, in case the experience was meaningful enough.

Link to other hospex networks

Add profile links to the most popular ones:

  • Couchsurfing (https://www.couchsurfing.com/people/USERNAME)
  • BeWelcome (http://www.bewelcome.org/members/USERNAME, note http)
  • Warmshowers (https://www.warmshowers.org/user/NUMERIC-USER-ID)
  • Trustroots (https://www.trustroots.org/profile/USERNAME)

http://ideas.trustroots.org/comparison-of-hospitality-exchange-platforms/

Icons:

Add chat

@pierreozoux offered to host Rocket chat instance at his IndieHosters servers for free.

We already have #hackercouch at Freenode, but it's rather quiet due we're all on/off randomly at different timezones and IRC isn't as popular as it used to be in 90's. :-) It's also possible to link these two so it wouldn't matter if you'd use the channel via Rocket or IRC.

Could be hosted at chat.hackercouch.com

Whaddyathink?


Edit, Pierre already had an email exhange with @captn3m0 :

Nemo:
I think I'll add a link to freenode #hackercouch for now, and
maybe move to chat.hackercouch.com if it gets popular.

I'll hop on to the freenode channel soon.

Nemo:
I hadn't given much thought to chat itself. I could
point it sure, but even #hackercouch on freenode would
be fine, I think.

Pierre:
It is already created, but not much happening there lately

Nemo:
Are there any discussions on #hackercouch? There is
also the option of gitter.im (since we have a github
project).

Pierre:
Arf, no free software :) Rocket.Chat is :)

Pierre:
Hi!

We noticed you created hackercouch.com, nice :)

With Mikael, we are on the irc #hackercouch, and we
though that a webchat would be nice. I thought about
hosting rocket.chat, and we have yet to see how to
connect it to IRC.

Would you mind pointing chat.hackercouch.com to my
servers? (If you like the idea, I'll send you the
procedure)

All the best!

Pierre

Fields missing in the JSON API

I am trying to build an alternative UI for it by making use of your JSON APIs and I'm seeing some discrepancies in the data returned by the JSON API and what's actually on the site.

  1. The content field on https://hackercouch.com/couches.json returns the same string for all couches, to get the content specific to each hacker, I have to query their particular couch at /couches/<hackerName>

  2. The social links on /couches.json and /couches/<hackerName> do not list all the social media handles

For example:
https://hackercouch.com/couches/NicolasFrancaX.html
and https://hackercouch.com/couches/NicolasFrancaX.json

as you can see, the facebook, twitter and website fields are missing from the API

Re-Designing HackerCouch

I want to take the task of re-designing the UI of HackerCouch. Will work on this mostly during my free time (weekends).

Tools I will use:

  • Sketch
  • Adobe Illustrator
  • Invisionapp

I will post the invision project link by this next Sunday (28th November, 2015). Please do pitch in and give your feedback in the invisionapp comments section.

Nofollow

I personally don't like using rel=nofollow, but wanted to hear others opinion on the matter.

Map of locations

This is so rad! Would it be possible to tie in the locations to an embedded openstreetmap? I'd love to see where all these wonderful people are spatially, and something like that can help in route planning. Also, as more people add their locations, a list alone could get a bit unwieldy by itself.

Add gravatar

It might be a good idea to add user images via gravatar?

Mobile first / responsive design

The website doesn’t work very well on small screens. There’s no reason it shouldn’t, cause it looks like you use a grid framework already. ;) Some simple media queries would be awesome.

Encourage PGP

I just put a note about my key in my "profile" section, but it would be great if it was a supported piece of metadata.

Add Gravatar

  • Design discussion about Gravatars #7
  • Duplicate of #32 but that thread sorta went to many directions, let's keep this purely on discussing tech solution for Gravatars.

Seems like there are two ways to go:

I'd go with the latter. Thoughts?

Developer setup instructions

The readme part at https://github.com/captn3m0/hackercouch#development assumes that everyone knows how Jekyll and Travis work or will read the docs on that just to run this site. ;)

Even for a semi-technical designer such as me it’s troublesome to get the site properly running. Do I need to jekyll serve or gem install something? Would be cool if we can say that in the section in the readme directly, just supplying the console commands.

Categorization

To quickly know what that specific person is up to and if one could work together with them, it would be cool to be able to list some tags in their profile (max 3 or 5 I would say).

This could be code-related like javascript, c++, python, css etc or also things like design, security, ci, …

Would be beneficial to be able to filter especially when this grows, but also to find your closer peergroups. What do you think?

Error: redirection forbidden

I'm trying to add my couch and I'm getting this error when run locally:

> $ bundle exec jekyll serve --watch --trace                                                                                                       ⬡ 10.14.1 [±akronix ●]
Configuration file: /home/akronix/workspace/hackercouch/_config.yml
            Source: /home/akronix/workspace/hackercouch
       Destination: /home/akronix/workspace/hackercouch/_site
 Incremental build: disabled. Enable with --incremental
      Generating... 
/usr/lib/ruby/2.3.0/open-uri.rb:225:in `open_loop': redirection forbidden: http://nominatim.openstreetmap.org/search/TUR/istanbul?format=json -> https://nominatim.openstreetmap.org/search/TUR/istanbul?format=json (RuntimeError)
	from /usr/lib/ruby/2.3.0/open-uri.rb:151:in `open_uri'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/open-uri-cached-0.0.5/lib/open-uri/cached.rb:10:in `open_uri'
	from /usr/lib/ruby/2.3.0/open-uri.rb:717:in `open'
	from /usr/lib/ruby/2.3.0/open-uri.rb:35:in `open'
	from /home/akronix/workspace/hackercouch/_plugins/to_geojson.rb:21:in `block in generate'
	from /home/akronix/workspace/hackercouch/_plugins/to_geojson.rb:16:in `each'
	from /home/akronix/workspace/hackercouch/_plugins/to_geojson.rb:16:in `generate'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/site.rb:175:in `block in generate'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/site.rb:173:in `each'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/site.rb:173:in `generate'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/site.rb:70:in `process'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/command.rb:28:in `process_site'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/commands/build.rb:65:in `build'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/commands/build.rb:36:in `process'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/commands/serve.rb:93:in `block in start'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/commands/serve.rb:93:in `each'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/commands/serve.rb:93:in `start'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/gems/jekyll-3.8.4/exe/jekyll:15:in `<top (required)>'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/bin/jekyll:23:in `load'
	from /home/akronix/workspace/hackercouch/vendor/bundle/ruby/2.3.0/bin/jekyll:23:in `<main>'

Add Reference System

As discussed on HN, a reference system would make both surfers and hosts feel more comfortable.

Better tests

We can do so much more with travis:

  1. Make sure that the couches are in _couches directory
  2. Make sure all files have valid extensions
  3. Anti-spam mechanisms via akismet. Run all the couch content for spam checks and fail the build if the spam scores are too high.
  4. Validate the couch structure itself (required/optional fields)

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.