HNHacker News
TopNewBestAskShowJobs

ericwaller

926 karma · joined March 19, 2007

erwaller on gmail, github and twitter

http://ericwaller.com/

[ my public key: https://keybase.io/erwaller; my proof: https://keybase.io/erwaller/sigs/z8rRl3U4HJdLc-qnuPfEl4nHbgOThj13wRRDTkwQDaI ]

submissionscomments
ericwaller··on Announcing Soulmate, a Redis-backed service for fast autocompleting
We're actually using a slight variation of the second technique described, which involves maintaining a sorted set of the most relevant results for every possible prefix.

A query for a single-prefix term (i.e. "yank") is technically O(log(N)+M), where N is the # of items in the sorted set, and M is the # of items returned. But since in practice we often want a small # of items, we can keep both N and M small.

One tradeoff we made is that this approach doesn't support incremental updates easily, you can always add new items, but it would take a good bit of work to remove items that have expired, or update the scores of items that change.

As for memory usage, we only store each item once (in a redis hash table), and use the unique ids as entries in the sorted sets. Which sort of approaches a trie, since instead of:

ya -> yan -> yank -> yanke -> yankee -> yankees -> [data about yankees]

we have:

ya -> 101

yan -> 101

...

101 -> [data about yankees]

ericwaller··on Announcing Soulmate, a Redis-backed service for fast autocompleting
Glad to hear the name works for someone. We thought it meshed nicely with some of the other hyperbole out there in ruby gem names (god, unicorn, thor, shotgun, etc.).
ericwaller··on Announcing Soulmate, a Redis-backed service for fast autocompleting
Thanks. If you do, definitely let us (SeatGeek) know how it goes.
ericwaller··on Free, Public Data Sets
It's not in dump format, but you should take a look at simplegeo's (free) api: http://simplegeo.com/
ericwaller··on Linode giving $100 credit to first 1,000 new customers to sign up this Friday
Nope, they really mean $100,000: 1000 customers * $100
ericwaller··on Test driven development at Transloadit
(And TDD is the only way to get tests you really trust)

Can you expand on this point? This is one aspect of TDD, which seems to focus most intensely on unit testing, I've never understood. Why wouldn't full-stack, acceptance testing be just as effective?

ericwaller··on Henceforth, All Job Applicants Must Hack Into Our Backend (Dev Challenge)
That was roughly our thought process (I'm another seatgeeker btw). We wanted to come up with something that would be pretty quick to solve if you know what you're doing, but at the same time, demonstrates that you've got a pretty good understanding of a bunch of the moving parts of web development.
ericwaller··on Announcing DJJob, a PHP port of delayed_job
Absolutely, dropping Propel is TODO #1. I just figured I'd throw it on github and see if there was any interest first.
ericwaller··on Announcing DJJob, a PHP port of delayed_job
Great to hear from you. I remember being impressed by how short and straightforward delayed_job was when I first explored job queues. That's actually one of the only reasons I even considered building/porting something myself.

You're welcome, and thank you for delayed_job!

ericwaller··on We Built Interactive Seating Maps Using Raphael; Please Give Us Feedback
Thanks, in regards to the slowness, what browser were you using?

The stadium itself is actually tiled bitmaps, we're using Raphael/svg for the section/row highlights. It would have been great to use vector graphics the whole way, for one it would have given us continuous zooming instead of the predefined levels we're doing now, but the performance just isn't there yet in IE.

ericwaller··on We Built Interactive Seating Maps Using Raphael; Please Give Us Feedback
Thanks for the suggestions.

Mouseover on the whole section is definitely nicer but unfortunately it caused some performance problems in IE (rendering a ton of paths is slow). Hopefully we can figure out a more performant way of doing that.

One disadvantage of closing the popup on any click is that you might want to drag the map with the popup open, though it would be nice to not have to click the 'x'. Certainly something to consider.

ericwaller··on We Built Interactive Seating Maps Using Raphael; Please Give Us Feedback
Thanks so much, that's awesome to hear.

Collecting the venue data was definitely a bit of a challenge. We used a combination of publicly available seating charts, google earth (believe it or not) and our own transaction data. It's easy enough to get a rough idea of the section sizes/layout. Getting row counts and names was a bit tougher, and our transaction data was a big help there.

ericwaller··on How to Build a Data-Driven Startup
I actually think it gives exactly the right signals. The people you'll have to sell to (customers, investors, future hires) will probably not be very understanding of the creative process. They'll think your idea is dumb, and they'll say "no thanks," or just hit the back button, without a second thought. The presentation is about convincing them otherwise, so it makes sense to put the problem statement front and center.
ericwaller··on Ask HN: Is there a great open source crawler?
Scrapy (http://scrapy.org/) matches your description pretty well. You can specify which urls to crawl with regular expressions and then provide a bit of code to do some data extraction.
ericwaller··on Toyota braking problems discriminate against the elderly?
I think it's more that experienced drivers are presumably more defensive and therefore more likely to avoid situations (tailgating, etc.) where a sudden acceleration would be tough to recover from.
ericwaller··on Toyota braking problems discriminate against the elderly?
I actually almost included inexperience in my comment, but I thought it muddled the point since this article is asking why the elderly are over-represented in the toyota acceleration related deaths.

It seems like you're correcting me, but how is your point anything but tangential? If you're wondering why inexperienced drivers aren't also over-represented, it's probably because not many 16-21 year olds drive priuses.

ericwaller··on Review my startup - shouldget.com
I like the concept, but when I clicked on the "blackberry smartphone" example I got no search results (http://shouldget.com/search/?q=blackberry+smartphone).
ericwaller··on Toyota braking problems discriminate against the elderly?
Sudden acceleration is more likely to result in a (deadly?) crash for drivers with longer reaction times. Elderly drivers have longer reaction times.
ericwaller··on A Futures Site Coming to Bet on Movie Ticket Sales
At least in NY state, the exact odds and payouts are published. So you can certainly assign a premium to the risk involved, and you can do so exactly.

But since everyone knows the odds, the lotto market is perfectly efficient and no one can win in the long run -- this is what makes it gambling.

ericwaller··on Try Haskell
So, to see if I'm understanding: is the purpose of the Maybe monad to abstract the concept of "evaluate to Nothing if the previous expression evaluated to nothing?" Also, is 'build'/'return' being used implicity somewhere?
ericwaller··on Show HN: My 2-Hour Twilio App
I agree about not needing the confirmation. I actually got the confirmation 5 seconds after the result.
ericwaller··on Talking to God
I think it was implied that the type 2 and 3 civilizations are intentionally avoiding us.
ericwaller··on HN needs to post new stories on the front page to give them a chance
Your site is getting caught in Safari's suspected malware filter. There's a out-of-place link to "Best Philadelphia Wedding Photographers" in the footer which might be related.
ericwaller··on (x2-2.5x+1.5)/(x-1.5)
The vertical axis is f(x), and the shaded region represents f(x) > 1.
ericwaller··on Secret copyright treaty leaks. It's bad. Very bad.
ISPs have to cut off the Internet access of accused copyright infringers or face liability.

DMCA is the new DOS

ericwaller··on Cat /proc/cpuinfo or don't trust your cores to rackspace part i
After the conversion from Apache [+passenger] to Nginx [+unicorn] overall throughput went up by a factor of 3.

I noticed a similar gain (10-12 req/s to 25-30req/s) for action cached pages after switching out nginx+passenger for nginx+thin. This is on a 256mb slice, and seems totally counter to the general opinion that passenger is great for VPSes.

ericwaller··on YCRFS 3: Things Built on Twitter
Let me do the same, http://twitthegame.com/ It's a place to talk about sports on twitter (like stocktwits).
ericwaller··on Ask HN: Review my app, twitthegame.com (sports on twitter)
Thank you. I'm not sure what you mean by fair use. Are you referring to our republishing of tweets? Twitter's TOS gives them the right to redistribute content through third parties (like twitthegame.com).
ericwaller··on Ask HN: Review my app, twitthegame.com (sports on twitter)
1. I see what you're saying. Logging in does two things: it tells us who you are so we can follow you, and it let's you post from the app (the page updates in near realtime like stocktwits, so the idea is you leave it open during a game or w/e).

2. The automatic follow is mostly to avoid bumping into our follow limits (following a bunch of people who don't follow you back makes you look like a spammer).

3. That's the hard part, isn't it? We're starting by trying to reach out to the sports gambling community (who are heavy forum users), and have considered a few interesting things like running a retweet contest for football tickets.

ericwaller··on The best unknown activist investment of 2009
It's just that it generally doesn't work this way, the moral hazard would be insane. Lenders are smart enough to have debt personally guaranteed by someone at the corporation when the company has no assets of its own to use as collateral.
← PreviousPage 2 of 7Next →