mirror of
https://github.com/not-kennethreitz/convore.json.git
synced 2026-06-05 23:20:19 +00:00
1 line
12 KiB
JSON
1 line
12 KiB
JSON
[{"user_id": 1, "stars": [{"date_created": 1297888775.4628301, "user_id": 261}, {"date_created": 1297889406.118377, "user_id": 10197}, {"date_created": 1297890014.4489319, "user_id": 1081}], "topic_id": 6506, "date_created": 1297888727.25244, "message": "Here's the Hacker News URL, for people who want to track discussions that happen there: http://news.ycombinator.com/item?id=2228137", "group_id": 292, "id": 123966}, {"user_id": 1, "stars": [{"date_created": 1297888503.085012, "user_id": 1736}, {"date_created": 1297888538.016932, "user_id": 6415}, {"date_created": 1297888570.7517431, "user_id": 1455}, {"date_created": 1297888695.6772349, "user_id": 261}, {"date_created": 1297888773.488997, "user_id": 288}, {"date_created": 1297889761.232362, "user_id": 10612}, {"date_created": 1297890007.5629101, "user_id": 1081}, {"date_created": 1297902645.948576, "user_id": 5942}, {"date_created": 1298493489.320246, "user_id": 14444}], "topic_id": 6506, "date_created": 1297888368.2243171, "message": "Blogged: http://www.eflorenzano.com/blog/post/technology-behind-convore/", "group_id": 292, "id": 123885}, {"user_id": 2458, "stars": [{"date_created": 1297888636.6509409, "user_id": 1}, {"date_created": 1298225746.0446379, "user_id": 14074}], "topic_id": 6506, "date_created": 1297888629.7257659, "message": "Thanks. I love it when developers give insight into how they do things.", "group_id": 292, "id": 123939}, {"user_id": 1, "stars": [], "topic_id": 6506, "date_created": 1297888382.4741819, "message": "(For all those who asked)", "group_id": 292, "id": 123893}, {"user_id": 603, "stars": [], "topic_id": 6506, "date_created": 1297888683.7127759, "message": "yes, thanks. I'll be curious to hear how y'all update the realtime endpoint.", "group_id": 292, "id": 123954}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297890070.2880521, "message": "Does it means all links will break if I change my username (which I'm allowed to) or do you have another task updating all my messages and mentions?", "group_id": 292, "id": 124249}, {"user_id": 1, "stars": [], "topic_id": 6506, "date_created": 1297890445.83073, "message": "@davidpaccoud All links will break, unfortunately for us.", "group_id": 292, "id": 124349}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297890555.572928, "message": "@ericflo Then, maybe, it would be a good idea to diseable the change username fonctionnality until you have time to address this.", "group_id": 292, "id": 124387}, {"user_id": 1, "stars": [], "topic_id": 6506, "date_created": 1297890888.2272551, "message": "@davidpaccoud That's a good idea", "group_id": 292, "id": 124470}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297894317.206085, "message": "@dreid It think it's a great feature, but only if you can afford to fix the mess it creates ;)", "group_id": 292, "id": 125389}, {"user_id": 242, "stars": [{"date_created": 1297894360.5606141, "user_id": 1}], "topic_id": 6506, "date_created": 1297894201.1383741, "message": "@ericflo, man what have I told you, never let them change their username.", "group_id": 292, "id": 125371}, {"user_id": 242, "stars": [], "topic_id": 6506, "date_created": 1297894587.957994, "message": "@davidpaccoud I am reminded of the scripts that would change your AIM display name to \"animate\" it.", "group_id": 292, "id": 125442}, {"user_id": 242, "stars": [], "topic_id": 6506, "date_created": 1297895068.2297561, "message": "Yes that is exactly what I mean. But seriously the number of people who will actually change their username is probably quite low.", "group_id": 292, "id": 125494}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297895281.2852831, "message": "I still like the feature. I guess their better option now is to shut it down and reopen it, with a limit like 1 change per day or week, when they have addressed the rewrite links problem. That may means never though :(", "group_id": 292, "id": 125540}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297894871.7185249, "message": "@dreid Do you mean bots could be programmed to change username like once per sec to create animation? That sounds bad :-/", "group_id": 292, "id": 125464}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297895667.5915129, "message": ";)", "group_id": 292, "id": 125619}, {"user_id": 7151, "stars": [{"date_created": 1297895654.8060451, "user_id": 6415}, {"date_created": 1297895720.7278709, "user_id": 1736}], "topic_id": 6506, "date_created": 1297895618.4181731, "message": "unless we can get our old posts to update in real time, because then the animation bot would be totally worth it", "group_id": 292, "id": 125606}, {"user_id": 4851, "stars": [], "topic_id": 6506, "date_created": 1297934022.5160589, "message": "Cool post, I just commented there on what I'm building - the stack is surprisingly similar :-)", "group_id": 292, "id": 130225}, {"user_id": 5436, "stars": [], "topic_id": 6506, "date_created": 1297936549.257416, "message": "@ericflo but what about the hard bit: the design, layout and IA?", "group_id": 292, "id": 130372}, {"user_id": 5436, "stars": [], "topic_id": 6506, "date_created": 1297936593.2445481, "message": "because it looks pretty damn awesome and it has a logo and all that.", "group_id": 292, "id": 130375}, {"user_id": 12619, "stars": [], "topic_id": 6506, "date_created": 1297952297.3499639, "message": "@peterbe The logo seems to have changed since the screenshot on the front page was taken, interestingly enough.", "group_id": 292, "id": 131903}, {"user_id": 222, "stars": [], "topic_id": 6506, "date_created": 1297959126.6170211, "message": "@dreid StackOverflow only allows username changes like once per month", "group_id": 292, "id": 132667}, {"user_id": 1291, "stars": [{"date_created": 1297968799.3564661, "user_id": 7151}, {"date_created": 1298060289.9896801, "user_id": 915}], "topic_id": 6506, "date_created": 1297966116.404788, "message": "Flickr disallow username changes for the same reason (don't break permalinks), with the upshot that I created a new account, re-uploaded all my photos, and stopped paying for the old pro account. Thus breaking all the links ANYWAY, and costing me a stack of effort, _and_ breaking all my upload date metadata. People will manage it anyway, somehow.", "group_id": 292, "id": 133737}, {"user_id": 1, "stars": [{"date_created": 1297992758.3517721, "user_id": 6415}, {"date_created": 1298029037.5989959, "user_id": 5942}, {"date_created": 1310645476.7548349, "user_id": 37895}], "topic_id": 6506, "date_created": 1297973002.1908741, "message": "We fixed this, you can change your account now and old references stay up-to-date.", "group_id": 292, "id": 135118}, {"user_id": 6415, "stars": [], "topic_id": 6506, "date_created": 1297992937.497066, "message": "@ericflo Awesome, thanks for the quick fix :-D", "group_id": 292, "id": 138783}, {"user_id": 13854, "stars": [{"date_created": 1298139947.686764, "user_id": 13501}], "topic_id": 6506, "date_created": 1298126356.565233, "message": "The post mentions Java NIO, Erlang and node.js from the hacking I have done with eventlet, gevent, fawps, golang and a little erlang the main issues has been I/O. Language performance quickly becomes an issue for processing but most of the time it is all IO so just need more nodes. Why Java NIO, Erlang or node.js? Is there so other things that lead you to think those are better solutions?", "group_id": 292, "id": 149505}, {"user_id": 222, "stars": [{"date_created": 1298225836.9017389, "user_id": 14074}, {"date_created": 1298358025.8505471, "user_id": 1}], "topic_id": 6506, "date_created": 1298129093.537626, "message": "@lateefj in my experience the difference between Python and Erlang can be an order of magnitude, which has a number of benefits... e.g. you can scale up much higher on a single machine non-distributed prototype, it can cost a lot less to run when you do go distributed, etc. The programming model in Erlang just makes sense for I/O. Of course, bad Erlang code can easily have terrible performance, but it can be tuned well if you know what you're doing. I also find that it doesn't take me much longer to write code in Erlang than Python for that problem domain.", "group_id": 292, "id": 149644}, {"user_id": 6671, "stars": [], "topic_id": 6506, "date_created": 1298348425.949892, "message": "@bob I wonder what the relative performance of PyPy and Erlang is...", "group_id": 292, "id": 177044}, {"user_id": 13854, "stars": [], "topic_id": 6506, "date_created": 1298349628.586565, "message": "@bob As a special IO service I like Erlang but for website as simple as string slinging around (which is mostly what I do with webstuff) I find Python much faster and easier to use. I have been thinking Erlang is great where the hard part of the problem is the distributed concurrency (multi node) which for data storage this is great. However if the problem is the type that requires more HTMLTemplates and working with lots of third party libs I think Python is a good choice.", "group_id": 292, "id": 177109}, {"user_id": 222, "stars": [], "topic_id": 6506, "date_created": 1298395640.8027, "message": "@lateefj I completely agree. We don't do HTML slinging in Erlang either. In theory it could be done well, in practice someone has to write a few years worth of code to make it a sensible thing to do. HTML slinging is also very easy to scale horizontally as long as you're talking to data/IO services that scale well, and those services are the kinds of things that we consider using Erlang for. Of course, Erlang also makes a good pipeline in the middle of some IO, e.g. a Comet server that speaks to some Python or JavaScript to do the interesting stuff... which is more or less what I'd have done if I had built Convore's real-time endpoint.", "group_id": 292, "id": 180655}, {"user_id": 222, "stars": [], "topic_id": 6506, "date_created": 1298394997.5131199, "message": "@glyph probably worth someone else's time to investigate that :) Erlang has several other advantages other than VM performance, like iolists (being able to sling [\"foo\", 0, \"bar\", [<<\"baz\">>]] to a socket and have it do the right thing). Not having to write callback style stuff is an obvious usability advantage, although if PyPy had some lightweight pre-emptive concurrency M:N on OS threads it could be that way too. The per-process GC is also neat, because it doesn't block anything else going on.", "group_id": 292, "id": 180566}, {"user_id": 6671, "stars": [], "topic_id": 6506, "date_created": 1298451311.4333169, "message": "@bob I'm not completely sure if the default distributed builds include this, but http://codespeak.net/pypy/dist/pypy/doc/stackless.html", "group_id": 292, "id": 186277}, {"user_id": 6671, "stars": [], "topic_id": 6506, "date_created": 1298451369.6151941, "message": "I'm not entirely sold on the 'not having to write callback style stuff' thing myself. Twisted has @inlineCallbacks now, but most code that uses it (and I've written a huge amount myself, at this point) is unnecessarily hairy and has potential traps because it tries to trick you into thinking that it's blocking. Absent even the 'yield' keyword I think I'd be more concerned.", "group_id": 292, "id": 186280}, {"user_id": 6671, "stars": [], "topic_id": 6506, "date_created": 1298451412.118562, "message": "Although obviously erlang does have an advantage there, in that its immutable data structures mean that it's a lot less important where concurrency actually happens. Unfortunately that also means that it's a lot harder to figure out how to write applications that are mostly about storing mutable state, which is most of the applications I'm interested in :).", "group_id": 292, "id": 186283}, {"user_id": 222, "stars": [], "topic_id": 6506, "date_created": 1298473324.68783, "message": "@glyph well in Erlang things either block or they don't but it doesn't matter because you can have as much concurrency as you want without worrying about the GIL or running out of RAM due to big thread stacks. The VM also has built-in support to do things like LineReceiver, so you just put it in that packet mode and wait for messages (or pull them from the socket). There are some holes for mutability in Erlang: processes and ets. For me, Erlang covers maybe 95% of what I would otherwise want to write in Twisted, and it does them better (more straightforward to develop and generally better performance). The 5% are just applications that are easier to write in Python because of existing libraries.", "group_id": 292, "id": 187908}] |