What does HackerNews think of anarki?
Community-managed fork of the Arc dialect of Lisp; for commit privileges submit a pull request.
Yes and no.
HN itself is running a proprietary fork of Arc Lisp, which you can find here[0]. The Arc maintainters don't take public PRs or feature requests, and HN itself has numerous changes to the codebase which aren't public for business reasons.
There is a public fork of Arc called Anarki[1] which has no direct connection to HN or Arc Lisp, and for which the community and development is... well... anarchic.
And given the general culture here around minimalism and stasis (not wanting to introduce new features for fear of entropy that would negatively affect the signal to noise ratio and push the site towards Eternal September) chances are any large, publicly visible changes to the codebase aren't going to happen. People here riot if they change the stylesheets just a bit too much. Heaven help us if something imports content from beyond the AT field that Hacker News keeps between itself and the unwashed masses.
But dang's email is at the bottom of the page if you want to ask him.
Honestly, as with most such questions regarding HN, the preferred answer is probably to just write a third party client that uses the HN API and let HN stay what it is.
My guess is that it's very difficult to keep all the details of the secret sauce hidden. They change the details very often. For example the front page is ordered by points/time^1.6, but the 1.6 changes from time to time without notice (I think it was 1.8 for some time, perhaps it's 1.8 or something else now. Some people have analyzed the front page and got compatible results, but I don't remember the exponent they found and I'm too lazy to try).
>I wish someone could make a cheap and easy shell to quickly make "hacker news" like clones that people could run for given interests, to create communities like this one geared towards other interests...
It's already out there: http://arclanguage.org/or...
https://github.com/arclanguage/anarki
>Anarki comes bundled with News, a Hacker News style app...
Ironically, this has been posted on a popular site written in a dialect of scheme:
Coincidentally, seems my post have been the top #1 post on the Arc forums since I first made it, ~17 days ago. That forum could do with a bit more of traffic :)
Anarki, a divergent open source fork, can be found here[1].
And the public, open source fork of Arc and the forum are at https://github.com/arclanguage/anarki
Bear in mind nothing publicly available is at feature parity with Hacker News because HN is essentially closed source for various (mostly YC business) reasons.
Also a more up to date version of the Arc forum can be found at https://arclanguage.org, and there is a public fork, Anarki at https://github.com/arclanguage/anarki which is not in feature parity with the former, which itself is not in feature parity with Hacker News.
The current source of Arc Lisp is at https://arclanguage.org. It isn't open source in that there is any way to contribute or make pull requests that I'm aware of (I may simply be too much of a pleb to know,) rather now and then new versions simply descend from the Lisp gods and are posted. So it's more 'source available.'
The current public fork of Arc Lisp is Anarki at https://github.com/arclanguage/anarki. It has deviated a great deal from Arc and its version of the forum is not in any way in feature parity with Hacker News. But anyone is welcome to make a PR and contribute.
The Arc language forum is at https://arclanguage.org/forum.
There's an open source fork at https://github.com/arclanguage/anarki, but it doesn't have any direct relationship with HN.
There is also Anarki[0], which is the public fork of Arc and the forum, which is very much not in feature parity with HN. Anyone who wants to contribute is welcome to.
It's not new but if you want to dig into Arc Lisp you might consider contributing to or forking Anarki[0], the public fork of the software running HN.
Arc has a public fork called Anarki[1], which is built on Racket[2]. The Anarki version of the forum differs from the Arc forum, which differs from HN's own custom instance, which is closed because of various YCombinator business reasons.
There still seems to be interest in the project. The forum gets new topics posted every few days [1] and Anarki, a community ran fork of Arc, shows recent commits [2].
A lot of things about it frustrate me. Mostly the global namespace and mutability (and Anarki specific issues with Racket interop.) I know that's a fundamental part of the design and culture, but I think it holds the potential of the language back considerably.
Beyond that, assuming you're using a SQL database and want threading, study methods to represent tree structures from that[0].
[0]https://stackoverflow.com/questions/2175882/how-to-represent...
The closest thing to actual HN source code that's publicly available is probably Anarki[0] which is a public fork of Arc[1], a lisp created by PG. That codebase does already deviate from HN in several ways, is not guaranteed to be stable and doesn't represent what might be considered modern best practices for application design, but contributions are always welcome, and if you want to know how HN itself works, in general terms, that's probably the closest you're going to get.
You can also search "hacker news clone[2]" here to find examples written in various languages.
[0]https://github.com/arclanguage/anarki
Nothing great mind you, not even good, but it's my first practical experience working with a Lisp.
To remove the features you don't want, you'll have to modify the code a bit, but I guess deleting code is easier than adding it.
As far as I can tell, the arc forums site is still up and running, and a lot of people seem to be focused on Anarki[0].
As mentioned, there is also lobste.rs, in RoR. I think most HN clones posted here use one or the other.
If someone were writing a Hacker News clone in PHP, or God forbid, Hack, they would probably be embarrassed to post it here...
It works with the latest Racket versions and includes a HN clone. You can see it running here: http://arclanguage.org/forum
It's true that pg isn't working on it though. I wonder if he's ever getting back to it.
The current[1] distribution comes with a hn clone, that as far as I know, is mostly equivalent to the code that used to power hn at some point in the not too distant past.
[1] current might not be the best name for it, but as far as I can tell it a) works, b) has been ported to Racket (as opposed to being trapped on some ancient version of PLT Scheme), and c) is maintained (ish): https://github.com/arclanguage/anarki
IMNHO Not at all! Just like I love the fact that someone that didn't realize the meaning of the bar, simply asked (and so helped others figured it out), I love your input on accessibility. I'm sure I'm not the only one that hadn't considered the accessibility implications of such "semantic" style/design choices. FWIW, I think it's a bit crazy to use a table with a 1px image and background colour (if I'm reading the source right?), when a "border-top: thick solid black" would do the trick. But then again, HN does stick to a strict 90s table-layout. That still leaves out the question of where/how to communicate the change to those that are vision impaired.
I wish development of the HN code was a bit more open - as far as I know, the current code, has evolved[1] a bit from what's currently readily accessible as FOSS[0] -- but doing something with the layout to help accessibility while still staying true to the spirit of HN really shouldn't be that hard. And I'm sure the result would be greatly helped by some of HN readers that are able to do the change themselves, for themselves.
As for general accessibility, I think everyone would want vote-buttons that work (I'm using vimperator, so on Desktop, it doesn't really matter if the arrows are invisible on a big monitor - I just know that the "first" link-hint is "up", and the second is "down", indications of which way one voted (and a grace period to change/cancel), and a way to hide threads.
The latter is especially useful if the first comment on a story is a controversial tangent.
As for the black bar: Having those that change the bar submit a story at the same time (eg: the "Andy Glover has died"-story that was on the front page earlier), and have the bar link to the HN submission might not be a bad idea. We sadly live in a time where it might not be obvious, even in a relatively small community, for who or what the black bar express sympathy.
[0] "Anarki: a publicly modifiable 'wiki-like' fork of Arc Lisp (http://www.paulgraham.com/arc.html)" https://github.com/arclanguage/anarki
[1] "Ask HN: Is the Hacker News Team Actively Developing Arc?" https://news.ycombinator.com/item?id=11240350
And there are clones, like lobste.rs:
https://github.com/jcs/lobsters
Then there's the API, that allows anyone to export data. So while I get your point, and agree with it to a certain extent, it's also not entirely fair.
https://github.com/arclanguage/anarki
Possibly arc-nu?:
https://github.com/arclanguage/arc-nu
At least it appears arc3.1 runs under racket (not sure how long that's been the case, but presumably for a while):
$ racket -v
Welcome to Racket v6.1.
$ wget http://ycombinator.com/arc/arc3.1.tar
$ tar xf arc3.1.tar
$ cd arc3.1/
$ echo admin > arc/admins
# WARNING: running random code from the Internet
# downloaded over an insecure link is not a good idea!
# But a checkout from https://github.com/wting/hackernews.git
# *failed* to run under racket...
$ racket -f as.scm
Use (quit) to quit, (tl) to return here after an interrupt.
arc> (load "news.arc")
nil
arc> (nsv)
rm: cannot remove ‘arc/news/story/*.tmp’: No such file or directory
load items:
ranking stories.
ready to serve port 8080
I don't know if https://github.com/wting/hackernews.git is a reflection
of the updated hn source - I don't think it is. For one thing, if we
look at:http://arclanguage.org/item?id=19174
"Ask Arc: How to add a toplabels in news.arc?"
> On Hacker News, the ask and show pages are implemented just like the > front page, but they filter the item list based on title or whether or > not there's a link. > > And yes, that means they won't show items not already loaded into RAM ;)
(defop ask ((p page))
(pagepage ranked-stories* p
[and (askpage-filter _) _]
"ask" "Ask"))
> The magic is in askpage-filter: (def askpage-filter (s)
(and (astory s)
(blank s!url)
(~begins (downcase s!title) "show hn")))
There's no -filter, in the github repo:https://github.com/wting/hackernews/search?utf8=&q=-filter&t...
I have been involved professionally with developing two medium-large applications on Meteor, and it's terrifying.(first time was when it was in alpha, so I forgave it, second time out of alpha, and it's almost worse).
I think that HN is run from this https://github.com/arclanguage/anarki or something similar. (there's a run-news script in there which IIRC instantiates something a whole lot like HN).
Source code https://github.com/arclanguage/anarki/
I tried finding the link to the older codes, this is the best I could do: https://github.com/arclanguage/anarki http://arclanguage.org/
another issue
this - https://github.com/arclanguage/anarki or this? - https://github.com/wting/hackernews
The source is out there. https://github.com/arclanguage/anarki