Hacker News new | past | comments | ask | show | jobs | submit login
Ask PG: How many lines of Arc code is Hacker News?
13 points by iamelgringo on Feb 7, 2008 | hide | past | favorite | 15 comments
Just curious.



2421, but a lot of that is back-end stuff no one can see.


And some of it is for the AI who is learning by reading the articles and will soon be self-aware.


It's training to compete with VallyWag. Snarky comments auto-generated to tear apart the day's news. It should be too hard to write better than them. Eliza?


How do you know it's not already self-aware and posting here? How do you know I'm not the AI?

* suspense


Neat, I think you found a bug that allows us to write literal asterisks!

* test* *

EDIT: OK, if you put three asterisks in a row with a whitespace or newline to the right of the asterisks, you get a literal asterisk, but six asterisks in a row does not get you two adjacent asterisks.


Tell me more about "the AI?".


You said earlier that tell me more about the ai.


lol


Does that include the webserver code or is that separate?


That's separate. But it doesn't need anything that wasn't in arc0.


Speaking of back-end stuff, what is the backend of Hacker News? What are you using for persistence? Do you have any sort of model layer? Any recommendations/anecdotes?


By backend stuff I meant code for administration and analysis, not server infrastructure.

For persistence we use hash tables written to files as s-expressions, and lazily loaded after restarts.


How do you make the whole thing transactional? I don't mean file persistence (you can do that every once in a while) but the whole application. Manual thread synchronization?


You don't need thread synchronization if you don't have threads. ;-)

Threads should be avoided whenever possible and only used when you have no better alternative or if there is a really good performance benefit. Multithreaded programming is easy to screw up and hard to get right, and is usually not needed.


Serialized hash tables.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: