Inspired by HN: ReadMyCode.org - Idea to reality in 24 hours
Yesterday I was inspired by this comment: http://news.ycombinator.com/item?id=1383705
After reading it I immediately got to work fleshing out the concept and I now have a minimal version live! It includes GitHub (Gist) integration as well as many community-oriented features...
The url is: http://readmycode.org
Now I need community feedback! What other features would you like to see? What feels rough right now? Design input is appreciated too, as I'm not 100% happy with it now.
Many thanks to everyone on HN for making this possible!
58 comments
[ 491 ms ] story [ 614 ms ] threadOr if the DNS hasn't propagated for you yet: http://readmycode.heroku.com/
Interested in being on one of the episodes?
I put up the first episode and am pivoting based on the feedback I got from the HN community: http://news.ycombinator.com/item?id=1379942
If you are interested, email me: marc {at} ideatin {dot} com
-Aaron
Cool app for 24 hours!
I'll have a play around with it and see what comes out...
This is a really cool idea, though.
I'll see what I can do!
I realize that to an extent using GitHub goes against that too, but all of the source files are kept on my server as well so I can always change how everything is displayed if need be...
If you think of anything else that should be up there then let me know!
The parts that are already open source are here: http://github.com/aarongough/
At the moment it's only really the comment system that is open source...
PS: I don't think I get that effect on HN because the buttons are so small and I don't have a down button yet. :)
When it comes down to it it's quite likely that what I think is good code won't match up with what everyone else thinks... Hence letting the wisdom of the crowd sort it all out.
It'd be good to know the license(s) the code is made available under. That way we'd be able to re-use it in our projects.
Other than that, looks pretty decent. It would be nice if you could linkify URLs in both code comments, and comment responses.
I like how you use github to host the code. That's a great way to build off existing infrastructure to download/share/render code. I'm not totally sure how gists work -- are they editable, and can they be synced with a normal git repo? If so, this is really powerful.
Turning links into Gists in the comments is a good idea! I'll add that to my to-do list!
GitHub is great! The Gists are not directly editable because they are created without user credentials but they are real git repositories which means that you can fork them/clone them/etc...
The SSH/git urls are shown on the Gist pages (you can get there by clicking the Gist filename in the bottom right of each Gist)
I'm attempting to use an existing gist. Perhaps that's the problem?
http://gist.github.com/417955
EDIT: Now I see two posts, but neither is one of the three that I saw earlier.
EDIT 2: And now one of those two posts is gone.
I smell trolls.
It's my own fault for assuming that only being able to identify users with cookies would be ok. I'm working on a solution now.
I just know the reflex when this stuff happens is to say "oh, I shoulda done this better." I wanted to point out I didn't think Aaron deserved any criticism, even self-criticism, over it.
Definitely helps me out when it's 2am here and I'm fighting fires!
Easiest way I can describe is take all that crap on all those code snippet sites out there + all the basic features from DCVS + some experienced developers/programmers with some time to kill + somebody that knows what they've written is crap yet functional and is looking for some suggestions.
I got the idea from the simple fact that there are still plenty of people out there writing sub-par code who could never dream of pushing something serious they've written to github or bitbucket. The goal I had in mind was to a create sort of preliminary sandbox for users to push projects/snippets anonymously to a place where others could criticize, make fun of, and explain to them why their code fails. I'm sure the concept could easily attract programmers trolling other programmers, but that's also part of the fun since the community your pushing it for know their code was crap to begin with.
A couple more comparisons I couldn't resist: a DCVS for 4chan or extending pastebin to the point that it has an API and a user community who prefer logging and learning from their failures by contributing to this repository.
I'm working on a fix and hopefully it'll be pushed out before morning...
There was a similar site once, slickorslack.com, around long enough to show up some biases in the ratings. Most obviously, short cryptic snippets got lots of undeserved love: you could see this because code with great ratings didn't even work. Like, a broken but even shorter version of the Haskell pseudo-quicksort we've all seen handily beat out the good version. I tested this bias by fixing some other broken or poor submissions, with usually similar results. You can kind of see the same pattern on the new site where the 1/sqrt(x) approximation currently rules -- how many upvoters understand how it works?
I'm not sure what to do about this, if anything. Make it easy to run the code? Would help, but does nothing about judging things cool because you don't understand them at all. Deliberately post broken code to keep people on their toes? Eh.
This love for the obscure didn't extend all the way to IOCCC obfuscation -- the sweet spot seemed to be dense code apparently written for someone much smarter than you.
So I'm tempted to strip out helpful doc comments, even 1- or 2-liners, for the ratings.
There was a heavy Ruby bias -- dunno if we'll see any equivalent here.
Since slickorslack was an anonymous hotornot-style shootout, there's an opportunity for new biases now, like positive feedback on the visible ratings, or submitter reputation. I'd like to be able to blind that info until I've judged for myself. Maybe view in either reading mode, without vote arrows, or judgment mode, without metadata until you've judged?
I think I'd like to be able to fork submissions and offer supposed improvements.
Forking a submission would currently have to be done by forking the Gist and re-submitting a new item. GitHub currently doesn't have a way to fork Gists via their API.
Just a few ideas:
Add a column for "Description" or "Why this code is important/interesting)
Functional Area(s): <math>, <statistics>, <sorting>, etc (rather than just language), ie: method to do: <xxx> Category:<Statistics> , etc. (could get complictaed, but there may be a way to sort it out) Related to that, an interesting idea (I've seen this elsewhere) is have well-known algorithm <x>, and then have people submit implementations in different languages (and I supose people could upvote the best implementation per language). For example, there are many different common algorithms known to the world of CS that have been around for years, it would be nice to have a hub where one could go to find these, and be able to see implementations of said algorithm in your language of choice.
You might want to implement a bookmark system and advanced search so people could tag things they want to read later, and advanced search would allow to search title, within description, only tagged, etc etc
A lot of what you should be doing for a site like this is the same thing stackoverflow has done, yet, it is distinctly different, and useful.
This could turn out to be a really great website! Stackoverflow has kind of explicitly avoided getting really deep down into the source code level, but I think there would be a really huge demand for such a thing if it was done properly, and nice work for 1 day!!
I hope you run with it, I think it's a really great idea that will work, if you put enough work into it!!
"To see the original threaded_comment and all it's comments:"
"it's" should be "its".
One piece of metadata that might be useful would be the code's degree of difficulty (beginner, intermediate, advanced).