Hacker Newsnew | past | comments | ask | show | jobs | submit | more stephen_mcd's commentslogin

You can easily render a tree many levels deep in O(n) time using a single DB query as an adjacency list with a lookup dictionary:

http://blog.jupo.org/2010/01/26/linear-traversal-of-adjacenc...

No need for mptt either.


Great article.

I went through a similar process about a year ago for https://kouio.com (RSS reader). In its case I needed to coalesce closely matching RSS feeds purely for storage and performance. After trialling edit distance and various simhash implementations in Python, we ended up needing to look no further than the standard library's difflib.SequenceMatcher - I wish I documented my findings at the time, but I recall it was the best in terms of speed and accuracy.

Also you might not want to rely on str.isalnum for stripping punctuation. I made the same mistake here: https://twitter.com/stephen_mcd/status/506344236531212288


Thanks for the reference. It looks like SequenceMatch is "cubic time in the worst case and quadratic time in the expected case". Did you notice any performance issues as kouio scaled?


Perhaps it was more a case of accuracy for what we were looking at at the time then :-)

It's something we run out of band on a subset of our data, so it's never been performance critical.


Hi Stephen. I am one of the creators of http://silverreader.com (RSS reader). I wish you a luck with your new RSS reader launch. Building a good RSS reader is not easy task.


https://twitter.com/stephen_mcd - hit me up, lots of open source


Very well put!

My RSS reader (http://kouio.com after Google's shut down) has always been my complete command centre:

- Google Alerts

- LinkedIn updates

- Every issue/comment/star on my Github projects

- The exact ages of my children every day (via http://howoldismykid.com)

- New questions per tag on stack overflow.

- New messages for individual Google Groups.

and so much more.

I was just lost when Google Reader shut down thinking I'd lose all that, RSS really is the universal API of web data.


That's a slick RSS reader. I have previously used The Old Reader for its simplicity. I am currently using Feedly as it has good Android support and are doing good job with Evernote integration. Thanks for suggesting the RSS reader and the age RSS app.

RSS is a very good nice technology from users point of view. One place to get all your news but it's a shame that companies like want to move away from open protocols like RSS and XMPP.

I have so far not been able to solve the problem of reading Hacker's News and Reddit. The easiest way to read these news aggregation sites have been to visit their front page. I couldn't find anything that would send posts that come on the front page of HN and Reddit in my RSS inbox.


I use the web version of kouio on android every day, it's tailored directly to mobile devices:

https://kouio.com/blog/kouio-your-mobile-rss-reader

You can also push articles out to a whole ton of services at once, including Evernote:

https://kouio.com/blog/sharing-is-caring

As for HN and Reddit, RSS is perfect for these - HN has its own RSS feed dedicated to front-page items:

https://news.ycombinator.com/rss

It gets even better with Reddit, each individual subreddit has its own RSS feed, eg:

http://www.reddit.com/r/systems/.rss

With kouio I group together all the interesting subreddit feeds under a folder called Reddit - then I can view them individually or all together at once.


reddit's RSS features are even better than that. You can feed off users, searches, multireddits, comments on a specific post, submission from a domain, and probably more.

http://www.reddit.com/wiki/rss

http://www.reddit.com/r/pathogendavid/comments/tv8m9/pathoge...


Thanks for the info.


Don't you get myriad of posts with those the official feeds [1] [2]?

[1] https://news.ycombinator.com/rss

[2] http://www.reddit.com/r/systems/.rss




For reading HN try this:

http://hckrnews.com/

I skim only the top 10 of each day (meaning that you'll get only articles with more than 150 upvotes). It can be tricky if you are interested in good specific articles (that normally don't get 150 votes). In that way you need to see the top 20 of each day.


That is certainly better experience than using vanilla HN. Thanks.


Kouio was exactly what I was looking for after Google Reader shut down. It kept enough of my favourite features such as j/k vi-style movements, starring and organisation whilst adding its own. I've not run in to any hiccups, despite the beta label.

Thanks for the list of uses I hadn't considered -- I tend to lose track of mailing lists.


How are you organising these feeds? Just interested because that is always my downfall. End up subscribing to loads of stuff and eventually stop reading


Well that list above are all things I kinda class as "personal notifications", so I put all those into a folder - in kouio you can view a single folder at a time, or expand it and see the unread counts against each feed (pretty sure Google's worked that way too).

Then everything else goes into various folders, with a couple top-level main feeds that I don't put into a folder at all, here's a screenshot:

http://cl.ly/VNOJ


Cheers bud! Think i'll do some RSS organisation later. I like the idea of subbing to stack overflow tags - hadnt heard of that.


Yeah I only found those recently and it kinda blew my mind - great way to keep an eye on the kinds of blockers people have with a particular technology.


Does it do podcasts?


Thanks for the reference to Kouio - I just switched to it. So far, the UI looks even better than Google Reader. Especially on Mobile.


Check out https://kouio.com if you're looking for something visually clean and simple.


Yeah, I'm really enjoying Kouio. Even the very Mac-style UI has stopped bothering me. Still a few missing features around the feeds list sidebar, but nothing critical.

I really wish they'd start charging for it.


- Make a list of successful companies using lang X. Bonus if competitors. They're a success because of lang X.

- Will using lang X over Y reduce total lines of code? That's less work, less time, less money.

- Are # jobs for lang X rising? Show some pretty graphs. We can't fall behind the market.

All of this is bullshit to an engineer, but precisely how you need to sell it.


Mezzanine takes that exact approach where pages are of specific types, and has consistently rejected calls to add arbitrary block features (although you can do that with add-ons).

Surprised you haven't looked at it - it's the most downloaded of all the Django CMSes.


A slap in the face to Australian users who've been waiting patiently for half a year to use USD and still can't.


(I work at Stripe.) This limitation is a large part of why we've kept Stripe in beta in Australia. We figured it's worth allowing the people who find the current product useful to do so now, but we fully agree that not being able to charge in USD is a major limitation. We're working on it as fast as we can. Unfortunately, it's not entirely in our control.


I don't understand how this is the case when younger competitors like Braintree and Pin are able to offer it.


Both have been up and running in Australia longer than us, actually. And we want to launch multicurrency support in Australia properly: as a default part of every Stripe account with no paperwork. We could probably get a half-baked version out the door faster, but I don't think that's fair to our Australian users either.


It's seeing answers like this that make me choose products.

Nicely done.


Curious to know, what's the hurdle or bottleneck in the process? Is it a regulatory issue or a technical one?

Been following-up with @sw (at Stripe Australia) on USD support for months now, but still waiting to see any indication.


Can you elaborate further on what restrictions are preventing multi currency support? If I'm not mistaken NAB are your acquiring bank, surely they would be able to assist you as they did for pin?


Braintree was founded in 2007, Stripe in in 2010. As an Australian company, Pin may have an easier time with Australian banks and regulations than Stripe. It's real easy to assume things are a lot simpler than they are when it comes to businesses that work with money, especially across borders.


collision / dangrossman - sorry I had my facts wrong there.


Stripe is a bit younger, except Pin (which was operating in Australa first though). Pin did mention somewhere that they had a very special partnership with one of the 4 pillar banks that would have been difficult to create.


Both Pin and Braintree go through NAB; they seem to be the only bank that's willing to deal with international payment gateways (not sure why exactly). I know you can go through their API directly, but I'm not sure anyone would want to.


Pin Payments is owned by the big four Australian banks. They have a vested interest to make sure it is harder for competitors to enter the market, not easier.


This is not true.


Where do you come up with something like this?


All depends on the country your bank account is in.

As an Australian company selling to the US, we've kinda been left in the lurch with their AU beta.

When it was launched we were told they were working on being able to accept/convert USD into AU accounts, so at the time we (incredibly naively) started building our subscription code around their API, assuming it'd be ready by the time we were.

Almost 6 months later and all we can get out of them is "we don't have an eta but we're working on it", and we've been sitting here the whole time losing money hoping that it's just around the corner, when really we should have just thrown out the work we'd done and gone with a provider that can already handle it.


You should check out https://pin.net.au/ – it's an Australian competitor to Stripe. You can accept payments in USD and Pin will settle in USD to an Australian account (this is exactly what we do at FastMail). We've been using them exclusively for the last few months and are pretty happy, other than the lack of Amex support, which they're still working on.


Thanks - we originally looked at them but they didn't have recurring payment support at the time.

Since then they "acquired" an entirely separate recurring payments company (I don't recall the name), and it was all just a bit too much of an integration mess at the time, when compared to Stripe who also announced their beta then.


You should try storing it as a customer profile token, then charging using that with your billing software.


Oh no — I'm very sorry to hear that. We try to avoid giving ETAs for functionality in order to avoid having people get stuck like this. (At the same time, we sometimes do indicate when we plan to do something — which does have this failure mode.) But we should probably have been clearer that it wasn't going to happen imminently — want to drop me a line at michelle@stripe.com and I'll see if there's any way we can help?


Email sent.


Have a look at kouio, the app itself uses the public rest API, so it's been available since day one:

https://kouio.com/api-docs/


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

Search: