Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
EvilTrout
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
EvilTrout
14y ago
Honestly it came down to there being private keys and other shifty things in there at various points. Also there was a lot of old crap as we evolved the prototype closer to what we released... We just thought it was a good idea.
62.
▲
by
EvilTrout
14y ago
A couple of weeks ago, I was talking to a friend about the impeding launch of Discourse. She asked me if I was worried that people would judge me for the code I'd written (although to be honest, you can't tell who wrote what since we reset
63.
▲
by
EvilTrout
14y ago
Actually we aren't using server side handlebars rendering for the Google aspect, although that's something we considered! We're using it for more boring stuff like our Oneboxes. Our site is indexable by Google and it doesn't do much fancy.
64.
▲
by
EvilTrout
14y ago
Fixed, thanks!
65.
▲
Why Discourse uses Ember.js
(eviltrout.com)
267 points
by
EvilTrout
14y ago
|
72 comments
66.
▲
by
EvilTrout
14y ago
I think you might be surprised if you check out what we came up with. You're right that in the beginning Jeff was interested in gamification, but when we sat down and started to crack at it, we found the interface itself was in need of the
67.
▲
by
EvilTrout
14y ago
We are closer to your vision than you might think. Discourse remembers what you've read and what you haven't. You can "like" posts or "flag" them as poor. Our API coverage is almost 100% - our rich JS client consumes our own API for just ab
68.
▲
by
EvilTrout
14y ago
When you're logged in, we track exactly what posts you have seen. When you click on the topic again, it takes you directly to where you left off, to the post!
69.
▲
by
EvilTrout
14y ago
No, we were worried that rendering different content for google violates their TOS. So what we do is render a super basic version of the page in the <noscript> section with no tools or extras. You can see it if you disable javascrip
70.
▲
by
EvilTrout
14y ago
Not only does it run the latest stable release of Rails 3.2 (which was immune from the latest security vunerability), but I made sure we are running the latest versions of all Rubygems. Having said that, this is very much an early beta righ
71.
▲
by
EvilTrout
14y ago
Thanks. I'll probably write up a blog post of how it's done eventually but the short version is we use HTML5 replaceState to update the URL as you scroll down a topic stream, so you have a unique URL to go back to and share. There is a litt
72.
▲
by
EvilTrout
14y ago
1. If you log in across various devices you'll end up with links to the last post you read in the topic. Unlike other forum software we don't consider all posts on a "page" viewed when the page downloads, only as they are scrolled into view
73.
▲
by
EvilTrout
14y ago
Once upon a time people said that creating stuff in PHP was ridiculous as Perl in cgi-bin was way more supported. As was mentioned, we have a hosted offering planned so people can set up a forum in a few clicks. But besides that we actively
74.
▲
Crawling the Downvote Brigades of Reddit
(eviltrout.com)
2 points
by
EvilTrout
14y ago
|
0 comments
75.
▲
by
EvilTrout
14y ago
I think you're being a bit dramatic about little part of one sentence. There are many application developers out there using Rails, PHP or Django who can go years without invoking locks or semaphores due to the strengths of the APIs and fra
76.
▲
by
EvilTrout
14y ago
Everyone's got to start somewhere! In the sentence before I explicitly said I was a newbie to this stuff at the time. Obviously it's not exotic to a more experienced developer :)
77.
▲
by
EvilTrout
14y ago
That introduces external dependencies though. Also, since the update has to occur anyway, I'd bet that my solution is faster than also making a call to another database for a lock.
78.
▲
by
EvilTrout
14y ago
In the example code I gave, by default in Rails with Postgres (which supports MVCC) you'll still get the error. So it's not as simple as using a transactional database: you either use a trick like this one, an row-based version column, or y
79.
▲
by
EvilTrout
14y ago
Right, but that involves changing your database and adding hidden form fields to your app in order for it to work on a multi process environment (like every production server should be.) My solution is basically the same amount of lines, re
80.
▲
by
EvilTrout
14y ago
There's a difference between a transaction that locks for writes and one that locks for reads. By default the reading is not locked in this (common) case.
81.
▲
by
EvilTrout
14y ago
facepalm I forgot a very important part of the query: row_count = Goal.update_all "completed = true", ["player_id = ? AND completed = false", player.id] If you update where completed = false, the rowcount will only be 1 when the update wo
82.
▲
How our users exploited concurrency and how we fixed it
(eviltrout.com)
60 points
by
EvilTrout
14y ago
|
39 comments
83.
▲
by
EvilTrout
14y ago
> Using turbolinks won't make your site slower than not using turbolinks. No, but it encourages a style of development that makes you rely much more on the server side speed than you should. That is the major flaw I was trying to bring
84.
▲
by
EvilTrout
14y ago
Author here. One side note: I don't actually hate Turbolinks. If it's working for some people with little effort, more power to them. I'd just suggest to _anyone_ considering it, you should look into a JSMVC framework first to see all the o
85.
▲
Just because you're privileged doesn't mean you suck
(eviltrout.com)
1 points
by
EvilTrout
14y ago
|
0 comments
86.
▲
I've been programming since I was 7
(eviltrout.com)
20 points
by
EvilTrout
14y ago
|
3 comments
87.
▲
by
EvilTrout
14y ago
As someone creating a large Javascript application with a Rails API, this makes me very happy. Perfect timing!
88.
▲
by
EvilTrout
14y ago
Do you have a source on that? I'm a huge fan of Valve's and I've never seen that quote.
89.
▲
Jeff Atwood - How to stop sucking and be awesome instead
(slideshare.net)
4 points
by
EvilTrout
14y ago
|
0 comments
90.
▲
Rubycpu is a vm and compiler for a CPU similar to x86, written in Ruby
(github.com)
4 points
by
EvilTrout
15y ago
|
0 comments
More ›