Arc Forumnew | comments | leaders | submitlogin
Best way to implement a HN themed site?
4 points by Sol2Sol 4736 days ago | 12 comments
I would like to do an implementation that is very similar to the set up at the hacker news (HN) site, for a niche subject matter that is not related to start ups. I really like the simplicity and ease of use of the HN site and think it could work well in my niche. I understand that HN is coded in ARC. I am not a web developer so my question is what would be the best/easiest way to do a HN theme implementation that includes the ability for users to do search and support for open ID as on the current HN site?


2 points by rocketnia 4736 days ago | link

"I am not a web developer"

Are you at least some other kind of developer? Building or maintaining a website (or anything!) on Arc is a rather code-it-all-yourself process. Here are a few things that might disappoint you along the way:

- The Arc language comes with the ability to host an HN-like website, but unfortunately the current HN has been modified significantly since the most recent release of Arc. For instance, Arc's news.arc doesn't have OpenID support or a search bar.

- Even if someone did want to recreate HN's support for OpenID in news.arc, HN's approach is based on an external service, Clickpass, whose only documentation is "Clickpass is being reworked. Please, don't develop against the current Clickpass implementation." http://www.clickpass.com/docs

- A while back I linked to a few discussions of websites based on news.arc (http://arclanguage.org/item?id=13277)... but since then, every single one of the sites mentioned has either gone down or turned into a different kind of site. ^_^; Except for HN and Arc Forum, that is! These two are the only live news.arc-based sites I know.

On the plus side, if you're plucky enough to climb this mountain, we're happy to help guide you in the right direction. Specific questions and examples of the code you're trying to write are good places for us to start helping you.

If you'd prefer to keep the code you write to a minimum, I'm afraid I'd have to recommend some other platform. Personally I think just setting up a group on Convore is a pretty good way to get an HN-style forum. :-p (Unfortunately, Convore's apparently been terribly slow for months. @_@ ) If you need the freedom to modify the forum code, there might be a good starting point somewhere in the Django world (https://code.djangoproject.com/wiki/ForumAppsComparison) or of course you might be able to use one of the many PHP forum engines. Those languages aren't nearly as nifty as Arc ;) but they will likely have a much higher volume of community support.

Hopefully someone else will come to the rescue with even better options. :-p

-----

3 points by Sol2Sol 4735 days ago | link

Thanks for your detailed response. I have a development background - mostly scripting on mainframe systems, but no web development experience. The HN format seems so clean and simple I figured there would be a lot of support for it somewhere even if it is not written in ARC in the same way that Digg has a bunch of open source options for someone who wants to 'clone' the site. Yes site administration would be a big consideration for me too - Is HN as simple on the backend for the admin as it is for users on the front end. If developing and deploying the site turns out to be out of my depth I would gladly outsource it to someone else but knowing where to start in terms of what open source options are out there that are currently closest to the goal of what I want to achieve comes first. The PHP bbs wont work for me. So, still looking...

-----

2 points by markkat 4734 days ago | link

Getting a HN clone up and running isn't too bad, and the version of news.arc available is very stable as is. Also, the folk in this forum are very friendly and willing to answer questions. I don't think that getting your HN clone up and running would be much more difficult than any other forum.

Tip: if you are looking to customize news.arc, I would start by working it out of the table formatting and into CSS. If not, it's a pretty rigid beast. It's worth the effort, and would also be a good way to get familiar with the code.

-----

2 points by thaddeus 4735 days ago | link

> Arc's news.arc doesn't have OpenID support

As an FYI aw (aka CatDancer) once provided code for arc/OpenID support. -> http://arclanguage.org/item?id=3333. Link is no longer valid and aws currently published pages[1] don't appear to contain the code. I'm sure if someone needed it they could contact him and he would be willing to help[2].

[1] http://sites.google.com/site/arclanguagewiki/ http://awwx.posterous.com/ http://awwx.ws/

[2] http://arclanguage.org/user?id=aw

-----

1 point by rocketnia 4735 days ago | link

I had that thread as a phantom in the back of my mind, but thanks for seeking it out.

Link rot's pretty bad around here, I guess. XD Maybe we oughta have an Arc-archive effort. ^_^;

-----

3 points by akkartik 4735 days ago | link

Just one addition: markkat's http://hubski.com is still using arc.

-----

2 points by markkat 4734 days ago | link

No plans to change either! :)

-----

3 points by Sol2Sol 4729 days ago | link

FWIW Here is an implementation of HN, called LamerNews on github that I've been looking at:

https://github.com/antirez/lamernews

It is written in Ruby, Sinatra, jQuery and Redis. Sample site: http://lamernews.com/

Now I wonder if there is an HN implementation in the ubiquitous Django/Python.

-----

1 point by rocketnia 4729 days ago | link

That's a great find. ^_^

-----

1 point by darjeeling 4732 days ago | link

Sorry if I'm hijacking the discussion. Also sorry if i am asking too many questions.

I am also working on creating a discussion forum based on arc news. I have programming and web development experience but none with arc or list-like languages. I saw hubski's site and liked it a lot. I have some specific questions:

- like the OP asked, how difficult would it be to add open-id, facebook, twitter, g+ integration?

- how does hubski distinguish text submissions vs videos and so on? How do I group/categorize all of them?

- how do I add tags to submissions or allow admins to add tags?

- how do i decrease the karma required to downvote?

- how do i mimic HN's job page, ie: no name of the poster and no comment field- just link and text. How to group all such posts?

thanks :)

-----

4 points by markkat 4731 days ago | link

Hi darjeeling. I run http://hubski.com Glad you like it! Unfortunately, I don't think there are any quick answers to your questions. Most of this requires writing new code. I'll take a shot at them, to get you started, however:

how difficult would it be to add open-id, facebook, twitter, g+ integration?

That depends on how integrated you want to get. It's fairly trivial to be able to add a 'like' or '+1' button, but if you want deeper integration, you'd have to be specific about what you want to do. I haven't tried open-id. I'm sure it's doable.

how does hubski distinguish text submissions vs videos and so on? How do I group/categorize all of them?

For videos, it is a matter of identifying the url as a video url, etc. For example with findsubseq, you can pick out if contains "youtube" "youtu.be", etc. Text submissions are those that lack a url, and don't have an empty text field, etc. No quick fix here. news.arc wasn't made to sort them that way, I had to do that.

how do I add tags to submissions or allow admins to add tags?

There are a number of ways you might go about that. I added the tag as an additional story key/value pair. Depending on your tagging structure, you might want to make each tag it's own template, containing the ids of stories carrying that tag.

how do i decrease the karma required to downvote?

I think there is downvote-threshold* in news.arc, -just change the value. I don't use karma or downvotes with Hubski. So I don't have that code anymore. :)

how do i mimic HN's job page, ie: no name of the poster and no comment field- just link and text. How to group all such posts?

Shouldn't be too difficult. Each story could have a 'job' key with a value of nil or t. If it is t, then opt not to show the comment tree, name, etc.

From the range of your questions, it seems that you haven't messed with the code too much yet. If you really want to use news.arc, just get in there and start tweaking. I was totally green to Arc when I started. Good luck!

-----

1 point by darjeeling 4731 days ago | link

Hi Markkat, thank you very much for your detailed reply. If you don't mind, I'd like to ask more questions.

- If I want to start hacking into the news code, is news.arc the only file I start with? I would also like to change the css, make email field compulsory, send email confirmation and so on. If you could show me some direction, it would be very helpful.

- by integration with other services, I mean allowing likes, +1, commenting, log-in etc. I think I will have to look into the code to start understanding this more, so it is related to the above point.

- about identifying video URLs- how would you recommend expanding something like, say a bit.ly link?

- Yes, I haven't done anything with the code yet because it looks a little unfamiliar at this point. But I'd love to.

Thank you very much for your help.

-----