Hacker News new | comments | show | ask | jobs | submit login
Show HN: Kurikku – Rap Genius for Code (kurikku.com)
164 points by 147 1447 days ago | hide | past | web | favorite | 76 comments

"Rap Genius for Code" might be an amazing pitch for avid users of Rap Genius. I wouldn't know. I don't know or care exactly what Rap Genius is, even though I remember there was a recent controversy involving Rap Genius. (It's got something to do with rap music and lyrics? Not my interest.)

If you can explain your site in words that don't require very specific domain knowledge, I think that might broaden appeal.

I think this way of pitching is dangerous for two reasons:

1. Many potential users of the product (Kurikku) will not know about the thing it's being defined in relation to (Rap Genius), and will not understand that they should check it out

2. Those that do know might make a different comparison than you. I might say "It's like Github for music!" and you will think "Oh, so you put in scores and people can collaborate -- just like with code on Github!", but I was thinking "You store your personal music library in the cloud and you can clone it to all your machines -- just like with code on Github!" While you intend the comparison to be a way to explain a lot with just a few words, in reality it might be interpreted all wrong, giving users entirely unsuitable expectations when checking it out.

So, please try to communicate clearly about the thing you have made using every day words. Good luck :)

> "Rap Genius for Code" might be an amazing pitch for avid users of Rap Genius. I wouldn't know.

Am avid user of Rap Genius. Can confirm it is an amazing pitch.

Yes, ok, but why?

I usually have questions regarding specific lines in songs (I'm not american, so I miss a lot of pop culture/slang references), and Rapgenius provides an easy way for me to understand why something was said.

Here's an example, from Nas' It ain't hard to tell:

"I drink Moet with Medusa, give her shotguns in hell"

I know Moet and Medusa, but I didn't know what "giving shotguns" meant. So I go to Rapgenius, click that line and it says: "To “shotgun” is to inhale from a pipe or other smoking device, followed shortly by an exhalation into someone else’s mouth."

Ah! So he exhaled weed smoke into Medusa's mouth, effectively stoning her. That was smart. Cool.


So imagine I'm reading official documentation, say "10 minutes to Pandas"[1]. I come across this line:

    df = pd.DataFrame(np.random.randn(10, 4))
And I don't know NumPy. The tutorial doesn't explain what np.random.randn is doing, because it's not a NumPy tutorial. Of course I can search for that online, but in a "RapGenius for Code" all I would have to do is click the line.

Nothing revolutionary, but it is a valuable idea and worth a shot. Of course, RapGenius could just launch CodeGenius and get that market instantly.

[1] http://pandas.pydata.org/pandas-docs/stable/10min.html

Rap Genius = crowd sourcing explanations of rap lyrics (and poetry [1], and other literature). It's brilliantly useful, loved by many, and has great traction.

Kurikku = crowd sourcing explanations of computer code. Also brilliant useful, probably won't have as much traction as Rap Genius just b/c there are many more people in the world interested in lyrics than in computer code, but it will probably find a StackOverflow-level popularity, which would be quite a success.


I still believe that "Rap Genius for Code" is the best pitch for the HN demographic. I instantly knew what it was about and I presume a lot of active users here will. The unawareness rate is probably small compared to something like "Source code with annotations" which doesn't really tell what it's about.

Personally, it sets my bullshit detector tingling and turns me off like nothing else. And that's when I do understand the reference.

"Show HN: Kurikku -- Source code with annotations, like Rap Genius"?

That at least gives me an idea of what's going on.

A lot of the commenters on here are looking at this in terms of normal code commenting or something similiar. However, for something more akin to a tutorial, having in depth line by line breakdown in a easy to ingest manner is very nice as a concept.

I love this idea. It's like crowd-sourcing code comments! That has tremendous education potential, especially for people like me who learned by looking at other people's code, copying & pasting it, then tweaking it.

And the beauty here is having people other than the original programmer add comments. There are a lot of open source projects on which I'd love to see this.

There are lots of ways to extend this concept too. I echo what joeconway wrote - having a way to filter and view the comments in a tutorial-like fashion would be great. Having a way to somehow submit patches and fixes back to the original source could be cool too. And offering this as a tool for computer science professors, programming instructors, and other educators (e.g. giving the comments in their example code a nice UI, almost like a documentation generator) could be interesting.

FYI, I just noticed the other tool, Noted Code, in the comments here. I prefer how Noted Code puts the comments and code side-by-side. Perhaps there could be a toggle for both views.

Just some random thoughts. Keep up the good work!

This would be a lot more helpful with some github integration. If you did some kind of proxy like saved.io. You could do kirukku.com/github.com/path/to/repo/file.css and add annotations there instead of keeping a separate environment.

Like this: https://notedcode.com/repo/github/paulsm/presto/README.md#02...

Or as a short URL: https://notedcode.com/n/02d0c232

This is a lot more difficult than you might think. I spent a fair amount of time implementing the solution to keeping the annotations in the right place when the code changes.

At the moment it's for public peer code reviews. But in the future I was thinking of having team features and integrate with git repos.

What do you guys think?

My first thought was: github integration would be killer. I would pay to be able to code review with this tool on git repos.

My first thought was, "it doesn't have github integration?" Great prototype idea, github/gitorious/bitbucket/etc integration would be the killer feature for a killer app.

https://notedcode.com has GitHub and Bitbucket integration.

It would be great if you could integrate with an IDE in some fashion. I'm thinking that this could be a way of formatting comments in code that then becomes beautiful annotation when viewed in your platform.

Can the version with team features be called Double Kurikku?

Nice work, just to tell you that font Montserrat looks really bad on Chrome / Win7 and Opera / Win7 (both latest)

And styles are not shown in IE11.

There is a bug in showing tooltips. For instance open this: http://kurikku.com/s/52ef0f9ce4b0630f318682b3/apl-generate-p...

Hover line 5, and move the mouse straight down to line 6. The tooltip will remain the same.

The tool has it's applications in education. Good work. Just please redesign the homepage, because it looks like a mobile web site right now ;)

Lots of blinking and flashing when I mouse over stuff, and it's not clear what includes a comment and what doesn't.

Also I really liked that documentation thing someone showed us a while ago... It put code on one side and annotation paragraphs on the other, and despite being very simple I think it did a very good job of making the code and annotations easy to read.

[edit] Oh nevermind, I understand.. the colors indicate a block of lines that relate to a single comment. I think that would be clearer if the color didn't break between every line. It's still tricky mousing over things though. If you go straight down from one line to the next, the comment doesn't change. You have to mvoe away from the text entirely, then back onto the line you're interested in.

Thanks for the suggestions. Originally the plan was to have comments in the margins. Then I had analysis paralysis so I decided to do what was easiest right now.

Shit, now I really wish I knew the name of the project I was thinking of. I'll come back and let you know if I figure it out. It was on HN a week or two ago... Maybe someone else remembers?

I don't recall seeing it on HN recently, but are you thinking of Docco? Example: http://backbonejs.org/docs/backbone.html

Yeah, that's it! I guess it's more for display than for interactive annotation, but I really like the format.

It was http://dakuto.com/. Coincidentally Dakuto also has a Japanese-sounding name ;)

I have actually been telling people as soon a Rap Genius released Code Genius I would stop using Stack Overflow altogether, at first glance this still has a ways to go but I'm down to use it!

I think its an awesome concept and I'm glad someone is spending time building it

I posted some APL code, which is known to be hard to follow without lot of comments. I see how it can be useful. http://kurikku.com/s/52ef0f9ce4b0630f318682b3/apl-generate-p...

I like how you can do nested comments. The problem is it's not easy to see which comment goes where (I think you can just add a color code to the comments to indicate which color the comment is in response to.)

Great work, I think you can turn it into a real product.

One thing really useful would be allow one to embed this on their site. (just the code and annotation, and one can decide no one can comment or something).

So it's like github gist, but with annotations. Sometimes I post codes with annotations on my site.

I built something similar a few months ago as part of a Stanford/Coursera MOOC. It's still up and running at https://notedcode.com

What does the name mean? Nothing on the site or rudimentary Googling. Seems like it'll be a tough url to share verbally without having to spell it out.

That's a transliteration of "click" in Japanese.

Of course, Japanese has its own writing system, and "click" is written as クリック and pronounced roughly as "kurikku").

I need to wonder why people insist on using terrible names like these. It takes careful analysis of the word just to be able to read and pronounce it, and I will certainly never remember it. Especially contrast with Rap Genius, a name that's wonderful in its simplicity (if not its creativity.)

Case in point, I first read this on my phone, and wanted to investigate further now that I'm on my laptop. So I go to HN and no longer see it on the front page, and can't conjure up what I want to search for. Uh, something Japanese-sounding that starts with a "k", I think?

It's a japanification of the word "click". I don't know of any other meaning beyond that, though.

I can see this being really useful for group discussion and learning online, but you'd have to modify it a bit for that.

I can't comment with my kurikku account and the syntax coloring fails horribly for Common Lisp...

Nice idea though!

Edit: http://kurikku.com/s/52ef8942e4b0a7155fe3b78e/common-lisp-th...

I smell a hit. The pitch is killer and I even like the name (although I'm not sure I can pronounce it).

Site seems to be vulnerable to XSS

http://kurikku.com/s/52ef1679e4b0630f318682c5/%3Cscript%3Eal... (Harmless alert popup)

Yeah, a fix is on the way along with a resize of the droplet.

Kurikku is a website that allows you to annotate text or code.

Aren't those code comments?

It looks more like a teaching tool - http://kurikku.com/s/52ef0237e4b0630f318682a7/clojure-projec.... That would be valuable learning or improving in any language.

Cool, I think this is a great idea..

Some thoughts:

- Currate the results on the frontpage a little? It's filled with test posts

- Group & filter (e.g. on language)

- IMHO this is extra valuable in smallish groups. So some functionality to "facilitate" that would be great :)

Great idea. Does anyone know of a non-social version of this type of annotation, i.e. a static version that you write in the comments yourself? This would be a great improvement to present code on the internet in general.

It would be better if there were user profile pages.

And a URL structure like http://kurikku.com/user/hello-world would look nifty in my opinion.

Someone has figured out how to do JS injection: http://kurikku.com/s/52ef1679e4b0630f318682c5

Cool idea. I think annotation popups can be a good way to explain information-dense content such as code. Suggestion: try to display the best annotated code on the home page of your site.

Awesome, I will use that now instead of pastebin to share my code snippets.

If you can get this as a plugin into eclipse, xCode and code sharing sites like stackoverflow you have your $100M startup.

I like the concept. It's code commenting and analysis that's out of the way. There are many ways to look at and digest a piece of code. This is very helpful for learning.

It's what Github is about?

I think that's the good idea though, we lack a way to aggregate every information we have on a line of particular code. More comments will be valuable.

> It's what Github is about?

Yes, but with some minor differences. In Github you have a very narrow window to comment on a line of code, think in a withstanding pull request, before it gets merged, after that the code is kinda all set. This in my opinion has a lot of potential and I would love to help if there is a way.

It looks interesting.

I would like to see the ability to search by language by clicking on the [language] part of headers though. Also maybe being able to view annotations by user.

You need to escape user input to avoid XSS on the page.

Why not integrate with github? That seems obvious to me

I wanted it to be for public code review first and it seemed the smallest thing I could build. Something to replace codereview.stackexchange.com

But github and team features are definitely planned for the future if people like it.

I like the idea but having clicked on the top five or ten examples:

I think you need some prominent and excellent "hero" examples of what you'd like to see on the site. Pick something reasonably pithy (e.g. off the top of my head Pike's simplified regex implementation) and annotate it and make that the top link (or one of the top links)

I'm upvoting simply because you said 'smallest thing I could built'. That so often gets missed in great projects. Good work.

Ah, makes sense.

Little bug report: If you hover over code with a comment and move fast to another block the comment of the first block stays there.

Really great idea, especially for beginners.

I am getting a 404 error. What happened?

The author is fixing bugs as people report them, especially some nasty XSS ones.

Cool, but sometimes the tooltip text doesn't change when move to hover over something else quickly.

Awesome! Had this idea as well, glad you're building it. Best of luck

XSS found, it seems. Tsk tsk.

There already is one: http://github.com/

AFAICT Github doesn't let you annotate arbitrary lines of code. It does, however, let you make line-level comments on pull requests

You can do line-level comments on commits as well, outside of a pull request.

I stand corrected. Thanks.

maybe I'm missing it but can you not tell who wrote the comment?

where is your SSL certificate?

all login and registration pages MUST run under https

I don't see the purpose of this

I heard if you link to Node.js source on your blog, they'll drive some traffic your way.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact